Options du fichier de configuration des CGI


Notes

Quand vous créez ou modifiez des fichiers de configuration, n'oubliez pas que :

  1. Les lignes qui commencent avec le caractère '#' sont considérées comme des commentaires et ne sont donc pas traitées
  2. Les noms des variables doivent commencer au début de la ligne - ne mettez pas d'espace avant le nom
  3. Les noms des variables respectent la casse (majuscule/minuscule)

Exemple de configuration

Un exemple de fichier de configuration est créé lorsque vous lancez le script "configure". Vous pouvez trouver le fichier exemple dans le répertoire sample-config de la distribution Nagios.
En lançant la commande 'make install-config', les fichiers seront copiés dans le répertoire Nagios destination.

Localisation du fichier de configuration

Par défaut, Nagios s'attend à trouver le fichier de configuration des CGI sous le nom cgi.cfg dans le répertoire de configuration avec le fichier de configuration principal. Si vous changez le nom ou la localisation de du fichier, vous devez configurer Apache pour qu'il passe une variable d'environnement nommée NAGIOS_CGI_CONFIG - contenant la localisation correcte du fichier - aux CGI de Nagios. Ceci peut être réalisé avec la directive SetEnv. Voir la configuration d'Apache pour plus de détails.

Index

Emplacement du fichier de configuration principal
Chemin d'accès physique aux fichiers HTML
URL d'accès aux pages HTML

Utilisation de l'authentification
Nom d'utilisateur par défaut
Accès aux informations sur le système/processus
Accès aux commandes du système/processus
Accès aux informations de configuration
Accès global aux informations sur les hôtes
Accès global aux commandes des hôtes
Accès global aux informations sur les services
Accès global aux commandes des services

Image de fond du CGI de cartographie des états (Statusmap)
Dessin de la cartographie des états: valeur par défaut
Monde inclus dans le CGI du monde des états (Statuswrl)
Dessin du monde des états : valeur par défaut

Fréquence de rafraîchissement des CGI
Alertes auditives

Syntaxe du Ping

Emplacement du fichier de configuration principal

Format : main_config_file=<nom_fichier>
Exemple : main_config_file=/usr/local/nagios/etc/nagios.cfg

Cette option détermine le chemin d'accès à votre fichier de configuration principal. Les CGI doivent savoir où trouver ce fichier pour récupérer les informations de configuration, l'état courant des hôtes et des services, etc.

Chemin d'accès physique aux fichiers HTML

Format : physical_html_path=<chemin>
Exemple : physical_html_path=/usr/local/nagios/share

C'est le chemin du répertoire physique de votre serveur où sont stockés les fichiers HTML de Nagios. Nagios suppose que la documentation et les images (utilisées par les CGI) sont stockées dans des sous-répertoires nommés respectivement docs/ et images/.

URL d'accès aux pages HTML

Format : url_html_path=<chemin>
Exemple : url_html_path=/nagios

Si, lors de l'accès à Nagios via un navigateur web, vous pointez sur une URL du type http://www.monserveur.com/nagios, cette variable doit avoir pour valeur /nagios. En fait, il s'agit de la partie contenant le chemin d'accès aux pages HTML de Nagios dans l'URL utilisée pour accéder aux pages HTML de Nagios.

Utilisation de l'authentification

Format : use_authentication=<0/1>
Exemple : use_authentication=1

Cette option détermine si les CGI utiliseront l'authentification et les autorisations pour déterminer les informations et les commandes auxquelles les utilisateurs auront accès. Je vous recommande vivement d'utiliser l'authentification dans les CGI. Si vous choisissez de ne pas le faire, assurez-vous de supprimer le CGI de commande pour empêcher les utilisateurs non autorisés d'envoyer des commandes à Nagios. Ce CGI ne devrait pas envoyer de commandes à Nagios si l'authentification est désactivée, mais deux précautions valent mieux qu'une. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations dans les CGI ici.

