Chapitre 19. Définitions d'objet

Introduction

Une des fonctionnalités du format de configuration des objets de Nagios est que vous pouvez créer des définitions d'objets qui héritent leurs propriétés d'autres objets de configuration. Une explication sur le fonctionnement de l'héritage peut être trouvée ici. Je recommande vivement que vous vous familiarisez avec l'héritage des objets une fois que vous aurez lu la documentation présentée ci-dessous, du fait que cela permet une maintenance des définitions d'objets beaucoup plus facile que sans. Lisez aussi les trucs et astuces pour les objets qui offrent des raccourcis pour des tâches de configuration qui seraient autrement ingrates.

Quand vous créez et/ou éditez des fichiers de configuration, gardez ceci à l'esprit :

  1. Les lignes qui commencent par le caractère '#' sont des commentaires et ne sont pas traitées

  2. Les noms de variables sont sensibles à la casse

Notes sur la rétention

Il est important de noter que plusieurs variables dans les définitions d'hôtes, de services et de contacts peuvent ne pas être prise en compte par Nagios quand vous les changez dans les fichiers de configuration. Les objets de configuration concernés sont indiqués par une astérisque (*). La raison de ce comportement est que Nagios prend les valeurs contenues dans le fichier de rétention d'état plutôt que celles contenues dans les fichiers de configuration, à condition d'avoir activé la rétention d'états au niveau global du programme et que la valeur de la variable soit changée pendant l'exécution du programme par une commande externe.

Une façon de contourner le problème est de désactiver la rétention des informations différentes de l'état en utilisant la variable retain_nonstatus_information dans les définitions d'hôtes, de services et de contacts. Désactiver cette variable permettra à Nagios de prendre les valeurs de vos fichiers de configuration comme valeurs initiales plutôt que du fichier de rétention d'états au moment du (re)démarrage.

Fichiers exemple de configuration

Des exemples de fichiers de configuration sont installés dans le répertoire /usr/local/nagios/etc/ quand vous suivez le guide d'installation rapide .

Types d'objets

Définitions d'hôtes

Définitions de groupes d'hôtes

Définitions de services

Définitions de groupes de services

Définitions de contacts

Définitions de groupes de contacts

Définitions de périodes de temps

Définitions de commandes

Définitions de dépendances de services

Définitions d'escalades de services

Définitions de dépendances d'hotes

Définitions d'escalades d'hôtes

Définitions d'informations étendues d'hôtes

Définitions d'informations étendues de services

Définition d'hôte

Description

Une définition d'hôte est utilisé pour définir un serveur physique, une station de travail, un composant, etc. qui est installé sur votre réseau.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define host{

 

host_name

host_name

alias

alias

display_name

display_name

address

address

parents

host_names

hostgroups

hostgroup_names

check_command

command_name

initial_state

[o,d,u]

max_check_attempts

#

check_interval

#

retry_interval

#

active_checks_enabled

[0/1]

passive_checks_enabled

[0/1]

check_period

timeperiod_name

obsess_over_host

[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]

flap_detection_options

[o,d,u]

process_perf_data

[0/1]

retain_status_information

[0/1]

retain_nonstatus_information

[0/1]

contacts

contacts

contact_groups

contact_groups

notification_interval

#

first_notification_delay

#

notification_period

timeperiod_name

notification_options

[d,u,r,f,s]

notifications_enabled

[0/1]

stalking_options

[o,d,u]

notes

note_string

notes_url

url

action_url

url

icon_image

image_file

icon_image_alt

alt_string

vrml_image

image_file

statusmap_image

image_file

2d_coords

x_coord,y_coord

3d_coords

x_coord,y_coord,z_coord

}

Exemple de définition

define host {
    host_name                      bogus-router
    alias                          Bogus Router #1
    address                        192.168.1.254
    parents                        server-backbone
    check_command                  check-host-alive
    check_interval                 5
    retry_interval                 1
    max_check_attempts             5
    check_period                   24x7
    process_perf_data              0
    retain_nonstatus_information   0
    contact_groups                 router-admins
    notification_interval          30
    notification_period            24x7
    notification_options           d,u,r
}
                    

Description des variables

host_name

Cette variable est utilisée pour définir le nom court identifiant l'hôte. Ce nom est utilisé dans les définitions de groupes d'hôtes et de services pour faire référence à cet hôte en particulier. Les hôtes peuvent avoir plusieurs services (qui sont supervisés) associés à eux. Bien utilisée, la macro $HOSTNAME$ contiendra ce nom court.

alias

Cette variable est utilisée pour définir un nom long ou une description identifiant l'hôte. Cela permet d'identifier plus facilement un hôte en particulier. Bien utilisée, la macro $HOSTALIAS$ contiendra cet alias/description.

address

Cette variable est utilisée pour définir l'adresse de l'hôte. Normalement, c'est une adresse IP, même si cela pourrait être ce que vous voulez (au moins tant que cela peut être utilisé pour contrôler l'état d'un hôte). Vous pouvez utiliser le FQDN pour identifier l'hôte plutôt que son adresse IP, mais avec des problèmes possibles si les services DNS ne sont pas disponibles. Bien utilisée, la macro $HOSTADDRESS$ contiendra cette adresse.

Le nom de l'hôte sera utilisé comme adresse si vous ne précisez pas de variable adresse dans la définition de l'hôte.

Une petite mise en garde néanmoins sur le fait de le faire - si le service DNS tombe, la plupart de vos contrôles de services seront en erreur parce que les plugins seront incapbles de résoudre le nom de l'hôte.

display_name

Cette variables est utilisée pour afficher un nom différent à l'affichage dans l'interface web pour cet hôte. Si non précisée, la valeur par défaut est prise depuis la variable host_name.

Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.

parents

Cette variable est utilisée pour définir une liste séparée par des virgules de noms courts représentant les hôtes parents de cet hôte en particulier. Les hôtes parents sont typiquement des routeurs, des pare-feux, etc… qui se trouvent sur la route entre le serveur de supervision et les hôtes à superviser. Un routeur, switch, etc… qui se trouve le plus près de l'hôte à superviser est considéré comme le parent de cet hôte. Lisez le document Déterminer l'état et l'accessibilité du réseau des hôtes situé ici pour plus d'informations. Si l'hôte appartient au même segment réseau que le serveur de supervision (sans routeur intermédiaire, etc.), alors l'hôte est considéré comme membre du réseau local et il n'aura pas d'hôte parent. Laissez cette valeur vide si l'hôte n'a pas d'hôte parent (par exemple si il est sur le même segment réseau que le serveur Nagios). L'ordre dans lequel vous précisez les hôtes parents n'a pas d'effet sur la façon dont sont supervisés les choses.

hostgroups

Cette variable est utilisée pour identifier le(s) nom(s) court(s) des groupes d'hôtes auxquels appartient cet hôte. Plusieurs noms de groupes doivent être séparés par des virgules. Cette variable peut être utilisée comme alternative (ou en complément) à la variable members des définitions de groupes d'hôtes .

check_command

