Zabbix
Aller à la navigation
Aller à la recherche
Quelques commandes utiles Zabbix pour extraire ou transformer les datas
Variables initialises avant action
_URL_ZABBIX="http..."
_USERNAME="utilisateur"
_PASSWORD="mot_de_passe"
Obtenir un identifiant connexion
Genere un identifiant de connexion utilise pour les prochaines requetes
_AUTH="$(curl -H'Content-Type: application/json-rpc' -X POST "${_URL_ZABBIX}/api_jsonrpc.php" -d'{"jsonrpc": "2.0", "method": "user.login", "params": {"user": "'${_USERNAME}'", "password": "'${_PASSWORD}'"}, "id": 1, "auth": null}' -k -s | jq -r .result)"
Liste des hotes, Interfaces (IP ou DNS), Groupe associe
Recuperation des informations dans ZABBIX
curl -H'Content-Type: application/json-rpc' -X POST "${_URL_ZABBIX}/api_jsonrpc.php" -d'{"jsonrpc": "2.0", "method": "host.get", "params": {"output": ["host", "status"], "selectInterfaces": ["ip", "dns", "useip"], "selectGroups": ["name"]}, "id": 1, "auth": "'${_AUTH}'"}' -k -s -o lists_hosts
Mise en forme dans un format csv
printf "hote;IP/DNS;Groupe\n"
jq --raw-output '.result[] | (.host)+";"+([.interfaces[] | if .useip == "1" then (.ip) else (.dns) end] | @csv )+";"+([.groups[].name] | @csv)' lists_hosts | sed 's/"//'g