Christophe Casalegno

SPP (StackX Pingdom Provisionner) : un script shell bash pour automatiser la configuration d’un check Pingdom

Pingdom Bash Monitoring

Salut les amis, suite mon live coding où je vous montrai l’écriture de SMS (StackX Monitoring System) : un script de monitoring en bash avec une sortie en HTML intégrable , je viens d’écrire un script complémentaire, toujours en bash, qui permet de créer automatiquement un check qui vient vérifier le contenu de la page de monitoring : si un statut ERROR est renvoyé, alors il génère une alerte.

Lorsque le service est à nouveau disponible, il enverra une notification de UP. Enfin le script permet également de supprimer la configuration Pingdom correspondante.

Pour ceux qui veulent voir le live coding :

Quelques informations complémentaires : la fonction suivante me permet de switcher de configuration en fonction du template / de la configuration que je souhaite utiliser.

function template_monitoring

Du coup n’oubliez pas de, soit remplir le fichier correspondant avec vos propres informations ou simplement de remplacer par le nom de votre propre fichier. Vous pouvez bien entendu également supprimer totalement cette notion si elle ne vous est pas utile.

Je vous joins également un exemple d’utilisation :

Ajout d’une sonde qui vient checker http://brain.stackx.run/Brain0verridebrain.php :

./pad_pingdom.stackx.sh -n "Brain 0verride" -h brain.stackx.run -u /Brain0verridebrain.php -t SX -a add

Suppression de la sonde précédente :

./pad_pingdom.stackx.sh -n "Brain 0verride" -h brain.stackx.run -u /Brain0verridebrain.php -t SX -a remove

ou plus simplement :

./pad_pingdom.stackx.sh -h brain.stackx.run -t SX -a remove

Note : pendant que je faisais ce live coding je n’y voyais rien. Du coup pourquoi la ligne de delete fonctionne quand même malgré 2 erreurs ?

Et bien simplement parce que les variables URL2CHECK et HOST2CHECK ne sont pas utilisées pour le delete : seul l’id compte en fait, la documentation n’était qu’à ce moment là qu’un « grand flou lumineux » comme aurait pu le dire Han Solo ;).

Du coup, la version ici est corrigée, un simple : $DELETE_COMMAND "App-Key: $APPKEY" -u "$USER" -d "delcheckids=$IDCHECK" -d "type=http" $APIURL fait parfaitement le job 🙂

Enfin, n’hésitez pas à consulter la documentation de l’API pingdom disponible ici : https://www.pingdom.com/api/2.1/

Vous pouvez télécharger le script via le lien suivant : StackX Pingdom Provisionner


Christophe Casalegno (Brain 0verride)

Leave a Comment