Cette variable est utilisée pour identifier le nom court de la commande à utiliser pour contrôler si l'hôte répond ou non. Typiquement, cette commande essayera de pinguer l'hôte pour voir s'il est vivant. La commande doit retourner un état OK (0) ou Nagios pensera que l'hôte ne répond pas. Si vous laissez cette variable vide, cet hôte ne sera pas contrôlé activement. Du coup, Nagios partira certainement du principe que cet hôte répond (il peut être indiqué en état PENDING dans l'interface web). C'est utile si vous supervisez des imprimantes ou des équipements qui sont fréquemment éteints. Le temps maximal d'exécution de la commande peut être contrôlé par l'option host_check_timeout .

initial_state

Par défaut, Nagios part du prinicipe que tous les hôtes sont dans un état UP au démarrage. Vous pouvez préciser l'état intitial souhaité de l'hôte avec cette variable. Les options valables sont : o = UP, d = DOWN, et u = UNREACHABLE.

max_check_attempts

Cette variable peut être utilisée pour définir le nombre de fois que Nagios va tenter d'exécuter la commande de contrôle d'hôte si elle retourne un état différent de OK. Mettre cette valeur à 1 indique à Nagios de générer une alerte sans réessayer de contrôler l'hôte.

Si vous ne souhaitez pas contrôler l'état de l'hôte, vous devez quand même placer cette variable à une valeure minimale de 1. Pour court-circuiter le contrôle de l'hôte, laissez simplement vide l'option check_command.

check_interval

Cette variable est utilisée pour définir le nombre d'unités de temps entre les contrôles réguliers d'un hôte. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peut être trouvée dans la documentation sur l'ordonnancement des contrôles .

retry_interval

Ce paramètre est utilisé pour définir le nombre d'unités de temps à attendre avant d'ordonnancer un nouveau contrôle des hôtes. Les hôtes sont recontrôlés à l'intervalle de réessai quand ils sont passés dans un état non UP. Une fois que l'hôte à été recontrôlé le nombre de fois précisé dans max_check_attempts sans changement d'état, il sera contrôlé à nouveau sur une fréquence normale telle que définie dans la valeur check_interval. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peut être trouvée dans la documentation sur l'ordonnancement des contrôles .

active_checks_enabled*

Cette variable est utilisée pour définir si les contrôles actifs (soit réguliers soit à la demande) sont possibles pour cet hôte. Valeurs : 0 = contrôles d'hôte actif désactivés, 1 = contrôles d'hôte actif activés.

passive_checks_enabled *

Cette variable est utilisée pour définir si les contrôles passifs sont possibles pour cet hôte. Valeurs : 0 = contrôles d'hôte passif désactivés, 1 = contrôles d'hôte passif activés.

check_period

Cette variable est utilisée pour définir le nom court de la période de temps pendant laquelle peuvent se dérouler les contrôles actifs de cet hôte.

obsess_over_host *

Cette variable est utilisée pour définir si les contrôles pour cet hôte seront ou non obsessed en utilisant la commande ochp_command .

check_freshness *

Cette variable est utilisée pour définir si les contrôle de fraîcheur sont possibles pour cet hôte. Valeurs : 0 = contrôles de la fraîcheur désactivés, 1 = contrôles de la fraîcheur activés.

freshness_threshold

Cette variable est utilisée pour définir le seuil de fraîcheur (en secondes) de cet hôte. Si vous mettez cette valeur à 0, Nagios va automatiquement déterminer un seuil de fraîcheur à utiliser.

event_handler

Cette variable est utilisée pour préciser le nom court d'une commande à exécuter à chaque changement d'état de l'hôte (par exemple quand il n'est plus disponible ou qu'il redevient disponible). Lisez la documentation sur les gestionnaires d'événenements pour plus d'explications sur la façon d'écrire des scripts pour gérer les événements. Le temps maximal d'exécution d'une commande de gestion d'événements est contrôlé par l'option event_handler_timeout .

event_handler_enabled *

Cette variable est utilisée pour déterminer si le gestionnaire d'événements est activé ou non pour un hôte. Valeurs : 0 = gestionnaire d'événements d'hôte désactivé, 1 = gestionnaire d'événements d'hôte activé

low_flap_threshold

Cette variable est utilisée pour préciser le seuil bas de détection d'oscillation pour l'hôte. Plus d'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à 0, la valeur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

high_flap_threshold

Cette variable est utilisée pour préciser le seuil haut de détection d'oscillation pour l'hôte. Plus d'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à 0, la valeur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

flap_detection_enabled *

Cette variable est utilisée pour déterminer si la détection d'oscillation est activée ou non pour l'hôte. Plus d'informations sur la détection d'ocillations se trouvent ici. Valeurs : 0 = détection d'ocillation pour l'hôte désactivée, 1 = détection d'ocillation pour l'hôte activée.

flap_detection_options

Cette variable est utilisée pour déterminer quels états d'hôte seront utilisés pour la logique de détection d'oscillations .Les options valides sont une combinaison d'un ou plusieurs états parmi les suivants : o = états UP, d = états DOWN, u = états UNREACHABLE.

process_perf_data *

Cette variable est utlisée pour déterminer si le traitement des données de performance est activé ou non pour l'hôte. Valeurs : 0 = traitement des données de performance désactivé, 1 = traitement des données de performance activé.

retain_status_information

Cette variable est utlisée pour déterminer si les informations relatives aux états de l'hôte sont conservées ou non après redémarrage du programme. C'est seulement utile si vous avez activé la rétention d'états en utilisant la variable retain_state_information . Valeur : 0 = rétention des données d'états désactivée, 1 = rétention des données d'états activée.

retain_nonstatus_information

Cette variable est utlisée pour déterminer si les informations différentes des états de l'hôte sont conservées après redémarrage du programme. C'est seulement utile si vous avez activé la rétention d'états en utilisant la variable retain_state_information . Valeur : 0 = rétention des données différentes des états désactivée, 1 = rétention des données différentes des états activée.

contacts

C'est une liste des noms courts des contacts qui devraient être notifiés quand quand il y a des problèmes (ou retours à la normale) avec cet hôte. Plusieurs contacts peuvent être séparés par des virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes et que vous ne souhaitez pas configurer des groupes de contacts .Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition d'hôte.

contact_groups

C'est une liste des noms courts des groupes de contacts qui devraient être notifiés quand quand il y a des problèmes (ou retours à la normale) avec cet hôte. Plusieurs groupes de contacts peuvent être séparés par des virgules. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition d'hôte.

notification_interval

Cette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant de re-notifier un contact que ce service est toujours down ou innacessible. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes. Sivous mettez cette valeur à 0, Nagios ne re-notifiera pas les contacts des problèmes pour cet hôte - une seule notification de problème sera envoyée.

first_notification_delay

Cette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant d'envoyer la première notification quand un hôte passe dans un état non-UP. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes. Si vous mettez cette valeur à 0, Nagios commencera à envoyer des notifications immédiatement.

notification_period

Cette variable est utilisée pour préciser le nom court des périodes de temps pendant lesquelles les notifications d'événements sont envoyées aux contacts de cet hôte. Si cet hôte passe en état down, inaccessible ou qu'il revient à la normale hors d'une période de temps précisée, aucune notification ne sera envoyée.

notification_options

Cette variable est utilisée pour déterminer quand les notifications pour un hôte doivent être envoyées. Les options valides sont une combinaison d'un ou de plusieurs des états suivants : d = envois de notifications sur état DOWN, u = envois de notifications sur état UNREACHABLE, r = envois de notifications sur état OK, f = envois de notification quand un hôte commence ou arrête d'osciller, et s = envois de notifications quand une période de maintenance planifiée commence ou finit.

Si vous mettez d,r dans ce champ, les notifications seront seulement envoyées quand l'hôte passera en état DOWN et quand il sortira de cet état DOWN (retour à la normale).

notifications_enabled *

Cette variable est utlisée pour déterminer si les notifications pour cet hôte sont activées ou non. Valeurs : 0 = notifications pour l'hôte désactivées, 1 = notifications pour l'hôte activées.

talking_options

Cette variable est utilisée pour déterminer quelle mémorisation d'états est utilisée pour l'hôte. Les options valides sont une combinaison d'un ou ou de plusieurs des états suivants : o = mémorisation des états UP, d = mémorisation des états DOWN et u = mémorisation des états UNREACHABLE. Plus d'informations sur la mémorisation d'états peuvent être trouvées ici.

notes

Cette variable est utilisée pour préciser une note d'information à rattacher à l'hôte. Si vous avez précisée une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardez les informations d'un hôte spécifié).

notes_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des informations supplémentaires sur l'hôte. Si vous précisez une URL, vous verrez une icône de dossier rouge dans les CGIs (quand vous regardez les informations de l'hôte) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémentaires à appliquer à l'hôte. Si vous précisez une URL, vous verrez une icône splat rouge dans les CGIs (quand vous regardez les informations de l'hôte) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisé. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_image

Cette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer à l'hôte. Cette image sera affichée dans plusieurs endroits des CGIs. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_alt

Cette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'attribut ALT de l'image précisée par l'argument <icon_image>.

vrml_image

Cette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer à l'hôte. Cette image sera utilisée comme fond de carte pour l'hôte spécifié dans le CGI statuswrl. Au contraire de l'image utilisée dans la variable <icon_image>, celle-ci ne devrait pas avoir d'attribut de transparence. Si c'est le cas, le rendu de l'hôte sera un peu bizarre. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

statusmap_image

Cette variable est utlisée pour définir le nom d'une image à associer à l'hôte dans le CGI statusmap. Vous pouvez utiliser une image au format JPEG, PNG ou GIF si vous voulez, mais je vous recommande vivement d'utiliser le format d'image GD2 pour ne pas perdre de temps CPU en calcul (comme c'est le cas avec les autres formats) quand vous générez la carte d'états. Les images GD2 peuvent être créées à partir d'image PNG en utilisant l'utilitaire pngtogd2 fourni avec la librairie gd de Thomas Boutell. Les images au format GD2 doivent être créées dans un format non compressé toujours pour minimiser la charge CPU au moment de charger la carte réseau. Le rendu de l'image sera maximal si vous utilisez une taille de 40x40 pixels. Vous pouvez laisser cette option vide si vous n'utilisez pas le CGI de carte d'états. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

2d_coords

Cette variable est utilisée pour définir les coordonnées à utiliser pour l'hôte dans le CGI statusmap. Les coordonnées doivent être données en entier positif car correpsondant aux pixels dans l'image générée. Le départ de la carte (0,0) se trouve dans le coin supérieur gauche de l'image et s'étend en positif dans la direction x (à droite) à partir du haut de l'image et en positif dans la direction y (bas) à partir du bord gauche de l'image. Pour référence, la taille des icônes es thabituellement de 40x40 pixels (le texte prend un peu d'espace supplémentaire). Les coordonnées que vous précisez ici sont pour le coin supérieur gauche de l'icône de l'hôte à dessiner.

Ne vous inquiétez pas du nombre maximal de coordonnées que vous pouvez utliser ici. Le CGI va automatiquement calculer les dimensions maximales de l'image qu'il créée en se basant sur les plus grandes valeurs x et y que vous avez précisé.

3d_coords

Cette variable est utilisée pour définir les coordonnées de l'hôte à utiliser dans le CGI statuswrl. Les coordonnées peuvent être des nombres positifs ou négatifs. Le départ du dessin est (0.0,0.0,0.0). Pour référence, la taille des cubes pour les hôtes est de 0,5 unités de chaque côté (les textes rennent un plus d'espace). Les coordonnées que vous utilisez sont le centre du cube de l'hôte.

Définition de groupe d'hôtes

Description

Une définition de groupe d'hôtes est utilisée pour grouper un ou plusieurs hôtes ensemble de façon à simplifier la configuration avec les trucs et astuces sur les objets ou pour des besoins de visualisation dans les CGIs.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define hostgroup{

 

hostgroup_name

hostgroup_name

alias

alias

members

hosts

hostgroup_members

hostgroups

notes

note_string

notes_url

url

action_url

url

}

