Вопрос Средства мониторинга системы для Ubuntu


Я ищу инструменты для мониторинга системы, которые GUI и Cli или Веб-интерфейс который включает в себя основной  функции такие как

  • Использование процессора

  • Использование Ram

  • Использование свопов

  • Использование диска (пробел / I / O)

  • Тепловой мониторинг

Я знаю, что есть много инструментов, которые я могу использовать, но я ищу один инструмент, который имеет эти основные функции.


135
2018-05-10 09:13


происхождения




ответы:


Взгляды - взгляд на вашу систему

Взгляды это бесплатное программное обеспечение (лицензировано под LGPL) для мониторинга вашей операционной системы GNU / Linux или BSD из текстового интерфейса. Glances использует библиотеку libstatgrab для извлечения информации из вашей системы и разрабатывается в Python.

Монтаж

Откройте терминал (Ctrl+Alt+T) и выполните следующие команды:

Из Ubuntu 16.04 и выше вы можете просто ввести sudo apt install glances, но версия 2.3 есть эта ошибка, Else:

Легкая установка скриптов  Взгляды

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

ИЛИ

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

Ручная установка 

sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances

Основное использование

Начать glances просто введите glances в терминале.

screenshot

В взглядах вы увидите много информации о ресурсах вашей системы: CPU, Load, Memory, Swap Network, Disk I / O и Processes на одной странице, по умолчанию цветовой код означает:

GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)

Когда Glances запущен, вы можете нажать некоторые специальные клавиши, чтобы дать ему команды:

c: Sort processes by CPU%  
m: Sort processes by MEM%  
p: Sort processes by name  
i: Sort processes by IO Rate  
d: Show/hide disk I/O stats  
f: Show/hide file system stats  
n: Show/hide network stats  
s: Show/hide sensors stats  
b: Bit/s or Byte/s for network IO  
w: Delete warning logs  
x: Delete warning and critical logs  
1: Global CPU or Per Core stats  
h: Show/hide this help message  
q: Quit (Esc and Ctrl-C also work)  
l: Show/hide log messages

Cpu, Ram, Swap Monitoring

screenshot

Мониторинг дисков

screenshot

Системный мониторинг тепла

Если вы напечатаете glances --help ты найдешь ( -e Включить модуль датчиков (только для Linux))

glances -e

screenshot

screenshot

Файл конфигурации

Вы можете установить свои пороговые значения в файле конфигурации Glances, в GNU / Linux, файл конфигурации по умолчанию находится в /etc/glances/glances.conf,

Режим клиент / сервер

Еще одна интересная особенность этого инструмента мониторинга заключается в том, что вы можете запустить его в режиме сервера, просто набрав glances -s, это даст результат, например, сервер Glances на 0.0.0.0:61209, и теперь вы можете подключиться к нему с другого компьютера, используя glances -c @server, где @server - IP-адрес или имя хоста сервера.

Glances использует сервер XML / RPC и может использоваться другим клиентским программным обеспечением. В режиме сервера вы можете установить адрес привязки (-B ADDRESS) и прослушивать TCP-порт (-p PORT), адрес привязки по умолчанию - 0.0.0.0 (Glances будет прослушивать все сетевые интерфейсы), а порт TCP - 61209. В клиентском режиме вы можете установить TCP-порт сервера (-p-порт). В режиме клиент / сервер ограничения устанавливаются на стороне сервера. В версии 1.6 вводится необязательный пароль для доступа к серверу (-P пароль), который, если он установлен на сервере, также должен использоваться на клиенте.

Дополнительные источники:  PyPI, Github, Linuxaria

Обновить

Мониторинг контейнера juju, например, как выглядят вещи Большие изображения

В терминале № 1 В режиме сервера отображаются взгляды, в терминале № 2 загружен контейнер juju apt-get update& В терминале 3 glances -c 192.168.1.103 Взгляды связаны с контейнером ip

screenshot

Взгляды на использование ЦП

Кажется, что взгляды требуют периодовых всплесков использования процессора, когда они активны, о чем свидетельствует график использования встроенного монитора системы. Если график является точным, то, используя взгляды, вы отдаете около 1/4 процессора в системе. Это мое действие для тех, кто контролирует загрузку процессора на серверах.

