如何将数据公开给zabbix

bit*_*cle 14 python zabbix

这是我的目标:我希望能够向zabbix报告各种指标,以便我们可以在网页上显示图表.

这些指标包括:

  • 每个肥皂服务提交的延迟
  • 来自一个或多个数据库的各种查询结果.

我需要写什么和/或暴露什么?或者zabbix服务器是否会从某个暴露的服务中获取它?

我被告知,返回单个值的脚本将起作用,但我想知道这是否正确.

And*_*inn 14

我可以提供2个建议来将指标纳入Zabbix:

  1. 使用zabbix_sender二进制文件将脚本中的数据直接提供给Zabbix服务器.这允许您的脚本调用它自己的间隔并设置所需的所有参数.你真的只需要知道zabbix_sender二进制文件的位置.

    在Zabbix服务器界面中,您将创建类型为的项目Zabbix trapper.这是接收从中发送的值的项类型zabbix_sender.你组成了关键名称,它必须匹配.

  2. 第二种方法是在文件中指定密钥名称和脚本/二进制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版本的新版本