2017-05-15 1 views
0

Zabbix 3.2.5 docker sur l'image alpine (build officiel)Zabbix Découverte avec vérification externe JSON

J'ai un problème avec le script externe et retourné JSON. Le json_data.sh script est:

#!/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%,}]}" 

chaîne clé est:

json_data.sh["IP", "127.0.0.1 127.0.0.2 127.0.0.3"] 

Je le tester avec un élément de texte et ont fait

2539:20170515:095829.375 zbx_popen(): executing script 
{"data":[{"{#IP}":"127.0.0.1"},{"{#IP}":"127.0.0.2"},{"{#IP}":"127.0.0.3"}]} 

Donc retourne scénario JSON valide, mais je reste avoir une erreur Vallue Devrait être JSON objet dans la découverte de service. Quel est le problème avec ce JSON?


Template Settings Dans capture d'écran {$ iplist} juste macro = "127.0.0.1 127.0.0.2 127.0.0.3"

Error

+0

Quelle version de Zabbix? Cette clé est-elle utilisée dans la règle LLD? Quel est le type d'élément de règle LLD? Êtes-vous sûr que l'erreur provient de la dernière version/invocation (avez-vous attendu au moins 10 minutes après avoir effectué les dernières modifications)? – Richlv

+0

Désolé. Oublie ça. Zabbix 3.2.5 –

+0

Il ne va pas à l'élément en raison d'une erreur dans la découverte. –

Répondre

1

Ce bug est. Lorsque DebugLevel est plus de 3 Zabbix mixez une partie de la sortie de débogage avec les données de valeur. Quelque chose comme zbx_popen(): executing script. Solution pour réduire DebugLevel à 3 ou moins, et attendre jusqu'à ce que ZBX-12195 sera fixé.