glances cpu usage


174
2018-05-10 10:00



:) Да, это @ B4NZ41 - Qasim
лучший инструмент, который я видел ... - Dinesh VG
Я настоятельно рекомендую использовать предложенный здесь «простой» способ установки! Данные о трубопроводах из Интернета в привилегированный интерпретатор BASH очень небезопасны. Если кто-то неправильно сконфигурировал DNS или взломал bit.ly, вы могли бы установить что-либо в свою систему, и вы никогда не узнаете. - Luke Stanley
я не рекомендую «Простота установки скриптов», установите только с помощью пакетов. - Pablo Bianchi
Чтобы удалить просто sudo pip uninstall glances, - Pablo Bianchi


Индикатор-SysMonitor

Индикатор-SysMonitor делает немного, но делает это хорошо. После установки и запуска он отображает использование ЦП и ОЗУ на вашей верхней панели. Просто.

enter image description here

Загрузить с Вот

носатый 

Один из моих личных фаворитов

enter image description here

скринлет вы найдете кучу разных моделей процессоров и мониторов RAM, включенных в экраны - весь пакет, доступный в Ubuntu Software Center.

enter image description here

Взгляды

Установить:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors

enter image description here

VMSTAT

Отображает информацию о процессоре, памяти, процессах и т. Д.

IOSTAT

Этот инструмент командной строки отобразит статистику вашего CPU, информацию о вводе-выводе для ваших разделов жесткого диска, Network File System (NFS) и т. Д. Чтобы установить iostat, выполните следующую команду:

sudo apt-get install sysstat

Чтобы запустить отчет, запустите эту команду:

iostat

Чтобы проверить только статистику CPU, используйте следующую команду:

iostat -c

Для получения дополнительных параметров используйте следующую команду:

iostat --help

MPSTAT

Утилита командной строки mpstat будет отображать среднее потребление ЦП на процессор. Чтобы запустить его, просто используйте эту команду:

mpstat

Для использования процессора на процессор используйте следующую команду:

mpstat -P ALL

саидар

Сайдар также позволяет контролировать действия системных устройств через командную строку.

enter image description here

Вы можете установить с помощью этой команды:

sudo apt-get install saidar

Чтобы начать мониторинг, запустите эту команду:

saidar -c -d 1

Статистика будет обновляться каждую секунду.

GKrellM

GKrellM - настраиваемый виджет с различными темами, отображаемыми на вашей настольной системной информации устройства (процессор, температура, память, сеть и т. Д.).

enter image description here

Чтобы установить GKrellM, выполните следующую команду:

sudo apt-get install gkrellm

Monitorix

Monitorix - еще одно приложение с веб-интерфейсом пользователя для мониторинга системных устройств.

enter image description here

Установите его с помощью следующих команд:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix

Запустите Monitorix через этот URL:

http://localhost/monitorix/


31
2018-03-08 09:43



@ Qasim Спасибо другу. Я рад за это - Maythux
Взгляды хорошие. То, что он показывает мне, иногда является критическим журналом. Где найти проблему? Где эти журналы? WARNING | CRITICAL logs (длится 9 записей) 2016-03-23 ​​19:09:48> 2016-03-23 ​​19:09:54 Пользователь CPU (72.7 / 76.6 / 80.6) 2016-03-23 ​​19:09:28> 2016-03-23 ​​19:09:32 CPU IOwait (62.5 / 62.5 / 62.5) 2016-03-23 ​​19:08:45> 2016-03-23 ​​19:08:48 Пользователь CPU (86.3 / 86.3 / 86.3) ~ 2016-03-23 ​​19:08:16> ___________________ LOAD 5-min (1.0 / 1.1 / 1.2) - Top process: php5-cgi 2016-03-23 ​​19:08:09> 2016-03-23 ​​19:08: 19 CPU IOwait (74.3 / 74.6 / 75.0) - Kangarooo
@Thuener Лучше для вас просто читать и искать до такого глупого комментария и да, это ppa :: upubuntu-com / ppa ... ссылаться на эту ссылку launchpad.net/~upubuntu-com/+archive/ubuntu/ppa  и я думаю, лучше для вас, чтобы удалить downvote :) - Maythux
Я использую GKrellM и очень люблю его, особенно дисплей датчиков температуры. Я бы хотел, чтобы они были графическими, однако это позволяет мне знать, как работает мой ноутбук, поскольку у него есть проблема с нагревом. - Heather92065