Exemple de définition

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

Description des variables

hostgroup_name

Cette variable est utilisée pour définir le nom court à utiliser pour identifier le groupe d'hôtes.

alias

Cette variable est utilisée pour définir un nom long ou une description à utiliser pour identifier le groupe d'hôtes. Ceci est fourni pour vous permettre d'identifier plus facilement un groupe d'hôtes en particulier.

members

C'est une liste de noms courts d' hôtes qui doivent faire partie de ce groupe. Plusieurs noms d'hôtes peuvent être séparés par des virgules. Cette variable peut être utilisée comme une alternative (ou en complément) à la variable hostgroups dans les définitions d'hôtes .

hostgroup_members

Cette variable optionnelle peut être utilisée pour inclure des hôtes depuis des sous-groupes dans ce groupe d'hôtes. Précisez une liste séparée par des virgules de noms courts d'autres groupes d'hôtes à inclure dans ce groupe.

notes

Cette variable est utilisée pour préciser une note d'information à rattacher à l'hôte. Si vous avez précisée une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardez les informations d'un hôte spécifié).

notes_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des informations supplémentaires sur le groupe d'hôtes. Si vous précisez une URL, vous verrez une icône de dossier rouge dans les CGIs (quand vous regardez les informations de groupe d'hôtes) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémentaires à appliquer aux groupes d'hôtes. Si vous précisez une URL, vous verrez une icône splat rouge dans les CGIs (quand vous regardez les informations du groupe d'hôtes) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

Définition de service

Description

Une définition de service est utilisée pour identifier un service qui fonctionne sur cet hôte. le terme service est utilisé de façon générale. Cela peut désigner un service qui fonctionne sur l'hôte (POP, SMTP, HTTP, etc.) ou tout autre type de métrique associé à l'hôte (réponse au ping, nombre d'utilisateurs connectés, espace disque dur libre, etc.). Les différents arguments d'une définition de service sont précisés ci-dessous.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define service{

 

host_name

host_name

hostgroup_name

hostgroup_name

service_description

service_description

display_name

display_name

servicegroups

servicegroup_names

is_volatile

[0/1]

check_command

command_name

initial_state

[o,w,u,c]

max_check_attempts

#

check_interval

#

retry_interval

#

active_checks_enabled

[0/1]

passive_checks_enabled

[0/1]

check_period

timeperiod_name

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]

flap_detection_options

[o,w,c,u]

process_perf_data

[0/1]

retain_status_information

[0/1]

retain_nonstatus_information

[0/1]

notification_interval

#

first_notification_delay

#

notification_period

timeperiod_name

notification_options

[w,u,c,r,f,s]

notifications_enabled

[0/1]

contacts

contacts

contact_groups

contact_groups

stalking_options

[o,w,u,c]

notes

note_string

notes_url

url

action_url

url

icon_image

image_file

icon_image_alt

alt_string

}

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
    check_interval         5
    retry_interval         3
    check_period           24x7
    notification_interval  30
    notification_period    24x7
    notification_options   w,c,r
    contact_groups         linux-admins
}
                

Description des variables :

host_name

Cette variable est utilisée pour préciser le nom court de(s) l'hôte(s) sur lequel le service tourne ou avec lequel il est associé. Plusieurs hôtes doivent être séparés par des virgules.

hostgroup_name

Cette variable est utilisée pour préciser le nom court de(s) groupe(s) d'hôtes sur lequel le service tourne ou avec lequel il est associé. Plusieurs groupes d'hôtes doivent être séparés par des virgules.

service_description

Cette variable est utilisée pour définir la description du service et peut contenir des espaces, des dashes et des colons (les semi-colons, apostrophes et guillements doivent être proscrits). Deux services associés à un même hôte ne peuvent pas avoir la même description. Les services sont uniquement identifiés par leurs variables host_name et service_description.

display_name

Cette variable est utilisée pour définir un nom différent à afficher dans l'interface web pour ce service. Si non précisé, la valeur par défaut est prise depuis la variable service_description.

Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.

servicegroups

Cette variable est utilisée pour identifier le(s) nom(s) court(s) des groupe(s) de services auxquels appartient ce service. Plusieurs groupes de services peuvent être séparés par des virgules. Cette variable peut être utilisée comme alternative à la variable members des définitions de groupes de services .

is_volatile

Cette variable est utilisée pour préciser si un service doit être considéré comme volatile. Les services ne sont normalement pas volatiles. Plus d'informations sur les services volatiles et en quoi ils différent des services normaux peuvent être trouvées ici. Valeur : 0 = service non volatile, 1 = service volatile.

check_command

Cette variable est utilisée pour préciser le nom court d'une commande à utiliser pour contrôler l'état du service. Le temps maximal d'exécution d'une commande de contrôle de service est contrôlé par l'option service_check_timeout .

initial_state

Par défaut, Nagios part du principe que tous les services sont en état OK au démarrage. Vous pouvez modifier l'état de départ d'un service en utilisant cette variable. Les options valides :

  • o = OK

  • w = WARNING

  • u = UNKNOWN

  • c = CRITICAL.

max_check_attempts

Cette variable est utilisée pour définir le nombre de fois que Nagios va réessayer la commande de contrôle de service dans le cas où celle-ci renvoie une état différent de OK. Mettre la valeur à 1 fera que Nagios générera une alerte sans recontrôler le service.

check_interval

Ce paramètre est utilisé pour définir le nombre d'unités de temps à attendre avant d'ordonnancer le contrôle régulier suivant du service. Les contrôles réguliers sont ceux qui sont exécutés quand un service est dans un état OK ou non-OK mais qu'il a déjà été recontrôlé le nombre de fois précisé dans la variable max_check_attempts. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peuvent être trouvées dans la documentation sur l'ordonnancement des contrôles .

retry_interval

Ce paramètre est utilisé pour définir le nombre d'unités de temps à attendre avant d'ordonnancer un nouveau contrôle du service. Les services sont recontrôlés à l'intervalle de réessai quand ils sont passés dans un état non UP. Une fois que le service à été réessayé le nombre de fois précisé dans la variable max_check_attempts sans changement d'état, il sera contrôlé à nouveau sur une fréquence normale telle que définie dans la valeur check_interval. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peuvent être trouvées dans la documentation sur l'ordonnancement des contrôles .

active_checks_enabled*

Cette variable est utilisée pour déterminer si les contrôles actifs sont activés ou non pour ce service. Valeurs :

  • 0= disable active service checks

  • 1= enable active service checks.

passive_checks_enabled *

Cette variable est utilisée pour déterminer si les contrôles passifs sont activés ou non pour ce service. Valeurs :

  • 0= disable passive service checks

  • 1= enable passive service checks.

check_period

Cette variable est utilisée pour préciser le nom court de la période de temps pendant laquelle les contrôles actifs sont possibles.

obsess_over_service *

Cette variable est utilisée pour déterminer si les contrôles de ce service seront ou non obsessed en utilisant la commande ocsp_command .

check_freshness *

Cette variable est utilisée pour déterminer si les contrôles de fraîcheur sont activés ou non pour ce service. Valeurs :

  • 0= disable freshness checks

  • 1= enable freshness checks

freshness_threshold

Cette variable est utilisée pour définir le seuil de fraîcheur (en secondes) de ce service. Si vous mettez cette valeur à 0, Nagios va automatiquement déterminer un seuil de fraîcheur à utiliser.

event_handler

Cette variable est utilisée pour préciser le nom court d'une commande à exécuter à chaque changement d'état du service (par exemple quand il n'est plus disponible ou qu'il redevient disponible). Lisez la documentation sur les gestionnaires d'événenements pour plus d'explications sur la façon d'écrire des scripts pour gérer les événements. Le temps maximal d'exécution d'une commande de gestion d'événements est contrôlé par l'option event_handler_timeout .

event_handler_enabled *

Cette variable est utilisée pour déterminer si le gestionnaire d'événements est activé ou non pour ce service. Valeurs :

  • 0= disable service event handler

  • 1= enable service event handler.

low_flap_threshold

Cette variable est utilisée pour préciser le seuil bas de détection d'oscillation pour ce service. Plus d'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à 0, la valeur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

high_flap_threshold

Cette variable est utilisée pour préciser le seuil haut de détection d'oscillation pour ce service. Plus d'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à 0, la valeur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

flap_detection_enabled *

Cette variable est utilisée pour déterminer si la détection d'oscillation est activée ou non pour ce service. Plus d'informations sur la détection d'ocillations se trouvent ici. Valeurs :

  • 0= disable service flap detection

  • 1= enable service flap detection.

flap_detection_options

