Как мониторить работу службы через Zabbix

Posted by

На предыдущей работе я довольно напользовался тем, что в моей системе мониторинга использовал разобранную возможность мониторить статусы установленных служб в системах. К примеру есть важный процесс и его нужно мониторить, как он только выключится, то нужно сразу же смотреть почему такое произошло, а не ждать когда тебе начнут звонить. Караул — почему сервисы не работают как и должны работать. А потому данная заметка будет своеобразной пошаговой напоминалкой самому себе, как в кратчайшие сроки поставить те или иные сервисы Windows на мониторинг в универсальный конструктор мониторинга Zabbix.

У меня Zabbix развернут на Ubuntu 12.04.5 Server amd64 версии 2.2.11

ekzorchik@srv-mon:~$ apt-cache show zabbix-server-mysql | grep Version

Version: 1:2.2.11-1+precise

Первое условие на станции Windows которую нужно мониторить на предмет статуса запущенного сервиса должен стоят Zabbixагент и заведен на Zabbix-сервер.

Задача: мониторить буду службу: FusionInventory-Agent

это агент GLPI посредством которого происходит инвентаризация рабочей станции: Какая ось, какой софт, какое железо, кто сейчас работает, IP-адрес станции и т. д.

Теперь создаю новый элемент данных в дефолтном шаблоне Template OS Windows:

http://IP&DNS — Configuration — Templates — Template OS Windows — Items — Create Item

Name: GLPI Agent

Type: Zabbix agent

Key: [FusionInventory-Agent]

Update interval (in sec): 60

History storage period (in days): 7

Trend storage period (in days): 365

New Application: Services

Description: Мониторим статус работы службы установленного агента GLPI

Enabled: Отмечаю галочкой

Сохраняю внесенные изменения: Save

На заметку: ключ service_state принимает ответные значения:

State of service. 0 — running, 1 — paused, 2 — start pending, 3 — pause pending, 4 — continue pending, 5 — stop pending, 6 — stopped, 7 — unknown, 255 — no such service

Теперь создаю Trigger (описание тревоги на этот элемент данных), в этом же Template OS Windows — Triggers — Create Trigger

Name: Service StateGLPI Agent on {HOSTNAME}

Expression:Add находим нужно правило, в моем случаем правило следующее:

{Template OS Windows:service_state[FusionInventory-Agent].last()}=6

Severity: High

Enabled: Отмечаю галочкой

Сохраняю внесенные изменения: Save

Теперь проверяю, сейчас на хосте (W7X86) выключаю/останавливаю службу и в Zabbix’е – Monitoring у меня в где Windows Stations обозначена среагированная проблема:

Триггер среагировал на проблему хоста

Перехожу в группу и вижу на каких хоста сработало уведомление о неполадках:

Тип уведомление: Высокий

Время последнего изменения статуса

Продолжительность недоступности сервиса в связи с выключенным состояние службы FusionInventory-Agent

Служба FussionInventory-Agent выключена

вернув сервис в режим “Старт” , уведомление в Zabbix о сработанных триггерах вернулось в норму:

Запустив сервис на рабочей станции хост изменил поведение триггера

Если ведем какие-либо работы, то можно на сработанных триггер по этому хосту поставить комментарий (Acknowledge) или же когда сервис в строю:

Message: Работа сервиса восстановлена

После нажимаю: Acknowledge and return

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

На этом собственно пока все, до новых встреч на моем блога, с уважением автор блога – ekzorchik.