Options du fichier de configuration des objets,

basé sur des modèles


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 :

  1. Les lignes commençant par un '#' sont des commentaires et ne sont pas traitées.
  2. Les directives ( variables) sont sensibles à la casse.

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 . 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 .

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

Description:

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.

Définition du format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define host{
host_namehost_name
aliasalias
addressaddress
parentshost_names
check_commandcommand_name
max_check_attempts#
checks_enabled[0/1]
event_handlercommand_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_periodtimeperiod_name
notification_options[d,u,r]
notifications_enabled[0/1]
stalking_options[o,d,u]
   }

Exemple de Definition:

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
	}

Descriptions des directives:

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 . 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 . 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 .
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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define service{
host_namehost_name
service_descriptionservice_description
is_volatile[0/1]
check_commandcommand_name
max_check_attempts#
normal_check_interval#
retry_check_interval#
active_checks_enabled[0/1]
passive_checks_enabled[0/1]
check_periodtimeperiod_name
parallelize_check[0/1]
obsess_over_service[0/1]
check_freshness[0/1]
freshness_threshold#
event_handlercommand_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_periodtimeperiod_name
notification_options[w,u,c,r]
notifications_enabled[0/1]
contact_groupscontact_groups
stalking_options[o,w,u,c]
   }

Exemple de Définition:

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
	}

Descriptions des directives:

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 . 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 :

1. "Vanilla" Command: Le nom de la commande est simplement le nom d'une commande définie précédemment.
2. Command w/ Arguments:

C'est une commande de type basique, mais dont les arguments sont séparés par le caractère !. L'exemple ci-dessus utilise une commande de ce type. Les arguments sont placés dans les macros $ARGx$ avant l'exécution de la commande. Dans l'exemple ci-dessus, $ARG1$ vaut "/dev/sda1" (sans les quotes).

3. "Raw" Command Line:

Vous pouvez aussi donner une commande telle qu'elle doit être exécutée. Pour ce faire toute la commande doit être entourée de guillemets. La paire de guillemets les plus englobants sera supprimée avant exécution. Il n'y a aucun remplacement de macros dans ce cas.

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 . 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 . 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 . 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 .
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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define contact{
contact_namecontact_name
aliasalias
host_notification_periodtimeperiod_name
service_notification_periodtimeperiod_name
host_notification_options[d,u,r,n]
service_notification_options[w,u,c,r,n]
host_notification_commandscommand_name
service_notification_commandscommand_name
emailemail_address
pagerpager_number or pager_email_gateway
   }

Exemple de Définition:

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
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define hostgroup{
hostgroup_namehostgroup_name
aliasalias
contact_groupscontact_groups
membersmembers
   }

Exemple de définition

define hostgroup{
	hostgroup_name		novell-servers
	alias			Novell Servers
	contact_groups		novell-admins
	members			netware1,netware2,netware3,netware4
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define contactgroup{
contactgroup_namecontactgroup_name
aliasalias
membersmembers
   }

Exemple de définition

define contactgroup{
	contactgroup_name		novell-admins
	alias			Novell Administrators
	members			jdoe,rtobert,tzach
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define timeperiod{
timeperiod_nametimeperiod_name
aliasalias
sundaytimeranges
mondaytimeranges
tuesdaytimeranges
wednesdaytimeranges
thursdaytimeranges
fridaytimeranges
saturdaytimeranges
   }

Exemple de définition

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
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define command{
command_namecommand_name
command_linecommand_line
   }

Exemple de définition

define command{
	command_name	check_pop
	command_line	/usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$	
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

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_namehost_name
dependent_service_descriptionservice_description
host_namehost_name
service_descriptionservice_description
execution_failure_criteria[o,w,u,c,n]
notification_failure_criteria[o,w,u,c,n]
   }

Exemple de définition

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
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define serviceescalation{
host_namehost_name
service_descriptionservice_description
contact_groupscontactgroup_name
first_notification#
last_notification#
notification_interval#
   }

Exemple de définition

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
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define hostdependency{
dependent_host_namehost_name
host_namehost_name
notification_failure_criteria[o,d,u,n]
   }

Exemple de définition

define hostdependency{
	host_name			WWW1
	dependent_host_name		DBASE1
	notification_failure_criteria	d,u
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define hostescalation{
host_namehost_name
contact_groupscontactgroup_name
first_notification#
last_notification#
notification_interval#
   }

Exemple de définition

define hostescalation{
	host_name		router-34
	first_notification	5
	last_notification	8
	notification_interval	60
	contact_groups		all-router-admins
	}

Descriptions des directives

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

Description:

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.

Définition du Format:

Note: les directives requises sont en rouge, et les optionnelles en noir.

define hostgroupescalation{
hostgroup_namehostgroup_name
contact_groupscontactgroup_name
first_notification#
last_notification#
notification_interval#
   }

Exemple de définition

define hostgroupescalation{
	hostgroup_name		netware-servers
	first_notification	5
	last_notification	0
	notification_interval	30
	contact_groups		netware-admins,themanagers
	}

Descriptions des directives

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.