2017-05-15 87 views
0

的zabbix 3.2.5在高山上的圖像(官方版本)泊塢窗的zabbix發現與外部的檢查JSON

我有一些問題,外部腳本和返回的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}只是宏觀= 「127.0.0.1 127.0.0.2 127.0.0.3」

Error

+0

哪個版本的Zabbix?這是LLD規則中使用的關鍵嗎?什麼是LLD規則項目類型?您確定錯誤來自最新的版本/調用(您是否在進行最新更改後至少等待了10分鐘)? – Richlv

+0

對不起。忘了那個。 Zabbix 3.2.5 –

+0

由於發現錯誤,它不會轉到該項目。 –

回答

1

這是錯誤。當DebugLevel大於3時,Zabbix將調試輸出的一部分與值數據混合在一起。像zbx_popen(): executing script之類的東西。 解決方案將DebugLevel降至3或更低,並等待至ZBX-12195將被修復。