Инструменты мониторинга системы для Ubuntu

147

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

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

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

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

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

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

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

Касим
источник

Ответы:

184

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

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

Монтаж

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

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

Easy Script Installation Взгляды

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)

Когда 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

Скриншот

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

Скриншот

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

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

glances -e

Скриншот

Скриншот

Конфигурационный файл

Вы можете установить свои пороговые значения в файле конфигурации 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 Glances работает в режиме сервера, В терминале № 2 работает контейнер juju apt-get update& В терминале № 3 glances -c 192.168.1.103Glances подключен к ip контейнера

Скриншот

Взгляды Использование процессора

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

смотрит на использование процессора

Касим
источник
:) Да, это @ B4NZ41
Касим
4
лучший инструмент, который я видел ....
Динеш
1
Я настоятельно рекомендую против «простого» метода установки, предложенного здесь! Передача данных из Интернета в привилегированный интерпретатор BASH очень небезопасна. Если кто-то неправильно настроил DNS или взломал bit.ly, вы можете установить что-нибудь в свою систему и никогда не узнаете.
Люк Стэнли
1
Я не рекомендую «Easy Script Installation», устанавливать только с помощью пакетов.
Пабло А
3
Удалить просто sudo pip uninstall glances.
Пабло А
33

Индикатор-SysMonitor

Indicator-SysMonitor делает немного, но делает это хорошо. После установки и запуска он отображает использование процессора и оперативной памяти на верхней панели. Просто.

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

Скачать отсюда

носатый

Один из моих любимых

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

В виде скриншота вы найдете набор мониторов ЦП и ОЗУ по-разному, включенных в пакет screenlets-all, доступный в программном центре Ubuntu.

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

Взгляды

Установить:

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

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

VMSTAT

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

IOSTAT

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

sudo apt-get install sysstat

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

iostat

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

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/

 

Maythux
источник
Взгляды хорошие. То, что это показывает мне, иногда - некоторые критические журналы. Где найти в чем проблема? Где эти журналы? ВНИМАНИЕ | ЖУРНАЛЫ КРИТИЧЕСКИЕ (длится 9 записей) 2016-03-23 ​​19:09:48> 2016-03-23 ​​19:09:54 Пользователь ЦП (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> ___________________ ЗАГРУЗИТЬ 5 минут (1.0 / 1.1 / 1.2) - Главный процесс: php5-cgi 2016-03-23 ​​19:08:09> 2016-03-23 ​​19:08: 19 CPU IOwait (74,3 / 74,6 / 75,0)
кенгуру
@Thuener Вам лучше просто читать и искать перед таким бессмысленным комментарием, и да, это ppa :: upubuntu-com / ppa ... обратитесь по этой ссылке launchpad.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 : это мать всех инструментов мониторинга / оповещения. Это очень много настроек, но очень трудно настроить для начинающих. Существует набор инструментов, называемых плагинами nagios, который охватывает практически все важные метрики Linux
  4. Munin
  5. Плотность сервера: платная облачная служба, которая собирает важные метрики Linux и дает пользователям возможность писать собственные плагины.
  6. New Relic: еще одна хорошо известная служба мониторинга.
  7. Zabbix
stylusbrook
источник
8

Вверх

top - это программное обеспечение для мониторинга, в котором перечислены все процессы с использованием ЦП / ОЗУ, общей загрузкой ЦП / ОЗУ и т. д. Кроме того, оно в основном установлено по умолчанию

HTOP

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

iotop

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

BeryJu
источник
где мониторинг тепла? и в своем ответе вы уже включили 3 утилиты ... проверьте вопрос ** я ищу один инструмент, который имеет некоторые основные функции **
Qasim
С этими тремя инструментами я просто даю различные варианты для OP, но я разочарован, говоря, что ни один из них не имеет мониторинга тепла
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

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

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 через пару дней. Спасибо за совет!
Кельвин К
Проверьте meta.askubuntu.com/questions/13900/… . Что именно ты попробовал?
Муру
@muru - Неважно, теперь это работает. Спасибо за ссылку!
Кельвин К
@muru - Но, чтобы ответить на ваш вопрос, я начал блок кода с трех обратных символов, за которыми следовал язык, на котором нужно выделить синтаксис, и закончил тремя обратными символами.
Calvin K
3

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

Grzegorz Żur
источник
3

SeaLion может быть удобным инструментом, поскольку он имеет встроенные команды для мониторинга производительности вашего сервера, а также вы можете добавлять свои собственные команды, scirpts и вывод в журнал. Это очень легко настроить и узнать, что пошло не так в определенное время.

2

Адам Джонсон
источник
2

Я рекомендую http://conky.sourceforge.net/

Очень прост в настройке и минимальном использовании ресурсов.

Ronny
источник
1
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Уоррен Хилл
2

Существует встроенный инструмент под названием gnome-system-monitor. Он может делать все, что вы упомянули, кроме мониторинга температуры.

menixator
источник
2

Nagios, кажется, самый популярный и настраиваемый, но я бы не стал выбирать его для GUI.

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

Если вы ищете еще более чистый графический интерфейс, посмотрите Zenoss. Zenoss - это веб-инструмент с открытым исходным кодом, но он предлагает сервисный анализ и анализ первопричин с помощью собственного инструмента.

ShaneCar
источник
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
    
hennamusick
источник
1
Я люблю хтоп! Просто и достаточно хорошо.
Бледно-голубая точка
2

Мне нравится использовать, conkyкоторый может быть настроен так, как вам нравится:

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

Вы можете Google conkyи найти 787 000 просмотров. Здесь каждый найдет что-то для себя.

В верхней части дисплея появится надпись «Экран блокировки: 4 минуты Яркость: 2074». Они генерируются «Indicator-Sysmonitor», который позволяет отображать на индикаторе systray / application, используя скрипт bash.

Руководство по настройке «Indicator-Sysmonitor» см .: Может ли BASH отображаться в systray в качестве индикатора приложения?

WinEunuuchs2Unix
источник
1

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

Стив Янг
источник
1

В моем случае этот ответ по этой ссылке мне очень помог.

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

В Ubuntu есть встроенная утилита для мониторинга или уничтожения запущенных в системе процессов, которая действует как «Диспетчер задач», она называется System Monitor.

Сочетание клавиш Ctrl + Alt + Del по умолчанию используется для вызова диалогового окна выхода из системы в Ubuntu Unity Desktop. Это не полезно для пользователей, которые привыкли к быстрому доступу к диспетчеру задач.

Чтобы изменить настройки клавиши, откройте утилиту Клавиатура из Unity Dash (или Настройки системы -> Клавиатура).

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

Помогите

После того, как он добавлен, щелкните там, где написано «Отключить», и нажмите Ctrl + Alt + Delete. Появится диалоговое окно «Клавиша быстрого доступа… уже используется для выхода из системы», нажмите «Переназначить», и все готово!

MilaDroid
источник