Zabbix — Мониторинг состояния репликации на Hyper-V

Новый день, новые задачи.

Как-то мне нужно было прикрутить к заббиксу мониторинг репликации на виртуалках под Hyper-V. 

Классический вопрос при начале интеграции чего либо в заббикс — откуда брать данные. У Windows есть WMI, но при мультиязычных системах с ним сложно работать да и заказчик мне рассказал о скрипте на powershell, который у них выступал на тот момент «мониторингом». Скрипт брал данные о виртуальных машинах и в таблице скидывал на почту. Я так и не понял смысла, но скрипт мне пригодился.

Начнем с того, что нам нужен на клиенте скрипт, который все сможет запрашивать и переводить в нужный вид. Функции моего скрипта: JSON список всех виртуальных машин, статус репликации, здоровье репликации.

Скрипт script.ps1

[свернуть]

Скрипт должен располагаться на клиенте (наблюдаемом хосте), вместе с установленным zabbix-agentd. Вносим строчки в конфигурацию агента. Конечно, путь к скрипту меняем на свой. После внесения изменений не забываем перезапустить агент (сервис).

Шаблон сделан с использованием LLD (Low Level Discovery) для подключения всех виртуальных машин в виде элементов данных самого гипервизора. Таким образом при срабатывании триггера, будет сразу видно на каком из гипервизоров возникает проблема.

Ссылка на шаблон

Если ошибок при установке нет и у агента есть права на просмотр данных то через час или полтора вы увидите данные и у вас уже будут работать триггеры.

Ну и как обычно дисклеймер:

Описанное в стате является материалом для ознакомления и не является инструкцией. Все материалы в статье предоставляются «как есть». Автор статьи не несет ответственности за действия третьих лиц и за их последствия.