Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

4 года назад
Открыть в
​​Заметка про Zabbix для тех, кто не очень хорошо знаком с его возможностями. Покажу один из примеров по сбору данных. Натолкнула на написание очередная статья в блоге Zabbix. Я за ним постоянно слежу. Автор решил посчитать с помощью Zabbix, сколько времени дома он проводит в беспроводных наушниках. У него MacBook. Он написал простой скрипт, который парсит вывод команды, показывающей список подключенных устройств. Он нашёл строку Connected: Yes или No, обрабатывает её и отправляет по cron в Zabbix только одно слово, Yes или No. Далее на сервере создаёт айтем, преобразовывает значения Yes или No в 1 или 0. Единственное, он там не оптимально сделал преобразование. Использует 2 раза replace, хотя под данную ситуацию идеально подходит преобразование Логический в десятичный (Boolean to decimal). Yes ⇨ 1, No ⇨ 0. Я остановился на этом примере, потому что он универсальный и используется очень часто. Например, таким же способом я мониторю состояние массивов mdadm. Подход такой же, только реализация другая. Автор использует для передачи данных zabbix_sender, а тип айтема - Zabbix Trapper. Это избавляет от установки и запуска агента, достаточно бинарника zabbix_sender. Лично мне больше нравится использовать для этого Zabbix Agent (потому что он и так везде установлен) и его настройку UserParameter и тип айтема Zabbix Agent. Пример реализации выше в статье. Покажу ещё один пример похожей задачи с точки зрения сбора данных скриптом, но не для регулярного сбора, а только по событию. Например, при срабатывании триггера на повышенную загрузку CPU, отправляем в Zabbix топ 10 процессов по нагрузке на CPU. Для этого: 1️⃣ Готовим скрипт, который парсит список процессов и отправляет вывод через zabbix_sender, добавляем его в Zabbix Server. 2️⃣ Разрешаем на агенте выполнение удалённых команд: EnableRemoteCommands=1. 3️⃣ Добавляем на сервер новое действие, которое при срабатывании триггера на CPU будет выполнять подготовленный скрипт. 4️⃣ На сервере ловим эти данные в айтем с типом Zabbix Trapper. Готовую реализацию можно посмотреть у меня в статье: мониторинг списка запущенных процессов в Zabbix. Подобные примеры наглядно показывают гибкость системы мониторинга Zabbix. Она не только позволяет решать всевозможные задачи, но и предоставляет разные способы для этого. Минус один - во всём этом надо хорошо разбираться и иметь практический опыт. С полтычка по инструкции сразу не осилишь всё это. Надо постараться и понять сам принцип. #zabbix