【问题标题】:zabbix: fping failed: simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)zabbix:fping 失败:simplejson.scanner.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)
【发布时间】:2016-12-23 07:28:25
【问题描述】:


我想在 zabbix 中使用 ICMPPING 作为简单的检查。我知道它使用 fping。但我想覆盖 fping 程序来完成我想要的工作。 fping 实用程序可以为我提供来自运行它的系统的 ICMP 请求的结果。我的意思是它只调查一台服务器的 IP 地址的可用性。但我想使用一个通过使用 CURL 执行的 API,它返回来自多个服务器的 IP 地址的可用性结果。我用python编写了程序,它运行良好。但是我不知道如何将结果发送到zabbix!现在,如果 IP 在线,它只产生 1,如果它离线,它只产生 0。我想我应该以类似 JSON 的格式提交结果,但我不知道正确的语法!!我以前编写了一个用于发现 LVM 分区并使用以下 JSON 语法提交结果的脚本:
{"data":[{"{#MDNAME}":"md1"},{"{#MDNAME}":" md127"},{"{#MDNAME}":"md2"}]}
但我不知道 icmpping 的正确 json 语法!
任何帮助表示赞赏

【问题讨论】:

    标签: json ping zabbix icmp


    【解决方案1】:

    它不使用 JSON,Zabbix 只解析 fping 输出 - 你必须模拟它。

    例如,使用默认设置和发送 3 个数据包的 fping 输出如下所示:

    > fping -C 3 127.0.0.1
    127.0.0.1 : [0], 96 bytes, 0.07 ms (0.07 avg, 0% loss)
    127.0.0.1 : [1], 96 bytes, 0.06 ms (0.06 avg, 0% loss)
    127.0.0.1 : [2], 96 bytes, 0.07 ms (0.06 avg, 0% loss)
    

    【讨论】:

    • 谢谢@Richlv。你的意思是如果我使用密钥 icmpping[serverip] 它与 fping -C 1 serverip 相同,如果我使用密钥 icmpping[serverip,4] 它与 fping -C 4 serverip 相同,对吗?然后我必须像 fping 一样创建输出。
    • 如果你没有为 ping 指定任何参数,它使用 fping 默认值——除了 ping 计数,Zabbix 默认请求 3 个 ping (-C 3)。有关更多详细信息,请参阅zabbix.com/documentation/3.0/manual/config/items/itemtypes/…。是的,您必须模拟 fping 输出。
    • 太好了。谢谢@Richlv。我没有注意到简单检查的那部分。我将制作我想要的 fping 版本。谢谢。
    猜你喜欢
    • 2016-06-16
    • 2013-05-10
    • 2019-02-25
    • 2023-03-25
    • 2018-06-28
    • 2020-11-11
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多