Как создать новое событие Zabbix из сценария Ruby?

Возможно ли создать новое событие Zabbix из сценария Ruby? Мне предложили использовать скрипт zabbix_sender, но я не смог найти ни одного примера.

Также я не смог найти API, связанный с созданием событий.

2 ответа

Решение

Прежде всего создайте некоторый элемент типа zabbix trapper, а затем вы можете отправить некоторые значения на его имя с помощью zabbix_sender. Вы можете отправить одно значение или несколько собранных данных с отметками времени. Вот документы.

В качестве альтернативы вы можете написать собственный отправитель ловушки zabbix. Протокол довольно прост. Я сделал то же самое в Python... никаких внешних команд.

Zabbix API не позволяет обновлять значения элементов в зависимости от дизайна.

Я исследовал пару вариантов *, и мой предпочтительный способ обновить значение элемента Zabbix из Ruby - использовать этот подход, описанный в сущности miyucy:

Пример с простым обработчиком ошибок:

s = Zabbix::Sender.new 'zabbix_server', 10051

zabbix_resp = s.send('host', item_key, value)

if zabbix_resp["response"] != "success" or zabbix_resp["info"].split(';')[1] != " failed: 0"
  puts "error: zabbix responded with #{zabbix_resp} when trying to update #{item_key}"
end

* Один из примеров альтернативного способа - вызов двоичного файла zabbix_sender

Другие вопросы по тегам