20 средств мониторинга системы linux, о которых должен знать каждый системный администратор

Зависимости:

Библиотека GNU C: общие библиотеки

Библиотека поддержки GCC

Библиотека GDK Pixbuf

Библиотека GLib подпрограмм C

C++-оболочка для инструментария GLib (разделяемые библиотеки)

Библиотека графического интерфейса пользователя GTK+

C++-оболочки для GTK+ (разделяемые библиотеки)

Gtop система мониторинга (общая)

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

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

Библиотека рендеринга на основе SAX для файлов SVG (среда выполнения)

Безопасная сигнальная структура для C++ – время выполнения

Продолжаем изучать Linux Mint и сегодня поговорим о мониторинге ресурсов, для этих целей есть «Системный монитор». С его помощью можно узнать информацию о системе и оборудование, запущенных процессах и ресурсах а также файловой системе. Так же с его помощью можно посмотреть активные процессы и при необходимости завершить их. Все это очень важная информация которую каждый пользователь должен знать где посмотреть.

Обзор популярных утилит для мониторинга железа в Linux

В интернете можно найти множество бесплатных программ для мониторинга датчиков компьютера под linux, среди которых:

  1. HTOP — одно из лучших консольных приложений, мониторит и позволяет закрывать процессы нажатием кнопки F9 или k (kill), показывает загрузку CPU, RAM, виртуальную память. Не показывает информации о сети, GPU и температуре CPU;
  2. Glances — программа работает удаленно через SSH, позволяет отслеживать запущенные процессы, загрузку CPU, RAM, виртуальную память, работу сети, операции I/O. Из-за того, что Glances написана на Python, потребляет слишком много ресурсов процессора, нет информации о GPU и температуре CPU;
  3. Conky — красивая оболочка с инфо о CPU (в том числе загрузке и температуре), RAM, SWAP, HDD. Нет данных о видеокартах;
  4. Stacer — утилита для мониторинга и очистки системы, работы с меню автозагрузки и службами. Нет информации о GPU;

Меню автоматической очистки системы в Stacer:

  1. netdata — мониторинг через браузер состояния CPU, RAM, SWAP, HDD. Нет SSH, данных о видеокартах;
  2. KsysGuard — мониторинг и работа с процессами, вывод инфо о состоянии CPU, RAM, загрузке системы;
  3. GNOME System Monitor — мониторинг CPU, RAM, SWAP, HDD, сети. Нет SSH, данных о видеокартах;
  4. GkrellM — виджет с информацией о CPU, его напряжении и вентиляторах, HDD. Нет данных о видеокартах;
  5. CoreFreq — очень подробная информация только о процессоре;
  6. nmon — мониторинг CPU, RAM, SWAP, HDD, сети. Нет SSH, данных о видеокартах;
  7. vtop — урезанная копия htop;
  8. atop — мониторинг процессов, CPU, RAM, SWAP, HDD, сети. Нет данных о GPU;
  9. lm-sensors — позволяет отслеживать загрузку и температуру процессора, скорость вентилятора кулера CPU. В дополнение к ней желательно использовать hddtemp и psensor;
  10. Psensor — утилита, отображающая информацию о температуре материнской платы и процессора (и его загрузке), старых видеокарт AMD (в которых используется ATI драйвер Catalyst), HDD, вентиляторах;
  11. Hardinfo — хорошая утилита для мониторинга железа под Linux, но безнадежно устаревшая (последний релиз — от 2009 года);
  12. Open Hardware Monitor — утилита, предоставляющая информацию о материнской плате, напряжении на процессоре, его температуре, вентиляторах, HDD, а также о видеокартах AMD, Nvidia. Программа изначально предназначена для Windows, для работы в Linux требуется Mono with WinForms и танцы с бубном. Последняя версия выпущена в ноябре 2016 года, поэтому на новом железе работоспособность не гарантируется.

Наиболее оптимальные из них для мониторинга, это: lm-sensors, Psensor, Hardinfo.

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

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

  1. Nvidia-SMI — входит в комплект драйверов Nvidia. Команда watch nvidia-sm позволяет отслеживать загрузку, температуру, состояние памяти, потребление, скорость вращения вентиляторов видеокарт производства компании Nvidia;
  2. TuxClocker — overclocking-утилита с графическим интерфейсом для разгона видеокарт Nvidia (от 600-й серии) и AMD при работе с драйверами amdgpu (все AMD карты до Radeon VII исключительно). Использует возможности Nvidia-SMI и nvidia-settings;
  3. GreenWithEnvy — Nvidia;
  4. WattmanGTK — AMD;
  5. Rocm-smi (утилита из пакета драйверов Rocm) — AMD;
  6. Radeon-profile — AMD.

