Как создать новое событие 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