L'utilisation des macros dans les commandes


Macros

Une des fonctionalités disponibles dans Nagios est la possibilité d'utiliser des macros dans les définitions de commandes. Avant toute exécution de commande, Nagios remplacera toutes les macros dans la commande par les valeurs correspondantes. Cela vous permet de définir quelques commandes génériques que vous manipulerez à votre guise.

Validité des macros

Bien que les macros puissent être utilisées dans toutes les commandes que vous définissez, elles peuvent ne pas toutes être "valides" dans un type particulier de commande. Par exemple, certaines ne peuvent être valides que durant les commandes de notification de service, alors que d'autres ne peuvent l'être que lors des commandes de contrôle d'hôtes. Il y a neuf types de commandes que Nagios reconnaît et traite différemment. Ce sont les suivantes :

  1. Contrôles de services
  2. Notifications de services
  3. Contrôles d'hôtes
  4. Notifications d'hôtes
  5. Gestionnaires d'événement de service ou gestionnaire global d'événement de service
  6. Gestionnaires d'événements d'hôtes ou gestionnaire global d'événement d'hôte
  7. Commande OCSP
  8. Commandes de données liées aux performance des services
  9. Commandes de données liées performance des hôtes

Le tableau ci-dessous donne la liste de toutes les macros actuellement disponibles dans Nagios, accompagnées d'une brève description de chacune et des types des commandes pour lesquelles elles sont valides. Si une macro est utilisée dans une commande pour laquelle elle est invalide, elle est remplacée par une chaîne vide. Il faut noter que les macros sont composées de lettres majuscules entourées par des caractères $.

Table de disponibilité des macros

Nom de la macro Description de la macro Contrôles de service Notifications de service Contrôles d'hôte Notifications d'hôte Gestionnaire d'évènements de services & gestionnaire global d'évènement de services & commande OCSP Gestionnaires d'événements d'hôtes & gestionnaire global d'événement d'hôte

Commandes de données liées aux performances de service