Рассмотрим подробнее порядок установки и использования для майнинга лучших из этих приложений на рабочей станции под управлением операционной системы xubuntu 16.04.

Контроль состояния видеокарт AMD с помощью утилиты rocm-smi

rocm-smi (ROC System Management Interface) — это утилита, входящая в пакет драйверов rocm.

Ее можно поставить отдельно командами:

git clone https://github.com/RadeonOpenCompute/ROC-smi

cd ROC-smi

sudo apt install rocm-smi

Программа по умолчанию установится в папку /opt/rocm/bin/rocm-smi.

По умолчанию rocm-smi показывает следующую информацию:

rocm-smi может показывать полную информацию о состоянии GPU AMD (версия Bios, стейты, вольтаж и много другого) с помощью команды:

rocm-smi --showallinfo

Полный список команд rocm-smi доступен на github или в терминале после выполнения команды:

rocm-smi -h

Много возможностей предоставляет программа Radeon-profile.

Log Monitoring Tools

Find out the actual cause of any software error, server or system log plays a vital role. Though text mode log is quite difficult to deal with for finding the cause and solution, there are many log management monitoring tools to help you out from the difficult situation. This list of Linux log monitoring tools or program will help you a lot for effective log management.

vnStat – Network Traffic Monitor

vnStat is a free, open source, simple to install and use terminal-based BSD/Linux network traffic monitor that keeps a stats log of network traffic for the chosen interfaces. All those stats and information will be collected from the system kernel that ensures light use of system resources and doesn’t sniff any traffic data.

Command Line Tools

It’s a difficult task for every network or system administrator to monitor, analyze and debug Linux system performance problems frequently. This command line tools come handy when you keep an eye and want to know what’s going on inside your Linux system.

Top – Linux Process Monitor

“Top” command is a Linux performance monitoring tool which comes pre-installed in many Linux or Unix system. “Top” command comes handy when you need to have an overview of all the threads or process running in the system.

It displays various system information including Memory usage, CPU usage, Swap Memory, Buffer Size, Cache Size, Process PID, etc. It also shows the excessive use of memory and CPU of a system running process.

Mytop

Mytop is a MySQL thread and performance monitoring tool which let you have a close look into the database and queries that’s processing in the real times.

Htop – Linux Process Monitor

Htop is an advanced Linux process monitoring tool which is similar to “Top” but offers some rich features like interactive process viewer, vertical and horizontal process viewer, shortcut keys, etc. It’s a third-party Linux monitoring tool that doesn’t come pre-installed in Linux or Unix system. You need to download and install it in the system.

Atop – Performance Monitor for Linux

Atop is a Linux performance monitoring tool which provides reporting of all system threads or process, daily system logging, process activity for long-term data analysis, overloaded system resources, etc. It also shows the system activity on CPU, memory, swap, disks (including LVM) and network layers.

PowerTOP

If you want a simple tool that diagnoses issues with Linux systems power consumption and power management, then PowerTOP is the right tool. Moreover, it has an interactive mode where you can run the experiment with the various system-wide setting to get the best power management setting for the server.

iotop – Monitor Linux Disk I/O

Like “Top” command and “Htop” program, iotop is a python program to show you I/O usages data through “Top” like interface. This tool lets you monitor real-time disk I/O and process. Moreover, you can also check the high used disk read and write time for the threads or process.

Install GNOME System Monitor through the Command Line

Open your Ubuntu command line, the Terminal, either through the Dash or by using the Ctrl+Alt+T shortcut. Enter the following command in order to refresh the list of available packages:

$ sudo apt-get update

This command will update your system’s software repository index with that of the Internet so that you can install the latest release of a software.

$ sudo apt-get update

The system will ask you for your password as only an authorized user can add, update, remove and configure software on Ubuntu.

Now enter the following apt-get command in order to install the latest Gnome System Monitor application:

$ sudo apt-get install gnome-system-monitor

The system will prompt you with a Y/n to confirm the beginning of the installation procedure. Enter Y and then hit Enter. This will install the software on your system.

Iptraf

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

Работать с программой можно как в интерактивном режиме, за частую так оно и есть, так и в режиме запуска с определенными параметрами