Ниже приведены инструменты для мониторинга системы Linux

  1. Системные команды, например top, free -m, vmstat, iostat, iotop, sar, netstat и т. д. Ничто не приближается к этой утилите linux, когда вы отлаживаете проблему. Эта команда дает вам четкое изображение, которое находится внутри вашего сервера.
  2. Морской лев: Агент выполняет все команды, указанные в # 1 (также определенные пользователем), и выходы этих команд могут быть доступны в красивом веб-интерфейсе. Этот инструмент удобен при отладке на сотнях серверов, поскольку установка проста. И БЕСПЛАТНО
  3. Nagios: Она является матерью всех средств мониторинга / оповещения. Это очень много настроек, но очень сложно настроить для новичков. Есть набор инструментов, называемых плагинами nagios, которые охватывают практически все важные показатели в Linux
  4. Munin
  5. Плотность сервера: платная услуга на основе облачных вычислений, которая собирает важные показатели в Linux и дает пользователям возможность писать собственные плагины.
  6. Новая реликвия: еще одна хорошо известная служба мониторинга.
  7. Zabbix

19
2017-11-20 13:30





В течение последних нескольких лет я использовал:

Индикатор загрузки системы

enter image description here

Доступна с Центр программного обеспечения


9
2018-02-22 21:50



nice one: Индикатор загрузки системы - Qasim


Вверх

top контролирует программное обеспечение, перечисляя все процессы с использованием CPU / RAM, общее использование CPU / RAM и многое другое Также он в основном установлен по умолчанию

HTOP

htop похож на расширенную версию top. Он имеет все функции сверху, но вы можете видеть дочерние процессы и настраивать отображение всего. Он также имеет цвета.

iotop

iotop специально предназначен для мониторинга ввода / вывода жесткого диска Он перечисляет все процессы и показывает их использование жесткого диска для чтения и записи.


7
2018-05-10 10:43



где проводится мониторинг тепла? и в вашем ответе вы уже включили 3 утилиты ... проверьте вопрос ** Я ищу один инструмент, который имеет некоторые основные функции ** - Qasim
С помощью трех инструментов я просто даю разные варианты для OP, но я разочарован тем, что никто из них не имеет контроля за теплом - BeryJu
по крайней мере, вы попытались ответить на вопрос ... спасибо - Qasim
google (Сайдар ubuntu) - Qasim


Вы можете попробовать SYSMON, Хотя это и не так интересно, как Glances, он очень прост и прост в использовании.

Если вы хотите испачкаться и сделать небольшой скрипт на python, вот некоторые основы системного мониторинга с Python, чтобы вы начали.

Вам понадобится внешний модуль, называемый psutil для наблюдения за большинством вещей. Проще всего использовать установщик внешнего модуля вместо того, чтобы строить из источника.

Примечание. Эти примеры написаны на Python 2.7

sudo apt-get install pip
sudo pip install psutil

Теперь, когда у нас установлены модули, мы можем начать кодирование.

Сначала создайте файл с именем usage.py,

gedit ~/usage.py

Начать с импорта psutil

import psutil

Затем создайте функцию для мониторинга процента, на котором работают ядра процессора.

def cpu_perc(): 

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True) 
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

Давайте немного сломаем это, не так ли?

Первая строка, cpu_num = psutil.cpu_percent(interval=1, percpu=True), находит процент, на котором работают ядра вашего процессора, и присваивает его списку, который называется cpu_perc,

Этот цикл прямо здесь

for i in range(len(cpu_num)):
    print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

представляет собой цикл for, который выводит текущий процент каждого из ваших ядер процессора.

Давайте добавим использование ОЗУ.

Создайте функцию, называемую ram_perc,