Cette variable est utilisée pour déterminer quels états de service seront utilisés pour la logique de détection d'oscillations .Les options valides sont une combinaison d'un ou plusieurs états parmi les suivants :

  • o = états OK

  • w = états WARNING

  • c = états CRITICAL

  • u = états UNKNOWN.

process_perf_data *

Cette variable est utlisée pour déterminer si le traitement des données de performance est activé ou non pour ce service. Valeurs :

  • 0= traitement des données de performance désactivé

  • 1= traitement des données de performance activé

retain_status_information

Cette variable est utlisée pour déterminer si les informations relatives aux états de service sont conservées ou non après redémarrage du programme. C'est seulement utile si vous avez activé la rétention d'états en utilisant la variable retain_state_information . Valeur :

  • 0= rétention des données d'états désactivée

  • 1= rétention des données d'états activée

retain_nonstatus_information

Cette variable est utlisée pour déterminer si les informations différentes des états de service sont conservées après redémarrage du programme. C'est seulement utile si vous avez activé la rétention d'états en utilisant la variable retain_state_information . Valeur :

  • 0= rétention des données autres que celles d'états désactivée

  • 1= rétention des données autres que celles d'états activée

notification_interval

Cette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant de re-notifier un contact que ce service est tojours dans un état non-OK. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes. Si vous mettez cette valeur à 0, Nagios ne re-notifiera pas les contacts des problèmes pour cet hôte - une seule notification de problème sera envoyée.

first_notification_delay

Cette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant d'envoyer la première notification quand un service passe dans un état non-UP. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes. Si vous mettez cette valeur à 0, Nagios commencera à envoyer des notifications immédiatement.

notification_period

Cette variable est utilisée pour préciser le nom court des périodes de temps pendant lesquelles les notifications d'événements sont envoyées aux contacts de ce service. Aucune notification ne sera envoyée hors couverture d'une période de temps.

notification_options

Cette variable est utilisée pour déterminer quand les notifications pour ce service doivent être envoyées. Les options valides sont une combinaison de l'un ou plusieurs des états suivants :

  • w = envois de notifications sur état WARNING

  • u = envois de notifications sur état UNKNOWN

  • c = envois de notifications sur état CRITICAL

  • r = envois de notifications sur état OK

  • f = envois de notifications quand le service commence ou s'arrête d'osciller

  • s = envois de notifications quand une période de maintenance planifiée commence ou se termine

  • n (none) en option, aucune notification ne sera envoyée. Si vous ne précisez aucune option de notification, Nagios va partir du principe que les notifications doivent être envoyées pour tout changement d'état possible.

Si vous précisez w,r dans ce champ, les notifications seront envoyées uniquement quand le service passera en état WARNING ou qu'il sortira de cet état WARNING.

notifications_enabled *

Cette variable est utlisée pour déterminer si les notifications pour ce service sont activées ou non. Valeurs :

  • 0= notifications sur les services désactivées

  • 1= notifications sur les services activées

contacts

C'est une liste des noms courts des contacts qui devraient être notifiés quand il y a des problèmes (ou retours à la normale) avec ce service. Plusieurs contacts peuvent être séparés par des virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes et que vous ne souhaitez pas configurer des groupes de contacts. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition de service.

contact_groups

C'est une liste des noms courts des groupes de contacts qui devraient être notifiés quand il y a des problèmes (ou retours à la normale) avec ce service. Plusieurs groupes de contacts peuvent être séparés par des virgules. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition de service.

stalking_options

Cette variable est utilisée pour déterminer quelle mémorisation d'états est utilisée pour le service. Les options valides sont une combinaison d'un ou ou de plusieurs des états suivants :

  • o= mémorisation sur états OK

  • w= mémorisation sur états WARNING

  • u= mémorisation sur états UNKNOWN

  • c= mémorisation sur états CRITICAL

Plus d'informations sur la mémorisation d'états peuvent être trouvées ici.

notes

Cette variable est utilisée pour préciser une note d'information à rattacher au service. Si vous avez précisé une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardez les informations du service spécifié).

notes_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des informations supplémentaires sur le service. Si vous précisez une URL, vous verrez une icône de dossier rouge dans les CGIs (quand vous regardez les informations de l'hôte) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations détaillées d'un service, les moyens de contacts à utiliser en cas d'urgence, etc.

action_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémentaires à appliquer au service. Si vous précisez une URL, vous verrez une icône splat rouge dans les CGIs (quand vous regardez les informations du service) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_image

Cette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer au service. Cette image sera affichée dans les CGIs status et extended information. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des services sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_alt

Cette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'attribut ALT de l'image précisée par l'argument <icon_image>. L'attribut ALT peut être utilisé dans les CGIs status, extended information et statusmap.

Définition de groupe de services

Description

Une définition de groupe d'hôtes est utilisée pour grouper un ou plusieurs services ensemble de façon à simplifier la configuration avec les trucs et astuces sur les objets ou pour des besoins de visualisation dans les CGIs.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define servicegroup{

 

servicegroup_name

servicegroup_name

alias

alias

members

services

servicegroup_members

servicegroups

notes

note_string

notes_url

url

action_url

url

}

Exemple de définition

    
define servicegroup {
    servicegroup_name    dbservices
    alias                Database Services
    members              ms1,SQL Server,ms1,SQL Serverc Agent,ms1,SQL DTC
}
                

Description des variables :

servicegroup_name

Cette variable est utilisée pour définir un nom court pour identifier le groupe de services.

alias

Cette variable est utilisée pour définir un nom long ou une description identifiant le groupe de services. Cela permet d'identifier plus facilement un groupe de services en particulier.

members

C'est une liste de noms courts de service (et le nom des hôtes correspondants) qui doivent faire partie de ce groupe. Plusieurs noms d'hôtes et de services peuvent être séparés par des virgules. Cette variable peut être utilisée comme une alternative (ou en complément) à la variable servicegroups dans les définitions de service. Le format de la variable members est le suivant (notez que le nom de l'hôte doit précéder le nom/description du service) :

members=<host1>,<service1>,<host2>,<service2>,…,<hostn>,<servicen>
                                
servicegroup_members

Cette variable optionnelle peut être utilisée pour inclure des services depuis des sous-groupes dans ce groupe de services. Précisez une liste séparée par des virgules de noms courts d'autres groupes de services à inclure dans ce groupe.

notes

Cette variable est utilisée pour préciser une note d'information à rattacher au groupe de service. Si vous avez précisé une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardez les informations d'un groupe de services spécifié).

notes_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des informations supplémentaires sur le groupe de services. Si vous précisez une URL, vous verrez une icône de dossier rouge dans les CGIs (quand vous regardez les informations de groupe de services) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémentaires à appliquer au groupe de services. Si vous précisez une URL, vous verrez une icône splat rouge dans les CGIs (quand vous regardez les informations du groupe de services) qui renverra vers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

Définition de contact

Description

La définition de contact est utilisée pour identifer quelqu'un qui doit être contacté dans le cas de problèmes sur votre réseau. Les différents arguments d'une définition de contact sont décrits ci-dessous.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define contact{

 

contact_name

contact_name

alias

alias

contactgroups

contactgroup_names

host_notifications_enabled

[0/1]

service_notifications_enabled

[0/1]

host_notification_period

timeperiod_name

service_notification_period

timeperiod_name

host_notification_options

[d,u,r,f,s,n]

service_notification_options

[w,u,c,r,f,s,n]

host_notification_commands

command_name

service_notification_commands

command_name

email

email_address

pager

pager_number ou pager_email_gateway

addressx

additional_contact_address

can_submit_commands

[0/1]

retain_status_information

[0/1]

retain_nonstatus_information

[0/1]

}

Exemple de définition

define contact {
    contact_name                   jdoe
    alias                          John Doe
    host_notifications_enabled     1
    service_notifications_enabled  1
    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
    address1                      xxxxx.xyyy@icq.com
    address2                      555-555-5555
    can_submit_commands           1
}
                

Description des variables

contact_name

Cette variable est utilisée pour définir un nom court pour identifer le contact. Ceci est référencé dans les définitions de groupes de contacts .Dans les bonnes circonstances, la macro $CONTACTNAME$ contiendra cette valeur.

alias

Cette variable est utilisée pour définir un nom long ou une description identifiant le contact. Dans les bonnes circonstances, la macro $CONTACTNAME$ contiendra cette valeur. Si non précisée, la variable contact_name sera utilisée comme alias.

contactgroups

Cette variable est utilisée pour identifier le(s) nom(s) court(s) des groupes de contacts auxquels appartient ce contact. Plusieurs noms de groupes doivent être séparés par des virgules. Cette variable peut être utilisée comme alternative (ou en complément) à la variable members des définitions de groupes de contacts.

host_notifications_enabled

Cette variable est utilisée pour déterminer si un contact recevra ou non des notifications à propos des problèmes d'hôtes et des retours à la normale. Valeurs :

  • 0= Envois des notifications désactivés

  • 1= Envois des notifications activés

service_notifications_enabled

Cette variable est utilisée pour déterminer si un contact recevra ou non des notifications à propos des problèmes de services et des retours à la normale. Valeurs :

  • 0= Envois des notifications désactivés

  • 1= Envois des notifications activés

host_notification_period

