Ad Widget

Collapse

Множественные триггеры для одного LLD Item

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • viktorzzz
    Junior Member
    • May 2020
    • 18

    #1

    Множественные триггеры для одного LLD Item

    Для начала попытаюсь внятно обрисовать хотелку, и саму ситуацию - хочу создать LLD правило при котором создавался бы один набор данных Item, но к нему создавались бы множественные триггеры которые потом будут срабатывать в зависимости от информации полученной на созданный ранее Item.
    К примеру - я создаю правило обнаружения в котором использую тип - Zabbix trapper и следующий фильтр:
    Click image for larger version  Name:	Screenshot from 2020-06-04 09-32-44.png Views:	0 Size:	16.8 KB ID:	402589
    Далее создаю прототип объекта данных с именем "manual_{#MY_ITEM_NAME}" и ключём "manual_[{#MY_ITEM_NAME}]". Тип, также, Zabbix trapper, тип информации - "текст".
    Затем создаю прототип триггера с именем "manual_[{#MY_ITEM_NAME}]" и выражением - '{Test_template:manual_[{#MY_ITEM_NAME}].regexp("{#MY_TRIGGER_NAME}_DOWN")}=1'.
    Далее я посылаю серверу, при помощи zabbix_sender сообщение в котором содержатся следующие данные - '{"data":[{"{#MY_ITEM_NAME}":"ITEM", "{#MY_TRIGGER_NAME}":"NAME_1"}, {"{#MY_ITEM_NAME}":"ITEM", "{#MY_TRIGGER_NAME}":"NAME_2"}]}'
    После этого на сервере, у нужного мне хоста создаётся объект данных с именем "manual_[ITEM]" и с таким же ключом - пока всё как и ожидалось. А вот с триггером - не всё как ожидалось - создаётся _один_ триггер с именем "manual_NAME_1" и содержимым соответствующим указанному выражению. Если послать то же сообщение ещё раз - предыдущий триггер удаляется, а вместо него создаётся новый с именем "manual_NAME_2", с соответствующим выражением. Все последующие попытки послать сообщение ничего визуально не меняют и у на сервере остаётся только один триггер с именем "manual_NAME_2".

    Теперь вопрос - можно ли вообще реализовать подобную хотелку? И если да то как? Если нет - куда писать "feature request", чтобы прикрутили подобный функционал?
    И ответы на вопросы ко мне, которые непременно возникнут - да я пробовал создавать отдельные прототипы данных, каждый со своим триггером. Да, это работает и есть не просит. Но мне не хочется иметь у хоста тысячи динамических объектов данных. Ведь вручную я могу это сделать - вручную, без проблем, создаётся _один_ объект данных, и его можно использовать в произвольном кол-ве триггеров, где каждый будет срабатывать на своё выражение.
    Это мне нужно для сетевого оборудования к которому, в теории, может быть подключено до 24 тысяч клиентских устройств. И это сетевое оборудование шлёт одинаковые trap'ы о состоянии этих устройств, разница только в содержимом, которое я и хочу отлавливать.
  • Python
    Junior Member
    • Jun 2016
    • 3

    #2
    Насколько я понимаю понадобятся множественные прототипы триггеров. В LLD и прототипах все ровно то же, что и в "обычных" элементах данных и триггерах к ним с той лишь разницей, что прототипы триггеров будут ссылаться на прототипы элементов и все...

    Comment

    Working...