Zabbix

De Mon Wiki
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