Засоби моніторингу системи для Ubuntu


147

Я шукаю інструменти системного моніторингу, які є графічним інтерфейсом та клієнтом або веб- сайтом, які включають основні функції, такі як

  • Використання процесора

  • Використання барана

  • Використання заміни

  • Використання диска (простір / введення / виведення)

  • Моніторинг тепла

Я знаю, що я можу використовувати багато інструментів, але шукаю єдиний інструмент, який має ці основні функції.

Відповіді:


184

Погляди - погляд на вашу систему

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

Установка

Відкрийте термінал ( Ctrl+ Alt+ T) і запустіть наступні команди:

З Ubuntu 16.04 і вище ви можете просто набрати sudo apt install glances, але версія 2.3 має цю помилку . Ще:

Легкий погляд сценарію установки

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термінал.

скріншот

Погляди ви побачите багато інформації про ресурси вашої системи: процесор, завантаження, пам'ять, обмінна мережа, введення / виведення диска та процеси все на одній сторінці, за замовчуванням кольоровий код означає:

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

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

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

Моніторинг процесорів, Ram, Ramp

скріншот

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

скріншот

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

Якщо ви введете, glances --helpви знайдете ( -eУвімкніть модуль датчиків (лише для Linux))

glances -e

скріншот

скріншот

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

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

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

Ще одна цікава особливість цього інструмента моніторингу полягає в тому, що ви можете запустити його в серверному режимі, просто набравши текст glances -s, це дасть вихід, як сервер Glances працює на 0.0.0.0:61209, і тепер ви можете підключитися до нього з іншого комп’ютера, використовуючи погляди -c @ сервер, де @server - IP-адреса або ім'я хоста сервера.

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

Додаткові джерела: PyPI , Github , Linuxaria

Оновлення

Моніторинг контейнера з дзюдзю, наприклад, як виглядають великі зображення

У терміналі № 1 Погляд працює в режимі сервера, У терміналі №2 контейнер Джудзю працює apt-get update& У терміналі 3 glances -c 192.168.1.103Погляди підключено до контейнера ip

скріншот

Погляди на використання процесора

Самі погляди, здається, вимагають періодичних стрибків використання процесора під час активності, про що свідчить вбудований графік використання монітора системи. Якщо графік точний - тоді, використовуючи погляди, ви віддаєте близько 1/4 ЦП в системі. Це моє вплив на тих, хто контролює завантаження процесора на серверах.

погляди на використання процесора


:), Так, це @ B4NZ41
Qasim

4
найкращий інструмент, який я бачив ....
Дінеш

1
Я настійно рекомендую проти "простого" способу установки, запропонованого тут! Передача даних з Інтернету привілейованому інтерпретатору BASH - це дуже небезпечно. Якщо хтось неправильно налаштував DNS або зламав bit.ly, ви можете встановити що-небудь у вашу систему, і ви, можливо, ніколи цього не дізнаєтесь.
Люк Стенлі

1
Я не рекомендую "Просту установку сценарію", встановлюйте лише за допомогою пакетів.
Пабло А

3
Видалити просто sudo pip uninstall glances.
Пабло А

33

індикатор-SysMonitor

Індикатор-SysMonitor робить мало, але робить це добре. Після встановлення та запуску він відображає використання процесора та оперативної пам’яті на верхній панелі. Простий.

введіть тут опис зображення

Завантажте звідси

Конкі

Один із моїх особистих фаворитів

введіть тут опис зображення

На екрані ви знайдете купу моніторів процесора та оперативної пам’яті, що відрізняються стилем, включених до пакету екранів - усього пакету програмного забезпечення Ubuntu.

введіть тут опис зображення

Погляди

Щоб встановити:

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

введіть тут опис зображення

ВМСТАТ

Відображає інформацію про процесор, пам'ять, процеси тощо.

ІОСТАТ

Цей інструмент командного рядка відображатиме статистичні дані про ваш процесор, інформацію про введення / виведення для розділів вашого жорсткого диска, мережевої файлової системи (NFS) тощо. Щоб встановити iostat, запустіть цю команду:

sudo apt-get install sysstat

Щоб запустити звіт, запустіть цю команду:

iostat

Щоб перевірити лише статистику CPU, використовуйте цю команду:

iostat -c

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

iostat --help

MPSTAT

Утиліта командного рядка mpstat відображатиме середнє використання процесора на один процесор. Для його запуску використовуйте просто цю команду:

