Zabbix 3.2.5 in docker on alpine image(官方版)
我的外部脚本有问题并返回JSON。 脚本json_data.sh是:
#!/bin/bash
# Generate JSON data for zabbix
declare -i i
fields=$1
data=($2)
json=""
i=0
while [ $i -lt ${#data[*]} ]; do
row=""
for f in $fields; do
row+="\"{#$f}\":\"${data[$i]}\","
i+=1
done
json+="{${row%,}},"
done
echo "{\"data\":[${json%,}]}"
密钥字符串是:
json_data.sh["IP", "127.0.0.1 127.0.0.2 127.0.0.3"]
我用文本项测试它并有结果
2539:20170515:095829.375 zbx_popen(): executing script
{"data":[{"{#IP}":"127.0.0.1"},{"{#IP}":"127.0.0.2"},{"{#IP}":"127.0.0.3"}]}
因此脚本返回有效的JSON,但我在服务发现中仍然有错误 Vallue应该是JSON 对象。 这个JSON有什么问题?
Template Settings在屏幕截图{$ IPLIST}中,只有macro =“127.0.0.1 127.0.0.2 127.0.0.3”
答案 0 :(得分:1)
这是错误。当DebugLevel
大于3时,Zabbix将调试输出的一部分与值数据混合。像zbx_popen(): executing script
这样的东西。
1}}减少到3或更低,等待ZBX-12195的解决方案将被修复。