Меню программы логичное и интуитивно понятное, особое внимание уделять интерфейсу не будем

Рассмотрим основные опции:

  • -i — Позволяет указать интерфейс для мониторинга, или указать опцию «all» для мониторинга всех адаптеров «iptraf -i all»;
  • -g — Мониторинг общей статистики интерфейсов;
  • -d — Подробный мониторинг определенного интерфейса;
  • -s — Подробный мониторинг активности по TCP/UDP протоколам, на определенном интерфейсе;
  • -z — Позволяет проводить сбор статистики количества пакетов по их размеру на указанном интерфейсе;
  • -l — Позволяет провести мониторинг локальной сети LAN определенного интерфейса или всех их «iptraf -i all»;
  • -t — Позволяет задать время работы программы в минутах. Не работает в интерактивном режиме;
  • -B — Отправляет весь вывод в /dev/null и выполнение происходит в фоне, полезно для скриптов. Работает вместе с ключами -i, -g, -d, -s, -z, или -l;
  • -L — Позволяет указать альтернативный файл журнала, указывать необходимо абсолютный путь. ;

«******** IP traffic monitor started ********»«******** IP traffic monitor stopped ********»Пример:

/home/igor/iptraf.logУстановка:

QUIRKS (aka they’re features, not bugs)

There are some circumstances in which iftop may not do what you expect. In
most cases what it is doing is logical, and we believe it is correct behaviour,
although I’m happy to hear reasoned arguments for alternative behaviour.

Totals don’t add up

There are several reasons why the totals may not appear to add up. The
most obvious is having a screen filter in effect, or screen ordering
frozen. In this case some captured information is not being shown to
you, but is included in the totals.

A more subtle explanation comes about when running in promiscuous mode
without specifying a -F option. In this case there is no easy way
to assign the direction of traffic between two third parties. For the purposes
of the main display this is done in an arbitrary fashion (by ordering of IP
addresses), but for the sake of totals all traffic between other hosts is
accounted as incoming, because that’s what it is from the point of view of your
interface. The -F option allows you to specify an arbitrary network
boundary, and to show traffic flowing across it.

Peak totals don’t add up

Again, this is a feature. The peak sent and peak received didn’t necessarily
happen at the same time. The peak total is the maximum of sent plus received
in each captured time division.

Changing the filter code doesn’t seem to work

Give it time. Changing the filter code affects what is captured from
the time that you entered it, but most of what is on the display is
based on some fraction of the last 40s window of capturing. After
changing the filter there may be entries on the display that are
disallowed by the current filter for up to 40s. DISPLAY FILTERING has
immediate effect and does not affect what is captured.

Работа с программой GreenWithEnvy для видеокарт nvidia

Работа с программой GreenWithEnvy проста и интуитивно понятна. Для ее установки инсталлируют библиотеки:

sudo apt install git meson python3-pip python3-setuptools libcairo2-dev libgirepository1.0-dev libglib2.0-dev libdazzle-1.0-dev gir1.2-gtksource-3.0 gir1.2-appindicator3-0.1 python3-gi-cairo appstream-util

а потом выполняют команды:

 flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

 flatpak --user install flathub com.leinardi.gwe

 flatpak update

Запуск GreenWithEnvy производится командой:

flatpak run com.leinardi.gwe

или просто:

gwe

Скриншот утилиты GreenWithEnvy:

Install System Monitor through the UI

For a person who does not want to open the Command Line much, installing a software present in the Ubuntu repository through the UI is very simple. On your Ubuntu desktop Activities toolbar, click the Ubuntu Software icon.

In the following view, click on the search icon and enter System Monitor or even Task Manager in the search bar. The search results will list the GNOME System Monitor entry as follows:

Click on the GNOME System Monitor entry as it is the official system monitoring application by Canonical. The following dialog will appear:

Click the Install button to begin the installation process. The following authentication dialog will display for you to provide your authentication details as only an authorized user can install software on Ubuntu.

Enter your password and click the Authenticate button. After that, the installation process will begin, displaying a progress bar as follows.

System Monitor application will then be installed to your system and you will get the following message after a successful installation:

Through the above dialog, you can choose to directly launch System Monitor and even Remove it immediately for whatever reason.

Работа с утилитой TuxClocker для видеокарт amd/nvidia в Ubuntu

Для работы с видеокартами nvidia в ubuntu утилите Tuxclocker требуется наличие установленных пакетов nvidia-smi, nvidia-settings, libxnvctrl и headers qt5base, x11extras. Для видеокарт amd требуется наличие библиотек libdrm и headers. Обычно все эти пакеты уже стоят в системе с запущенным майнингом.

