Important: Nagios peut être configuré pour utiliser différents formats pour les fichiers de configuration des objets, en fournissant les arguments appropriés au script configure. Cette documentation décrit comment configurer les définitions des objets si vous avez compilé Nagios avec le support des fichiers de configuration basés sur des modèles.
Notes
Lorsque vous créerez /éditerez les fichiers de configuration, gardez à l'esprit que :
Introduction
Un des bénéfices de l'utilisation de fichiers dont le format utilise des modèles est le suivant: vous pouvez créer des définitions d'objets qui vont hériter de quelques propriétés d'autres définitions d'objets. Cette notion d'héritage, ainsi que la documentation expliquant comment mettre en oeuvre cette notion, se trouve là. Je ne saurais trop vous recommander de vous familiariser avec l'héritage entre objets, une fois que vous aurez lu la documentation ci-dessous. En effet, l'héritage va vous rendre le travail de création et de maintenance des définitions d'objets bien plus facile que cela ne serait si elle n'existait pas.
Trucs et astuces "gain de temps"
Il y a quelques trucs que vous devez connaitre, dans la définition d'objet, et qui vous permettront de créer un grand nombre d'objets avec juste un petit nombre de définitions dans vos fichiers de configuration. Un de ces "trucs", c'est la possibilité de définir un seul objet pour un service, qui crée un service pour de nombreux hôtes ou groupes d'hôtes. Ces astuces sont décrites là.
Notes sur la mémorisation
Il est important de comprendre que plusieurs directives dans les hôtes et services peuvent ne pas être prise en compte par Nagios quand vous les modifiez. Les directives d'hôtes et de services affectées par ce type de comportement sont marquées (*). La raison de ce comportement réside dans le fait que Nagios choisit d'honorer les valeurs stockées dans le fichier de mémorisation des états plutôt que celles présentes dans les fichiers de configuration, à supposer que vous avez activé la mémorisation des états pour l'ensemble de Nagios.
Une des manières de se débarrasser de ce problème consiste à désactiver la mémorisation des informations n'ayant pas trait avec le statut, avec la directive retain_nonstatus_information dans la définition des hôtes et services. La désactivation de cette directive va obliger Nagios à prendre les valeurs initiales pour ces directives dans vos fichiers de configurations, plutôt que dans le fichier de mémorisation des états, quand Nagios (re)démarre. L'utilisation de cette directive n'est cependant pas recommandée, car elle peut avoir (de votre point de vue) des effets inattendus.
Une autre manière consiste à exécuter une commande externe appropriée qui va changer la valeur affectée à l'hôte ou au service, via l'interface web, de telle sorte que cette valeur sera en phase avec ce qui se trouve dans le fichier de configuration. Ceci est habituellement fait à travers le CGI d'informations complémentaires. Cette option requiert un peu plus de travail,mais elle est de loin préférable à l'option de désactivation de la mémorisation mentionnée juste au-dessus.
Index
Définition d'hôte
Définition de service
Définition de contact
Définition de groupe d'hôtes
Définition de groupe de contacts
Définition de période
Définition de commande
Définition des dépendances de service
Définition d'escalade de service
Définition des dépendances d'hôte
Définition d'escalade d'hôte
Définition d'escalade de groupe d'hôtes
Définition d'hôte |
Une définition d'hôte s'applique à un serveur "physique", une station de travail, un périphérique, un équipement, qui se trouve sur votre réseau.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define host{ | ||
host_name | host_name | |
alias | alias | |
address | address | |
parents | host_names | |
check_command | command_name | |
max_check_attempts | # | |
checks_enabled | [0/1] | |
event_handler | command_name | |
event_handler_enabled | [0/1] | |
low_flap_threshold | # | |
high_flap_threshold | # | |
flap_detection_enabled | [0/1] | |
process_perf_data | [0/1] | |
retain_status_information | [0/1] | |
retain_nonstatus_information | [0/1] | |
notification_interval | # | |
notification_period | timeperiod_name | |
notification_options | [d,u,r] | |
notifications_enabled | [0/1] | |
stalking_options | [o,d,u] | |
} |
define host{ host_name bogus-router alias Bogus Router #1 address 192.168.1.254 parents server-backbone check_command check-host-alive max_check_attempts 5 process_perf_data 0 retain_nonstatus_information 0 notification_interval 30 notification_period 24x7 notification_options d,u,r }
host_name: | C'est le nom court qui permet d'identifier l'hôte. Il est utilisé dans les groupes d'hôtes et les définitions de service pour faire référence à cet hôte particulier. Les hôtes peuvent être associés à de multiples services (qui sont supervisés). Si elle est utilisée dans le bon contexte, la macro $HOSTNAME$ contient ce nom court. |
alias: | C'est un nom long ou une description de l'hôte permettant de l'identifier plus facilement. Si elle est utilisée dans le bon contexte, la macro $HOSTALIAS$ contient cet alias/description. |
address: |
Cette directive définit l'addresse de l'hôte. C'est normalement une adresse IP, bien que ce puisse être en réalité ce que vous voulez (du moment que cela peut être utilisé pour tester l'hôte). Vous pouvez utiliser un FQDN [Fully Qualified Domain Name, nom de domaine complet] pour identifier l'hôte, mais si le service DNS n'est pas actif, cela peut poser des problèmes. Si elle est utilisée dans le bon contexte, la macro $HOSTADDRESS$ contient cette addresse.Note: si vous ne spécifiez pas une directive d'addresse dans la définition d'un hôte, le nom sera employé comme adresse. Un avertissement à ce sujet - si le DNS tombe, tous les contrôles de service échoueront puisque les plugin seront incapables de résoudre les noms. |
parents: |
Cette directive définit une liste de noms courts d'hôtes "parents" de cet hôte, séparés par des virgules. Les hôtes parents sont généralement des routeurs, des commutateurs, des firewalls, etc. se trouvant entre l'hôte de supervision et les hôtes distants. Le routeur, le commutateur, etc. le plus proche de l'hôte distant est considéré comme le parent de cette hôte. Pour plus d'informations, référez-vous au chapitre "Déterminer l'état et l'accessibilité des hôtes du réseau" dans ce document ci. Si cet hôte est sur le même segment que l'hôte de supervision (sans routeur intermédiaire, etc.), il est considéré comme étant sur le réseau local et n'aura pas d'hôte parent. Laissez cette valeur vide si l'hôte n'a pas d'hôte parent (c.a.d s'il est sur le même segment que l'hôte de Nagios). L'ordre dans lequel vous déclarez les parents n'a pas d'influence sur la façon dont la supervision se déroule. |
check_command: |
Cette directive définit le nom court de la commande à utiliser pour déterminer si l'hôte est hors service ou non. Typiquement, cette commande lance un "ping" vers l'hôte pour voir si il est "vivant". La commande doit retourner un état OK (0) sinon Nagios supposera que cet hôte est hors service. Si vous laissez cet argument vide, l'hôte ne sera pas contrôlé - Nagios supposera que l'hôte est toujours en fonctionnement. Ceci est utile pour superviser des imprimantes ou autres périphériques qui sont éteints fréquemment. Le temps d'exécution maximal de cette commande est déterminé par la variable host_check_timeout. |
max_check_attempts: |
Cette directive définit le nombre de fois ou Nagios relancera la commande de contrôle de l'hôte si celle-ci retourne un état différent de OK. Positionner cette valeur à 1 fera que Nagios génére une alerte sans re-contrôler l'hôte. Note : si vous ne voulez pas contrôler l'état de l'hôte, vous devez quand même mettre une valeur supérieure ou égale à 1. Pour ne pas effectuer le contrôle de l'hôte, laissez simplement vide l'option <host_check_command>. |
checks_enabled *: |
Cette directive définit si, oui ou non, les contrôles sont activés pour cte hôte. Valeurs: 0 = contrôle désactivés, 1 = contrôles activés. |
event_handler: |
Cette directive définit le nom court de la commande à lancer à chaque fois qu'un changement de l'état de l'hôte est détecté (c.a.d chaque fois qu'il est hors service ou qu'il se rétablit). Lisez la documentation sur les gestionnaires d'événement pour des explications détaillées sur la façon d'écrire des scripts de gestion d'événements. Le temps d'exécution maximal de cette commande est déterminé par la variable event_handler_timeout. |
event_handler_enabled *: |
Cette directive définit si, oui ou non, le gestionnaire d'évènements est activé pour cet hôte. Valeurs: 0 = gestionnaire d'évènements désactivé, 1 = gestionnaire d'évènements activé. |
low_flap_threshold: | Cette directive définit le seuil bas de la détection d'oscillation pour cet hôte. Vous trouverez plus d'informations sur l'oscillation là. si vous fixez cette directive à 1, la valeur fixée par la directive globale ( au niveau de Nagios) low_host_flap_threshold sera utilisé à la place. |
high_flap_threshold: | Cette directive définit le seuil haut de la détection d'oscillation pour cet hôte. Vous trouverez plus d'informations sur l'oscillation là. si vous fixez cette directive à 1, la valeur fixée par la directive globale ( au niveau de Nagios) high_host_flap_threshold sera utilisé à la place. |
flap_detection_enabled *: | Cette directive définit si, oui ou non, la détection d 'oscillation est activée pour cet hôte. Valeurs: 0 = détection d'oscillation désactivée, 1 = détection d'oscillation activée.Vous trouverez plus d'informations sur l'oscillation là. |
process_perf_data *: | Cette directive définit si, oui ou non, le traitement des données liées à la performance du contrôle est activé pour cet hôte. Valeurs: 0 = traitement désactivé, 1 = traitement activé. |
retain_status_information: | Cette directive définit si, oui ou non, les informations liées au statut de l'hôte sont mémorisées, entre les (re)démarrages de Nagios, pour cet hôte. Valeurs: 0 = mémorisation désactivée, 1 = mémorisation activée. Ceci n'est utile que si vous avez activé la mémorisation des états, avec la directive adéquate. Value: 0 = mémorisation des états désactivée , 1 = mémorisation des états activée. |
retain_nonstatus_information: |
Cette directive définit si, oui ou non, les informations non liées au statut de l'hôte sont mémorisées, entre les (re)démarrages de Nagios, pour cet hôte. Valeurs: 0 = mémorisation désactivée, 1 = mémorisation activée. Ceci n'est utile que si vous avez activé la mémorisation des états, avec la directive adéquate. |
notification_interval: |
Cette directive définit le nombre d'"unités de temps" à patienter avant de re-notifier un contact que l'hôte est toujours hors service ou inaccessible. Si vous n'avez pas modifié la valeur par défaut de la directive interval_length , qui est de 60 par défaut, ce nombre exprime des minutes. Si vous mettez cette valeur à 0, Nagios ne re-notifiera pas les contacts à propos des problèmes de cet hôte - une seule notification sera émise. |
notification_period: |
Cette directive définit le nom court de la période durant laquelle les notifications d'événements concernant cet hôte peuvent être émises vers les contacts. Si un hôte est hors service, inaccessible, ou se rétablit en dehors de la période de notification, aucune notification ne sera envoyée. |
notifications_options: | Cette directive définit quand les notifications pour cet hôte doivent être envoyées. Les options valides sont une combinaison d'une ou plusieurs des valeurs suivantes : : d = envoi de la notification pour un état DOWN, u = envoi de la notification pour un état UNREACHABLE , et r = envoi de la notification pour le retour à la normale (état OK). Si vous spécifiez la valeur n (none), aucune notification ne sera envoyée. . Exemple: avec les valeurs d,r dans ce champ, les notifications seront envoyées quand l'hôte sera DOWN et quand il sortira de cet état pour un état OK. |
notifications_enabled *: | Cette directive définit si , oui ou non, les notifications sont activées pour cet hôte. valeurs: 0 = notifications désactivées , 1 = notifications activées. |
stalking_options: | Cette directive définit pour quel état de l'hôte le "suivi précis" est activé.Les options valides sont une combinaison d'une ou plusieurs des valeurs suivantes: o = suivi sur les états UP, d = suivi sur les états DOWN , et u = suivi sur les états UNREACHABLE. vous trouverez plus d'informations sur le suivi précis là. |
Définition d'un service |
la définition d'un service identifie un service tournant sur un hôte. Le terme "service" est très générique. Il peut s'appliquer à un service ( tel que POP, SMTP, HTTP, etc.) ou bien tout autre type de mesures associé à l'hôte (temps de réponse à un ping, nombre d'utilisateurs connectés, usage des disques). les différents arguments sont expliqués ci-dessous.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define service{ | ||
host_name | host_name | |
service_description | service_description | |
is_volatile | [0/1] | |
check_command | command_name | |
max_check_attempts | # | |
normal_check_interval | # | |
retry_check_interval | # | |
active_checks_enabled | [0/1] | |
passive_checks_enabled | [0/1] | |
check_period | timeperiod_name | |
parallelize_check | [0/1] | |
obsess_over_service | [0/1] | |
check_freshness | [0/1] | |
freshness_threshold | # | |
event_handler | command_name | |
event_handler_enabled | [0/1] | |
low_flap_threshold | # | |
high_flap_threshold | # | |
flap_detection_enabled | [0/1] | |
process_perf_data | [0/1] | |
retain_status_information | [0/1] | |
retain_nonstatus_information | [0/1] | |
notification_interval | # | |
notification_period | timeperiod_name | |
notification_options | [w,u,c,r] | |
notifications_enabled | [0/1] | |
contact_groups | contact_groups | |
stalking_options | [o,w,u,c] | |
} |
define service{ host_name linux-server service_description check-disk-sda1 check_command check-disk!/dev/sda1 max_check_attempts 5 normal_check_interval 5 retry_check_interval 3 check_period 24x7 notification_interval 30 notification_period 24x7 notification_options w,c,r contact_groups linux-admins }
host_name: | Cette directive définit le nom court de l'hôte sur lequel "tourne" le service ou avec lequel il est associé. | ||||||
service_description;: |
Cette directive définit la description du service qui peut contenir des espaces, tirets, et deux-points (points-virgules, apostrophes, et guillemets sont à éviter). Deux services associés au même hôte ne peuvent pas avoir la même description. Les services sont identifiés uniquement avec les directives host_name et service_description. |
||||||
is_volatile: | Cette directive définit si, oui ou non, le service est "volatil". Un service ne l'est normalement pas. Plus d'informations sur ce type de service et en quoi ils diffèrent des services normaux, se trouve là. Valeur: 0 = service non volatil, 1 = service volatil. | ||||||
check_command: |
C'est la commande que Nagios exécute pour contrôler l'état du service. Il y a trois types de commande possibles :
Le temps d'exécution maximal de cette commande est déterminé par la variable service_check_timeout. |
||||||
max_check_attempts: |
Cette directive définit le nombre de fois que Nagios réessaiera de contrôler le service si celui-ci retourne un état différent de OK. Si vous donnez une valeur de 1 à cette variable, Nagios générera une alerte (si le contrôle de service a détecté un problème) sans nouvel essai. |
||||||
normal_check_interval: |
Cette directive définit le nombre d'"unités de temps" à attendre avant d'ordonnancer le prochain contrôle "régulier" du service. Les contrôles "réguliers" sont ceux qui se font lorsque le service est en état OK ou lorsque le service n'est pas en état OK, mais que le nombre de réessais défini par la variable max_check_attempts est atteint. Si vous n'avez pas changé la valeur de interval_length, qui est par défaut de 60, ce nombre exprime des minutes. Pour plus d'informations sur cette valeur, voyez la documentation sur l'ordonnancement du contrôle des services. |
||||||
retry_check_interval: |
Cette directive définit le nombre d'"unités de temps" à attendre avant d'ordonnancer le prochain contrôle du service. Les services sont réordonnancés à cet intervalle quand ils sont passés dans un état différent de OK. Une fois que le contrôle de service a été tenté max_check_attempts fois sans changement d'état, il est réordonnancé à nouveau à sa fréquence "normale" définie par la valeur de check_interval. Si vous n'avez pas changé la valeur de interval_length, qui est par défaut de 60, ce nombre exprime des minutes. Pour plus d'informations sur cette valeur, voyez la documentation sur l'ordonnancement du contrôle des services. |
||||||
active_checks_enabled *: | Cette directive définit si , oui ou non, les contrôles actifs sont activés pour ce service. Valeurs: 0 = contrôle actif désactivé, 1 = contrôle actif activé. | ||||||
passive_checks_enabled *: | Cette directive définit si , oui ou non, les contrôles passifs sont activés pour ce service. Valeurs: 0 = contrôle passif désactivé, 1 = contrôle passif activé. | ||||||
check_period: | Cette directive définit le nom court de la période de temps durant laquelle un contrôle actif peut être effectué. | ||||||
parallelize_check: | cette directive définit si , oui ou non, le contrôle de service peut être effectué en parallèle. Par défaut, tous les contrôles de service sont parallélisés. Le désactiver peut cuaser de graves problèmes de performance. Vous trouverez plus d'informations à ce sujet là. Valeurs: 0 = le contrôle de service ne peut pas être parallélisés (utilisation à vos risques et périls! ), 1 = le contrôle de service peut être parallélisé. | ||||||
obsess_over_service *: | |||||||
check_freshness *: | Cette directive définit si , oui ou non, le contrôle de validité des données est activé pour ce service. Valeurs: 0 = contrôle désactivé, 1 = contrôle activé. | ||||||
freshness_threshold: |
Cette directive définit le seuil (en secondes) à partir duquel le contrôle de validité est activé pour ce service. Si vous le mettez à 0, Nagios déterminera seul un seuil. |
||||||
event_handler_enabled: | Cette directive définit si, oui ou non, le gestionnaire d'évènements est activé pour ce service . Valeurs: 0 = gestionnaire d'évènements désactivé, 1 = gestionnaire d'évènements activé. | ||||||
low_flap_threshold: | Cette directive définit le seuil bas de la détection d'oscillation pour cet service. Vous trouverez plus d'informations sur l'oscillation là. si vous fixez cette directive à 1, la valeur fixée par la directive globale ( au niveau de Nagios) low_service_flap_threshold sera utilisé à la place. | ||||||
high_flap_threshold: | Cette directive définit le seuil haut de la détection d'oscillation pour cet service. Vous trouverez plus d'informations sur l'oscillation là. si vous fixez cette directive à 1, la valeur fixée par la directive globale ( au niveau de Nagios) high_service_flap_threshold sera utilisé à la place. | ||||||
flap_detection_enabled *: | Cette directive définit si, oui ou non, la détection d 'oscillation est activée pour ce service. Valeurs: 0 = détection d'oscillation désactivée, 1 = détection d'oscillation activée.Vous trouverez plus d'informations sur l'oscillation là. | ||||||
process_perf_data *: | Cette directive définit si, oui ou non, le traitement des données liées à la performance du contrôle est activé pour ce service. Valeurs: 0 = traitement désactivé, 1 = traitement activé. | ||||||
retain_status_information: | Cette directive définit si, oui ou non, les informations liées au statut du service sont mémorisées, entre les (re)démarrages de Nagios, pour cet hôte. Valeurs: 0 = mémorisation désactivée, 1 = mémorisation activée. Ceci n'est utile que si vous avez activé la mémorisation des états, avec la directive adéquate. Value: 0 = mémorisation des états désactivée , 1 = mémorisation des états activée. | ||||||
retain_nonstatus_information: | Cette directive définit si, oui ou non, les informations non liées au statut du service sont mémorisées, entre les (re)démarrages de Nagios, pour cet hôte. Valeurs: 0 = mémorisation désactivée, 1 = mémorisation activée. Ceci n'est utile que si vous avez activé la mémorisation des états, avec la directive adéquate. | ||||||
notification_interval: | Cette directive définit le nombre d'"unités de temps" à patienter avant de re-notifier un contact que le service est toujours hors service ou inaccessible. Si vous n'avez pas modifié la valeur par défaut de la directive interval_length , qui est de 60 par défaut, ce nombre exprime des minutes. Si vous mettez cette valeur à 0, Nagios ne re-notifiera pas les contacts à propos des problèmes de ce service - une seule notification sera émise. | ||||||
notification_period: | Cette directive définit le nom court de la période durant laquelle les notifications d'événements concernant ce service peuvent être émises vers les contacts. Si un service est tombé, inaccessible, ou se rétablit en dehors de la période de notification, aucune notification ne sera envoyée. | ||||||
notification_options: |
Cette directive définit quand les notifications pour ce service doivent être envoyées. Les options valides sont une combinaison d'une ou plusieurs des valeurs suivantes : w = envoi de la notification pour un état WARNING, u = envoi de la notification pour un état UNKNOWN , et r = envoi de la notification pour le retour à la normale (état OK). Si vous spécifiez la valeur n (none), aucune notification ne sera envoyée. . Exemple: avec les valeurs w,r dans ce champ, les notifications seront envoyées quand l'hôte sera WARNING et quand il sortira de cet état pour un état OK. |
||||||
notifications_enabled *: | Cette directive définit si, oui ou non, les notifications sont activées pour ce service. valeurs: 0 = notifications désactivées, 1: notifications activées. | ||||||
contact_groups: | C'est une liste de noms courts de groupes de contacts, séparés par des virgules, qui doivent être notifiés des problèmes ou rétablissements de ce service. | ||||||
stalking_options: |
Cette directive définit pour quel état du service le "suivi précis" est activé.Les options valides sont une combinaison d'une ou plusieurs des valeurs suivantes: w = suivi sur les états WARNING , o = suivi sur les états OK , et u = suivi sur les états UNKNOWN et c = suivi sur les états CRITICAL. Vous trouverez plus d'informations sur le suivi précis là. |
Définition d'un contact |
Une définition de contact s'applique à la personne physique qui doit être contactée en cas de problèmes sur le réseau. Les différents arguments possibles sont expliqués ci-dessous.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define contact{ | ||
contact_name | contact_name | |
alias | alias | |
host_notification_period | timeperiod_name | |
service_notification_period | timeperiod_name | |
host_notification_options | [d,u,r,n] | |
service_notification_options | [w,u,c,r,n] | |
host_notification_commands | command_name | |
service_notification_commands | command_name | |
email_address | ||
pager | pager_number or pager_email_gateway | |
} |
define contact{ contact_name jdoe alias John Doe service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-by-email host_notification_commands host-notify-by-email email jdoe@localhost.localdomain pager 555-5555@pagergateway.localhost.localdomain }
contact_name: | Cette directive définit le nom court identifiant le contact. Il est utilisé dans les définitions de groupes de contacts. Si elle est utilisée dans le bon contexte, la macro $CONTACTNAME$ |
alias: | Cette directive définit un nom long ou une description du contact. Si elle est utilisée dans le bon contexte, la macro $CONTACTALIAS$ contient cette valeur. |
host_notification_period: | Cette directive définit le nom court de la période durant laquelle le contact peut être notifié de problèmes ou de rétablissement d'hôtes. Considérez ceci comme "la période d'astreinte du contact" durant laquelle les notifications peuvent lui parvenir. Pour plus d'informations, vous pouvez lire le chapitre sur les "Périodes de temps", qui décrit comment elles fonctionnent et quels sont les problèmes qui peuvent découler d'une utilisation incorrecte. |
service_notification_period: | Cette directive définit le nom court de la période durant laquelle le contact peut être notifié de problèmes ou de rétablissement de services. Considérez ceci comme "la période d'astreinte du contact" durant laquelle les notifications peuvent lui parvenir. Pour plus d'informations, vous pouvez lire le chapitre sur les "Périodes de temps", qui décrit comment elles fonctionnent et quels sont les problèmes qui peuvent découler d'une utilisation incorrecte. |
host_notification_commands: | Cette directive définit une liste de noms courts de commandes à utiliser pour notifier un contact d'un problème sur un hôte ou de son rétablissement. Les commandes multiples seront séparées par des virgules. Toutes les commandes de notification sont exécutées quand le contact doit être notifié. Le temps maximal durant lequel cette commande de notification peut s'exécuter est contrôlé par l'option notification_timeout. |
host_notification_options: | Cette directive définit pour quel état de l'hôte les notifications doivent être envoyées. Les options valides sont une combinaison d'une ou plusieurs des valeurs suivantes : : d = envoi de la notification pour un état DOWN, u = envoi de la notification pour un état UNREACHABLE , et r = envoi de la notification pour le retour à la normale (état OK). Si vous spécifiez la valeur n (none), aucune notification ne sera envoyée. |
service_notification_options: | Cette directive définit pour quel état du service les notifications doivent être envoyées. Les options valides sont une combinaison d'une ou plusieurs des valeurs suivantes : w = envoi de la notification pour un état WARNING, u = envoi de la notification pour un état UNKNOWN , c= envoi de la notification pour un état CRITIQUE et r = envoi de la notification pour le retour à la normale (état OK). Si vous spécifiez la valeur n (none), aucune notification ne sera envoyée. . |
service_notification_commands: | Cette directive définit une liste de noms courts de commandes à utiliser pour notifier un contact d'un problème sur un service ou de son rétablissement. Les commandes multiples seront séparées par des virgules. Toutes les commandes de notification sont exécutées quand le contact doit être notifié. Le temps maximal durant lequel cette commande de notification peut s'exécuter est contrôlé par l'option notification_timeout. |
email: |
Cette directive définit l'addresse email du contact. Selon la manière dont vous aurez défini la commande de notifcation, elle peut être utilisée pour émettre un email. Dans des circonstances adéquates, la macro $CONTACTEMAIL$ contient cette valeur. |
pager: | Cette directive définit le numéro de pager du contact. Cela peut aussi être l'addresse email d'une passerelle vers un pager (c.a.d pagejoe@pagenet.com). Selon la manière dont vous aurez configuré la commande de notification, Il pourra être utilisé pour émettre un message vers un pager. Dans des circonstances adéquates, la macro $CONTACTPAGER$ contient cette valeur. |
Définition d'un groupe d'hôtes |
Une définition de groupe d'hôtes permet de regrouper un ou plusieurs hôtes pour simplifier les notifications. Chaque hôte que vous définissez doit être membre d'au moins un groupe d'hôtes - même si c'est le seul hôte du groupe. Un hôte peut faire partie de plusieurs groupes. Quand un hôte est hors service, inaccessible, ou se rétablit, Nagios recherche les groupes dont cet hôte fait partie, en extrait chaque groupe de contacts, et notifie tous les contacts associés à ces groupes de contacts. Ceci peut sembler complexe, mais dans la plupart des cas, ce ne le sera pas. On obtient ainsi une meilleure flexibilité dans la définition de qui reçoit la notification de quel problème.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define hostgroup{ | ||
hostgroup_name | hostgroup_name | |
alias | alias | |
contact_groups | contact_groups | |
members | members | |
} |
define hostgroup{ hostgroup_name novell-servers alias Novell Servers contact_groups novell-admins members netware1,netware2,netware3,netware4 }
hostgroup_name: | Cette directive définit le nom court qui identifie le groupe d'hôtes |
alias: | Cette directive définit un nom long ou une description permettant d'identifier plus facilement le groupe d'hôtes. Elle sert à permettre une identification plus facile d'un gorupe d'hôtes. |
contact_groups: | C'est une liste de noms courts de groupes de contacts à notifier en cas de problème (ou de rétablissement) concernant un hôte quelconque de ce groupe. Les groupes de contacts sont séparés par des virgules. |
members: | C'est une liste de noms courts d'hôtes à inclure dans ce groupe. Les noms doivent être séparés par des virgules. |
Définition d'un contact de groupe |
Une définition de groupe de contacts permet de regrouper un ou plusieurs contacts pour émettre des notifications. Quand un hôte ou un service a un problème ou se rétablit, Nagios recherche les groupes de contacts à qui envoyer des notifications, et notifie tous les contacts de ces groupes. Ceci peut sembler complexe, mais dans la plupart des cas, ce ne le sera pas. On obtient ainsi une meilleure flexibilité dans la définition de qui est notifié de quel problème. Les différents arguments d'une définition de groupe de contacts sont détaillés ci-dessous.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define contactgroup{ | ||
contactgroup_name | contactgroup_name | |
alias | alias | |
members | members | |
} |
define contactgroup{ contactgroup_name novell-admins alias Novell Administrators members jdoe,rtobert,tzach }
contactgroup_name: | Cette directve définit le nom court utilisé pour identifier le groupe de contacts. |
alias: | Cette directive définit le nom long ou la description de ce groupe de contacts. |
members: | C'est une liste de noms courts de contacts faisant partie de ce groupe. Les noms doivent être séparés par des virgules. |
Définition de période |
Une période est une liste de tranches horaires pour les différents jours de la semaine, qui sont "valides" pour l'envoi des notifications et les contrôles de service. Ces tranches sont elles-même composées d'autres tranches de temps pour chaque jour de la semaine, qui "tournent" une fois que la semaine est terminée. On ne peut pas définir d'exception à la définition hebdomadaire.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define timeperiod{ | ||
timeperiod_name | timeperiod_name | |
alias | alias | |
sunday | timeranges | |
monday | timeranges | |
tuesday | timeranges | |
wednesday | timeranges | |
thursday | timeranges | |
friday | timeranges | |
saturday | timeranges | |
} |
define timeperiod{ timeperiod_name nonworkhours alias Non-Work Hours sunday 00:00-24:00 monday 00:00-09:00,17:00-24:00 tuesday 00:00-09:00,17:00-24:00 wednesday 00:00-09:00,17:00-24:00 thursday 00:00-09:00,17:00-24:00 friday 00:00-09:00,17:00-24:00 saturday 00:00-24:00 }
timeperiod_name: | Cette directive définit le nom court identifiant la période. |
alias: | Cette directive définit un nom long ou une description de la période. |
someday: |
Cette directive définit une liste de tranches horaires ( sunday, friday, saturday ..) séparées par des point-virgules, qui sont "valides" pour un jour donné de la semaine. Notez que vous devez définir des tranches horaires pour les sept jours de la semaine (de Sunday à Saturday - dimanche à samedi). Les tranches horaires sont au format HH:MM-HH:MM, où les heures sont indiquées entre 0 et 24. Par exemple, 00:15-24:00 veut dire de zéro heure quinze ce jour jusqu'à minuit (une tranche de 23 heures et 45 minutes). Si vous désirez exclure une journée entière des périodes de temps, ne la mettez pas dans les défintions, simplement. |
Définition de commande |
Une définition de commande, comme son nom l'indique, définit une commande :-). Les commandes qu'on peut définir sont les contrôles de service, les notifications de service, les gestionnaires d'événements de service, les contrôles d'hôte, les notifications d'hôte, et les gestionnaires d'événement d'hôte. Les définitions de commande peuvent contenir des macros, mais vous devez vous assurer de n'utiliser que des macros "valides" dans le contexte de la commande. Vous trouverez plus d'informations sur les macros disponibles et leur domaine de validité ici. Les différents arguments d'une définition de commande sont détaillés ci-dessous.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define command{ | ||
command_name | command_name | |
command_line | command_line | |
} |
define command{ command_name check_pop command_line /usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$ }
command_name: |
Cette directive définit le nom court identifiant la commande. Il est utilisé dans les définitions de contact, d'hôte, et de service, entre autres. |
command_line: |
Cette directive définit ce qu'exécute Nagios lorsque la commande est utilisée pour un contrôle de service ou d'hôte, pour une notification, ou pour un gestionnaire d'événement. Avant que la ligne de commande ne soit exécutée, toutes les macros valides sont remplacées par leur valeur. Référez-vous à la documentation sur les macros pour savoir quand elles sont valides. Notez que la ligne de commande n'est pas entourée de guillemets. De plus, si vous désirez passer le signe ($) sur la ligne de commande, il faudra "l'échapper" avec un autre $. |
Définition de dépendance de service |
Les définitions de dépendances du service sont une fonctionnalités avancées de Nagios qui permet de supprimer des notifications et des contrôles actifs, à partir de l'état d'un ou plusieurs services. Elles sont optionnelles et sont principalement destinées aux utilisateurs avertis qui ont des configuration de supervision complexes. Pour plus d'informations sur le fonctionnement des dépendances de service (lisez le !) lisez ceci.
Note: les directives requises sont en rouge, et les optionnelles en noir. Cependant, pour celles-ci, vous devez fournir au minimum un type de critères à utiliser.
define servicedependency{ | ||
dependent_host_name | host_name | |
dependent_service_description | service_description | |
host_name | host_name | |
service_description | service_description | |
execution_failure_criteria | [o,w,u,c,n] | |
notification_failure_criteria | [o,w,u,c,n] | |
} |
define servicedependency{ host_name WWW1 service_description Apache Web Server dependent_host_name WWW1 dependent_service_description Main Web Site execution_failure_criteria n notification_failure_criteria w,u,c }
dependent_host: | Cette directive définit le nom court de l'hôte sur lequel le service dépendant tourne ou qui lui est associé. |
dependent_service_description: | Cette directive définit la description du service dépendant. |
host_name: |
Cette directive définit le nom court de l'hôte sur lequel le service dont nous dépendons tourne ou qui lui est associé. |
service_description: | cette directive définit la description du service dont nous dépendons. |
execution_failure_criteria: |
Ces directives définissent les situations dans lesquelles le service dépendant ne doit pas être exécuter. Si le service dont nous dépendons est dans un des états d'erreur spécifié, le service dépendant ne sera pas exécuté. Les valeurs valides sont les combinaisons de un ou plusieurs de ces états (les options multiples sont séparées par des virgules): o = non exécuté si état OK, w = non exécuté si état WARNING , u = non exécuté si état UNKNOWN, et c = non exécuté si état CRITICAL. Si vous spécifiez n (aucun) comme option, la dépendance d'exécution n'échouera jamais et le contrôle du service dépendant aura toujours lieu.Par exemple, si vous spécifiez o,c,u dans cette variable, la dépendance est en erreur si le service dont nous dépendons est dans un des états OK, CRITICAL, ou UNKNOWN et que le service dépendant n'est pas en exécution. |
notification_failure_criteria: |
Ces directives définissent les situations dans lesquelles les notifications pour le service dépendant ne doivent pas être envoyées. Si le service dont nous dépendons est dans l'un des états d'erreur spécifiés, les notifications pour le service dépendant ne seront pas envoyées aux contacts. Les valeurs valides sont les combinaisons de un ou plusieurs de ces états : o = non exécuté si état OK, w = non exécuté si état WARNING , u = non exécuté si état UNKNOWN, et c = non exécuté si état CRITICAL. Si vous spécifiez n (aucun) comme option, la dépendance de notification n'échoure jamais et les notifications pour le service dépendant seront toujours envoyées. Par exemple, si vous spécifiez w dans ce champ, la dépendance est en erreur si le service dont nous dépendons est dans l'état WARNING et les notifications pour le service dépendant ne seront pas envoyées. |
Définition d'escalade de service |
Une définition d'escalade pour un service est complètement optionnelle et est utilisée pour escalader les notifications liées à un service particulier. Vous trouverez plus d'informations sur le fonctionnement de l'escalade ici.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define serviceescalation{ | ||
host_name | host_name | |
service_description | service_description | |
contact_groups | contactgroup_name | |
first_notification | # | |
last_notification | # | |
notification_interval | # | |
} |
define serviceescalation{ host_name nt-3 service_description Processor Load first_notification 4 last_notification 0 notification_interval 30 contact_groups all-nt-admins,themanagers }
host_name: |
Cette directive définit le nom court de l'hôte sur lequel le service auquel l'escalade doit s'appliquer est associé.
|
service_description: |
Cette directive définit une description du service auquel l'escalade doit s'appliquer. |
first_notification: | Cete directive définit un nombre qui désigne la première notification à partir de laquelle cette escalade est effective. Par exemple, si vous mettez cette valeur à 3, cette escalade ne sera lancée que lorsque le service sera dans un état différent de OK depuis trois notifications. |
last_notification: |
C'est le nombre qui désigne la dernière notification avant que cette escalade ne soit plus effective. Par exemple, si vous mettez une valeur de 5, cette escalade ne sera pas utilisée si plus de cinq notifications ont été envoyées pour le service spécifié. Donner une valeur de 0 revient à utiliser éternellement cette escalade (sans tenir compte du nombre de notifications émises). |
contact_groups: |
Cette directive définit une liste de noms courts de groupes de contacts à notifier quand une escalade a lieu pour ce service. Les groupes de contacts doivent être séparés par des virgules. |
notification_interval: |
Cette directive définit l'intervalle auquel les notifications doivent être faites tant q ue cette escalade est valide. Si vous donnez une valeur de 0 à cet intervalle, Nagios enverra la première notification lorsque cette définition d'escalade est valide, mais arrêtera ensuite toute émission de notifications pour l'hôte. Les notifications ne sont plus envoyées jusqu'à ce que le service se rétablisse. Ceci est utile si vous ne voulez plus de notifications après un certain temps. Note : si, pour un même service, plusieurs définitions d'escalade ont des plages de notifications qui se chevauchent , c'est l'intervalle de notification le plus petit qui est retenu. |
Définition de dépendance d'hôte |
Les définitions de dépendances d'hôte sont une fonctionnalités avancées de Nagios qui permet de supprimer des notifications et des contrôles actifs, à partir de l'état d'un ou plusieurs hôtes. Elles sont optionnelles et sont principalement destinées aux utilisateurs avertis qui ont des configuration de supervision complexes. Pour plus d'informations sur le fonctionnement des dépendances de service (lisez le !) lisez ceci.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define hostdependency{ | ||
dependent_host_name | host_name | |
host_name | host_name | |
notification_failure_criteria | [o,d,u,n] | |
} |
define hostdependency{ host_name WWW1 dependent_host_name DBASE1 notification_failure_criteria d,u }
dependent_host: |
Cette directive définit le nom court de l'hôte dépendant. |
host_name: |
cette directivde définit le nom court de l'hôte dont nous dépendons. |
notification_failure_criteria: |
Cette directive définit les conditions pour lesquelles les notifications pour l'hôte dépendant ne seront pas envoyées. Les options valides sont une combinaison d'un ou plusieurs des critères suivants: o = n'est pas envoyée sur un état UP, d = n'est pas envoyé sur un état DOWN, et u = n'est pas envoyée sur un état UNREACHABLE. Si vous spécifiez n (aucun) comme option, la dépendance de notification n'échouera jamais et les notifications seront toujours envoyées . Exemple, si vous spécifiez d dans ce champ, les notifications pour cet hôte ne seront pas envoyées si l'hôte dont nous dépendons est dans un état DOWN. |
Définition d'escalade d'hôte |
Une définition d'escalade pour un hôte est complètement optionelle et est utilisée pour escalader les notifications liées à un hôte particulier. Vous trouverez plus d'informations sur le fonctionnement de l'escalade ici.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define hostescalation{ | ||
host_name | host_name | |
contact_groups | contactgroup_name | |
first_notification | # | |
last_notification | # | |
notification_interval | # | |
} |
define hostescalation{ host_name router-34 first_notification 5 last_notification 8 notification_interval 60 contact_groups all-router-admins }
host_name: |
Cette directive définit le nom court de l'hôte auquel l'escalade s'appliquera. |
first_notification: | C'est un nombre qui désigne la première notification à partir de laquelle cette escalade est effective. Par exemple, si vous mettez cette valeur à 3, cette escalade ne sera lancée que lorsque l'hôte sera dans un état différent de UP depuis trois notifications. |
last_notification: | Cette directive définit le nombre qui désigne la dernière notification avant que cette escalade ne soit plus effective. Par exemple, si vous mettez une valeur de 5, cette escalade ne sera pas utilisée si plus de cinq notifications ont été envoyées pour le service spécifié. Donner une valeur de 0 revient à utiliser éternellement cette escalade (sans tenir compte du nombre de notifications émises). |
contact_groups: | Cette directive définit une liste de noms courts de groupes de contacts à notifier quand une escalade a lieu pour cet hôte. Les groupes de contacts doivent être séparés par des virgules. |
notification_interval: |
Cette directive définit l'Intervalle auquel les notifications doivent être faites quand cette escalade s'applique. Si vous donnez une valeur de 0 à cet intervalle, Nagios enverra la première notification lorsque cette définition d'escalade est valide, mais arrêtera ensuite toute émission de notifications pour l'hôte. Les notifications ne sont plus envoyées jusqu'à ce que l'hôte se rétablisse. Ceci est utile si vous ne voulez plus de notifications après un certain temps. Note : si pour un même hôte, plusieurs définitions d'escalade ont des plages de notifications qui se chevauchent , c'est l'intervalle de notification le plus petit qui est retenu. |
Définition d'escalade de groupe d'hôtes |
Une définition d'escalade pour un groupe d'hôtes est complètement optionnelle et est utilisée pour escalader les notifications liées à tous les hôtes d'un service. Vous trouverez plus d'informations sur le fonctionnement de l'escalade ici.
Note: les directives requises sont en rouge, et les optionnelles en noir.
define hostgroupescalation{ | ||
hostgroup_name | hostgroup_name | |
contact_groups | contactgroup_name | |
first_notification | # | |
last_notification | # | |
notification_interval | # | |
} |
define hostgroupescalation{ hostgroup_name netware-servers first_notification 5 last_notification 0 notification_interval 30 contact_groups netware-admins,themanagers }
hostgroup_name: | Cette directive définit le nom court du groupe d'hôtes auquel s'applique l'escalade. |
first_notification: | Cette directive définit un nombre qui désigne la première notification à partir de laquelle cette escalade est effective. Par exemple, si vous mettez cette valeur à 3, cette escalade ne sera lancée que lorsqu'un hôte du groupe sera dans un état différent de UP depuis trois notifications. |
last_notification: |
C'est le nombre qui désigne la dernière notification avant que cette escalade ne soit plus effective. Par exemple, si vous mettez une valeur de 5, cette escalade ne sera plus utilisée si plus de cinq notifications ont été envoyées pour un hôte du groupe spécifié. Donner une valeur de 0 revient à utiliser éternellement cette escalade (sans tenir compte du nombre de notifications émises). |
contact_groups: | Cette directive définit une liste de noms courts de groupes de contacts à notifier quand une escalade a lieu pour un hôte de ce groupe. Les groupes de contacts multiples doivent être séparés par des virgules. |
notification_interval: |
Cette directive définit l'Intervalle auquel les notifications doivent être faites quand cette escalade est valide. Si vous donnez une valeur de 0 à cet intervalle, Nagios enverra la première notification lorsque cette définition d'escalade est valide, mais arrêtera ensuite toute émission de notifications pour l'hôte. Les notifications ne sont plus envoyées jusqu'à ce que le service se rétablisse. Ceci est utile si vous ne voulez plus de notifications après un certain temps. Note : si pour un même groupe d'hôtes plusieurs définitions d'escalade ont des plages de notifications qui se chevauchent , c'est l'intervalle de notification le plus petit qui est retenu. |