Какие инструменты мониторинга системы доступны?

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

  • Использование ЦП
  • Использование оперативной памяти
  • Использование подкачки
  • Использование диска ( Пространство / Ввод/Вывод )
  • Тепловой Контроль

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

Взгляды - Следите за своей системой

Взгляды это бесплатное программное обеспечение (лицензированное под лицензией 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-sensorssudo 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 bernhardsudo pip install glances

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

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

screenshot

Во взгляде вы увидите много информации о ресурсах вашей системы: процессор, Загрузка, память, Сеть подкачки, Дисковый ввод-вывод и процессы - все на одной странице, по умолчанию цветовой код означает:

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

Мониторинг процессора, Оперативной Памяти, Подкачки

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) и прослушивающий TCP-порт (ПОРТ-p), адрес привязки по умолчанию равен 0.0.0.0 (взгляды будут прослушиваться на всех сетевых интерфейсах), а TCP-порт равен 61209.В клиентском режиме вы можете установить TCP-порт сервера (порт-p).В режиме клиент/сервер ограничения устанавливаются серверной стороной.Версия 1.6 вводит необязательный пароль для доступа к серверу (пароль -P), который, если он установлен на сервере, должен использоваться также и на клиенте.

Дополнительные источники: PyPI, Github, Линуксария

Обновление

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

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

screenshot

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

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

glances cpu usage

индикатор-Системный монитор

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

enter image description here

Скачать с здесь

Конки

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

enter image description here

Экранный экранвы найдете множество мониторов процессора и оперативной памяти в разных стилях, включенных в экранлеты - весь пакет доступен в Центре программного обеспечения Ubuntu.

enter image description here

Взгляды

Устанавливать:

sudo apt-get install python-pip build-essential python-devsudo pip install Glancessudo pip install PySensors

enter image description here

VMSTAT

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

ИОСТАТ

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

sudo apt-get install sysstat

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

iostat

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

iostat -c

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

iostat --help

MPSTAT

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

mpstat

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

mpstat -P ALL

Саидар

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

enter image description here

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

sudo apt-get install saidar

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

saidar -c -d 1

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

GKrellM

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

enter image description here

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

sudo apt-get install gkrellm

Мониторикс

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

enter image description here

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

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

Запустите Monitorix по этому URL-адресу:

http://localhost/monitorix/

 

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

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

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

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

enter image description here

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

верхний

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

htop

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

iotop

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

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

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

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

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

sudo apt-get install pipsudo 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, sysmem_perc = 0 #init varswap_perc = 0 #init varmbytes_sent = 0 #init varmbytes_recv = 0 #init varcpu_perc = 0 #init varswap = 0 #init varmem = 0 #init varnet = 0 #init vardef 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 'CCPU 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.93382358551MB received:  17.2131490707------------------------------DISKS------------------------------/ Megabytes total:  13952.484375Megabytes used:  8542.6640625Megabytes free:  4678.5703125Percentage used:  61.2 /media/calvin/Data Megabytes total:  326810.996094Megabytes used:  57536.953125Megabytes free:  269274.042969Percentage used:  17.6 

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

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

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

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

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

2

  1. То free command - это самая простая и удобная в использовании команда для проверки использования памяти в 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