Sonde

De Wiki.

La classe cms_sonde permet de gérer des objets de monitorage (ou sondage) de divers services, et de déclencher des alertes selon les résultats.

Mise en place d'une sonde

Une sonde est une page php répondant un code XML prédéfini, décrivant l'état d'un service, d'une mesure.

Syntaxe de la réponse :

<?xml version="1.0" encoding="utf-8" ?>
<adequat>
<sonde value="1" name="bp vitrine">delta is: 35 seconds</sonde>
<process time="0" />
</adequat>

Le nœud sonde doit impérativement posséder les attributs value et name.

  • value donne l'état, 1 ok et 0 ko.
  • name donne le nom de l'indicateur mesuré.

Exemple simple :

Le fichier /backoffice/cms/cms_sonde/sonde_cms_sonde.php, par défaut, peut servir de sonde pour tester l'état du site en cours.


Gestion de sondes

La classe cms_sonde permet de constituer des listes de sondes.

Pour chaque objet, on peut définir l'URL de la sonde associé, un bo_users à alerter en cas de panne, et une adresse mail complémentaire pour cette alerte.

Lorsque des objets sont créés, et passés en statut en ligne, le fichier /backoffice/cms/cms_sonde/sonde_cms_sonde.php déclenche les interrogations de chacune des URL des sondes.

Pour chaque test négatif un e-mail est adressé aux contacts désignés.

La sortie navigateur de sonde_cms_sonde.php est elle-même du XML formaté cms_sonde. Ainsi des sondes peuvent s'appeler en cascade.

Exécution automatique

Afin de déclencher la surveillance de façon automatique, on peut mettre en place un CRON appelant la page /backoffice/cms/cms_sonde/sonde_cms_sonde.php :

wget -r -nd --delete-after http://pierre.aws2006.hephaistos.interne/backoffice/cms/cms_sonde/sonde_cms_sonde.php