Для компиляции и установки утилиты Tuxclocker для мониторинга состояния видеокарт nvidia, в терминале по очереди выполняют команды:

git clone https://github.com/Lurkki14/tuxclocker

cd tuxclocker

qmake rojekti.pro
(возможно, нужно будет установить пакет qtchooser командой sudo apt install qtchooser)

make

sudo make install

Программа Tuxclocker установится в папку /opt/tuxclocker/bin.

При появлении ошибок вида:

qmake: could not find a Qt installation of '',

а также:

Project ERROR: Unknown module(s) in QT: x11extras

нужно установить пакеты qt5 и libqt5x11extras5-dev командой:

sudo apt-get install qt5-default libqt5x11extras5-dev

Для видеокарт AMD в терминале последовательно выполняют команды:

git clone https://github.com/Lurkki14/tuxclocker

cd tuxclocker

git checkout pstatetest

qmake rojekti.pro

make

sudo make install (программа установится в папку /opt/tuxclocker/bin)

Для полноценного использования, утилиту tuxclocker нужно запускать от имени root командой:

sudo /opt/tuxclocker/bin/tuxclocker

Окна работающей утилиты tuxclocker:

Для полноценной работы с видеокартами АМД нужно включить в драйвере утилиту Radeon OverDrive. Это делается путем добавления в загрузчик ядра (не ниже версии 4.17) опции amdgpu.ppfeaturemask=0xffffffff (или amdgpu.ppfeaturemask=0xfffd7fff).

Для этого корректируют файл /etc/default/grub, а именно:

строку GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

нужно привести к виду:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.vm_fragment_size=9 radeon.si_support=0 amdgpu.si_support=1 amdgpu.dpm=1 amdgpu.ppfeaturemask=0xffffffff"

Для корректировки /etc/default/grub используют:

sudo nano /etc/default/grub

изменяют содержимое файла /etc/default/grub и обновляют grub командой:

sudo update-grub

Для справки:

В данном случае при корректировке опций загрузки ubuntu используются следующие параметры работы ядра (kernel), отвечающие за видеорежим:

  1. amdgpu.vm_fragment_size=9 — включение поддержки больших страниц памяти (аналог compute mode);
  2. nomodeset — настройка видеокарт происходит в ядре ,а не драйверах. Драйвера видеокарт не запускаются до полного запуска системы. Для майнинга этот режим применять нет смысла;
  3. quiet — при загрузке не отображаются сообщения об активации драйверов и прочей служебной информации. Для более полного контроля над компьютером и изучения процесса загрузки можно вообще отключать эту опцию;
  4. splash — режим, при котором запускается экран загрузки «глаз» и основные компоненты системы загружаются в фоновом режиме.
  5. quiet splash — тихое отображение заставки.

Параметры radeon.si_support=0 amdgpu.si_support=1 включают поддержку драйвера amdgpu для видеокарт amd вместо устаревшего драйвера radeon.

Параметр amdgpu.dpm=1 добавляет поддержку режима DPM (dynamic power management) для видеокарт AMD.

Параметр amdgpu.ppfeaturemask=0xffffffff» используется для видеокарт AMD Polaris и Vega для включения OverDrive и разблокирования возможности полноценной работы с вольтажом, частотой ядра и памяти таких видеокарт. Для Gpu Navi (RX5700) можно попробовать использовать параметр amdgpu.ppfeaturemask=0xfffd7fff.

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

printf "0x%08x\n" $(cat /sys/module/amdgpu/parameters/ppfeaturemask)

Должно отображаться значение 0xffffffff.

Рассмотрим подробнее работу с утилитой WattmanGTK, которая лучше всего работает с видеокартами AMD.

Системный монитор Mint

Для того чтобы открыть «Системный монитор» в Linux Mint нужно зайти в Menu в списке с приложениями выбрать «Системные» и найти «Системный монитор».

Откроется основное окно монитора на первой вкладке «Система» будет отображена информация о версии ОС, ядре а также оборудование ПК памяти, процессоре и жесток диске.

На второй вкладке «Процессы» можно посмотреть список запущенных процессов, их состояние, загрузку, используемую память и приоритете. Так же тут можно завершить или приостановить какой либо процесс изменить приоритет или просмотреть параметры.

Через пункт меню «Вид» можно отсортировать процессы, выбрать только активные, мои процессы или включить отображение зависимости что очень удобно.

