суббота, 6 апреля 2019 г.

Базовый мониторинг Linux системы


Всем привет.

На этот раз я решил не создавать специально серию постов по RHCE, как я это делал для RHCSA. Буду просто описывать какие-то интересные и полезные по моему мнению моменты. Уже писал про юнит-тестирование, которое я планирую применять на стадии финальной лабы. Сегодня снова короткая заметка-шпаргалка. На этот раз на тему мониторинга системы.
В blueprint'e по RHCE есть такая всеобъемлющая строчка.

Produce and deliver reports on system utilization(processor, memory, disk, and network)

Кандидат должен уметь предоставлять репорты о текущем состоянии системы. Обычно под данной темой рассматривают несколько тулзов по мониторингу и репортингу, начиная от top и заканчивая sar.  Сегодня просто небольшая шпаргалка, потому как лично я не только теряюсь в названиях, но еще и имею проблемы с расшифровкой "выхлопа" некоторых утилит. Дело в том, что в них содержится довольно много сокращений и аббревиатур.

top

Первая утилита всем знакома. Это некий первоначальный шаг в поиске ответа на вопрос "Что происходит с системой". Все окно можно разделить на несколько частей: средняя загрузка, задачи, процессор, память и информация по процессам.

Ниже шпаргалочка, на которой я отметил все, что посчитал полезным.


iostat

Если в топе видно, что ваша система занята записью информации на диски или другие устройства, полезно взглянуть на статистику I/O. Тут, думаю, и так все понятно. Можно посмотреть на количество транзакций в секунду (tps), записанных и прочитанных Килобайт в секунду и на общее количество записанных данных. Утилита поддерживает интервальный запуск, где через заданные промежутки времени данные обновляются на экране.



iotop

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


vmstat

Не имеет отношения к виртуальным машинам. ) Тут вроде как про память. Я запустил утилиту в интервальном режиме - 10 проверок через 2 секунды. Забавно, но мне vmstat оказался полезным не столько для мониторинга памяти (по сути эта информация есть в топе, хоть и не интервально). Здесь есть интерсная информмация по прерываниям процессора и записи в блочные устройства и свап. Так же можно посмотреть количество запущенных и заблокированных процессов в системе.

pidstat

Если хочется найти более детальную информацию по процессу, на помощь приходит pidstat. Я все еще экспереминтирую с утилитой. Довольно мощная штука, которая позволяет отображать довольно много нужной, полезной и непонятной пока что информации о процессах. Ниже, например, информация по content switching для qemu-kvm процесса в интервальном режиме. Можно посмотреть количество voluntary переключений (когда система не очень занята и может уделить вермя процессу) и non voluntary (когда системе было что делать и ей пришлось немного помультиплексировать процессорное время).

sar

SAR (System Activity Report) это утилита из пакета sysstat, которая позволяет по сути собирать, анализировать и делать репорты по историческим данным. Все прошлые утилиты позволяют наблюдать за системой в реальном времени.

SAR запускается регулярно по крону /etc/cron.d/sysstat и записывает данные в /var/log/sa. Это "бинари" sa* и текстовые файлы sar*, которые по умолчанию ротируются каждые 28 дней (настраивается в /etc/sysconfig/sysstat). Число в имени файла - день месяца.


Что может sar, в целом, довольно много чего. sar -h и man sar очень помогает в экспериментах. )

Показать данные CPU за первое апреля.


Статистика по сети за текущий день


Что там по IO на блочных устройствах. В конце каждой такой простыни всегда есть average данные.



Заключение

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

bmon

Позволяет снимать статистику с интерфейсов.

iptraf-ng

Просто комбайн, который умеет довольно много чего. Вот только некоторые примеры.

Снимать ту же статистику по интерфейсов в более расширенном варианте.
Смотреть на трафик со стороны L2
Ну и конечно смотреть на IP соединения в реальном времени.

Комментариев нет:

Отправить комментарий