Nom d'utilisateur par défaut

Format : default_user_name=<nom_utilisateur>
Exemple : default_user_name=guest

Cette variable définit un nom d'utilisateur par défaut pour accéder aux CGI. Ainsi les utilisateurs d'un domaine sécurisé (i.e., derrière un firewall) peuvent accéder aux CGI sans avoir à s'authentifier auprès du serveur web. Vous pouvez choisir cette fonctionnalité pour éviter le recours à l'authentification de base si vous n'utilisez pas un serveur web sécurisé, car l'authentification de base transmet les mots de passe en clair sur Internet.

Important : Ne définissez pas un utilisateur par défaut à moins que vous n'utilisiez un serveur web sécurisé et que vous soyez sûr que tous ceux qui ont accès aux CGI ont été authentifiés d'une manière ou d'une autre ! Si vous définissez cette variable, ceux qui ne se sont pas authentifiés auprès du serveur web hériteront de tous les droits que vous donnez à cet utilisateur !

Accès aux informations sur le système et le processus

Format : authorized_for_system_information=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_system_information=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir les informations sur le système et le processus dans les CGI d'informations complémentaires. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à passer des commandes système/processus. Si vous voulez que des utilisateurs puissent aussi passer ces commandes, il faut les ajouter à la variable authorized_for_system_commands. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Accès aux commandes du système/processus

Format : authorized_for_system_commands=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_system_commands=nagiosadmin

C'est une liste de nom d'utilisateurs authentifiés, séparés par des virgules, qui peuvent passer des commandes système/processus via le CGI de commande. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à visualiser les informations sur le système et le processus. Si vous voulez que des utilisateurs puissent visualiser ces informations aussi, il faut les ajouter à la variable authorized_for_system_information. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Accès aux informations de configuration

Format : authorized_for_configuration_information=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_configuration_information=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir les informations liées à la configuration via le CGI de configuration. Les utilisateurs de cette liste peuvent voir les informations sur tous les hôtes configurés, les groupes d'hôtes, les services, les contacts, les groupes de contacts, les périodes, et les commandes. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations dans les CGI ici.

Accès global aux informations sur les hôtes

Format : authorized_for_all_hosts=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_all_hosts=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir l'état et la configuration de tous les hôtes. Les utilisateurs de cette liste sont également automatiquement autorisés à voir les informations de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à envoyer des commandes aux hôtes ou aux services. Si vous voulez que des utilisateurs puissent aussi envoyer des commandes, il faut les ajouter à la variable authorized_for_all_host_commands. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Accès global aux commandes des hôtes

Format : authorized_for_all_host_commands=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_all_host_commands=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent envoyer des commandes à tous les hôtes via le CGI de commande. Les utilisateurs de cette liste sont également automatiquement autorisés à envoyer des commandes à tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à voir l'état ou la configuration de tous les hôtes ou services. Si vous voulez que des utilisateurs puissent voir ces informations aussi, il faut les ajouter à la variable authorized_for_all_hosts. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Accès global aux informations sur les services

Format : authorized_for_all_services=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_all_services=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir l'état et la configuration de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à voir les informations de tous les hôtes. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à envoyer des commandes à tous les services. Si vous voulez que des utilisateurs puissent aussi envoyer des commandes, il faut les ajouter à la variable authorized_for_all_service_commands. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Accès global aux commandes des services

Format : authorized_for_all_service_commands=<utilisateur1>,<utilisateur2>,<utilisateur3>,...<utilisateurn>
Exemple : authorized_for_all_service_commands=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent envoyer des commandes à tous les services via le CGI de commande. Ils ne sont pas non plus automatiquement autorisés à envoyer des commandes aux hôtes. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à voir l'état ou la configuration de tous les services. Si vous voulez que des utilisateurs puissent aussi voir ces informations, il faut les ajouter à la variable authorized_for_all_services. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Image de fond du CGI de cartographie des états (Statusmap)

Format: statusmap_background_image=<image_file>
Exemple: statusmap_background_image=smbackground.gd2

Cette option permet de spécifier une image qui sera utilisée comme fond d'image dans le CGI de cartographie des états. Il suppose que l'image est située dans le chemin des images HTML ( c.a.d /usr/local/nagios/share/images). Ce chemin est automatiquement déterminé en ajoutant "/images" au chemin défini dans la directive chemin d'accès physique aux fichiers html. Note: Cette image peut être au format GIF, JPEG, PNG, ou GD2. Cependant, le format GD2 (de préférence en format compressé) est recommandé, en raison de la faible charge CPU requise quand le CGI génère l'image.

Dessin de la cartographie des états: valeur par défaut

Format: default_statusmap_layout=<layout_number>
Exemple: default_statusmap_layout=4

Cette option définit la méthode de dessin utilisée par défaut par le CGI de cartographie des états. Les valeurs autorisées sont:

<layout_number> Valeur Méthode de dessin
0

Coordonnées définies par l'utilisateur

1 Couches imbriquées
2 Arbre réduit
3 Arbre équilibré
4 Circulaire
5 Circulaire (avec marque supérieure)
6 Circulaire (sous forme de ballon)

Monde inclus dans le CGI du monde des états (Statuswrl)

Format: statuswrl_include=<vrml_file>
Exemple: statuswrl_include=myworld.wrl

Cette option permet d'inclure ses propres objets dans le monde VRML généré. Elle suppose que le fichier est situé dans le chemin défini par la directive d'accès aux fichiers html. Note: Ce fichier doit être un monde VRML valide (c.a.d que vous devez pouvoir le visualiser avec un fouineur [browser] VRML)

Dessin du monde des états: valeur par défaut

Format: default_statuswrl_layout=<layout_number>
Exemple: default_statuswrl_layout=4

Cette option définit la méthode utilisée par défaut pour dessiner le monde VRML avec le CGI concerné (Statusvrml). Les options autorisées sont :

<layout_number> Valeur Méthode de dessin
0

Coordonnées définies par l'utilisateur

2 Arbre réduit
3 Arbre équilibré
4 Circulaire

Fréquence de rafraîchissement des CGI

Format : refresh_rate=<délai_en_secondes>
Exemple : refresh_rate=90

Cette option vous permet de spécifier le délai en secondes entre deux rafraîchissements de page dans les CGI d'état, de cartographie des états, et d'informations complémentaires.

Alertes sonores

Formats : host_unreachable_sound=<fichier_son>
host_down_sound=<fichier_son>
service_critical_sound=<fichier_son>
service_warning_sound=<fichier_son>
service_unknown_sound=<fichier_son>
Exemples : host_unreachable_sound=hostu.wav
host_down_sound=hostd.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=unknown.wav

Cette option vous permet de spécifier un fichier audio à jouer dans votre navigateur lorsqu'il y a des problèmes dans le CGI d'état. En cas de problèmes multiples, le fichier audio joué est celui du problème le plus critique. Un problème est considéré comme le plus critique lorsqu'un ou plusieurs hôtes sont inaccessibles, alors qu'il est le moins critique lorsqu'un ou plusieurs services sont dans un état inconnu (voyez l'ordre dans l'exemple ci-dessus). Les fichiers audios sont censés se trouver dans le sous-répertoire media/ de votre répertoire HTML (i.e. /usr/local/nagios/share/media).

Ping Syntax

Format: ping_syntax=<command>
Exemple: ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

Cette option définit quelle syntaxe doit être utilisée quand on veut tester un hôte avec ping à travers l'interface WAP en utilisant le CGI statuswml .Vous devez inclure le chemin complet vers le fichier binaire exécutable de ping, ainsi que les paramètres passés à la commande. La macro $HOSTADDRESS$ est remplacée par l'adresse de l'hôte avant que la commande ne soit exécutée.