Ajout d'un test diagnose
Les scripts diagnose personnalisés peuvent être placés dans le répertoire /usr/share/eole/diagnose
Ces fichiers sont généralement écrits en bash et permettent de se connecter au service voulu pour tester l'état de celui-ci.
Attention
Chacun des scripts doit respecter les contraintes exigées par l'outil run-parts
, et, en particulier :
- être exécutable ;
- être sans extension.
Un certain nombre de fonctions sont disponibles dans les librairies EOLE, mais vous pouvez créer vos propres fonctions pour vos besoins spécifiques.
Généralement, le test affiche Ok si le service est fonctionnel et Erreur en cas de problème.
Voici quelques fonctions disponibles dans la librairie /usr/lib/eole/diagnose.sh
:
- TestIP et TestIP2 : testent si une IP répond au ping ;
- TestARP : teste si l'adresse MAC associée à une IP répond ;
- TestService : teste la connexion TCP sur une IP et un numéro de port ;
- TestUDP : teste si un port est ouvert localement en UDP ;
- TestPid : teste la présence du PID d'une application locale ;
- TestDns : teste la résolution de nom sur un serveur DNS particulier ;
- TestNTP : teste un serveur NTP ;
- TestHTTPPage : teste l'ouverture d'une session HTTP ;
- TestWeb : teste le téléchargement d'une page HTTP ;
- TestCerts : teste des valeurs du certificat TLS/SSL.
Exemple
#!/bin/bash
# utilisation des fonctions EOLE
. /usr/lib/eole/diagnose.sh
# teste si le serveur web local est fonctionnel
# en vérifiant la variable Creole "activer_apache"
# et en utilisant la fonction TestHTTPPage
if [ $(CreoleGet activer_apache) = "oui" ];then
TestHTTPPage "Web local" "http://$(CreoleGet adresse_ip_eth0)/"
fi