Вкладка «Ресурсы» покажет загрузку ЦП количестве используемой памяти и сети. Статистика очень подробная, например можно узнать, сколько информации была принято и отправлено через Интернет.

Если перейти на вкладку «Файловые системы» можно посмотреть информацию о жестких дисках их количестве объеме занятом и доступном месте.

Если сравнить с Windows то Системный монитор что-то похожие на Диспетчер задач. Им обязательно нужно уметь пользоваться хотя бы для того чтобы суметь закрыть зависшую программу или процесс.

五、相关参数及说明

1、iftop界面相关说明

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

常用的参数

-i设定监测的网卡,如:# iftop -i eth1

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-f这个暂时还不太会用,过滤计算包用的;

-P使host信息及端口信息默认就都显示;

-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)

按h切换是否显示帮助;

按n切换显示本机的IP或主机名;

按s切换是否显示本机的host信息;

按d切换是否显示远端目标主机的host信息;

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

按N切换显示端口号或端口服务名称;

按S切换是否显示本机的端口信息;

按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息;

按P切换暂停/继续显示;

按b切换是否显示平均流量图形条;

按B切换计算2秒或10秒或40秒内的平均流量;

按T切换是否显示每个连接的总流量;

按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

按j或按k可以向上或向下滚动屏幕显示的连接记录;

按1或2或3可以根据右侧显示的三列流量数据进行排序;

按<根据左边的本机名或IP排序;

按>根据远端目标主机的主机名或IP排序;

按o切换是否固定只显示当前的连接;

按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

按q退出监控。

Vnstat

Vnstat отличается от всех ранее расмотренных утилит. Работает в фоновом режиме как демон, и ведет запись обьема передаваемых данных сети. Vnstat больше похож на инструмент для получения исторических отчетов о том, как много трафика используется каждый день или в течение последнего месяца. Опций в программе много, по этому мы рассмотрим лишь основные, подробнее можете просмотреть в man vnstat

Опции:

  • -h, —hours — Показать статистику трафика почасово в течение последних 24 часов;
  • -d, —days — Показать статистику трафика в течение последних 30 дней;
  • -m, —months — Показать статистику трафика в течение последних 12 месяцев;
  • -w, —weeks — Показать статистику трафика за последние 7 дней, прошедшую неделю, текущую неделю;
  • -t, —top10 — Показать 10 самых загруженных дней;
  • -i, —iface interface — Указать интерфейс;
  • —iflist — Показать список доступных на данный момент интерфейсов;
  • -l, —live — Отображение текущую скорость передачи для выбранного интерфейса в режиме реального времени, пока действие не будет прервано пользователем. После прерывания выводится статистика;
  • —locale locale — Явно указать локаль для отображения. Если чесно, то локализация работает мягко говоря плохо, так как локализируется только малая часть вывода, в общем опция бесполезна;
  • -s, —short — Используйте режим короткого вывода. Этот режим также используется, если доступно более одной базы данных;
  • -ru, —rateunit — Позволяет отборазить вывод в байтах (0) или битах (1). По умолчанию информация отображается в битах;
  • -tr time — Позволяет подсчитать обьем трафика проходящего за определенный промежуток времени. По умолчанию 5 секунд;
  • —style — Позволяет изменить стиль вывода информации. Доступны значения от 0 до 4;
  • —xml — Позволяет перевести вывод в формат xml;
  • —longhelp — Вывести краткую справку по опциям;

Пример:

Установка:

Заключение

В своем материале я рассмотрел два различных способа, с помощью которых можно мониторить любой удаленный сервис по протоколу tcp, либо локальную службу на сервере linux. Конкретно в моих примерах можно было воспользоваться вторым способом в обоих случаях. Я этого не сделал, потому что первым способом я не просто проверяю, что служба запущена, я еще и обращаюсь к ней по сети и проверяю ее корректную работу для удаленного пользователя.

Разница тут получается вот в чем. Допустим, сервер squid у вас запущен и работает на сервере. Проверка работы локальной службы показывает, что сервис работает и возвращает значение 1. Но к примеру, вы настраивали firewall и где-то ошиблись. Сервис стал недоступен по сети, пользователи не могут им пользоваться. При этом мониторинг будет показывать, что все в порядке, служба запущена, хотя реально она не может обслужить запросы пользователей. В таком случай только удаленная проверка покажет, что с доступностью сервиса проблемы и надо что-то делать.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *