LINUX.ORG.RU
решено ФорумAdmin

Мониторинг нескольких однотипных item'ов через универсальный шаблон

 


0

1

Доброго времени суток.

Иногда бывает, что есть несколько перечислимых объектов для мониторинга, которые затруднительно перечислить формальным алгоритмом, но которые может перечислить человек.

И есть желание всё же использовать один универсальный шаблон для таких случаев.

Если бы объект был один, всё тривиально решалось бы через макрос. Пример: имя mssql службы на виндовом хосте. Задаём макрос с именем сервиса, в item key указываем макрос

Но иногда таких объектов бывает несколько. Пример: если на одном сервер запущено несколько баз данных, или сервис настроен на работу на нескольких разных портах.

В xymon всё это тривиально, эти процессы тупо перечисляются в конфиге. Правка конфига занимает секунд 15.

        PROC    ora_pmon_JIRAQAS 1 COLOR=red
        PROC    ora_pmon_JIRADEV 1 COLOR=red

        PORT    LOCAL=%:21$ STATE=LISTEN "TEXT=proftpd, tcp/21"
        PORT    LOCAL=%:22$ STATE=LISTEN "TEXT=proftpd mod_sftp, tcp/22"

В zabbix'е item'ы и trigger'ы напрямую на хост, без шаблона, можно забивать годами и всё равно не успеть. Без шаблона не обойтись. Настругать пачку однотипных шаблонов скриптом можно, но потом в них же запутаешься.

В результате создал шаблон с auto discovery, в котором вызывается perl скрипт для «псевдо discovery»: он тупо возвращает переданные аргументы в json. И в макросе указываю список. А можно ли как-то попроще? Внешний скрипт явный костыль.

получившийся костыль: http://pastebin.com/8inE5k3z

★★★★★

Последнее исправление: router (всего исправлений: 2)

Ну так и завести user_parameters нужные, например service.ftp[processes,port], ну шаблон к ним прикрутить.

Или во втором заббиксе появилась замечательная фишка с обнаружением: https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery, можно попробовать через него решить.

strangeman ★★★★
()
Ответ на: комментарий от strangeman

https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery

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

Ну так и завести user_parameters нужные, например service.ftp[processes,port], ну шаблон к ним прикрутить.

Костыль на уровне клиента ИМХО ничем не лучше костыля на уровне сервера.

router ★★★★★
() автор топика

Не актуально

router ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.