如何从Ruby脚本创建新的Zabbix事件?

时间:2012-07-02 04:48:00

标签: ruby zabbix

这可以从Ruby脚本生成新的Zabbix事件吗?我被建议使用zabbix_sender脚本,但我找不到任何示例。

另外,我找不到与events创建相关的任何API。

2 个答案:

答案 0 :(得分:1)

首先创建一些zabbix trapper类型的项目,然后你可以通过zabbix_sender将一些值发送到它的名字。您可以使用时间戳发送一个值或更多收集的数据。 Here are docs

或者,您可以编写自己的zabbix陷阱发送方。 Protocol非常简单。我在Python中做了同样的事情......没有外部命令。

答案 1 :(得分:1)

Zabbix API不允许按设计更新项目值。

我调查过几个选项*,我从Ruby更新Zabbix项值的首选方法是使用miyucy's gist中的这种方法:

简单错误处理程序的示例:

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

*替代方式的一个示例 - calling zabbix_sender binary