Cette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle un contact peut être notifié des problèmes d'hôtes et des retours à la normale. Vous pouvez penser à ceci comme une heure d'appel du contact pour les notifications d'hôtes. Lisez la documentation sur les périodes de temps pour plus d'informations sur le fonctionnement de celles-ci et sur les problèmes pouvant survenir en cas d'utilisation incorrecte de celles-ci.

service_notification_period

Cette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle un contact peut être notifié des problèmes de services et des retours à la normale. Vous pouvez penser à ceci comme une heure d'appel du contact pour les notifications de services. Lisez la documentation sur les périodes de temps pour plus d'informations sur le fonctionnement de celles-ci et sur les problèmes pouvant survenir en cas d'utilisation incorrecte de celles-ci.

host_notification_commands

Cette variable est utilisée pour préciser les noms courts de commandes à utiliser pour notifier le contact des problèmes d'hôtes et des retours à la normale. Plusieurs notifications peuvent être séparés par des virgules. Toutes les commandes de notification sont exécutées quand les contacts ont besoin d'être notifiés. Le durée maximale d'exécution de la commande est contrôlée par l'option notification_timeout .

host_notification_options

Cette variable est utilisée pour définir les états d'hôtes pour lesquels des notifications peuvent être envoyées à ce contact. Les options valides sont une combinaison d'un ou de plusieurs des états suivants :

  • d= notification sur les hôtes en états DOWN

  • u= notification sur les hôtes en états UNREACHABLE

  • r= notification quand un hôte retourne à la normale (états UP)

  • f= notification quand un hôte commence ou s'arrête d'osciller,

  • s= envoi de notifications quand un hôte ou service entre ou sort de période de maintenance planifiée.

    Si vous précisez n (null) comme option, le contact ne recevra aucun type de notifications d'hôtes.

service_notification_options

Cette variable est utilisée pour définir les états de services pour lesquels des notifications peuvent être envoyées à ce contact. Les options valides sont une combinaison d'un ou de plusieurs des états suivants :

  • w= notification sur états WARNING de service

  • u= notification sur états UNKNOWN de service

  • c= notification sur états CRITICAL de service

  • r= notification sur états OK

  • f= notification quand le service commence et s'arrête d'osciller.

  • n= (none) : Le contact ne recevra aucun type de notifications de services

service_notification_commands

Cette variable est utilisée pour préciser les noms courts de commandes à utiliser pour notifier le contact des problèmes de services et des retours à la normale. Plusieurs commandes de notifications peuvent être séparées par des virgules. Toutes les commandes de notification sont exécutées quand les contacts ont besoin d'être notifiés. Le durée maximale d'exécution de la commande est contrôlée par l'option notification_timeout .

email

Cette variable est utilisée pour définir une adresse email pour le contact. En fonction de la façon dont vous avez configuré les commandes de notifications, cela peut être utilisé pour envoyer une alerte par email au contact. Dans les bonnes circonstances, la macro $CONTACTEMAIL$ contiendra cette valeur.

pager

Cette variable est utilisée pour définir une adresse de pager pour le contact. Cela peut également être une adresse email de passerelle mail/pager (par exemple pagejoe@pagenet.com). En fonction de la façon dont vous avez configuré les commandes de notifications, cela peut être utilisé pour envoyer une alerte par pager au contact. Dans les bonnes circonstances, la macro $CONTACTPAGER$ contiendra cette valeur.

addressx

Les variables address sont utilisées pour définir des adresses supplémentaires pour le contact. Ces adresses peuvent être n'importe quoi - numéro de téléphone mobile, adresse de messagerie instantanée, etc. En fonction de la façon dont vous avez configuré les commandes de notifications, cela peut être utilisé pour envoyer une alerte au contact. Il est possible de définir jusqu'à six adresses en utilisant ces variables (address1 jusqu'à address6). La macro $CONTACTADDRESSx$ contiendra cette valeur.

can_submit_commands

Cette variable est utilisée pour déterminer si le contact peut ou non exécuter des commandes externes à Nagios depuis les CGIs. Valeurs :

  • 0= ne pas autoriser le contact à soumettre des commandes

  • 1= autoriser le contact à soumettre des commandes.

retain_status_information

Cette variable est utlisée pour déterminer si les informations relatives aux états du contact sont conservées ou non après redémarrage du programme. C'est seulement utile si vous avez activé la rétention d'états en utilisant la variable retain_state_information . Valeur :

  • 0= rétention des données d'états désactivée

  • 1= rétention des données d'états activée

retain_nonstatus_information

Cette variable est utlisée pour déterminer si les informations différentes des états du contact sont conservées après redémarrage du programme. C'est seulement utile si vous avez activé la rétention d'états en utilisant la variable retain_state_information . Valeur :

  • 0= rétention des données autres que celles d'états désactivée

  • 1= rétention des données autres que celles d'états activée

Définition de groupe de contacts

Description

Une définition de groupe de contacts est utilisée pour grouper un ou plusieurs contacts ensemble de façon à envoyer les notifications pour des problèmes et des retours à la normale.

Format de définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define contactgroup{

 

contactgroup_name

contactgroup_name

alias

alias

members

contacts

contactgroup_members

contactgroups

}

Exemple de définition :

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

Description des variables :

contactgroup_name

Cette variable est un nom court utilisé pour identifier le groupe de contacts.

alias

Cette variable est utilisée pour définir un nom long ou une description identifiant le groupe de contacts.

members

C'est une liste de noms courts de contact qui doivent faire partie de ce groupe. Plusieurs noms de contacts peuvent être séparés par des virgules. Cette variable peut être utilisée comme une alternative (ou en complément) à la variable contactgroups dans les définitions de contact .

contactgroup_members

Cette variable optionnelle peut être utilisée pour inclure des contacts depuis des sous-groupes dans ce groupe de contacts. Précisez une liste séparée par des virgules de noms courts d'autres groupes de contacts à inclure dans ce groupe.

Définition de période de temps

Description

Une période de temps est une liste de plages horaires comprises sur plusieurs jours qui sont considérées comme valides pour les notifications et les contrôles de services. Cela consiste en plages horaires définies pour chaque jour de la semaine qui tournent une fois la semaine finie. Différents types d'exceptions aux heurs normales de la semaine sont supportées : jours de la semaine en particulier, jours de mois généraux à tous les mois, jours de certains mois et dates de calendrier.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define timeperiod{

 

timeperiod_name

timeperiod_name

alias

alias

[weekday]

timeranges

[exception]

timeranges

exclusion

[timeperiod1,timeperiod2,…,timeperiodn]

}

Exemples de définitions

define timeperiod {
    timeperiod_name   nonworkhours
    alias             Non-Work Hours
    sunday            00:00-24:00       ; Every Sunday of every week
    monday            00:00-09:00,17:00-24:00 ; Every Monday of every week
    tuesday           00:00-09:00,17:00-24:00 ; Every Tuesday of every week
    wednesday         00:00-09:00,17:00-24:00 ; Every Wednesday of every week
    thursday          00:00-09:00,17:00-24:00 ; Every Thursday of every week
    friday            00:00-09:00,17:00-24:00 ; Every Friday of every week
    saturday          00:00-24:00       ; Every Saturday of every week
}
                    
define timeperiod {
    timeperiod_name   misc-single-days
    alias             Misc Single Days
    1999-01-28        00:00-24:00       ; January 28th, 1999
    monday 3          00:00-24:00       ; 3rd Monday of every month
    day 2             00:00-24:00       ; 2nd day of every month
    february 10       00:00-24:00       ; February 10th of every year
    february -1       00:00-24:00       ; Last day in February of every year
    friday -2         00:00-24:00       ; 2nd to last Friday of every month
    thursday          -1 november  00:00-24:00 ; Last Thursday in November of every year
}
                    
define timeperiod {
    timeperiod_name         misc-date-ranges
    alias                   Misc Date Ranges
    2007-01-01 - 2008-02-01    00:00-24:00   ; January 1st, 2007 to February 1st, 2008
    monday 3 - thursday 4      00:00-24:00   ; 3rd Monday to 4th Thursday of every month
    day 1 - 15                 00:00-24:00   ; 1st to 15th day of every month
    day 20 - -1                00:00-24:00   ; 20th to the last day of every month
    july 10 - 15               00:00-24:00   ; July 10th to July 15th of every year
    april 10 - may 15          00:00-24:00   ; April 10th to May 15th of every year
    tuesday 1 april - friday 2 may 00:00-24:00   ; 1st Tuesday in April to 2nd Friday in May of every year
}
                    
define timeperiod {
    timeperiod_name           misc-skip-ranges
    alias                     Misc Skip Ranges
    2007-01-01 - 2008-02-01 / 3   00:00-24:00  ; Every 3 days from January 1st, 2007 to February 1st, 2008
    2008-04-01 / 7                00:00-24:00  ; Every 7 days from April 1st, 2008 (continuing forever)
    monday 3 - thursday 4 / 2     00:00-24:00  ; Every other day from 3rd Monday to 4th Thursday of every month
    day 1 - 15 / 5                00:00-24:00  ; Every 5 days from the 1st to the 15th day of every month
    july 10 - 15 / 2              00:00-24:00  ; Every other day from July 10th to July 15th of every year
    tuesday 1 april - friday 2 may / 6  00:00-24:00  ; Every 6 days from the 1st Tuesday in April to the 2nd Friday in May of every year
}
                

Description des variables

timeperiod_name

Cette variable est un nom court utilisé pour identifer la période de temps.

alias

Cette variable est utilisée pour définir un nom long ou une description identifiant la période de temps.

[weekday]

Les variables de jours de la semaine ( sunday à saturday )sont des listes séparées par des virgules de périodes de temps valides pour un jour particulier de la semaine. Notez qu'il y a sept jours différents pour lesquels vous pouvez définir des périodes de temps (dimanche à lundi). Chaque période de temps est sous la forme HH:MM-HH:MM, où les heures sont indiquées sur 24 heures. Par exemple, 00:15-24:00 indique 12:15am le matin pour ce jour jusqu'à 12:00am minuit (une période de temps total de 23 heures 45 minutes). Si vous souhaitez exclure un jour entier de la période de temps, il suffit simplement de ne pas l'inclure dans la définition de la période de temps.

[exception]

Vous pouvez préciser plusieurs types différents d'exceptions au planning habituel de rotation des semaines. Les exceptions peuvent prendre différentes formes comme un seul jour d'un mois particulier ou de tous les mois, une seule semaine d'un mois ou des dates de calendrier. Vous pouvez aussi préciser une plage de jours/dates et même préciser de sauter des intervalles pour obtenir un fonctionnement du type tous les trois jours entre ces dates .Plutôt que de lister tous les formats possibles pour les exceptions, je vais vous laisser regarder les quelques exemples de définitions de périodes de temps ci-dessus pour voir ce qui est possible. ;-) Les jours de la semaine et d'autres types d'exceptions ont tous des niveaux différents de précédence, aussi est-il important de comprendre comment ils interagissent les uns les autres. Plus d'informations sur ceci peuvent être trouvées dans la documentation sur les périodes de temps.

exclusion

Cette variable est utilisée pour préciser les noms courts de d'autres périodes de temps dont les plages horaires doivent être exclues de cette période de temps. Plusieurs périodes de temps peuvent être précisées en les séparant par des virgules.

Définition de commande

Description

Une définition de commande n'est rien d'autre que ça. Elle définit une commande. les commandes qui peuvent être définies sont les contrôles de services, les notifications de services, les gestionnaires d'événements de services, les contrôles d'hôtes, les notifications d'hôtes et les gestionnaires d'événements d'hôtes. Les définitions de commandes peuvent contenir des timeperiods mais vous devez vous assurez de n'utiliser que les macros valides dans le contexte où sera utilisée la commande. Plus d'informations sur les macros disponibles et quand elles sont valides peuvent être trouvées ici. Les différents arguments d'une définition de commande sont indiqués ci-dessous.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define command{

 

command_name

command_name

command_line

command_line

}

Exemple de définition

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

Description des variables

command_name

Cette variable est un nom court utilisé pour identifier la commande. Ceci est référencé dans les définitions de contact, d'hôte et de service (dans les variables notification, check et event handler) entre autres .

command_line

Cette variable est utilisée pour définir ce qui est réellement exécuté par Nagios quand la commande est utilisée pour les contrôles d'hôtes et de services, les notifications ou les gestionnaires d'événements .Avant que la commande ne soit exécutée, toutes les macros valides sont remplacées par leurs valeurs respectives. Regardez la documentation des macros pour déterminer quand vous pouvez utiliser différentes macros. Notez que la ligne de commande n'est pas entourée par des guillemets. Également à noter que si vous souhaitez passer le signe ($) sur la ligne de commande, vous devez le protéger avec un autre signe dollar.

Vous devriez ne pas inclure de point virgule (;) dans la variable command_line parce que tout ce qui se trouvera après sera considéré comme commentaire de fichier de configuration. Vous pouvez contourner cette limitation en initialisant une macro utilisateur $USERn$ dans votre fichier de ressource avec un point virgule et en référençant ensuite cette macro $USERn$ dans la variable command_line à la place du point virgule.

Si vous souhaitez passer des arguments aux commandes pendant l'exécution, vous pouvez utiliser les macros $ARGn$ dans la variable command_line de la définition de commande et ensuite séparer chaque argument du nom de la commande (et pour séparer chaque argument) avec le symbole du point d'exclamation (!) dans les variables de définitions (commande de contrôle d'hôte, commande de gestionnaire d'événements, etc.) qui référencent cette commande. Plus d'informations sur la façon dont sont traités les arguments de commande au moment de leur exécution peuvent être trouvées dans la documentation sur les macros.

Définition de dépendance de service

Description

Les dépendances de services sont une fonctionnalité avancée de Nagios qui permet de supprimer des notifications et des contrôles actifs de services en se basant sur l'état d'un ou de plusieurs autres services. Les dépendances de services sont optionnelles et sont principalement destinées aux utilisateurs avancés qui ont des installations de supervision complexes. Plus d'informations sur le focntionnement des dépendances de services (à lire absolument!) peuvent être trouvées ici.

Format de la définition

Les variables indiquées en rouge sont obligatoires alors que celles en noires sont optionnelles. De toute façon, vous devez préciser au moins un type de critère pour que la définition soit d'une quelconque utilité.

define servicedependency{

 

dependent_host_name

host_name

dependent_hostgroup_name

hostgroup_name

dependent_service_description

service_description

host_name

host_name

hostgroup_name

hostgroup_name

service_description

service_description

inherits_parent

[0/1]

execution_failure_criteria

[o,w,u,c,p,n]

notification_failure_criteria

[o,w,u,c,p,n]

dependency_period

timeperiod_name

}

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
}
                

Description des variables

dependent_host

Cette variable est utilisée pour identifier le(s) nom(s) court(s) d'hôte(s) sur lequel tourne le service dépendant où avec lequel il est associé. Plusieurs hôtes peuvent être séparés par des virgules. Laissez cette variable vide peut être utilisé pour créer des dépendances sur le même hôte.

dependent_hostgroup

Cette variable est utilisée pour identifier le(s) nom(s) court(s) de groupe(s) d'hôtes sur lesquels tourne le service dépendant où avec lesquels il est associé. Plusieurs groupes d'hôtes peuvent être séparés par des virgules. La variable dependent_hostgroup peut être utilisée à la place ou en conjonction avec la variable dependent_host.

dependent_service_description

Cette variable est utilisée pour identifier la description d'un service dépendant.

host_name

Cette variable est utilisée pour identifier le(s) nom(s) court(s) d'hôte(s) sur lequel tourne le service dont on dépend (aussi appelé service maître) où avec lequel il est associé. Plusieurs hôtes peuvent être séparés par des virgules.

hostgroup_name

Cette variable est utilisée pour identifier le(s) nom(s) court(s) de groupe(s) d'hôtes sur lequel tourne le service dont on dépend (aussi appelé service maître) où avec lequel il est associé. Plusieurs groupes hôtes peuvent être séparés par des virgules. La variable hostgroup_name peut être utilisé à la place ou en conjonction avec la variable host_name.

service_description

Cette variable est utilisée pour identifier la description du service dont on dépend (aussi appelé service maître).

inherits_parent

Cette variable indique si la dépendance hérite des dépendances du service dont on dépend (aussi appelé service maître). En d'autres termes, si le service maître est dépendant de plusieurs autres services et qu'une des ces dépendances échoue, alors cette dépendance échouera également.

execution_failure_criteria

Cette variable est utilisée pour péciser les critères qui déterminent quand le service dépendant ne doit pas être contrôlé activement. Si le service maître est dans un état d'erreur que nous précisons, le service dépendant ne sera pas contrôlé activement. Les options valides sont une combinaison d'un ou de plusieurs des état suivants (les options multiples sont séparées par des virgules).

  • o = erreur sur état OK

  • w = erreur sur état WARNING

  • u = erreur sur état UNKNOWN

  • c = erreur sur état CRITICAL

  • p = erreur sur état d'attente (par exemple le service n'a pas encore été vérifié).

  • n (none) : la dépendance d'exécution n'échouera jamais et les contrôles du service dépendant seront toujours faits activement (si d'autres conditions permettent de le faire).

Si vous précisez o,c,u dans ce champ, le service dépendant ne sera pas contrôlé activement si le service maître est dans un des états OK, CRITICAL ou UNKNOWN.

notification_failure_criteria

Cette variable est utilisée pour définir les critères qui déterminent quand les notifications pour le service dépendant ne doivent pas être envoyées. Si le service maître est dans un des états d'erreur que nous précisons, les notifications pour le service dépendants ne seront pas envoyées aux contacts. Les options valides sont une combinaison d'un ou de plusieurs des état suivants :

  • o = erreur sur état OK

  • w = erreur sur état WARNING

  • u = erreur sur état UNKNOWN

  • c = erreur sur état CRITICAL

  • p = erreur sur état d'attente (par exemple le service n'a pas encore été vérifié).

  • n (none) : la dépendance de notification n'échouera jamais et les notifications du service dépendant seront toujours envoyées.

Si vous précisez w dans ce champ, les notifications pour le service dépendant ne seront pas envoyées si le service maître est dans un état WARNING.

dependency_period

Cette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle les dépendances sont valides. Si cette variable est vide, les dépendances seront considérées comme valides tout le temps.

Définition d'escalade de service

Description

Les escalades de services sont complètement optionnelles et sont utilisées pour escalader les notifications d'un service particulier. Plus d'informations sur le fonctionnement des escalades peuvent être trouvées ici.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define serviceescalation{

 

host_name

host_name

hostgroup_name

hostgroup_name

service_description

service_description

contacts

contacts

contact_groups

contactgroup_name

first_notification

#

last_notification

#

notification_interval

#

escalation_period

timeperiod_name

escalation_options

[w,u,c,r]

}

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
}
                

Description des variables

host_name

La variable est utilisée pour identifer le(s) nom(s) court(s) de(s) hôte(s) pour lesquel(s) l'escalade de service doit s'appliquer ou auquel(s) il est associé.

hostgroup_name

La variable est utilisée pour identifer le(s) nom(s) court(s) des groupe(s) d'hôtes pour lesquel(s) l'escalade de service doit s'appliquer ou auquel(s) il est associé. Plusieurs groupes d'hôtes peuvent être séparés par des virgules. La variable hostgroup_name peut être utilisée à la place ou en conjonction avec la variable host_name.

service_description

Cette variable est utilisée pour identifier la description du service pour lequel s'applique l'escalade.

first_notification

Cette variable est un nombre identifiant la première notification pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur à 3, cette escalade sera seulement utilisée si le service est dans un état non-OK depuis suffisamment longtemps pour qu'une troisième notification soit envoyée.

last_notification

Cette variable est un nombre identifiant la dernière notification pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur à 5, cette escalade ne sera pas utilisée si plus de cinq notifications ont été envoyées pour le service. Mettre cette valeur à 0 précise de continuer à utiliser cette escalade sans fin (peu importe le nombre de notifications envoyées).

contacts

C'est une liste de noms courts de contacts à notifier à chaque fois qu'il y a des problèmes (ou des retours à la normale) avec ce service. Plusieurs contacts peuvent être précisés en les séparant par des virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes et que vous ne souhaitez pas configurer des groupes de contacts. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition d'escalade de service.

contact_groups

C'est une liste de noms courts de groupes de contacts à notifier à chaque fois que ce service est escaladé. Plusieurs groupes de contacts peuvent être précisés en les séparant par des virgules. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition d'escalade de service.

notification_interval

Cette variable est utilisée pour déterminer l'intervalle auquel envoyer les notifications pendant que l'escalade est valide. Si vous précisez une valeur de 0 pour cet intervalle, Nagios va envoyer la première notification quand la définition d'escalade est valide mais prendra soin de ne plus envoyer aucune notification de problème pour l'hôte. Les notifications sont renvoyées quand l'hôte revient à la normale. Utile si vous souhaitez arrêter l'envoi des notifications après un certain temps.

Si de multiples entrées d'escalade pour un hôte se chevauchent sur une ou plusieurs plages de notifications, le plus petit des intervalles de notification pour toutes les escalades sera utilisé.

escalation_period

Cette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle les escalades sont valides. Si cette variable est vide, les escalades seront considérées comme valides tout le temps.

escalation_options

Cette variable est utilisée pour définir les critères qui déterminent si une escalade de service doit être utilisé. L'escalade est seulement utilisée si le service est dans un des états précisés dans cette variable. Si cette variable n'est pas précisée dans la définition d'escalade de service, l'escalade est considérée comme valide pendant l'ensemble des états du service. Les options valides sont une combinaison de l'un ou de plusieurs de ces états :

  • r = escalade sur un état OK (retour à la normale)

  • w = escalade sur un état WARNING

  • u = escalade sur un état UNKNOWN

  • c = escalade sur un état CRITICAL

Si vous précisez w dans ce champ, l'escalade sera seulement utilisée quand le service est en état WARNING.

Définitions de dépendance d'hôte

Description

Les dépendances de services sont une fonctionnalité avancée de Nagios qui permet de supprimer des notifications et des contrôles actifs d'hôtes en se basant sur l'état d'un ou de plusieurs autres hôtes. Les dépendances d'hôtes sont optionnelles et sont principalement destinées aux utilisateurs avancés qui ont des installations de supervision complexes. Plus d'informations sur le focntionnement des dépendances de services (à lire absolument!) peuvent être trouvées ici.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define hostdependency{

 

dependent_host_name

host_name

dependent_hostgroup_name

hostgroup_name

host_name

host_name

hostgroup_name

hostgroup_name

inherits_parent

[0/1]

execution_failure_criteria

[o,d,u,p,n]

notification_failure_criteria

[o,d,u,p,n]

dependency_period

timeperiod_name

}

Exemple de définition

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

Description des variables

dependent_host_name

Cette variable est utilisée pour identifier la description d'un hôte dépendant. Plusieurs hôtes peuvent être séparés par des virgules.

dependent_hostgroup_name

Cette variable est utilisée pour identifier le(s) nom(s) court(s) de groupes d'hôtes dépendants. Plusieurs groupes d'hôtes peuvent être séparés par des virgules. La variable dependent_hostgroup_name peut être utilisée à la place ou en conjonction avec la variable dependent_host_name.

host_name

Cette variable est utilisée pour identifier la description d'un hôte dont on dépend (aussi appelé hôte maître). Plusieurs hôtes peuvent être séparés par des virgules.

hostgroup_name

Cette variable est utilisée pour identifier le(s) nom(s) court(s) de groupes d'hôtes dont on dépend (aussi appelé hôte maître). Plusieurs groupes d'hôtes peuvent être séparés par des virgules. La variable hostgroup_name peut être utilisée à la place ou en conjonction avec la variable host_name.

inherits_parent

Cette variable indique si la dépendance hérite des dépendances de l'hôte dont on dépend (aussi appelé hôte maître). En d'autres termes, si l'hôte maître est dépendant de plusieurs autres hôtes et qu'une des ces dépendances échoue, alors cette dépendance échouera également.

execution_failure_criteria

Cette variable est utilisée pour préciser les critères qui déterminent quand l'hôte dépendant ne doit pas être contrôlé activement. Si l'hôte maître est dans un état d'erreur que nous précisons, l'hôte dépendant ne sera pas contrôlé activement. Les options valides sont une combinaison d'un ou de plusieurs des état suivants (les options multiples sont séparées par des virgules).

  • o = erreur sur un état UP

  • d = erreur sur un état DOWN

  • u = erreur sur un état UNREACHABLE

  • p = erreur sur un état d'attente (par exemple l'hôte n'a pas encore été contrôlé)

  • n (none) : la dépendance d'exécution n'échouera jamais et les contrôles de l'hôte dépendant seront toujours faits activement (si d'autres conditions permettent de le faire).

Si vous précisez u,d dans ce champ, l'hôte dépendant ne sera pas contrôlé activement si l'hôte maître est dans un des états UNREACHABLE ou DOWN.

notification_failure_criteria

Cette variable est utilisée pour définir les critères qui déterminent quand les notifications pour l'hôte dépendant ne doivent pas être envoyées. Si l'hôte maître est dans un des états d'erreur que nous précisons, les notifications pour l'hôte dépendant ne seront pas envoyées aux contacts. Les options valides sont une combinaison d'un ou de plusieurs des état suivants :

  • o = erreur sur un état UP

  • d = erreur sur un état DOWN

  • u = erreur sur un état UNREACHABLE

  • p = erreur sur un état d'attente (par exemple l'hôte n'a pas encore été contrôlé)

  • n (none) : la dépendance de notification n'échouera jamais et les notifications de l'hôte dépendant seront toujours envoyées.

Si vous précisez d dans ce champ, les notifications pour l'hôte dépendant ne seront pas envoyées quand l'hôte maître est dans un état DOWN.

notification_failure_criteria

Cette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle les dépendances sont valides. Si cette variable est vide, les dépendances seront considérées comme valides tout le temps.

Définition d'escalade d'hôte

Description

Les escalades d'hôtes sont complètement optionnelles et sont utilisées pour escalader les notifications d'un hôte particulier. Plus d'informations sur le fonctionnement des escalades peuvent être trouvées ici.

Format de la définition

Les variables en rouge sont requises alors que celles en noir sont optionnelles.

define hostescalation{

 

host_name

host_name

hostgroup_name

hostgroup_name

contacts

contacts

contact_groups

contactgroup_name

first_notification

#

last_notification

#

notification_interval

#

escalation_period

timeperiod_name

escalation_options

[d,u,r]

}

Exemple de définition

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

Description des variables

host_name

La variable est utilisée pour identifer le nom court de hôte pour lesquel l'escalade doit s'appliquer.

hostgroup_name

Cette variable est utilisée pour identifier le(s) nom(s) court(s) des groupe(s) d'hôtes auxquels doit s'appliquer cette escalade. Plusieurs groupes d'hôtes peuvent être séparés par des virgules. Si utilisée, l'escalade s'appliquera à tous les hôtes membres des groupes d'hôtes spécifiés.

first_notification

Cette variable est un nombre identifiant la première notification pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur à 3, cette escalade sera seulement utilisée si l'hôte est dans un état non-OK depuis suffisamment longtemps pour qu'une troisième notification soit envoyée.

last_notification

Cette variable est un nombre identifiant la dernière notification pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur à 5, cette escalade ne sera pas utilisée si plus de cinq notifications ont été envoyées pour l'hôte. Mettre cette valeur à 0 précise de continuer à utiliser cette escalade sans fin (peu importe le nombre de notifications envoyées).

