18 lines
878 B
Text
18 lines
878 B
Text
|
|
#!/bin/bash
|
||
|
|
# GENERE par Set-OPS (role serveur_grafana). Ne pas editer a la main.
|
||
|
|
#
|
||
|
|
# SONDE « tableaux » — Grafana repond et sa base tient
|
||
|
|
#
|
||
|
|
# Contrat : docs/supervision-conception.md (API des greffons Nagios) — une ligne, 0/1/2.
|
||
|
|
# Mise en defaut PAR PARAMETRE : `serveur_grafana_sonde_url` (port ferme).
|
||
|
|
set -uo pipefail
|
||
|
|
|
||
|
|
URL={{ serveur_grafana_sonde_url }}
|
||
|
|
|
||
|
|
s=$(curl -s --max-time 10 "${URL}/api/health" 2>/dev/null)
|
||
|
|
[[ -n "${s}" ]] || { echo "Grafana ne repond pas sur ${URL}."; exit 2; }
|
||
|
|
base=$(printf '%s' "${s}" | python3 -c 'import json,sys; print(json.load(sys.stdin).get("database","?"))' 2>/dev/null)
|
||
|
|
ver=$(printf '%s' "${s}" | python3 -c 'import json,sys; print(json.load(sys.stdin).get("version","?"))' 2>/dev/null)
|
||
|
|
[[ "${base}" == "ok" ]] || { echo "Grafana repond mais sa base est en defaut (${base:-illisible})."; exit 2; }
|
||
|
|
echo "Grafana ${ver} : base ok."
|