mpstat

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

mpstat -P ALL

Сайдар

Saidar також дозволяє контролювати діяльність системних пристроїв за допомогою командного рядка.

введіть тут опис зображення

Ви можете встановити це за допомогою цієї команди:

sudo apt-get install saidar

Щоб розпочати моніторинг, запустіть цю команду:

saidar -c -d 1

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

GKrellM

GKrellM - налаштований віджет з різними темами, який відображає на робочому столі системну інформацію про пристрій (процесор, температура, пам'ять, мережа тощо).

введіть тут опис зображення

Щоб встановити GKrellM, запустіть цю команду:

sudo apt-get install gkrellm

Monitorix

Monitorix - це ще одна програма із веб-інтерфейсом для моніторингу пристроїв системи.

введіть тут опис зображення

Встановіть його за допомогою цих команд:

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

Запустіть Monitorix за цією URL-адресою:

http://localhost/monitorix/

 


Погляди хороші. Що мені це показує, це іноді деякі критичні журнали. Де знайти проблему? Де ти колоди? ПОПЕРЕДЖЕННЯ | КРИТИЧНІ журнали (триває 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 Користувач процесора (86.3 / 86.3 / 86.3) ~ 2016-03-23 ​​19:08:16> ___________________ ЗАВАНТАЖЕННЯ 5 хв. (1.0 / 1.1 / 1.2) - Основний процес: php5-cgi 2016-03-23 ​​19:08:09> 2016-03-23 ​​19:08: 19 процесор IOwait (74,3 / 74,6 / 75,0)
кенгуру

@Thuener Краще вам просто читати та шукати перед такими нісенітними коментарями, і так, це ppa :: upubuntu-com / ppa ... зверніться до цього посилання startpad.net/~upubuntu-com/+archive/ubuntu/ppa і я Подумайте краще, щоб ви зняли голоси :)
Maythux

Я використовую GKrellM і мені дуже подобається, особливо дисплей датчика температури. Мені б хотілося, щоб вони були графічними, однак це дозволяє мені знати, як працює мій ноутбук, оскільки він має проблеми із нагріванням.
Heather92065

22

Далі наведено інструменти для моніторингу системи Linux

  1. Система команд , як top, free -m, vmstat, iostat, iotop, sar, і netstatт.д. Ніщо не приступив ці утиліти Linux при налагодженні проблеми. Ці команди дають вам чітке уявлення про те, що відбувається всередині вашого сервера
  2. SeaLion : Агент виконує всі команди, згадані в №1 (також визначені користувачем), і до результатів цих команд можна отримати доступ у прекрасному веб-інтерфейсі. Цей інструмент стане в нагоді під час налагодження на сотнях серверів, оскільки установка зрозуміла проста. І це БЕЗКОШТОВНО
  3. Nagios : Це мати всіх інструментів моніторингу / оповіщення. Це дуже налаштування, але дуже важко налаштувати для початківців. Існує набір інструментів під назвою плагіни, які охоплюють майже всі важливі показники Linux
  4. Мунін
  5. Щільність сервера: платний сервіс на основі хмарних ситуацій, який збирає важливі показники Linux та надає користувачам можливість писати власні плагіни.
  6. Нова Реліквія: Ще одна добре знайома служба моніторингу.
  7. Заббікс


8

верх

вгорі - це моніторинг програмного забезпечення, перелік усіх процесів із використанням процесора / оперативної пам’яті, загальне використання процесора / оперативної пам’яті та багато іншого. В основному це встановлено за замовчуванням

htop

htop - це як розширена версія верху. Він має всі функції зверху, але ви можете бачити дочірні процеси та налаштувати показ усього. Він також має кольори.

іотоп

iotop призначений спеціально для моніторингу Hard rive I / O. У ньому перераховані всі процеси та показано їх використання на жорсткому диску для читання та запису.


де моніторинг тепла? і у Вашій відповіді Ви вже включили 3 утиліти ... перевірте питання ** Я шукаю єдиний інструмент, який має якусь основну функцію **
Qasim

За допомогою трьох інструментів я просто пропоную різні варіанти проведення ОП, але я розчарований, сказавши, що жоден з них не контролює тепло
BeryJu

принаймні ви намагалися відповісти на питання ... дякую
Касим

google (Saidar ubuntu)
Касім

5

Ви можете спробувати 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

Потім створіть функцію для моніторингу відсотка, на якому працюють ядра CPU.

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


Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
Рон

@Ron - Гаразд, я додам редагування до своєї публікації та покажу основні сценарійні частини sysmon за пару днів. Дякую за пораду!
calvin k

Ознайомтеся з мета.askubuntu.com/questions/13900/… . Що саме ви спробували?
муру

@muru - Nevermind, зараз він працює. Дякуємо за посилання!
calvin k

@muru - Але, щоб відповісти на ваше запитання, я запустив блок коду з трьох задників, а потім мовою, на якій хотів би виділити синтаксис, і закінчився трьома зворотними посиланнями.
calvin k


3

SeaLion може бути зручним інструментом, оскільки в нього є вбудовані команди для контролю продуктивності вашого сервера, а також ви можете додати власні власні команди, scirpts та вихідний журнал. Це дуже просто налаштувати і з’ясувати, що пішло не так у конкретний час.

2



2

Існує вбудований інструмент під назвою gnome-system-monitor. Це може зробити все, що ви згадали, крім моніторингу тепла.


2

Nagios, здається, є найпопулярнішим і найбільш налаштованим, але я не вибрав би його для GUI.

Рішення з відкритим кодом Zabbix відстежує все, що ви згадали, а також надає часові графіки для моніторингу продуктивності.

Якщо ви шукаєте ще більш чистий графічний інтерфейс, перегляньте Zenoss. Zenoss - це веб-інструмент з відкритим кодом, але він пропонує службову аналітику та аналіз першопричини за допомогою інструменту придатності.


2
  1. freeКоманда є найпростішим і легким у використанні команду , щоб перевірити використання пам'яті в Linux / Ubuntu.

    free -m
    
  2. Для перевірки використання пам'яті - це прочитати /proc/meminfoфайл.

    cat /proc/meminfo
    
  3. vmstatКоманда з sопцією.

    vmstat -s
    
  4. topКоманда , як правило , використовується для перевірки пам'яті і процесора для кожного процесу.

    top
    
  5. Команда htop також показує використання пам'яті разом з різними іншими деталями.

    htop
    
  6. Щоб дізнатись технічну інформацію про встановлену ОЗП.

    sudo dmidecode -t 17
    

1
Я люблю htop! Просто і досить добре.
Блідо-блакитна крапка

2

Мені подобається використовувати, conkyякі можна налаштувати будь-коли:

введіть тут опис зображення

Ви можете conkyзнайти Google і знайти 787 000 звернень. Для кожного є щось.

У верхній частині дисплея помічається "Заблокований екран: 4 хвилини Яскравість: 2074". Вони генеруються програмою "Indicator-Sysmonitor", яка дозволяє відображати на індикаторі системи / програми за допомогою скрипта bash.

Посібник із налаштування "Індикатора-системонітора" див.: Чи може БАШ відображатись у символіці як індикатор програми?



1

Я думаю, вам слід поглянути на Agentless Monitor від AppPerfect, який охоплює різні аспекти моніторингу, такі як моніторинг додатків JAVA / J2EE, моніторинг сервера, моніторинг баз даних, моніторинг транзакцій, моніторинг мережі, моніторинг журналу та системний моніторинг. Він безкоштовний і простий у використанні.


1

У моєму випадку ця відповідь за цим посиланням мені дуже допомогла.

Раніше користувачем Windows? Ви можете захопити еквівалент Ubuntu менеджера завдань Windows і відкрити його за допомогою комбінації клавіш Ctrl + Alt + Del.

Ubuntu має вбудовану утиліту для контролю або вбивства запущених системних процесів, яка діє на зразок "Диспетчера завдань", її називають System Monitor.

Клавіша швидкого доступу Ctrl + Alt + Del за замовчуванням використовується для відкриття діалогового вікна виходу на робочий стіл Ubuntu Unity. Це не корисно для користувачів, які звикли до швидкого доступу до диспетчера завдань.

Щоб змінити параметри клавіші, відкрийте утиліту Keyboard з панелі Unity Dash (або System Settings -> Keyboard).

На вкладці Ярлики -> Спеціальні ярлики натисніть значок плюс, щоб додати ярлик. Введіть ім'я диспетчера завдань та команду gnome-system-monitor.

допомогу

Після додавання клацніть, де написано «Відключити», і натисніть Ctrl + Alt + Delete. Ви отримаєте діалогове вікно "Клавіша швидкого доступу ... вже використовується для виходу з системи", натисніть кнопку Перепризначити і все закінчено!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.