Commandes externes


Introduction

Nagios peut traiter des commandes d'applications externes (y compris les CGIs, cf. CGI de commande à titre d'exemple) et modifier de nombreux aspects de ses fonctions de supervision suivant les commandes qu'il reçoit.

Autoriser les commandes externes

Par défaut, Nagios ne contrôle, ni ne traite les commandes externes. Si vous voulez autoriser le traitement des commandes externes, il faut effectuer les choses suivantes...

Quand Nagios contrôle-t-il les commandes externes ?

L'utilisation des commandes externes

Les commandes externes peuvent être utilisées pour mener à bien un certain nombre de choses pendant que Nagios fonctionne. A titre d'exemple, ce qui peut être effectué comprend : la désactivation temporaire des notifications pour les services et les hôtes, la désactivation temporaire des tests de service, l'obligation de contrôler immédiatement un service, l'ajout de commentaires aux hôtes et services, etc.

Exemples de commandes externes

A titre d'exemple, des scripts pouvant être utilisés pour envoyer des commandes à Nagios peuvent être trouvés dans le sous-répertoire eventhandlers/ de la distribution de Nagios. Vous pouvez les modifier pour les adapter aux différences de syntaxe des commandes, de localisation des fichiers et répertoires, etc.

Format des commandes

Les commandes externes écrites pour le fichier de commande suivent le format :

[time] command_id;command_arguments

time est le moment (au format time_t) auquel l'application externe ou le CGI a envoyé la commande externe au fichier de commande. Les différentes commandes disponibles, ainsi que leur command_id et une description de leurs command_arguments, se trouvent dans le tableau ci-dessous.

Commandes implémentées

C'est une description des commandes externes qui ont été implémentées dans Nagios jusqu'à présent. D'autres seront ajoutées dans les versions ultérieures. Remarquez que tous les arguments de temps doivent être au format time_t (secondes écoulées depuis le lancement d'UNIX).

