zabbix-mine

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

Вы можете получать и сравнивать списки с помощью ключей services[automatic] и services[automatic,started] используя триггер, но это не лучшее решение проблемы, потому что триггер сообщит, что есть разница в списках, но невозможно будет точно сказать, какая из служб не запустилась.

Низкоуровневое обнаружение (LLD) может решить эту проблему, но, к сожалению, агент Zabbix на данный момент не обрабатывает обнаружение сервисов.

Итак, как-же решить данную задачу?

К счастью, LLD в качестве основы просто ипользует концепцию передачи ключей и их значений. Когда происходит запрос LLD (например vfs.fs.discovery или net.if.discovery), агент готовит JSON ответ, который содержит всю необходимую информацию и отправляет ее в качестве значения элемента на сервер.

 Это означает, что мы можем использовать UserParameter и отправлять данные на сервер, где настроены настроены элементы данных и триггеры.

Для настройки мы должны иметь скрипт для генерации вывода и шаблон для обеспечения работы правил обнаружения.

Вы можете скачать все это по ссылке.

Настройка агента.

Сохраните servdisc.ps1 на жесткий диск машины, службы которой хотите отслеживать.

В zabbix_agentd.conf добавьте UserParameter:

При тестировании этого параметра замечено, что работа скрипта занимает больше отведенного на нее времени (по умолчанию 3 секунды). Для решения данной проблемы увеличим время ожидания выполнения скрипта:

Данный сценарий не подписан, для его работы либо подпишите его, либо отключите соответсвующую проверку.

Сделать это можно через PowerShell, для этого выполните команду:

Проверить текущие настройки можно командой:

Настройка узла для наблюдения.

Импортируйте шаблон Template_Windows_Service_Discovery.xmlв Zabbix и прикрепите его к наблюдаемому хосту.

После этого обнаружение найдет все сервисы в системе и Zabbix создаст необходимые триггеры и сенсоры для них:

z81z82

Через некоторое время вы сможете узнать текущее состояние служб в разделе «Последние данные»:

z83

 Заключение.

Хотя текущая версия агента Zabbix не реализует возможности слежения за службами Windows, она имеет все возможности для создания собственного решения данной задачи.

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

Автор оригинальной статьи: Raymond Kuiper