如何将数据公开给zabbix

时间:2011-06-14 18:12:21

标签: python zabbix

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

这些指标包括:

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

我需要编写和/或公开哪些内容?或者zabbix服务器是否会从某个公开的服务中获取它?

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

2 个答案:

答案 0 :(得分:14)

我可以提供2条建议,让指标进入Zabbix:

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

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

  2. 第二种方法是在zabbix_agentd.conf文件中指定密钥名称和脚本/二进制文件。每次Zabbix服务器请求此项时,都会调用脚本并记录脚本中的数据。

    这允许您在Zabbix项目配置中设置间隔,而不是强制您按自己的间隔运行脚本。但是,您需要将此额外信息添加到每个主机的zabbix_agentd.conf文件中。

  3. 可能还有其他方法可以直接从Python(zabbix_sender绑定Python)执行此操作。但这些是我以前用过的两种方法。这不是特定于Python的。但是您应该能够在Python脚本中使用zabbix_sender。希望这些信息有所帮助!

    更新:我还记得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版本的新版本

答案 1 :(得分:2)

实际上zabbix_sender有一个python绑定。 http://pypi.python.org/pypi/zbxsend