Identification de la commande
[command_id]
Arguments de la commande
[command_arguments]
Description de la commande
ADD_HOST_COMMENT <host_name>;<persistent>;<author>;<comment> Cette commande est utilisée pour associer un commentaire à un hôte spécifié. L'argument author comporte généralement le nom de la personne qui a entré la commande. Le commentaire ne doit pas inclure d'accolades. Le drapeau persistent détermine si le commentaire survivra ou pas à un redémarrage du programme (1= oui, 0= détruire le commentaire au redémarrage).
ADD_SVC_COMMENT <host_name>;<service_description>;<persistent>;<author>;<comment> Cette commande est utilisée pour associer un commentaire à un hôte spécifié. Remarquez que le nom de l'hôte et la description du service sont nécessaires. L'argument author comporte généralement le nom de la personne qui a entré la commande. Le commentaire ne doit pas inclure d'accolades. Le drapeau persistent détermine si le commentaire survivra ou pas à un redémarrage du programme (1= oui, 0= détruire le commentaire au redémarrage).
DEL_HOST_COMMENT <comment_id> Utilisé pour supprimer un commentaire dont l'ID correspond au comment_id de l'hôte spécifié.
DEL_ALL_HOST_COMMENTS <host_name> Utilisé pour supprimer tous les commentaires associés à l'hôte spécifié.
DEL_SVC_COMMENT <comment_id> Utilisé pour supprimer un commentaire dont l'ID correspond au comment_id du service spécifié.
DEL_ALL_SVC_COMMENTS <host_name>;<service_description> Utilisé pour supprimer tous les commentaires associés à un service spécifié. Remarquez que le nom de l'hôte et la description du service sont nécessaires.
DELAY_HOST_NOTIFICATION <host_name>;<next_notification_time> Retardera l'envoi de la prochaine notification à cet hôte jusqu'au délai précisé par l'argument next_notification_time. Cela n'aura pas d'effet si l'état de l'hôte change avant que la prochaine notification programmée ne soit envoyée.
DELAY_SVC_NOTIFICATION <host_name>;<service_description>;<next_notification_time> Retardera l'envoi de la prochaine notification à propos de ce service jusqu'au délai précisé par l'argument next_notification_time. Remarquez que le nom de l'hôte et la description du service sont demandés. Cela n'aura pas d'effet si l'état de l'hôte change avant que la prochaine notification programmée ne soit envoyée. Cela ne retarde pas les notifications à propos de l'hôte.
SCHEDULE_SVC_CHECK <host_name>;<service_description>;<next_check_time> Réordonnancera le prochain contrôle du service spécifié après un délai correspondant à l'argument next_check_time. Remarquez que le nom de l'hôte et la description du service sont nécessaires.
SCHEDULE_HOST_SVC_CHECKS <host_name><next_check_time> Réordonnancera le prochain contrôle de tous les services de l'hôte spécifié après un délai correspondant à l'argument next_check_time.
ENABLE_SVC_CHECK <host_name>;<service_description> Réactivera les contrôles du service précisé. Remarquez que le nom de l'hôte et la description du service sont nécessaires.
DISABLE_SVC_CHECK <host_name>;<service_description> Désactivera temporairement les contrôles du service précisé. Les contrôles de service sont automatiquement réactivés lorsque Nagios redémarre. L'envoi de cette commande aura pour effet de bord d'empêcher temporairement l'envoi des notifications relatives au service. Cela n'empêchera pas l'envoi des notifications à l'hôte.
ENABLE_SVC_NOTIFICATIONS <host_name>;<service_description> Réactive les notifications pour le service précisé. Remarquez que le nom de l'hôte et la description du service sont nécessaires.
DISABLE_SVC_NOTIFICATIONS <host_name>;<service_description> Désactivera temporairement l'envoi des notifications relatives au service précisé. Les notifications sont automatiquement réactivées lorsque Nagios redémarre. Remarquez que le nom de l'hôte et la description du service sont nécessaires. Cela ne désactive pas les notifications relatives à l'hôte.
ENABLE_HOST_SVC_NOTIFICATIONS <host_name> Réactive les notifications pour tous les services relatifs à l'hôte précisé. Ne réactive pas les notifications relatives à l'hôte.
DISABLE_HOST_SVC_NOTIFICATIONS <host_name> Désactive temporairement les notifications pour tous les services de l'hôte précisé. Ne désactive pas les notifications relatives à l'hôte.
ENABLE_HOST_SVC_CHECKS <host_name> Réactive les contrôles de tous les services sur l'hôte précisé. Si un ou plusieurs services étaient dans un état non OK lorsqu'ils ont été désactivés, les contacts peuvent recevoir des notifications si le service retrouve son état normal après que les contrôles sont réactivés.
DISABLE_HOST_SVC_CHECKS <host_name> Désactivera temporairement les contrôles de tous les services sur l'hôte spécifié. Les contrôles de service sont automatiquement réactivés quand Nagios redémarre. L'envoi de cette commande aura pour effet de bord d'empêcher temporairement l'envoi des notifications relatives à l'un des services concernés. Cela n'empêche pas l'envoi des notifications relatives à l'hôte.
ENABLE_HOST_NOTIFICATIONS <host_name> Désactive temporairement les notifications pour cet hôte. Remarquez que cela n'active pas les notifications pour les services associés à cet hôte.
DISABLE_HOST_NOTIFICATIONS <host_name> Désactivera temporairement les notifications relatives à cet hôte. Elles sont automatiquement réactivées lorsque Nagios redémarre. Remarquez que cela ne désactive pas les notifications relatives aux services associés à cet hôte.
ENABLE_ALL_NOTIFICATIONS_BEYOND_HOST <host_name> Active les notifications pour tous les hôtes et services "au delà" de l'hôte précisé par l'argument host_name (vu à partir de Nagios). Cette commande est le plus souvent utilisée en conjonction avec la supervision redondante d'hôtes.
DISABLE_ALL_NOTIFICATIONS_BEYOND_HOST <host_name> Désactive temporairement les notifications pour tous les hôtes et services "au delà" de l'hôte précisé par l'argument host_name (vu à partir de Nagios). Les notifications sont automatiquement réactivées lorsque Nagios redémarre. Cette commande est le plus souvent utilisée en conjonction avec la supervision redondante d'hôtes.
ENABLE_NOTIFICATIONS <execution_time> Activera les notifications pour les hôtes et services pour l'ensemble du programme Nagios au moment précisé par l'argument execution time.
DISABLE_NOTIFICATIONS <execution_time> Désactivera les notifications pour les hôtes et les services pour l'ensemble du programme Nagios au moment précisé par l'argument execution time.
SHUTDOWN_PROGRAM <execution_time> Arrêtera Nagios au moment précisé par l'argument execution_time. Note : Nagios ne peut pas être redémarré à partir de l'interface web une fois qu'il a été arrêté.
RESTART_PROGRAM <execution_time> Nagios purgera toutes ses informations d'état de configuration, relira tous les fichiers de configuration et reprendra la supervision au moment précisé par l'argument execution_time.
PROCESS_SERVICE_CHECK_RESULT <host_name>;<service_description>;<return_code>;<plugin_output> Cette commande est utilisée pour soumettre des résultats de contrôles pour un service particulier à Nagios. Ces contrôles "passifs" subissent les mêmes traitements que les contrôles "actifs" normaux. Davantage d'information sur les contrôles de services passifs peut être trouvée ici.
SAVE_STATE_INFORMATION <execution_time> Forcera Nagios à dupliquer les informations relatives à l'état actuel de tous les services et tous les hôtes dans le fichier spécifié par la variable state_retention_file. Vous devez activer l'option retain_state_information pour que cela fonctionne.
READ_STATE_INFORMATION <execution_time> Forcera Nagios à lire d'abord l'information relative à l'état de tous les services et tous les hôtes sauvegardée dans le fichier précisé par la variable state_retention_file. Vous devez activer l'option retain_state_information pour que cela fonctionne.
START_EXECUTING_SVC_CHECKS   Fait reprendre l'exécution des contrôles de service. Elle peut avoir été stoppée précédemment soit en recevant une commande STOP_EXECUTING_SVC_CHECKS, soit en donnant comme valeur 0 à la variable execute_service_checks dans le fichier de configuration principal. C'est utilisé la plupart du temps lorsqu'on implémente la supervision redondante d'hôtes.
STOP_EXECUTING_SVC_CHECKS   Arrête l'exécution des contrôles de services. Dans ce cas, Nagios ne réordonnancera pas constamment ceux qui sont dans la file d'attente à un moment ultérieur, mais n'exécutera tout simplement aucun contrôle. Le résultat est de mettre Nagios en mode "veille" pour la supervision. C'est utilisé la plupart du temps lorsqu'on implémente la supervision redondante d'hôtes.
START_ACCEPTING_PASSIVE_SVC_CHECKS   Autorise de nouveau l'exécution des contrôles de service passifs pour tous les services. Elle peut avoir été stoppée précédemment soit en recevant une commande STOP_ACCEPTING_PASSIVE_SVC_CHECKS, soit en donnant la valeur 0 à la variable accept_passive_service_checks du fichier de configuration principal. Si les contrôles passifs ont été désactivés pour certains services en utilisant la commande DISABLE_PASSIVE_SVC_CHECKS, les contrôles passifs ne seront pas acceptés pour ceux-ci, mais le seront pour tous les autres.
STOP_ACCEPTING_PASSIVE_SVC_CHECKS   Utilisé pour désactiver l'acceptation des contrôles de services passifs pour tous les services.
ENABLE_PASSIVE_SVC_CHECKS <host_name>;<service_description> Autorise de nouveau l'exécution des contrôles de service passifs pour un service particulier. Elle peut avoir été stoppée précédemment en recevant une commande DISABLE_PASSIVE_SVC_CHECKS. Si les contrôles passifs ont été désactivés pour tous les services à l'aide de la commande STOP_ACCEPTING_PASSIVE_SVC_CHECKS, ou en donnant la valeur 0 à l'option accept_passive_service_checks du fichier de configuration principal, les contrôles passifs ne seront pas acceptés pour ce service.
DISABLE_PASSIVE_SVC_CHECKS <host_name>;<service_description> Utilisé pour désactiver l'acceptation des contrôles de services passifs pour un service particulier.