Chaque technologies, languages de développement et concepts apporte son lot de termes spécifiques qu'ils vous faut apprendre avant d'entrevoir la lumière.
NE VOUS DECOURAGEZ PAS, faites-vous violence et appréciez ce moment de grâce où tout devient clair.
Nagios est un logiciel qui fournit un ensemble de moyens et services pour assurer une supervision particulièrement simple, fiable, évolutive et non-propriétaire d'un parc informatique.
J'avoue que depuis qu'il surveille mon parc, je dors mieux. C'est sûrement ce que vous direz dans quelques semaines.
Vous arrivez le lundi matin au bureau, et au lieu de passer la matinée à vérifier si tous vos serveurs sont en fonctions, si le serveur de courrier n'est pas tombé, si les sauvegardes se sont bien passées, vous ouvrez votre navigateur pour accèder à l'interface Web de Super Nagios et en un coup d'oeil, vous voilà rassuré.
Ce qui vous laisse la matinée pour draguer, jouer au dernier doom, organiser des réunions ou boire un café.
En vérité, avec Nagios, vous n'auriez pas attendu le lundi matin pour prendre connaissance d'un problème, vous auriez sûrement reçu un SMS.
Un rappel : Nagios n'est pas MRTG ni RRDTOOL, il n'a pas vocation à fournir un suivi statistique et les rapports qu'il génére sont destinés à déterminer la disponibilité d'équipements et de services. Ces produits sont complémentaires même si chacun empiète un peu sur le domaine de l'autre.
Chacun applique bien sûr la méthodologie qu'il lui est la mieux adaptée et je ne prétend pas fournir une méthode miracle, mais dans le domaine de l'apprentissage des technologies OpenSource, beaucoup trop de personnes se découragent et font un blocage, qui pour certains est définitif.
Conseil : Ne vous lancez pas dans l'inventaire du parc, il s'agit d'une phase d'apprentissage.
Nous aurions pût nous lancer dès le départ, dans la surveillance des process, des services TCP/IP, des applicatifs comme Oracle mais il vaut mieux consolider notre architecture de base en fournissant un contrôle homogène des principaux points comme la disponibilité d'une machine, sa place disque, la saturation mémoire ou processeur.
Nagios organise les machines, les contacts et les services comme des objets. Chaque objet à un nom unique et la plupart peuvent être réunis au sein de groupes logiques, permettant ainsi d'appliquer une politique pour chaque groupes.
Un hôte (host) peut être n'importe quel équipement qui en général est joignable par une adresse IP. Ce qui inclus donc :
La finalité d'un contact est que Nagios puisse le joindre en cas d'alerte pour n'importe quel dysfonctionnement.
Conseil : Pour chaque contact, vous devrez founir une adresse email. Preférez une adresse de groupe plutôt qu'une adresse individuelle, même si le groupe ne contient qu'une seule personne.
La notion de contact a également une incidence sur la surveillance de Nagios à partir d'une interface Web. Les droits dans cette interface tiennent compte des liens entres un groupe de contacts et un équipement.
Un exemple, vous voulez que le responsable d'un site distant puisse accèder aux rapports statistiques des équipements qui ne concernent que son site et rien d'autres. Vous devrez donc rattacher ce contact au groupe(s) qu'il surveille.
Pour éviter de redéfinir à chaque besoin, des plages horaires détaillés pour chaque jour et chaque équipement ou services, Nagios fournit la notion de profil pour regrouper un ensemble de règles concernant les plages horaires.
Un premier exemple : Un contact peut recevoir des alertes par mail de 9h à 18h du lundi au vendredi. Mais de 18h01 à 08h59 la semaine et 24/24 le week-end, il faut lui envoyer un SMS
Un second exemple : Une machine ou un service est arrêté pour des raisons de maintenance le mardi entre 21h et 23h. Inutile donc de lancer des alertes, c'était prévu...
Chaque commande correspond au lancement d'un programme externe comme un PING, une requette SNMP, SQL ou LDAP, la vérification de services, etc...
Comme une commande peut être lancé avec des paramètres différents en fonction de certains équipement, il n'est pas rare de trouver la même commande plusieurs fois mais avec une syntaxe d'utilisation différente.
Remarque : Chaque commande comme tout objet dans Nagios à un nom unique. Ce nom n'est par forcément en rapport avec le nom du programme qui sera exécuté. Pour exécuter le programme PING, je peux définir une commande qui se nomme TOTO.
Les services sont en quelques sortes, l'aggrégation des HOTES, CONTACT, PERIODES et COMMANDES.
C'est la finalité de tous ce travail de définition et référencement avant de pouvoir utiliser Nagios.
Pour résumer, à chaque création de service, vous définissez :
Pour des raisons d'organisation et d'optimisation, les équipements peuvent être réunis dans des groupes
Dans mon cas, j'ai définis les groupes suivants :
J'ai ensuite placé chaque équipement dans un ou plusieurs groupes
Conseil : Evitez des noms à espaces et/ou caractères accentués, cela vous gènera lors de l'utilisation de la couche Web.
Même chose que pour les groupes d'hotes, vous organisez les contacts selon vos préférences :
Ne perdez pas de vue, qu'il s'agit le plus souvent de cibler les destinataires en fonction de chaque alertes.
Il existe une notion de "Parent" très utile pour l'organisation de la surveillance du parc.
Pour comprendre et mettre en place cet héritage, il faut partir de la machine sur laquelle nagios est installé et noter le chemin parcouru pour atteindre un équipement.
Exemple :
L'interêt de cet héritage est très important. Sans l'héritage, si votre firewall tombe en panne, nagios va générer des alertes pour tous les équipements se trouvant entre lui et le serveur sur le site distant.
Chaque serveur pouvant être rattaché à plusieurs alertes (ping, smtp, snmp, etc..) en quelques minutes vous pourriez recevoir plusieurs centaines des mails ou SMS.
Nagios va donc utiliser cette notion d'héritage pour déterminer que si le firewall tombe en panne, il est inutile de générer des alertes pour tous les équipements qui se trouves derrière.
Une autre conséquence directe de l'héritage est l'organisation du schéma graphique dans l'interface Web de Nagios car vos équipements seront reliés les uns aux autres en fonction de leur emplacement physique.
Pour chaque produit, je définis :
| Editeur | Ethan Galstad | ||
| Version stable | 1.2 | Version installé | 1.1-6 |
|
Nagios est répartit en 3 packages :
Les plugins et extras ont leur propres numéro de version qui ne suit pas forcément celui de nagios. |
|||
| Editeur | ? | ||
| Version stable | 1.3.1 | Version installé | 1.3.1-1.9 |
| Editeur | ? | ||
| Version stable | 1.3.1-1.9 | Version installé | 1.3.1-1.9 |
| Editeur | Le groupe Apache | ||
| Version stable | 2.0.48 | Version installé | 2.0.46-25 |
|
Le célebre serveur Web qu'il est inutile de présenter va être utilisé pour accèder à Nagios en passant par un navigateur. |
|||
Normalement pendant l'installation, les seuls besoins d'accès à l'extérieur du réseau, se font sur "http" et "ftp".
Vérifiez les paramètres "proxy" de la machine et si elle n'est pas configurée ajoutez les variables http_proxy et ftp_proxy car elles sont utilisés par l'utilitaire "wget" et c'est tout ce dont nous aurons besoins.
# Pour vérifiez vos paramètres : [root@linux /]$ echo $http_proxy [root@linux /]$ echo $ftp_proxy # Pour modifier vos paramètres : [root@linux /]$ export http_proxy=http://10.10.1.10:8080 [root@linux /]$ export ftp_proxy=http://10.10.1.10:8080 # Pour tester l'accès au proxy : [root@linux /]$ wget http://www.yahoo.fr/index.html
Remarque : Vous gagnerez du temps en suivant cette procédure.
Liste des fichiers :
# CD Redhat ES v9 N°2 : /mnt/cdrom/RedHat/RPMS/gd-1.8.4-12.i386.rpm /mnt/cdrom/RedHat/RPMS/freetype-2.1.4-4.0.i386.rpm /mnt/cdrom/RedHat/RPMS/libjpeg-6b-30.i386.rpm /mnt/cdrom/RedHat/RPMS/libpng-1.2.2-16.i386.rpm /mnt/cdrom/RedHat/RPMS/zlib-1.1.4-8.1.i386.rpm # CD Redhat ES v9 N°3 : /mnt/cdrom/RedHat/RPMS/httpd-2.0.46-25.ent.i386.rpm # Téléchargement : wget http://dag.wieers.com/packages/nagios/nagios-1.1-6.rh90.dag.i386.rpm wget http://dag.wieers.com/packages/perl-Crypt-DES/perl-Crypt-DES-2.03-2.dag.rh90.i386.rpm wget http://dag.wieers.com/packages/perl-Net-SNMP/perl-Net-SNMP-4.1.0-0.dag.rh90.noarch.rpm wget http://dag.wieers.com/packages/fping/fping-2.4-0.b2.dag.rh90.i386.rpm wget http://dag.wieers.com/packages/nagios-plugins/nagios-plugins-1.3.1-5.dag.rh90.i386.rpm wget http://heanet.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-extras-1.3.1-1.9.i386.rpm
Remarque : Pour plus de confort, placez-vous dans le répertoire où vous avez copié tous les fichiers.
[root@linux /]$ rpm -Uvh zlib-1.1.4-8.1.i386.rpm [root@linux /]$ rpm -Uvh libpng-1.2.2-16.i386.rpm [root@linux /]$ rpm -Uvh libjpeg-6b-30.i386.rpm [root@linux /]$ rpm -Uvh freetype-2.1.4-4.0.i386.rpm [root@linux /]$ rpm -Uvh gd-1.8.4-12.i386.rpm
[root@linux /]$ rpm -Uvh httpd-2.0.46-25.ent.i386.rpm
[root@linux /]$ rpm -Uvh nagios-1.1-6.rh90.dag.i386.rpm
[root@linux /]$ rpm -Uvh perl-Crypt-DES-2.03-2.dag.rh90.i386.rpm [root@linux /]$ rpm -Uvh perl-Net-SNMP-4.1.0-0.dag.rh90.noarch.rpm [root@linux /]$ rpm -Uvh fping-2.4-0.b2.dag.rh90.i386.rpm [root@linux /]$ rpm -Uvh nagios-plugins-1.3.1-5.dag.rh90.i386.rpm
Utilisez l'option --nodeps pour l'installation le package des extras
[root@linux /]$ rpm -Uvh --nodeps nagios-plugins-extras-1.3.1-1.9.i386.rpm
Conseils :
/etc/nagios ........................ : Répertoire principal des fichiers de configuration /etc/nagios/nagios.cfg ............. : Fichier de configuration principal de Nagios /etc/nagios/contacts.cfg ........... : Configuration des contacts /etc/nagios/contactgroups.cfg ...... : Configuration des groupes de contacts /etc/nagios/hosts.cfg .............. : Configuration des hôtes (équipements) /etc/nagios/hostgroups.cfg ......... : Configuration des groupes d'hôtes (équipements) /etc/nagios/timeperiods.cfg ........ : Configuration des périodes de temps /etc/nagios/dependencies.cfg ....... : Configuration des dépendances /etc/nagios/escalations.cfg ........ : /etc/nagios/services.cfg ........... : Configuration des services /etc/nagios/checkcommands.cfg ...... : Configuration des commandes de vérifications (check...) /etc/nagios/misccommands.cfg ....... : Configuration des commandes spéciales (pager, sms, etc...) /etc/nagios/private/resource.cfg ... : Configuration des ressources (emplacements plugins, accès SGBDR, etc...) /etc/nagios/cgi.cfg ................ : Configuration de l'interface Web et des CGI /etc/nagios/minimal.cfg ............ : Version minimal de la configuration principal de Nagios /etc/rc.d/init.d/nagios ............ : Script de démarrage/arrêt de Nagios /usr/bin/nagios .................... : Programme Nagios /usr/lib/nagios/cgi ................ : Interface Web - CGI /usr/lib/nagios/plugins ............ : Répertoire des plugins (Commandes, Gestionnaires d'évènements, etc...) /usr/share/nagios .................. : Interface Web - Fichier HTML, CSS, images, etc... /var/log/nagios .................... : Répertoire des logs de Nagios et stockage des commandes en cours /etc/httpd/conf.d/nagios.conf ...... : Fichier d'intégration de Nagios à Apache
Remarques :
define contact{
contact_name nagios
alias Nagios Admin
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 admin.nagios@domaine.com
}
define contact{
contact_name srault
alias STEPHANE RAULT
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 admin.nagios@domaine.com
}
| contact_name | Nom logique donné à ce contact. |
| alias | Description ou nom en clair du contact |
| service_notification_period |
Période pendant laquelle ce contact sera notifié en cas de problème sur un SERVICE. 24x7 correspond à une entrée du fichier timeperiods.cfg |
| host_notification_period |
Période pendant laquelle ce contact sera notifié en cas de problème sur un HOTE (équipement). 24x7 correspond à une entrée du fichier timeperiods.cfg |
| service_notification_options |
Options de notifications pour les SERVICES.
|
| host_notification_options |
Options de notifications pour les HOTES (équipements).
|
| service_notification_commands |
Commande de notification pour les SERVICES. notify-by-email correspond à une entrée du fichier misccommands.cfg |
| host_notification_commands |
Commande de notification pour les HOTES (équipements). host-notify-by-email correspond à une entrée du fichier misccommands.cfg |
| Adresse email valide d'un destinataire local ou distant. Utilisez plutôt une adresse générique ou de groupe. |
Les groupes de contacts seront rattachés aux hôtes et aux services pour déterminer qui sera notifiés en cas de problème.
Remarques : Les contacts ajoutés dans un groupe sont séparés par des virgules. Un contact peut appartenir à plusieurs groupes.
define contactgroup{
contactgroup_name ADMINS
alias Administrateurs
members nagios,srault
}
define contactgroup{
contactgroup_name URGENT
alias Groupe a contacter en urgence
members srault
}
| contactgroup_name | Nom logique donné à ce groupe de contacts. |
| alias | Description ou nom en clair du groupe |
| members | Membres du groupe |
Remarque : Les hôtes et services peuvent utilisé un modèle grace auquel il hérite de certains paramètres. Cela vous permets d'éviter d'avoir à retaper plusieurs fois la même chose pour chaque définition d'hôtes. Nous reviendrons sur ce concept dans la partie avancée de la configuration
define host{
name generic-host
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}
define host{
use generic-host
host_name srv_linux
alias Serveur Linux
address 192.168.1.3
check_command check-host-alive
max_check_attempts 10
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
define host{
use generic-host
host_name srv_nt
alias Serveur NT
address 192.168.1.2
check_command check-host-alive
max_check_attempts 10
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
define host{
use generic-host
host_name routeur
alias Routeur Internet
address 192.168.1.250
check_command check-host-alive
max_check_attempts 10
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
Remarque : Je ne détaillerais pas ici, les paramètres utilisés dans le modèle. Leurs études compliquerait la compréhension de cette première configuration.
| use | Nom du modèle auquel se référer pour hériter de paramètres pré-définis. |
| host_name | Nom court de l'hôte (équipement). Il n'est pas obligé de correspondre au vrai nom de la machine. |
| alias | Description ou nom en clair de l'équipement |
| address | Adresse IP. |
| check_command |
Commande pour vérifier que l'équipement est bien disponible. check-host-alive correspond à une entrée du fichier checkcommands.cfg |
| max_check_attempts | Nombre de fois que Nagios relancera la commande de contrôle de l'équipement (check_command) si ce dernier n'est pas joignable. |
| notification_interval | Nombre d'unité de temps avant lequel Nagios renverra une notification au groupe de contacts si l'équipement n'est pas disponible. Le paramètre "interval_length" du fichier nagios.cfg, définit ce qu'est l'unité de temps en cours (par défaut chaque unité vaut 60 secondes). |
| notification_period |
Période pendant laquelle les contacts peuvent être notifiés en cas de problème 24x7 correspond à une entrée du fichier timeperiods.cfg |
| notification_options |
Options de notifications.
|
define hostgroup{
hostgroup_name linux-servers
alias Serveurs Linux
contact_groups URGENT,ADMINS
members srv_linux
}
define hostgroup{
hostgroup_name nt-servers
alias NT Servers
contact_groups ADMINS
members srv_nt
}
define hostgroup{
hostgroup_name tous
alias Tous les equipements
contact_groups ADMINS
members srv_linux,srv_nt,router
}
| hostgroup_name | Nom logique donné à ce groupe d'hôtes (équipement). |
| alias | Description ou nom en clair du groupe |
| contact_groups | Groupes de contacts rattachés à ce groupe d'hôtes |
| members | Hôtes membres du groupe |
define service{
name generic-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}
define service{
use generic-service
host_name srv_linux
service_description SMTP
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 3
retry_check_interval 1
contact_groups URGENT
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_smtp
}
Remarque : Je ne détaillerais pas ici, les paramètres utilisés dans le modèle. Leurs études compliquerait la compréhension de cette première configuration.
| use | Nom du modèle auquel se référer pour hériter de paramètres pré-définis. |
| host_name | Nom court de l'hôte sur lequel se trouve le service à surveiller. |
| service_description | Description du service |
| is_volatile | |
| check_period |
Période pendant laquelle la vérication du service sera effectuée 24x7 correspond à une entrée du fichier timeperiods.cfg |
| max_check_attempts | Nombre de fois que Nagios relancera la commande de contrôle du service(check_command) si ce dernier répond pas OK. |
| normal_check_interval | Nombre d'unité de temps pendant lequel Nagios attendra avant de déclencher à nouveau un contrôle du service. Le paramètre "interval_length" du fichier nagios.cfg, définit ce qu'est l'unité de temps en cours (par défaut chaque unité vaut 60 secondes). |
| retry_check_interval | |
| contact_groups | Groupes de contacts qui seront notifiés en cas de changement d'état pour ce service |
| notification_interval | Nombre d'unité de temps avant lequel Nagios renverra une notification au groupe de contacts si le service n'est pas disponible. Le paramètre "interval_length" du fichier nagios.cfg, définit ce qu'est l'unité de temps en cours (par défaut chaque unité vaut 60 secondes). |
| notification_period |
Période pendant laquelle des notifications seront envoyés 24x7 correspond à une entrée du fichier timeperiods.cfg |
| notification_options |
Options de notifications.
|
| check_command |
Commande pour vérifier que l'équipement est bien disponible. check_smtp correspond à une entrée qu'il faut ajouter au fichier checkcommands.cfg check_smtp fait partie des nombreux plugins de Nagios |
# Fichier nagios.cfg après l'installation du RPM (sans les commentaires) : log_file=/var/log/nagios/nagios.log cfg_file=/etc/nagios/checkcommands.cfg cfg_file=/etc/nagios/misccommands.cfg cfg_file=/etc/nagios/contactgroups.cfg cfg_file=/etc/nagios/contacts.cfg cfg_file=/etc/nagios/dependencies.cfg cfg_file=/etc/nagios/escalations.cfg cfg_file=/etc/nagios/hostgroups.cfg cfg_file=/etc/nagios/hosts.cfg cfg_file=/etc/nagios/services.cfg cfg_file=/etc/nagios/timeperiods.cfg resource_file=/etc/nagios/private/resource.cfg status_file=/var/log/nagios/status.log nagios_user=nagios nagios_group=nagios check_external_commands=1 command_check_interval=-1 command_file=/var/log/nagios/rw/nagios.cmd comment_file=/var/log/nagios/comment.log downtime_file=/var/log/nagios/downtime.log lock_file=/var/run/nagios.pid temp_file=/var/log/nagios/nagios.tmp log_rotation_method=d log_archive_path=/var/log/nagios/archives use_syslog=1 log_notifications=1 log_service_retries=1 log_host_retries=1 log_event_handlers=1 log_initial_states=0 log_external_commands=1 log_passive_service_checks=1 inter_check_delay_method=s service_interleave_factor=s max_concurrent_checks=0 service_reaper_frequency=10 sleep_time=1 service_check_timeout=60 host_check_timeout=30 event_handler_timeout=30 notification_timeout=30 ocsp_timeout=5 perfdata_timeout=5 retain_state_information=1 state_retention_file=/var/log/nagios/status.sav retention_update_interval=60 use_retained_program_state=0 interval_length=60 use_agressive_host_checking=0 execute_service_checks=1 accept_passive_service_checks=1 enable_notifications=1 enable_event_handlers=1 process_performance_data=0 obsess_over_services=0 check_for_orphaned_services=0 check_service_freshness=1 freshness_check_interval=60 aggregate_status_updates=1 status_update_interval=15 enable_flap_detection=0 low_service_flap_threshold=5.0 high_service_flap_threshold=20.0 low_host_flap_threshold=5.0 high_host_flap_threshold=20.0 date_format=us illegal_object_name_chars=`~!$%^&*|'"<>?,()= illegal_macro_output_chars=`~$&|'"<> admin_email=nagios admin_pager=pagenagios
| accept_passive_service_checks | Accepte/Refuse les contrôles passifs au redémarrage de Nagios. |
| admin_email | C'est l'adresse mail de l'administrateur local de la machine (i.e. celle sur laquelle Nagios tourne). Cette valeur peut être utilisée dans les commandes de notification grâce à la macro $ADMINEMAIL$. |
| admin_pager | C'est le numéro du pager (ou la passerelle pager-email) de l'administrateur de la machine locale (i.e. celle sur laquelle Nagios tourne). Le numéro ou l'adresse de pager peut être utilisé dans les commandes de notification grâce à la macro $ADMINPAGER$. |
| aggregate_status_updates | Aggrégation des données d'état. Cette fonction est désactivé par défaut à cause de la charge CPU qu'elle entraîne. |
| cfg_file | Chemin d'un fichier de configuration des objets Nagios. Il est possible d'ajouter plusieurs fois ce paramètre pour charger tous les fichiers nécessaires. |
| cfg_dir |
Chemin d'un répertoire de configuration des objets Nagios. Il est possible d'ajouter plusieurs fois ce paramètre pour charger tous les fichiers nécessaires. Exemple : il peut être préférable de créer un fichier par équipement à surveiller. Dans ce fichier seront réunis la définition d'hôte et les définitions de services associés à cet hôte. |
| check_external_commands | Active/désactive la vérification des commandes externes. Il faut l'activer pour passer des commandes à travers l'interface Web ou à l'aide de scripts externes. |
| check_for_orphaned_services | Cette option vous permet d'activer ou désactiver la vérification des contrôles de service orphelins. Les contrôles de service orphelins sont des contrôles ayant été exécutés et supprimés de la file des évènements, mais dont les résultats n'ont pas été remontés depuis longtemps. |
| check_service_freshness | Cette option détemine si Nagios va controler ou non périodiquement la validité des données d'un service. L'activation de cette option aide à controler que les controles de services passifs sont reçus en temps et heure. |
| command_check_interval |
Interval de temps avant que Nagios re-vérifie les commandes externes en attentes.
|
| command_file | Fichier de stockage des commandes en attentes. Il faut voir ce fichier comme un spooler d'impression, chaque commande envoyé par des programmes externes ou la couche web, est ajouté et attend d'être exécutée. |
| comment_file | Chemin du fichier de stockage, des commentaires entrés dans la couche Web pour des hôtes et services. |
| date_format |
Cette option spécifie le format de date que Nagios utilisera dans l'interface web
|
| downtime_file | Chemin du fichier de stockage du planning d'indisponibilité des hôtes et services. |
| enable_event_handlers | Active/désactive les gestionnaires d'évènements au redémarrage de Nagios. |
| enable_flap_detection | Fonction expérimental de detection des hôtes et services ayant des réactions aléatoires lors des contrôles. |
| enable_notifications | Active/désactive l'envoi d'une notification au redémarrage de Nagios. |
| event_handler_timeout | C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un gestionnaire d'événement. Si un gestionnaire d'événement dépasse cette limite il sera tué et une alerte sera journalisée. |
| execute_service_checks | Active/désactive la vérification de service au redémarrage de Nagios. |
| freshness_check_interval | Cette option détermine l'intervalle de temps entre deux controles de validité des données d'un service. Si vous avez désactivé ce service, avec l'option (de controle de validité des données d'un service), cette option n'a pas d'effet. |
| global_host_event_handler | Nom court d'une commande (gestionnaire d'évènement) qui sera exécuté à chaque changement d'état pour les hôtes. |
| global_service_event_handler | Nom court d'une commande (gestionnaire d'évènement) qui sera exécuté à chaque changement d'état pour les services. |
| high_host_flap_threshold | Seuil supérieur pour la détection de l'oscillation d'un hôte |
| high_service_flap_threshold | Seuil supérieur pour la détection de l'oscillation d'un service. |
| host_check_timeout | C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un contrôle d'hôte. Si le contrôle dépasse cette limite, il est tué et un état CRITICAL est retourné, et l'hôte sera supposé être dans l'état DOWN. Une erreur de dépassement de délai est également journalisée |
| illegal_macro_output_chars | Cette option vous permet de spécifier les caractères illégaux qui seront filtrés dans les macros, avant qu'elles soient utilisées dans les notifications, les gestionnaires d'évènements et autres commandes. Ceci n'affecte pas les macros utilisées dans les controles des services ou des hotes. Vous pouvez choisir de ne pas filtrer les caractères donnés en exemple ci-dessus, mais je ne vous recommande pas de le faire. Quelques uns d'entre eux sont interprètés par le shell ( par exemple, le ` ) et peuvent poser des problèmes de sécurité. |
| illegal_object_name_chars | Cette option vous permet de spécifier quels sont les caractères illégaux dans les noms d'objets, tels que hotes, services et autres. Nagios vous autorisera la plupart des caractères dans les définitions d'objets, mais je recommande de ne pas utiliser les caractères ci-dessus. Le faire est s'exposer à des problèmes dans l'interface web, les notifications de commandes, etc. |
| inter_check_delay_method |
Selection d'une méthode de planification pour l'exécution du contrôle des services.
Attention, le paramètre "no delay" va déclencher des pics d'utilisation du processeur |
| interval_length | Définition en secondes, de ce que sera une unité de temps. Les unités de temps sont souvent utilisées dans les paramètres de définitions des hôtes et services. |
| lock_file | Fichier contenant le numéro de processus en cours quand Nagios est lancé en tant que Daemon (-d) |
| log_archive_path | Chemin d'un répertoire qui sera utilisé pour stocker les logs après rotation. |
| log_event_handlers | Active/désactive la journalisation pour lors de l'exécution des gestionnaires d'évènements. |
| log_external_commands | Active/désactive la journalisation des commandes externes. |
| log_file | Chemin du journal de logs, principal de Nagios. Attention : ce paramètre doit être le premier dans le fichier nagios.cfg afin de journaliser les erreurs rencontrées. |
| log_host_retries | Active/désactive la journalisation des tentatives de re-vérification des hôtes. |
| log_initial_states | Active/désactive la journalisation de l'état initial des hôtes et services. |
| log_notifications | Active/désactive la journalisation des notifications. |
| log_passive_service_checks | Active/désactive la journalisation des vérifications passives de services. |
| log_rotation_method |
Paramètre pour définir la fréquence de rotation des logs.
|
| log_service_retries | Active/désactive la journalisation des tentatives de re-vérification des services. |
| low_host_flap_threshold | Seuil inférieur pour la détection de l'oscillation d'un hôte |
| low_service_flap_threshold | Seuil inférieur pour la détection de l'oscillation d'un service. |
| max_concurrent_checks | Nombre de contrôles maximum qui peuvent s'exécuter simultanément. Mettre "1" pour désactiver la parallèlisation des contrôles et "0" pour n'imposer aucune limite. A ajuster en fonction de la capacité de la machine sur laquelle est installé Nagios. |
| nagios_group | Compte de groupe Unix sous lequel tournera le processus Nagios. |
| nagios_user | Compte d'utilisateur Unix sous lequel tournera le processus Nagios. |
| notification_timeout | C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de notification. Si une commande de notification dépasse cette limite elle sera tuée et une alerte sera journalisée |
| obsess_over_services | Cette variable détermine si Nagios remontera les résultats de contrôles de service et lancera la commande de remontée de contrôle de service que vous avez défini. Si vous ne faites pas de supervision répartie, n'activez pas cette option |
| ocsp_command | Cette option définit la commande à lancer après chaque contrôle de service,ce aui peut etre utile dans une supervision répartie. Elles est exécutée après les éventuelles commandes de gestion d'événement ou de notification. L'argument commande est le nom court d'une définition de commande que vous avez définie dans le fichier de configuration des hôtes. Cette option sert dans le cadre de la supervision répartie. Le temps d'exécution maximal de cette commande est déterminé par la variable ocsp_timeout. |
| ocsp_timeout | C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de remontée de contrôle de service. Si une commande dépasse cette limite, elle sera tuée et une alerte sera journalisée. |
| perfdata_timeout | C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de traitement des données liées aux performance d'un hôte ou de traitement des données liées aux performances d'un service. Si une commande dépasse cette limite, elle sera tuée et une alerte sera journalisée. |
| process_performance_data | Cette valeur détermine si Nagios traitera les données liées aux performances des contrôles d'hôtes et de services. |
| resource_file | Chemin d'un fichier de ressource contenant entre autre le chemin des plugins et des macros utilisées dans les commandes. |
| retain_state_information | Active/désactive la conservation de l'état des hôtes et services entre deux démarrage de Nagios. |
| retention_update_interval | Fréquence en minutes à laquelle Nagios sauvegardera les données de mémorisation en situation normale. |
| service_check_timeout | C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un contrôle de service.Si le contrôle dépasse cette limite, il est tué et un état CRITICAL est retourné. Une erreur de dépassement de délai est également journalisée. |
| service_interleave_factor | Facteur permettant de modérer l'exécution des contrôles de services. |
| service_reaper_frequency | Fréquence en secondes des événements de "consolidation" des services. |
| sleep_time | Temps en secondes pendant lequel Nagios va rester en sommeil avant de relancer les séquences de vérifications des services, hôtes et l'exécution de commandes en attentes. |
| soft_state_dependencies | Active/désactive l'utilisation des états "soft" lors du contrôle des dépendances de services. |
| state_retention_file | Chemin du fichier de stockage des données d'états. Utilisé quand le paramètre "retain_state_information" est activé. |
| status_file | Chemin du fichier utilisé par Nagios pour stocker l'état actuel des hôtes et services. |
| status_update_interval | Fréquence en secondes à laquelle Nagios mettra à jour les données d'états. Ce paramètre est sans effet quand aggregate_status_updates est désactivé. |
| temp_file | Chemin d'un fichier temporaire généré et utilisé par Nagios pour stocker certaines valeurs. |
| use_agressive_host_checking | Paramètre qui était surtout valable pour les anciennes versions de nagios. Laissez "0" = désactivé |
| use_retained_program_state | Active/désactive le chargement de variables à partir du fichier de mémorisation. |
| use_syslog | Active/désactive l'utilisation de syslog. Il ne s'agit que des logs standards de Nagios, les autres journaux comme celui des états ne sont pas concernés par cette option. |
La partie Web de Nagios est en quelque sorte, un programme dans le programme. Elle dispose donc d'un fichier de configuration spécifique qui n'est lù que par elle.
# Fichier cgi.cfg après l'installation du RPM (sans les commentaires) : main_config_file=/etc/nagios/nagios.cfg physical_html_path=/usr/share/nagios url_html_path=/nagios show_context_help=0 #nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/log/nagios/status.log 5 '/usr/bin/nagios' use_authentication=1 #default_user_name=guest #authorized_for_system_information=nagiosadmin,theboss,jdoe #authorized_for_configuration_information=nagiosadmin,jdoe #authorized_for_system_commands=nagiosadmin #authorized_for_all_services=nagiosadmin,guest #authorized_for_all_hosts=nagiosadmin,guest #authorized_for_all_service_commands=nagiosadmin #authorized_for_all_host_commands=nagiosadmin #hostextinfo[es-eds]=/serverinfo/es-eds.html;novell40.gif;novell40.jpg;novell40.gd2;IntranetWare 4.11;100,50;3.5,0.0,-1.5; #hostextinfo[rosie]=/serverinfo/rosie.html;win40.gif;win40.jpg;win40.gd2;NT Server 4.0;;; #serviceextinfo[es-eds;PING]=http://www.somewhere.com?tracerouteto=$HOSTADDRESS$;;PING rate #serviceextinfo[rosie;Security Alerts]=;security.gif;Security alerts #statusmap_background_image=smbackground.gd2 default_statusmap_layout=5 default_statuswrl_layout=4 #statuswrl_include=myworld.wrl ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ refresh_rate=90 #host_unreachable_sound=hostdown.wav #host_down_sound=hostdown.wav #service_critical_sound=critical.wav #service_warning_sound=warning.wav #service_unknown_sound=warning.wav #normal_sound=noproblem.wav #xeddb_host=somehost #xeddb_port=someport #xeddb_database=somedatabase #xeddb_username=someuser #xeddb_password=somepassword #xsddb_host=somehost #xsddb_port=someport #xsddb_database=somedatabase #xsddb_username=someuser #xsddb_password=somepassword #xcddb_host=somehost #xcddb_port=someport #xcddb_database=somedatabase #xcddb_username=someuser #xcddb_password=somepassword #xdddb_host=somehost #xdddb_port=someport #xdddb_database=somedatabase #xdddb_username=someuser #xdddb_password=somepassword
| authorized_for_all_host_commands | |
| authorized_for_all_hosts | |
| authorized_for_all_service_commands | |
| authorized_for_all_services | |
| authorized_for_configuration_information | |
| authorized_for_system_commands | |
| authorized_for_system_information | |
| default_statusmap_layout | |
| default_statuswrl_layout | |
| default_user_name | |
| host_down_sound | |
| hostextinfo | |
| host_unreachable_sound | |
| main_config_file | |
| nagios_check_command | |
| normal_sound | |
| physical_html_path | |
| ping_syntax | |
| refresh_rate | |
| service_critical_sound | |
| serviceextinfo | |
| service_unknown_sound | |
| service_warning_sound | |
| show_context_help | |
| statusmap_background_image | |
| statuswrl_include | |
| url_html_path | |
| use_authentication | |
| xcddb_database | |
| xcddb_host | |
| xcddb_port | |
| xcddb_username | |
| xcddb_password |
Merci à Olivier ALLARD-JACQUIN pour la charte graphique dont je me suis totalement inspiré.
Merci aux traducteurs de la documentation Française de Nagios :