Chapitre 21. Options du fichier de configuration des CGIs

Lors de la création et/ou l'édition des fichiers de configuration, gardez ce qui suit à l'esprit:

  • Les lignes commençant par le caractère '#' sont considérées comme des commentaires et ne sont donc pas traitées

  • Les noms des variables doivent commencer au début de la ligne - ne mettez pas d'espace avant le nom

  • Les noms des variables respectent la casse (majuscule/minuscule)

Exemple de configuration

Un exemple de fichier de configuration pour les CGIs (/usr/local/nagios/etc/cgi.cfg) est créé pour vous quand vous suivez le guide rapide d'installation .

Emplacement du fichier de configuration

Par défaut, Nagios s'attend à trouver le fichier de configuration des CGIs sous le nom cgi.cfg dans le répertoire de configuration avec le fichier de configuration principal .Si vous changez le nom ou l'emplacement du fichier, vous devez configurer Apache pour qu'il passe une variable d'environnement nommée NAGIOS_CGI_CONFIG (contenant l'emplacement correct du fichier) aux CGIs de Nagios. Voir la configuration d'Apache pour plus de détails.

Variables du fichier de configuration

Ci-dessous, vous trouverez les descriptions de chaque option de configuration du fichier principal de Nagios…

Emplacement du fichier de configuration principal

Format:

main_config_file=<file_name>

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 CGIs 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=<path>

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 CGIs) 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=<path>

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.myhost.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 CGIs 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 CGIs. 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 CGIs ici.

  • 0 = Ne pas utiliser l'authentification

  • 1 = Utiliser l'authentification et les autorisations (par défaut)

Nom d'utilisateur par défaut

Format:

default_user_name=<username>

Exemple:

default_user_name=guest

Cette variable définit un nom d'utilisateur par défaut pour accéder aux CGIs. Ainsi les utilisateurs d'un domaine sécurisé (i.e., derrière un firewall) peuvent accéder aux CGIs 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.

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 CGIs 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=<user1>,<user2>,…<usern>

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

Accès aux commandes du système/processus

Format:

authorized_for_system_commands=<user1>,<user2>,…<usern>

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=<user1>,<user2>,…<usern>

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=<user1>,<user2>,…<usern>

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

Accès global aux commandes des hôtes

Format:

authorized_for_all_host_commands=<user1>,<user2>,…<usern>

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

Accès global aux informations sur les services

Format:

authorized_for_all_services=<user1>,<user2>,…<usern>

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

Accès global aux commandes des services

Format:

authorized_for_all_service_commands=<user1>,<user2>,<user3>,…<usern>

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

Vérouillage des noms d'auteur

Format:

lock_author_names=[0/1]

Exemple:

lock_author_names=1

Cette option vous autorise à restreindre le fait que les utilisateurs puissent changer le nom de l'auteur quand ils soumettent des commentaires, des acquittements, et une période de maintenance planifiée depuis l'interface web. Quand cette option est activée, les utilisateurs peuvent changer le nom de l'auteur associé à la requête.

  • 0 = Autorise les utilisateurs à changer les noms d'auteur quand ils soumettent des commandes

  • 1 = Empêche les utilisateurs de changer les noms d'auteur quand ils soumettent des commandes (défaut)

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 si vous utilisez la méthode de dessin des coordonnées définies par l'utilisateur. L'image de fond n'est disponible dans aucune autre méthode. Il est supposé 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 le paramètre physical_html_path.

Cette image peut être au format GIF, JPEG, PNG, ou GD2. Cependant, le format GD2 (de préférence en format non 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:

Valeur <layout_number>

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 le paramètre physical_html_path.

Ce fichier doit être un monde VRML valide (c.a.d que vous devez pouvoir le visualiser avec un navigateur 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:

Valeur <layout_number>

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 CGIs

Format:

refresh_rate=<rate_in_seconds>

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=<sound_file> host_down_sound=<sound_file> service_critical_sound=<sound_file> service_warning_sound=<sound_file> service_unknown_sound=<sound_file>

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

Syntaxe Ping

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.

Option d'échappement des balises HTML

Format:

escape_html_tags=[0/1]

Exemple:

escape_html_tags=1

Cette option détermine si les balises HTML contenues dans le message retour des plugins de services et d'hôtes doivent être ou non échappées dans les CGI. Si vous activez cette option, votre message retour de plugin ne peut pas contenir de liens hypertexte.

URL cible des notes

Format:

notes_url_target=[target]

Exemple:

notes_url_target=_blank

Cette option détermine le nom du cadre cible dans lequel doit être affiché les URL des notes. Les options acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.

URL cible d'action

Format:

action_url_target=[target]

Exemple:

action_url_target=_blank

Cette option détermine le nom du cadre cible dans lequel doit être affiché les URL d'action. Les options acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.

Option d'intégration Splunk

Format:

enable_splunk_integration=[0/1]

Exemple:

enable_splunk_integration=1

Cette option détermine si la fonctionnalité d'intégration avec Splunk est activée dans l'interface web. Si activée, il vous sera présenté un lien Splunk It à divers endroits dans les CGIs (fichier journal, historique d'alerte, détail d'hôte/service, etc.). Utile si vous essayez de rechercher pourquoi un problème particulier est survenu. Pour plus d'informations sur Splunk, visitez http://www.splunk.com/.

URL Splunk

Format:

splunk_url=<path>

Exemple:

splunk_url=http://127.0.0.1:8000/

Cette option est utilisée pour définir l'URL de base de votre interface Splunk. Cet URL est utilisé par les CGIs pour créer les liens si l'option enable_splunk_integration est activée.