def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"

psutil.virtual_memory дает набор данных, содержащий разные факты об ОЗУ на вашем компьютере.

Затем вы можете добавить некоторые факты о своей сети.

def net():
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv

поскольку psutil.net_io_counters() только дает нам информацию о пакетах, отправленных и полученных в байтах, необходимо некоторое преобразование.

Чтобы получить некоторую информацию об области подкачки, добавьте эту функцию.

def swap_perc():
    swap = psutil.swap_memory()
    swap_perc = swap.percent

Это довольно просто.

Температура очень сложна, поэтому вам, возможно, потребуется провести собственное исследование, чтобы выяснить, что будет работать с вашим оборудованием. Вам нужно будет отобразить содержимое определенного файла.

Использование диска намного проще, чем температура. Все, что вам нужно сделать, это передать диск, который вы хотите контролировать (то есть: /) через определенную функцию.

def disks():
    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

Исходный вывод psutil.disk_usage это,

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)

но вы также можете просто получить total, used, free, или percent,

Завершенная программа: (вышеупомянутые функции были объединены)

import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var



def disp(degree):
    global cpu_perc
    global swap
    global swap_perc
    global mem
    global mem_perc
    global net
    global mbytes_sent
    global mbytes_recv

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
    swap = psutil.swap_memory()
    swap_perc = swap.percent
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576

    os.system('clear') #clear the screen

    print "-"*30
    print "CPU"
    print "-"*30
    print "CPU Temperature: " , degree, "'C"
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

    print "-"*30
    print "MEMORY"
    print "-"*30
    print "RAM: ", mem_perc, "%"
    print "Swap: ", swap_perc, "%"
    print "-"*30
    print "NETWORK"
    print "-"*30
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
    print "-"*30
    print "DISKS"
    print "-"*30

    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

def main():
    print("Press Ctrl+C to exit")
    while True:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
        temp = float(temp) / 1000
        disp(temp)

main()

Линия temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C') может не работать с вашей конфигурацией оборудования.

Запустите эту программу из командной строки. Передайте диски, которые вы хотите отслеживать в качестве аргументов из командной строки.

$ python usage.py /

Press Ctrl+C to exit

------------------------------
CPU
------------------------------
CPU Temperature:  39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM:  33.6 %
Swap:  6.4 %
------------------------------
NETWORK
------------------------------
MB sent:  2.93382358551
MB received:  17.2131490707
------------------------------
DISKS
------------------------------
/ 

Megabytes total:  13952.484375
Megabytes used:  8542.6640625
Megabytes free:  4678.5703125
Percentage used:  61.2 

/media/calvin/Data 

Megabytes total:  326810.996094
Megabytes used:  57536.953125
Megabytes free:  269274.042969
Percentage used:  17.6 

Надеюсь это поможет! Комментарий, если у вас есть какие-либо вопросы.

https://github.com/calthecoder/sysmon-1.0.1


4
2018-06-13 20:43



Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - Ron
@Ron - Хорошо, я добавлю редактирование на свой пост и покажу основные составляющие скрипты sysmon через пару дней. Спасибо за совет! - calthecoder
Проверять, выписываться meta.askubuntu.com/questions/13900/..., Что вы пробовали? - muru
@muru - Nevermind, теперь он работает. Спасибо за ссылку! - calthecoder
@muru - Но, чтобы ответить на ваш вопрос, я запустил блок кода с тремя backticks, за которым последовал язык, на котором я хотел, чтобы синтаксис был выделен, и закончился тремя backticks. - calthecoder


пакет SYSTAT имеет инструмент, называемый sar который делает все, что вы хотите. Он также может собирать исторические данные, чтобы вы могли видеть, что произошло некоторое время назад.


2
2018-05-10 13:22



thegeekstuff.com/2011/03/sar-examples - Qasim


Морской лев может быть удобным инструментом, так как он имеет встроенные команды для мониторинга производительности вашего сервера, а также вы можете добавлять собственные пользовательские команды, арифметику и вывод журнала. Очень легко настроить и выяснить, что пошло не так в определенное время.

2


2
2017-07-08 07:48