Как отслеживать системные метрики в реальном времени с помощью инструмента Glances в Linux

Linux предоставляет широкий спектр инструментов мониторинга командной строки для отслеживания различных системных показателей. У нас есть команда top, которая отслеживает различные процессы, и htop, которая является интерактивным инструментом мониторинга и усовершенствованием команды top. Все эти инструменты прекрасно работают, но они ограничены и не дают полной картины других, не менее важных показателей, таких как сетевая статистика.

Разработанный на языке Python, Glances - это кроссплатформенный инструмент, который обеспечивает удобный и элегантный обзор производительности системы.

Ключевые особенности инструмента мониторинга командной строки Glances включают:

  • Возможность мониторинга 10+ метрик, включая запущенные процессы, использование процессора и памяти, использование диска и даже докер-контейнеров.
  • Предоставление REST API, а также XML-RPC для различных интеграций.
  • Различные режимы: Автономный, клиент-серверный режим и веб-интерфейс.
  • Возможность отображения статистики в веб-браузере.
  • Высокая степень настраиваемости.
  • Глубокая и подробная документация.

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

Установка Glances с помощью менеджеров пакетов в основных дистрибутивах

Во-первых, Glances доступен в официальных репозиториях основных дистрибутивов Linux, таких как Ubuntu и CentOS.

Ubuntu

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

Установка glances в Ubuntu

CentOS и RHEL

Для CentOS 8 сначала убедитесь, что пакет EPEL установлен:

В RHEL 8

После установки EPEL установите glances из репозиториев AppStream с помощью DNF следующим образом на CentOS и RHEL:

Установка glances в CentOS

Установка Glances с помощью пакета snap

Инструмент Glances также может быть установлен из пакетов snap следующим образом. Это идеальный вариант, если snap уже включен в вашем дистрибутиве и у вас возникли проблемы с установкой из официальных репозиториев в вашем дистрибутиве Linux.

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

Установка Glances с помощью PIP

Учитывая, что Glances написан на Python, для его установки можно использовать pip - менеджер пакетов Python. Сначала убедитесь, что pip установлен в вашей системе. В большинстве систем сейчас используется pip3. После установки выполните показанную на рисунке команду для установки Glances.

Как использовать инструмент мониторинга Glances для отслеживания статистики системы

Инструмент мониторинга Glances предоставляет 3 основных режима мониторинга: Автономный, клиент-серверный и режим веб-интерфейса.

Запуск glances в автономном режиме

Без каких-либо аргументов командной строки glances предоставляет обзор метрик локальной системы, как показано на рисунке. Это называется автономным режимом. Как следует из названия, он обеспечивает производительность системы, на которой он установлен.

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

Инструмент мониторинга Glances

Запуск glances в режиме веб-интерфейса

Отличная функция в glances - возможность отображения метрик в веб-браузере. Просто вызовите флаг -w, как показано на рисунке, и вам будет предоставлен URL, который вы будете использовать для доступа к метрикам.

Glances в режиме веб-интерфейса

Не забудьте открыть порт 61208 в вашем брандмауэре

После этого запустите браузер и перейдите по указанному URL. Обратите внимание, что IP-адрес 0.0.0.0 может быть заменен IP-адресом сервера следующим образом:

http://192.168.153.131:61208

Здесь 192.168.153.131 - это IP-адрес моего сервера.

Веб-интерфейс Glances

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

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

Защита паролем веб-интерфейса Glances

 

В следующий раз, когда вы посетите URL-адрес, запрос на аутентификацию потребует от вас пройти авторизацию перед дальнейшими действиями. Поэтому введите glances в качестве имени пользователя, введите пароль, который вы только что установили несколько минут назад, и нажмите 'OK'.

Запрос пароля

Запуск Glances в режиме клиент-сервер

Glances также предоставляет вам возможность мониторинга удаленных систем в режиме клиент-сервер.

На удаленной системе, которую необходимо контролировать, выполните следующую команду, чтобы инициализировать ее в режиме сервера:

Не забудьте открыть порт 61209

Glances в режиме сервера

Перейдите на клиентскую систему и выполните следующую команду, где IP-адрес - это IP-адрес сервера:

Как экспортировать CSV-файл, содержащий системные метрики

Еще одна полезная функция, которую предоставляет glances, - это возможность экспортировать метрики в виде CSV-файла для дальнейшего анализа. Здесь мы экспортируем метрики в файл - glances.csv.

Получение системных показателей в формате CSV с помощью Glances

Оповещения с первого взгляда

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

  • ЗЕЛЕНЫЙ: ОК (все работает нормально, как и ожидалось)
  • ПУРПУРНЫЙ: ВНИМАНИЕ (предупреждение)
  • СИНИЙ: приближается к критической стадии (требуется внимание)
  • КРАСНЫЙ: ОЧЕНЬ КРИТИЧЕСКИЙ (критический)

Заключение

Это был обзор инструмента мониторинга glances. Это довольно полезный инструмент, позволяющий интуитивно отслеживать системную статистику с помощью библиотеки psutil python, которая извлекает системную информацию. Он кроссплатформенный и может работать практически в любой вычислительной среде, включая Linux, Windows, macOS и Android.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий