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 peut être créé en lançant la commande 'make config'. Par défaut, le fichier de configuration des CGI s'appelle cgi.cfg.

Index

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

Commande de contrôle du processus

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

Commande de contrôle du processus Nagios

Format : process_check_command=<ligne_commande>
Exemple : process_check_command=/usr/local/nagios/libexec/check_nagios /usr/local/nagios/var/status.log 5 '/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg'

C'est la commande optionnelle que les CGI doivent utiliser pour vérifier l'état du processus de Nagios. Elle permet aux CGI (et à vous par la même occasion) de déterminer si Nagios tourne ou pas. Si vous définissez une commande de test d'un processus, il doit suivre les mêmes règles que celles imposées aux plugins standards. Si la commande retourne une status non_OK, les CGIs vont décider que Nagios ne tourne pas et refuseront de vous autoriser les mises à jour [commit] lancées à travers les commandes CGI.

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 chaudement 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 fonctionalité 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 pécifier une image qui sera utiliseé comme fond 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, or GD2. Cependant, le format GD2 (de préference en format compressé) est recommandé, en raison de la faible charge CPU requise quand le CGI genè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îchissement 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 audio 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 etre utilisée quand on veut tester un hote avec ping à travers l'interface WAP en utilisant le CGI statuswml .Vous devez inclure le chemin complet vers le fichier binaire executable de ping, ainsi que les paramètres passés à la commande. La macro $HOSTADDRESS$ est remplacée par l'adresse de l'hote avant que la commande ne soit executée.