contacts

C'est une liste de noms courts de contacts à notifier à chaque fois qu'il y a des problèmes (ou des retours à la normale) avec cet hôte. Plusieurs contacts peuvent être précisés en les séparant par des virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes et que vous ne souhaitez pas configurer des groupes de contacts .Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition d'escalade d'hôte.

contact_groups

C'est une liste de noms courts de groupes de contacts à notifier à chaque escalade de l'hôte. Plusieurs groupes de contacts peuvent être précisés en les séparant par des virgules. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définition d'escalade d'hôte.

notification_interval

Cette variable est utilisée pour déterminer l'intervalle auquel envoyer les notifications pendant que l'escalade est valide. Si vous précisez une valeur de 0 pour cet intervalle, Nagios va envoyer la première notification quand la définition d'escalade est valide mais prendra soin de ne plus envoyer aucune notification de problème pour l'hôte. Les notifications sont renvoyées quand l'hôte revient à la normale. Utile si vous souhaitez arrêter l'envoi des notifications après un certain temps.

Si de multiples entrées d'escalade pour un hôte se chevauchent sur une ou plusieurs plages de notifications, le plus petit des intervalles de notification pour toutes les escalades sera utilisé.

escalation_period

Cette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle les escalades sont valides. Si cette variable est vide, les escalades seront considérées comme valides tout le temps.

escalation_options

Cette variable est utilisée pour définir les critères qui déterminent si une escalade d'hôte doit être utilisée. L'escalade est seulement utilisée si l'hôte est dans un des états précisés dans cette variable. Si cette variable n'est pas précisée dans la définition d'escalade d'un hôte, l'escalade est considérée comme valide pendant l'ensemble des états du service. Les options valides sont une combinaison de l'un ou de plusieurs de ces états :

  • r = escalade sur un état UP (retour à la normale)

  • d = escalade sur un état DOWN

  • u = escalade sur un état UNREACHABLE

Si vous précisez d dans ce champ, l'escalade sera seulement utilisée quand l'hôte est dans un état DOWN.

Définition des informations étendues d'hôtes

Description

Les entrées d'informations étendues d'hôtes sont utilisées à la base pour améliorer les vues des CGIs status, statusmap, statuswrl et extinfo. Elles n'ont aucun effet sur la supervision et sont complètement optionnelles.

Depuis Nagios 3.x, toutes les variables contenues dans les définitions d'informations étendues d'hôte sont aussi disponibles dans les définitions d'hôtes .Vous pouvez choisir de définir ces variables sous vos définitions d'hôtes si cela rend votre configuration plus simple. Des définitions d'informations étendues d'hôte séparées continueront à être supportées pour conserver la compatibilité avec les anciennes versions.

Format de la définition

Les variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant, vous devez au moins préciser une variable optionnelle dans chaque définition pour que ce soit d'une quelconque utilité.

define hostextinfo{

 

host_name

host_name

notes

note_string

notes_url

url

action_url

url

icon_image

image_file

icon_image_alt

alt_string

vrml_image

image_file

statusmap_image

image_file

2d_coords

x_coord,y_coord

3d_coords

x_coord,y_coord,z_coord

}

Exemple de définition :

define hostextinfo {
    host_name       netware1
    notes           This is the primary Netware file server
    notes_url       http://webserver.localhost.localdomain/hostinfo.pl?host=netware1
    icon_image      novell40.png
    icon_image_alt  IntranetWare 4.11
    vrml_image      novell40.png
    statusmap_image novell40.gd2
    2d_coords       100,250
    3d_coords       100.0,50.0,75.0
}
                

Descriptions de variable

host_name

Cette variable est utilisée pour identifier le nom court de l'hôte auquel associées les données.

notes

Cette variable est utilisée pour préciser une note d'information à rattacher à l'hôte. Si vous avez précisé une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardez les informations d'un hôte spécifié).

notes_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des informations supplémentaires sur l'hôte. Si vous précisez une URL, vous verrez un lien indiquant Extra Host Notes dans le CGI extended information (quand vous regardez les informations de l'hôte). N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémentaires sur l'hôte. Si vous précisez une URL, vous verrez un lien indiquant Extra Host Actions dans le CGI extended information (quand vous regardez les informations de l'hôte). N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_image

Cette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer à cet hôte. Cette image sera affichée dans les CGIs status et extended information. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_alt

Cette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'attribut ALT de l'image précisée par l'argument <icon_image>. L'attribut ALT peut être utilisé dans les CGIs status, extended information et statusmap.

vrml_image

Cette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer à cet hôte. Cette image sera utilisée comme fond de carte pour l'hôte spécifié dans le CGI statuswrl. Au contraire de l'image utilisée dans la variable <icon_image>, celle-ci ne devrait pas avoir d'attribut de transparence. Si c'est le cas, le rendu de l'hôte sera un peu bizarre. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

statusmap_image

Cette variable est utlisée pour définir le nom d'une image à associer à l'hôte dans le CGI statusmap. Vous pouvez utiliser une image au format JPEG, PNG ou GIF si vous voulez, mais je vous recommande vivement d'utiliser le format d'image GD2 pour ne pas perdre de temps CPU en calcul (comme c'est le cas avec les autres formats) quand vous générez la carte d'états. Les images GD2 peuvent être créées à partir d'image PNG en utilisant l'utilitaire pngtogd2 fourni avec la librairie gd de Thomas Boutell. Les images au format GD2 doivent être créées dans un format non compressé toujours pour minimiser la charge CPU au moment de charger la carte réseau. Le rendu de l'image sera maximal si vous utilisez une taille de 40x40 pixels. Vous pouvez laisser cette option vide si vous n'utilisez pas le CGI de carte d'états. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

2d_coords

Cette variable est utilisée pour définir les coordonnées à utiliser pour l'hôte dans le CGI statusmap. Les coordonnées doivent être données en entier positif car correpsondant aux pixels dans l'image générée. Le départ de la carte (0,0) se trouve dans le coin supérieur gauche de l'image et s'étend en positif dans la direction x (à droite) à partir du haut de l'image et en positif dans la direction y (bas) à partir du bord gauche de l'image. Pour référence, la taille des icônes est habituellement de 40x40 pixels (le texte prend un peu d'espace supplémentaire). Les coordonnées que vous précisez ici sont pour le coin supérieur gauche de l'icône de l'hôte à dessiner.

Ne vous inquiétez pas du nombre maximal de coordonnées que vous pouvez utliser ici. Le CGI va automatiquement calculer les dimensions maximales de l'image qu'il créée en se basant sur les plus grandes valeurs x et y que vous avez précisé.

3d_coords

Cette variable est utilisée pour définir les coordonnées de l'hôte à utiliser dans le CGI statuswrl. Les coordonnées peuvent être des nombres positifs ou négatifs. Le départ du dessin est (0.0,0.0,0.0). Pour référence, la taille des cubes pour les hôtes est de 0,5 unités de chaque côté (les textes prennent un plus d'espace). Les coordonnées que vous utilisez sont le centre du cube de l'hôte.

Définition des informations étendues de services

Description

Les entrées d'informations étendues de services sont utilisées à la base pour améliorer les vues des CGIs status et extinfo. Elles n'ont aucun effet sur la supervision et sont complètement optionnelles.

Depuis Nagios 3.x, toutes les variables contenues dans les définitions d'informations étendues de service sont aussi disponibles dans les définitions de services .Vous pouvez choisir de définir ces variables sous vos définitions de services si cela rend votre configuration plus simple. Des définitions d'informations étendues de service séparées continueront à être supportées pour conserver la compatibilité avec les anciennes versions.

Format de la définition

Les variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant, vous devez au moins préciser une variable optionnelle dans chaque définition pour que ce soit d'une quelconque utilité.

define serviceextinfo{

 

host_name

host_name

service_description

service_description

notes

note_string

notes_url

url

action_url

url

icon_image

image_file

icon_image_alt

alt_string

}

Exemple de définition

define serviceextinfo {
    host_name             linux2
    service_description   Log Anomalies
    notes                 Security-related log anomalies on secondary Linux server
    notes_url             http://webserver.localhost.localdomain/serviceinfo.pl?host=linux2&service=Log+Anomalies
    icon_image            security.png
    icon_image_alt        Security-Related Alerts
}
                

Descriptions de variable

host_name

Cette variable est utilisée pour identifier le nom court du service auquel sont associées les données.

service_description

Cette variable est utilisée pour identifier le nom court du service auquel sont associées les données.

notes

Cette variable est utilisée pour préciser une note d'information à rattacher au service. Si vous avez précisé une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardez les informations de service spécifié).

notes_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des informations supplémentaires sur le service. Si vous précisez une URL, vous verrez un lien indiquant Extra Service Notes dans le CGI extended information (quand vous regardez les informations du service). N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_url

Cette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémentaires sur le service. Si vous précisez une URL, vous verrez un lien indiquant Extra Service Actions dans le CGI extended information (quand vous regardez les informations du service). N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_image

Cette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer à l'hôte. Cette image sera affichée dans plusieurs endroits des CGIs. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des hôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_alt

Cette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'attribut ALT de l'image précisée par l'argument <icon_image>. L'attribut ALT peut être utilisé dans les CGIs status, extended information et statusmap.