这是我的目标:我希望能够向zabbix报告各种指标,以便我们可以在网页上显示图表.
这些指标包括:
我需要写什么和/或暴露什么?或者zabbix服务器是否会从某个暴露的服务中获取它?
我被告知,返回单个值的脚本将起作用,但我想知道这是否正确.
And*_*inn 14
我可以提供2个建议来将指标纳入Zabbix:
使用zabbix_sender
二进制文件将脚本中的数据直接提供给Zabbix服务器.这允许您的脚本调用它自己的间隔并设置所需的所有参数.你真的只需要知道zabbix_sender
二进制文件的位置.
在Zabbix服务器界面中,您将创建类型为的项目Zabbix trapper
.这是接收从中发送的值的项类型zabbix_sender
.你组成了关键名称,它必须匹配.
第二种方法是在文件中指定密钥名称和脚本/二进制zabbix_agentd.conf
文件.每次Zabbix服务器请求此项时,都会调用脚本并记录脚本中的数据.
这允许您在Zabbix项目配置中设置间隔,而不是强制您按自己的间隔运行脚本.但是,您需要将此额外信息添加到zabbix_agentd.conf
每个主机的文件中.
可能有其他方法直接从Python(Python的zabbix_sender
绑定可能?).但这些是我以前用过的两种方法.这不是特定于Python的.但是您应该可以zabbix_sender
在Python脚本中使用.希望这些信息有所帮助
更新:我还记得Zabbix正在开发/有一个API(JSON/RPC风格).但是文档站点目前处于关闭状态,我不确定API是否用于提交项目数据.以下是API的Wiki:http://www.zabbix.com/wiki/doc/api
以及Python API项目:https://github.com/gescheit/scripts/tree/master/zabbix/
似乎没有关于API的文档,因为它是Zabbix 1.8版本的新版本