Задать вопрос
ptchol
@ptchol
Linux system administrator

Zabbix, autodiscovery и пользовательские макросы, как подружить?

Всем привет.
Возникла задача соединить каким то образом autodiscovery и user macros в zabbix, и не пойму как это сделать удобнее всего.
Что имеем.
Есть discovery rule, который дергает скрипт, выдающий по переданному пути список имен лог файлов в указанной директории. На основании этой выдачи генерируется ряд item, которые в свою очередь являются userparameter'ами.
Эти userparameter - скрипт, принимающий на вход ряд параметров (hostname/logname/collect_type, time shift, etc), и на выходе выдает различные значения (количество определенных response code, суммарное кол-во событий в логе, количество событий с req_time>100ms, etc.).
Встала задача, исключить из обработки одного из userparameter определенные лог файлы.
Из пожеланий, хотелось бы чтобы список этих исключений задавался в настройках каждого хоста как макрос.
Как оказалось их нельзя использовать в прототипах autodiscovery.
Попытались создать items на хосте system.run[/bin/echo {$LOG_EXCLUDES}], и его дергать на хосте при помощи zabbix_get. Не выходит, вероятно потому что агент нифига не знает про такую переменную.

Из решений, которые видятся на данный момент, выделить эти userparameter в отдельный discovery rule, и задавать ограничения в его фильтре на каждом хосте, что на мой взгляд не очень прозрачно.
Хотелось бы как то передать в скрипт userparametr'а список файлов из макроса. Но никак не соображу как это сделать.

Ваши идеи ?
  • Вопрос задан
  • 6855 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
ptchol
@ptchol Автор вопроса
Linux system administrator
Кстати, все решилось созданием отдельного item (обычный, не prototype), который создает файл со списком exclude'ов, а уже этот список тащит в себя скрипт агрегации.
Неудобно, негибко. Пока работает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
LLD прекрасно поддерживает свои скрипты, единственное они должны отдавать данные в json формате, ничего сложного в написании нет, можно в скрипте использовать любые фильтры и логику. Ваша задача лично от меня далека, но у меня есть несколько самописных LLD скриптов для заббикса и примеры их использования. Посмотрите эту ветку на форуме https://www.zabbix.com/forum/showthread.php?t=28870 есть примеры скриптов как от меня, так и от других участников форума, думаю разберетесь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы