zabbix: fping failed: simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

zabbix: fping failed: simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)


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

它不使用 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)