这可以从Ruby脚本生成新的Zabbix事件吗?我被建议使用zabbix_sender脚本,但我找不到任何示例。
另外,我找不到与events创建相关的任何API。
答案 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