Commandes de données liées aux performances d'hôte
$CONTACTNAME$ Nom court du contact (c.a.d "jdoe") auquel on envoie la notification d'un problème d'hôte ou de service Non Oui Non Oui Non Non Non Non
$CONTACTALIAS$ Nom long/description du contact (c.a.d "John Doe") auquel la notification est envoyée Non Oui Non Oui Non Non Non Non
$CONTACTEMAIL$ Adresse électronique du contact qui reçoit la notification Non Oui Non Oui Non Non Non Non
$CONTACTPAGER$ Numéro d'alphapage/adresse du contact qui reçoit la notification Non Oui Non Oui Non Non Non Non
$HOSTNAME$ Nom court de l'hôte (c.a.d "biglinuxbox"). Durant une notification de service, cela renvoie à l'hôte associé au service. Non Oui Non Oui Oui Oui Oui Oui
$HOSTALIAS$ Nom long/description de l'hôte (c.a.d "Big Linux Server") Non Oui Non Oui Oui Oui Oui Oui
$HOSTADDRESS$ Adresse IP de l'hôte Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTSTATE$ Etat actuel de l'hôte ("UP", "DOWN", ou "UNREACHABLE") Non Oui Non Oui Oui Oui Oui Oui
$ARGn$ Nième argument passé à la commande de contrôle de service. Lisez la documentation sur les définitions de service pour plus d'information. Nagios accepte jusqu'à 32 arguments pour les macros (de $ARG1$ à $ARG32$). Oui Non Non Non Non Non Non Non
$SERVICEDESC$ Nom long/description du service supervisé (c.a.d "Main Website") Non Oui Non Non Oui Non Oui Non
$SERVICESTATE$ Etat du service supervisé ("WARNING", "UNKNOWN", "CRITICAL", ou "OK") Non Oui Non Non Oui Non Oui Non
$OUTPUT$ Affichage du contrôle de service ou d'hôte (i.e "FTP ok - 1 second response time"). Pour les notifications de service et les gestionnaires d'événements, le texte provenant du contrôle de service sera inclus. Pour les notifications d'hôtes et les gestionnaires d'événements, le texte provenant du contrôle d'hôte sera inclus. Non Oui Non Oui Oui Oui Oui Oui
$PERFDATA$ Données liées aux performances qui peuvent avoir été retournées par le contrôle d'hôte ou de service. Non Oui Non Oui Oui Oui Oui Oui
$EXECUTIONTIME$ Nombre de secondes écoulées pour l'exécution du contrôle d'hôte ou de service (c.a.d la durée de l'exécution du contrôle). Non Oui Non Oui Oui Oui Oui Oui
$LATENCY$ Nombre de secondes écoulées entre l'heure à laquelle un contrôle de service était ordonnancé et sont exécution réelle. Par exemple, si un contrôle était ordonnancé à 03:04:15 et n'a été exécuté qu'à 03:14:17, la latence de contrôle serait de 2 secondes. Non Oui Non Non Oui Non Oui Non
$NOTIFICATIONTYPE$ Identifie le type de notification qui est envoyé ("PROBLEM", "RECOVERY", ou "ACKNOWLEDGEMENT"). Non Oui Non Oui Non Non Non Non
$NOTIFICATIONNUMBER$ Numéro de la notification courante pour le service ou l'hôte. Ce numéro de notification augmente de un (1) à chaque nouvelle notification émise pour un hôte ou un service (excepté pour les acquittements). Le numéro de notification est remis à 0 quand l'hôte ou le service se rétablit (après que la notification de rétablissement ait été émise). Les acquittements ne provoquent pas l'incrémentation du numéro de notification. Non Oui Non Oui Non Non Non Non
$DATETIME$ Horodatage (c.a.d Fri Oct 13 00:30:28 CDT 2000) Non Oui Non Oui Oui Oui Oui Oui
$SHORTDATETIME$ Horodatage (c.a.d 10-13-2000 00:30:28) Non Oui Non Oui Oui Oui Oui Oui
$DATE$ Horodatage (c.a.d 10-13-2000) Non Oui Non Oui Oui Oui Oui Oui
$TIME$ Horodatage (c.a.d 00:30:28) Non Oui Non Oui Oui Oui Oui Oui
$TIMET$ Horodatage au format time_t (secondes écoulées depuis l'époque UNIX [epoch]) Non Oui Non Oui Oui Oui Oui Oui
$LASTCHECK$ Horodatage au format time_t (secondes écoulées depuis l'époque UNIX [epoch]) indiquant le moment où lequel le dernier contrôle de service ou d'hôte a été effectué. Non Oui Non Oui Oui Oui Oui Oui
$LASTSTATECHANGE$ Horodatage au format time_t (secondes écoulées depuis l'époque UNIX [epoch]) indiquant le moment du dernier changement d'état d'un service ou d'un hôte. Non Oui Non Oui Oui Oui Oui Oui
$ADMINEMAIL$ Adresse électronique de l'administrateur local (ou de l'hôte qui supervise) Oui Oui Oui Oui Oui Oui Oui Oui
$ADMINPAGER$ Numéro d'alphapage/adresse de l'administrateur local Oui Oui Oui Oui Oui Oui Oui Oui
$STATETYPE$ Type d'état de l'actuel contrôle de service ou d'hôte ("HARD" or "SOFT"). Les états soft sont causés par un contrôle de service qui retourne un état non-OK et qui sont en cours de réessai. Les état hard sont causés par un service ou un hôte ayant été contrôlé le nombre maximal de fois spécifié. Les notifications sont envoyées seulement en cas de changement d'état hard. Non Non Non Non Oui Oui Oui Oui
$SERVICEATTEMPT$ Nombre courant de réessais de contrôle de service. Par exemple, si c'est la seconde fois que le service est recontrôlé, ce sera le nombre deux. Cette valeur n'est utile que pour écrire des gestionnaires d'évènement de service pour les états "soft" réalisant une action particulière en fonction du nombre de réessais du service. Non Non Non Non Oui Non Oui Non
$HOSTATTEMPT$ Nombre courant de réessais de contrôle d'hôte. Par exemple, si c'est la seconde fois que l'hôte est recontrôlé, ce sera le nombre deux. Cette valeur n'est utile que pour écrire des gestionnaires d'évènement d'hôte pour les états "soft" réalisant une action particulière en fonction du nombre de réessais de l'hôte. Non Non Non Non Non Oui Non Oui
$USERn$ Nième macro définissable par l'utilisateur. Les macros utilisateur peuvent être définies dans un ou plusieurs fichiers de ressources . Nagios supporte jusqu'à 32 macros utilisateur (de $USER1$ à $USER32$). Oui Oui Oui Oui Oui Oui Oui Oui