Nagios and the Nagios logo are registered trademarks of Ethan Galstad. All other trademarks, servicemarks, registered trademarks, and registered servicemarks mentioned herein may be the property of their respective owner(s). The information contained herein is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
Nagios is licensed under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify Nagios under certain conditions. Read the 'LICENSE' le in the Nagios distribution or read the online version of the license for more details. Nagios is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
INDEXATION DU DOCUMENT TITRE : Documentation Nagios Version 3.x ACTION NOM DATE SIGNATURE
RDIG PAR
Ethan Galstad
6 mars 2011
Sbastien Guilbaud
6 mars 2011
Olivier Jan
6 mars 2011
Romuald Fronteau
6 mars 2011
Guillaume Halbitte
6 mars 2011
David Gunault
6 mars 2011
Dimitri Druelle
6 mars 2011
Sylvain Faure
6 mars 2011
Pascal Martin
6 mars 2011
SUIVI DU DOCUMENT INDICE 3 DATE 2009-10-05 MODIFICATIONS Premire version beta franaise docbook Premire version beta docbook NOM oj, rf, gh, dg, dd
2008-11-28
sg, oj
2008-11-13
Premire version
eg
propos
1
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 3 3 4 4 4 4 4 5 6 6 6 6 7 7 7 7 7 8 8 9 9 9
1 propos de Nagios 1.1 1.2 1.3 1.4 1.5 1.6 Qu'est-ce que c'est ?
Remerciements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Quoi de neuf dans Nagios 3 2.1 Historique des changements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Modications et nouvelles fonctionnalits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Priode de maintenance planie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 tat de conservation des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.6 Dtection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.7 Commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.8 Donnes d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.9 Perl intgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.10Supervision adaptative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.11Notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.12Dnitions d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.13Hritage d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.14Amliorations des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.15Message retour d'un plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.16Contrles de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.17Contrles d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.18Contrles de la fracheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.19IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.20Priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.21Module de courtage d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.22Interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.23Information de dbogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.24Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Problmes connus 3.1 Problmes connus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 10 10 10 10 11 11 13 13
II
Dmarrage
14
15 16 16 16 17 17 17 18 18 18 19 19 19 19 20 20 20 21 22 22 22 23 23 23 24
4 Conseils aux dbutants 5 Guides d'installation rapide 5.1 Guides d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Modications post installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Guide de dmarrage rapide Fedora 6.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10Modiez les rglages SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.12Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13Termin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Guide de dmarrage rapide openSUSE 7.1 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.9 Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24 24 24 25 26 26 26 27 27 27 28 28 28 29 29 29 30 30 31 31 33 33 33 34 34 34 35 36 38 39 40 40 40 42 42
7.10Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Guide de dmarrage rapide Ubuntu 8.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.7 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 8.9 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.10Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.11Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Mise jour de Nagios 9.1 Mise jour depuis une version 3.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Mise jour depuis une version 2.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Mise jour depuis une installation par RPM 10 Supervision des machines Windows 10.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6Installation de l'agent Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.8Protection par mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.9Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Supervision des machines Linux/Unix 11.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Supervision des serveurs Netware 12.1Ressources externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13 Supervision des imprimantes rseaux 13.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.7Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Supervision des routeurs et des switchs. 14.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.7Supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.8Supervision des paquets perdus et de la RTA . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.9Supervision de l'information d'tat SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10 upervision de la bande passante/trac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 14.11 edmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R 15 Supervision des services publiquement disponibles 15.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2Plugins pour la supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3Cration d'une dnition d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4Cration d'une dnition de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5Supervision HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6Supervision FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.7Supervision SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8Supervision SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9Supervision POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.10 upervision IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 15.11 edmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R
43 43 44 44 44 44 45 46 47 47 48 48 48 49 49 49 50 50 51 52 53 53 54 54 54 55 56 56 57 57 58 59
III
Congurer Nagios
60
61 61 61 62 62 63
16 Survol de la conguration 16.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2Fichier de conguration principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3Fichier de conguration des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4Fichier de dnition des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.5Fichier de conguration des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17 Options du chier de conguration principal 17.1Conguration d'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2Emplacement du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3Variables du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.1 log_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.2 cfg_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.3 cfg_dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.4 object_cache_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.5 precached_object_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.6 resource_le 17.3.7 temp_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64 64 64 64 64 65 65 65 66 66 66 66 67 67 67 67 67 68 68 69 69 70 71 71 71 71 72 72 72 73 73 73 73 74 74 74 75 75 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.28 retention_update_interval
17.3.29 use_retained_program_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.30 use_retained_scheduling_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.31 Masques d'attribut conserv pour hte et service . . . . . . . . . . . . . . . . . . . . 17.3.32 Masque d'attributs conservs du processus . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76 76 76 77 77 77 78 78 78 78 79 79 79 80 80 80 81 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 85 86 86 86 87 87 87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.38 log_event_handlers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.42 global_host_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.43 global_service_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.44 sleep_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.45 service_inter_check_delay_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.46 max_service_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.49 check_result_reaper_frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.50 max_check_result_reaper_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.51 check_result_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.52 max_check_result_le_age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.53 host_inter_check_delay_method 17.3.54 max_host_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.74 high_host_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87 88 88 88 88 89 89 89 90 90 90 90 91 91 91 92 92 92 92 93 93 93 93 94 94 94 94 95 95 95 96 96 96 96 96 97 97 97 98
17.3.77 host_check_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.78 event_handler_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.79 notication_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.80 ocsp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.81 ochp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.82 perfdata_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.83 obsess_over_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.84 ocsp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.85 obsess_over_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.86 ochp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.87 process_performance_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.91 service_perfdata_le
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.95 service_perfdata_le_mode
17.3.96 host_perfdata_le_processing_interval
17.3.99 service_perfdata_le_processing_command
17.3.100 check_for_orphaned_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.101 check_for_orphaned_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.102 check_service_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.103 service_freshness_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.104 check_host_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.105 host_freshness_check_interval 17.3.106 additional_freshness_latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.113 use_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98 98 99 99 99
17.3.119 debug_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 17.3.120 debug_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 17.3.121 debug_verbosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 17.3.122 max_debug_le_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 18 Survol de la conguration des objets 102
18.1Que sont les donnes des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 18.2O sont dnies les donnes des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 18.3Comment dnir les donnes des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 18.4 Explication des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
18.4.1Htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 18.4.2Groupes d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 18.4.3Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 18.4.4Groupes de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 18.4.5Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
18.4.6Groupes de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 18.4.7Priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 18.4.8Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 19 Dnitions d'objet 106
19.3Fichiers exemple de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 19.4Types d'objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 19.4.1 Dnition d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 19.4.1.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 19.4.1.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 19.4.1.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 19.4.1.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 19.4.2 Dnition de groupe d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 19.4.2.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 19.4.2.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 19.4.2.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 19.4.2.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
19.4.3.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 19.4.3.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 19.4.3.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 19.4.3.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 19.4.4 Dnition de groupe de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
19.4.4.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 19.4.4.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 19.4.4.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 19.4.4.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 19.4.5 Dnition de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
19.4.5.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 19.4.5.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 19.4.5.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 19.4.5.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 19.4.6 Dnition de groupe de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 19.4.6.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 19.4.6.2Format de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 19.4.6.3Exemple de dnition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 19.4.6.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 19.4.7 Dnition de priode de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 19.4.7.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 19.4.7.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 19.4.7.3Exemples de dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 19.4.7.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 19.4.8 Dnition de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 19.4.8.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 19.4.8.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 19.4.8.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 19.4.8.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 19.4.9 Dnition de dpendance de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 19.4.9.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 19.4.9.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 19.4.9.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 19.4.9.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 19.4.10 Dnition d'escalade de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
19.4.10.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 D 19.4.10.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 F 19.4.10.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 E
19.4.10.4 escription des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 D 19.4.11 Dnitions de dpendance d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
19.4.11.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 D 19.4.11.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 F 19.4.11.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 E 19.4.11.4 escription des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 D 19.4.12 Dnition d'escalade d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 19.4.12.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 D 19.4.12.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 F 19.4.12.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 E 19.4.12.4 escription des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 D 19.4.13 Dnition des informations tendues d'htes . . . . . . . . . . . . . . . . . . . . . . 137
19.4.13.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 D 19.4.13.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 F 19.4.13.3 xemple de dnition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 E 19.4.13.4 escriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 D 19.4.14 Dnition des informations tendues de services . . . . . . . . . . . . . . . . . . . . 139 19.4.14.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 D 19.4.14.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 F 19.4.14.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 E 19.4.14.4 escriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 D 20 Variables personnalises d'objet 142
20.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 20.2Principes de base des variables personnalises . . . . . . . . . . . . . . . . . . . . . . . . . . 142 20.3Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 20.4Les variables personnalises comme macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 20.5Variables personnalises et hritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 21 Options du chier de conguration des CGIs 144
21.1Exemple de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 21.2Emplacement du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 21.3Variables du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 21.3.1 Emplacement du chier de conguration principal . . . . . . . . . . . . . . . . . . . 145 21.3.2 Chemin d'accs physique aux chiers HTML . . . . . . . . . . . . . . . . . . . . . . . 145 21.3.3 URL d'accs aux pages HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
21.3.4 Utilisation de l'authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 21.3.5 Nom d'utilisateur par dfaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
21.3.7 Accs aux commandes du systme/processus 21.3.8 Accs aux informations de conguration
. . . . . . . . . . . . . . . . . . . . . . 146
. . . . . . . . . . . . . . . . . . . . . . . . . 146 . . . . . . . . . . . . . . . . . . . . . . . 147
21.3.10 Accs global aux commandes des htes . . . . . . . . . . . . . . . . . . . . . . . . . . 147 21.3.11 Accs global aux informations sur les services . . . . . . . . . . . . . . . . . . . . . . 147 21.3.12 Accs global aux commandes des services . . . . . . . . . . . . . . . . . . . . . . . . 147 21.3.13 Vrouillage des noms d'auteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
21.3.14 Image de fond du CGICGI de cartographie des tats (Statusmap) . . . . . . . . . . 148 21.3.15 Dessin de la cartographie des tats : valeur par dfaut . . . . . . . . . . . . . . . . 148 . . . . . . . . . . . . . . 149
21.3.17 Dessin du monde des tats : valeur par dfaut . . . . . . . . . . . . . . . . . . . . . . 149 21.3.18 Frquence de rafrachissement des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . 149 21.3.19 Alertes sonores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 21.3.20 Syntaxe Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
21.3.21 Option d'chappement des balises HTML . . . . . . . . . . . . . . . . . . . . . . . . . 150 21.3.22 URL cible des notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 21.3.23 URL cible d'action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 21.3.24 Option d'intgration Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 21.3.25 URL Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 22 Authentication et autorisations dans les CGIs 152
22.3 Dclarer des utilisateurs authentis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 22.4 Activer l'authentication/autorisation dans les CGIs . . . . . . . . . . . . . . . . . . . . . . 153 22.5 Droits d'accs par dfaut aux informations des CGIs . . . . . . . . . . . . . . . . . . . . . . 153 22.6 Donner des droits d'accs supplmentaires aux informations des CGIs . . . . . . . . . . . 154 22.7 Autorisations requises par les CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 . . . . . . . . . . . . . . . . . . . . . . . . 154
IV
Dmarrage de Nagios
156
157
Les bases
160
161
25.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 25.2Que sont les plugins ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 25.3Les plugins comme une couche intermdiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 25.4Quels plugins existe-il? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
25.5Obtenir des plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 25.6Comment utiliser le plugin x ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 25.7 Plugin API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 26 Utilisation des macros dans les commandes 164
26.1Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 26.2Substitution des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 26.3Exemple 1 : La macro d'adresse de l'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 26.4Exemple 2 : Les commandes d'Argument de macros . . . . . . . . . . . . . . . . . . . . . . 165
26.5Macro la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 26.6Les groupes de macros la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 26.7Les macros de variable personnalise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
26.8Nettoyage des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 26.9Macros et variables d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 26.10 alidit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 V 27 Macros standards dans Nagios 169
27.1Validit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 27.2Tableau de disponibilit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 27.3Description des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 27.4Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 28 Les contrles d'htes 191
28.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 28.2Quand sont eectus les contrles d'htes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 28.3Les contrles d'htes mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 28.4Les contrles et les dpendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 28.5Paralllisation des contrles d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
28.6Les tats d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 28.7Dtermmination de l'tat d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 28.8Changements d'tats d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
194
29.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 29.2Quand les contrles de services sont-ils raliss ? . . . . . . . . . . . . . . . . . . . . . . . . 194 29.3Les contrles de service mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 29.4Les contrles et les dpendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 29.5Paralllisation des contrles de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 29.6tats des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 29.7Dtermination de l'tat du service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 29.8Changements d'tats des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 30 les contrles actifs 196
30.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 30.2Comment sont faits les contrles actifs ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 30.3Quand sont excuts les contrles actifs ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 31 Les contrles passifs 198
31.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 31.2L'utilit du contrle passif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 31.3Comment les contrles passifs fonctionnent-ils ? . . . . . . . . . . . . . . . . . . . . . . . . . 199 31.4Autoriser les contrles passifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 31.5Soumission d'un rsultat de contrle passif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 31.6Soumission d'un rsultat de contrle passif d'un hte . . . . . . . . . . . . . . . . . . . . . . 200 31.7Les contrles passifs et les tats d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 31.8Soumission des rsultats de contrles passifs provenant d'htes distants . . . . . . . . . . 201 32 Types d'tats 202
32.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 32.2Tentatives de contrle des Services et des htes . . . . . . . . . . . . . . . . . . . . . . . . . 202 32.3Les tats SOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 32.4Les tats HARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 32.5Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 206
33.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 33.2Les priorits dans les priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 33.3Comment les priodes de temps fonctionnent avec les contrles des htes et des services 207 33.4Comment fonctionnent les priodes de temps avec les contacts de notications . . . . . . 207 33.5Comment fonctionnent les priodes de temps avec les escalades de notication . . . . . . 208 33.6Comment fonctionnent les priodes de temps avec les dpendances . . . . . . . . . . . . . 208
209
34.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 34.2Exemple de rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 34.3Dnir des relations parents/enfants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 34.4La logique d'accessibilit des htes en action . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 34.5Type de notication DOWN oppos UNREACHABLE . . . . . . . . . . . . . . . . . . . . . 214 35 Notications 216
35.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 35.2Quand y a-t'il notication ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 35.3Qui est noti ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 35.4Quels sont les ltres traverser avant qu'une notication ne soit mise ? . . . . . . . . . . 217 35.5Filtre global au programme : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 35.6Filtres d'hte et de service : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
35.7Filtres de contact : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 35.8Moyens de notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 35.9Macro de type de notication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 35.10 essources utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 R 36 Informations sur les CGIs 221
36.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 36.2 CGI d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 36.3 CGI de cartographie des tats 36.4 CGI d'interface WAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
36.5 CGI du monde des tats (VRML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 36.6 CGI d'aperu tactique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
36.11 CGI du chier journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 36.12 CGI d'historique d'alerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 36.13 CGI des notications 36.14 CGI de tendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
36.15 CGI de rapport de disponibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 36.16 CGI d'histogramme des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 36.17 CGI du rcapitulatif des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
VI
Thmes avancs
231
232
37 Commandes externes
37.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 37.2Autoriser les commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 37.3Quand Nagios contrle-t-il les commandes externes ? . . . . . . . . . . . . . . . . . . . . . . 233 37.4L'utilisation des commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
38.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 38.2Quand les commandes de gestionnaires d'vnements sont-elles excutes ? . . . . . . . 235
38.3Types de gestionnaires d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 38.4Activation des gestionnaires d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 38.5Ordre d'excution des gestionnaires d'vnements . . . . . . . . . . . . . . . . . . . . . . . 235 38.6criture d'une commande de gestionnaire d'vnements . . . . . . . . . . . . . . . . . . . . 236 38.7Autorisations d'excution des commandes de gestionnaires d'vnements . . . . . . . . . 236 38.8 Exemple de gestionnaire d'vnement de service . . . . . . . . . . . . . . . . . . . . . . . . 236 39 Services volatiles 239
39.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 39.2A quoi servent-ils ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 39.3Qu'est-ce que les services volatiles ont de si particulier ? . . . . . . . . . . . . . . . . . . . . 239 39.4La puissance de deux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 39.4.1Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 39.4.2Conguration de PortSentry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 39.4.3Script de scan de port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 40 Contrle de la fracheur des rsultats d'htes et de services 242
41 Supervision distribue
41.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 41.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 41.3Diagramme de rfrence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 41.4Serveur central ou serveurs distribus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 41.5Obtention des informations de contrle de service partir de serveurs distribus 41.6Conguration des serveurs distribus . . . . 247
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
41.8Problmes avec les contrles passifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 41.9Le contrle de validit des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 41.10 ontrles des htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 C 42 Gestion de panne et redondance pour la supervision rseau 252
42.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 42.2Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 42.3Exemples de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 42.4 Scnario 1 - Supervision Redondante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
42.4.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.3Diagramme de topologie rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.4Rglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.5Conguration Initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 42.4.6Dnition de commandes de Gestion dEvnements . . . . . . . . . . . . . . . . . . . 254 42.4.7Scripts de Gestion dEvnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 42.4.8Que fait ce script pour nous ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 42.4.9Dlais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 42.4.10 as spciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 C 42.5 Supervision en mode haute disponibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.3Rglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.4Vrication du processus principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.5Cas Supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 43 Dtection et gestion de l'oscillation d'tat 259
43.4Dtection de l'oscillation pour les services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 43.5Dtection de l'oscillation d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 43.6Seuils de dtection de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 43.7Les tats utiliss pour la dtection de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . 262 43.8Gestion de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 43.9Activation de la dtection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
264
44.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 44.2Quand y a-t-il escalade des notications ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 44.3Contact Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 44.4Recoupement des portes des escalades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 44.5Notications de reprise d'activit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 44.6Intervalles de notication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 44.7Restrictions de priode de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 44.8Restrictions d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 270
45.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 45.2Scnario 1 : Les vacances et les week-ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 45.3Scnario 2 : Jours alterns : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 45.4Scnario 3 : Semaines alternes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 45.5Scnario 4 : Les jours de vacances 45.6Autres scnarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 275
46.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 46.2Plan d'attaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 46.3Utilisation du plugin check_cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 46.4Supervision de clusters de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 46.5Supervision de clusters d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 279
47.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 47.2Aperu des dpendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 47.3Dnition de dpendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 47.4Exemple de dpendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 47.5Comment les dpendances d'un service sont testes . . . . . . . . . . . . . . . . . . . . . . 281 47.6Dpendances d'excution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 47.7Dpendances de notication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 47.8Hritage de dpendance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 47.9Dpendances d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 47.10 xemple de dpendances d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 E 48 Suivi prcis des changements d'tat 285
48.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 48.2Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 48.3Dois-je activer le suivi prcis ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 48.4Comment activer le suivi prcis des changements d'tat ? . . . . . . . . . . . . . . . . . . . 287 48.5Dirences entre services volatiles et suivi prcis ? . . . . . . . . . . . . . . . . . . . . . . . 287 48.6Inconvnients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
49 Donnes de performance
288
49.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 49.2Les types de donnes de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 49.3Les donnes de performance relatives au plugin . . . . . . . . . . . . . . . . . . . . . . . . . 289 49.4Traiter les donnes de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 49.5Commandes pour traiter les donnes de performance . . . . . . . . . . . . . . . . . . . . . . 290 49.6crire les donnes de performances dans des chiers . . . . . . . . . . . . . . . . . . . . . . 290 50 Priode de maintenance planie 291
50.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 50.2Programmer une maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 50.3Maintenance xe ou exible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 50.4Maintenance dclenche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 50.5Comment les maintenances programmes aectent les notications . . . . . . . . . . . . . 292 50.6Maintenances programmes qui se superposent . . . . . . . . . . . . . . . . . . . . . . . . . 293 51 Utilisation de l'interprteur Perl intgr 51.2Avantages 294
51.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 51.3Inconvnients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 51.4Utilisation de l'interprteur Perl intgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 51.5Compilation de Nagios avec l'interprteur Perl intgr . . . . . . . . . . . . . . . . . . . . . 296 51.6Utilisation spcique de l'interprteur Perl par plugin . . . . . . . . . . . . . . . . . . . . . 296 51.7Dveloppement de plugins pour tre utiliss avec Perl intgr Nagios . . . . . . . . . . . 297 52 Supervision adaptative 298
52.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 52.2Qu'est ce qui peut tre modi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 52.3Commandes externes pour le monitoring adaptif . . . . . . . . . . . . . . . . . . . . . . . . . 299 53 Contrles prdictifs de dpendances 300
53.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 53.2Comment fonctionnent les contrles prdictifs ? . . . . . . . . . . . . . . . . . . . . . . . . . 300 53.3Activation des contrles prdictifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 53.4Contrles mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 54 Mise en cache des contrles 303
54.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 54.2Pour seulement des contrles la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 54.3Comment a fonctionne ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 54.4Que cela signie vraiment ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 54.5Congurations des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 54.6Optimisation de l'ecacit du cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
308
55.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 55.2Direntes vues d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 55.3Activer la transition d'tats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 56 Ordonnancement du contrle des services et des htes 310
56.1 faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 57 Personnalisation de l'en-tte et du pied de page des CGIs 311
57.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 57.2Comment cela fonctionne t'il ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 58 Hritage d'objet 313
58.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 58.2Les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 58.3Variables locales vs Variables hrites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 58.4Enchainement d'hritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 58.5Utiliser des dnitions incomplte d'objet comme gabarit . . . . . . . . . . . . . . . . . . . 315 58.6Variables personnalises d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 58.7 Annulation de l'hritage de la valeur de la chane . . . . . . . . . . . . . . . . . . . . . . . 317
58.8 Hritage additif de la valeur de la chane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 58.9 Hritage implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 58.10 Hritage Implicite/Additive dans les escalades 58.11 Multiples sources d'hritage . . . . . . . . . . . . . . . . . . . . . . . . . 319
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
58.12 riorit avec des sources d'hritage multiples . . . . . . . . . . . . . . . . . . . . . . . . . . 320 P 59 Trucs et astuces gain de temps dans les dnitions de modles d'objets 322
59.3 Dnitions de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 59.3.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 59.3.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 323
59.3.3Tous les htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 59.3.4Exclusion d'htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 59.4 Dnitions d'escalade de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 59.4.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 59.4.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 324
59.4.3Tous les htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 59.4.4Exclusion d'htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 59.4.5Tous les services d'un mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
59.4.6Services multiples du mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 59.4.7Tous les services de multiples groupes de services : . . . . . . . . . . . . . . . . . . . 326 59.5 Dnitions de dpendance de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 59.5.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 59.5.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 326
59.5.3Tous les services d'un mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 59.5.4Services multiples d'un mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 59.5.5Tous les services de multiples groupes de services : . . . . . . . . . . . . . . . . . . . 327 59.5.6 Dpendances sur le mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 59.6 Dnitions d'escalade d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
59.6.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 59.6.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 328
59.6.3Tous les htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 59.6.4Exclusion d'htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 59.7 Dnitions de dpendance d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
59.7.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 59.7.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 329
VII
331
332
61.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 61.2Techniques supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 61.2.1L'implantation de l'authentication Digest . . . . . . . . . . . . . . . . . . . . . . . . . 337 61.2.2Forcer l'implmentation TLS/SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 61.2.3Implmentation de verrous de sous-rseaux IP . . . . . . . . . . . . . . . . . . . . . . 338 61.3Notes importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 62 Rgler Nagios pour des performances maximales 340
344
63.4Mise en pr-cache des objets de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . 346 63.5Passer outre les tests de rfrences circulaires . . . . . . . . . . . . . . . . . . . . . . . . . . 347 63.6Tout mettre ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 64 Trucs et astuces pour les installations de grande dimension 348
65.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 65.2Instructions d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 65.3Achage intelligible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 65.4Intgration MRTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 66 Grapher les informations de performance avec MRTG 352
VIII
357
358
67.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 67.2Les points d'intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 67.3Exemples d'intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 360
69.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 69.2Dnition du Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 69.3Conguration du TCP Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 69.4criture du script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 69.5Finition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
IX
Complments Nagios
364
365
70 Addons Nagios
Dveloppement
367
368
71.1Autres Ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 71.2Vue d'ensemble du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 71.3Code de retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
71.4Spcications pour la sortie du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 71.5Exemples de sorties de plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 71.6Restriction de longueur de message de sortie de plugin . . . . . . . . . . . . . . . . . . . . 370
71.7Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 71.8Plugins Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 72 Dveloppement de plugins pour tre utiliss avec Perl intgr Nagios 371
72.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 72.2Public vis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 72.3Les choses que vous devriez faire quand vous dveloppez un plugin Perl (ePN ou pas) . 371
72.4Ce que vous devez faire quand vous crivez un plugin Perl pour ePN . . . . . . . . . . . . 372 73 Glossaire 74 Index 375 377
Premire partie
propos
Chapitre 1
propos de Nagios
1.1 Qu'est-ce que c'est ?
Nagios est une application de supervision systme et rseau. Il contrle les htes et services que vous spciez et met des alertes quand les choses vont mal ou qu'elles reviennent la normale. Nagios a t dvelopp pour fonctionner sur Linux, mais devrait fonctionner sur la plupart des systmes unix. Parmi ses fonctionallits, Nagios inclut : La surveillance des services rseaux (SMTP, POP3, HTTP, NTP, PING, etc.) La surveillance des ressources des htes (charge processeur, utilisation des disques, etc.) Un systme simple de plugins permettant aux utilisateurs de dvelopper facilement leurs propres vrications de services Des contrles parallles des services La possibilit de dnir la hirarchie du rseau en utilisant des htes parents, ce qui permet la dtection et la distinction entre htes l'arrt et htes injoignables. Des notications des contacts quand un hte ou un service a un problme et quand celui-ci est rsolu (via email, pager, sms, ou par tout autre mthode dnie par l'utilisateur) La capacit dnir des gestionnaires d'vnements permettant une rsolution proactive des problmes. La rotation automatique des chiers journaux Le support pour mettre en uvre des serveurs de supervision redondants Une interface web optionnelle permettant de voir l'tat courant du rseau, l'historique des notications et problmes, le chier journal, etc.
1.2
Le seul pr-requis pour le fonctionnement de Nagios est une machine fonctionnant sous Linux (ou une variante Unix) et un compilateur C - si vous dsirez le compiler vous-mme -. Il faudra galement que TCP/IP soit congur, car la plupart des vrications de services seront faites par le rseau. Vous n'tes pas oblig d'utiliser les CGIs inclus avec Nagios. Toutefois, si vous vous dcidez les utiliser, vous devrez avoir les composants logiciels suivants installs 1. Un serveur web (de prfrence Apache) 2. La librairie GD de Thomas Boutell en version 1.6.3 ou suprieure (requis par les CGIs statusmap et trends)
1.3
Licence
Nagios est licenci sous les termes de la version 2 de la GNU General Public License telle que publie par la Free Software Foundation . Cela vous donne la permission lgale de copier, distribuer et/ou de modier Nagios sous certaines conditions. Veuillez vous reporter au chier 'LICENSE' de la distribution Nagios ou la version en ligne pour plus de dtails. Nagios est fourni TEL QUE sans AUCUNE GARANTIE D'AUCUNE SORTE, sans mme une garantie implicite de COMMERCIABILITE ou DE CONFORMITE A UNE UTILISATION PARTICULIERE.
1.4
Remerciements
De nombreuses personnes ont contribues Nagios, soit en signalant des bugs, soit en suggrant des amliorations, soit en crivant des plugins, etc. Une liste de quelques-uns des nombreux contributeurs au dveloppement de Nagios se trouve sur http://www.nagios.org/.
1.5
1.6
Support
Options de support
Chapitre 2
Important Assurez vous de lire la documentation et la FAQ sur nagios.org avant de poser des questions sur les mailing lists.
2.2.2 Macros
Nouvelles macros - De nouvelles macros ont t ajoutes : $TEMPPATH$ $LONGHOSTOUTPUT$ $LONGSERVICEOUTPUT$ $HOSTNOTIFICATIONID$ $SERVICENOTIFICATIONID$ $HOSTEVENTID$ $SERVICEEVENTID$
$SERVICEISVOLATILE$ $LASTHOSTEVENTID$ $LASTSERVICEEVENTID$ $HOSTDISPLAYNAME$ $SERVICEDISPLAYNAME$ $MAXHOSTATTEMPST$ $MAXSERVICEATTEMPTS$ $TOTALHOSTSERVICES$ $TOTALHOSTSERVICESOK$ $TOTALHOSTSERVICESWARNING$ $TOTALHOSTSERVICESUNKNOWN$ $TOTALHOSTSERVICESCRITICAL$ $CONTACTGROUPNAME$ $CONTACTGROUPNAMES$ $CONTACTGROUPALIAS$ $CONTACTGROUPMEMBERS$ $NOTIFICATIONRECIPIENTS$ $NOTIFICATIONISESCALATED$ $NOTIFICATIONAUTHOR$ $NOTIFICATIONAUTHORNAME$ $NOTIFICATIONAUTHORALIAS$ $NOTIFICATIONCOMMENT$ $EVENTSTARTTIME$ $HOSTPROBLEMID$ $LASTHOSTPROBLEMID$ $SERVICEPROBLEMID$ $LASTSERVICEPROBLEMID$ $LASTHOSTSTATE$ $LASTHOSTSTATEID$ $LASTSERVICESTATE$ $LASTSERVICESTATEID$. Deux macros de temps la demande ont galement t ajoutes : $ISVALIDTIME:$ $NEXTVALIDTIME:$ Macros supprimes - L'ancienne macro $NOTIFICATIONNUMBER$ a t dsapprouve au bnce des nouvelles macros $HOSTNOTIFICATIONNUMBER$ et $SERVICENOTIFICATIONNUMBER$. Modications - Les macros $HOSTNOTES$ et $SERVICENOTES$ contiennent maintenant elles-mmes des macros, celles-ci sont : $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTESURL$ et $SERVICEACTIONURL$. Les macros sont normalement disponibles comme variables d'environnement quand les contrles, gestionnaires d'vnements, notications et autres commandes sont excutes. Ceci est plutt consommateur de ressources CPU. Dans les installations o Nagios gre un nombre important d'htes et de services, vous devrez alors dsactiver cette fonctionnalit l'aide de l'option enable_environment_macros . Des informations sur les macros peuvent tre trouves ici.
2.2.4 Commentaires
Les commentaires de services et d'htes ne sont plus stocks dans leur propre chier (prcdemment spci l'aide d'un paramtre comment_file dans le chier de conguration principal). Les commentaires courant et retenus sont maintenant stocks respectivement dans le chier statut et le chier de rtention. Les commentaires d'acquittement qui sont marqus comme non persistents sont maintenant supprims quand l'acquittement est fait. Ils taient prcdemment automatiquement supprims au redmarrage de nagios, ce qui n'tait pas idal.
2.2.11 Notications
L'option first_notification_delay a t rajoute la dnition des htes et des services an d'introduire un dlai entre le moment o un problme survient sur un hte/service et le moment o la premire notication est envoye. Dans les versions prcdentes, vous deviez utiliser des congurations complexes avec des escalades pour raliser cela. Cette fonctionnalit est maintenant accessible au commun des mortels. Les notications sont maintenant envoyes pour les htes/services qui oscillent quand la dtection d'oscillations est dsactive au niveau hte, service ou globalement. Dans ce cas, la macro $NOTIFICATIONTYPE$ sera positionne sur FLAPPINGDISABLED. Les notications peuvent maintenant tre envoyes lors de l'entre/sortie dans une priode de maintenance planie et tre annules pour les htes et services. La macro $NOTIFICATIONTYPE$ sera positionne respectivement sur DOWNTIMESTART, DOWNTIMEEND, ou DOWNTIMECANCELLED. Pour recevoir des notications sur les vnements de maintenance planie, prcisez s ou downtime dans les options de notications de contact, d'hte et/ou de service. Vous pouvez trouver plus d'informations sur les notications au chapitre les concernant (Notications )
Les variables hostgroup_members, servicegroup_members, et contactgroup_members ont t ajoutes respectivement aux dnitions de groupes d'htes, de groupes de services et de groupes de contacts. Cela permet d'inclure des htes, services ou contacts de sous-groupes dans vos dnitions de groupes. Les variables notes , notes_url, et action_url ont t ajoutes aux dnitions de groupes d'htes et de groupes de services. Les dnitions de contact ont les nouvelles variables host_notifications_enabled, service_notifications_enabled et can_submit_commands pour mieux contrler les notications et dterminer s'il est possible ou pas de passer des commandes depuis l'interface web. Les dpendances d'hte et de service supportent dsormais une variable optionnelle dependency_period. Elle permet de limiter les priodes de temps pendant lesquelles les dpendances sont valides. La variable parallelize dans les dnitions de services est abandonne et n'est plus utilise. Tous les services sont contrls en parallle dans Nagios 3. Il n'y a plus aucune limite de longueur de nom d'hte ou de description de services. Les expressions rgulires tendues sont dsormais utilises si vous activez l'option de conguration use_regexp_matching Les expressions rgulires de base sont seulement utilises dans certaines variables de dnitions d'objets qui contiennent *, ?, + ou \.. Une nouvelle variable initial_state a t ajoute aux dnitions d'htes et de services, de faon prciser Nagios l'tat dans lequel un hte ou un service doit dmarrer plutt que UP ou OK (qui reste le comportement par dfaut).
Une nouvelle option external_command_buffer_slots a t ajoute pour permettre de facilement dimensionner Nagios dans des installations comprenant de nombreux htes et services. Pour obtenir les meilleurs rsultats, vous devriez utiliser MRTG pour grapher l'usage que fait Nagios des slots de buer dans le temps.
Les contrles passifs d'htes qui ont un rsultat DOWN ou UNREACHABLE peuvent dsormais tre automatiquement traduit dans l'tat appropri du point de vue de l'instance Nagios qui les reoit. C'est particulirement utile dans les installations distribues et redondantes. Vous pouvez trouver plus d'informations sur la traduction d'tat pour les contrles passifs d'htes ici. Les contrles passifs d'htes placent normalement celui-ci dans un tat HARD. Ceci peut dsormais tre chang en activant l'option passive_host_checks_are_soft
2.2.19 IPC
Le mcanisme IPC utilis qui permet de transfrer les rsultats de contrles d'htes/services en retour au dmon Nagios depuis les processus (grand)enfant a chang ! Cela devrait permettre de rduire la charge/latence induite par le traitement de nombreux contrles passifs dans des installations comprenant de nombreux htes et services. Les rsultats de contrles sont maintenant transfrs en crivant dans le dossier prcis par l'option check_result_path . Les chiers plus vieux que l'option max_check_result_file_age seront dtruits dnitivement et sans aucun traitement supplmentaire.
Ajout des nouvelles options notes_url_target et action_url_target pour contrler dans quel cadre (frame) s'ouvrent les liens de notes et d'action. Ajout de la nouvelle option lock_author_names pour prvenir la modication du noms des auteurs soumettant des commentaires, des prises en compte et des priodes de maintenance planie.
2.2.24 Divers
Variable de chemin temporaire - Une nouvelle variable temp_path a t ajoute pour prciser un rpertoire temporaire que Nagios peut utiliser. ID unique attribu par vnement et notication -Un ID unique est maintenant assign chaque notication d'hte et de service. Un autre ID unique est galement assign aux changements d'tats d'htes et services. Les IDs uniques sont rendus accessibles par l'usage des macros suivantes : $HOSTNOTIFICATIONID$ $SERVICENOTIFICATIONID$ $HOSTEVENTID$ $SERVICEEVENTID$ $LASTHOSTEVENTID$ $LASTSERVICEEVENTID$. Nouvelles macros - Quelques autres nouvelles macros ont t ajoutes. Ceci inclut $HOSTGROUPNAMES$ $SERVICEGROUPNAMES$ $HOSTACKAUTHORNAME$ $HOSTACKAUTHORALIAS$ $SERVICEACKAUTHORNAME$ $SERVICEACKAUTHORALIAS$ Frquence de reaper - L'ancienne variable service_reaper_frequency a t renomme en check_result_reaper_frequency puisqu'elle est dsormais galement utilise pour traiter les rsultats de contrles d'htes. Temps maximal de reaper - Une nouvelle variable max_check_result_reaper_time a t ajoute pour limiter le temps d'excution d'un vnement reaper.
Intervalles fractionns - Les intervalles fractionns de notications et d'htes (par exemple 3.5 minutes) sont maintenant supports dans les dnitions d'htes, de services, d'escalades d'htes et de services. chappement des arguments de commande - Vous pouvez maintenant utiliser le point d'exclamation ( !) dans vos arguments de commandes en le faisant prcder d'un backslash (\). Les backslashs doivent tre galement tre prcds d'un backslash si vous avez besoin d'en utiliser dans vos arguments de commandes Sortie de commandes systme multi-lignes - Nagios va maintenant lire plusieurs lignes de sortie pour les commandes systme qu'il excute (scripts de notication, etc.) ; et ce jusqu' 4KiB. C'est la mme limite que le message retour de plugin mentionn plus tt. Les sorties de commandes systme ne sont pas directement traites par Nagios, mais le support en est assur. Meilleure information de planication - Des informations plus prcises sont donnes quand Nagios est excut avec le -s argument de ligne de commande. Cette information peut tre utilise pour rduire le temps de (re)dmarrage de Nagios. Mises jour agrges du chier d'tat - L'ancienne option aggregate_status_updates a t enleve. Toutes les mises jour du chier de statut sont maintenant agrges un intervalle minimum de 1 seconde. Nouveau mode de chier de donnes de performance -Une nouvelle option p a t ajoute aux options host_perfdata_file_mode et service_perfdata_file_mode . Ce nouveau mode ouvre un chier en lecture/criture non exclusive, ce qui est utile pour les chiers tubes. Dcalage de fuseau horaire - Une nouvelle option, use_timezone , a t ajoute an de vous permettre de dmarrer des instances de nagios situes dans des fuseaux horaires autres que le fuseau local.
Chapitre 3
Problmes connus
3.1 Problmes connus
1. Priodes de temps Exclusions dans les contrles d'htes/services - Il y a un problme dans la logique d'ordonnancement qui survient quand vous souhaitez utiliser des priodes de temps conjoitement des paramtres d'exclusion. Il survient quand Nagios Core essaye de rordonnancer le prochain contrle. Dans ce cas, la logique d'ordonnancement est peut ordonnancer de faon incorrecte le prochain contrle en le positionnant beaucoup plus loin dans le futur qu'il ne devrait l'tre. Dans les faits, il court-circuite la logique d'exclusion ; alors qu'il devrait pouvoir placer le contrle plus tt en utilisant les exceptions. Solution de contournement imparfaite : N'utilisez pas de priodes de temps qui excluent d'autres priodes de temps pour vos plages de contrle des htes/services. Un correctif est en cours prparation, et sera certainement inclus dans la version 3.4.x.
Deuxime partie
Dmarrage
Chapitre 4
Chapitre 5
Chapitre 6
6.2 Pr-requis
Vous aurez besoin d'un accs root sur la machine pour quelques passages de l'installation Assurez-vous d'avoir install les paquets suivants sur votre installation Fedora avant de continuer. Apache Compilateur GCC librairies de dveloppement GD Vous pouvez utiliser yum pour installer ces paquets en utilisant les commandes suivantes (en tant que root) :
# # # # yum yum yum yum install install install install httpd gcc glibc glibc-common gd gd-devel
Crez un groupe nagcmd pour autoriser la soumission de commandes externes depuis l'interface web. Ajoutez la fois l'utilisateur nagios et l'utilisateur apache ce groupe.
# /usr/sbin/groupadd nagcmd # /usr/sbin/usermod -G nagcmd nagios # /usr/sbin/usermod -G nagcmd apache
Tlchargez la fois l'archive du code source de Nagios et des plugins Nagios (visitez http://www.nagios.org/download/ pour les liens vers les dernires versions). Au moment de la rdaction, les dernires versions de Nagios et des plugins Nagios taient respectivement la 3.0.3 et la 1.4.11.
# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz # wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -1.4.11.tar.gz
Excutez le script de conguration de Nagios en lui passant le nom du groupe que vous venez juste de crer comme suit :
# ./configure --with-command-group=nagcmd
Installez les binaires, les scripts de dmarrage, les chiers de conguration fournis en exemple et rglez les permissions sur le dossier des commandes externes.
# # # # make make make make install install-init install-config install-commandmode
Crez un compte nagiosadmin pour la connexion l'interface web de Nagios. Souvenez-vous du mot de passe que vous avez attribu ce compte-Vous en aurez besoin plus tard.
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Pour rendre le changement permanent, vous allez devoir modier ces rglages dans /etc/selinux/ config et redmarrer. Plutt que de passer SELinux en mode permissif ou de le dsactiver, vous pouvez utiliser la commande suivante pour excuter les CGIs en mode SELinux enforcing/targeted :
# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ # chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
Pour des informations sur la faon d'utiliser les CGIs Nagios en mode Enforcing avec une police adapte, allez sur le wiki de NagiosCommunity.org l'adresse http://wiki.nagios.org.
6.13 Termin
Flicitations! Vous avez install Nagios avec succs. Votre voyage dans l'univers de la supervisoin ne fait que commencer. Vous aurez sans nul doute envie de superviser plus que votre seule machine locale, alors jetez un il aux documentations suivantes Superviser des machines Windows Superviser des machines Linux/Unix Superviser des serveurs Netware Superviser des routeurs/switchs Superviser des services disponibles publiquement (HTTP FTP SSH, etc.) , ,
Chapitre 7
Crez un groupe nagcmd pour autoriser la soumission de commandes externes depuis l'interface web. Ajoutez la fois l'utilisateur nagios et l'utilisateur apache ce groupe.
# /usr/sbin/groupadd nagcmd # /usr/sbin/usermod -G nagcmd nagios # /usr/sbin/usermod -G nagcmd wwwrun
Tlchargez la fois l'archive du code source de Nagios et des plugins Nagios (visitez http://www.nagios.org/download/ pour les liens vers les dernires versions). Au moment de la rdaction, les dernires versions de Nagios et des plugins Nagios taient respectivement la 3.0.2 et la 1.4.11.
# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz # wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -1.4.11.tar.gz
Excutez le script de conguration de Nagios en lui passant le nom du groupe que vous venez juste de crer comme suit :
# ./configure --with-command-group=nagcmd
Installez les binaires, les scripts de dmarrage, les chiers de conguration fournis en exemple et rglez les permissions sur le dossier des commandes externes.
# # # # make make make make install install-init install-config install-commandmode
Crez un compte nagiosadmin pour la connexion l'interface web de Nagios. Retenez le mot de passe que vous attribuez ce compte - vous en aurez besoin plus tard.
# htpasswd2 -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Chapitre 8
Sur Ubuntu 7.10, le nom de la librairie gd2 a chang, vous devez donc utiliser ce qui suit :
$ sudo apt-get install libgd2-xpm-dev
Sur la version Ubuntu server (6.01 et peut-tre versions plus rcentes), vous devrez galement ajouter un groupe nagios (il n'est pas cr par dfaut). Vous devriez pouvoir viter cette manipulation sur la version desktop de Ubuntu.
# /usr/sbin/groupadd nagios # /usr/sbin/usermod -G nagios nagios
Crez un groupe nagcmd pour autoriser la soumission de commandes externes depuis l'interface web. Ajoutez la fois l'utilisateur nagios et l'utilisateur apache ce groupe.
# /usr/sbin/groupadd nagcmd # /usr/sbin/usermod -G nagcmd nagios # /usr/sbin/usermod -G nagcmd www-data
Tlchargez la fois l'archive du code source de Nagios et des plugins Nagios (visitez http://www.nagios.org/download/ pour les liens vers les dernires versions). Au moment de la rdaction, les dernires versions de Nagios et des plugins Nagios taient respectivement la 3.0.2 et la 1.4.11.
# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz # wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -1.4.11.tar.gz
Excutez le script de conguration de Nagios en lui passant le nom du groupe que vous venez juste de crer comme suit :
# ./configure --with-command-group=nagcmd
# make all
Installez les binaires, les scripts de dmarrage, les chiers de conguration fournis en exemple et rglez les permissions sur le dossier des commandes externes.
# # # # make make make make install install-init install-config install-commandmode
Crez un compte nagiosadmin pour la connexion l'interface web de Nagios. Retenez le mot de passe que vous attribuez ce compte - vous en aurez besoin plus tard.
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Vous devez diter les commandes de courrier lectronique Nagios qui peuvent tre trouves dans /usr/local/nagios/etc/objects/commands.cfg et remplacer toutes les rfrences /bin/mail en /usr/bin/mail. Une fois ceci fait, vous devez redmarrer Nagios pour prendre en compte ces mofdications.
$ sudo /etc/init.d/nagios restart
La conguration des notications par courrier lectronique est en dehors du champ de cettte documentation. Rfrez-vous la documentation de votre systme, recherchez sur le web, ou regardez sur le wiki NagiosCommunity.org pour des instructions spciques sur la faon de congurer votre systme Ubuntu pour qu'il envoie des courriers lectroniques vers des adresses extrieures.
Chapitre 9
Tlchargez le code source de la dernire version de Nagios (visitez http://www.nagios.org/download/ pour avoir le lien vers la dernire version).
$ wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.x.tar.gz
Excutez le script de conguration de Nagios, en passant le nom du groupe utilis pour contrler les permissions du chiers de commande comme ceci :
$ ./configure --with-command-group=nagcmd
Installation de la mise jour des binaires, de la documentation et l'interface web. Vos chiers de conguration ne seront pas crass par cette tape.
$ make install
Tous les autres chiers de dnition d'objets Le chier de rtention (normalement nomm retention.dat) Le chier de log en cours de Nagios (normalement nomm nagios.log) Les chiers de log Nagios archivs 2. Dsinstallez les packages RPM ou APT originaux 3. Installez Nagios depuis les sources en suivant le Guides d'installation rapide 4. Restaurez vos chiers originaux de conguration Nagios, de rtention et de logs 5. Vriez votre conguration et dmarrez Nagios Note Dirents packages RPM ou APT peuvent installer Nagios de faons direntes et dirents endroits. Soyez srs d'avoir correctement sauvegard vos chiers Nagios critiques avant de supprimer les packages RPM ou APT originaux, vous ne pourrez pas revenir en arrire si vous rencontrez des problmes.
Chapitre 10
10.1 Introduction
Les services rendus publics qui sont fournis par des machines Windows (HTTP, FTP, POP3, etc.) peuvent tre superviss de faon simple en suivant la documentation sur la supervision des services publics disponibles . Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t install si vous avez suivi le guide rapide.
Superviser des attributs et services privs sur une machine Windows requiert l'installation d'un agent sur celle-ci. Cet agent agit comme un proxy entre les plugins Nagios qui font la supervision et le service ou l'attribut sur la machine Windows. Sans installation d'agent sur la machine Windows, Nagios serait incapable de superviser le moindre attributs ou services privs de la machine Windows. Pour cet exemple, nous allons installer l'addon NSClient++ sur la machine Windows et utiliser le plugin check_nt pour communiquer avec NSCLient++. Le plugin check_nt devrait dj tre install sur le serveur Nagios si vous avez suivi le guide d'installation rapide. Vous pouvez utiliser d'autres agents Windows (comme NC_Net) si vous le souhaitez - condition de changer un peu les commandes et les dnitions de services, etc. Pour faire simple, je ne couvrirais que l'utilisation de NSCLient++ dans ces instructions.
10.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser une nouvelle machine Windows. Les voici : 1. Procder aux pr-requis ncessaires la premire fois 2. Installez un agent de supervision sur la machine Windows 3. Crez de nouvelles dnitions d'hte et de service pour superviser la machine Windows 4. Redmarrez le dmon Nagios
10.5 Pr-requis
La premire fois que vous congurez Nagios pour superviser une machine Windows, vous avez un peu plus de travail faire. Souvenez-vous, vous n'avez le faire que pour la *premire* machine Windows superviser. ditez le chier de conguration principal de Nagios.
#vi /usr/local/nagios/etc/nagios.cfg
Enregistrez le chier et quittez. Qu'avez-vous fait ? Vous avez dit Nagios de regarder dans le chier /usr/local/nagios/etc/objects/ windows.cfg pour y trouver des dnitions d'objets additionnels. C'est l que vous ajouterez des dnitions pour l'hte Windows. Ce chier de conguration contient dj un exemple de dnitions d'hte, de groupe d'htes et de service. Pour la *premire* machine Windows que vous supervisez, vous pouvez simplement modier les dnitions d'exemples d'hte et de service dans ce chier plutt que d'en crer de nouvelles.
5. Installez le module NSClient++ pour la barre des tches avec la commande suivante ('SysTray' est sensible la casse) :
C:\> nsclient++ SysTray
6. Ouvrez le gestionnaire des services et assurez-vous que le service NSClientpp est autoris interagir avec le bureau (regardez sous l'onglet 'Log On' du gestionnaire de services). Cochez la case correspondante si ce n'est dj fait.
7. ditez le chier NSC.INI (situ dans le rpertoire C:\NSClient++) et eectuez les changements suivants : Dcommentez tous les modules lists dans la section [modules], excepts CheckWMI.dll et RemoteConfiguration.dll Exigez optionnellement un mot de passe des clients en remplaant l'option password dans la section [Settings]. Dcommentez l'option allowed_hosts dans la section [Settings]. Ajoutez l'adresse IP du serveur Nagios cette ligne, ou laisser vide pour autoriser n'importe quel hte se connecter. Assurez-vous que l'option port dans la section [NSClient] soit dcommente et rgle sur '12489' (le port par dfaut). 8. Dmarrez le service NSClient++ avec la commande suivante :
C:\> nsclient++ /start
9. Si l'installation est correcte, une nouvelle icne devrait apparatre dans votre barre des tches. Ce sera un cercle jaune avec un 'M' noir l'intrieur. 10. Bravo! Le serveur Windows peut dsormais tre ajout la conguration de Nagios
#vi /usr/local/nagios/etc/objects/windows.cfg
Ajouter une nouvelle dnition d'hte pour la machine Windows que vous souhaitez superviser. Si c'est la *premire* que vous supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans windows.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropries pour votre machine Windows.
define host { use windows-server ; Inherit default values from a Windows server template ( make sure you keep this line!) host_name winserver alias My Windows Server address 192.168.1.2 } -
Bien. Maintenant vous pouvez ajouter quelques dnitions de services (dans le mme chier de conguration) pour indiquer Nagios de superviser dirents aspects de la machine Windows. Si c'est votre *premire* machine Windows, vous pouvez simplement modier les dnitions exemples de services dans windows.cfg. Note Remplacez winserver dans les dnitions d'exemples ci-dessous par le nom que vous avez prcis dans le paramtre de la dnition de l'hte que vous venez d'ajouter.
Ajoutez la dnition de service suivante pour contrler la version du addon NSClient++ tournant sur le serveur Windows. Cela devient utile quand il s'agit de mettre jour des serveurs Windows vers une nouvelle version du addon, en vous permettant de dterminer quelles sont les machines Windows ncessitant une mise jour vers la dernire version de NSClient++.
define service { use host_name service_description check_command } generic-service winserver NSClient++ Version check_nt!CLIENTVERSION
Ajoutez la dnition de service suivante pour superviser le temps coul depuis le dernier re/dmarrage du serveur Windows.
define service { use host_name service_description check_command } generic-service winserver Uptime check_nt!UPTIME
Ajoutez la dnition de service suivante pour superviser la charge CPU du serveur Windows et gnrer une alerte CRITICAL si la charge CPU des 5 dernires minutes est gale 90% ou plus ou une alerte WARNING si la charge CPU des 5 dernires minutes est gale 80% ou plus.
define service { use host_name service_description check_command } generic-service winserver CPU Load check_nt!CPULOAD!-l 5,80,90
Ajoutez la dnition de service suivante pour superviser l'utilisation de la mmoire du serveur Windows et gnrer une alerte CRITICAL si l'utilisation de la mmoire est gale 90% ou plus ou une alerte WARNING si l'utilisation de la mmoire est gale 80% ou plus.
define service { use host_name service_description check_command } generic-service winserver Memory Usage check_nt!MEMUSE!-w 80 -c 90
Ajoutez la dnition de service suivante pour superviser l'espace utilis du disque C :\ du serveur Windows et gnrer une alerte CRITICAL si l'espace utilis du disque est gale 90% ou plus ou une alerte WARNING si l'espace utilis du disque est gale 80% ou plus.
define service { use host_name service_description check_command } generic-service winserver C:\ Drive Space check_nt!USEDDISKSPACE!-l c -w 80 -c 90
Ajoutez la dnition de service suivante pour superviser l'tat du service W3SVC et gnrer une alerte CRITICAL si ce service est arrt.
define service { use host_name service_description check_command } generic-service winserver W3SVC check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
Ajoutez la dnition de service suivante pour superviser l'tat du processus Explorer.exe et gnrer une alerte CRITICAL si ce processus ne tourne pas.
define service { use host_name service_description check_command } generic-service winserver Explorer check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
Voil pour le moment. Vous avez ajout des services simples qui devraient tre superviss sur les machines Windows. Enregistrez le chier de conguration.
Modiez la dnition de la commande check_nt pour inclure l'argument -s <PASSWORD> (o PASSWORD est le mot de passe prcis sur la machine Windows) comme suit :
define command { command_name command_line } check_nt $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
Chapitre 11
11.1 Introduction
Les services rendus publics qui sont fournis par des serveurs Linux (HTTP, FTP, SSH, SMTP, etc.) peuvent tre superviss de faon simple en suivant la documentation sur la Supervision des services publiquement disponibles. Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t installs si vous avez suivi le guide rapide.
Il y a plusieurs faons de superviser les attributs ou des serveurs distants Linux/Unix. Une est d'utiliser des cls partages SSH et le plugin check_by_ssh pour excuter de splugins sur les serveurs distants. Cette mthode n'est pas aborde ici, mais peut amener une grande charge sur le serveur de supervision si vous superviser des centaines ou milliers de services. La charge de travail supplmentaire pour crer/dtruire les connexions SSH est la cause de ceci.
Une autre faon commune de superviser des htes distants Linux/Unix est d'utiliser l'addon NRPENRPE. NRPE vous permet d'excuter des plugins sur les htes distants Linux/Unix. C'est utile si vous devez superviser les attributs/ressources locaux comme l'utilisation disque, la charge CPU, l'utilisation mmoire, etc. sur une hte distant.
Chapitre 12
Merci Christian Mies , Rainer Brunold , et aux autres pour leurs contributions la documentation sur Nagios et Netware, aux extensions, etc. sur le site de Novell !
Chapitre 13
13.1 Introduction
Le plugin check_hpjd (qui fait partie de la distribution des plugins standards Nagios) vous permettent de superviser l'tat de toutes imprimantes compatibles JetDirect avec SNMP activ. Le plugin est capable de dtecter les tats suivants de l'imprimante : Bourrage papier Plus de papier Imprimante hors ligne Intervention requise Toner presque vide Mmoire insusante Porte ouverte Le plateau de sortie papier est plein Et bien d'autres Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t installs si vous avez suivi le guide rapide.
Superviser l'tat d'une imprimante rseau est simple. Les imprimantes compatibles JetDirect ont en gnral SNMP activ, ce qui permet Nagios de les superviser en utilisant le plugin check_hpjd. Le plugin check_hpjd sera compil et install seulement si vous avez les paquets net-snmp et netsnmp-utils installs sur votre systme. Assurez-vous que le plugin soit prsent dans /usr/local/ nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-snmp-utils et recompilez/rinstallez les plugins Nagios.
13.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser une nouvelle imprimante rseau. Les voici : 1. Procdez aux pr-requis ncessaires la premire fois 2. Crez de nouvelles dnitions d'hte et service pour la supervision de l'imprimante 3. Redmarrez le dmon Nagios
13.5 Pr-requis
La premire fois que vous congurez Nagios pour superviser une imprimante rseau, vous avez un peu plus de travail faire. Souvenez-vous, vous n'avez le faire que pour la *premire* imprimante superviser.
Enregistrez le chier et quittez. Qu'avez-vous fait ? Vous avez dit Nagios de regarder dans le chier /usr/local/nagios/etc/objects/ printer.cfg pour y trouver des dnitions d'objets additionnels. C'est l que vous ajouterez des dfinitions pour l'imprimante. Ce chier de conguration contient dj un exemple de dnitions d'hte, de groupe d'htes et de service. Pour la *premire* imprimante que vous supervisez, vous pouvez simplement modier les dnitions d'exemples d'hte et de service dans ce chier plutt que d'en crer de nouvelles.
Ajouter une nouvelle dnition d'hte pour l'imprimante rseau que vous souhaitez superviser. Si c'est la *premire* que vous supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans printer.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropries pour votre imprimante.
define host { use host_name alias address hostgroups } generic-printer ; Inherit default values from a template hplj2605dn ; The name we're giving to this printer HP LaserJet 2605dn ; A longer name associated with the printer 192.168.1.30 ; IP address of the printer allhosts ; Host groups this printer is associated with
Vous pouvez ajouter maintenant quelques dnitions de services (dans le mme chier de conguration) pour superviser dirents aspects de votre imprimante. Si c'est la *premire* imprimante que vous supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans printer.cfg. Note Remplacez hplj2605dn dans les exemples de dnitions ci-dessous par le nom que vous avez renseign dans le paramtre host_name que vous venez d'ajouter dans la dnition d'hte.
Ajoutez cette dnition de service pour pouvoir superviser l'tat de l'imprimante. Le service utilise le plugin check_hpjd pour vrier l'tat de l'imprimante toutes les 10 minutes par dfaut. La communaut SNMP utilise dans cet exemple pour interroger l'imprimante est public.
define service { use host_name with service_description check_command normal_check_interval generic-service hplj2605dn ; Inherit values from a template ; The name of the host the service is associated -
Printer Status ; The service description check_hpjd!-C public ; The command used to monitor the service 10 ; Check the service every 10 minutes under normal conditions
retry_check_interval is determined }
Ajoutez la dnition de service suivante pour pinger l'imprimante toutes les 10 minutes par dfaut. C'est utile pour superviser le RTA, les paquets perdus et la connectivit rseau.
define service { use host_name service_description check_command normal_check_interva retry_check_interval } generic-service hplj2605dn PING check_ping!3000.0,80%!5000.0,100% 10 1
Enregistrez le chier.
Chapitre 14
14.1 Introduction
Je vais dcrire la faon dont vous pouvez superviser les choses suivantes sur vos switchs, hubs et routeurs : Paquet perdu, temps moyen de parcours (round trip average) Information d'tat SNMP Trac / bande passante consomme Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t install si vous avez suivi le guide rapide.
La supervision des switchs et routeurs peut au choix tre simple ou plus volue suivant le type d'quipements que vous souhaitez superviser. Dans le cas o ce sont des composants critiques de votre infrastrcuture, vous voudrez sans aucun doute les superviser d'une faon au moins basique. Les switchs et les routeurs peuvent facilement tre superviss en les pingant pour dterminer le nombre de paquets perdus, RTA, etc. Si votre switch supporte SNMP, vous pouvez superviser l'tat des ports, etc. avec le plugin check_snmp et la bande passante avec check_mrtgtraf plugin (si vous utilisez MRTG). Le plugin check_snmp sera compil et install seulement si vous avez les paquets net-snmp et netsnmp-utils installs sur votre systme. Assurez-vous que le plugin soit prsent dans /usr/local/ nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-snmp-utils et recompilez/rinstallez les plugins Nagios.
14.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser un nouveau routeur ou switch. Les voici : 1. Procdez aux pr-requis ncessaires la premire fois 2. Crez de nouvelles dnitions d'hte et service pour la supervision du priphrique. 3. Redmarrez le dmon Nagios
Les chiers de conguration mentionns ci-dessus peuvent tre trouvs dans le rpertoire /usr/ local/nagios/etc/objects/. Vous pouvez modier les dnitions de ceux-ci ou en crer de nouvelles pour rpondre le mieux votre besoin. Quoi qu'il en soit, je vous recommande d'attendre d'avoir une meilleure connaissance de la conguration de Nagios avant de le faire. Pour le moment, contentezvous de suivre les directions prcises ci-dessous et vous pourrez superviser vos routeurs/switchs rseaux en un rien de temps.
14.5 Pr-requis
La premire fois que vous congurez Nagios pour superviser un switch rseau, vous avez un peu plus de travail faire. Souvenez-vous, vous n'avez le faire que pour le *premier* switch superviser. ditez le chier de conguration principal de Nagios.
#vi /usr/local/nagios/etc/nagios.cfg
Enregistrez le chier et quittez. Qu'avez-vous fait ? Vous avez dit Nagios de regarder dans le chier /usr/local/nagios/etc/objects/ switch.cfg pour y trouver des dnitions d'objets additionnels. C'est l que vous ajouterez des dfinitions pour les routeurs et les switchs. Ce chier de conguration contient dj un exemple de denitions d'hte et de service. Pour le *premier* routeur/switch que vous supervisez, vous pouvez simplement modier les dnitions d'exemple d'hte et de service dans ce chier plutt que d'en crer de nouvelles.
Ajouter une nouvelle dnition d'hte pour le switch que vous souhaitez superviser. Si c'est le *premier* que vous supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans switch.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropries pour votre switch.
define host { use host_name alias address hostgroups } generic-switch ; Inherit default values from a template linksys-srw224p ; The name we're giving to this switch Linksys SRW224P Switch ; A longer name associated with the switch 192.168.1.253 ; IP address of the switch allhosts,switches ; Host groups this switch is associated with
Note Remplacez linksys-srw224p dans les exemples de dnitions ci-dessous par le nom que vous avez renseign dans le paramtre host_name que vous venez d'ajouter dans la dnition d'hte.
1 2 3 4 5 6
O O O O O O
1 2 3 4 5 6
O O O O O O
Hrite des valeurs dnies dans le gabarit Le nom de l'hte et du service associ La description du service La commande utiliser pour superviser le service Contrle le service toutes les 5 minutes en conditions normales Recontrle le service toutes les minutes jusqu' ce que son tat nal/hard soit dtermin
Le service sera : CRITICAL si le temps de rponse moyen (RTA) est plus lev que 600 millisecondes ou que le nombre de paquets perdus est gal ou suprieur 60% WARNING si le RTA est suprieur 200 ms ou que le nombre de paquets perdus est gal ou suprieur 20% OK si le RTA est infrieur 200 ms et que le nombre de paquets perdus est infrieur 20%
Dans le paramtre check_command de la dnition de service ci-dessus, le -C public indique au plugin que le nom de communaut SNMP utiliser est public et que -o sysUpTime.0 indique que l' OID doit tre contrl. Si vous souhaitez vous assurer qu'un port/interface particulier du switch est dans un tat up, vous pouvez ajouter une dnition de service comme celle-ci:
define service { use host_name service_description check_command } generic-service ; Inherit values from a template linksys-srw224p Port 1 Link Status check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
Dans l'exemple ci-dessus, -o ifOperStatus.1 fait rfrence OID pour l'tat oprationnel du port 1 sur le switch. L'option -r 1 indique au plugin check_snmp de retourner un tat OK si 1 est trouv dans la rponse SNMP (1 indique que le port est up) et CRITICAL sinon. L'option -m RFC1213-MIB est optionnel et indique la MIB utiliser parmi celles installes sur votre systme et peut aider acclrer les choses. Voil pour l'exemple de supervision avec SNMP. Il y a des millions de choses qui peuvent tre supervises par SNMP, aussi est-ce vous dcider ce que dont vous avez besoin et ce que vous souhaitez superviser. Bonne chance ! ASTUCE Vous pouvez trouver les OIDs qui peuvent superviss sur un switch en excutant la commande suivante (remplacez 192.168.1.253 par l'adresse IP de votre switch) : snmpwalk -v1 -c public 192.168.1.253 -m ALL .1
Dans l'exemple ci-dessus, l'option /var/lib/mrtg/192.168.1.253_1.log passe la commande check_local indique au plugin dans quel chier de log MRTG il doit aller lire. L'option AVG indique qu'il doit utiliser des statistiques bases sur la moyene de la bande passante. Les arguments 1000000,2000000 sont les seuils de warning (en bytes) pour le taux de trac entrant. Les arguments 5000000,5000000 sont des seuils critiques (en bytes) pour le taux de trac sortant. L' 10 option indique au plugin de renvoyer un tat CRITICAL si le chier de log MRTG est plus vieux que 10 minutes (il devrait tre mis jour toutes les 5 minutes). Enregistrez le chier.
Chapitre 15
15.1 Introduction
Les services privs, l'oppos, ne peuvent pas tre superviss par Nagios sans agent intermdiaire de quelque type. Les exemples de services privs associs des htes sont des choses comme la charge CPU, l'utilisation mmoire, l'utilisation du disque, le nombre d'utilisateurs connects, des informations sur les processus, etc. Ces services privs ou attributs d'htes ne sont en gnral pas exposs un client externe. Cette situation requiert qu'un agent intermdiaire de supervision soit install sur chacun des htes dont vous avez besoin de superviser ce type d'informations. Plus d'information sur la supervision des services privs attachs des htes de dirents types peut tre trouve dans la documentation : Superviser des machines Windows Superviser des serveurs Netware Superviser des machines Linux/Unix ASTUCE Vous trouverez occasionnellement que cette information sur les services et applications privs peut tre supervise avec SNMP. L'agent SNMP vous permet de superviser distance l'information d'hte normalement prive (et inaccessible). Jetez un il sur la documentation Supervision des routeurs/switchs pour avoir plus d'information sur la faon de superviser des services avec le protocole SNMP.
Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t installs si vous avez suivi le guide rapide.
Maintenant qu'une dnition d'hte a t ajoute pour l'hte superviser, nous pouvons commencer dnir les services qui doivent tre contrls. Comme pour la dnition de l'hte, les dnitions de services peuvent tre mises dans n'importe quel chier de conguration.
Quelques exemples de dnitions de services pour superviser des services publics communs (HTTP, FTP, etc.) sont donns ci-dessous.
Une dnition simple de service pour superviser un service HTTP sur la machine remotehost pourrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost HTTP check_http
Cette simple dnition de service va superviser le service HTTP fonctionnant sur remotehost. Ce service gnrera des alertes si le sereur web ne rpond pas dans les 10 secondes ou si la rponse contient un code d'erreur HTTP (403, 404, etc.). C'est tout ce dont vous avez besoin pour une supervision basique. Plutt simple, non ? ASTUCE Pour des possibilits plus avances de supervision, utilisez le plugin check_http manuellement avec --help comme argument de la ligne de commande pour voir toutes les options que peut vous fournir ce plugin. Cette syntaxe --help fonctionne avec tous les plugins couverts par cette documentation.
Une dnition plus avance pour superviser le service HTTP est donne ci-dessous. Cette dnition de service va vrier que l'adresse URI /download/index.php contient la chane de caractres latestversion.tar.gz. Une erreur sera produite si la chane n'est pas trouve, si l'URI n'est pas valable, ou si le serveur web met plus de 5 secondes rpondre.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost Product Download Link check_http!-u /download/index.php -t 5 -s "latest-version.tar.gz"
Une dnition simple de service pour superviser un serveur FTP sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost FTP check_ftp
Cette dnition de service va superviser le service FTP et gnrer des alertes si le serveur FTP ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur FTP en coute sur le port 1023 de remotehost. Une alerte sera mise si le serveur ne rpond pas dans les 5 secondes ou si la rponse que fait le serveur ne contient pas la chane de caractre Pure-FTPd [TLS].
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost Special FTP check_ftp!-p 1023 -t 5 -e "Pure-FTPd [TLS]"
Une dnition simple de service pour superviser un serveur SSH sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SSH check_ssh
Cette dnition de service va superviser le service SSH et gnrer des alertes si le serveur ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur SSH et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si le numro de version ne correspond pas OpenSSH_4.2.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SSH Version Check check_ssh!-t 5 -r "OpenSSH_4.2"
Une dnition simple de service pour superviser un serveur SMTP sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SMTP check_smtp
Cette dnition de service va superviser le service SMTP et gnrer des alertes si le serveur SMTP ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur SMTP et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si la rponse du serveur ne contient pas la chane de caractres mygreatmailserver.com.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SMTP Response Check check_smtp!-t 5 -e "mygreatmailserver.com"
Une dnition simple de service pour superviser un serveur POP3 sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost POP3 check_pop
Cette dnition de service va superviser le service POP3 et gnrer des alertes si le serveur POP3 ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur POP3 et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si la rponse du serveur ne contient pas la chane de caractres mygreatmailserver.com.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost POP3 Response Check check_pop!-t 5 -e "mygreatmailserver.com"
Une dnition simple de service pour superviser un serveur IMAP4 sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost IMAP check_imap
Cette dnition de service va superviser le service IMAP4 et gnrer des alertes si le serveur IMAP ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le service IMAP4 et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si la rponse du serveur ne contient pas la chane de caractres mygreatmailserver.com.
generic-service ; Inherit default values from a template remotehost IMAP4 Response Check check_imap!-t 5 -e "mygreatmailserver.com"
Troisime partie
Congurer Nagios
Chapitre 16
Survol de la conguration
16.1 Introduction
Il va falloir crer et diter plusieurs chiers de conguration avant de pouvoir surveiller quoique ce soit. Soyez patient ! La conguration de Nagios peut prendre du temps, surtout si vous tes nouvel utilisateur. Quand vous aurez compris comment fonctionne les choses, vous ne regretterez pas le temps pass. :-) Note Des chiers exemples de conguration sont installs dans le rpertoire /usr/local/nagios/etc/, si vous avez suivi le guide de dmarrage rapide .
Les chiers des ressources sont utiliss pour stocker les macros dnies par les utilisateurs. L'avantage de ces chiers est de pouvoir y mettre des donnes sensibles de conguration (comme des mots de passe) qui ne seront pas accessibles travers les CGIs. Vous pouvez dnir un ou plusieurs chiers optionnels de ressources avec le paramtre resource_file dans le chier de conguration principal.
Chapitre 17
Format log_file=<nom_de_fichier> Exemple log_file=/usr/local/nagios/var/nagios.log Cette variable dtermine le chemin d'accs au chier journal principal de Nagios. Elle doit tre la premire variable dnie dans le chier de conguration, car Nagios essaiera d'enregistrer cet endroit les erreurs dcouvertes dans le reste du chier. Si vous avez activ la rotation des journaux ,ce chier sera automatiquement archiv et remplac chaque heure, jour, semaine et mois.
Note Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Notications dsactives 1 = Notications actives (dfaut)
dsactiviez l'option use_retained_program_state. Si vous voulez changer cette variable alors que la mmorisation d'tat est active (ainsi que l'option use_retained_program_state), vous devrez passer par la commande externe approprie ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : Note Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Ne pas accepter les contrles passifs de services 1 = Accepter les contrles passifs de services (dfaut)
Exemple accept_passive_host_checks=1 Cette option dtermine si Nagios accepte les contrles passifs d'hte quand il (re)dmarrera. Si cette option est dsactive, Nagios n'acceptera aucun contrle passif d'hte. Note : si vous avez activ la mmorisation d'tat, Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le chier de mmorisation d'tat), moins que vous ne dsactiviez l'option use_retained_program_state. Si vous voulez changer cette variable alors que la mmorisation d'tat est active (ainsi que l'option use_retained_program_state), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : Note Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Ne pas accepter les contrles passifs d'htes 1 = Accepter les contrles passifs d'htes (dfaut)
Cette option dtermine si Nagios activera les gestionnaires d'vnement quand il (re)dmarrera. Si cette option est dsactive, Nagios ne lancera aucun gestionnaire d'vnement li aux htes ou aux services. Note : si vous avez activ la mmorisation d'tat, Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le chier de mmorisation d'tat), moins que vous ne dsactiviez l'option use_retained_program_state. Si vous voulez changer cette variable alors que la mmorisation d'tat est active (ainsi que l'option use_retained_pro vous devrez passer par la commande externe approprie ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : Note Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Gestionnaire d'vnements dsactiv 1 = Gestionnaire d'vnements activ (dfaut)
Note Note : en mettant cette valeur -1, Nagios contrlera les commandes externes aussi souvent que possible. Chaque fois que Nagios contrle les commandes externes, il lit et traite toutes les commandes prsentes dans le Section17.3.23 avant de passer d'autres tches. Vous trouverez plus d'informations sur les commandes externes ici.
Cette option dtermine le nombre de slots tampon que Nagios va rserver pour mettre en cache les commandes externes qui ont t lues depuis le chier de commandes externes par un processus enfant (worker thread) mais qui n'ont pas encore t trait par le processus principal (main thread) du dmon Nagios. Chaque slot peut grer une commande externe, ce qui fait que cette option dtermine le nombre de commandes externes qui peuvent tre mis en tampon. Pour des installations o vous avez besoin de traiter un nombre important de contrles passifs (comme dans les environnements distribus), vous aurez peut-tre besoin d'augmenter ce nombre. Vous devriez considrer l'utilisation de MRTG pour grapher l'usage que fait Nagios des tampons de commande externe. Vous pouvez en apprendre davantage sur la faon de congurer les graphes ici.
17.3.31
AVERTISSEMENT C'est une fonction avance. Vous aurez besoin de lire le code source de Nagios pour utiliser cette option de faon ecace.
Ces options dtermine quels sont les attributs d'htes et services qui ne seront PAS conservs entre les redmarrages du programme. Les valeurs pour ces options sont au niveau du bit (bitwise) ET les valeurs spcies par les dnitions de MODATTR_ dans le chier du code source include/common.h. Par dfaut, tous les attributs d'htes et services sont conservs.
17.3.32
AVERTISSEMENT C'est une fonction avance. Vous aurez besoin de lire le code source de Nagios pour utiliser cette option de faon ecace.
Ces options dterminent quels sont les attributs de processus qui ne seront PAS conservs entre les redmarrages du programme. Il y a deux masques parce qu'il y a souvent des attributs spars qui peuvent tre changs pour les htes et services. Par exemple, les contrles d'htes peuvent tre dsactivs au niveau du programme, alors que les services restent eux activs. Les valeurs pour ces options sont au niveau du bit (bitwise) ET les valeurs spcies par les dnitions de MODATTR_ dans le chier du code source include/common.h. Par dfaut, tous les attributs de processus sont conservs.
17.3.33
AVERTISSEMENT C'est une fonction avance. Vous aurez besoin de lire le code source de Nagios pour utiliser cette option de faon ecace.
Ces options dterminent quels sont les attributs de contact qui ne seront PAS conservs entre les redmarrages du programme. Il y a deux masques parce qu'il y a souvent des attributs spars qui peuvent tre changs pour les contacts d'htes et de services. Les valeurs pour ces options sont au niveau du bit (bitwise) ET les valeurs spcies par les dnitions de MODATTR_ dans le chier du code source include/common.h. Par dfaut, tous les attributs de contact sont conservs.
Cette variable dtermine si les messages de notication sont journaliss ou non. Si vous avez de nombreux contacts ou des problmes frquents sur les services, le chier journal va rapidement grossir. Utilisez cette option pour viter de journaliser les notications faites aux contacts. 0 = Don't log notications 1 = Log notications
0 = Ne pas journaliser les commandes externes 1 = Journaliser les commandes externes (dfaut)
n = Ne pas utiliser de dlai [no delay] - ordonnancer le lancement de toutes les contrles maintenant (i.e. en mme temps !) d = Utiliser un dlai irrchi [dumb] d'1 seconde entre les contrles de service s = Utiliser un calcul de dlai dbrouillard [smart] pour rpartir galement les contrles de service (par dfaut) x.xx = Utiliser le dlai fourni de x.xx secondes
Cette option dtermine le nombre maximal de contrles de service pouvant tourner en parallle un instant donn. Une valeur de 1 empche la paralllisation. Une valeur de 0 (par dfaut) n'impose aucune restriction sur le nombre de contrles simultans. Vous ajusterez cette valeur en fonction des capacits de la machine sur laquelle tourne Nagios, car elle impacte directement la charge du systme (processeur, mmoire, etc.). Vous trouverez plus d'informations sur le nombre de contrles de services que vous devriez autoriser ici.
C'est le nombre de secondes que contient une unit de temps utilise dans la le d'ordonnancement, les re-notications, etc. Les units de temps sont utilises dans le chier de conguration des objets pour dterminer la frquence d'excution des contrles de service, la frquence de re-notication d'un contact, etc.
Important La valeur par dfaut de cette variable est 60, ce qui veut dire qu'une unit de temps de 1 dans le chier de conguration des htes vaut 60 secondes (1 minute). Je n'ai pas vraiment test d'autres valeurs pour cette variable, donc vous la modierez vos risques et prils !
AVERTISSEMENT ATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VERSIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEU DE LES AMELIORER, SI ELLE EST MAL UTILISEE.
Exemple auto_rescheduling_window=180 Cette option dtermine la fentre de temps (en seconde) sur laquelle Nagios va porter le rordonnancement automatique. Seules les vrications d'htes et de services qui doivent avoir lieu durant les prochaines N secondes seront aectes par le rordonnancement. Cette option n'a d'eet que si l'Section17.3.56 est active. La valeur par dfaut est de 180 secondes (3 minutes).
AVERTISSEMENT ATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VERSIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEU DE LES AMELIORER, SI ELLE EST MAL UTILISEE.
Cette option dtermine si en eet Nagios traitera les contrles d'hte passif en tats HARD ou SOFT. Par dfaut, les rsultats de contrles passif sont considrs en tat HARD. Vous pouvez changer ceci en activant cette option. 0 = Les controles d'hte passifs sont HARD 1 = Les contrles d'hte passifs sont SOFT
Note Note : si vous avez activ la mmorisation d'tat ,Nagios ignorera cette option son (re)dmarrage et utilisera la dernire valeur connue (telle qu'elle est enregistre dans le chier de mmorisation des tats ), moins que vous ne dsactiviez l'option use_retained_program_state. Si vous voulez changer cette option alors que la mmorisation d'tat est active (ainsi que l'option use_retained_program_state), vous devrez passer par la commande externe approprie ou l'interface web. 0 = Ne pas activer la dtection d'oscillation (dfaut) 1 = Activer la dtection d'oscillation
17.3.75
Format soft_state_dependencies=<0/1> Exemple soft_state_dependencies=0 Cette option dtermine si Nagios utilisera les informations d'tat soft des services lors du contrle des dpendances de service. En temps normal, Nagios n'utilise que le dernier tat hard du service lors du contrle des dpendances. Si vous voulez utiliser le tout dernier tat (que ce soit un tat de type hard ou soft), activez cette option. 0 = Ne pas utiliser les tats soft de dpendances (dfaut) 1 = Utiliser les tats soft de dpendances
Exemple notification_timeout=60 C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de notication. Si une commande de notication dpasse cette limite elle sera tue et une alerte sera journalise. Il existe la confusion la plus totale (NdT : toute ressemblance avec des phrases prcdentes serait purement intentionnelle :-) ) sur ce que cette option fait vraiment. Elle est l comme dernier rempart, pour tuer les plugins qui se comporte mal ou ne se sont pas termins correctement. Il faut le positionner une valeur haute (quelque chose comme 60s), de manire ce que tout contrle ait le temps de se terminer avant cette limite. Si la notication prend plus de temps pour s'excuter, Nagios la tuera, pensant que c'est un processus ayant des problmes d'excution.
17.3.82 Dpassement de dlai de la commande de traitement des donnes lies aux performances
Format perfdata_timeout=<seconds> Exemple perfdata_timeout=5 C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de traitement des donnes lies aux performance d'un hte ou de traitement des donnes lies aux performances d'un service .Si une commande dpasse cette limite, elle sera tue et une alerte sera journalise.
Cette option dnit la commande lancer aprs chaque contrle d'hte, ce qui peut tre utile dans une supervision rpartie. Elle est excute aprs les ventuelles commandes de gestion d'vnement ou de notication. L'argument commande est le nom court d'une dnition de commande que vous avez dnie dans le chier de conguration des htes. Cette option sert dans le cadre de la supervision rpartie. Le temps d'excution maximal de cette commande est dtermin par la variable Section17.3.81 .Vous trouverez plus d'informations sur la supervision rpartie ici. Cette commande n'est excute que si l'option de Section17.3.85 est active et que si le paramtre obsess_over_host dans la dnition de l'hte l'est aussi.
Cette option vous permet d'activer ou dsactiver la vrication des contrles d'hte orphelins. Les contrles d'hte orphelins sont des contrles ayant t excuts et supprims de la le des vnements, mais dont les rsultats n'ont pas t remonts depuis longtemps. Comme aucun rsultat n'a t remonte pour cet hte, il n'est pas rordonnanc dans la le d'vnements. Cela peut causer l'arrt des contrles de l'hte. Normalement, c'est un phnomne trs rare il peut se produire si un utilisateur ou un processus extrieur a tu le processus utilis pour excuter le contrle de l'hte. Si cette option est active et que Nagios s'aperoit qu'un rsultat de contrle de l'hte particulier ne revient pas, il journalisera un message d'erreur, et rordonnancera le contrle de l'hte. Si vous constatez que certains contrles de l'hte semblent n'tre jamais rordonnancs, activez cette option et cherchez dans les journaux, des messages concernant des htes orphelins. 0 = Ne pas contrler les contrles d'htes orphelins 1 = Contrler les contrles d'htes orphelins (dfaut)
Format de sortie MM/DD/YYYY HH :MM :SS DD/MM/YYYY HH :MM :SS YYYY-MM-DD HH :MM :SS YYYY-MM-DDTHH:MM:SS
Exemple 06/30/2002 03 :15 :00 30/06/2002 03 :15 :00 2002-06-30 03 :15 :00 2002-06-30T03:15:00
AVERTISSEMENT Ne PAS craser les modules pendant qu'ils sont utiliss par Nagios ou Nagios plantera en achant des SEGFAULT. C'est un bogue/limite de la fonction dlopen(), du noyau, et/ou du lesystem. Et peut-tre de Nagios
La manire la plus sre de mettre jour un module est l'une des mthodes suivantes : Stoppez Nagios, remplacez le chier du module, redmarrez Nagios Durant que Nagios tourne Eacez le chier original du module, mettre la place le nouveau chier, redmarrez Nagios
Chapitre 18
18.4
Quelques uns des objets de conguration les plus importants sont expliqus en dtail ci-dessous
18.4.1 Htes
Les Htes sont un des objets les plus importants dans la logique de supervision. Les attributs importants pour les htes sont les suivants : Les htes sont en gnral des composants physiques sur le rseau (serveurs, ordinateurs de bureau, routeurs, switchs, imprimantes, etc.). Les htes ont une adresse (une adresse IP ou MAC par exemple). Les htes ont un ou plusieurs services qui leur sont associs. Les htes peuvent avoir des relations de type parent/enfant avec d'autres htes, reprsentant souvent les connexions relles entre ces htes, qui sont utilises dans la logique de rupture de la continuit du rseau .
18.4.3 Services
Les Services sont un des objets les plus importants dans la logique de supervision. Les services sont associs un hte et peuvent tre : Des attributs d'htes (charge CPU, utilisation disque, temps coul depuis le dernier (re)dmarrage, etc.). Des services fournis par l'hte (HTTP, POP3, FTP, SSH, etc.) D'autres choses associs un hte (DNS enregistrements, etc.)
18.4.5 Contacts
Les Contacts sont les personnes impliques dans le processus de notication : Les contacts peuvent avoir un ou plusieurs moyens de notication (mobile, pager, courrier lectronique, messagerie instantane, etc.) Les contacts reoivent des notications pour les htes et services dont ils sont responsables
18.4.8 Commandes
Les Commandes sont utilises pour indiquer Nagios quels programmes, scripts, etc. il doit excuter pour assurer : Contrles d'htes et de services Notications Gestionnaires d'vnements Et plus
Chapitre 19
Dnitions d'objet
19.1 Introduction
Une des fonctionnalits du format de conguration des objets de Nagios est que vous pouvez crer des dnitions d'objets qui hritent leurs proprits d'autres objets de conguration. Une explication sur le fonctionnement de l'hritage peut tre trouve ici. Je recommande vivement que vous vous familiarisez avec l'hritage des objets une fois que vous aurez lu la documentation prsente ci-dessous, du fait que cela permet une maintenance des dnitions d'objets beaucoup plus facile que sans. Lisez aussi les trucs et astuces pour les objets qui orent des raccourcis pour des tches de conguration qui seraient autrement ingrates. Note Quand vous crez et/ou ditez des chiers de conguration, gardez ceci l'esprit : 1. Les lignes qui commencent par le caractre '#' sont des commentaires et ne sont pas traites 2. Les noms de variables sont sensibles la casse
19.2
Il est important de noter que plusieurs variables dans les dnitions d'htes, de services et de contacts peuvent ne pas tre prise en compte par Nagios quand vous les changez dans les chiers de conguration. Les objets de conguration concerns sont indiqus par une astrisque (*). La raison de ce comportement est que Nagios prend les valeurs contenues dans le chier de rtention d'tat plutt que celles contenues dans les chiers de conguration, condition d'avoir activ la rtention d'tats au niveau global du programme et que la valeur de la variable soit change pendant l'excution du programme par une commande externe. Une faon de contourner le problme est de dsactiver la rtention des informations direntes de l'tat en utilisant la variable retain_nonstatus_information dans les dnitions d'htes, de services et de contacts. Dsactiver cette variable permettra Nagios de prendre les valeurs de vos chiers de conguration comme valeurs initiales plutt que du chier de rtention d'tats au moment du (re)dmarrage.
19.4.1
Dnition d'hte
19.4.1.1 Description Une dnition d'hte est utilis pour dnir un serveur physique, une station de travail, un composant, etc. qui est install sur votre rseau. 19.4.1.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
hostgroups check_command initial_state max_check_attempts check_interval retry_interval active_checks_enabled passive_checks_enabled check_period obsess_over_host check_freshness freshness_threshold event_handler event_handler_enabled low_ap_threshold high_ap_threshold ap_detection_enabled ap_detection_options process_perf_data retain_status_information retain_nonstatus_information contacts contact_groups notication_interval rst_notication_delay notication_period notication_options notications_enabled stalking_options notes notes_url action_url icon_image icon_image_alt vrml_image statusmap_image 2d_coords 3d_coords }
hostgroup_names command_name [o,d,u] # # # [0/1] [0/1] timeperiod_name [0/1] [0/1] # command_name [0/1] # # [0/1] [o,d,u] [0/1] [0/1] [0/1] contacts contact_groups # # timeperiod_name [d,u,r,f,s] [0/1] [o,d,u] note_string url url image_le alt_string image_le image_le x_coord,y_coord x_coord,y_coord,z_coord
30 24x7 d,u,r
19.4.1.4 Description des variables host_name Cette variable est utilise pour dnir le nom court identiant l'hte. Ce nom est utilis dans les dnitions de groupes d'htes et de services pour faire rfrence cet hte en particulier. Les htes peuvent avoir plusieurs services (qui sont superviss) associs eux. Bien utilise, la macro $HOSTNAME$ contiendra ce nom court. alias Cette variable est utilise pour dnir un nom long ou une description identiant l'hte. Cela permet d'identier plus facilement un hte en particulier. Bien utilise, la macro $HOSTALIAS$ contiendra cet alias/description. address Cette variable est utilise pour dnir l'adresse de l'hte. Normalement, c'est une adresse IP , mme si cela pourrait tre ce que vous voulez (au moins tant que cela peut tre utilis pour contrler l'tat d'un hte). Vous pouvez utiliser le FQDN pour identier l'hte plutt que son adresse IP mais avec des problmes possibles si les services DNS ne sont pas disponibles. Bien , utilise, la macro $HOSTADDRESS$ contiendra cette adresse. Note Le nom de l'hte sera utilis comme adresse si vous ne prcisez pas de variable adresse dans la dnition de l'hte.
Attention Une petite mise en garde nanmoins sur le fait de le faire - si le service DNS tombe, la plupart de vos contrles de services seront en erreur parce que les plugins seront incapbles de rsoudre le nom de l'hte.
display_name Cette variables est utilise pour acher un nom dirent l'achage dans l'interface web pour cet hte. Si non prcise, la valeur par dfaut est prise depuis la variable host_name. Note Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.
parents Cette variable est utilise pour dnir une liste spare par des virgules de noms courts reprsentant les htes parents de cet hte en particulier. Les htes parents sont typiquement des routeurs, des pare-feux, etc qui se trouvent sur la route entre le serveur de supervision et les htes superviser. Un routeur, switch, etc qui se trouve le plus prs de l'hte superviser est considr comme le parent de cet hte. Lisez le document Dterminer l'tat et l'accessibilit du rseau des htes situ ici pour plus d'informations. Si l'hte appartient au mme segment rseau que le serveur de supervision (sans routeur intermdiaire, etc.), alors l'hte est considr comme membre du rseau local et il n'aura pas d'hte parent. Laissez cette valeur vide si l'hte n'a pas
d'hte parent (par exemple si il est sur le mme segment rseau que le serveur Nagios). L'ordre dans lequel vous prcisez les htes parents n'a pas d'eet sur la faon dont sont superviss les choses. hostgroups Cette variable est utilise pour identier le(s) nom(s) court(s) des groupes d'htes auxquels appartient cet hte. Plusieurs noms de groupes doivent tre spars par des virgules. Cette variable peut tre utilise comme alternative (ou en complment) la variable members des dnitions de groupes d'htes . check_command Cette variable est utilise pour identier le nom court de la commande utiliser pour contrler si l'hte rpond ou non. Typiquement, cette commande essayera de pinguer l'hte pour voir s'il est vivant. La commande doit retourner un tat OK (0) ou Nagios pensera que l'hte ne rpond pas. Si vous laissez cette variable vide, cet hte ne sera pas contrl activement. Du coup, Nagios partira certainement du principe que cet hte rpond (il peut tre indiqu en tat PENDING dans l'interface web). C'est utile si vous supervisez des imprimantes ou des quipements qui sont frquemment teints. Le temps maximal d'excution de la commande peut tre contrl par l'option host_check_timeout . initial_state Par dfaut, Nagios part du prinicipe que tous les htes sont dans un tat UP au dmarrage. Vous pouvez prciser l'tat intitial souhait de l'hte avec cette variable. Les options valables sont : o = UP d = DOWN, et u = UNREACHABLE. , max_check_attempts Cette variable peut tre utilise pour dnir le nombre de fois que Nagios va tenter d'excuter la commande de contrle d'hte si elle retourne un tat dirent de OK. Mettre cette valeur 1 indique Nagios de gnrer une alerte sans ressayer de contrler l'hte. Note Si vous ne souhaitez pas contrler l'tat de l'hte, vous devez quand mme placer cette variable une valeure minimale de 1. Pour court-circuiter le contrle de l'hte, laissez simplement vide l'option check_command.
check_interval Cette variable est utilise pour dnir le nombre d'units de temps entre les contrles rguliers d'un hte. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peut tre trouve dans la documentation sur l'ordonnancement des contrles . retry_interval Ce paramtre est utilis pour dnir le nombre d'units de temps attendre avant d'ordonnancer un nouveau contrle des htes. Les htes sont recontrls l'intervalle de ressai quand ils sont passs dans un tat non UP Une fois que l'hte t recontrl le nombre de fois prcis dans . max_check_attempts sans changement d'tat, il sera contrl nouveau sur une frquence normale telle que dnie dans la valeur check_interval. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peut tre trouve dans la documentation sur l'ordonnancement des contrles . active_checks_enabled* Cette variable est utilise pour dnir si les contrles actifs (soit rguliers soit la demande) sont possibles pour cet hte. Valeurs : 0 = contrles d'hte actif dsactivs, 1 = contrles d'hte actif activs. passive_checks_enabled * Cette variable est utilise pour dnir si les contrles passifs sont possibles pour cet hte. Valeurs : 0 = contrles d'hte passif dsactivs, 1 = contrles d'hte passif activs.
check_period Cette variable est utilise pour dnir le nom court de la priode de temps pendant laquelle peuvent se drouler les contrles actifs de cet hte. obsess_over_host * Cette variable est utilise pour dnir si les contrles pour cet hte seront ou non obsessed en utilisant la commande ochp_command . check_freshness * Cette variable est utilise pour dnir si les contrle de fracheur sont possibles pour cet hte. Valeurs : 0 = contrles de la fracheur dsactivs, 1 = contrles de la fracheur activs. freshness_threshold Cette variable est utilise pour dnir le seuil de fracheur (en secondes) de cet hte. Si vous mettez cette valeur 0, Nagios va automatiquement dterminer un seuil de fracheur utiliser. event_handler Cette variable est utilise pour prciser le nom court d'une commande excuter chaque changement d'tat de l'hte (par exemple quand il n'est plus disponible ou qu'il redevient disponible). Lisez la documentation sur les gestionnaires d'vnenements pour plus d'explications sur la faon d'crire des scripts pour grer les vnements. Le temps maximal d'excution d'une commande de gestion d'vnements est contrl par l'option event_handler_timeout . event_handler_enabled * Cette variable est utilise pour dterminer si le gestionnaire d'vnements est activ ou non pour un hte. Valeurs : 0 = gestionnaire d'vnements d'hte dsactiv, 1 = gestionnaire d'vnements d'hte activ low_ap_threshold Cette variable est utilise pour prciser le seuil bas de dtection d'oscillation pour l'hte. Plus d'informations sur la dtection d'ocillations se trouvent ici. Si vous mettez cette variable 0, la valeur prcise avec low_host_flap_threshold au niveau global du logiciel sera utilise. high_ap_threshold Cette variable est utilise pour prciser le seuil haut de dtection d'oscillation pour l'hte. Plus d'informations sur la dtection d'ocillations se trouvent ici. Si vous mettez cette variable 0, la valeur prcise avec low_host_flap_threshold au niveau global du logiciel sera utilise. ap_detection_enabled * Cette variable est utilise pour dterminer si la dtection d'oscillation est active ou non pour l'hte. Plus d'informations sur la dtection d'ocillations se trouvent ici. Valeurs : 0 = dtection d'ocillation pour l'hte dsactive, 1 = dtection d'ocillation pour l'hte active. ap_detection_options Cette variable est utilise pour dterminer quels tats d'hte seront utiliss pour la logique de dtection 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 utlise pour dterminer si le traitement des donnes de performance est activ ou non pour l'hte. Valeurs : 0 = traitement des donnes de performance dsactiv, 1 = traitement des donnes de performance activ. retain_status_information Cette variable est utlise pour dterminer si les informations relatives aux tats de l'hte sont conserves ou non aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0 = rtention des donnes d'tats dsactive, 1 = rtention des donnes d'tats active. retain_nonstatus_information Cette variable est utlise pour dterminer si les informations direntes des tats de l'hte sont conserves aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0 = rtention des donnes direntes des tats dsactive, 1 = rtention des donnes direntes des tats active.
contacts C'est une liste des noms courts des contacts qui devraient tre notis quand quand il y a des problmes (ou retours la normale) avec cet hte. Plusieurs contacts peuvent tre spars par des virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous ne souhaitez pas congurer des groupes de contacts .Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'hte. contact_groups C'est une liste des noms courts des groupes de contacts qui devraient tre notis quand quand il y a des problmes (ou retours la normale) avec cet hte. Plusieurs groupes de contacts peuvent tre spars par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'hte. notication_interval Cette variable est utilise pour prciser le nombre d'units de temps attendre avant de renotier un contact que ce service est toujours down ou innacessible. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Sivous mettez cette valeur 0, Nagios ne re-notiera pas les contacts des problmes pour cet hte - une seule notication de problme sera envoye. rst_notication_delay Cette variable est utilise pour prciser le nombre d'units de temps attendre avant d'envoyer la premire notication quand un hte passe dans un tat non-UP Sauf si vous avez chang la . variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Si vous mettez cette valeur 0, Nagios commencera envoyer des notications immdiatement. notication_period Cette variable est utilise pour prciser le nom court des priodes de temps pendant lesquelles les notications d'vnements sont envoyes aux contacts de cet hte. Si cet hte passe en tat down, inaccessible ou qu'il revient la normale hors d'une priode de temps prcise, aucune notication ne sera envoye. notication_options Cette variable est utilise pour dterminer quand les notications pour un hte doivent tre envoyes. Les options valides sont une combinaison d'un ou de plusieurs des tats suivants : d = envois de notications sur tat DOWN, u = envois de notications sur tat UNREACHABLE, r = envois de notications sur tat OK, f = envois de notication quand un hte commence ou arrte d'osciller, et s = envois de notications quand une priode de maintenance planie commence ou nit. Si vous mettez d,r dans ce champ, les notications seront seulement envoyes quand l'hte passera en tat DOWN et quand il sortira de cet tat DOWN (retour la normale). notications_enabled * Cette variable est utlise pour dterminer si les notications pour cet hte sont actives ou non. Valeurs : 0 = notications pour l'hte dsactives, 1 = notications pour l'hte actives. talking_options Cette variable est utilise pour dterminer quelle mmorisation d'tats est utilise pour l'hte. Les options valides sont une combinaison d'un ou ou de plusieurs des tats suivants : o = mmorisation des tats UP d = mmorisation des tats DOWN et u = mmorisation des tats UN, REACHABLE. Plus d'informations sur la mmorisation d'tats peuvent tre trouves ici. notes Cette variable est utilise pour prciser une note d'information rattacher l'hte. Si vous avez prcise une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations d'un hte spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur l'hte. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut
tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer l'hte. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilis. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer l'hte. Cette image sera ache dans plusieurs endroits des CGIs. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/ share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. vrml_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer l'hte. Cette image sera utilise comme fond de carte pour l'hte spci dans le CGI statuswrl. Au contraire de l'image utilise dans la variable <icon_image>, celle-ci ne devrait pas avoir d'attribut de transparence. Si c'est le cas, le rendu de l'hte sera un peu bizarre. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). statusmap_image Cette variable est utlise pour dnir le nom d'une image associer l'hte 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 gnrez la carte d'tats. Les images GD2 peuvent tre cres partir d'image PNG en utilisant l'utilitaire pngtogd2 fourni avec la librairie gd de Thomas Boutell. Les images au format GD2 doivent tre cres dans un format non compress toujours pour minimiser la charge CPU au moment de charger la carte rseau. 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 htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). 2d_coords Cette variable est utilise pour dnir les coordonnes utiliser pour l'hte dans le CGI statusmap. Les coordonnes doivent tre donnes en entier positif car correpsondant aux pixels dans l'image gnre. Le dpart de la carte (0,0) se trouve dans le coin suprieur 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 rfrence, la taille des icnes es thabituellement de 40x40 pixels (le texte prend un peu d'espace supplmentaire). Les coordonnes que vous prcisez ici sont pour le coin suprieur gauche de l'icne de l'hte dessiner. Note Ne vous inquitez pas du nombre maximal de coordonnes que vous pouvez utliser ici. Le CGI va automatiquement calculer les dimensions maximales de l'image qu'il cre en se basant sur les plus grandes valeurs x et y que vous avez prcis.
3d_coords Cette variable est utilise pour dnir les coordonnes de l'hte utiliser dans le CGI statuswrl. Les coordonnes peuvent tre des nombres positifs ou ngatifs. Le dpart du dessin est
(0.0,0.0,0.0). Pour rfrence, la taille des cubes pour les htes est de 0,5 units de chaque ct (les textes rennent un plus d'espace). Les coordonnes que vous utilisez sont le centre du cube de l'hte.
19.4.2
19.4.2.1 Description Une dnition de groupe d'htes est utilise pour grouper un ou plusieurs htes ensemble de faon simplier la conguration avec les trucs et astuces sur les objets ou pour des besoins de visualisation dans les CGIs. 19.4.2.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
19.4.2.4 Description des variables hostgroup_name Cette variable est utilise pour dnir le nom court utiliser pour identier le groupe d'htes. alias Cette variable est utilise pour dnir un nom long ou une description utiliser pour identier le groupe d'htes. Ceci est fourni pour vous permettre d'identier plus facilement un groupe d'htes en particulier. members C'est une liste de noms courts d' htes qui doivent faire partie de ce groupe. Plusieurs noms d'htes peuvent tre spars par des virgules. Cette variable peut tre utilise comme une alternative (ou en complment) la variable hostgroups dans les dnitions d'htes .
hostgroup_members Cette variable optionnelle peut tre utilise pour inclure des htes depuis des sous-groupes dans ce groupe d'htes. Prcisez une liste spare par des virgules de noms courts d'autres groupes d'htes inclure dans ce groupe. notes Cette variable est utilise pour prciser une note d'information rattacher l'hte. Si vous avez prcise une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations d'un hte spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur le groupe d'htes. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de groupe d'htes) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer aux groupes d'htes. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations du groupe d'htes) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/).
19.4.3
Dnition de service
19.4.3.1 Description Une dnition de service est utilise pour identier un service qui fonctionne sur cet hte. le terme service est utilis de faon gnrale. Cela peut dsigner un service qui fonctionne sur l'hte (POP SM, TP, HTTP, etc.) ou tout autre type de mtrique associ l'hte (rponse au ping, nombre d'utilisateurs connects, espace disque dur libre, etc.). Les dirents arguments d'une dnition de service sont prciss ci-dessous. 19.4.3.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene service{ host_name hostgroup_name service_description display_name servicegroups is_volatile check_command initial_state max_check_attempts check_interval
retry_interval active_checks_enabled passive_checks_enabled check_period obsess_over_service check_freshness freshness_threshold event_handler event_handler_enabled low_ap_threshold high_ap_threshold ap_detection_enabled ap_detection_options process_perf_data retain_status_information retain_nonstatus_information notication_interval rst_notication_delay notication_period notication_options notications_enabled contacts contact_groups stalking_options notes notes_url action_url icon_image icon_image_alt }
# [0/1] [0/1] timeperiod_name [0/1] [0/1] # command_name [0/1] # # [0/1] [o,w,c,u] [0/1] [0/1] [0/1] # # timeperiod_name [w,u,c,r,f,s] [0/1] contacts contact_groups [o,w,u,c] note_string url url image_le alt_string
19.4.3.4 Description des variables : host_name Cette variable est utilise pour prciser le nom court de(s) l'hte(s) sur lequel le service tourne ou avec lequel il est associ. Plusieurs htes doivent tre spars par des virgules.
hostgroup_name Cette variable est utilise pour prciser le nom court de(s) groupe(s) d'htes sur lequel le service tourne ou avec lequel il est associ. Plusieurs groupes d'htes doivent tre spars par des virgules. service_description Cette variable est utilise pour dnir 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 associs un mme hte ne peuvent pas avoir la mme description. Les services sont uniquement identis par leurs variables host_name et service_description. display_name Cette variable est utilise pour dnir un nom dirent acher dans l'interface web pour ce service. Si non prcis, la valeur par dfaut est prise depuis la variable service_description. Note Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.
servicegroups Cette variable est utilise pour identier le(s) nom(s) court(s) des groupe(s) de services auxquels appartient ce service. Plusieurs groupes de services peuvent tre spars par des virgules. Cette variable peut tre utilise comme alternative la variable members des dnitions de groupes de services . is_volatile Cette variable est utilise pour prciser si un service doit tre considr comme volatile. Les services ne sont normalement pas volatiles. Plus d'informations sur les services volatiles et en quoi ils dirent des services normaux peuvent tre trouves ici. Valeur : 0 = service non volatile, 1 = service volatile. check_command Cette variable est utilise pour prciser le nom court d'une commande utiliser pour contrler l'tat du service. Le temps maximal d'excution d'une commande de contrle de service est contrl par l'option service_check_timeout . initial_state Par dfaut, Nagios part du principe que tous les services sont en tat OK au dmarrage. Vous pouvez modier l'tat de dpart d'un service en utilisant cette variable. Les options valides : o = OK w = WARNING u = UNKNOWN c = CRITICAL. max_check_attempts Cette variable est utilise pour dnir le nombre de fois que Nagios va ressayer la commande de contrle de service dans le cas o celle-ci renvoie une tat dirent de OK. Mettre la valeur 1 fera que Nagios gnrera une alerte sans recontrler le service. check_interval Ce paramtre est utilis pour dnir le nombre d'units de temps attendre avant d'ordonnancer le contrle rgulier suivant du service. Les contrles rguliers sont ceux qui sont excuts quand un service est dans un tat OK ou non-OK mais qu'il a dj t recontrl le nombre de fois prcis dans la variable max_check_attempts. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peuvent tre trouves dans la documentation sur l'ordonnancement des contrles . retry_interval Ce paramtre est utilis pour dnir le nombre d'units de temps attendre avant d'ordonnancer un nouveau contrle du service. Les services sont recontrls l'intervalle de ressai quand ils
sont passs dans un tat non UP Une fois que le service t ressay le nombre de fois pr. cis dans la variable max_check_attempts sans changement d'tat, il sera contrl nouveau sur une frquence normale telle que dnie dans la valeur check_interval. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peuvent tre trouves dans la documentation sur l'ordonnancement des contrles . active_checks_enabled* Cette variable est utilise pour dterminer si les contrles actifs sont activs ou non pour ce service. Valeurs : 0= disable active service checks 1= enable active service checks. passive_checks_enabled * Cette variable est utilise pour dterminer si les contrles passifs sont activs ou non pour ce service. Valeurs : 0= disable passive service checks 1= enable passive service checks. check_period Cette variable est utilise pour prciser le nom court de la priode de temps pendant laquelle les contrles actifs sont possibles. obsess_over_service * Cette variable est utilise pour dterminer si les contrles de ce service seront ou non obsessed en utilisant la commande ocsp_command . check_freshness * Cette variable est utilise pour dterminer si les contrles de fracheur sont activs ou non pour ce service. Valeurs : 0= disable freshness checks 1= enable freshness checks freshness_threshold Cette variable est utilise pour dnir le seuil de fracheur (en secondes) de ce service. Si vous mettez cette valeur 0, Nagios va automatiquement dterminer un seuil de fracheur utiliser. event_handler Cette variable est utilise pour prciser le nom court d'une commande excuter 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'vnenements pour plus d'explications sur la faon d'crire des scripts pour grer les vnements. Le temps maximal d'excution d'une commande de gestion d'vnements est contrl par l'option event_handler_timeout . event_handler_enabled * Cette variable est utilise pour dterminer si le gestionnaire d'vnements est activ ou non pour ce service. Valeurs : 0= disable service event handler 1= enable service event handler. low_ap_threshold Cette variable est utilise pour prciser le seuil bas de dtection d'oscillation pour ce service. Plus d'informations sur la dtection d'ocillations se trouvent ici. Si vous mettez cette variable 0, la valeur prcise avec low_host_flap_threshold au niveau global du logiciel sera utilise. high_ap_threshold Cette variable est utilise pour prciser le seuil haut de dtection d'oscillation pour ce service. Plus d'informations sur la dtection d'ocillations se trouvent ici. Si vous mettez cette variable 0, la valeur prcise avec low_host_flap_threshold au niveau global du logiciel sera utilise. ap_detection_enabled * Cette variable est utilise pour dterminer si la dtection d'oscillation est active ou non pour ce service. Plus d'informations sur la dtection d'ocillations se trouvent ici. Valeurs :
0= disable service ap detection 1= enable service ap detection. ap_detection_options Cette variable est utilise pour dterminer quels tats de service seront utiliss pour la logique de dtection 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 utlise pour dterminer si le traitement des donnes de performance est activ ou non pour ce service. Valeurs : 0= traitement des donnes de performance dsactiv 1= traitement des donnes de performance activ retain_status_information Cette variable est utlise pour dterminer si les informations relatives aux tats de service sont conserves ou non aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0= rtention des donnes d'tats dsactive 1= rtention des donnes d'tats active retain_nonstatus_information Cette variable est utlise pour dterminer si les informations direntes des tats de service sont conserves aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0= rtention des donnes autres que celles d'tats dsactive 1= rtention des donnes autres que celles d'tats active notication_interval Cette variable est utilise pour prciser le nombre d'units de temps attendre avant de renotier 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 dfaut qui est 60, ce nombre signie des minutes. Si vous mettez cette valeur 0, Nagios ne re-notiera pas les contacts des problmes pour cet hte - une seule notication de problme sera envoye. rst_notication_delay Cette variable est utilise pour prciser le nombre d'units de temps attendre avant d'envoyer la premire notication quand un service passe dans un tat non-UP Sauf si vous avez chang la . variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Si vous mettez cette valeur 0, Nagios commencera envoyer des notications immdiatement. notication_period Cette variable est utilise pour prciser le nom court des priodes de temps pendant lesquelles les notications d'vnements sont envoyes aux contacts de ce service. Aucune notication ne sera envoye hors couverture d'une priode de temps. notication_options Cette variable est utilise pour dterminer quand les notications pour ce service doivent tre envoyes. Les options valides sont une combinaison de l'un ou plusieurs des tats suivants : w = envois de notications sur tat WARNING u = envois de notications sur tat UNKNOWN c = envois de notications sur tat CRITICAL r = envois de notications sur tat OK
f = envois de notications quand le service commence ou s'arrte d'osciller s = envois de notications quand une priode de maintenance planie commence ou se termine n (none) en option, aucune notication ne sera envoye. Si vous ne prcisez aucune option de notication, Nagios va partir du principe que les notications doivent tre envoyes pour tout changement d'tat possible. Si vous prcisez w,r dans ce champ, les notications seront envoyes uniquement quand le service passera en tat WARNING ou qu'il sortira de cet tat WARNING. notications_enabled * Cette variable est utlise pour dterminer si les notications pour ce service sont actives ou non. Valeurs : 0= notications sur les services dsactives 1= notications sur les services actives contacts C'est une liste des noms courts des contacts qui devraient tre notis quand il y a des problmes (ou retours la normale) avec ce service. Plusieurs contacts peuvent tre spars par des virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous ne souhaitez pas congurer des groupes de contacts. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition de service. contact_groups C'est une liste des noms courts des groupes de contacts qui devraient tre notis quand il y a des problmes (ou retours la normale) avec ce service. Plusieurs groupes de contacts peuvent tre spars par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition de service. stalking_options Cette variable est utilise pour dterminer quelle mmorisation d'tats est utilise pour le service. Les options valides sont une combinaison d'un ou ou de plusieurs des tats suivants : o= mmorisation sur tats OK w= mmorisation sur tats WARNING u= mmorisation sur tats UNKNOWN c= mmorisation sur tats CRITICAL Plus d'informations sur la mmorisation d'tats peuvent tre trouves ici. notes Cette variable est utilise pour prciser une note d'information rattacher au service. Si vous avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations du service spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur le service. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgibin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un service, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer au service. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations du service) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/).
icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer au service. Cette image sera ache 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 censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans les CGIs status, extended information et statusmap.
19.4.4
19.4.4.1 Description Une dnition de groupe d'htes est utilise pour grouper un ou plusieurs services ensemble de faon simplier la conguration avec les trucs et astuces sur les objets ou pour des besoins de visualisation dans les CGIs. 19.4.4.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
19.4.4.4 Description des variables : servicegroup_name Cette variable est utilise pour dnir un nom court pour identier le groupe de services. alias Cette variable est utilise pour dnir un nom long ou une description identiant le groupe de services. Cela permet d'identier plus facilement un groupe de services en particulier.
members C'est une liste de noms courts de service (et le nom des htes correspondants) qui doivent faire partie de ce groupe. Plusieurs noms d'htes et de services peuvent tre spars par des virgules. Cette variable peut tre utilise comme une alternative (ou en complment) la variable servicegroups dans les dnitions de service. Le format de la variable members est le suivant (notez que le nom de l'hte doit prcder le nom/description du service) :
members=<host1>,<service1>,<host2>,<service2>,,<hostn>,<servicen>
servicegroup_members Cette variable optionnelle peut tre utilise pour inclure des services depuis des sous-groupes dans ce groupe de services. Prcisez une liste spare par des virgules de noms courts d'autres groupes de services inclure dans ce groupe. notes Cette variable est utilise pour prciser une note d'information rattacher au groupe de service. Si vous avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations d'un groupe de services spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur le groupe de services. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de groupe de services) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer au groupe de services. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations du groupe de services) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/).
19.4.5
Dnition de contact
19.4.5.1 Description La dnition de contact est utilise pour identifer quelqu'un qui doit tre contact dans le cas de problmes sur votre rseau. Les dirents arguments d'une dnition de contact sont dcrits ci-dessous. 19.4.5.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
host_notication_period service_notication_period host_notication_options service_notication_options host_notication_commands service_notication_commands email pager addressx can_submit_commands retain_status_information retain_nonstatus_information }
timeperiod_name timeperiod_name [d,u,r,f,s,n] [w,u,c,r,f,s,n] command_name command_name email_address pager_number ou pager_email_gateway additional_contact_address [0/1] [0/1] [0/1]
19.4.5.4 Description des variables contact_name Cette variable est utilise pour dnir un nom court pour identifer le contact. Ceci est rfrenc dans les dnitions de groupes de contacts .Dans les bonnes circonstances, la macro $CONTACTNAME$ contiendra cette valeur. alias Cette variable est utilise pour dnir un nom long ou une description identiant le contact. Dans les bonnes circonstances, la macro $CONTACTNAME$ contiendra cette valeur. Si non prcise, la variable contact_name sera utilise comme alias. contactgroups Cette variable est utilise pour identier le(s) nom(s) court(s) des groupes de contacts auxquels appartient ce contact. Plusieurs noms de groupes doivent tre spars par des virgules. Cette variable peut tre utilise comme alternative (ou en complment) la variable members des dnitions de groupes de contacts. host_notications_enabled Cette variable est utilise pour dterminer si un contact recevra ou non des notications propos des problmes d'htes et des retours la normale. Valeurs : 0= Envois des notications dsactivs
1= Envois des notications activs service_notications_enabled Cette variable est utilise pour dterminer si un contact recevra ou non des notications propos des problmes de services et des retours la normale. Valeurs : 0= Envois des notications dsactivs 1= Envois des notications activs host_notication_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle un contact peut tre noti des problmes d'htes et des retours la normale. Vous pouvez penser ceci comme une heure d'appel du contact pour les notications d'htes. Lisez la documentation sur les priodes de temps pour plus d'informations sur le fonctionnement de celles-ci et sur les problmes pouvant survenir en cas d'utilisation incorrecte de celles-ci. service_notication_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle un contact peut tre noti des problmes de services et des retours la normale. Vous pouvez penser ceci comme une heure d'appel du contact pour les notications de services. Lisez la documentation sur les priodes de temps pour plus d'informations sur le fonctionnement de celles-ci et sur les problmes pouvant survenir en cas d'utilisation incorrecte de celles-ci. host_notication_commands Cette variable est utilise pour prciser les noms courts de commandes utiliser pour notier le contact des problmes d'htes et des retours la normale. Plusieurs notications peuvent tre spars par des virgules. Toutes les commandes de notication sont excutes quand les contacts ont besoin d'tre notis. Le dure maximale d'excution de la commande est contrle par l'option notification_timeout . host_notication_options Cette variable est utilise pour dnir les tats d'htes pour lesquels des notications peuvent tre envoyes ce contact. Les options valides sont une combinaison d'un ou de plusieurs des tats suivants : d= notication sur les htes en tats DOWN u= notication sur les htes en tats UNREACHABLE r= notication quand un hte retourne la normale (tats UP) f= notication quand un hte commence ou s'arrte d'osciller, s= envoi de notications quand un hte ou service entre ou sort de priode de maintenance planie. Si vous prcisez n (null) comme option, le contact ne recevra aucun type de notications d'htes. service_notication_options Cette variable est utilise pour dnir les tats de services pour lesquels des notications peuvent tre envoyes ce contact. Les options valides sont une combinaison d'un ou de plusieurs des tats suivants : w= notication sur tats WARNING de service u= notication sur tats UNKNOWN de service c= notication sur tats CRITICAL de service r= notication sur tats OK f= notication quand le service commence et s'arrte d'osciller. n= (none) : Le contact ne recevra aucun type de notications de services service_notication_commands Cette variable est utilise pour prciser les noms courts de commandes utiliser pour notier le contact des problmes de services et des retours la normale. Plusieurs commandes de notications peuvent tre spares par des virgules. Toutes les commandes de notication sont excutes quand les contacts ont besoin d'tre notis. Le dure maximale d'excution de la commande est contrle par l'option notification_timeout .
email Cette variable est utilise pour dnir une adresse email pour le contact. En fonction de la faon dont vous avez congur les commandes de notications, 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 utilise pour dnir 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 faon dont vous avez congur les commandes de notications, 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 utilises pour dnir des adresses supplmentaires pour le contact. Ces adresses peuvent tre n'importe quoi - numro de tlphone mobile, adresse de messagerie instantane, etc. En fonction de la faon dont vous avez congur les commandes de notications, cela peut tre utilis pour envoyer une alerte au contact. Il est possible de dnir jusqu' six adresses en utilisant ces variables (address1 jusqu' address6). La macro $CONTACTADDRESSx$ contiendra cette valeur. can_submit_commands Cette variable est utilise pour dterminer si le contact peut ou non excuter 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 utlise pour dterminer si les informations relatives aux tats du contact sont conserves ou non aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0= rtention des donnes d'tats dsactive 1= rtention des donnes d'tats active retain_nonstatus_information Cette variable est utlise pour dterminer si les informations direntes des tats du contact sont conserves aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0= rtention des donnes autres que celles d'tats dsactive 1= rtention des donnes autres que celles d'tats active
19.4.6
19.4.6.1 Description Une dnition de groupe de contacts est utilise pour grouper un ou plusieurs contacts ensemble de faon envoyer les notications pour des problmes et des retours la normale. 19.4.6.2 Format de dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
19.4.6.4 Description des variables : contactgroup_name Cette variable est un nom court utilis pour identier le groupe de contacts. alias Cette variable est utilise pour dnir un nom long ou une description identiant 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 spars par des virgules. Cette variable peut tre utilise comme une alternative (ou en complment) la variable contactgroups dans les dnitions de contact . contactgroup_members Cette variable optionnelle peut tre utilise pour inclure des contacts depuis des sous-groupes dans ce groupe de contacts. Prcisez une liste spare par des virgules de noms courts d'autres groupes de contacts inclure dans ce groupe.
19.4.7
19.4.7.1 Description Une priode de temps est une liste de plages horaires comprises sur plusieurs jours qui sont considres comme valides pour les notications et les contrles de services. Cela consiste en plages horaires dnies pour chaque jour de la semaine qui tournent une fois la semaine nie. Dirents types d'exceptions aux heurs normales de la semaine sont supportes : jours de la semaine en particulier, jours de mois gnraux tous les mois, jours de certains mois et dates de calendrier. 19.4.7.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
timeperiod_name
nonworkhours Non-Work Hours 00:00-24:00 ; Every 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-24:00 ; Every
Sunday of every week Every Monday of every week Every Tuesday of every week Every Wednesday of every week Every Thursday of every week Every Friday of every week Saturday of every week
misc-single-days Misc Single Days 00:00-24:00 ; January 28th, 1999 00:00-24:00 ; 3rd Monday of every month 00:00-24:00 ; 2nd day of every month 00:00-24:00 ; February 10th of every year 00:00-24:00 ; Last day in February of every year 00:00-24:00 ; 2nd to last Friday of every month -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 ; monday 3 - thursday 4 00:00-24:00 ; day 1 - 15 00:00-24:00 ; day 20 - -1 00:00-24:00 ; july 10 - 15 00:00-24:00 ; april 10 - may 15 00:00-24:00 ; tuesday 1 april - friday 2 may 00:00-24:00 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 February 1st, 2008 2008-04-01 / 7 00:00-24:00 continuing forever) monday 3 - thursday 4 / 2 00:00-24:00 Thursday of every month day 1 - 15 / 5 00:00-24:00 of every month july 10 - 15 / 2 00:00-24:00 th of every year
January 1st, 2007 to February 1st, 2008 3rd Monday to 4th Thursday of every month 1st to 15th day of every month 20th to the last day of every month July 10th to July 15th of every year April 10th to May 15th of every year ; 1st Tuesday in April to 2nd Friday in -
; Every 3 days from January 1st, 2007 to ; Every 7 days from April 1st, 2008 ( -
; Every other day from 3rd Monday to 4th ; Every 5 days from the 1st to the 15th day
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 }
19.4.7.4 Description des variables timeperiod_name Cette variable est un nom court utilis pour identifer la priode de temps. alias Cette variable est utilise pour dnir un nom long ou une description identiant la priode de temps. [weekday] Les variables de jours de la semaine ( sunday saturday )sont des listes spares par des virgules de priodes de temps valides pour un jour particulier de la semaine. Notez qu'il y a sept jours dirents pour lesquels vous pouvez dnir des priodes de temps (dimanche lundi). Chaque priode de temps est sous la forme HH :MM-HH:MM, o les heures sont indiques sur 24 heures. Par exemple, 00 :15-24:00 indique 12 :15am le matin pour ce jour jusqu' 12 :00am minuit (une priode de temps total de 23 heures 45 minutes). Si vous souhaitez exclure un jour entier de la priode de temps, il sut simplement de ne pas l'inclure dans la dnition de la priode de temps. [exception] Vous pouvez prciser plusieurs types dirents d'exceptions au planning habituel de rotation des semaines. Les exceptions peuvent prendre direntes 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 prciser une plage de jours/dates et mme prciser de sauter des intervalles pour obtenir un fonctionnement du type tous les trois jours entre ces dates .Plutt que de lister tous les formats possibles pour les exceptions, je vais vous laisser regarder les quelques exemples de dnitions de priodes 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 dirents de prcdence, aussi estil important de comprendre comment ils interagissent les uns les autres. Plus d'informations sur ceci peuvent tre trouves dans la documentation sur les priodes de temps. exclusion Cette variable est utilise pour prciser les noms courts de d'autres priodes de temps dont les plages horaires doivent tre exclues de cette priode de temps. Plusieurs priodes de temps peuvent tre prcises en les sparant par des virgules.
19.4.8
Dnition de commande
19.4.8.1 Description Une dnition de commande n'est rien d'autre que a. Elle dnit une commande. les commandes qui peuvent tre dnies sont les contrles de services, les notications de services, les gestionnaires d'vnements de services, les contrles d'htes, les notications d'htes et les gestionnaires d'vnements d'htes. Les dnitions de commandes peuvent contenir des timeperiods mais vous devez vous assurez de n'utiliser que les macros valides dans le contexte o sera utilise la commande. Plus d'informations sur les macros disponibles et quand elles sont valides peuvent tre trouves ici. Les dirents arguments d'une dnition de commande sont indiqus ci-dessous. 19.4.8.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
command_name command_line
19.4.8.4 Description des variables command_name Cette variable est un nom court utilis pour identier la commande. Ceci est rfrenc dans les dnitions de contact, d'hte et de service (dans les variables notification, check et event handler) entre autres . command_line Cette variable est utilise pour dnir ce qui est rellement excut par Nagios quand la commande est utilise pour les contrles d'htes et de services, les notications ou les gestionnaires d'vnements .Avant que la commande ne soit excute, toutes les macros valides sont remplaces par leurs valeurs respectives. Regardez la documentation des macros pour dterminer quand vous pouvez utiliser direntes macros. Notez que la ligne de commande n'est pas entoure par des guillemets. galement noter que si vous souhaitez passer le signe ($) sur la ligne de commande, vous devez le protger avec un autre signe dollar. Note Vous devriez ne pas inclure de point virgule ( ;) dans la variable command_line parce que tout ce qui se trouvera aprs sera considr comme commentaire de chier de conguration. Vous pouvez contourner cette limitation en initialisant une macro utilisateur $USERn$Macros$USERn$ dans votre chier de ressource avec un point virgule et en rfrenant ensuite cette macro $USERn$ dans la variable command_line la place du point virgule.
Si vous souhaitez passer des arguments aux commandes pendant l'excution, vous pouvez utiliser les macros $ARGn$Macros$ARGn$ dans la variable command_line de la dnition de commande et ensuite sparer chaque argument du nom de la commande (et pour sparer chaque argument) avec le symbole du point d'exclamation ( !) dans les variables de dnitions (commande de contrle d'hte, commande de gestionnaire d'vnements, etc.) qui rfrencent cette commande. Plus d'informations sur la faon dont sont traits les arguments de commande au moment de leur excution peuvent tre trouves dans la documentation sur les macros.
19.4.9
19.4.9.1 Description Les dpendances de services sont une fonctionnalit avance de Nagios qui permet de supprimer des notications et des contrles actifs de services en se basant sur l'tat d'un ou de plusieurs autres services. Les dpendances de services sont optionnelles et sont principalement destines aux utilisateurs avancs qui ont des installations de supervision complexes. Plus d'informations sur le focntionnement des dpendances de services ( lire absolument !) peuvent tre trouves ici.
19.4.9.2 Format de la dnition Note Les variables indiques en rouge sont obligatoires alors que celles en noires sont optionnelles. De toute faon, vous devez prciser au moins un type de critre pour que la dnition soit d'une quelconque utilit.
dene servicedependency{ dependent_host_name dependent_hostgroup_name dependent_service_description host_name hostgroup_name service_description inherits_parent execution_failure_criteria notication_failure_criteria dependency_period }
host_name hostgroup_name service_description host_name hostgroup_name service_description [0/1] [o,w,u,c,p,n] [o,w,u,c,p,n] timeperiod_name
19.4.9.4 Description des variables dependent_host Cette variable est utilise pour identier le(s) nom(s) court(s) d'hte(s) sur lequel tourne le service dpendant o avec lequel il est associ. Plusieurs htes peuvent tre spars par des virgules. Laissez cette variable vide peut tre utilis pour crer des dpendances sur le mme hte. dependent_hostgroup Cette variable est utilise pour identier le(s) nom(s) court(s) de groupe(s) d'htes sur lesquels tourne le service dpendant o avec lesquels il est associ. Plusieurs groupes d'htes peuvent tre spars par des virgules. La variable dependent_hostgroup peut tre utilise la place ou en conjonction avec la variable dependent_host. dependent_service_description Cette variable est utilise pour identier la description d'un service dpendant. host_name Cette variable est utilise pour identier le(s) nom(s) court(s) d'hte(s) sur lequel tourne le service dont on dpend (aussi appel service matre) o avec lequel il est associ. Plusieurs htes peuvent tre spars par des virgules.
hostgroup_name Cette variable est utilise pour identier le(s) nom(s) court(s) de groupe(s) d'htes sur lequel tourne le service dont on dpend (aussi appel service matre) o avec lequel il est associ. Plusieurs groupes htes peuvent tre spars 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 utilise pour identier la description du service dont on dpend (aussi appel service matre). inherits_parent Cette variable indique si la dpendance hrite des dpendances du service dont on dpend (aussi appel service matre). En d'autres termes, si le service matre est dpendant de plusieurs autres services et qu'une des ces dpendances choue, alors cette dpendance chouera galement. execution_failure_criteria Cette variable est utilise pour pciser les critres qui dterminent quand le service dpendant ne doit pas tre contrl activement. Si le service matre est dans un tat d'erreur que nous prcisons, le service dpendant ne sera pas contrl activement. Les options valides sont une combinaison d'un ou de plusieurs des tat suivants (les options multiples sont spares 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 vri). n (none) : la dpendance d'excution n'chouera jamais et les contrles du service dpendant seront toujours faits activement (si d'autres conditions permettent de le faire). Si vous prcisez o,c,u dans ce champ, le service dpendant ne sera pas contrl activement si le service matre est dans un des tats OK, CRITICAL ou UNKNOWN. notication_failure_criteria Cette variable est utilise pour dnir les critres qui dterminent quand les notications pour le service dpendant ne doivent pas tre envoyes. Si le service matre est dans un des tats d'erreur que nous prcisons, les notications pour le service dpendants ne seront pas envoyes 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 vri). n (none) : la dpendance de notication n'chouera jamais et les notications du service dpendant seront toujours envoyes. Si vous prcisez w dans ce champ, les notications pour le service dpendant ne seront pas envoyes si le service matre est dans un tat WARNING. dependency_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les dpendances sont valides. Si cette variable est vide, les dpendances seront considres comme valides tout le temps.
19.4.10
19.4.10.1 Description Les escalades de services sont compltement optionnelles et sont utilises pour escalader les notications d'un service particulier. Plus d'informations sur le fonctionnement des escalades peuvent tre trouves ici.
19.4.10.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene serviceescalation{ host_name hostgroup_name service_description contacts contact_groups rst_notication last_notication notication_interval escalation_period escalation_options }
19.4.10.4 Description des variables host_name La variable est utilise pour identifer le(s) nom(s) court(s) de(s) hte(s) pour lesquel(s) l'escalade de service doit s'appliquer ou auquel(s) il est associ. hostgroup_name La variable est utilise pour identifer le(s) nom(s) court(s) des groupe(s) d'htes pour lesquel(s) l'escalade de service doit s'appliquer ou auquel(s) il est associ. Plusieurs groupes d'htes peuvent tre spars par des virgules. La variable hostgroup_name peut tre utilise la place ou en conjonction avec la variable host_name. service_description Cette variable est utilise pour identier la description du service pour lequel s'applique l'escalade. rst_notication Cette variable est un nombre identiant la premire notication pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur 3, cette escalade sera seulement utilise si le service est dans un tat non-OK depuis susamment longtemps pour qu'une troisime notication soit envoye. last_notication Cette variable est un nombre identiant la dernire notication pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur 5, cette escalade ne sera pas utilise si plus de cinq notications ont t envoyes pour le service. Mettre cette valeur 0 prcise de continuer utiliser cette escalade sans n (peu importe le nombre de notications envoyes).
contacts C'est une liste de noms courts de contacts notier chaque fois qu'il y a des problmes (ou des retours la normale) avec ce service. Plusieurs contacts peuvent tre prciss en les sparant par des virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous ne souhaitez pas congurer des groupes de contacts. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade de service. contact_groups C'est une liste de noms courts de groupes de contacts notier chaque fois que ce service est escalad. Plusieurs groupes de contacts peuvent tre prciss en les sparant par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade de service. notication_interval Cette variable est utilise pour dterminer l'intervalle auquel envoyer les notications pendant que l'escalade est valide. Si vous prcisez une valeur de 0 pour cet intervalle, Nagios va envoyer la premire notication quand la dnition d'escalade est valide mais prendra soin de ne plus envoyer aucune notication de problme pour l'hte. Les notications sont renvoyes quand l'hte revient la normale. Utile si vous souhaitez arrter l'envoi des notications aprs un certain temps. Note Si de multiples entres d'escalade pour un hte se chevauchent sur une ou plusieurs plages de notications, le plus petit des intervalles de notication pour toutes les escalades sera utilis.
escalation_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les escalades sont valides. Si cette variable est vide, les escalades seront considres comme valides tout le temps. escalation_options Cette variable est utilise pour dnir les critres qui dterminent si une escalade de service doit tre utilis. L'escalade est seulement utilise si le service est dans un des tats prciss dans cette variable. Si cette variable n'est pas prcise dans la dnition d'escalade de service, l'escalade est considre 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 prcisez w dans ce champ, l'escalade sera seulement utilise quand le service est en tat WARNING.
19.4.11
19.4.11.1 Description Les dpendances de services sont une fonctionnalit avance de Nagios qui permet de supprimer des notications et des contrles actifs d'htes en se basant sur l'tat d'un ou de plusieurs autres htes. Les dpendances d'htes sont optionnelles et sont principalement destines aux utilisateurs avancs qui ont des installations de supervision complexes. Plus d'informations sur le focntionnement des dpendances de services ( lire absolument !) peuvent tre trouves ici.
19.4.11.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene hostdependency{ dependent_host_name dependent_hostgroup_name host_name hostgroup_name inherits_parent execution_failure_criteria notication_failure_criteria dependency_period }
19.4.11.4 Description des variables dependent_host_name Cette variable est utilise pour identier la description d'un hte dpendant. Plusieurs htes peuvent tre spars par des virgules. dependent_hostgroup_name Cette variable est utilise pour identier le(s) nom(s) court(s) de groupes d'htes dpendants. Plusieurs groupes d'htes peuvent tre spars par des virgules. La variable dependent_hostgroup_name peut tre utilise la place ou en conjonction avec la variable dependent_host_name. host_name Cette variable est utilise pour identier la description d'un hte dont on dpend (aussi appel hte matre). Plusieurs htes peuvent tre spars par des virgules. hostgroup_name Cette variable est utilise pour identier le(s) nom(s) court(s) de groupes d'htes dont on dpend (aussi appel hte matre). Plusieurs groupes d'htes peuvent tre spars par des virgules. La variable hostgroup_name peut tre utilise la place ou en conjonction avec la variable host_name. inherits_parent Cette variable indique si la dpendance hrite des dpendances de l'hte dont on dpend (aussi appel hte matre). En d'autres termes, si l'hte matre est dpendant de plusieurs autres htes et qu'une des ces dpendances choue, alors cette dpendance chouera galement. execution_failure_criteria Cette variable est utilise pour prciser les critres qui dterminent quand l'hte dpendant ne doit pas tre contrl activement. Si l'hte matre est dans un tat d'erreur que nous prcisons, l'hte dpendant ne sera pas contrl activement. Les options valides sont une combinaison d'un ou de plusieurs des tat suivants (les options multiples sont spares 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'hte n'a pas encore t contrl) n (none) : la dpendance d'excution n'chouera jamais et les contrles de l'hte dpendant seront toujours faits activement (si d'autres conditions permettent de le faire). Si vous prcisez u,d dans ce champ, l'hte dpendant ne sera pas contrl activement si l'hte matre est dans un des tats UNREACHABLE ou DOWN. notication_failure_criteria Cette variable est utilise pour dnir les critres qui dterminent quand les notications pour l'hte dpendant ne doivent pas tre envoyes. Si l'hte matre est dans un des tats d'erreur que nous prcisons, les notications pour l'hte dpendant ne seront pas envoyes 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'hte n'a pas encore t contrl) n (none) : la dpendance de notication n'chouera jamais et les notications de l'hte dpendant seront toujours envoyes. Si vous prcisez d dans ce champ, les notications pour l'hte dpendant ne seront pas envoyes quand l'hte matre est dans un tat DOWN. notication_failure_criteria Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les dpendances sont valides. Si cette variable est vide, les dpendances seront considres comme valides tout le temps.
19.4.12
19.4.12.1 Description Les escalades d'htes sont compltement optionnelles et sont utilises pour escalader les notications d'un hte particulier. Plus d'informations sur le fonctionnement des escalades peuvent tre trouves ici. 19.4.12.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene hostescalation{ host_name hostgroup_name contacts contact_groups rst_notication last_notication notication_interval escalation_period escalation_options }
router-34 5 8 60 all-router-admins
19.4.12.4 Description des variables host_name La variable est utilise pour identifer le nom court de hte pour lesquel l'escalade doit s'appliquer. hostgroup_name Cette variable est utilise pour identier le(s) nom(s) court(s) des groupe(s) d'htes auxquels doit s'appliquer cette escalade. Plusieurs groupes d'htes peuvent tre spars par des virgules. Si utilise, l'escalade s'appliquera tous les htes membres des groupes d'htes spcis. rst_notication Cette variable est un nombre identiant la premire notication pour laquelle l'escalade est eective. Par exemple, si vous mettez cette valeur 3, cette escalade sera seulement utilise si l'hte est dans un tat non-OK depuis susamment longtemps pour qu'une troisime notication soit envoye. last_notication Cette variable est un nombre identiant la dernire notication pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur 5, cette escalade ne sera pas utilise si plus de cinq notications ont t envoyes pour l'hte. Mettre cette valeur 0 prcise de continuer utiliser cette escalade sans n (peu importe le nombre de notications envoyes). contacts C'est une liste de noms courts de contacts notier chaque fois qu'il y a des problmes (ou des retours la normale) avec cet hte. Plusieurs contacts peuvent tre prciss en les sparant par des virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous ne souhaitez pas congurer des groupes de contacts .Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade d'hte. contact_groups C'est une liste de noms courts de groupes de contacts notier chaque escalade de l'hte. Plusieurs groupes de contacts peuvent tre prciss en les sparant par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade d'hte. notication_interval Cette variable est utilise pour dterminer l'intervalle auquel envoyer les notications pendant que l'escalade est valide. Si vous prcisez une valeur de 0 pour cet intervalle, Nagios va envoyer la premire notication quand la dnition d'escalade est valide mais prendra soin de ne plus envoyer aucune notication de problme pour l'hte. Les notications sont renvoyes quand l'hte revient la normale. Utile si vous souhaitez arrter l'envoi des notications aprs un certain temps. Note Si de multiples entres d'escalade pour un hte se chevauchent sur une ou plusieurs plages de notications, le plus petit des intervalles de notication pour toutes les escalades sera utilis.
escalation_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle
les escalades sont valides. Si cette variable est vide, les escalades seront considres comme valides tout le temps. escalation_options Cette variable est utilise pour dnir les critres qui dterminent si une escalade d'hte doit tre utilise. L'escalade est seulement utilise si l'hte est dans un des tats prciss dans cette variable. Si cette variable n'est pas prcise dans la dnition d'escalade d'un hte, l'escalade est considre 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 prcisez d dans ce champ, l'escalade sera seulement utilise quand l'hte est dans un tat DOWN.
19.4.13
19.4.13.1 Description Les entres d'informations tendues d'htes sont utilises la base pour amliorer les vues des CGIs status, statusmap, statuswrl et extinfo. Elles n'ont aucun eet sur la supervision et sont compltement optionnelles. ASTUCE Depuis Nagios 3.x, toutes les variables contenues dans les dnitions d'informations tendues d'hte sont aussi disponibles dans les dnitions d'htes .Vous pouvez choisir de dnir ces variables sous vos dnitions d'htes si cela rend votre conguration plus simple. Des dnitions d'informations tendues d'hte spares continueront tre supportes pour conserver la compatibilit avec les anciennes versions.
19.4.13.2 Format de la dnition Note Les variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant, vous devez au moins prciser une variable optionnelle dans chaque dnition pour que ce soit d'une quelconque utilit.
dene hostextinfo{ host_name notes notes_url action_url icon_image icon_image_alt vrml_image statusmap_image 2d_coords 3d_coords }
host_name note_string url url image_le alt_string image_le image_le x_coord,y_coord x_coord,y_coord,z_coord
19.4.13.4 Descriptions de variable host_name Cette variable est utilise pour identier le nom court de l'hte auquel associes les donnes. notes Cette variable est utilise pour prciser une note d'information rattacher l'hte. Si vous avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations d'un hte spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur l'hte. Si vous prcisez une URL, vous verrez un lien indiquant Extra Host Notes dans le CGI extended information (quand vous regardez les informations de l'hte). N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires sur l'hte. Si vous prcisez une URL, vous verrez un lien indiquant Extra Host Actions dans le CGI extended information (quand vous regardez les informations de l'hte). N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer cet hte. Cette image sera ache 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 htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/ local/nagios/share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans les CGIs status, extended information et statusmap. vrml_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer cet hte. Cette image sera utilise comme fond de carte pour l'hte spci dans le CGI statuswrl. Au contraire de l'image utilise dans la variable <icon_image>, celle-ci ne devrait pas avoir d'attribut de transparence. Si c'est le cas, le rendu de l'hte sera un peu bizarre. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).
statusmap_image Cette variable est utlise pour dnir le nom d'une image associer l'hte 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 gnrez la carte d'tats. Les images GD2 peuvent tre cres partir d'image PNG en utilisant l'utilitaire pngtogd2 fourni avec la librairie gd de Thomas Boutell. Les images au format GD2 doivent tre cres dans un format non compress toujours pour minimiser la charge CPU au moment de charger la carte rseau. 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 htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). 2d_coords Cette variable est utilise pour dnir les coordonnes utiliser pour l'hte dans le CGI statusmap. Les coordonnes doivent tre donnes en entier positif car correpsondant aux pixels dans l'image gnre. Le dpart de la carte (0,0) se trouve dans le coin suprieur 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 rfrence, la taille des icnes est habituellement de 40x40 pixels (le texte prend un peu d'espace supplmentaire). Les coordonnes que vous prcisez ici sont pour le coin suprieur gauche de l'icne de l'hte dessiner. Note Ne vous inquitez pas du nombre maximal de coordonnes que vous pouvez utliser ici. Le CGI va automatiquement calculer les dimensions maximales de l'image qu'il cre en se basant sur les plus grandes valeurs x et y que vous avez prcis.
3d_coords Cette variable est utilise pour dnir les coordonnes de l'hte utiliser dans le CGI statuswrl. Les coordonnes peuvent tre des nombres positifs ou ngatifs. Le dpart du dessin est (0.0,0.0,0.0). Pour rfrence, la taille des cubes pour les htes est de 0,5 units de chaque ct (les textes prennent un plus d'espace). Les coordonnes que vous utilisez sont le centre du cube de l'hte.
19.4.14
19.4.14.1 Description Les entres d'informations tendues de services sont utilises la base pour amliorer les vues des CGIs status et extinfo. Elles n'ont aucun eet sur la supervision et sont compltement optionnelles. ASTUCE Depuis Nagios 3.x, toutes les variables contenues dans les dnitions d'informations tendues de service sont aussi disponibles dans les dnitions de services .Vous pouvez choisir de dnir ces variables sous vos dnitions de services si cela rend votre conguration plus simple. Des dnitions d'informations tendues de service spares continueront tre supportes pour conserver la compatibilit avec les anciennes versions.
19.4.14.2 Format de la dnition Note Les variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant, vous devez au moins prciser une variable optionnelle dans chaque dnition pour que ce soit d'une quelconque utilit.
19.4.14.4 Descriptions de variable host_name Cette variable est utilise pour identier le nom court du service auquel sont associes les donnes. service_description Cette variable est utilise pour identier le nom court du service auquel sont associes les donnes. notes Cette variable est utilise pour prciser une note d'information rattacher au service. Si vous avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations de service spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur le service. Si vous prcisez 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 utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc.
action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires sur le service. Si vous prcisez 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 utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer l'hte. Cette image sera ache dans plusieurs endroits des CGIs. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/ share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans les CGIs status, extended information et statusmap.
Chapitre 20
20.3 Exemples
Voici un exemple de la faon dont peuvent tre dnies les variables personnalises dans dirents types de dnitions d'objets
linuxserver 00:06:5B:A6:AD:AA ; <-- Custom MAC_ADDRESS variable R32 ; <-- Custom RACK_NUMBER variable
define service { host_name description _SNMP_community _TechContact ... } define contact { contact_name _AIM_username _YahooID ... }
linuxserver Memory Usage public ; <-- Custom SNMP_COMMUNITY variable Jane Doe ; <-- Custom TECHCONTACT variable
Nom de la Nom de la macro Variable d'environnement variable MAC_ADDRESS $_HOSTMAC_ADDRESS$ NAGIOS__HOSTMAC_ADDRESS RACK_NUMBER $_HOSTRACK_NUMBER$ NAGIOS__HOSTRACK_NUMBER SNMP_COMMUNITY $_SERVICESNMP_COMMUNITY$ NAGIOS__SERVICESNMP_COMMUNITY TECHCONTACT $_SERVICETECHCONTACT$ NAGIOS__SERVICETECHCONTACT AIM_USERNAME $_CONTACTAIM_USERNAME$ NAGIOS__CONTACTAIM_USERNAME YAHOOID $_CONTACTYAHOOID$ NAGIOS__CONTACTYAHOOID
Chapitre 21
21.3.1
Format: Exemple:
Cette option dtermine le chemin d'accs votre chier de conguration principal .Les CGIs doivent savoir o trouver ce chier pour rcuprer les informations de conguration, l'tat courant des htes et des services, etc.
21.3.2
Format: Exemple:
C'est le chemin du rpertoire physique de votre serveur o sont stocks les chiers HTML de Nagios. Nagios suppose que la documentation et les images (utilises par les CGIs) sont stockes dans des sous-rpertoires nomms respectivement docs/ et images/.
21.3.3
Format: Exemple:
Si, lors de l'accs 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'accs aux pages HTML de Nagios dans l'URL utilise pour accder aux pages HTML de Nagios.
21.3.4
Format: Exemple:
Utilisation de l'authentication
use_authentication=<0/1> use_authentication=1
Cette option dtermine si les CGIs utiliseront l'authentication et les autorisations pour dterminer les informations et les commandes auxquelles les utilisateurs auront accs. Je vous recommande vivement d'utiliser l'authentication dans les CGIs. Si vous choisissez de ne pas le faire, assurez-vous de supprimer le CGI de commande pour empcher les utilisateurs non autoriss d'envoyer des commandes Nagios. Ce CGI ne devrait pas envoyer de commandes Nagios si l'authentication est dsactive, mais deux prcautions valent mieux qu'une. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations dans les CGIs ici. 0 = Ne pas utiliser l'authentication 1 = Utiliser l'authentication et les autorisations (par dfaut)
21.3.5
Format: Exemple:
default_user_name=<username> default_user_name=guest
Cette variable dnit un nom d'utilisateur par dfaut pour accder aux CGIs. Ainsi les utilisateurs d'un domaine scuris (i.e., derrire un rewall) peuvent accder aux CGIs sans avoir s'authentier auprs du serveur web. Vous pouvez choisir cette fonctionnalit pour viter le recours l'authentication de base si vous n'utilisez pas un serveur web scuris, car l'authentication de base transmet les mots de passe en clair sur Internet. Important Ne dnissez pas un utilisateur par dfaut moins que vous n'utilisiez un serveur web scuris et que vous soyez sr que tous ceux qui ont accs aux CGIs ont t authentis d'une manire ou d'une autre ! Si vous dnissez cette variable, ceux qui ne se sont pas authentis auprs du serveur web hriteront de tous les droits que vous donnez cet utilisateur !
21.3.6
Format: Exemple:
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir les informations sur le systme et le processus dans les CGIs d'informations complmentaires. Les utilisateurs de cette liste ne sont pas automatiquement autoriss passer des commandes systme/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 faon de congurer l'authentication et les autorisations des CGIs ici.
21.3.7
Format: Exemple:
C'est une liste de nom d'utilisateurs authentis, spars par des virgules, qui peuvent passer des commandes systme/processus via le CGI de commande. Les utilisateurs de cette liste ne sont pas automatiquement autoriss visualiser les informations sur le systme 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 faon de congurer l'authentication et les autorisations des CGI ici.
21.3.8
Format: Exemple:
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir les informations lies la conguration via le CGI de conguration. Les utilisateurs de cette liste peuvent voir les informations sur tous les htes congurs, les groupes d'htes, les services, les contacts, les
groupes de contacts, les priodes, et les commandes. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations dans les CGI ici.
21.3.9
Format: Exemple:
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir l'tat et la conguration de tous les htes. Les utilisateurs de cette liste sont galement automatiquement autoriss voir les informations de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autoriss envoyer des commandes aux htes 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 faon de congurer l'authentication et les autorisations des CGIs ici.
21.3.10
Format: Exemple:
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent envoyer des commandes tous les htes via le CGI de commande. Les utilisateurs de cette liste sont galement automatiquement autoriss envoyer des commandes tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autoriss voir l'tat ou la conguration de tous les htes 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 faon de congurer l'authentication et les autorisations des CGIs ici.
21.3.11
Format: Exemple:
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir l'tat et la conguration de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autoriss voir les informations de tous les htes. Les utilisateurs de cette liste ne sont pas automatiquement autoriss 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 faon de congurer l'authentication et les autorisations des CGIs ici.
21.3.12
Format: Exemple:
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent envoyer des commandes tous les services via le CGI de commande. Ils ne sont pas non plus automatiquement autoriss envoyer des commandes aux htes. Les utilisateurs de cette liste ne sont pas automatiquement autoriss voir l'tat ou la conguration 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 faon de congurer l'authentication et les autorisations des CGIs ici.
21.3.13
Format: Exemple:
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 priode de maintenance planie depuis l'interface web. Quand cette option est active, les utilisateurs peuvent changer le nom de l'auteur associ la requte. 0 = Autorise les utilisateurs changer les noms d'auteur quand ils soumettent des commandes 1 = Empche les utilisateurs de changer les noms d'auteur quand ils soumettent des commandes (dfaut)
21.3.14
Format: Exemple:
Cette option permet de spcier une image qui sera utilise comme fond d'image dans le CGI de cartographie des tats si vous utilisez la mthode de dessin des coordonnes dnies par l'utilisateur. L'image de fond n'est disponible dans aucune autre mthode. Il est suppos que l'image est situe dans le chemin des images HTML ( c.a.d /usr/local/nagios/share/images). Ce chemin est automatiquement dtermin en ajoutant /images au chemin dni dans le paramtre physical_html_path. Note Cette image peut tre au format GIF, JPEG, PNG, ou GD2. Cependant, le format GD2 (de prfrence en format non compress) est recommand, en raison de la faible charge CPU requise quand le CGI gnre l'image.
21.3.15
Format: Exemple:
Cette option dnit la mthode de dessin utilise par dfaut par le CGI de cartographie des tats .Les valeurs autorises sont : Valeur <layout_number> 0 Mthode de dessin Coordonnes dnies par l'utilisateur
Valeur <layout_number> 1 2 3 4 5 6
Mthode de dessin Couches imbriques Arbre rduit Arbre quilibr Circulaire Circulaire (avec marque suprieure) Circulaire (sous forme de ballon)
21.3.16
Format: Exemple:
Cette option permet d'inclure ses propres objets dans le monde VRML gnr. Elle suppose que le chier est situ dans le chemin dni par le paramtre physical_html_path. Note Ce chier doit tre un monde VRML valide (c.a.d que vous devez pouvoir le visualiser avec un navigateur VRML)
21.3.17
Format: Exemple:
Cette option dnit la mthode utilise par dfaut pour dessiner le monde VRML avec le CGI concern (Statusvrml) .Les options autorises sont : Valeur <layout_number> 0 2 3 4 Mthode de dessin Coordonnes dnies par l'utilisateur Arbre rduit Arbre quilibr Circulaire
21.3.18
Format: Exemple:
Cette option vous permet de spcier le dlai en secondes entre deux rafrachissements de page dans les CGI d'tat, de cartographie des tats, et d'informations complmentaires .
21.3.19
Alertes sonores
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> host_unreachable_sound=hostu.wav host_down_sound=hostd.wav Exemples: service_critical_sound=critical.wav service_warning_sound=warning.wav service_unknown_sound=unknown.wav Formats: Cette option vous permet de spcier un chier audio jouer dans votre navigateur lorsqu'il y a des problmes dans le CGI d'tat. En cas de problmes multiples, le chier audio jou est celui du problme le plus critique. Un problme est considr comme le plus critique lorsqu'un ou plusieurs htes 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 chiers audios sont censs se trouver dans le sous-rpertoire media/ de votre rpertoire HTML (i.e. /usr/local/nagios/share/media).
21.3.20
Format: Exemple:
Syntaxe Ping
ping_syntax=<command> ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$
Cette option dnit quelle syntaxe doit tre utilise quand on veut tester un hte avec ping travers l'interface WAP en utilisant le CGI statuswml .Vous devez inclure le chemin complet vers le chier binaire excutable de ping, ainsi que les paramtres passs la commande. La macro $HOSTADDRESS$ est remplace par l'adresse de l'hte avant que la commande ne soit excute.
21.3.21
Format: Exemple:
Cette option dtermine si les balises HTML contenues dans le message retour des plugins de services et d'htes doivent tre ou non chappes dans les CGI. Si vous activez cette option, votre message retour de plugin ne peut pas contenir de liens hypertexte.
21.3.22
Format: Exemple:
Cette option dtermine le nom du cadre cible dans lequel doit tre ach les URL des notes. Les options acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.
21.3.23
Format: Exemple:
Cette option dtermine le nom du cadre cible dans lequel doit tre ach les URL d'action. Les options acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.
21.3.24
Format: Exemple:
Cette option dtermine si la fonctionnalit d'intgration avec Splunk est active dans l'interface web. Si active, il vous sera prsent un lien Splunk It divers endroits dans les CGIs (chier journal, historique d'alerte, dtail d'hte/service, etc.). Utile si vous essayez de rechercher pourquoi un problme particulier est survenu. Pour plus d'informations sur Splunk, visitez http://www.splunk.com/.
21.3.25
Format: Exemple:
URL Splunk
splunk_url=<path> splunk_url=http://127.0.0.1:8000/
Cette option est utilise pour dnir l'URL de base de votre interface Splunk. Cet URL est utilis par les CGIs pour crer les liens si l'option enable_splunk_integration est active.
Chapitre 22
22.2
Dnitions
Avant de continuer, il est important de bien comprendre le sens et la dirence entre des utilisateurs authentis et des contacts authentis : Un utilisateur authenti est quelqu'un qui s'est authenti auprs du serveur web avec un nom d'utilisateur et un mot de passe, et qui le serveur web a donn accs l'interface web de Nagios. Un contact authenti est un utilisateur authenti dont le nom correspond celui d'une dnition de contact du chier de conguration.
22.3
En partant du principe que vous avez congur votre serveur web comme dcrit dans le guide de dmarrage rapide ,celui-ci devrait vous demander de vous authentier avant de pouvoir accder aux CGIs de Nagios. Au fur et mesure que vous allez ajouter de nouveaux contacts pour recevoir des notications d'htes et de services, vous souhaiterez certainement leur donner accs l'interface web de Nagios. Vous pouvez utiliser la commande suivante pour ajouter de nouveaux utilisateurs capables de s'authentier aux CGIs. Remplacez <username> par le nom d'utilisateur que vous souhaitez ajouter. Dans la plupart des cas, le nom d'utilisateur devrait correspondre au nom court du contact dni.
# htpasswd /usr/local/nagios/etc/htpasswd.users <username>
22.4
Maintenant il s'agit de s'assurer que les CGIs sont congurs pour ltrer les informations et les commandes auxquelles les utilisateurs peuvent accder. Pour cela la variable use_authentication du chier de conguration des CGIs doit tre positionne une valeur dirente de zro. Par exemple :
use_authentication=1
22.5
Quels sont les droits d'accs aux CGIs par dfaut quand la fonctionnalit d'authentication/autorisation est active ? Donnes des CGIs Information sur l'tat des htes Information sur la conguration des htes Historique des htes Notications des htes Commandes des htes Information sur l'tat des services Information sur la conguration des services Historique des services Notications des services Commandes des services Toutes informations de conguration Information sur le systme/processus Commandes systme/processus Contacts authentis* Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Autres utilisateurs authentis* Non Non Non Non Non Non Non Non Non Non Non Non Non
Les contacts authentis* ont les droits suivants sur chaque service dont ils sont un contact (mais pas sur ceux dont ils ne sont pas un contact) Droit de voir l'tat du service Droit de voir la conguration du service Droit de voir l'historique et les notications de ce service Droit de passer des commandes ce service Les contacts authentis* ont les droits suivants sur chaque hte dont ils sont un contact (mais pas sur ceux dont ils ne sont pas un contact) Droit de voir l'tat de l'hte Droit de voir la conguration de l'hte Droit de voir l'historique et les notications de cet hte
Droit de passer des commandes cet hte Droit de voir l'tat de tous les services de cet hte Droit de voir la conguration de tous les services de cet hte Droit de voir l'historique et les notications de tous les services de cet hte Droit de passer des commandes tous les services de cet hte Il est important de noter que par dfaut, personne n'a le droit de Voir le chier journal brut via la CGI d'achage du journal Voir les informations sur le processus de Nagios via le CGI d'informations complmentaires Passer des commandes Nagios via la CGI de commande Voir les dnitions des groupes d'htes, contacts, groupes de contacts, priodes, et commandes via la CGI de conguration Vous aurez sans doute besoin de ces informations, c'est pourquoi vous devrez vous donner des droits d'accs supplmentaires (et ventuellement d'autres utilisateurs) comme dcrit ci-dessous
22.6
Vous pouvez donner aux contacts authentis et autres utilisateurs authentis des droits d'accs d'autres informations des CGIs en les ajoutant diverses variables d'autorisation dans le chier de conguration des CGIs .Je m'aperois que ces variables ne permettent pas d'tre trs prcis dans les autorisations, mais c'est mieux que rien. Des droits supplmentaires peuvent tre accords aux utilisateurs en les ajoutant aux variables suivantes autoris pour les informations systme autoris pour les commandes systme autoris pour les informations de conguration autoris pour tous les htes autoris pour toutes les commandes aux htes autoris pour tous les services autoris pour toutes les commandes aux services
22.7
Si les droits d'accs aux diverses informations des CGIs ne vous paraissent pas clairs, lisez la section Autorisations requises de chaque CGI qui se trouve ici.
22.8
Si votre serveur web se trouve dans un domaine scuris (par exemple derrire un rewall) ou si vous utilisez SSL, vous pouvez dnir un utilisateur par dfaut pour accder aux CGIs. C'est le rle de la variable default_user_name du chier de conguration des CGIs .En dnissant un nom d'utilisateur par dfaut, vous pouvez autoriser les utilisateurs accder aux CGIs sans qu'ils ne s'authentient auprs du serveur web. Ceci vous permet d'viter d'utiliser l'authentication web de base, qui transmet les mots de passe en clair sur Internet.
Important Ne dnissez pas d'utilisateur par dfaut, moins que vous n'utilisiez un serveur web scuris et que vous soyez sr que les utilisateurs qui accdent aux CGIs ont t authentis d'une manire ou d'une autre ! Si vous utilisez cette variable, un utilisateur non authenti hritera des droits de cet utilisateur par dfaut !
Quatrime partie
Dmarrage de Nagios
Chapitre 23
Si vous avez oubli de saisir certaines donnes critiques ou avez des choses mal congures, Nagios vous indiquera par des messages de warning ou d'erreur l'endroit du problme. Habituellement, les messages d'erreurs indiquent la ligne de la conguration qui semble poser problme. Souvent, Nagios va quitter la vrication avant dmarrage et revenir la ligne de commande ds qu'il aura indiqu la premire erreur rencontre. C'est ainsi fait pour qu'une erreur ne dclenche pas une cascade d'erreurs au fur et mesure que les donnes de conguration sont vries. Si vous avez le moindre message d'erreur, vous aurez besoin d'diter vos chiers de conguration pour rgler le problme. Les messages de warning peuvent en gnral tre ignors sans problme car ce sont seulement des recommandations et non des obligations. Une fois que vous avez vri vos chiers de conguration et rgl toutes les erreurs, vous pouvez continuer et (re)dmarrer Nagios.
Chapitre 24
2. Manuellement: Vous pouvez dmarrer le dmon Nagios manuellement en ligne de commandes avec l'option -d comme ceci :
#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
2. L'interface Web : Vous pouvez redmarrer Nagios au travers de l'interface web en cliquant sur le lien Process Info et en choisissant l'option Restart the Nagios process :
3. Manuellement: Vous pouvez redmarrer le processus Nagios en lui envoyant un signal SIGHUP comme ceci :
#kill -HUP <nagios_pid>
2. L'interface Web : Vous pouvez arrter Nagios via l'interface web en cliquant sur le lien Process Info et en choisissant l'option Shutdown the Nagios process :
3. Manuellement: Vous pouvez arrter le processus Nagios en lui envoyant un signal SIGTERM comme ceci :
#kill <nagios_pid>
Cinquime partie
Les bases
Chapitre 25
Les plugins sont comme une couche intermdiaire entre le ordonnancement de contrle prsent dans le dmon Nagios et les services ou htes superviser. L'avantage de ce type d'architecture de plugin est que vous pouvez superviser peu prs tout ce que vous voulez. Si vous pouvez automatiser le procd de contrle de quelque-chose, vous pouvez le superviser avec Nagios. Il existe dj plein de plugins qui ont t crs pour superviser des ressources basiques comme la charge processeur, l'espace disque utils, les statistiques de la commande ping, etc. Si vous voulez superviser autre chose, reportez-vous la documentation nomme crire ses plugins et crez les vtres. C'est trs simple ! L'inconvnient de ce type d'architecture de plugin est le fait que Nagios n'a absolument aucune ide de ce que vous supervisez. Vous pourriez superviser les statistiques du trac rseau, les taux d'erreur de donnes, la temprature ambiante, la tension du CPU, la vitesse du ventilateur, la charge du processeur, l'espace disque, ou la capacit de votre super_fantastique grille-pain griller parfaitement votre pain le matin Nagios ne comprend pas les spcicits de ce qui est supervis. Les plugins seulement savent exactement ce qu'ils contrlent et comment eectuer ces contrles.
25.7
Plugin API
Vous pouvez trouver des informations sur les aspects techniques des plugins, ainsi que des informations sur comment dvelopper vos propres plugins ici.
Chapitre 26
check_ping
command_line 200.0,60% }
La ligne de commande nale, aprs substitution, qui sera excute pour le contrle de l'hte ressemblera ceci : /usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 100.0,90% -c 200.0,60% Ce qui est beau c'est que vous pouvez utilisez une simple commande de contrle pour un nombre illimit d'htes. Chaque hte va tre contrl avec cette mme commande parce que chaque adresse de vos htes seront automatiquement soumis pendant l'excution de votre commande.
Dans l'exemple ci-dessus, la commande de contrle du service a deux paramtres (auxquels on fait rfrence par les macros $ARGn$). La macro $ARG1$ vaudra 200.0,80% et $ARG2$ vaudra 400.0,40% (sans les guillemets). Supposons que nous utilisons la dnition d'hte ci-dessus et une commande check_ping dnie comme ceci :
define command { command_name command_line $ARG2$ } check_ping /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c -
La ligne de commande nale excuter pour le contrle du service sera : /usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 200.0,80% -c 400.0,40% ASTUCE Si vous devez passer des points d'exclamations ( !) dans vos arguments de commandes, vous pouvez faire ainsi en les espaant avec un backslash (\). Si vous devez inclure des backslashes dans vos arguments de commandes, ils devront aussi tre espacs avec un backslash.
Si vous souhaitez faire rfrence aux valeurs d'un autre hte ou service dans une commande (pour lequel ne s'excute pas la commande), vous pouvez utiliser ce qu'on appellle des macros la demande. Les macros la demande ressemblent aux macros normales, mis part qu'elle contiennent l'identiant de l'hte ou du service o aller chercher leur valeur. Voici la syntaxe de base pour les macros la demande : $HOSTMACRONAME:host_name$ $SERVICEMACRONAME:host_name:service_description$ Remplacez HOSTMACRONAME et SERVICEMACRONAME avec le nom d'une des macros standard d'hte ou de service trouv ici. Notez que le nom de la macro est spar de l'identiant de l'hte ou du service par deux points ( :). Pour les macros de service la demande, l'identiant du service est compos d'un nom d'hte et d'une description de service - qui sont spars par deux point ( :) galement. ASTUCE Le service de macros la demande peut contenir un champ de nom d'hte vide. Dans ce cas, le nom de l'hte est automatiquement associ ds que le service est utilis.
Voici des exemples de macros d'hte et de service la demande : Exemple 26.1 Macro la demande d'hte $HOSTDOWNTIME:myhost$
Exemple 26.3 Macro la demande de service, sans le champ d'hte $SERVICESTATEID::CPU Load$ Les macros la demande sont aussi valables pour les macros des groupes d'htes, des groupes de services, des contacts et des groupes de contacts. Par exemple : Exemple 26.4 Macro la demande de contact $CONTACTEMAIL:john$
La variable _MACADDRESS serait disponible dans une macro appele $_HOSTMACADDRESS$. Plus d'informations sur les variables personnalises d'objets et comment les utiliser dans des macros peuvent tre trouves ici.
1. $HOSTOUTPUT$Macros$HOSTOUTPUT$ 2. $LONGHOSTOUTPUT$Macros$LONGHOSTOUTPUT$ 3. $HOSTPERFDATA$Macros$HOSTPERFDATA$ 4. $HOSTACKAUTHOR$Macros$HOSTACKAUTHOR$ 5. $HOSTACKCOMMENT$Macros$HOSTACKCOMMENT$ 6. $SERVICEOUTPUT$Macros$SERVICEOUTPUT$ 7. $LONGSERVICEOUTPUT$Macros$LONGSERVICEOUTPUT$ 8. $SERVICEPERFDATA$Macros$SERVICEPERFDATA$ 9. $SERVICEACKAUTHOR$Macros$SERVICEACKAUTHOR$ 10. $SERVICEACKCOMMENT$Macros$SERVICEACKCOMMENT$
Les variables d'environnement qui contiennent des macros sont nommes comme les macros correspondantes (listes ici), avec le prxe NAGIOS_. Par exemple, la macro $HOSTNAME$Macros$HOSTNAME$ est disponible travers la variable d'environnement nomme NAGIOS_HOSTNAME.
Chapitre 27
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications
Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui
Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui
Donnes de performance d'hte Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui
Macros d'hte : 3 $HOSTNAME$Macros$HOSTNAME$ Oui Oui Oui $HOSTDISPLAYNAME$Macros$HOSTDISPLAYNAME$ Oui Oui Oui $HOSTALIAS$Macros$HOSTALIAS$ Oui Oui Oui $HOSTADDRESS$Macros$HOSTADDRESS$ Oui Oui Oui $HOSTSTATE$Macros$HOSTSTATE$ Oui Oui Oui 1 $HOSTSTATEID$Macros$HOSTSTATEID$ Oui Oui Oui 1 $LASTHOSTSTATE$Macros$LASTHOSTSTATE$ Oui Oui Oui $LASTHOSTSTATEID$Macros$LASTHOSTSTATEID$ Oui Oui Oui $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ Oui Oui Oui 1 $HOSTATTEMPT$Macros$HOSTATTEMPT$Oui Oui Oui $MAXHOSTATTEMPST$Macros$MAXHOSTATTEMPTS$ Oui Oui Oui $HOSTEVENTID$Macros$HOSTEVENTID$ Oui Oui Oui $LASTHOSTEVENTID$Macros$LASTHOSTEVENTID$ Oui Oui Oui $HOSTPROBLEMID$Macros$HOSTPROBLEMID$ Oui Oui Oui $LASTHOSTPROBLEMID$Macros$LASTHOSTPROBLEMID$ Oui Oui Oui $HOSTLATENCY$Macros$HOSTLATENCY$Oui Oui Oui $HOSTEXECUTIONTIME$Macros$HOSTEXECUTIONTIME$ Oui Oui Oui 1 $HOSTDURATION$Macros$HOSTDURATION$ Oui Oui Oui $HOSTDURATIONSEC$Macros$HOSTDURATIONSEC$ Oui Oui Oui $HOSTDOWNTIME$Macros$HOSTDOWNTIME$ Oui Oui Oui $HOSTPERCENTCHANGE$Macros$HOSTPERCENTCHANGE$ Oui Oui Oui $HOSTGROUPNAME$Macros$HOSTGROUPNAME$ Oui Oui Oui $HOSTGROUPNAMES$Macros$HOSTGROUPNAMES$ Oui Oui Oui $LASTHOSTCHECK$Macros$LASTHOSTCHECK$ Oui Oui Oui $LASTHOSTSTATECHANGE$Macros$LASTHOSTSTATECHANGE$ Oui Oui Oui $LASTHOSTUP$Macros$LASTHOSTUP$ Oui Oui Oui $LASTHOSTDOWN$Macros$LASTHOSTDOWN$ Oui Oui Oui $LASTHOSTUNREACHABLE$Macros$LASTHOSTUNREACHABLE$ Oui Oui Oui $HOSTOUTPUT$Macros$HOSTOUTPUT$ Oui Oui Oui 1 $LONGHOSTOUTPUT$Macros$LONGHOSTOUTPUT$ Oui Oui Oui 1 $HOSTPERFDATA$Macros$HOSTPERFDATA$ Oui Oui Oui 1 $HOSTCHECKCOMMAND$Macros$HOSTCHECKCOMMAND$ Oui Oui Oui $HOSTACKAUTHOR$Macros$HOSTACKAUTHOR$ Non Non Non 8 $HOSTACKAUTHORNAME$Macros$HOSTACKAUTHORNAME$ Non Non Non 8 $HOSTACKAUTHORALIAS$Macros$HOSTACKAUTHORALIAS$ Non Non Non 8 $HOSTACKCOMMENT$Macros$HOSTACKCOMMENT$ Non Non Non 8 $HOSTACTIONURL$Macros$HOSTACTIONURL$ Oui Oui Oui $HOSTNOTESURL$Macros$HOSTNOTESURL$ Oui Oui Oui $HOSTNOTES$Macros$HOSTNOTES$ Oui Oui Oui $TOTALHOSTSERVICES$Macros$TOTALHOSTSERVICES$ Oui Oui Oui $TOTALHOSTSERVICESOK$Macros$TOTALHOSTSERVICESOK$ Oui Oui Oui $TOTALHOSTSERVICESWARNING$Macros$TOTALHOSTSERVICESWARNING$ Oui Oui Oui $TOTALHOSTSERVICESUNKNOWN$Macros$TOTALHOSTSERVICESUNKNOWN$ Oui Oui Oui $TOTALHOSTSERVICESCRITICAL$Macros$TOTALHOSTSERVICESCRITICAL$ Oui Oui Oui
Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications
Macros de groupes d'htes : $HOSTGROUPALIAS$Macros$HOSTGROUPALIAS$> Oui Oui 5 $HOSTGROUPMEMBERS$Macros$HOSTGROUPMEMBERS$ Oui Oui 5 $HOSTGROUPNOTES$Macros$HOSTGROUPNOTES$ Oui Oui 5 $HOSTGROUPNOTESURL$Macros$HOSTGROUPNOTESURL$> Oui Oui 5 $HOSTGROUPACTIONURL$Macros$HOSTGROUPACTIONURL$ Oui Oui 5
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non
Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non
Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Donnes de performance d'hte Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non
Macros de service : $SERVICEDESC$Macros$SERVICEDESC$ Oui Oui Non $SERVICEDISPLAYNAME$Macros$SERVICEDISPLAYNAME$ Oui Oui Non $SERVICESTATE$Macros$SERVICESTATE$Oui Oui 2 Non $SERVICESTATEID$Macros$SERVICESTATEID$ Oui 2 Oui Non $LASTSERVICESTATE$Macros$LASTSERVICESTATE$ Oui Oui Non $LASTSERVICESTATEID$Macros$LASTSERVICESTATEID$ Oui Oui Non $SERVICESTATETYPE$Macros$SERVICESTATETYPE$ Oui Oui Non $SERVICEATTEMPT$Macros$SERVICEATTEMPT$ Oui Oui Non $MAXSERVICEATTEMPTS$Macros$MAXSERVICEATTEMPTS$ Non Oui Oui $SERVICEISVOLATILE$Macros$SERVICEISVOLATILE$ Oui Oui Non $SERVICEEVENTID$Macros$SERVICEEVENTID$ Oui Oui Non $LASTSERVICEEVENTID$Macros$LASTSERVICEEVENTID$ Oui Oui Non $SERVICEPROBLEMID$Macros$SERVICEPROBLEMID$ Oui Oui Non $LASTSERVICEPROBLEMID$Macros$LASTSERVICEPROBLEMID$ Oui Oui Non $SERVICELATENCY$Macros$SERVICELATENCY$ Oui Oui Non $SERVICEEXECUTIONTIME$Macros$SERVICEEXECUTIONTIME$ Oui 2 Oui Non $SERVICEDURATION$Macros$SERVICEDURATION$ Oui Oui Non $SERVICEDURATIONSEC$Macros$SERVICEDURATIONSEC$ Oui Oui Non $SERVICEDOWNTIME$Macros$SERVICEDOWNTIME$ Oui Oui Non $SERVICEPERCENTCHANGE$Macros$SERVICEPERCENTCHANGE$ Oui Oui Non $SERVICEGROUPNAME$Macros$SERVICEGROUPNAME$ Oui Oui Non $SERVICEGROUPNAMES$Macros$SERVICEGROUPNAMES$ Oui Oui Non $LASTSERVICECHECK$Macros$LASTSERVICECHECK$ Oui Oui Non $LASTSERVICESTATECHANGE$Macros$LASTSERVICESTATECHANGE$ Oui Oui Non $LASTSERVICEOK$Macros$LASTSERVICEOK$ Oui Oui Non $LASTSERVICEWARNING$Macros$LASTSERVICEWARNING$ Oui Oui Non $LASTSERVICEUNKNOWN$Macros$LASTSERVICEUNKNOWN$ Non Oui Oui $LASTSERVICECRITICAL$Macros$LASTSERVICECRITICAL$ Oui Oui Non $SERVICEOUTPUT$Macros$SERVICEOUTPUT$ Oui 2 Oui Non $LONGSERVICEOUTPUT$Macros$LONGSERVICEOUTPUT$ Oui 2 Oui Non $SERVICEPERFDATA$Macros$SERVICEPERFDATA$ Oui 2 Oui Non $SERVICECHECKCOMMAND$Macros$SERVICECHECKCOMMAND$ Oui Oui Non
Macro Name
Service Checks
Service Notications
Host Checks
Gestionnaire d'vnements de service et OCSP Non Non Non Non Oui Oui Oui
Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non Non Non
Donnes de performance de service Non Non Non Non Oui Oui Oui
Donnes de performance d'hte Non Non Non Non Non Non Non
$SERVICEACKAUTHOR$Macros$SERVICEACKAUTHOR$ Non Oui Non 8 $SERVICEACKAUTHORNAME$Macros$SERVICEACKAUTHORNAME$ Non Oui Non 8 $SERVICEACKAUTHORALIAS$Macros$SERVICEACKAUTHORALIAS$ Non Oui Non 8 $SERVICEACKCOMMENT$Macros$SERVICEACKCOMMENT$ Non Oui Non 8 $SERVICEACTIONURL$Macros$SERVICEACTIONURL$ Oui Oui Non $SERVICENOTESURL$Macros$SERVICENOTESURL$ Oui Oui Non $SERVICENOTES$Macros$SERVICENOTES$ Oui Oui Non
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications
Oui
$SERVICEGROUPMEMBERS$Macros$SERVICEGROUPMEMBERS$ Oui Oui Oui 6 $SERVICEGROUPNOTES$Macros$SERVICEGROUPNOTES$ Oui Oui Oui 6 $SERVICEGROUPNOTESURL$Macros$SERVICEGROUPNOTESURL$ Oui Oui Oui 6 $SERVICEGROUPACTIONURL$Macros$SERVICEGROUPACTIONURL$ Oui Oui Oui 6
Macro Name
Service Checks
Service Notications
Host Checks
Macros de contact : $CONTACTNAME$Macros$CONTACTNAME$ Non Oui $CONTACTALIAS$Macros$CONTACTALIAS$ Non Oui $CONTACTEMAIL$Macros$CONTACTEMAIL$ Non Oui $CONTACTPAGER$Macros$CONTACTPAGER$ Non Oui $CONTACTADDRESSn$Macros$CONTACTADDRESSn$ Non Oui
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications
Oui
Oui Oui
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications
Macros rcapitulatives : $TOTALHOSTSUP$Macros$TOTALHOSTSUP$ Oui Oui 4 10 $TOTALHOSTSDOWN$Macros$TOTALHOSTSDOWN$ Oui Oui 4 10 Oui Oui Oui 4 Oui 4 Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
$TOTALHOSTSUNREACHABLE$Macros$TOTALHOSTSUNREACHABLE$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTSDOWNUNHANDLED$Macros$TOTALHOSTSDOWNUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTSUNREACHABLEUNHANDLED$Macros$TOTALHOSTSUNREACHABLEUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTPROBLEMS$Macros$TOTALHOSTPROBLEMS$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTPROBLEMSUNHANDLED$Macros$TOTALHOSTPROBLEMSUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESOK$Macros$TOTALSERVICESOK$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESWARNING$Macros$TOTALSERVICESWARNING$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESCRITICAL$Macros$TOTALSERVICESCRITICAL$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESUNKNOWN$Macros$TOTALSERVICESUNKNOWN$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESWARNINGUNHANDLED$Macros$TOTALSERVICESWARNINGUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESCRITICALUNHANDLED$Macros$TOTALSERVICESCRITICALUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESUNKNOWNUNHANDLED$Macros$TOTALSERVICESUNKNOWNUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICEPROBLEMS$Macros$TOTALSERVICEPROBLEMS$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICEPROBLEMSUNHANDLED$Macros$TOTALSERVICEPROBLEMSUNHANDLED$ Oui Oui 4 Oui Oui 4 10
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements de service et OCSP Non Non Non Non Non Non Non Non Non Non Non
Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non Non Non Non Non Non Non
Donnes de performance de service Non Non Non Non Non Non Non Non Non Non Non
Donnes de performance d'hte Non Non Non Non Non Non Non Non Non Non Non
Macros de notication : $NOTIFICATIONTYPE$Macros$NOTIFICATIONTYPE$ Non Oui Non $NOTIFICATIONRECIPIENTS$Macros$NOTIFICATIONRECIPIENTS$ Non Oui Non $NOTIFICATIONISESCALATED$Macros$NOTIFICATIONISESCALATED$ Non Oui Non $NOTIFICATIONAUTHOR$Macros$NOTIFICATIONAUTHOR$ Non Oui Non $NOTIFICATIONAUTHORNAME$Macros$NOTIFICATIONAUTHORNAME$ Non Oui Non $NOTIFICATIONAUTHORALIAS$Macros$NOTIFICATIONAUTHORALIAS$ Non Oui Non $NOTIFICATIONCOMMENT$Macros$NOTIFICATIONCOMMENT$ Non Oui Non $HOSTNOTIFICATIONNUMBER$Macros$HOSTNOTIFICATIONNUMBER$ Non Oui Non $HOSTNOTIFICATIONID$Macros$HOSTNOTIFICATIONID$ Non Oui Non $SERVICENOTIFICATIONNUMBER$Macros$SERVICENOTIFICATIONNUMBER$ Non Oui Non $SERVICENOTIFICATIONID$Macros$SERVICENOTIFICATIONID$ Non Oui Non
Macro Name
Service Checks
Host Checks
Host Notications Host Notications Oui Oui Oui Oui Oui Oui Oui
Macro Name
Service Checks
Host Checks
Gestionnaire d'vnements de service et OCSP Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements d'hte et OCHP Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui Oui
Donnes de performance de service Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui
Donnes de performance d'hte Donnes de performance d'hte Oui Oui Oui Oui Oui Oui Oui
Macros de date/heure : $LONGDATETIME$Macros$LONGDATETIME$ Oui Oui $SHORTDATETIME$Macros$SHORTDATETIME$ Oui Oui $DATE$Macros$DATE$ Oui Oui $TIME$Macros$TIME$ Oui Oui $TIMET$Macros$TIMET$ Oui Oui $ISVALIDTIME:$Macros$ISVALIDTIME:$ Oui Oui 9 $NEXTVALIDTIME:$Macros$NEXTVALIDTIME:$ Oui Oui 9
Macro Name
Service Checks
Service Notications
Host Checks
Host Notications Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Donnes de performance d'hte Oui Oui Oui5 Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Macros de chier : $MAINCONFIGFILE$Macros$MAINCONFIGFILE$ Oui Oui $STATUSDATAFILE$Macros$STATUSDATAFILE$ Oui Oui $COMMENTDATAFILE$Macros$COMMENTDATAFILE$ Oui Oui $DOWNTIMEDATAFILE$Macros$DOWNTIMEDATAFILE$ Oui Oui $RETENTIONDATAFILE$Macros$RETENTIONDATAFILE$ Oui Oui $OBJECTCACHEFILE$Macros$OBJECTCACHEFILE$ Oui Oui $TEMPFILE$Macros$TEMPFILE$ Oui Oui $TEMPPATH$Macros$TEMPPATH$ Oui Oui $LOGFILE$Macros$LOGFILE$ Oui Oui $RESOURCEFILE$Macros$RESOURCEFILE$ Oui Oui $COMMANDFILE$Macros$COMMANDFILE$ Oui Oui $HOSTPERFDATAFILE$Macros$HOSTPERFDATAFILE$ Oui Oui $SERVICEPERFDATAFILE$Macros$SERVICEPERFDATAFILE$ Oui Oui
Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui
Macro Name
Service Checks
Service Notications
Host Checks
Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui
Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui
Macros diverses : $PROCESSSTARTTIME$Macros$PROCESSSTARTTIME$ Oui Oui $EVENTSTARTTIME$Macros$EVENTSTARTTIME$ Oui Oui $ADMINEMAIL$Macros$ADMINEMAIL$ Oui Oui $ADMINPAGER$Macros$ADMINPAGER$ Oui Oui $ARGn$Macros$ARGn$ Oui Oui $USERn$Macros$USERn$ Oui Oui
$HOSTDISPLAYNAME$
$HOSTALIAS$
$HOSTADDRESS$
$HOSTSTATE$
$HOSTSTATEID$
$LASTHOSTSTATE$
$LASTHOSTSTATEID$
Un nombre correspondant au dernier tat de l'hte : 0=UP 1=DOWN, 2=UNREACHABLE. , Une chane indiquant le type d'tat actuel du contrle d'hte (HARD ou SOFT). L'tat est SOFT lorsque le contrle a renvoy un tat non-OK (non-UP) et va tre ressay. L'tat est HARD lorsque le contrle d'hte a t tent le nombre de fois maximum dni. Le nombre d'essais de contrle d'hte actuel. Par exemple, si c'est la seconde fois que l'hte est contrl, ce sera le nombre 2. Le nombre actuel d'essais n'est rellement utile que pour l'criture de gestionnaires d'vnements d'hte pour des tats SOFT, qui agiraient de manire spcique selon le nombre de tentatives. Le nombre maximum d'essais de contrles dni pour l'hte actuel. Utile lors de l'criture de gestionnaire d'vnements d'hte pour les tats SOFT qui ont besoin de prendre une action base sur le numro de l'essai. Un numro unique associ l'tat actuel de l'hte. chaque fois qu'un hte (ou un service) change d'tat, un numro global d'vnement est incrment de un (1). Si un hte n'a pas chang d'tat, cette macro gale zro (0). Le numro unique d'vnement prcdent qui a t donn un hte. Un numro unique associ l'tat problmatique actuel de l'hte. chaque fois qu'un hte (ou un service) change d'tat de UP ou OK un tat problmatique, un numro global d'vnement est incrment de un (1). Cette macro est dirente de zro si l'hte est actuellement dans un tat dirent de UP Les . changements d'tats entre tats dirents de OK (par exemple DOWN ou UNREACHABLE) n'incrmente pas ce numro unique. Si un hte est dans l'tat UP cette macro est gale , zro (0). Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour crer automatiquement des tickets de support au moment o les htes basculent pour la premire fois dans un tat problmatique.
$HOSTSTATETYPE$
$HOSTATTEMPT$
$MAXHOSTATTEMPST$
$HOSTEVENTID$
$LASTHOSTEVENTID$
$HOSTPROBLEMID$
$LASTHOSTPROBLEMID$
Le numro unique de problme prcdent qui a t donn un hte. Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour clore automatiquement des tickets de support au moment o les htes reviennent dans un tat UP . Un nombre (rel) indiquant le retard en secondes par rapport au moment o un contrle d'hte ordonnanc devait tre excut. Par exemple, si un contrle tait ordonnanc 03 :14 :15 et qu'il n'a t excut qu' 03 :14 :17, la latence de ce contrle est de 2.0 secondes. Les contrles d'htes la demande ont une latence de zro secondes. un nombre (rel) indiquant le nombre de secondes qu'a pris l'excution du contrle d'hte (c.--d. le temps pendant lequel le contrle s'est excut). Une chane indiquant le temps qu'a pass l'hte dans sont tat actuel. Le format est XXh YYm ZZs, pour les heures, les minutes et les secondes. Un nombre indiquant le nombre de secondes qu'a pass l'hte dans sont tat actuel. Un nombre indiquant la profondeur d'arrt plani pour l'hte. Si cet hte est actuellement dans une priode d'arrt plani, la valeur sera suprieure zro. Si l'hte n'est pas en cours d'arrt plani, la valeur sera zro. Un nombre (rel) indiquant le pourcentage de changement d'tat subit par l'hte. Le pourcentage de changement d'tat est utilis par l'algorithme de dtection d'oscillation. le nom court du groupe d'htes auquel appartient cet hte. Cette valeur provient du paramtre hostgroup_name de la dnition de groupe d'htes. Si l'hte fait partie de plus d'un groupe d'hte cette macro contiendra le nom d'un seul de ceux-ci. Une liste spare par des virgules du nom court de tous les groupes d'htes auxquels appartient cet hte. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le dernier contrle d'hte a eu lieu.
$HOSTLATENCY$
$HOSTEXECUTIONTIME$
$HOSTDURATION$
$HOSTDURATIONSEC$
$HOSTDOWNTIME$
$HOSTPERCENTCHANGE$
$HOSTGROUPNAME$
$HOSTGROUPNAMES$
$LASTHOSTCHECK$
$LASTHOSTSTATECHANGE$
C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'tat de l'hte a chang pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'hte a t vu dans l'tat UP pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'hte a t vu dans l'tat DOWN pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'hte a t vu dans l'tat UNREACHABLE pour la dernire fois. La premire ligne du texte en sortie du dernier contrle d'hte (p. ex. Ping OK). Le texte complet (en plus de la premire ligne) qui a t renvoy par le dernier contrle d'hte. Cette macro contient les donnes de performance qui ont ventuellement t renvoyes par le dernier contrle d'hte. Cette macro contient le nom de la commande (ainsi que les paramtres qui ont pu lui tre passs) utilise lors du contrle d'hte. Une chane contenant le nom de l'utilisateur qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant le nom court du contact (si applicable) qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant l'alias du contact (si applicable) qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT.
$LASTHOSTUP$
$LASTHOSTDOWN$
$LASTHOSTUNREACHABLE$
$HOSTOUTPUT$
$LONGHOSTOUTPUT$
$HOSTPERFDATA$
$HOSTCHECKCOMMAND$
$HOSTACKAUTHOR$ 8
$HOSTACKAUTHORNAME$ 8
$HOSTACKAUTHORALIAS$ 8
$HOSTACKCOMMENT$ 8
Une chane contenant le commentaire associ l'acquittement saisi par l'utilisateur qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. URL d'action associe l'hte. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$), ce qui peut s'avrer pratique quand vous souhaitez passer le nom d'hte une page web. URL de notes associe l'hte. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$), ce qui peut s'avrer pratique quand vous souhaitez passer le nom d'hte une page web. URL de notes associe l'hte. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$), ce qui peut s'avrer pratique quand vous souhaitez avoir l'tat d'un hte spcique dans la description. Le nombre total de services associs Le nombre total de services associs qui sont dans un tat OK. Le nombre total de services associs qui sont dans un tat WARNING. Le nombre total de services associs qui sont dans un tat UNKNOWN. Le nombre total de services associs qui sont dans un tat CRITICAL. l'hte. l'hte l'hte l'hte l'hte
$HOSTACTIONURL$
$HOSTNOTESURL$
$HOSTNOTES$
Macros de groupes d'htes : 5 Le nom long/alias soit de 1) du groupe d'htes pass en argument de la macro la demande ou soit 2) du groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre alias de la dnition du groupe d'htes . Une liste spare par des virgules des htes appartenant soit 1) au groupe d'htes pass en argument de la macro la demande ou soit 2) au groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande).
$HOSTGROUPALIAS$ 5
$HOSTGROUPMEMBERS$ 5
$HOSTGROUPNOTES$ 5
Les notes associes avec soit 1) le groupe d'htes pass en argument de la macro la demande ou soit 2) le groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre notes de la dnition du groupe d'htes. L' URL de notes associe avec soit 1) le groupe d'htes pass en argument de la macro la demande ou soit 2) le groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre notes_url de la dnition du groupe d'htes. L' URL d'action associe avec soit 1) le groupe d'htes pass en argument de la macro la demande ou soit 2) le groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre action_url de la dnition du groupe d'htes.
$HOSTGROUPNOTESURL$ 5
$HOSTGROUPACTIONURL$ 5
Macros de service : Le nom long/description du service (p. ex. Main Website ). Cette valeur provient du paramtre description de la dnition du service. Un nom utilis pour l'achage du service. Cette valeur provient du paramtre display_name de la dnition du service. Une chane indiquant l'tat actuel du service (OK, WARNING, UNKNOWN, ou CRITICAL). Un nombre qui correspond l'tat actuel du service : 0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN. Une chane indiquant l'tat prcdent du service (OK, WARNING, UNKNOWN, ou CRITICAL). Un nombre qui correspond l'tat prcdent du service : 0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN.
$SERVICEDESC$
$SERVICEDISPLAYNAME$
$SERVICESTATE$
$SERVICESTATEID$
$LASTSERVICESTATE$
$LASTSERVICESTATEID$
$SERVICESTATETYPE$
Une chane indiquant le type d'tat actuel du contrle de service (HARD ou SOFT). L'tat est SOFT quand le contrle de service renvoie un tat non-OK state et va tre ressay. L'tat est HARD quand le contrle de service a t tent le nombre de fois maximum dni. Le nombre actuel d'essais de contrle du service. Par exemple, si c'est la seconde fois que le service est contrl, ce sera le nombre deux. Le nombre actuel d'essais n'est rellement utile que pour l'criture de gestionnaires d'vnements d'hte pour des tats SOFT, qui agiraient de manire spcique selon le nombre de tentatives. Le nombre maximum d'essais de contrle du service actuel. Utile pour l'criture de gestionnaires d'vnements d'hte pour des tats SOFT, qui agiraient de manire spcique selon le nombre de tentatives de contrle de service. Indique si le service est volatile ou pas : 0 = non volatile, 1 = volatile. Un numro unique associ l'tat actuel du service. chaque fois qu'un service (ou un hte) change d'tat, un numro global d'vnement est incrment de un (1). Si un service n'a pas chang d'tat, cette macro gale zro (0). Le numro unique d'vnement prcdent qui a t donn un service. Un numro unique associ l'tat problmatique actuel du service. chaque fois qu'un service (ou un hte) change d'tat de OK ou UP un tat problmatique, un numro global d'vnement est incrment de un (1). Cette macro est dirente de zro si le service est actuellement dans un tat dirent de OK. Les changements d'tats entre tats dirents de OK (par exemple WARNING ou CRITICAL) n'incrmente pas ce numro unique. Si un service est dans l'tat OK, cette macro est gale zro (0). Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour crer automatiquement des tickets de support au moment o les services basculent pour la premire fois dans un tat problmatique.
$SERVICEATTEMPT$
$MAXSERVICEATTEMPTS$
$SERVICEISVOLATILE$
$SERVICEEVENTID$
$LASTSERVICEEVENTID$
$SERVICEPROBLEMID$
$LASTSERVICEPROBLEMID$
Le numro unique de problme prcdent qui a t donn un service. Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour clore automatiquement des tickets de support au moment o les services reviennent dans un tat OK. Un nombre (rel) indiquant le retard en secondes par rapport au moment o un contrle de service ordonnanc devait tre excut. Par exemple, si un contrle tait ordonnanc 03 :14 :15 et qu'il n'a t excut qu' 03 :14 :17, la latence de ce contrle est de 2.0 secondes. un nombre (rel) indiquant le nombre de secondes qu'a pris l'excution du contrle de service (c.--d. le temps pendant lequel le contrle s'est excut). Une chane indiquant le temps qu'a pass le service dans son tat actuel. Le format est XXh YYm ZZs, pour les heures, les minutes et les secondes. Un nombre indiquant le nombre de secondes qu'a pass le service dans son tat actuel. Un nombre indiquant la profondeur d'arrt plani pour le service. Si ce service est actuellement dans une priode d' arrt plani, la valeur sera suprieure zro. Si le service n'est pas en cours d'arrt plani, la valeur sera zro. Un nombre (rel) indiquant le pourcentage de changement d'tat subit par le service. Le pourcentage de changement d'tat est utilis par l'algorithme de dtection d'oscillation. le nom court du groupe de services auquel appartient ce service. Cette valeur provient du paramtre servicegroup_name de la dnition de groupe de services. Si le service fait partie de plus d'un groupe de services cette macro contiendra le nom d'un seul de ceux-ci. Une liste spare par des virgules du nom court de tous les groupes de services auxquels appartient ce service. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le dernier contrle de service a eu lieu.
$SERVICELATENCY$
$SERVICEEXECUTIONTIME$
$SERVICEDURATION$
$SERVICEDURATIONSEC$
$SERVICEDOWNTIME$
$SERVICEPERCENTCHANGE$
$SERVICEGROUPNAME$
$SERVICEGROUPNAMES$
$LASTSERVICECHECK$
$LASTSERVICESTATECHANGE$
C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'tat du service a chang pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat OK pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat WARNING pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat UNKNOWN pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat CRITICAL pour la dernire fois. La premire ligne du texte en sortie du dernier contrle de service (p. ex. Ping OK). Le texte complet (en plus de la premire ligne) en sortie du dernier contrle de service (p. ex. Ping OK). Cette macro contient les donnes de performance qui ont pu tre renvoyes par le dernier contrle de service. Cette macro contient le nom de la commande (ainsi que les paramtres qui ont pu lui tre passs) utilise lors du contrle de service. Une chane contenant le nom de l'utilisateur qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant le nom court de l'utilisateur (si applicable) qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT.
$LASTSERVICEOK$
$LASTSERVICEWARNING$
$LASTSERVICEUNKNOWN$
$LASTSERVICECRITICAL$
$SERVICEOUTPUT$
$LONGSERVICEOUTPUT$
$SERVICEPERFDATA$
$SERVICECHECKCOMMAND$
$SERVICEACKAUTHOR$ 8
$SERVICEACKAUTHORNAME$ 8
$SERVICEACKAUTHORALIAS$ 8
Une chane contenant l'alias de l'utilisateur (si applicable) qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant le commentaire associ l'acquittement saisi par l'utilisateur qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. URL d'action associe au service. Cette valeur provient du paramtre action_url de la dnition d'informations complmentaires du service. URL d'action associe au service. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$ ou $SERVICEDESC$), ce qui peut s'avrer pratique quand vous souhaitez passer le nom d'hte une page web. URL de notes associe au service. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$ ou $SERVICEDESC$), ce qui peut s'avrer pratique quand vous souhaitez avoir l'tat d'un service spcique dans la description.
$SERVICEACKCOMMENT$ 8
$SERVICEACTIONURL$
$SERVICENOTESURL$
$SERVICENOTES$
Macros de groupes de services : 6 Le nom long/alias soit de 1) du groupe de services pass en argument de la macro la demande ou soit 2) du groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre alias de la dnition du groupe de services. Une liste spare par des virgules des services appartenant soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande).
$SERVICEGROUPALIAS$ 6
$SERVICEGROUPMEMBERS$ 6
$SERVICEGROUPNOTES$ 6
Les notes associes soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur provient du paramtre notes de la dnition du groupe de services. L'URL de notes associe soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur provient du paramtre notes_url de la dnition du groupe de services. L'URL d'action associe soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur provient du paramtre action_url de la dnition du groupe de services.
$SERVICEGROUPNOTESURL$ 6
$SERVICEGROUPNOTES$ 6
Macros de contact : Nom court du contact (p. ex. jdoe) qui est noti pour un problme d'hte ou de service. Cette valeur provient du paramtre contact_name de la dnition de contact. Nom long/description du contact (p. ex. John Doe) qui est noti. Cette valeur provient du paramtre alias de la dnition de contact. Adresse email du contact qui est noti. Cette valeur provient du paramtre email de la dnition de contact. Numro/adresse du Pager du contact qui est noti. Cette valeur provient du paramtre pager de la dnition de contact. Adresse du contact qui est noti. Chaque contact peut avoir six adresses direntes (en plus de son adresse email et de son numro de pager). Les macros correspondant ces adresses sont $CONTACTADDRESS1$ $CONTACTADDRESS6$. Cette valeur provient du paramtre addressx de la dnition de contact.
$CONTACTNAME$
$CONTACTALIAS$
$CONTACTEMAIL$
$CONTACTPAGER$
$CONTACTADDRESSn$
$CONTACTGROUPNAME$
Le nom court du groupe de contact auquel est rattach ce contact. Cette valeur provient du paramtre contactgroup_name de la dnition de groupes de contacts. Une liste spare par des virgules des groupes de contacts auxquels appartient ce contact.
$CONTACTGROUPNAMES$
Macros de groupes de contacts : 5 Le nom long/alias soit 1) du groupe de contacts pass en argument de la macro la demande ou soit 2) du groupe de contacts principal associ au contact actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre alias de la dnition du groupe de contacts. Une liste spare par des virgules de tous les contacts soit 1) du groupe de contacts pass en argument de la macro la demande ou soit 2) du groupe de contacts principal associ au contact actuel (si non utilis dans le contexte d'une macro la demande).
$CONTACTGROUPALIAS$ 7
$CONTACTGROUPMEMBERS$ 7
Macros rcapitulatives : $TOTALHOSTSUP$ Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat UP . Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat UNREACHABLE. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN et qui ne sont pas en cours de traitement. Un problme d'hte est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat UNREACHABLE et qui ne sont pas en cours de traitement. Un problme d'hte est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs.
$TOTALHOSTSDOWN$
$TOTALHOSTSUNREACHABLE$
$TOTALHOSTSDOWNUNHANDLED$
$TOTALHOSTSUNREACHABLEUNHANDLED$
$TOTALHOSTPROBLEMS$
Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN ou UNREACHABLE. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN ou UNREACHABLE et qui ne sont pas en cours de traitement. Un problme d'hte est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat OK. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING. Cette macro donne le nombre total de services qui sont actuellement dans l'tat CRITICAL. Cette macro donne le nombre total de services qui sont actuellement dans l'tat UNKNOWN. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat CRITICAL et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat UNKNOWN et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING, CRITICAL, ou UNKNOWN. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING, CRITICAL, ou UNKNOWN et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs.
$TOTALHOSTPROBLEMSUNHANDLED$
$TOTALSERVICESOK$
$TOTALSERVICESWARNING$
$TOTALSERVICESCRITICAL$
$TOTALSERVICESUNKNOWN$
$TOTALSERVICESWARNINGUNHANDLED$
$TOTALSERVICESCRITICALUNHANDLED$
$TOTALSERVICESUNKNOWNUNHANDLED$
$TOTALSERVICEPROBLEMS$
$TOTALSERVICEPROBLEMSUNHANDLED$
Macros de notication : Une chane reprsentant le type de notication envoye (PROBLEM, RECOVERY, ACKNOWLEDGEMENT, FLAPPINGSTART, FLAPPINGSTOP FLAPPINGDISABLED, DOWNTIMESTART, DOWNTIMEEND ou DOWNTIMECANCELLED). Une liste spare par des virgules de tous les noms courts des contacts qui sont notis pour un hte ou un service. Un entier indiquant si la notication a t envoy des contacts normaux pour l'hte ou le service ou si elle a t escalad. 0 = Notication normale (non-escalade) , 1 = Notication escalade. Une chane contenant le nom de l'utilisateur qui a crit la notication. Si la macro $NOTIFICATIONTYPE$ est gale DOWNTIMESTART ou DOWNTIMEEND, ce sera le nom de l'utilisateur qui a programm la maintenance de l'hte ou du service. Si la macro $NOTIFICATIONTYPE$ est gale ACKNOWLEDGEMENT, ce sera le nom de l'utilisateur qui a acquitt le problme de'hte ou de service. Si la macro $NOTIFICATIONTYPE$ est gale CUSTOM, ce sera le nom de l'utilisateur qui a initi la notication personnalise de l'hte ou du service. Une chane contenant le nom court du contact (si applicable) tel qu'indiqu dans la macro $NOTIFICATIONAUTHOR$. Une chane contenant l'alias du contact (si applicable) tel qu'indiqu dans la macro $NOTIFICATIONAUTHOR$.
$NOTIFICATIONTYPE$
$NOTIFICATIONRECIPIENTS$
$NOTIFICATIONISESCALATED$
$NOTIFICATIONAUTHOR$
$NOTIFICATIONAUTHORNAME$
$NOTIFICATIONAUTHORALIAS$
$NOTIFICATIONCOMMENT$
Une chane contenant le commentaire entr par l'auteur de la notication. Si la macro $NOTIFICATIONTYPE$ est gale DOWNTIMESTART ou DOWNTIMEEND, ce sera le commentaire de l'utilisateur qui a programm la maintenance de l'hte ou du service. Si la macro $NOTIFICATIONTYPE$ est gale ACKNOWLEDGEMENT, ce sera le commentaire de l'utilisateur qui a acquitt le problme de'hte ou de service. Si la macro $NOTIFICATIONTYPE$ est gale CUSTOM, ce sera le commentaire de l'utilisateur qui a initi la notication personnalise de l'hte ou du service. Le numro courant de la notication de l'hte. Le numro de notication augmente par incrment de un (1) chaque fois qu'une nouvelle notication est envoye pour l'hte (except pour les acquittements). Le numro de notication est remis zro quand l'hte revient l'tat ok (aprs que la notication de retour la normale soit envoye). Les acquittements n'incrmentent pas le numro de notication, pas plus que les notications qui ont voir avec les oscillations et la maintenance planie. Un numro unique qui identie une notication d'hte. Les numros identiants de notications sont uniques travers tout le systme de notications pour les htes et services. Vous pouvez donc utiliser ce numro comme cl primaire dans une base de donnes de notications. Ces numros devraient rester uniques mme aprs redmarrage de Nagios tant que vous activez l'option de rtention d'tats. Le numro identiant de notication est incrment par pas de un (1) chaque fois qu'une nouvelle notication pour l'hte est envoye, sans tenir compte du nombre de contacts notis. Le numro courant de la notication de service. Le numro de notication augmente par incrment de un (1) chaque fois qu'une nouvelle notication est envoye pour le service (except pour les acquittements). Le numro de notication est remis zro quand le service revient l'tat ok (aprs que la notication de retour la normale soit envoye). Les acquittements n'incrmentent pas le numro de notication, pas plus que les notications qui ont voir avec les oscillations et la maintenance planie.
$HOSTNOTIFICATIONNUMBER$
$HOSTNOTIFICATIONID$
$SERVICENOTIFICATIONNUMBER$
$SERVICENOTIFICATIONID$
Un numro unique qui identie une notication des service. Les numros identiants de notications sont uniques travers tout le systme de notications pour les htes et services. Vous pouvez donc utiliser ce numro comme cl primaire dans une base de donnes de notications. Ces numros devraient rester uniques mme aprs redmarrage de Nagios tant que vous activez l'option de rtention d'tats. Le numro identiant de notication est incrment par pas de un (1) chaque fois qu'une nouvelle notication pour l'hte est envoye, sans tenir compte du nombre de contacts notis.
Macros de date/heure : $LONGDATETIME$ Date et heure actuelles (p. ex. Fri Oct 13 00 :30 :28 CDT 2000). Le format de la date est dni par le paramtre date_format . Date et heure actuelles (p. ex. 10-13-2000 00 :30 :28). Le format de la date est dni par le paramtre date_format . Date du jour (p. ex. 10-13-2000). Le format de la date est dni par le paramtre date_format . Heure actuelle (p. ex. 00 :30 :28). Moment actuel au format time_t (secondes coules depuis l'poque UNIX). C'est une macro la demande spciale qui renvoie 1 ou 0 en fonction du fait qu'une heure donne fait partie ou non d'une priode de temps prcis. Il y a deux faons d'utiliser cette macro : 0. $ISVALIDTIME:24x7$ est gale 1si l'heure courante est valide dans la priode de temps 24x7. gale 0 dans le cas contraire. 0. $ISVALIDTIME:24x7:timestamp$ est gale 1si l'heure donne par l'argument timestamp (qui doit tre au format time_t) est valide dans la priode de temps 24x7. gale 0 dans le cas contraire.
$SHORTDATETIME$
$ISVALIDTIME:$ 9
C'est une macro la demande spciale qui renvoie l'heure valide suivante (dans le format time_t) pour une priode temps spcique. Il y a deux faons d'utiliser cette macro : 0. $NEXTVALIDTIME:24x7$ renvoie la prochaine heure valide - depuis et en incluant l'heure courante - dans la priode de temps 24x7. $NEXTVALIDTIME:$ 9 0. $NEXTVALIDTIME:24x7:timestamp$ renvoie la prochaine heure valide - depuis et en incluant l'heure prcise par l'argument timestamp (qui doit tre prcis dans le format time_t - dans la priode de temps 24x7. Si une prochaine priode de temps valide ne peut tre trouve dans la priode de temps prcise, la valeur d ela macro est gale 0.
Macros de chier : $MAINCONFIGFILE$ $STATUSDATAFILE$ $COMMENTDATAFILE$ $DOWNTIMEDATAFILE$ $RETENTIONDATAFILE$ $OBJECTCACHEFILE$ $TEMPFILE$ $TEMPPATH$ $LOGFILE$ $RESOURCEFILE$ $COMMANDFILE$ $HOSTPERFDATAFILE$ $SERVICEPERFDATAFILE$ Emplacement du chier de conguration principal . Emplacement du journal des tats. Emplacement du chier de commentaires. Emplacement du chier des arrts planis. Emplacement du chier de mmorisation des tats . Emplacement du chier de cache des objets. Emplacement du chier temporaire. Le dossier prcis dans la variable chemin temporaire. Emplacement du chier journal . Emplacement du chier de ressources. Emplacement du chier de commandes externes. Emplacement du chier de performance des htes (s'il est dni). Emplacement du chier de performance des services (s'il est dni).
Macros diverses :
$PROCESSSTARTTIME$
Moment au format time_t (secondes coules depuis l'poque UNIX) o le processus Nagios a t (re)dmarr pour la dernire fois. Vous pouvez en dduire le nombre de secondes coules depuis le dmarrage (ou redmarrage) de Nagios, en soustrayant $PROCESSSTARTTIME$ de $TIMET$Macros$TIMET$. Moment au format time_t (secondes coules depuis l'poque UNIX) o Nagios a commenc traiter les vnements (contrles, etc.). Vous pouvez dduire le nombre de secondes qui ont t ncessaires au dmarrage de Nagios en soustrayant $PROCESSSTARTTIME$ de $EVENTSTARTTIME$. Adresse email globale de l'administrateur. Cette valeur provient du paramtre admin_email . Numro/adresse global du pager de l'administrateur. Cette valeur provient du paramtre admin_pager . Le n-ime paramtre pass la commande (notication, gestionnaire d'vnement, contrle de service, etc.). Nagios gre jusqu' 32 macros de paramtre (de $ARG1$ $ARG32$). La nime macro dnie par l'utilisateur. Les macros utilisateur peuvent tre dnies dans un ou plusieurs chiers de ressources. Nagios gre jusqu' 32 macros utilisateur (de $USER1$ $USER32$).
$EVENTSTARTTIME$
$ADMINEMAIL$
$ADMINPAGER$
$ARGn$
$USERn$
27.4 Notes
1 Ces macros ne sont pas valables pour l'hte auquel elles sont associes lorsque cet hte est en cours de contrle (c.--d. qu'elles n'ont pas de sens, car elles ne sont pas encore dtermines). 2 Ces macros ne sont pas valables pour le service auquel elles sont associes lorsque ce service est en cours de contrle (c.--d. qu'elles n'ont pas de sens, car elles ne sont pas encore dtermines). 3 Quand des macros d'hte sont utilises dans des commandes relatives un service (c.--d. les notications de service, les gestionnaires d'vnements, etc.) elles font rfrence l'hte auquel est associ le service. 4 Quand les macros rcapitulatives d'hte et de service sont utilises dans des commandes de notication, les totaux sont ltrs pour ne prendre en compte que les htes et les services autoriss ce contact (c.--d. les htes et les services congurs pour lui envoyer des notications). 5 Ces macros sont habituellement associes avec le groupe primaire d'htes auquel appartient l'hte actuel. Elles peuvent donc tre considres comme des macros d'htes dans la plupart des cas. Cependant, ces macros ne sont pas valables dans le cas de macros d'hte la demande. la place, elles
peuvent tre utilises comme macros de groupe d'htes la demande quand vous passez le nom du groupe d'hte la macro. Par exemple : $HOSTGROUPMEMBERS:hg1$ renvoie une liste spare par des virgules des tous les membres (htes) du groupe d'htes hg1. 6 Ces macros sont habituellement associes avec le groupe primaire de services auquel appartient le service actuel. Elles peuvent donc tre considres comme des macros de services dans la plupart des cas. Cependant, ces macros ne sont pas valables dans le cas de macros de service la demande. la place, elles peuvent tre utilises comme macros de groupe de services la demande quand vous passez le nom du groupe de services la macro. Par exemple : $SERVICEGROUPMEMBERS:sg1$ renvoie une liste spare par des virgules des tous les membres (service) du groupe de services sg1. 7 Ces macros sont habituellement associes avec le groupe primaire de contacts auquel appartient le contact actuel. Elles peuvent donc tre considres comme des macros de contacts dans la plupart des cas. Cependant, ces macros ne sont pas valables dans le cas de macros de contact la demande. la place, elles peuvent tre utilises comme macros de groupe de contacts la demande quand vous passez le nom du groupe de contacts la macro. Par exemple : $CONTACTGROUPMEMBERS:cg1$ renvoie une liste spare par des virgules des tous les membres (contact) du groupe de contacts cg1. 8 Ces macros d'acquittement sont abandonnes. Utilisez dsormais les macros plus gnriques $NOTIFICATIONAUTHOR$, $NOTIFICATIONAUTHORNAME$, $NOTIFICATIONAUTHORALIAS$ ou $NOTIFICATIONCOMMENT$. 9 Ces macros sont seulement valables dans le cas de macros la demande. Vous devez fournir un argument supplmentaire pour les utiliser. Ces macros ne sont pas disponibles comme variables d'environnement. 10 Les macros de statistiques ne sont pas disponibles comme variables d'environnement si l'option use_large_installation_tweaks est active, car elles sont plutt grosses consommatrices de CPU lors de leurs calculs.
Chapitre 28
dtermine qu'il a un rsultat relativement rcent la place pour ce contrle. Plus d'informations sur les contrles mis en cache peuvent tre trouves ici.
Note Les retours WARNING signient gnralement que l'hte est UP. Cependant, les retours WARNING sont interprts pour signier que l'hte est DOWN si l'option use_aggressive_host_checking est active. Si l'tat de l'hte pralable est DOWN, Nagios va essayer de voir s'il est rellement DOWN ou s'il est UNREACHABLE. La distinction entre les tats d'htes DOWN et UNREACHABLE est important, car elle peut permettre aux admministrateurs de determiner l'origine de la coupure rseau rapidement. Le tableau suivant montre comment Nagios dtermine l'tat nal en fonction de l'tat de l'hte(s) parent(s). Les parents d'htes sont dnis dans le paramtre parents de la dnition d'hte.
Etat de l'Hte Parent Au moins un des parents est UP Tous les parents sont soit DOWN soit UNREACHABLE
Plus d'informations sur comment Nagios fait la dirence entre les tats DOWN et UNREACHABLE peuvent tre trouves ici.
Chapitre 29
Chapitre 30
Les contrles actifs sont initis par la logique de contrle du dmon Nagios. Quand Nagios a besoin de connatre l'tat d'un hte ou d'un service, il va excuter un plugin et lui passer les informations sur ce qu'il a besoin de contrler. Le plugin contrle alors l'tat oprationnel de l'hte ou du service et renvoie les rsultats en retour au dmon Nagios. Nagios va traiter les rsultats du contrle d'hte ou de service et conduire les actions appropries (par exemple envoyer des notications, lancer un gestionnaire d'vnements, etc.). Plus d'informations sur le fonctionnement des plugins peuvent tre trouves ici.
Chapitre 31
Ci-dessous, le fonctionnement des contrles passifs en plus dtaill : 1. Une application externe contrle l'tat d'un hte ou un service. 2. L'application externe crit le rsultat du contrle dans le chier des commandes externes. 3. Ensuite, Nagios lit ce chier et place les rsultats dans une queue pour les traiter plus tard. Cette mme queue est utilise pour aussi bien stocker les rsultats des contrles actifs que passifs. 4. Nagios va excuter priodiquement un vnement collecteur de rsultat et scanner la queue. Chaque rsultat de services trouv est trait de la mme manire qu'il soit actif ou passif. Nagios enverra les notications, alertes de log, etc. en fonction du rsultat des contrles. Le principe des contrles actifs et passifs est similairement le mme. Cela tient en compte de l'intgration de l'information des tats partir d'applications externes avec Nagios.
[<timestamp>] PROCESS_SERVICE_CHECK_RESULT;<host_name>;<svc_description>;<return_code>;<plu
o : timestamp est le temps au format time_t (secondes coule depuis le commencement UNIX) que le contrle de service gnre (ou soumet). Notez bien le simple espace juste aprs la parenthse. host_name est l'alias de l'hte associ avec le service dans la dnition de service svc_description est la description de service spcie dans la dnition de service return_code est le code de retour d'un contrle (0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN) plugin_output est le texte de sortie d'un contrle de service Note Un service doit tre dni dans Nagios avant de lui soumettre un contrle passif ! Nagios ignorera tous les rsultats de contrles pour les services qui n'ont pas t congur avant son dernier (re)dmarrage.
ASTUCE Un exemple de script shell sur comment soumettre un contrle passif de service Nagios se trouve dans la documentation des services volatiles.
o : timestamp est le temps au format time_t (secondes coule depuis le commencement UNIX) que le contrle de service gnre (ou soumet). Notez bien le simple espace juste aprs la parenthse. host_name est l'alias correspondant l'hte (dni dans la dnition de l'hte) host_status est l'tat de l'hte (0=UP 1=DOWN, 2=UNREACHABLE) , plugin_output est le texte de sortie du contrle de l'hte Note Un hte doit tre dni dans Nagios avant de lui soumettre un contrle passif ! Nagios ignorera tous les rsultats de contrles pour les htes qui n'ont pas t congurs avant son dernier (re)dmarrage.
Si une application demeurant sur le mme serveur que Nagios veut envoyer un rsultat de contrle passif d'hte ou de service, vous pouvez simplement crire en mode append directement dans le chier de commandes externes. Contrairement, une application sur un hte distant ne peut pas le faire aussi simplement. Pour permettre aux htes distants d'envoyer leurs rsultats de contrles passifs au serveur de supervision, j'ai dvelopp un agent du nom NSCANSCA. L'agent NSCA se compose d'un dmon tournant sur le serveur Nagios et un client qui est excut par les htes distants. Le dmon coutera toutes les connexions des htes distants, excutera quelques validations fondamentales sur les rsultats lui tant soumis et crira ensuite les rsultats des contrles directement dans le chier de commandes externes (comme dcrit au-dessus). Plus de renseignements sur l'agent NSCA peuvent tre trouvs ici.
Chapitre 32
Types d'tats
32.1 Introduction
L'tat courant d'un service ou d'un hte supervis est dtermin par deux composants : L'tat du service ou de l'hte (ex : OK, WARNING, UP DOWN, etc.) , Le type d'tat dans lequel l'hte ou le service se trouve Il y a deux types d'tats dans Nagios - les tats SOFT et les tats HARD. Ces types d'tats sont un lment crucial de la logique de supervision, ils sont utiliss pour dterminer quand les gestionnaires d'vnements sont excuts et quand les notications sont initialement envoyes. Ce document dcrit les dirences qu'il existe entre les tats SOFT et HARD, comment ils surviennent, et ce qu'il se passe lorsqu'ils ont lieu.
Les gestionnaires d'vnements sont excuts pour traiter l'tat SOFT. Les tats SOFT sont seulement journaliss si vous avez activ les options log_service_retries ou log_host_retries dans le chier de conguration principal.
La seule chose importante qui se passe rellement lors d'un tat SOFT, c'est l'excution des gestionnaires d'vnements. L'utilisation des gestionaires d'vnements peut tre particulirement utile si vous voulez essayer et rsoudre un problme de faon proactive avant qu'il ne se transforme en tat HARD. Les macros $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ ou $SERVICESTATETYPE$Macros$SER auront alors la valeur SOFT quand les gestionnaires d'vnement seront excuts, ce qui permettra aux gestionnaires d'vnements de savoir quand ils devront prendre des mesures correctives. Plus d'informations sur les gestionnaires d'vnements sont disponibles ici.
Les macros $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ ou $SERVICESTATETYPE$Macros$SERVICES auront la valeur HARD quand les gestionnaires d'vnement seront excuts, ce qui permettra aux gestionnaires d'vnement de savoir qu'ils doivent eectuer une action corrective. Plus d'informations sur les gestionnaires d'vnement peuvent tre trouves ici.
32.5 Exemple
Voici un exemple de comment sont dtermins les types d'tat, quand les changement d'tats surviennent, et quand les gestionnaires d'vnements sont excuts et les notications sont envoyes. Le tableau ci-dessous montre les contrles conscutifs dans le temps. Le max_check_attempt du service contrl est positionn 3. Echelle de temps 0 Contrle # 1 Etat OK Type d'tat HARD Changement Notes d'tat Non Etat initial du service
Echelle de temps
Contrle #
Etat
Type d'tat
CRITICAL
SOFT
Changement Notes d'tat Premire dtection d'un tat non-OK. Le Oui gestionnaire d'vnement s'excute. Le service continue d'tre dans un tat non-OK. Le gestionnaire d'vnement s'excute. Le nombre maximum de tentatives a t atteint, le service passe dans un tat HARD. Le gestionnaire d'vnement s'excute et une notication est envoye. Le compteur de tentavive repasse immdiatement 1. Le service passe un tat WARNING HARD. Le gestionnaire d'vnement s'excute et une notiaction du problme est envoye. Le service se stabilise dans un tat HARD. Selon l'intervalle de notication spci pour le service, d'autres notivications peuvent tre envoyes. Le service passe un tat OK HARD. Le gestionnaire d'vnement s'excute et une notication de retour la normale est envoye. Le service est toujours OK. Le service est dtect comme ayant bascul vers un tat SOFT non-OK. Le gestionnaire d'vnement s'excute.
WARNING
SOFT
Oui
CRITICAL
HARD
Oui
WARNING
HARD
Oui
WARNING
HARD
Non
OK
HARD
Oui
OK
HARD
Non
UNKNOWN SOFT
Oui
Echelle de temps
Contrle #
Etat
Type d'tat
OK
SOFT
Changement Notes d'tat Le service passe un tat de retour la normale SOFT. Le gestionnaire d'vnement s'excute, mais aucune notication n'est envoye, comme ce Oui n'est pas un rel problme. Le type d'tat est positionn HARD et le compteur de tentative est positionn 1 immdiatement aprs. Service stabilis dans un tat OK.
10
OK
HARD
Non
Chapitre 33
33.1 Introduction
Les paramtres concernant les priodes de temps vous permettent de matriser le fonctionnement logique des dirents aspects de la supervision et de la notication. Par exemple, vous pouvez restreindre : Quand les contrles d'htes et de services planis peuvent tre eectus Quand les notications peuvent tre envoyes Quand les escalades de notication peuvent tre utilises Quand les dpendances sont valides
Un jour spcique mensuel (3me Lundi de chaque mois) Un jour dans la semaine (le Mardi) Des exemples de paramtres concernant les priodes de temps sont accessibles ici.
33.3 Comment les priodes de temps fonctionnent avec les contrles des htes et des services
Les dnitions des htes et des services ont un paramtre optionnel check_period qui vous permet de spcier la priode qui sera utilise pour restreindre les moments o les contrles actifs des htes ou des services devront tre eectus. Si vous n'utilisez pas le paramtre check_period pour spcier une priode, Nagios sera capable de planier les contrles actifs des htes et services aussi souvent qu'il en aura besoin. Il s'agit essentiellement d'une priode de surveillance de type 24x7. Spcier une plage horaire dans le paramtre check_period vous permet de restreindre Nagios planier les contrles actifs rguliers des htes ou des services. Quand Nagios va tenter de replanier un contrle d'hte ou de service, il va s'assurer que le prochain contrle tombe bien dans la plage horaire dnie. Si ce n'est pas le cas, Nagios va ajuster l'heure du prochain contrle pour qu'elle concide avec la prochaine heure valide dans la plage horaire spcie. Ce qui signie que l'hte ou le service ne sera contrl nouveau que dans plusieurs heures, jours, semaines, etc. Note Les contrles la demande et les contrles passifs ne sont pas restreints par la plage horaire spcie dans le paramtre check_period. Seuls des contrles rguliers actifs sont concerns.
Sauf si vous avez une bonne raison de ne pas le faire, je vous conseille de surveiller tous les htes et les services en utilisant des plages horaires qui couvrent une priode de temps 24x7. Si vous ne le faites pas, vous pouvez rencontrer certains problmes au cours de ces priodes de non-contrle (lorsque l'on ne se trouve pas dans la plage horaire dnie) : 1. Le statut de l'hte ou du service apparatra inchang tout au long de la priode de non-contrle. 2. Les contacts ne seront pas re-notis des problmes avec un hte ou un service durant une priode de non-contrle. 3. Si un hte ou un service redevient OK pendant une priode de non-contrle, les contacts ne seront pas immdiatement notis du retour normale.
33.4 Comment fonctionnent les priodes de temps avec les contacts de notications
En spciant une priode au paramtre notification_period d'une dnition d'un hte ou d'un service, vous pouvez contrler quand Nagios est autoris envoyer des notications concernant des problmes ou des retours la normale pour cet hte ou ce service. Lorsqu'une notication pour un hte doit tre envoye, Nagios s'assure que l'heure actuelle est bien comprise dans la plage horaire notification_period valide. Si c'est une heure valide, alors Nagios essayera de notier chaque contact du problme ou du retour la normale. Vous pouvez aussi utiliser les priodes pour contrler quand seront envoyes les notications individuellement chaque contact. En utilisant les paramtres service_notification_period and host_notification_period dans la dnition d'un contact, vous serez en mesure de dnir une plage
horaire sur mesure pour chaque contact. Les contacts recevront les notications pour les htes et les services seulement pendant la plage horaire que vous leur aurez spci. Des exemples de cration de dnition de plages horaires sur mesure sont disponibles ici.
33.5 Comment fonctionnent les priodes de temps avec les escalades de notication
Les escalades de notication des htes et services ont un paramtre optionnel nomm escalation_period qui vous permet de spcier une plage horaire o l'escalade sera valide et pourra tre utilise. Si vous n'utilisez pas le paramtre escalation_period dans la dnition de l'escalalde, l'escalade sera considre comme valide tout le temps. Si vous spciez une plage horaire pour le paramtre escalation_period, Nagios utilisera dnition de l'escalade seulement pendant cette plage horaire.
Chapitre 34
Maintenant que vous savez ce que reprsente les relations parent/enfant pour les htes superviss ; comment congurer Nagios pour reprsenter celles-ci? Le paramtre parents de vos dnitions d'htes vous permet de le faire. Voici un extrait des dnitions de l'hte avec les relations parent/enfant pour cet exemple :
define host { host_name } define host { host_name parents } define host { host_name parents } Nagios ; <-- The local host has no parent - it is the topmost host
Switch1 Nagios
Web Switch1
define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents }
FTP Switch1
Router1 Switch1
Switch2 Router1
Wkstn1 Switch2
HPLJ2605 Switch2
Router2 Router1
somewebsite.com Router2
Quand l'tat de l'hte change (par exemple de UP DOWN), la logique d'accessibilit des htes est mis en action. La logique d'accessibilit des htes va initier des contrles parrallles pour les parents et l'enfant sur n'importe quels changements d'tats. Cela permet Nagios de rapidement dterminer l'tat courant de votre infrastructure rseau ds que quelque chose change.
Dans cet exemple, Nagios va dterminer que Web et Router1 sont tous les deux en tat DOWN parce que le chemin vers ces htes n'est pas bloqu. Nagios va dterminer que les htes derrire Router1 sont tous dans un tat UNREACHABLE parce que Nagios ne peut les joindre. Router1 est tomb et bloque le chemin vers les autres htes. Ces htes fonctionnent peut-tre, ou pas - Nagios ne le sait pas parce qu'il ne peut pas les joindre. Aussi Nagios les considre comme UNREACHABLE et non DOWN.
ions dans votre chier de conguration d'hte et/ou dans le paramtre host_notification_options de votre chier de dnitions des contacts.
Chapitre 35
Notications
35.1 Introduction
J'ai reu de nombreuses questions sur le fonctionnement des notications. Ce document essaiera d'expliquer exactement quand et comment les notications pour les htes et les services sont mises, et qui les reoit. Les escalades de notications sont expliques ici.
35.4 Quels sont les ltres traverser avant qu'une notication ne soit mise ?
Le simple fait qu'une notication d'hte ou de service doit tre mise ne signie pas que des contacts vont la recevoir. Il y a plusieurs ltres qu'une notication doit traverser avant d'tre juge valable pour l'mission. Mme alors, des contacts peuvent ne pas la recevoir si leurs ltres de notication ne le permettent pas. Voyons en dtail les ltres traverser
Le quatrime ltre des notications d'hte et de service traverser concerne la priode. Chaque dfinition d'hte et de service comporte un paramtre notification_period qui spcie quelle priode contient les heures de notication valides pour cet hte ou service. Si le moment o la notication apparat n'est pas dans une plage valide de la priode spcie, personne n'est contact. Dans le cas contraire, la notication est passe au ltre suivant
Note Si le ltre de priode n'est pas travers, Nagios rordonnancera la prochaine notication pour l'hte ou le service (s'il est dans un tat non-OK) dans la prochaine plage de temps valide pour la priode. Cela permet de s'assurer que les contacts sont notis des problmes ds que possible quand arrive le prochain moment valide de la priode.
Le dernier jeu de ltres d'hte et de service est conditionne par deux lments : (1) une notication a dj t mise par le pass concernant un problme avec l'hte ou le service, et (2) l'hte ou le service est rest dans le mme tat non-OK depuis la dernire notication. Si ces deux conditions sont runies, Nagios vrie que le temps coul depuis l'mission de la dernire notication est suprieur ou gal la valeur spcie par le paramtre notification_interval de la dnition de l'hte ou du service. Si le temps coul depuis la dernire notication est insusant, personne n'est contact. Si un temps susant s'est coul, ou si les deux conditions de ce ltre n'ont pas t runies, la notication sera mise ! Le fait qu'elle parvienne ou non aux contacts individuels relve d'un autre jeu de ltres
Le premier ltre passer pour chaque contact concerne les paramtres de notication. Chaque dfinition de contact comprend des paramtres qui dterminent si les notications de service peuvent tre mises pour les tats WARNING, CRITICAL, et RECOVERY. Chaque dnition de contact contient galement des options qui dterminent si les notications d'htes peuvent tre mises lorsqu'un hte passe dans les tats DOWN, UNREACHABLE, ou RECOVERY. Si la notication d'hte ou de service ne remplit pas ces conditions, les contacts ne recevront pas de notication. Dans le cas contraire, la notication est passe au prochain ltre Note Les notications concernant les rtablissement d'htes et de services ne sont mises que si une notication a t envoye l'apparition du problme. Cela n'a pas de sens de recevoir une notication de rtablissement pour un problme dont vous n'aviez pas connaissance
Le dernier ltre passer pour chaque contact concerne la priode. Chaque dnition de contact comprend un paramtre notification_period qui spcie la priode durant laquelle on peut envoyer des notications ce contact. Si l'heure laquelle la notication est faite n'est pas comprise dans la plage de temps de la priode spcie, le contact ne recevra pas la notication. Dans le cas contraire, le contact la reoit !
ICQ, ou MSN, alertes sonores, dcharge lectrique, etc. La faon dont est envoye les notications dpend des commandes de notication qui sont dnies dans les chiers de dnitions d'objets. Note Si vous installez Nagios en suivant le guide de dmarrage rapide, celui-ci devrait tre congur pour envoyer des emails. Vous pouvez voir la commande utilise pour la notication par email en visualisant le contenu du chier suivant : /usr/local/nagios/etc/objects/commands.cfg.
Les mthodes spciques de notication (pager, etc.) ne sont pas directement intgres au code de Nagios parce que cela n'a pas de sens. Nagios n'est pas prvu pour tre une application tout-enun. Si les contrles de service taient intgrs dans le cur de Nagios, il serait trs dicile pour les utilisateurs d'ajouter de nouvelles mthodes de contrle, de modier celles qui existent, etc. Les notications fonctionnent de la mme manire. Il y a mille et une faons d'envoyer des notications et de nombreux modules ont dj t dvelopps pour faire le sale boulot, alors pourquoi rinventer la roue, et vous contenter d'un pneu de vlo ? Il est bien plus facile de dlguer une application externe (c.--d. un simple script ou un systme de messagerie complet) ce travail complexe. Des modules de messagerie qui peuvent traiter les notications pour les pagers ou les tlphones portables sont lists ci-dessous, dans la section des ressources.
PROBLEM
RECOVERY
ACKNOWLEDGEMENT
FLAPPINGSTART
FLAPPINGSTOP
Valeur FLAPPINGDISABLED
Description L'hte ou le service vient de s'arrter d'osciller parce que la dtection d'oscillation a t dsactive. L'hte ou le service vient d'entrer dans une priode de maintenance planie. Les notications suivantes seront supprimes. L'hte ou le service vient de sortir d'une priode de maintenance planie. Les notications de problmes peuvent donc reprendre. La priode de maintenance planie pour l'hte ou le service vient d'tre annule. Les notications de problmes peuvent donc reprendre.
DOWNTIMESTART
DOWNTIMESTOP
DOWNTIMECANCELLED
En gros, tout ce que vous pouvez faire en ligne de commande peut tre adapt sous forme de commande de notication. Si vous cherchez envoyer des messages votre pager ou votre tlphone portable sans email, jetez un coup d'il aux applications suivantes. Elles peuvent tre utilises en conjonction avec Nagios pour envoyer une notication via un modem quand un problme arrive. De cette faon, vous n'tes pas dpendant de l'email pour mettre des notications (gardez l'esprit que l'email peut *ne pas* fonctionner s'il y a des problmes rseau). Je n'ai pas personnellement essay ces applications, mais certains m'ont dit l'avoir fait avec succs Gnokii (logiciel SMS pour contacter des tlphones Nokia via le rseau GSM) QuickPage (logiciel de pager alphanumrique) Sendpage (logiciel de pager) SMS Client (outil en ligne de commande pour envoyer des messages aux pagers et aux tlphones portables)
Si vous dsirez une mthode atypique, vous pouvez essayer de vous amuser avec les alertes sonores. Si vous voulez des alertes sonores sur le serveur de supervision (avec voix synththique), essayez Festival [Anglais]. Si vous voulez les recevoir sur une autre machine, testez le Network Audio System (NAS) (NAS) [Anglais] et rplay [Anglais].
Chapitre 36
36.2
CGI d'tat
Nom du chier status.cgi Description C'est le CGI le plus important de Nagios. Il vous permet de voir l'tat de tous les htes et de tous les services superviss. Le CGI d'tat peut produire deux types principaux d'achage - un aperu de l'tat de tous les groupes d'htes (ou d'un groupe particulier) et une vue dtaille de tous les services (ou de ceux associs un hte particulier). Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes et tous les services. Si vous tes autoris pour tous les services vous pouvez voir tous les services. Si vous tes un contact authenti vous pouvez voir tous les htes et tous les services dont vous tes un contact.
36.3
Nom du chier statusmap.cgi Description Ce CGI cre une carte de tous les htes que vous avez dni dans votre rseau. Il utilise la bibliothque GD de Thomas Boutell (version 1.6.3 ou plus) pour crer une image au format PNG de l'agencement de votre rseau. Les coordonnes utilises pour dessiner chaque hte (ainsi que les jolies icnes facultatives) sont extraites des dnitions d' htes. Si vous souhaitez plutt laisser le CGI dessiner automatiquement les coordonnes pour vous, utilisez le paramtre default_statusmap_layout pour spcier l'algorithme utiliser. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes. Si vous tes un contact authenti vous pouvez voir les htes dont vous tes un contact. Note Les utilisateurs qui ne sont pas autoriss voir un hte particulier verront un nud nomm unknown la place. Je suis conscient qu'ils ne devraient rien voir du tout, mais a n'a aucun sens de gnrer la carte si vous ne pouvez pas voir les dpendances entre les htes
36.4
Nom du chier statuswml.cgi Description Ce CGI gre l'interface WAP d'accs aux informations sur l'tat du rseau. Si vous avez un appareil WAP (i.e. un tlphone portable compatible Internet), vous pouvez accder aux informations d'tat alors que vous tes en dplacement. Les vues disponibles comprennent le rsum par groupe d'htes, l'aperu par groupe d'htes, le dtail d'un hte, le dtail d'un service, tous les problmes, et les problmes non pris en compte. Vous pouvez de plus dsactiver les notications et les contrles et acquitter des problmes depuis votre portable. Plutt cool, non ? Autorisations requises Si vous tes autoris pour les informations systme vous pouvez voir les informations sur le processus de Nagios. Si vous tes autoris pour tous les htes vous pouvez voir tous les htes et tous les services. Si vous tes autoris pour tous les services vous pouvez voir tous les services. Si vous tes un contact authenti vous pouvez voir les donnes d'tat de tous les htes et services dont vous tes un contact.
36.5
Nom du chier statuswrl.cgi Description Ce CGI cre une modlisation en 3D utilisant le langage VRML de tous les htes dnis dans votre rseau. Les coordonnes utilises pour dessiner les htes (ainsi que les jolies textures) sont extraites des dnitions d'htes. Si vous souhaitez plutt laisser le CGI dessiner automatiquement les coordonnes pour vous, utilisez le paramtre default_statusmap_layout pour spcier l'algorithme utiliser. Il vous faudra un navigateur VRML (comme Cortona, Cosmo Player ou WorldView) install sur votre systme pour pouvoir visualiser ce modle. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes. Si vous tes un contact authenti vous pouvez voir les htes dont vous tes un contact. Note Les utilisateurs qui ne sont pas autoriss voir un hte particulier verront un nud nomm unknown la place. Je suis conscient qu'ils ne devraient rien voir du tout, mais a n'a aucun sens de gnrer la carte si vous ne pouvez pas voir les dpendances entre les htes
36.6
Nom du chier tac.cgi Description Ce CGI vous donne une vue gnrale de toute l'activit de supervision du rseau. Il vous permet de reprer rapidement les indisponibilits du rseau, l'tat des htes et des services. Il distingue les problmes qui ont t traits d'une faon ou d'une autre (par ex. qui ont t acquitts, dont les notications sont dsactives, etc.) et ceux qui n'ont pas t traits, et qui donc mritent attention. Trs utile si vous avez beaucoup d'htes/services superviser et que vous ne voulez consulter qu'un seul cran pour tre averti des problmes. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes et tous les services. Si vous tes autoris pour tous les services vous pouvez voir tous les services. Si vous tes un contact authenti vous pouvez voir tous les htes et tous les services dont vous tes un contact.
36.7
Nom du chier outages.cgi Description Description : Ce CGI produit une liste des htes problmes de votre rseau qui sont responsables de ruptures de lien. Ceci est particulirement utile sur les grands rseaux pour identier rapidement la cause d'un problme. Les htes sont tris selon la gravit de la rupture dont ils sont responsables.
Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes. Si vous tes un contact authenti vous pouvez voir les htes dont vous tes un contact.
36.8
CGI de conguration
Nom du chier config.cgi Description Ce CGI permet de visualiser les dnitions d'objets (par ex. htes, groupes d'htes, contacts, groupes de contacts, priodes, services et commandes) tels que spcis dans vos chier(s) de conguration des objets. Autorisations requises Vous devez avoir l'autorisation d'accs aux informations de conguration pour voir n'importe quelle information de conguration.
36.9
CGI de commande
Nom du chier scmd.cgi Description Ce CGI permet d'envoyer des commandes au processus de Nagios. Bien que ce CGI accepte plusieurs arguments, mieux vaut ne pas s'y essayer. La plupart changent selon les rvisions de Nagios. Utilisez plutt les informations complmentaires des CGIs comme point de dpart pour envoyer des commandes.
Autorisations requises Vous devez tre autoris pour les commandes systme pour envoyer des commandes aectant le processus de Nagios (redmarrage, arrt, changement de mode, etc.). Si vous tes autoris pour toutes les commandes d'htes vous pouvez envoyer des commandes tous les htes et tous les services. Si vous tes autoris pour toutes les commandes de services vous pouvez envoyer des commandes tous les services. Si vous tes un contact authenti vous pouvez envoyer des commandes tous les htes et services dont vous tes un contact. Note Si vous avez choisi de ne pas utiliser l'authentication dans les CGIs, ce CGI ne permettra personne d'envoyer des commandes Nagios, et ce dans votre propre intrt. Je suggre dans ce cas de supprimer le CGI.
36.10
Nom du chier extinfo.cgi Description Ce CGI permet de voir les informations relatives au processus de Nagios, aux statistiques sur les htes et les services, aux commentaires sur les htes et les services, et plus encore. C'est galement un point d'entre pour envoyer des commandes Nagios via le CGI de commande. Bien que ce CGI accepte plusieurs arguments, mieux vaut ne pas s'y essayer : la plupart changent selon les rvisions de Nagios. Vous pouvez accder ce CGI en cliquant sur les liens appels 'Network Health' [NdT : Sant/Etat du rseau] et 'Process Information' [NdT : Information sur le processus Nagios] de la barre latrale de navigation, ou en cliquant sur un lien hte ou service dans l'achage du CGI d'tat. Autorisations requises Vous devez tre autoris pour les informations systme pour voir les informations sur le processus de Nagios. Si vous tes autoris pour tous les htes vous pouvez voir les informations complmentaires de tous les htes et de tous les services. Si vous tes autoris pour tous les services vous pouvez voir les informations complmentaires de tous les services. Si vous tes un contact authenti vous pouvez voir les informations complmentaires de tous les htes et de tous les services dont vous tes un contact.
36.11
Nom du chier showlog.cgi Description Ce CGI ache le chier journal. Si vous avez activ la rotation du journal, vous pouvez voir le contenu des journaux archivs en utilisant les liens de navigation situs en haut de la page. Autorisations requises Vous devez tre autoris pour les informations systme pour voir le chier journal.
36.12
Nom du chier history.cgi Description Ce CGI ache l'historique des problmes relatifs soit un hte particulier soit tous les htes. L'achage est un sous-ensemble de ce que produit le CGI du chier journal. Vous pouvez ltrer l'achage pour n'obtenir que certains types de problmes (i.e. alertes hard et/ou soft, les diffrents types d'alertes sur les services et les htes, tous les types d'alertes, etc.). Si vous avez activ la rotation du journal, vous pouvez voir l'historique contenu dans les journaux archivs en utilisant les liens de navigation situs en haut de la page. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir l'historique de tous les htes et de tous les services. Si vous tes autoris pour tous les services vous pouvez voir l'historique de tous les services.
Si vous tes un contact authenti vous pouvez voir l'historique de tous les htes et tous les services dont vous tes un contact.
36.13
Nom du chier notifications.cgi Description Ce CGI ache les notications envoyes aux dirents contacts d'un hte ou d'un service. L'afchage est un sous-ensemble de ce que produit le CGI du chier journal. Vous pouvez ltrer l'achage pour n'obtenir que certains types de problmes (i.e. notications relatives aux services, aux htes, envoyes des contacts spciques, etc). Si vous avez activ la rotation du journal, vous pouvez voir les notications contenues dans les journaux archivs en utilisant les liens de navigation situs en haut de la page. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir les notications de tous les htes et tous les services. Si vous tes autoris pour tous les services vous pouvez voir les notications de tous les services. Si vous tes un contact authenti vous pouvez voir les notications relatives tous les htes et tous les services dont vous tes un contact.
36.14
CGI de tendances
Nom du chier
strends.cgi Description Ce CGI cre un graphique des tats des htes et des services sur une priode donne. Pour que ce CGI soit pertinent, vous devez activer la rotation du journal et archiver les journaux dans le rpertoire dni par la variable log_archive_path . Ce CGI utilise la bibliothque gd de Thomas Boutell (version 1.6.3 ou plus) pour crer l'image des tendances. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir les tendances de tous les htes et de tous les services. Si vous tes autoris pour tous les services vous pouvez voir les tendances de tous les services. Si vous tes un contact authenti vous pouvez voir les tendances de tous les htes et tous les services dont vous tes un contact.
36.15
Nom du chier avail.cgi Description Ce CGI permet de crer un rapport sur la disponibilit des htes et des services sur une priode donne. Pour que ce CGI soit pertinent, vous devez activer la rotation du journal et archiver les journaux dans le rpertoire dni par la variable log_archive_path . Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir la disponibilit de tous les htes et services. Si vous tes autoris pour tous les services vous pouvez voir la disponibilit de tous les services. Si vous tes un contact authenti vous pouvez voir la disponibilit de tous les services et htes dont vous tes un contact.
36.16
Nom du chier histogram.cgi Description Ce CGI permet d'acher l'histogramme de disponibilit d'htes et services sur une priode de temps. Pour que ce CGI soit pertinent, vous devez activer la rotation du journal et archiver les journaux dans le rpertoire dni par la variable log_archive_path . Ce CGI utilise la bibliothque GD de Thomas Boutell (version 1.6.3 ou plus) pour crer l'image des tendances. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir les histogrammes de tous les htes et services. Si vous tes autoris pour tous les services vous pouvez voir les histogrammes de tous les services. Si vous tes un contact authenti vous pouvez voir les histogrammes de tous les services et htes dont vous tes un contact.
36.17
Nom du chier summary.cgi Description Ce CGI fournit des rapports synthtiques sur les alertes concernant les htes et services, ainsi que le nombre total d'alertes, les services/htes gnrant le plus d'alertes, etc. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir le rcapitulatif de tous les htes et services. Si vous tes autoris pour tous les services vous pouvez voir le rcapitulatif de tous les services. Si vous tes un contact authenti vous pouvez voir le rcapitulatif de tous les services et htes dont vous tes un contact.
Sixime partie
Thmes avancs
Chapitre 37
Commandes externes
37.1 Introduction
Nagios peut traiter des commandes d'applications externes (y compris les CGIs, voir CGI de commande titre d'exemple) et modier de nombreux aspects de ses fonctions de supervision suivant les commandes qu'il reoit.
Par dfaut, Nagios ne contrle, ni ne traite les commandes externes. Si vous voulez autoriser le traitement des commandes externes, il faut eectuer les actions suivantes Activer le contrle des commandes externes l'aide de l'option check_external_commands Rgler la frquence des contrles de commande l'aide de l'option command_check_interval Prciser l'emplacement du chier de commandes l'aide de l'option command_file . Congurer les bonnes autorisations pour le rpertoire contenant les chiers de commandes. Des dtails sur la manire de faire cela se trouvent ici.
o time est l'heure (au format time_t laquelle l'application externe ou le CGI a envoy la commande externe au chier de commande. Les valeurs pour les arguments command_id et command_arguments dpendent de la commande qui sera soumise Nagios. Un listing complet des commandes externes qui peuvent tre utilises (ainsi que des exemples d'utilisation) sont en ligne l'adresse suivante : http://www.nagios.org/developerinfo/externalcommands/
Chapitre 38
Gestionnaires d'vnements
38.1 Introduction
Les gestionnaires d'vnements sont des commandes optionnelles qui sont excutes chaque fois qu'un changement d'tat d'un hte ou d'un service a lieu. Une premire utilit de ces gestionnaires d'vnements rside dans la capacit de Nagios rsoudre les problmes de manire prventive avant que quelqu'un ne reoive une notication. D'autres utilisations possibles des gestionnaires d'vnements sont : Redmarrer un service en erreur Crer un nouveau ticket dans un systme de helpdesk Enregistrer des vnements dans une base de donnes Reboot d'un hte etc. Important Le reboot d'un hte ayant des problmes de faon automatique par un script ne devrait pas tre implment la lgre. Considrez les consquences avec exactitude avant d'implmenter des reboots automatiques. :-)
Pour les services : $SERVICESTATE$Macros$SERVICESTATE$, $SERVICESTATETYPE$Macros$SERVICES $SERVICEATTEMPT$Macros$SERVICEATTEMPT$Pour les htes : $HOSTSTATE$Macros$HOSTSTATE$, $HOSTSTATETYPE$Macros$HOSTSTATETYPE$, $HOSTATTEMPT$Macros$HOSTATTEMPT$ Les scripts devraient tre capables d'examiner les valeurs des arguments qui lui ont t passs et de prendre toute action ncessaire base sur ces valeurs. La meilleure faon de comprendre comment fonctionne les gestionnaires d'vnements est de voir un exemple. Heureusement pour vous, en voici un ci-dessous. ASTUCE D'autres exemples de scripts de gestionanires d'vnements peuvent tre trouvs dans le sousrpertoire contrib/eventhandlers/ de la distribution Nagios. Quelques uns de ces scripts d'exemple dmontrent l'utilisation des commandes externes pour mettre en place des environnements de supervision redonds et distribus.
38.8
L'exemple ci-dessous suppose que vous supervisez le serveur HTTP de la machine locale et que vous avez spci restart-httpd comme commande de gestionnaire d'vnement pour la dnition du service HTTP. Je supposerai galement que vous avez donn l'option max_check_attempts du service une valeur suprieure ou gale 4 (i.e le service est contrl 4 fois avant qu'on ne considre qu'il a un rel problme). Un exemple de dnition (avec uniquement les champs concerns) ressemblerait ceci
define service { host_name service_description max_check_attempts event_handler ... } somehost HTTP 4 restart-httpd
Une fois que le service a t dni avec un gestionnaire d'vnement, nous devons dnir le gestionnaire d'vnement comme une commande. Un exemple de dnition de commande pour restart-https
est donn ci-dessous. Remarquez les macros de la ligne de commande que je passe au gestionnaire d'vnements, elles sont importantes !
define command{ command_name restart-httpd command_line /usr/local/nagios/libexec/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ } -
Maintenant, nous allons crire le script de gestionnaire d'vnement (c'est le chier /usr/local/ nagios/libexec/eventhandlers/restart-httpd).
#!/bin/sh # # Event handler script for restarting the web server on the local machine # # Note: This script will only restart the web server if the service is # retried 3 times (in a "soft" state) or if the web service somehow # manages to fall into a "hard" error state. # # What state is the HTTP service in? case "$1" in OK) # The service just came back up, so don't do anything ;; WARNING) # We don't really care about warning states, since the service is probably still running ;; UNKNOWN) # We don't know what might be causing an unknown error, so don't do anything ;; CRITICAL) # Aha! The HTTP service appears to have a problem - perhaps we should restart the server # Is this a "soft" or a "hard" state? case "$2" in # We're in a "soft" state, meaning that Nagios is in the middle of retrying the # check before it turns into a "hard" state and contacts get notified SOFT) # What check attempt are we on? We don't want to restart the web server on the first # check, because it may just be a fluke! case "$3" in # Wait until the check has been tried 3 times before restarting the web server. # If the check fails on the 4th time (after we restart the web server), the state # type will turn to "hard" and contacts will be notified of the problem . # Hopefully this will restart the web server successfully, so the 4th check will # result in a "soft" recovery. If that happens no one gets notified because we # fixed the problem! 3) echo -n "Restarting HTTP service (3rd soft critical state)"
# Call the init script to restart the HTTPD server /etc/rc.d/init.d/httpd restart ;; esac ;; # The HTTP service somehow managed to turn into a hard error without getting fixed. # It should have been restarted by the code above, but for some reason it didn' t. # Let's give it one last try, shall we? # Note: Contacts have already been notified of a problem with the service at this # point (unless you disabled notifications for this service) HARD) echo -n "Restarting HTTP service" # Call the init script to restart the HTTPD server /etc/rc.d/init.d/httpd restart ;; esac ;; esac exit 0
Le script donn titre d'exemple ci-dessus essaiera de redmarrer le serveur web sur la machine locale deux occasions direntes : Aprs que le service soit essay pour la troisime fois (dans un tat SOFT CRITICAL) aprs que le service soit tomb dans un tat HARD CRITICAL Le script devrait en thorie redmarrer le serveur web et rgler le problme avant que le service ne passe en tat d'erreur HARD, mais nous avons inclus une solution de repli au cas o il ne fonctionne pas la premire fois. Notez bien que le gestionnaire d'vnement ne sera excut que la premire fois que le service passe en tat d'erreur HARD. Cela permet d'viter que Nagios ressaie continuellement de redmarrer le serveur web alors que le service reste dans un tat d'erreur HARD. Vous ne voulez pas a. :-) C'est tout ce qu'il y a dire ! Les gestionnaires d'vnements sont simples crire et implmenter, aussi fates l'essai et voyez ce que vous pouvez en faire.
Chapitre 39
Services volatiles
39.1 Introduction
Nagios a la capacit de faire la distinction entre les services normaux et les services volatiles. L'option is_volatil de chaque dnition de service vous permet de spcier si oui ou non un service spcique est volatile. Pour la plupart des gens, la majorit des services superviss sera de type non-volatile (par ex. normal). Toutefois, des services volatiles peuvent se rvler trs utiles lorsqu'ils sont bien utiliss
le gestionnaire d'vnements du service est lanc (s'il a t dni) Ces vnements ne se produisent normalement que lorsque des services sont dans un tat non-OK et qu'un changement d'tat hard vient de se produire. En d'autres termes, ils ne se produisent que la premire fois que le service passe dans un tat non-OK. Si des contrles ultrieurs du service conduisent au mme tat non-OK, il n'y a aucun changement d'tat hard et aucun des vnements mentionns ne se reproduit.
ASTUCE Si vous te seulement intress par la journalisation (logging), vous devriez plutt utiliser les options de stalking.
Assurez-vous de remplacer host_name avec le nom court de l'hte avec lequel le service est associ.
datetime=`date +%s` # create the command line to add to the command file cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4" # append the command to the end of the command file `$echocmd $cmdline >> $CommandFile`
Que va t'il se passer quand PortSentry dtectera un scan de ports sur la machine dans le futur ? PortSentry bloque l'hte au niveau pare-feu (C'est une fonction du logiciel PortSentry= PortSentry excute le script shell submit_check_result pour envoyer le rsultat de ce contrle passif Nagios Nagios lit le chier de commande externe et voit le contrle passif de service soumis par PortSentry Nagios passe le service Port Scans en tat CRITICAL, et envoie des notications aux contacts Plutt sympa, non ?
Chapitre 40
Nagios contrle rgulirement la fracheur des rsultats de tous les services dont le contrle de fracheur est activ. Un seuil de fracheur est calcul pour chaque hte et service. Pour chaque hte/service, l'heure du dernier contrle est compare avec le seuil de fracheur. Si l'heure du dernier contrle est suprieure au seuil de fracheur, le rsultat du contrle est considr comme prim. Si le rsultat du contrle est dclar prim, Nagios va forcer un contrle actif de l'hte ou du service en excutant la commande prcise dans la dnition de l'hte ou du service. ASTUCE Un contrle actif est excut mme si les contrles actifs sont dsactivs au niveau global ou au niveau service/hte.
Par exemple, si vous donnez la valeur 60 au paramtre freshness_threshold de l'un de vos services, Nagios considrera que le service est prim si le dernier rsultat obtenu date de plus de 60 secondes (1 minute).
40.4 Exemple
Un exemple de service purement passif pourrait tre un rapport d'tat de vos travaux de sauvegarde de nuit. Vous avez peut-tre un script externe qui soumet les rsultats du travail de sauvegarde Nagios une fois que la sauvegarde est termine. Dans ce cas, tous les rsultats des contrles pour ce service sont fournis par une application externe, en utilisant des contrles passifs. Pour vous assurer que l'tat des travaux de sauvegarde est bien remont chaque jour, vous activerez le contrle de fracheur pour ce service. Si le script externe ne soumet pas les resultats du travail de sauvegarde, vous pouvez faire en sorte que Nagios simule un rsultat critique de la manire suivante Voici ce quoi la dnition du service pourrait ressembler (certains paramtres obligatoires ont t omis)
define service{ host_name backup-server service_description ArcServe Backup Job active_checks_enabled 0 ; active checks are NOT enabled passive_checks_enabled 1 ; passive checks are enabled (this is how results are reported) check_freshness 1 freshness_threshold 93600 ; 26 hour threshold, since backups may not always finish at the same time -
Notez que les contrles actifs sont dsactivs pour ce service. En eet les rsultats du service sont uniquement fournis par une application externe, en utilisant des contrles passifs. Le contrle de fracheur est activ et le seuil de fracheur a t positionn 26 heures. C'est un peu plus de 24 heures parce que la dure des travaux de sauvegarde varie selon les jours (en fonction du volume de donnes sauvegarder, de l'encombrement du rseau, etc.). La commande no-backup-report est excute seulement si les rsultats du service sont considrs comme prims. La dnition de la commande no-backup-report pourrait ressembler ceci
define command{ command_name no-backup-report command_line /usr/local/nagios/libexec/check_dummy 2 "CRITICAL: Results of backup job were not reported!" } -
Si Nagios dtecte que les rsultats du service sont prims, il va lancer la commande no-backup-report comme un contrle actif de service. Cela excute le plugin check_dummy qui retourne un tat critique Nagios. Le service passe en tat critique (s'il n'y tait pas dj) et quelqu'un sera probablement noti du problme.
Chapitre 41
Supervision distribue
41.1 Introduction
Nagios peut tre congur pour supporter la supervision distribue des services et ressources du rseau. Je vais essayer d'expliquer brivement comment cela peut tre fait
41.2 Buts
Le but de l'environnement de supervision distribu que je vais dcrire est de dcharger l'excs de charge induit par les contrle de services (sur la CPU, etc.) du serveur central sur un ou plusieurs serveurs distribus. La plupart des petites et moyennes entreprises n'auront pas rellement besoin de mettre en uvre cet environnement. Cependant, quand vous voulez superviser des centaines, voire des milliers d'htes (et plusieurs fois cette valeur en termes de services) l'aide de Nagios, cela commence devenir important.
Seuls les services et les htes qui sont superviss directement par le serveur distribu sont dnis dans le chier de conguration d'hte . Le serveur distribu a son paramtre enable_notifications x 0. Cela vitera d'envoyer des notications partir du serveur. Le serveur distribu est congur avec l'option de remonte de contrle de service active. Le serveur distribu a une commande ocsp dnie (cf. ci-dessous). An que tout fonctionne ensemble de manire correcte, nous voulons que le serveur distribu renvoie les rsultats de tous les contrles de service Nagios. Nous pourrions utiliser les gestionnaires d'vnements pour envoyer les changements de l'tat d'un service, mais cela ne fait pas l'aaire. An d'obliger le serveur distribu envoyer tous les rsultats des contrles de service, il faut autoriser l'option de remonte de contrle de service dans le chier de conguration principal et permettre qu'une commande ocsp soit lance aprs chaque contrle de service. Nous utiliserons cette commande ocsp pour envoyer les rsultats de tous les contrles de service au serveur central, en utilisant le client send_nsca et le dmon nsca (comme dcrit ci-dessus) pour grer la transmission. Pour mener tout cela bien, il faut dnir la commande ocsp de cette faon :
ocsp_command=submit_check_result
Le script shell submit_check_result ressemble cela (remplacez central_server par l'adresse IP du serveur central) :
#!/bin/sh # Arguments: # $1 = host_name (Short name of host that the service is # associated with) # $2 = svc_description (Description of the service) # $3 = state_string (A string representing the status of # the given service - "OK", "WARNING", "CRITICAL" # or "UNKNOWN") # $4 = plugin_output (A text string that should be used # as the plugin output for the service checks) # # Convert the state string to the corresponding return code return_code=-1 case "$3" in OK) return_code=0 ;; WARNING) return_code=1 ;; CRITICAL) return_code=2 ;; UNKNOWN) return_code=-1 ;; esac
# pipe the service check info into the send_nsca program, which # in turn transmits the data to the nsca daemon on the central # monitoring server /bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/local/nagios/bin/ send_nsca -H central_server -c /usr/local/nagios/etc/send_nsca.cfg -
Le script ci-dessus suppose que vous avez le programme send_nsca et son chier de conguration (send_nsca.cfg) placs respectivement dans les rpertoires /usr/local/nagios/bin/ et /usr/ local/nagios/etc/. C'est tout ! Nous venons de congurer avec succs un hte distant sur lequel tourne Nagios pour agir comme un serveur de supervision distribu. Voyons maintenant ce qui se passe exactement avec le serveur distribu et comment il envoie des rsultats de contrle de service Nagios (les tapes soulignes ci-dessous correspondent aux numros du schma de rfrence ci-dessus) : 1. Aprs que le serveur distribu a termin l'excution d'un contrle de service, il excute la commande dnie par la variable ocsp_command . Dans notre exemple, c'est le script /usr/local/ nagios/libexec/eventhandlers/submit_check_result. Remarquez que la dnition de la commande submit_check_result a envoy quatre lments d'information au script : le nom de l'hte auquel le service est associ, la description du service, le code de retour du contrle de service, et la sortie du plugin de contrle du service. 2. Le script submit_check_result envoie dans un tube [pipe] l'information du contrle de service (nom de l'hte, description, code de retour et sortie) au programme client send_nsca. 3. Le programme send_nsca transmet l'information de contrle de service au dmon nsca qui se trouve sur le serveur de supervision central. 4. Le dmon nsca du serveur central prend l'information de contrle de service et l'crit dans le chier de commande externe pour qu'elle soit reprise ultrieurement par Nagios. 5. Le processus Nagios du serveur central lit le chier de commande externe et analyse l'information de contrle de service provenant du serveur de supervision distribu.
Si vous n'utilisez le serveur central que pour traiter des services dont les rsultats sont fournis par des htes distribus, vous pouvez simplement dsactiver tous les contrles de service de faon globale en mettant le paramtre execute_service_checks 0. Si vous utilisez le serveur central pour superviser activement quelques services par lui-mme (sans l'intervention des serveurs distribus), l'option enable_active_checks de chaque dnition de service pour les services dont les rsultats sont fournis par les htes distribus doit tre positionne 0. Ceci empchera Nagios de vrier activement ces services. Il est important que vous dsactiviez soit tous les contrles de service pour l'ensemble du logiciel, soit l'option enable_active_checks dans la dnition de tout service surveill par un serveur distribu. Cela assure que les contrles de service actifs ne sont jamais excuts en temps normal. Les services continueront tre ordonnancs leur intervalle de contrle normal (3 minutes, 5 minutes, etc), mais ils ne seront jamais excuts. Cette boucle de r-ordonnancement continuera aussi longtemps que Nagios tourne. Je vais expliquer bientt pourquoi ce type de fonctionnement Et voil ! Facile, non ?
retry_check_interval (en fonction de l'tat du service). Si les rsultats sont gs, Nagios excutera la commande spcie dans check_command dans la dnition du service, vriant ainsi activement ce service. N'oubliez pas que vous devez dnir l'option check_command dans la dnition des services, pour pouvoir tester activement l'tat d'un service depuis le serveur central. Dans des conditions normales, cette commande check_command ne sera pas excute (parce que les test actifs auront t dsactivs globalement au niveau du programme, ou pour des services spciques). A partir du moment ou le contrle de validit des donnes est activ, Nagios excutera cette commande, mme si les tests actifs ont t dsactivs globalement au niveau du programme ou pour des services spciques. Si nous n'arrivez pas dnir des commandes pour tester activement un service depuis le serveur central (ou bien cela est un casse-tte douloureux), vous pouvez simplement dnir toutes les options check_command d'aprs un simple script qui retourne un tat critique. Voici un exemple : supposons que vous ayez dni une commande service-fige et utilisez cette commande dans l'option check_command de vos services. Elle pourrait ressembler cela ..
define command { command_name command_line stale" } service-fige /usr/local/nagios/libexec/check_dummy 2 "CRITICAL: Service results are -
Quand Nagios dtecte que les rsultats sont gs et lance la commande service_ge, le plugin check_dummy est excut et le service passe dans un tat critique. Ceci dclenchera l'envoi de notications, donc vous saurez nalement qu'il y a un problme.
Chapitre 42
42.2 Pr-requis
Avant de penser pouvoir implmenter la redondance avec Nagios, vous devez tre familier avec ce qui suit Implmenter les Gestionnaires dvnements pour les htes et services Prsenter une commande externe Nagios via des scripts shell Excuter des plugins sur des htes distants en utilisant soit NRPE, soit dautres mthodes Vrier ltat du processus Nagios avec le plugin check_nagios
42.4
42.4.1 Introduction
Ceci est une mthode facile (et nave) pour implmenter le monitoring redondant dhtes sur votre rseau, qui protgera seulement contre un nombre limit de problmes. Des rglages plus complexes sont ncessaires pour fournir une redondance plus pratique, une meilleure redondance travers des segments rseau, etc.
42.4.2 Buts
Le but de ce type dimplmentation de redondance est simple. Les htes matre et esclave surveillent les mmes systmes et services sur le rseau. Dans des circonstances normales, le systme matre prendra en charge lenvoi des notications aux contacts concernant les problmes dtects. Nous voulons que systme esclave fasse fonctionner Nagios et prenne en charge la notication des problmes si : 1. Soit le systme Matre faisant fonctionner Nagios ne rpond plus 2. Soit le processus Nagios sur le systme Matre arrte de fonctionner.
Cela implique que vous ayez plac les scripts de gestion dvnements dans le rpertoire /usr/local/ nagios/libexec/eventhandlers. Vous pouvez les placer ailleurs, mais vous devrez modier les exemples que jai donns ici.
DOWN) # The master host has gone down! # We should now become the master host and take # over the responsibilities of monitoring the # network, so enable notifications /usr/local/nagios/libexec/eventhandlers/enable_notifications ;; UP) # The master host has recovered! # We should go back to being the slave host and # let the master host do the monitoring, so # disable notifications /usr/local/nagios/libexec/eventhandlers/disable_notifications ;; esac ;; esac exit 0
Le systme matre (systme A) tombe et le gestionnaire dvnement de systme handle-master-host-event est excut. Le processus Nagios sur le systme matre (systme A) sarrte de fonctionner et le gestionnaire dvnement du service handle-master-proc-event est excut. Ds que le processus Nagios sur le systme esclave (systme E) a la notication active, il sera capable denvoyer des notications quant aux services ou problmes systme ou encore les retours la normale. A ce moment, le systme E a eectivement pris la responsabilit de notier les contacts des problmes de systmes et services ! Le processus Nagios sur le systme E retourne son tat desclave quand Le systme A revient la normale et le gestionnaire dvnement de systme handle-master-host-event est excut. Le processus Nagios sur le systme A revient la normale et que le gestionnaire dvnement de service handle-master-proc-event est excut. Ds que le processus Nagios sur le systme E est dsactiv, il nenverra plus de notication concernant les problmes lis aux services et aux systmes ou encore les retours la normale. Ds ce moment, le systme E a pris la responsabilit de notier les contacts des problmes du processus Nagios sur le systme A. Tout revient maintenant dans le mme tat que lorsque lon a dmarr !
42.4.9 Dlais
La redondance dans Nagios nest en rien parfaite. Un des nombreux problmes est le dlai entre le moment o le matre tombe et que lesclave prend le relais. En voici les raisons L intervalle entre la rupture du systme matre et la premire fois que le systme esclave dtecte le problme. Le temps quil faut pour vrier que le systme matre a rellement un problme (en utilisant une nouvelle fois la commande check dun service ou dun systme sur le systme esclave) Le temps entre lexcution du gestionnaire dvnement et la fois suivante o Nagios va vrier la prsence dune commande externe Vous pouvez minimiser ce dlai en Sassurant que le processus Nagios sur le systme E (re)vrie un ou plusieurs services avec une frquence leve. Ceci peut tre fait en utilisant les arguments check_interval et retry_interval dans chaque dnition de service. Sassurer que le nombre de re-vrications de la prsence du systme A (sur le systme E) permette une dtection des problmes lis au systme plus rapidement. Ceci peut tre fait en utilisant largument max_check_attempts dans la dnition du systme. Augmenter la frquence de vrication des commandes externes sur le systme E. Ceci peut tre fait en modiant loption command_check_interval dans le chier de conguration principal. Quand Nagios revient la normale sur le systme A, il y a aussi un dlai avant que le systme E ne redevienne esclave. Cest du aux faits suivants Le temps entre le retour la normale du systme A la fois suivante o le processus Nagios sur le systme E dtecte le retour la normale. L intervalle entre lexcution du gestionnaire dvnement sur le systme E et la fois suivante o le processus Nagios sur le systme E vrie la prsence de commandes externes Les intervalles exacts entre le transfert des responsabilits de supervision dpendent du nombre de services dnis, lintervalle auquel les services sont vris, et un peu de chance. A tous niveaux, cest mieux que rien.
42.5
42.5.1 Introduction
La supervision avec gestion de panne est pratiquement identique. Il existe quand mme des diffrences avec le systme prcdent scnario 1).
42.5.2 Buts
Le but principal de la gestion de panne est davoir le processus Nagios sur le systme esclave en hibernation tant que le processus Nagios sur le systme maitre fonctionne. Si le processus sur le systme matre arrte de fonctionner (ou si le systme tombe), le processus Nagios sur le systme esclave commence tout surveiller. Bien que la mthode dcrite dans la partie scnario 1 permette de continuer recevoir la notication si le systme maitre tombe, il y a quelques piges. Le plus gros problme est que le systme esclave surveille les mmes systmes que le maitre au mme moment ! Ceci peut causer des problmes de trac excessif et charger les machines surveilles si vous avez beaucoup de services dnis. Voici une manire de contourner ce problme
la surveillance des services. Si le plugin retourne un tat OK, le script enverra les commandes pour dsactiver la surveillance active des services et la notication. En procdant comme suit, vous nutilisez quun processus de surveillance de systme et de service la fois, ce qui est plus ecace que de surveiller en double. Notez aussi que vous ne devez pas dnir de gestionnaires dvnements comme dni dans le scnario 1, car les contraintes sont surmontes de manire dirente.
Chapitre 43
43.3 Exemple
Laissez vous dcrire plus en dtail le fonctionnement de la dtection d'oscillation avec les services L'image suivante montre un tableau chronologique d'tats de service. Les tats OK sont en vert, les WARNING en jaune, les CRITICAL en rouge, et les UNKNOWN en orange. Des ches bleues marquent les moments o des changements d'tats sont survenus.
Le contenu du tableau d'historique des tats est parcouru (depuis le plus ancien rsultat jusqu'au plus rcent) pour dterminer le pourcentage total de changements d'tat survenus durant les 21 derniers contrles du service. Un changement d'tat survient quand un tat archiv est dirent de l'tat archiv qui le prcde immdiatement dans le tableau. Comme nous conservons les rsultats des 21 derniers contrles de service dans le tableau, il y a 20 changements d'tat possibles. La dtection d'oscillation utilise une logique qui est bas sur un pourcentage de changement d'tat pour le service. C'est une mesure de variation du service. Les services qui ne changent jamais d'tat auront 0% de changement, quant aux services qui n'arrteront pas de changer d'tat, il approcheront du 100%. Bons nombres de services auront un pourcentage se situant entre ces 2 valeurs. Il parat vident que les changements d'tat les plus rcent ont plus de poids que les anciens, si bien qu'il nous faut recalculer le pourcentage total de changements d'tat du service selon une espce de courbe Pour simplier, j'ai dcid d'utiliser un rapport linaire entre le temps et la pondration pour le calcul de ce pourcentage. Les fonctions de dtection de l'oscillation sont conues actuellement pour que le changement d'tat le plus rcent possible pse 50% plus lourd que le plus ancien. L'image suivante montre combien le poids des changements d'tat rcents est suprieur celui des anciens lors du calcul du pourcentage total de changements d'tat d'un service particulier.
Prenons un rapide exemple de dtection de l'oscillation. L'image ci-dessus montre le tableau d'historique des rsultats de contrle d'un service particulier. Les rsultats les plus anciens sont gauche et les plus rcents droite. Nous voyons dans cet exemple qu'il y a eu au total 7 changements d'tat (en t3, t4, t5, t9, t12, t16, et t19). Sans pondration des changements d'tat en fonction du temps, cela nous donnerait un total de 35% de changements d'tat : (7 changements d'tat / un maximum possible de 20) * 100 = 35% Quand on applique la pondration en fonction du moment d'apparition, le pourcentage est de moins de 35%. C'est logique dans la mesure o la plupart des changements d'tats sont plutt anciens. Disons que le pourcentage pondr est nalement de 31% Ainsi donc, que signient 31% de changements d'tats ? H bien, si le service n'oscillait pas auparavant et que 31% est suprieur ou gal la valeur spcie par le paramtre high_service_ap_threshold de la dnition du service, Nagios considre que le service vient de commencer osciller. Si le service oscillait auparavant et que 31% est infrieur ou gal la valeur spcie par le paramtre low_service_ap_threshold de la dnition du service, Nagios considre que le service vient de s'arrter d'osciller. Si aucune de ces deux conditions n'est remplie, Nagios ne fait rien de plus concernant le service, car soit il n'oscille pas, soit il oscille toujours
et infrieurs globaux et spciques que vous pouvez congurer. Nagios utilisera les seuils globaux par dfaut si vous n'en spciez aucun. Le tableau ci-dessous montre les variables globales et spciques pour les htes et services an de grer les seuils de dtection. Type d'objet Hte Variables Globales low_host_flap_threshold high_host_flap_threshold low_service_flap_threshold high_service_flap_threshold Variables spciques aux objets low_ap_threshold high_ap_threshold low_ap_threshold high_ap_threshold
Service
Chapitre 44
Nagios supporte l'escalade optionelle des notications envoyes aux contacts pour des services ou htes. Je vais en expliquer rapidement le fonctionnement, bien que cela se comprenne facilement L'escalade pour les notications d'htes et de services est possible par la cration de dnition d'escalations d'htes et de d'escalations de services dans votre Object Conguration Overview . Note Les exemples que je fournis ci-dessous utilisent tous les dnitions d'escalades, mais les escalades d'htes fonctionnent sous le mme principe. Except, bien sr, qu'il faut remplacer services par hosts.
Remarquez qu'il y a des trous dans les dnitions d'escalade de notication. En particulier, les notications 1 et 2 ne sont pas prises en compte par les escalades, ni celles au-del de 10. Pour la premire et la seconde notication, de mme que pour celles au-del de la dixime, le groupe de contacts par dfaut prcis dans la dnition de service est utilis. Dans tous les exemples que j'utiliserai, je considrerai que le groupe de contacts par dfaut des dnitions de service s'appelle nt-admins.
Le premier (ou plus bas) niveau d'escalade comprend la fois les groupes de contact nt-admins et managers. Le dernier (ou plus haut) niveau d'escalade comprend les groupes de contact nt-admins, managers, et everyone. Remarquez que le groupe de contact nt-admins fait partie des deux dnitions d'escalade. C'est pour qu'il continue tre prvenu s'il reste des problmes aprs que les deux premires notications de service aient t envoyes. Le groupe de contact managers apparat d'abord dans la dnition d'escalade la plus basse - il reoit sa premire notication lorsque la troisime notication de problme est envoye. Nous voulons que le groupe managers continue de recevoir des notications si le problme persiste aprs cinq notications, il fait donc partie de la plus haute dnition d'escalade.
define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups }
Dans l'exemple ci-dessus: Les groupes de contact nt-admins et managers reoivent la troisime notication Les trois groupes de contact reoivent les quatrime et cinquime notications Seul le groupe de contact on-call-support reoit les notications partir de la sixime notication
Si, aprs trois notications de problme, une notication de reprise d'activit est envoye au service, qui reoit la notication ? La reprise d'activit est la quatrime notication envoye. Cependant, le code d'escalade est susamment bien fait pour que seules les personnes qui ont reu la troisime notication reoivent celle de reprise d'activit. Dans ce cas, les groupes de contact nt-admins et managers recevront la notication de reprise d'activit.
Dans cet exemple nous voyons que l'intervalle de notication par dfaut pour les services est de 240 minutes (c'est la valeur donne dans la dnition du service). Quand la notication de ce service est escalade lors des 3me, 4me, et 5me notications, un intervalle de 45 minutes sera utilis entre les notications. Lors de la 6me notication et des suivantes, l'intervalle de notication sera de 60 minutes, comme il est spci dans la seconde dnition d'escalade. Comme il est possible d'avoir des dnitions d'escalade qui se chevauchent pour un groupe d'htes ou un service donn, et comme un hte peut tre membre de plusieurs groupes d'htes, Nagios doit dcider quel intervalle de notication utiliser quand des dnitions d'escalade se chevauchent. Dans tous les cas de chevauchement, Nagios choisira l'intervalle de notication le plus court. Prenez l'exemple suvant :
define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation{ host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 45 nt-admins,managers
Nous voyons que les deux dnitions d'escalade se chevauchent sur les 4me et 5me notications. Pour ces notications, Nagios utilisera un intervalle de notication de 45 minutes, car c'est le plus petit intervalle prsent dans les dnitions d'escalade valides de ces notications. Une dernire remarque propos des intervalles de notication concerne les intervalles de 0. Un intervalle de 0 signie que Nagios ne doit mettre une notication que pour la premire notication
valide durant cette dnition d'escalade. Toutes les notications suivantes pour le groupe d'hte ou le service seront supprimes. Prenez cet exemple :
define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 45 nt-admins,managers
Dans l'exemple ci-dessus, il y aurait au maximum 4 notications de problme envoyes propos du service. Ceci est d au fait que l'intervalle de notication de 0 dans la seconde dnition d'escalade indique qu'une seule notication doit tre mise ( partir de et en incluant la 4me notication) et que toutes les notications suivantes doivent tre supprimes. A cause de cela, la troisime dnition d'escalade du service est sans eet, car il n'y aura jamais plus de quatre notications.
Chapitre 45
Les Administrateurs peuvent souvent tre drangs au tlphone, les appels de tlphone cellulaire, etc. n'importe quel moment. Personne n'aime tre rveill 4h00 pour xer un problme. Mais c'est souvent mieux pour rgler le problme dans le milieu de la nuit, plutt que de voir le visage en colre du patron malheureux quand vous vous promenez 9h le matin suivant. Pour ces administrateurs chanceux qui peuvent se partager la responsabilit de rpondre aux alertes, les astreintes la demande est souvent le choix judicieux. Plusieurs administrateurs vont alternativement grer les notications les week-end, les nuits, les vacances, etc. Nous allons vous montrer comment crer des dnitions de priode de temps pour vous faciliter le plus possible la rotation de l'astreinte. Ces dnitions ne pourront pas remplacer une intervention humaine (un administrateur appel est malade, un changement de dernire minute, un lancer de tlphone dans la rivire), mais ceci permettra d'avoir une installation concordant avec le fonctionnement de votre planning d'entreprise.
2008-03-23 2009-04-12 monday -1 may july 4 monday 1 september thursday 4 november december 25 december 31 }
; ; ; ; ; ; ; ;
Easter (2008) Easter (2009) Memorial Day (Last Monday in May) Independence Day Labor Day (1st Monday in September) Thanksgiving (4th Thursday in November) Christmas New Year's Eve (5pm onwards)
Ensuite, dnissons les priodes d'astreinte de John incluant les jours et les nuits de la semaine tout en excluant les dates qu'il aura dnit pour ces vacances :
define timeperiod { timeperiod_name monday tuesday wednesday thursday friday exclude } john-oncall 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 holidays ; Exclude holiday dates/times defined elsewhere
Nous pouvons rfrencer cette priode de temps dans la dnition du contact John :
define contact{ contact_name ... host_notification_period service_notification_period } john john-oncall john-oncall
Dnissons une nouvelle priode de temps pour les astreintes de Bob incluant le week-end et les dates dnies dans la priode de temps holidays:
define timeperiod { timeperiod_name friday saturday use } bob-oncall 00:00-24:00 00:00-24:00 holidays ; Also include holiday date/times defined elsewhere
Nous pouvons rfrencer cette priode de temps dans la dnition du contact Bob :
define contact{ contact_name ... host_notification_period service_notification_period } bob bob-oncall bob-oncall
Maintenant, au tour de Bob. Bob reoit les notications les jours o John n'en reoit pas. Son astreinte commencera donc le lendemain (2 aout 2007).
define timeperiod{ timeperiod_name bob-oncall 2007-08-02 / 2 00:00-24:00 ; Every two days, starting August 2nd, 2007 }
Maintenant, vous avez besoin de renseigner ces priodes de temps dans la dnition des contacts John et Bob :
define contact { contact_name ... host_notification_period service_notification_period } john john-oncall john-oncall
Maintenant, au tour de Bob, quant lui, son astreinte dbutera le dimanche d'aprs (le 5 aout 2007).
define timeperiod { timeperiod_name bob-oncall 2007-08-05 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, August 5th, 2007 2007-08-06 / 14 00:00-24:00 ; Every other Monday starting August 6th, 2007 -
/ / / / /
14 14 14 14 14
; ; ; ; ;
Tuesday starting August 7th, 2007 Wednesday starting August 8th, 2007 Thursday starting August 9th, 2007 Friday starting August 10th, 2007 Saturday starting August 11th, 2007
Maintenant, vous avez besoin de renseigner ces priodes de temps dans la dnition des contacts John et Bob :
define contact { contact_name ... host_notification_period service_notification_period } john john-oncall john-oncall
Ensuite, dnissons une priode de temps pour l'astreinte de john tout en excluant ces jours de repos :
define timeperiod { timeperiod_name monday tuesday wednesday thursday friday exclude } john-oncall 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 john-out-of-office; Exclude dates/times John is out
Nous pouvons rfrencer cette priode de temps dans la dnition du contact John :
Dnissons la nouvelle priode de temps de l'astreinte de Bob en incluant les dates d'absence de John :
define timeperiod { timeperod_name bob-oncall use john-out-of-office ; Include holiday date/times that John is out }
Nous pouvons rfrencer cette priode de temps dans la dnition du contact Bob :
define contact { contact_name ... host_notification_period service_notification_period } bob bob-oncall bob-oncall
Chapitre 46
le plugin check_dns). Pour un cluster d'htes, assurez-vous d'avoir congur les dnitions d'htes appropries pour chacun des serveurs du cluster (vous aurez aussi dnir au minimum un service pour chacun de ces htes). Important Vous souhaiterez certainement dsactiver les notications pour chacun des lments formant le cluster (dnitions d'htes et de services). Mme si aucune notication n'est envoye pour les lments de faon individuelle, vous continuez avoir une vue de chacun des htes et services dans le status CGI. Cela sera utile pour dtecter la source du problme l'intrieur du cluster dans le futur.
La supervision globale du cluster peut tre faite en utilisant les prcdents rsultats mis en cache pour chacun des lments du cluster. Mme si vous pourriez dterminer le statut du cluster en recontrlant tous les lments du cluster, pourquoi consommer de la bande passante et des ressources alors que vous avez dj les rsultats en cache ? O sont les rsultats mis en cache ? Les rsultats mis en cache pour chacun des lments peuvent tre trouvs dans le chier de statut (en partant du principe que vous supervisez chaque lment). Le check_cluster est spcialement prvu pour contrler les tats d'htes et de services mis en cache dans le chier de statut.
Important Mme si vous n'avez pas activ les notications individuellement pour chacun des lments du cluster, vous souhaiterez les activer pour le contrle du statut global du cluster.
Maintenant, vous avez besoin de crer le service cluster et d'utiliser la check_service_cluster commande que vous venez juste de crer comme commande de contrle de cluster. L'exemple suivant
montre une mainre de faire a. Cet exemple va gnrer une alerte CRITICAL si deux services au moins du cluster sont dans un tat non-OK et une alerte WARNING si un seul des services est dans un tat non-OK. Si tous les services faisant parti du cluster sont OK, le contrle du cluster renvoie galement un tat OK.
define service { ... check_command check_service_cluster!"DNS Cluster"!1!2!$SERVICESTATEID:host1:DNS Service$,$SERVICESTATEID:host2:DNS Service$,$SERVICESTATEID:host3:DNS Service$ ... } -
Il est important de noter que nous passons une liste spare par des virgules de macros on-demand d'tat de services macros la macro$ARG4$ dans la commande de contrle de cluster. C'est important ! Nagios va complter ces macros on-demand avec l'ID (valeurs numriques plutt que des chanes de caractres) l'tat courant de chacun des membres du cluster.
Disons que vous avez trois htes dans le cluster d'htes (appels host1, host2 et host3). Si vous voulez que Nagios gnre une alerte warning si l'un des htes du cluster n'est pas UP et une alerte critical si deux sont non UP la dnition de servie utiliser pour contrler le cluster d'htes pourrait ressembler , celle-ci:
define service { ... check_command check_host_cluster!"Super Host Cluster"!1!2!$HOSTSTATEID:host1$, $HOSTSTATEID:host2$,$HOSTSTATEID:host3$ ... } -
Il est important de noter que nous passons une liste spare par des virgules de macros on-demand d'tat d'htes macros la macro $ARG4$ dans la commande de contrle de cluster. C'est important ! Nagios va complter ces macros on-demand avec l'ID (valeurs numriques plutt que des chanes de caractres) l'tat courant de chacun des membres du cluster. Voil! Nagios va rgulirement contrler l'tat du cluster d'htes et vous envoyer des notications quand l'tat de celui-ci est dgrad (en partant du principe que vous avez activ la notication pour le service). Notez que pour chacune des dnitions individuelles d'htes appartenant au cluster, vous souhaiterez dsactiver les notications quand l'hte tombe. Souvenez-vous que vous ne tenez pas
tant que a l'tat individuel de chacun des htres composant le cluster mais plutt l'tat gnral de cleui-ci. En fonction de la topologie de votre rseau et de ce que vous souhaitez accomplir, vous pourriez souhaiter conserver les notications pour des htes inaccessibles dans les dnitions d'htes.
Chapitre 47
Dans l'exemple ci-dessus, les dnitions de dpendance du Service F sur l'hte C seraient crites comme ceci :
define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } Host B Service D Host C Service F o w,u
Les autres dnitions de dpendances dcrites dans l'image prcdente s'criraient comme suit :
define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria }
Service F o n 1
Comme le paramtre inherits_parent est activ, la dpendance entre les services A et D sera teste quand la dpendance entre les services F et D le sera. Les dpendances peuvent avoir de multiples niveaux d'hritage. Si la dnition de dpendance entre A et D avait le paramtre inherits_parent activ, et que le service A tait dpendant d'un autre service (appelons-le service G), le service F serait dpendant des services D, A, et G (et le serait potentiellement avec chacun selon des critres dirents).
Les bases de ce qu'il faut savoir sur les dpendances d'htes : 1. Un hte peut dpendre d'un ou pusieurs htes 2. Les dpendances d'htes ne se sont pas hrites ( moins que ce ne soit explicitement spci) 3. Les dpendances d'htes peuvent dsactiver l'xcution des vrications et notications dans certains circonstances (tat UP DOWN, et/ou UNREACHABLE) , 4. Les dpendances d'un hte ne sont seulement valable durant la priode de temps spcie
Dans l'image ci-dessus, les dnitions de dpendances pour l'hte C devraient tre dnies ainsi :
define hostdependency { host_name dependent_host_name notification_failure_criteria } define hostdependency { host_name dependent_host_name notification_failure_criteria } Host A Host C d
Comme pour les dpendances de services, les dpendances d'htes ne sont pas hrites. Dans l'exemple de cette image, vous pouvez voir que l'hte C n'hrite pas des dpendances de l'hte B. Pour que C soit dpendant de A, une autre dnition d'hte doit tre prcise. Les dpendances de notications d'htes marchent d'une manire similaire celles de services. Si toutes les notications de dpendance d'un hte russissent, Nagios enverra les notications comme l'accoutume. Si ne serait-ce qu'une de ces dpendances choue, Nagios supprimera temporairement toutes les notications pour cet hte (dpendant). Par la suite, les dpendances russiront nouveau. Nagios recommencera alors envoyer les notications de manire habituelle. Vous trouverez ici plus d'informations sur la l'algorithme de notication.
Chapitre 48
Contrle du Service # :
tat du Service :
Journalis normalement
x x+1
OK OK
x+2
WARNING
Contrle du Service # :
tat du Service :
Message de sortie de Contrle : Grappe RAID dgrade (2 disques hors d'usage, 1 disque de secours mis en ligne, 1 disque de secours en cours de reconstruction) Grappe RAID dgrade (3 disque hors d'usage, 2 disque de secours mis en ligne) Grappe RAID hors d'usage Grappe RAID hors d'usage Grappe RAID hors d'usage
Journalis normalement
x+3
CRITICAL
x+4
CRITICAL
Vu cette squence de contrles, vous devriez seulement voir deux entres dans vos journaux, concernant cette catastrophe. La premire arrivera X+2 quand le service basculera de l'tat OK l'tat WARNING. Le deuxime arrivera (trop tard), au moment du passage de WARNING CRITICAL. Vous pouriez avoir envie, pour une raison quelconque, d'avoir un historique complet de cet accident dans vos journaux. Peut-tre pour expliquer votre patron comment tout cela est arriv soudainement, ou aller en rire au bar du coin devant quelques coups boire . Ceci dit, si le suivi prcis avait t activ pour les tats CRITICAL, les tats x+4 et x+5 auraient t enregistrs en plus de x+2 et x+3. Pourquoi ? parce que dans ce cas-l, Nagios aurait examin les message mis pour vrier s'ils diraient des prcdents. Si le message mis change alors que l'tat ne change pas, le message sera quand mme enregistr. Un exemple similaire peut tre donn avec un service qui contrle un serveur web. Si le plugin check_http retourne d'abord un WARNING sur une erreur 404, puis ensuite des WARNING cause d'une suite de caractres manquants sur la page, vous pouvez avoir envie de le savoir. Si vous n'avez pas activ le suivi prcis, seul le premier WARNING (celui de l'erreur 404) sera enregistr dans les logs et vous n'aurez aucune ide (en analysant les logs archivs) que les WARNING suivants ne sont pas ds une erreur 404, mais plutt une suite de caractres manquants de la page web retourne.
que quelques tats d'htes ou de services, mais pas tous. Par exemple, surveiller les tats WARNING et CRITICAL d'un service, et pas les tats OK ou UNKNOWN. La dcision d'activer le suivi prcis des changements d'tat dpend principalement du plugin que vous allez utiliser pour contrler cet hte ou service. Si le plugin retourne toujours le mme texte/message pour un tat particulier, il n'y a aucune raison d'activer ce type de suivi.
48.6 Inconvnients
Vous devez tre conscients du fait qu'activer ce type de suivi amne quelques inconvnients. Ils sont relatifs aux fonctions d'enregistrement trouves dans les dirents CGIs (histogramme, rsum des alertes, etc.). Comme le suivi prcis va apporter des entres supplmentaires dans les journaux, les donnes retournes montreront un accroissement sensible du nombre d'alertes. D'une manire gnrale, je vous conseille de ne pas activer le suivi prcis sans avoir men auparavant une rexion profonde sur le sujet. Mais, bien entendu, c'est l pour servir si vous en avez besoin.
Chapitre 49
Donnes de performance
49.1 Introduction
Nagios est conu pour permettre aux plugins de retourner des donnes de performance en plus des donnes normales de statut, ce qui vous permet ainsi de tranfrer ces donnes de performances vers une application externe pour y tre traites. Une description des dirents type de donnes de performance, ainsi que des informations sur la faon de traiter ces donnes sont dcrites ci-dessous
Avec ce simple type de sortie, la ligne entire est disponible dans les macros $HOSTOUTPUT$ ou $SERVICEOUTPUT$ (Cela dpend si le pllugin est utilis pour le contrle d'un hte ou d'un service). Les plugins peuvent renvoyer des donnes de performance dans leur message normal de sortie, un texte clair (lisible par l'homme) habituellement suivi du caractre 'pipe' (|), et d'une chane contenant une ou plusieurs donnes de performance. Prenons le plugin check_ping comme exemple et supposons qu'il a t congur pour retourner le pourcentage de paquets perdus et la moyenne des aller-retour comme donnes de performance. Un exemple de sortie du plugin pourrait ressembler ceci :
PING ok - Packet loss = 0%, RTA = 0.80 ms | percent_packet_loss=0, rta=0.80
Quand Nagios rencontre ce type de format pour le message de de sortie du plugin, il le scindera en deux parties : 1. Tout ce qui est situ avant le caratre 'pipe' ( | ) est considr comme le message de sortie normal du plugin et sera alors stock selon le cas dans les macros $HOSTOUTPUT$ ou $SERVICEOUTPUT$ 2. Tout ce qui est situ aprs le caractre 'pipe' ( | ) est considr comme tant les donnes de performance du plugin et seront stockes selon le cas dans les macros $HOSTPERFDATA$ ou $SERVICEPERFDATA$ Dans l'exemple ci-dessus, la macro $HOSTOUTPUT$ ou $SERVICEOUTPUT$ contiendra
PING ok - Packet loss = 0%, RTA = 0.80 ms
(sans les guillemets). Plusieurs lignes de donnes de performance (comme pour le texte normal de sortie) peuvent tre transmises par les plugins, comme dcrit dans la documentation sur les !! FIXME !! APIAPIs des plugins . Note Le dmon Nagios ne traite pas directement les donnes de performance des plugins, du coup il ne sait pas vraiment quoi elles ressemblent. Il n'y a pas vraiment de limites inhrentes au format ou au contenu des donnes de performance. Toutefois, si vous utilisez un module externe pour traiter les donnes de performance (par exemple PerfParse), le module attend que le plugin renvoie les donnes de performance dans un format spcique. Vriez la documentation du module pour plus d'information.
1. Activer l'option process_performance_data 2. Congurer Nagios pour que les donnes de performance soient crites dans des chiers et/ou traites directement en excutant des commandes. Lire la suite pour plus d'informations sur la faon de traiter les donnes de performance en les crivant des des chiers ou en excutant des commandes.
ASTUCE Cette mthode, bien que souple, est synonyme d'un niveau relativement lev en terme de charge du CPU. Si vous traitez les donnes de performance d'un grand nombre de serveurs et de services, vous voudriez probablement que Nagios crive les donnes de performance dans des chiers la place. Cette mthode est dcrite dans la section suivante.
Par dfaut, les chiers texte seront ouverts en mode append. Si vous avez besoin de changer les modes en write ou non-blocking read/write (utile lors d'criture via 'pipe'), vous pouvez utiliser les options host_perfdata_file_mode et service_perfdata_file_mode . En outre, vous pouvez avoir Nagios qui excute priodiquement des commandes traite priodiquement les chiers de donnes de performance (par exemple tour de rle) en utilisant les options host_perfdata_file_processing_command et service_perfdata_file_processing_command . L'intervalle laquelle ces commandes sont excutes sont rgies par les options host_perfdata_file_processing_interval et service_perfdata_file_processing_interval , respectivement.
Chapitre 50
Nagios vous permet de planier des periodes de maintenance programme pour les htes et les services que vous monitorez. C'est pratique dans le cas o vous allez arrter des serveurs pour une mise jour, etc.
Chapitre 51
Nagios peut tre compil avec le support d'un interprteur Perl intgr. Cela permet Nagios de pouvoir excuter les plugins Perl de faon beaucoup plus ecace, aussi est-il possible que cela puisse prsenter un intrt pour vous si vous dpendez beaucoup de plugins crits en Perl.
Sans l'interprteur Perl intgr, Nagios excute les plugins Perl (et non Perl) en crant un sousprocessus [fork] pour lancer les plugins comme commande externe. Quand l'interprteur Perl intgr est utilis, Nagios peut simplement excuter les plugins Perl en faisant un simple appel la librairie. ASTUCE L'interprteur Perl intgr fonctionne avec n'importe quel script Perl que nagios est capable d'excuter - pas seulement les plugins. Cette documentation dcrit l'interprteur Perl intgr en relation avec les plugins utiliss pour les contrles d'htes et de services, mais ceci s'applique aux autres types de scripts Perl que vous pourriez utiliser pour les autres types de commandes (ex scripts de notications, scripts de gestion d'vnements, etc.).
Stephen Davies a t le premier contributeur du code de l'interpteur Perl intgr il y a plusieurs annes. Stanley Hopcroft a t la premire personne implique amliorer le code de l'interprteur Perl intgr et a comment les avantages et inconvbients de son utilisation. Il a galement donn plusieurs indices utiles pour crire des plugins Perl qui fonctionnent correctement avec l'interprteur intgr. Notez que ePN, tel qu'il est utilis dans cette documentation, fait rfrence l'interprteur Perl intgr Nagios [embedded Perl Nagios], ou si vous prfrez, Nagios compil avec un interprteur Perl intgr.
51.2 Avantages
Parmi les avantages de ePN [embedded Perl Nagios] on compte : Nagios passera beaucoup moins de temps excuter vos plugins Perl car il n'a plus besoin de crer un sous-processus [fork] pour lancer le plugin (en chargeant chaque fois l'interprteur Perl). Il excute maintenant votre plugin grce un appel de librairie. Il rduit grandement l'impact sur le systme des plugins Perl et/ou vous permet de lancer plus de contrles en plugin Perl que ce que vous seriez capables autrement. En d'autres termes, vous tes moins tent d'crire vos plugins en d'autres langages comme C/C++, ou Expect/TCL, qui sont gnralement considrs comme ayant un cycle de dveloppement plus long que Perl (mme s'ils tournent a peu prs dix fois plus vite TCL tant une exception). Si vous n'tes pas un dveloppeur C, vous pouvez quand mme faire beaucoup de choses avec Nagios en laissant Perl faire le gros du travail, sans que Nagios ne soit trop ralenti. Ceci dit, notez que ePN n'acclrera pas votre plugin (une fois t le temps de chargement de l'interprteur). Si vous voulez des plugins plus rapides, alors tournez-vous vers les XSUB Perl (XS), ou C aprs vous tre assur que votre Perl est propre et que votre algorithme est correct (l'apport de Benchmark.pm n'a pas de prix pour comparer les performances des lments de langage Perl). L'utilisation de ePN est un excellent moyen d'en apprendre plus sur Perl.
51.3 Inconvnients
Les inconvnients de ePN [embedded Perl Nagios] ressemblent beaucoup ceux du mod_perl d'Apache (i.e. Apache avec un interprteur Perl intgr) par rapport l'Apache standard : Un programme Perl qui fonctionne parfaitement avec Nagios standard peut ne pas fonctionner avec ePN. Il vous faudra peut-tre modier vos plugins pour qu'ils tournent. Les plugins Perl sont plus diciles dboguer sous ePN qu'avec un Nagios standard. Votre ePN aura une plus grande taille (empreinte mmoire) qu'un Nagios standard.
Certaines constructions [constructs] Perl ne peuvent pas tre utilises, ou peuvent se comporter diremment de ce quoi vous vous attendiez. Il vous faudra connatre plus d'une faon de le faire, et peut-tre choisir celle qui semble la moins attirante ou vidente. Il vous faudra une meilleure connaissance de Perl (mais rien de bien sotrique ou concernant la structure interne de Perl sauf si vous utilisez les XSUBS).
Une fois que vous avez relanc le script de conguration avec les nouvelles options, n'oubliez pas de recompiler Nagios.
Pour indiquer Nagios de ne PAS utiliser l'interprteur Perl pour un script particulier, ajoutez cette ligne au script Perl :
# nagios: -epn
Chacune de ces lignes doit tre prsente dans les 10 premires lignes du script pour que Nagios puisse la dtecter. ASTUCE Si vous n'utilisez pas explicitement la mthode prcdente pour indiquer Nagios qu'un plugin peut tre lanc par l'interprteur Perl, Nagios prendra la dcision pour vous. Ce processus de dcision est contrl par la variable use_embedded_perl_implicitly . Avec une valeur xe 1, tous les plugins/scripts Perl (tous ceux qui n'activent/dsactivent pas explicitement ePN) seront lancs par l'interprteur Perl. Avec une valeur xe 0, ils ne seront PAS lancs par l'interprteur Perl.
51.7 Dveloppement de plugins pour tre utiliss avec Perl intgr Nagios
Les informations pour dvelopper des plugins utilisant l'interprteur Perl intgr peuvent tre trouves ici.
Chapitre 52
Supervision adaptative
52.1 Introduction
Nagios vous permet de modier certains attributs de check des commandes, htes et services l'excution. Je ferai rfrence cette fonctionnalit comme monitoring adaptif. Veuillez noter que la fonctionnalit de monitoring adaptif prsente dans nagios ne sera pas vraiment utile 99% des utilisateurs, mais elle vous permet de raliser des choses assez lgantes.
Chapitre 53
C'est comme a que fonctionne les contrles prdictifs de dpendances. Plutt simple, non ? Note Les contrles prdictifs de dpendances de services fonctionnent de faon identique ce qui dcrit ci-dessus. Except bien sr qu'ils travaillent sur les services et non les htes.
performances en autorisant Nagios a utiliser un rsultat de contrle assez rcent plutt que d'excuter le contrle de l'hte ou du service. Plus d'informations sur les contrles mis en cache sont disponibles ici.
Chapitre 54
La performance de la supervision de Nagios peut tre amliore de manire signicative en implmentant l'utilisation des contrles mmoriss. Les contrles mmoriss permettent Nagios de passer l'excution d'un contrle d'hte ou de service s'il dtermine qu'un rsultat de contrle relativement rcent a t fait plutt.
Quand il est ncessaire de vrier l'accessibilit de l'hte. Quand il est ncessaire de raliser un contrle prventif des dpendances d'hte . Et le contrle de service sur demande se produit Quand il est ncessaire de raliser un contrle prventif des dpendances de service . Note moins que vous ne protiez des dpendances de service, Nagios ne sera pas capable d'utiliser des rsultats de contrles mmoriss an d'amliorer la performance du contrle de service. Ne vous en inquitez pas - c'est normal. Le contrle mmoris des htes est l o il y a eu une plus grande amlioration de performance et chacun devrait y voir un avantage.
Quand Nagios a besoin d'excuter un contrle d'hte ou de service la demande, il dterminera s'il peut utiliser un rsultat de contrle se trouvant dans le cache ou s'il aura besoin d'excuter un contrle en passant par un plugin. Il fait ceci en comparant depuis combien de temps le dernier contrle date aux valeurs des variables du cycle de mise en cache des contrles d'hte et de service. Si le dernier contrle excut se trouve dans cette priode de temps (celle du cycle de contrle du cache), Nagios utilisera le dernier rsultat du contrle de l'hte ou du service et n'excutera pas un nouveau contrle. Si l'hte n'a pas encore t contrl, ou si la priode de temps dpasse la valeur du cycle de mise en cache, Nagios excutera un nouveau contrle d'hte ou de service en passant par un plugin.
considrer que l'tat du contrle antrieur est relativement correcte pour dterminer l'tat actuel de vos htes. Pour cela il n'a pas besoin de contrler via un plugin et de vraiment revrier le statut de cet hte ou de service. Le cycle de mise en cache des contrles dit Nagios combien de temps il doit considrer qu'un tat d'hte ou de service est able. Par exemple, nous avons une valeur de cache 30 secondes, ceci dira Nagios que si l'tat de l'hte tait contrl durant ces 30 secondes, il devrait prendre en considration le dernier contrle mmoris comme l'tat actuel de l'hte. Le nombre de contrle mmoris que Nagios peut utiliser et comparer au nombre de contrle la demande qu'il doit vraiment excuter peut tre interprt sur forme de taux. En augmentant la valeur du cycle de mise en cache des contrles l'quivalence de celle du check_interval d'un hte, nous pouvons thoriquement en conclure que le taux sera de 100%. Dans ce cas, tous les contrles la demande utiliseront les rsultats des contrles mmoriss. Quelle performance incroyable ! Mais estce bien la ralit ? Bien sr que non. La abilit de l'information d'un rsultat diminue avec le temps. Un haut ccient de cache require que vous ayez considr que vos rsultats sont rests inchangs depuis un long moment. Les choses peuvent changer rapidement dans certains scnario du rseau. Vous n'avez aucune garantie qu'un serveur sera toujours oprationnel 30 secondes plus tard. Il y a un change - Fiabilit contre rapidit. Si vous mettez une valeur du cycle de contrle du cache trop haute, vous risquez de voir la abilit de votre supervision en ptir. Nagios dterminera nalement l'tat correct de tous les htes et des services, mme si les rsultats des contrls mmoriss peuvent s'avrer obsoltes. Nagios travaillera seulement avec les renseignements incorrects pour une priode courte. Les priodes mme courtes de renseignements de statut douteux peuvent s'avrer nuisantes pour les administrateurs car il est possible qu'ils reoivent des notications pour des problmes qui n'ont pas exists trs longtemps. Il y a pas de valeur par dfaut pour le cycle de mise en cache des contrles ou de ccient acceptable pour chaque utilisateur de Nagios. Certains vont prfrer une priode de temps et un ccient bas alors que d'autres prfreront voir ces paramtres la hausse. Certains utilisateurs peuvent mme dsactiver l'option du cache pour avoir une abilit s'approchant des 100%. Tester direntes priodes de temps, et voir leur eet est le seul moyen pour un utilisateur de trouver la bonne valeur adapte sa situation. Plus d'informations sur ce paramtrage vous est dtaill ci-dessous.
Vous pouvez planier des contrles rguliers pour vos htes en prcisant une valeur au-dessus de 0 pour la variable check_interval dans votre dnition d'hte . Si vous faites cela, assurez vous avoir une valeur plus grande que 1 pour la variable max_check_attempts, ou ceci vous causera de gros problmes de performance. Cette optimisation des performances est dcrite en dtails ici.
La bonne mthode pour dterminer votre valeur de l'option du cycle de mise en cache des contrles est de comparer le nombre de contrles la vole que Nagios excute par rapport au nombre de contrles mmoris quivalent. L'utilitaire nagiostats peut raliser ces statistiques sur les controles mmoriss, que vous pouvez grapher avec MRTG. L'exemple de graph MRTG suivant compare les contrles mmoriss et les contrles la demande. L'installation de la supervision qui a ralis les graphs ci-dessus avait : Un total de 44 htes, tous contrls intervalle rgulier En moyenne (contrle rgulier), le contrle d'un hte se fait toutes les 5 minutes Une variable cached_host_check_horizon rgle 15 secondes Le premier graph MRTG nous montre le nombre de contrle rgulier d'hte compar celui que le contrle mmoris a produit. Dans cette exemple, en moyenne, nous avons 53 contrles qui sont raliss toutes les 5 minutes. 9 d'entres eux sont des contrles la demande. Le second graph nous montre le nombre de contrles mmoriss qui se produisent tout le temps. Dans cet exemple, en moyenne, 2 contrles mmoriss d'htes sont raliss toutes les 5 minutes. Souvenez-vous, le contrle mmoris n'est valable que pour le contrle la demande. Si l'on se base sur une priode de 5 minutes, Nous voyons que Nagios utilise les rsultats de contrles mmoriss
2 fois sur les 9 demandes de contrles qui ont t excut. a ne vous parat pas beaucoup, mais notre environement de supervision tait minime. Considrons que 2 sur 9 font 22%, alors imaginez les performances que vous gagnerez dans des grands environnements de production. Ce pourcentage peut se voir la hausse si vous augmentez la valeur de la variable du cycle de mise en cache des contrles, mais a rduira la abilit des informations sur l'tat des htes. Aprs avoir graph pendant quelques heures ou jours, on s'aperoit combien de contrles d'hte et de service sont raliss par excution d'un plugin compars ceux utiliss avec les rsultats de contrles mis en cache. Utilisez cette information pour ajuster votre environnement, la valeur de vos variables du cycle de mise en cache des contrles. Continuez superviser avec des graphs MRTG pour voir l'volution en fonction de vos changements. Rpetez l'opration si ncessaire.
Chapitre 55
Dans quel tat Router-C and Router-D sont-ils? La rponse dpend de quelle instance Nagios est interroger. Nagios-A voit Router-D comme DOWN et Router-C comme UNREACHABLE Nagios-B devrait voir Router-C comme DOWN et Router-D comme UNREACHABLE Nagios-C devrait voir les deux routeurs comme tant DOWN. Chaque instance Nagios a une vue dirente du rseau. Les serveurs de monitoring de backup ne doivent pas accepter aveuglement les tats passifs des hotes du serveur de monitoring primaire, ou ils auront des informations incorrectes sur l'tat actuel du rseau. Sans la transition de checks passifs d'hte depuis le serveur de monitoring primaire (Nagios-A), Nagios-C devrait voir Router-D comme UNREACHABLE , alors qu'il est en fait DOWN selon son point de vue. De la mme manire les tats DOWN/UNREACHABLE ( d'un point de vue de Nagios-A) de Router-C et Router-D devrait tre inverss d'un point de vue de Nagios-B. Note Il y a des situations o vous ne voulez pas que Nagios transite les tats DOWN/UNREACHABLE depuis une source distante leurs tats corrects d'un point de vue de l'instance locale de Nagios. Par exemple dans un environnment de monitoring distribu, vous pouvez vouloir que l'instance centrale de Nagios connaisse comment les instances distribues voient leurs parties respectives du rseau
La transition automatique d'tat de check passif d'hte est contrler par la variable translate_passive_host_ch Activez-la et Nagios va automatiquement transiter les tats DOWN et UNREACHABLE depuis une source distante leurs tats corrects sur l'instance locale de Nagios.
Chapitre 56
Ce document est en cours de rcriture pour Nagios 3. Restez connects pour plus d'informations dans une future version beta
Chapitre 57
En-ttes/pieds de page globaux. Ces chiers devraient tre nomms common-header.ssi et common-footer ssi, respectivement. Si ces chiers existent, ils seront inclus dans le rsultat de l'excution de toutes les CGIs.
En-ttes/pieds de page de CGIs spciques. Ces chiers devraient tre nomms dans le format NOMCGI-header.ssi et NOMCGI-footer.ssi, o CGINAME est le nom physique du CGI sans l'extension .cgi. Par exemple, l'en-tte et le bas de page pour le CGI rsum des alertes [alert summary] (summary.cgi) devrait tre appel summary-header.ssi et summary-footer.ssi, respectivement. L'utilisation des en-ttes et bas de pages personnaliss sont optionnels. Utilisez-les si vous le dsirez. De mme pour les en-ttes et pieds de page spciques. C'est comme vous voulez.
Chapitre 58
Hritage d'objet
58.1 Introduction
Cette documentation essaye d'expliquer l'hritage d'objet et comment il peut tre utilis dans vos dnitions d'objet. Si vous tes perdu dans le fonctionnent des rcurrences et des hritages aprs avoir lu cela, allez voir le cher de conguration d'un objet simple propos par la distribution Nagios. Si cela ne vous aide toujours pas, laissez un message mail la liste de diusion nagios-users avec une description dtaille de votre problme.
La premire variable est name. C'est le nom du gabarit qui peut tre rfrenc dans d'autre dnition d'objet, de manire ce qu'ils hritent des proprits/variables de cet objet. La deuxime variable est use. C'est ici que vous spciez le nom des objets gabarit dont vous voulez hriter les proprits/variables. Le nom que vous spciez dans cette variable doit tre dni dans un autre gabarit d'objet nomm. (En utilisant la variable nom) La troisime variable est register. Cette variable est utilise pour indiquer si la dnition de l'objet doit tre prise en compte par Nagios ou non. Par dfaut, toutes les dntions d'objet sont prise en compte. Si vous utilisez une dnition d'objet partiel comme gabarit, vous voulez viter qu'il soit prise en compte (Un exemple de ce mcanisme sera prsentez plus loin). Les valeurs acceptes sont les suivantes : 0 = ne PAS prendre en compte la dnition de l'objet, 1 = prendre en compte la dnition de l'objet (Comportement par dfaut). Cette variable n'est pas hrite, toutes dnitions d'objet (partiel) utilises comme gabarits doivent explicitement avoir le paramtre register 0. Cel vite d'avoir surcharger une directive register hrite avec la valeur 1 pour tous les objets qui doivent tre pris en compte.
bighost2 3 hosttemplate1
Vous remarquerez que la dnition de l'hte bighost1 a t dnie comme ayant hosttemplate1 comme nom de gabarit. La dnition de l'hte bighost2 utilise la dnition de bighost1 comme gabarit. Une fois que Nagios traite les donnes, le rsultat de la dnition de l'hte bighost2 sera quivalent cette dnition :
define host { host_name check_command notification_options max_check_attempts } bighost2 check-host-alive d,u,r 3
Vous pouvez voir que les variables check_command et notification_options sont hrites du gabarit.( o l'hte bighost1 a t dni). Cependant, les variables host_name et max_check_attempts n'ont pas t hrites du gabarit car elles sont dnies localement. N'oubliez pas que les variables dnies localement surchargent les variables qui devraient normalement tre hrites du gabarit. C'est un concept assez facile comprendre. ASTUCE Si vous voulez qu'une variable d'une chane locale soit concatne avec la valeur d'une chane hrite, vous pouvez le faire. Pour plus de renseignements sur comment raliser a, lisez plus bas.
define host { host_name max_check_attempts use name } define host { host_name use }
bighost3 hosttemplate2
Vous remarquerez que la dnition de l'hte bighost3 hrite des variables de la dnition de l'hte bighost2, qui lui-mme hrite des variables de la dnition de l'hte bighost1. Une fois que Nagios a trait ces donnes de conguration, le rsultat de la dnition de ces htes est quivalent :
define host { host_name check_command notification_options max_check_attempts } define host { host_name check_command notification_options max_check_attempts } define host { host_name check_command notification_options max_check_attempts } bighost1 check-host-alive d,u,r 5
Il n'y a pas de limite de profondeur d'hritage, mais vous voudrez probablement vous limitez tout au plus quelques niveaux, de faon garder votre sant mentale.
Notez que la 1er dnition d'hotes est incomplte car il manque la variable requise host_name. Nous n'avons pas besoin de dnir un nom d'hte car nous voulons juste utiliser cette dnition comme un gabarit d'hte gnrique. An de prvenir cette dention d'tre registered par nagios comme un hte normal, nous devons dnir la variable register 0. La dnition des htes bighost1 et bighost2 hritent leurs valeurs de la dnition d'hte gnrique. La seule variable que nous avons choisi de surcharger est la variable address. Cel veut dire que les deux htes auront exactement les mmes proprits, l'exeption de leurs variables host_name et address. Une fois que Nagios aura trait les donnes de conguration de l'exemple, les dnitions d'htes rsultants seront la mme chose que si nous spcions :
define host { host_name address check_command notification_options max_check_attempts } define host { host_name address check_command notification_options max_check_attempts } bighost1 192.168.1.3 check-host-alive d,u,r 5
Enn, utiliser une dnition de gabarit pour les variables par dfaut vous fera gagner beaucoup de temps. Cela vous vitera aussi beaucoup de maux de tte ultrieurs si vous voulez changer la valeur par dfaut d'une variable pour un grand nombre d'htes.
L'hte bighost1 va hriter de la variable personnalise de l'hte _customvar1 et _snmp_community, aussi bien que de leur valeurs respectives de la dnition du generichosttemplate. Le rsultat eectif est une dnition pourbighost1 qui ressemble a :
define host { host_name address _customvar1 _snmp_community } bighost1 192.168.1.3 somevalue public
58.7
Dans certains cas, vous ne voulez pas que votre dntion d'hte, service ou contact hrite de la valeur d'une variable du gabarit qu'il rfrence. Dans ce cas, vous pouvez spcier null (sans quotes) comme valeur pour cette variable. Regardez l'exemple suivant :
define host { event_handler name register } define host { host_name address event_handler use } my-event-handler-command generichosttemplate 0
Dans ce cas, l'hte bighost1 n'hritera pas de la valeur de la variable event_handler qui est dnie dans generichosttemplate. Le rsultat eectif de la dnition de bighost1 est :
define host { host_name address } bighost1 192.168.1.3
58.8
Nagios donne la prfrence aux variables locales au lieu des valeurs hrites par leurs gabarits. Dans la pluspart des cas, les valeurs locales des variables surchargent celles dnies dans les gabarits. Dans certains cas, il peut tre judicieux d'autoriser Nagios d'utiliser la valeur locale et hrite de la variable ensemble. Cet hritage additif peut tre ralis en rajoutant devant la valeur de la variable local un signe plus (+). Cette fonctionnalit est uniquement accessible pour les variables standards (non-personnels) qui contiennent des valeurs sous forme de chane. Regardez l'exemple suivant :
define host{ hostgroups name register all-servers generichosttemplate 0
Dans ce cas, l'hte linuxserver1 va ajouter la valeur de sa variable hostgroups local, celui du generichosttemplate. Le rsultat eectif de la dnition de linuxserver1 est le suivant :
define host { host_name hostgroups } linuxserver1 all-servers,linux-servers,web-servers
58.9
Hritage implicite
Normalement vous devez soit explicitement spcier la valeur de la variable dans la dnition d'un objet, ou bien l'hriter d'un gabarit. Il existe quelques exceptions cette rgle, o Nagios assumera que vous voulez utiliser une valeur qui vient en fait d'un objet li. Par exemple, la valeur de certaines variables de service vont tre copies de l'hte auquel le service est associ si vous ne lui spciez pas le contraire. Les tableaux suivants listent les variables d'objet qui seront implicitement hrites par des objets lis, si vous spciez pas explicitement leurs valeurs dans votre dnition d'objet ou dans son gabarit. Object Type Variable Objet contact_groups Services notication_interval notication_interval dans la dnition d'htes associe notication_period dans la dnition d'htes associe contact_groups dans la dnition d'htes associe notication_interval dans la dnition d'htes associe notication_period dans la dnition d'htes associe contact_groups dans la dnition de services associe notication_interval dans la dnition de services associe notication_period dans la dnition de services associe Source implicite contact_groups dans la dnition d'htes associe
notication_period
escalation_period
escalation_period
58.10
La superposition de dntion d'hte et de service peuvent utiliser une rgle spciale qui combine les fonctionnalits de l'hritage implicite et explicite. Si la superposition 1) n'hrite pas la valeurs de leurs paramtres contact_groups ou contacts d'un autre gabarit et 2) leurs paramtres contact_groups ou contacts commencent avec un signe (+), alors les valeurs des paramtres contact_groups ou contacts de leurs dntions d'hte ou service seront utilises avec une logique d'hritage additive. Perdu ? Voici un exemple :
define host { name contact_groups ... } linux-server linux-admins
58.11
Jusqu' maintenant, tous les exemples d'hritage prsentaient l'hritage de variables/valeurs partir d'une seule source. Vous pouvez aussi hriter des variables/valeurs de sources multiples pour raliser des congurations plus complexes, comme cela est prsent ci-dessous.
#Generic host template define host { name active_checks_enabled check_interval ... register }
generic-host 1 10 0
# Development web server template define host { name development-server check_interval 15 notification_options d,u,r ... register 0 } # Development web server define host { use server host_name ... }
generic-host,developmentdevweb1
Dans l'exemple ci-dessous, devweb1 hrite de variables/valeurs provenant de deux sources : generic-host et development-server. Vous noterez qu'une variable check_interval est dnie dans les deux sources. Puisque generic-host tait le premier gabarit spci dans les paramtres de devweb1, sa valeur pour la variable check_interval est hrite par l'hte devweb1. Aprs l'hritage, la dnition eective de devweb1 est la suivante : # Development web server
define host { host_name active_checks_enabled check_interval notification_options ... } devweb1 1 10 d,u,r
Si certains des gabarits hritent eux-mme de variables/valeurs de un ou plusieurs autre gabarits, les rgles de priorit sont montres droite. Tests, essais et erreurs vous aideront mieux comprendre exactement comment les choses fonctionnent dans une situation d'hritage complexe comme celle-ci :-)
Chapitre 59
59.1 Introduction
Cette documentation va essayer de vous expliquer comment vous pouvez exploiter les fonctionnalits (quelque peu) caches des dnitions d'objets bases sur des modles histoire de ne pas pter les plombs. Comment, me demanderez-vous ? Plusieurs types d'objets permettent de spcier de multiples noms d'htes et/ou de groupes d'htes dans les dnitions, vous permettant de copier la dntion de l'objet dans de multiples htes ou services. Je vais parcourir sparement chaque type d'objet permettant cette fonctionnalit. Pour commencer, les types d'objets concerns sont les suivants : Services Escalades de service Dpendances de service Escalades d'hte Dpendances d'hte Groupes d'htes
Les types d'objets qui ne sont pas lists ci-dessus (par exexmple les priodes de temps, les commandes) ne supportent pas les fonctionnalits que je vais vous dcrire maintenant.
Note Attention lorsque vous activez les expressions rgulires - vous aurez peut-tre modier votre chier de conguration, pour viter que des paramtres que vous ne souhaitez pas voir interprts comme des expressions rgulires ne le soient ! Les problmes devraient tre mis en vidence lorsque vous vriez votre conguration.
59.3
Dnitions de service
59.4
59.5
59.5.6
Si vous voulez crer des dpendances de service pour plusieurs services dpendants de services sur le mme hte, laissez les paramtres dependent_host_name et dependent_hostgroup_name vides. L'exemple ci-dessous part du principe que les htes HOST1 et HOST2 ont un minimum de quatre services associs avec eux : SERVICE1, SERVICE2, SERVICE3, et SERVICE4. Dans cet exemple, SERVICE3 et SERVICE4 sur HOST1 seront dpendants la fois de SERVICE1 et SERVICE2 sur HOST1. De faon identique, SERVICE3 et SERVICE4 sur HOST2 seront dpendants la fois de SERVICE1 et SERVICE2 sur HOST2.
define servicedependency { host_name HOST1,HOST2 service_description SERVICE1,SERVICE2 dependent_service_description SERVICE3,SERVICE4 other dependency directives ... }
59.6
59.7
59.8
Groupes d'htes
Septime partie
Chapitre 60
Ce paragraphe est un rapide survol des lments que vous devez conserver l'esprit au moment d'installer Nagios, an que l'installation soit scurise. Vous devriez considrer votre serveur de supervision comme une porte drobe de vos autres systmes. Dans certains cas, le serveur Nagios a besoin d'tre autoris traverser des pares-feu pour pouvoir contrler des serveurs distants. Dans la plupart des cas, il est autoris interroger ces serveurs distants pour diverses informations. Les serveurs de supervision ont toujours besoin d'un certain niveau de conance pour pouvoir interroger des serveurs distants. Ceci reprsente un risque potentiel d'attaque avec une porte drobe intressante vers vos autres systmes. Un ataquant peut se rendre la vie plus facile en attaquant d'abord votre systme de supervision avant de rebondir sur les autres. Ceci est particulirmeent vrai dans le cas o vous utilisez des cls partages SSH pour superviser les systmes distants. Si un intrus a la possibilit de soumettre des rsultats de contrles ou des commandes externes au dmon Nagios, il a la possibilit de soumettre des donnes de supervision errones, de vous rendre fou avec des notications errones, ou de faire en sorte que des gestionnaires d'vnements soient dclenchs. Si vous avez des scripts de gestion d'vnements qui redmarrent des services, allumage et extinction lectrique, etc. cela peut devenir problmatique. Un autre champ de possibilits pour les intrus est de snier les donnes de supervision (information d'tat) au moment o elle transite sur le rseau. Si les canaux de communication ne sont pas chirs, les attaquants peuvent accder des informations importantes en regardant vos informations de supervision. Prenez la situation suivante en exemple : Un ataquant capture vos donnes de supervision sur le rseau pendant une priode de temps et analyse la charge habituelle des CPUs et disques de vos systmes en comparaison du nombre d'utilisateurs connects dessus. L'attaquant est donc en mesure de dterminer le meilleur moment pour compromettre un systme et utiliser ses ressources (CPU, etc.) sans tre dcouvert. Voici quelques trucs pour vous aider garder vos systmes scuriss quand vous implmentez une solution de supervision base sur Nagios
60.2
Meilleures pratiques
1. Utilisez un serveur de supervision ddi. Je vous recommande d'installer Nagios sur un serveur ddi la supervision (et d'autres tches d'administration ventuellement). Protgez votre serveur de supervision comme si c'tait l'un des plus importants de votre rseau. Maintenez le nombre de services tourner le plus bas possible et protgez leurs accs avec des wrappers TCP des pares-feu, etc. Vu que le serveur Nagios est autoris discuter avec vos serveurs et , peut traverser des pares-feu, autoriser des accs utilisateurs sur votre serveur de supervision peut reprsenter un risque de scurit. Gardez l'esprit qu'il est plus facile d'obtenir des privilges root au travers d'un trou de scurit quand vous avez un compte local est disponible sur une machine.
2. Ne pas faire fonctionner Nagios en tant que root !. Il n'est pas ncessaire d'tre root pour faire fonctionner Nagios, alors ne le fates pas. Vous pouvez obliger Nagios abandonner des privilges aprs le lancement et fonctionner avec les droits d'un autre utilisateur/groupe en utilisant les paramtres nagios_user et nagios_group dans le chier principal de conguration. Si vous avez besoin d'excuter des gestionnaires d'vnements ou des plugins qui requirent des accs root, vous pouvez essayer d'utiliser sudo. 3. Verrouillez le rpertoire des rsultats de contrle. Assurez-vous que seul l'utilisateur nagios le droit de lecture/criture sur le rpertoire des rsultats de contrle. Si d'autres utilisateurs que nagios (ou root) sont capables d'crire dans ce rpertoire, ils peuvent potentiellement envoyer des rsultats de contrles errones au dmon Nagios. Cela pourrait vous valoir quelques dsagrments comme des notications errones ou des problmes de scurit (gestionnaires d'vnements dclenchs).
4. Verrouillez le chier des commandes externes. Si vous activez les commandes externes, assurez-vous d'avoir les permissions appropries sur le rpertoire /usr/local/nagios/var/rw. Vous voulez uniquement que les utilisateurs Nagios (habituellement nagios) et web (habituellement nobody, http, apache2 ou www-data) puissent crire dans le chier des commandes. Si vous avez install Nagios sur une machine ddie la supervision et aux tches d'administration qui n'a pas de comptes publics, cela devrait aller. Si vous l'avez install sur une machine publique ou multi-utilisateurs (pas recommand), autoriser l'utilisateur du serveur web peut tre un problme de scurit. Aprs tout, vous ne souhaitez pas que n'importe quel utilisateur du systme puisse contrler Nagios partir du chier des commandes externes. Dans ce cas, je vous suggre de donner les droits uniquement l'utilisateur nagios et d'utiliser quelque chose comme CGI Wrap pour faire fonctionner les CGIs avec l'utilisateur nagios plutt que nobody. 5. Authentication requise pour les CGIs. Je vous recommande fortement de protger l'accs aux CGIs par une authentication. Ceci fait, lisez la documentation sur les droits par dfaut dont disposent les contacts autoriss et n'accordez qu'exceptionnellement une autorisation des contacts spciques. Les instructions pour la conguration des droits se trouvent ici. Si vous dsactivez l'authentication pralable l'accs aux CGIs par la commande use_authentication dans le chier de conguration des CGIs, le CGI de commande refusera d'crire la moindre commande dans le chier des commandes externes. De toutes faons, vous ne souhaitez pas que tout le monde puisse contrler votre Nagios ? 6. Implmentez les mesures renforces de scurit des GCIs. Je vous recommande chaudement de considrer l'implmentation des mesures de scurit pour les CGIs comme indiqu ici. Ces mesures peuvent aider s'assurer que l'utilisateur/mot de passe que vous utilisez pour accder l'interface web de Nagios ne puissent intercepter par de tierces parties. 7. Utilisez les chemins complets dans la dnition des commandes. Lorsque vous dnissez des commandes, assurez-vous d'avoir bien prcis le chemin d'accs complet de tous les scripts ou binaires que vous excutez. 8. Cachez les informations sensibles l'aide des macros $ARGn$. Les CGIs parcourent le chier de conguration principal et le(s) chier(s) de conguration des objets, n'y laissez donc pas d'informations sensibles (noms d'utilisateur, mots de passe, etc.). Si vous avez besoin de prciser un mot de passe ou un nom d'utilisateur dans une dnition de commande, utilisez $USERn$ macro pour le cacher. $USERn$ Les macros $USERn$ sont dnies dans un ou plusieurs chiers de ressources. Les CGIs ne parcourant pas les chiers de ressources, vous pouvez leur donner des permissions beaucoup plus restrictives (600 ou 660). Consultez le chier resource.cfg dans la distribution de base de Nagios, il vous donnera un exemple de dnition de la macro $USERn$. 9. liminez les caractres dangereux des macros. Utilisez le paramtre illegal_macro_output_chars pour ltrer les caractres dangereux des chanes issues des macros $HOSTOUTPUT$, $SERVICEOUTPUT$, $HOSTPERFDATA$ et $SERVICEPERFDATA$ avant qu'elles ne soient utilises pour des notications, etc. Des caractres dangereux peuvent tre tout caractre qui peut tre interprt par un shell, ouvrant ainsi un trou de scurit. Un bon exemple est la prsence de la quote inverse ( ) dans $HOSTOUTPUT$, $SERVICEOUTPUT$, $HOSTPERFDATA$, et/ou $SERVICEPERFDATA$ qui pourrait permettre un attaquant d'excuter un commande arbitraire comme l'utilisateur nagios (une autre bonne raison pour ne pas excuter Nagios avec l'utilisateur root). 10. Scurisez l'accs aux agents distants. Assurez-vous d'avoir verrouiller l'accs aux agents (NRPE, NSClient, SNMP, etc.) sur les sytmes distants en utilisant des pares-feu, des listes d'accs, etc. Vous ne voulez pas que n'importe qui soit capable d'interroger vos systmes sur leurs tats. Cette information peut tre utilise par un attaquant pour excuter des gestionnaires d'vnements distants ou pour dterminer une fentre de temps pour une attaque discrte.
11. Scurisez vos canaux de communication. Assurez-vous d'avoir chir les canaux de communication entre vos dirents serveurs Nagios et entre Nagios et les agents de supervision quand cela est possible. Vous ne voulez pas que quelqu'un puisse snier les informations d'tats lorsqu'elles transitent sur le rseau. Ces informations peuvent tre utilises par un attaquant pour dterminer un intervalle de temps pour une attaque discrte.
Chapitre 61
Cette page est destine tre une introduction pour l'implmentation d'un niveau d'authentication et de scurit de serveur plus ardue, concentre autour de l'interface web CGI. Il y a de nombreuses faons de personnaliser la scurit de son serveur de Supervision et l'environnement Nagios. Ce qui va venir ne doit pas tre pris comme la nalit de toute approche la scurit. Au lieu de cela, considrez ce qui suit comme une introduction certaines des techniques que vous pouvez utiliser pour grer la scurit de votre systme. Comme toujours, vous devrez faire vos recherches et utiliser les meilleures techniques disponibles. Traitez votre serveur de Supervision comme si c'tait l'lment le plus important dans votre rseau et vous en serez rcompenss.
Ensuite, diter le chier de conguration apache pour Nagios (typiquement /etc/httpd/conf.d/ nagios.conf) en utilisant l'exemple suivant.
## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthType Digest AuthName "Nagios Access" AuthUserFile /usr/local/nagios/etc/.digest_pw Require valid-user </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthType Digest AuthName "Nagios Access" AuthUserFile /usr/local/nagios/etc/.digest_pw Require valid-user </Directory> ## END APACHE CONFIG SNIPPETS
Ensuite, redmarrer le service apache pour que la nouvelle conguration soit prise en compte.
#/etc/init.d/httpd restart
<Directory "/usr/local/nagios/sbin"> ... SSLRequireSSL ... </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> ... SSLRequireSSL ... </Directory> ## END APACHE CONFIG SNIPPETS
# Allow single IP addresses # Allow network/netmask pair # Allow network/nnn CIDR spec
L'authentication par Digest n'est pas totalement compatible avec l'authentication de base . TLS/SSL a le potentiel pour les attaques man-in-the-middle . Les attaques MITM sont vulnrables si l'attaquant est oblig de s'imisser entre le serveur et le client tout comme une attaque par Phishing, l'ISP monitoring ou LAN un certicat de pare-feu arrivant expiration. Lire ci-dessus la vrication des certicats ! Le contrle d'accs apache seulement le protocole HTTP/HTTPS . Veuillez vous rfrer IPtables pour verrouiller votre systme avec des rgles de pare-feu. Trs important, la scurit est un domaine en perptuel mouvement et demande de se rserver du temps pour la recherche et dveloppement ! Peut-tre en vous inscrivant aux newsletters comme Security Now ! .
Chapitre 62
Vous avez nalement russi installer et lancer Nagios et souhaitez savoir comment le rgler plus nement. Rgler Nagios pour amliorer ses performances peut tre ncessaire quand vous commencez superviser un grand nombre (> 1000) d'htes et services. Voici quelques trucs et astuces pour optimiser Nagios
4. Frquence de consolidation des rsultats de contrle. La variable check_result_reaper_frequency dtermine la frquence laquelle Nagios doit vrier la prsence de rsultats de contrles d'htes et de services qui doivent tre traits. Le temps maximum qu'il doit passer traiter ces rsultats est dtermin par la variable temps maximum de consolidation (voir ci-dessous). Si votre frquence de consolidation est trop leve (pas assez frquente), vous pourriez voir apparatre des latences importantes dans les contrles d'htes et de services. 5. Temps maximum de consolidation. La variable max_check_result_reaper_time dtermine le temps maximum que le dmon Nagios peut passer traiter les rsultats de contrles d'htes et de services avant de pouvoir faire autre chose - comme excuter de nouveaux contrles d'htes et de services. Une valeur trop leve peut donner des latences importantes pour les contrles d'htes et de services. Si vous rencontrez des problmes de latences leves, ajustez cette variable et vriez le rsultat de vos rglages. Une nouvelle fois, vous devriez grapher les statistiques avec MRTG pour pouvoir prendre cette dcision. 6. Ajuster la taille du tampon. Vous pouvez avoir rgler la valeur de l'option external_command_buffer_slots . Grapher les statistiques lies au tampon avec MRTG (voir au dessus) est critique pour pouvoir dterminer les valeurs utiliser pour cette option. 7. Vriez la latence des services pour dterminer la meilleure valeur pour le nombre maximal de contrles en parallle. Nagios peut restreindre le nombre maximal de contrles de service excuts en parallle la valeur que vous spciez dans le paramtre max_concurrent_checks . Cela vous permet de grer la charge que Nagios impose votre hte de supervision, mais cela peut aussi ralentir le traitement. Si vous notez des latences importantes (> 10 ou 15 secondes) pour la majorit de vos contrles de service (via le CGI d'informations complmentaires), vous privez sans doute Nagios des contrles dont il a besoin. Ce n'est pas la faute de Nagios - c'est la vtre. Dans des conditions idales, tous les contrles de service ont une latence de 0, ce qui signie qu'ils sont excuts au moment prcis o ils ont t ordonnancs. Ceci dit, il est normal que certains contrles aient de petites latences. Je recommanderais de doubler la valeur que propose Nagios pour le nombre minimal de contrles en parallle, fournie lorsque Nagios est lanc avec le paramtre -s. Continuez augmenter cette valeur tant que la latence moyenne pour vos services reste assez basse. Vous trouverez plus d'informations sur l'ordonnancement des contrles de service ici. 8. Utilisez des contrles passifs chaque fois que c'est possible. La surcharge induite par le traitement des rsultats des contrles passifs de service est bien moindre que celle des contrles actifs normaux, donc prenez cette information en compte si vous supervisez de nombreux services. Notez que les contrles passifs de service ne sont rellement utiles que si une application externe ralise une partie de la supervision ou produit des rapports ; si c'est Nagios qui ralise tout le travail, ceci ne changera rien. 9. Evitez l'utilisation des plugins interprts. L'utilisation de plugins compils (C/C++, etc.) rduira signicativement la charge de votre hte de supervision par rapport aux scripts interprts (Perl, etc.). Si les scripts Perl ou autres sont faciles crire et fonctionnent bien, le fait qu'ils soient compils/interprts chaque excution peut augmenter considrablement la charge de votre hte de supervision lorsque vous avez de nombreux contrles de service. Si vous souhaitez utiliser des plugins Perl, essayez de les compiler en vrais excutables grce perlcc(1) (un utilitaire qui fait partie de la distribution Perl standard) ou essayez de compiler Nagios avec un interprteur Perl intgr (voir ci-dessous). 10. Utilisez l'interprteur Perl intgr. Si vous utilisez de nombreux scripts Perl pour les contrles de service, etc., vous vous apercevrez sans doute qu'en compilant Nagios avec un interprteur Perl intgr vous acclrez les traitements. 11. Optimisez les commandes de contrle d'hte. Si vous contrlez l'tat des htes avec le plugin check_ping, vous vous apercevrez que ces contrles se font bien plus vite en les clatant. Plutt que de spcier une valeur de 1 pour le paramtre max_attempts dans la dnition de l'hte et de dire au plugin check_ping d'envoyer 10 paquets ICMP l'hte, il est bien plus rapide de passer max_attempts 10 et de n'envoyer qu'un paquet ICMP chaque fois. Ceci est d au fait que Nagios peut souvent dterminer l'tat d'un hte aprs n'avoir excut le plugin qu'une fois, il vaut donc mieux que le premier contrle soit le plus rapide possible. Cette mthode prsente des inconvnients dans certaines situations (c.--d. que les htes lents rpondre peuvent tre
considrs comme hors service), mais vous aurez des contrles d'hte plus rapides si vous l'utilisez. Vous pouvez aussi utiliser un plugin plus rapide (c.--d. check_fping) dans le paramtre host_check_command plutt que check_ping. 12. Planiez une vrication rgulire des htes. La planication rgulire de contrles d'htes peut donner un gain de performance Nagios. Cela est d la faon dont la logique de cache des contrles fonctionne (voir ci-dessous). Avant Nagios 3, la planication rgulire des contrles d'htes pouvait avoir un impact trs ngatif sur les performances. Ce n'est plus le cas puisque les contrles d'htes sont excuts en parallle - tout comme les services. Pour planier des contrles rguliers pour un hte, mettez le paramtre check_interval de la dnition d'hte une valeur suprieure 0. 13. Activer le cache pour les contrles d'htes. compter de Nagios 3, les contrles d'htes la demande peuvent bncier de cache. Les contrles d'htes la demande sont dclenchs quand Nagios dtecte un changement d'tat sur un service. Ces contrles sont excuts parce que Nagios veut savoir si l'htes associ au service a chang d'tat. En activant le cache pour les contrles d'htes, vous pouvez gagner en performance. Dans certains cas, Nagios peut tre capable d'utiliser l'tat mise en cache d'un hte, plutt que de rellement excuter le contrle. Cela peut acclrer les choses et rduire la charge du serveur de supervision. Pour mettre en place le cache des contrles d'htes, vous devez ordonnancer des contrles rguliers de vos htes (voir plus haut). Plus d'informations sur le cache pour les contrles d'htes peut tre trouv ici. 14. N'utilisez pas le contrle agressif des htes. Sauf si Nagios a du mal identier les rtablissements d'hte, je recommanderais de ne pas activer le paramtre use_aggressive_host_checking . Quand cette option est dsactive, les contrles s'excutent beaucoup plus vite, acclrant le traitement des rsultats de contrles de service. Cependant, les rtablissements d'htes peuvent tre manqus en certaines circonstances lorsque l'option est dsactive. Par exemple, si un hte se rtablit et que tous les services associs cet hte restent dans un tat non-OK (et ne bagotent pas entre dirents tats non-OK), Nagios peut ne pas voir que l'hte s'est rtabli. Certains utilisateurs peuvent avoir besoin d'activer cette option, mais ce n'est pas le cas pour la majorit, et je recommanderais de ne pas l'utiliser si vous n'en avez pas expressment besoin 15. Augmentez l'intervalle de vrication des commandes externes. Si vous grez beaucoup de commandes externes (p. ex. des vrications passives dans une supervision distribue), vous devrez probablement aecter -1 au paramtre command_check_interval . Cela forcera Nagios vrier les commandes externes aussi souvent que possible. C'est important parce que la plupart des systmes ont une petite taille de tampon pour les tubes de redirections [NdT : pipe] (c.--d. 4 Ko). Les tampons sont utiliss pour conserver les commandes externes lues depuis le chier de commandes externes (par un thread spar) avant d'tre traites par le dmon Nagios. Si celui-ci reoit beaucoup de remontes de contrles passifs, vous pouvez aboutir une situation o le tampon est toujours plein. Le rsultat est que les processus enfant (scripts externes, dmon NSCA, etc.)sont bloqus quand ils essayent d'crire dans le chier de commandes externes. Je vous recommande fortement de grapher le tampon pour les tubes de redirections en utilisant MRTG et l'utilitaire nagiostats comme dcrit ici de faon voir la consommation moyenne du tampon pour les tubes de redirections de votre installation Nagios. 16. Optimisez le matriel pour des performances maximales.
Note Les performances matrielles ne devraient pas poser problme sauf si : (a) Vous supervisez des milliers de services (b) Vous fates beaucoup de post traitement de donnes de performance, etc. La conguration matrielle va aecter directement les performances de votre systme d'exploitation, et donc celles de Nagios. L'amlioration principale que vous puissiez raliser concerne les disques durs. La vitesse du processeur et la mmoire aectent bien videmment les performances, mais les accs disque seront votre goulet d'tranglement le plus frquent. Ne stockez pas les plugins, le journal des tats, etc. sur des disques lents (c.--d. des vieux disques IDE ou des montages NFS). Si vous en avez, utilisez des disques UltraSCSI ou des disques IDE rapides. Une remarque importante pour les utilisateurs de IDE/Linux : bien des installations de Linux n'essaient pas d'optimiser les accs au disque. Si vous ne changez pas les paramtres d'accs au disque (en utilisant un utilitaire comme hdparm), vous perdrez beaucoup des fonctionnalits amliorant la vitesse des nouveaux disques IDE.
Chapitre 63
63.2 Arrire-plan
Nagios doit calculer les chiers de conguration chaque dmarrage/redmarrage avant de pouvoir passer son boulot de supervision. Ce processus de dmarrage implique un certain nombre d'tapes Lecture des chiers de conguration Rsolution des dnitions de gabarits Recalcul de vos objets (le terme employ par Ethan pour indiquer les direntes oprations impliques est recombobulating) Duplication des dnitions d'objets Hritage des proprits d'objets Classement des dnitions d'objets Vrication de l'intgrit des relations entre objets Contrle de rfrences circulaires et bien plus Certaines de ces tapes peuvent se rvler consommatrices en temps quand vous avez des congurations importantes ou complexes. Existe t'il un moyen d'acclrer une de ces tapes ? Oui !
* * * * * * * * *
Timing information on configuration verification is listed below. CONFIG VERIFICATION TIMES (* = Potential for speedup with -x option) ---------------------------------Object Relationships: 1.400807 sec Circular Paths: 54.676622 sec * Misc: 0.006924 sec ============ TOTAL: 56.084353 sec * = 54.676622 sec (97.5%) estimated savings
Ok, voyons ce qui s'est pass. En regardant les totaux, il a fallu peu prs 11,6 secondes pour calculer les chiers de conguration et encore 56 secondes pour vrier cette conguration. Cela implique qu' chaque fois que je vais dmarrer ou redmarrer Nagios, il va se passer presque 68 secondes avant que Nagios ne commence superviser quoi que ce soit ! C'est inacceptable si je dois redmarrer Nagios de faon assez rgulire. Que puis-je faire ? Regardez de nouveau la sortie et vous verrez que Nagios estime qu'il pourrait gagner 8,4 secondes dans le calcul de la conguration et encore 54,7 secondes pour la vrication de celle-ci. Au total, Nagios pense qu'il pourrait gagner 63 secondes sur le temps de dmarrage normal si quelques optimisations taient appliques. Whoa! De 68 secondes 5 secondes ? Et oui, lisez ceci pour savoir comment faire.
La taille de votre chier de pr-cache sera trs certainement suprieure la somme de la taille de vos chiers d'objets de conguration. C'est normal et ainsi pens. Une fois que le chier de pr-cache a t cr, vous pouvez dmarrer Nagios et lui indiquer d'utiliser ce chier plutt que d'utiliser les chiers d'objets de conguration en utilisant l'argument -u la ligne de commande.
# <:b>/usr/local/nagios/bin/nagios -ud / usr/local/nagios/etc/nagios.cfg</b> -
Important Si vous avez modi vos chiers de conguration, vous devrez revrier et recacher vos chiers de conguration avant de pouvoir redmarrer Nagios. Si vous ne le fates pas, Nagios va continuer utiliser votre ancienne conguration parce qu'il la lit dsormais depuis le chier de pr-cache plutt que depuis vos chiers de conguration sources.
Important Il est de la plus haute importance de vrier votre conguration avant de dmarrer/redmarrer Nagios sans vrication des rfrences circulaires. Ne pas le faire pourrait vous conduire dans l'impasse. Vous tes prvenu.
2. Arrtez Nagios s'il est en cours d'excution. 3. Dmarrez Nagios comme ceci de faon utiliser le chier de pr-cache et ne pas faire le contrle des rfrences circulaires.
# /usr/local/nagios/bin/nagios -uxd /usr/local/nagios/etc/nagios.cfg
4. l'avenir, quand vous modiez vos chiers de conguration originaux et que vous avez besoin de redmarrer Nagios pour appliquer ces modications, rptez l'tape 1 pour revrier votre conguration et regnrer le chier de pr-cache. Une fois ceci fait, vous pouvez redmarrer Nagios partir de l'interface web ou en envoyant un signal SIGHUP Si vous ne regnrez pas le . chier de pr-cache, Nagios continuera utiliser votre ancienne conguration parce qu'il la lit depuis le chier de pr-cache plutt que depuis les chiers de conguration sources. 5. Et voil ! Apprciez la vitesse accrue de dmarrage.
Chapitre 64
64.2 Eets
Quand vous activez l'option use_large_installation_tweaks dans votre chier de conguration Nagios, plusieurs choses changent dans le fonctionnement du dmon Nagios : 1. Pas de macros de rsum dans les variables d'environnement - les macros de rsum ne seront pas disponibles comme variables d'environnement. Calculer les valeurs de ces macros peut devenir assez consommateur de temps dans des installations de grande dimension, aussi elles ne sont pas disponibles quand cette option est active. Les macros de rsum resteront disponibles comme toutes les macros si vous les passez en argument de vos scripts. 2. Nettoyage de la mmoire dirent - Habituellement, Nagios va librer tout l'espace mmoire allou aux processus enfants avant de les terminer. C'est certainement la meilleure faon de faire, mais cela n'est pas utile dans la plupart des installations parce que la plupart des OS prennent soin de librer la mmoire alloue quand les processus se terminent. 3. Moins de fork() - Habituellement, Nagios va fork() deux fois quand il excute un contrle d'hte et de service. Cela permet (1) d'avoir une plus grande rsistance contre les plugins qui provoquent des segfault et (2) permet l'OS de grer le nettoyage du processus parent quand il se termine. Le fork() supplmentaire n'est pas forcment ncessaire, aussi est-il ignor quand vous activez cette option. Le rsultat est que c'est Nagios lui-mme qui va nettoyer les processus enfants quand ils se terminent (au lieu de laisser ce boulot l'OS). Cette fonction devrait permettre de rduire de faon signicative la charge du serveur Nagios.
Chapitre 65
Utilisation de Nagiostats
65.1 Introduction
Un utilitaire appel nagiostats est inclus dans la distribution de Nagios. Il est compil et install avec le dmon principal de Nagios. L'utilitaire nagiostats vous permet d'obtenir diverses informations sur le processus Nagios qui peuvent tre trs utiles lors de l'optimisation des performances . Vous pouvez obtenir les informations soit dans un format compatible avec MRTG soit dans un format intelligible.
Services Passively Checked: 1 Total Service State Change: 0.000 / 78.950 / 1.026 % Active Service Latency: 0.000 / 4.272 / 0.561 sec Active Service Execution Time: 0.000 / 60.007 / 2.066 sec Active Service State Change: 0.000 / 78.950 / 1.037 % Active Services Last 1/5/15/60 min: 4 / 68 / 91 / 91 Passive Service State Change: 0.000 / 0.000 / 0.000 % Passive Services Last 1/5/15/60 min: 0 / 0 / 0 / 0 Services Ok/Warn/Unk/Crit: 58 / 16 / 0 / 21 Services Flapping: 1 Services In Downtime: 0 Total Hosts: 24 Hosts Checked: 24 Hosts Scheduled: 24 Hosts Actively Checked: 24 Host Passively Checked: 0 Total Host State Change: 0.000 / 9.210 / 0.384 % Active Host Latency: 0.000 / 0.446 / 0.219 sec Active Host Execution Time: 1.019 / 10.034 / 2.764 sec Active Host State Change: 0.000 / 9.210 / 0.384 % Active Hosts Last 1/5/15/60 min: 5 / 22 / 24 / 24 Passive Host State Change: 0.000 / 0.000 / 0.000 % Passive Hosts Last 1/5/15/60 min: 0 / 0 / 0 / 0 Hosts Up/Down/Unreach: 18 / 4 / 2 Hosts Flapping: 0 Hosts In Downtime: 0 Active Host Checks Last 1/5/15 min: 9 Scheduled: 4 On-demand: 3 Cached: 2 Passive Host Checks Last 1/5/15 min: 0 Active Service Checks Last 1/5/15 min: 9 Scheduled: 9 On-demand: 0 Cached: 0 Passive Service Checks Last 1/5/15 min: 0 / / / / / / / / / / 52 / 164 23 / 75 23 / 69 6 / 20 0 / 0 80 / 244 80 / 244 0 / 0 0 / 0 0 / 0
Comme vous pouvez le constater, l'utilitaire ache un bon nombre de mesures concernant le processus Nagios. Les mesures qui ont des valeurs multiples sont (sauf mention contraire) les valeurs min, max et moyenne pour cette mesure particulire.
Chapitre 66
Les contrles actifs des htes - Ce graphique montre comment les contrles actifs d'htes (rguliers et sur demande) ont eu lieu au cours du temps. Utiles pour la comprhension : Des contrles d'hte Des contrles de prdiction de dpendance d'hte Des contrles mis en cache
Les contrles actifs des services - Ce graphique montre comment les contrles des services actifs (rguliers et sur demande) ont eu lieu au cours du temps. Utiles pour la comprhension : Des contrles de service Des contrles de prdiction de dpendance de service Des contrles mis en cache
Les contrles d'htes et de services mis en cache Ce graphique montre comment les contrles d'htes et de services mis en cache ont eu lieu dans le temps. Utiles pour la comprhension : Des contrles mis en cache Des contrles de prdiction de dpendance d'hte et de service
Les contrles passifs des services - Ce graphique montre comment les contrles des services passifs ont eu lieu au cours du temps. Utiles pour la comprhension : Des contrles passifs
Les htes/services actifs contrls - Ce graphique montre combien (d'un nombre total de) d'hte et de services ont t contrls activement dans le temps. Utiles pour la comprhension : Des contrles actifs
Les htes/services passifs contrls - Ce graphique montre combien (d'un nombre total de) d'hte et de services ont t contrls passivement dans le temps. Utiles pour la comprhension : Des contrles passifs
La latence et le temps d'excution d'un contrle de service - Ce graphique montre la latence moyenne et le temps moyen de l'excution d'un contrle de service dans le temps. Utiles pour la comprhension : Des contrles de service De l'optimisation des performances Une forte latence persistente peut tre l'indication qu'une ou plusieurs des variables suivantes a/ont besoin d'tre modie(s) : max_concurrent_checks check_result_reaper_frequency max_check_result_reaper_time
Le taux moyen de changement d'tat des services Ce graphique montre le pourcentage moyen de changement d'tat (une valeur de la volatilit) des services au cours du temps, ventils par les services qui ont t contrls en dernier activement ou passivement. Utiles pour la comprhension : Dtection d'oscillation
La latence et le temps d'excution d'un contrle d'un hte - Ce graphique montre la latence moyenne et le temps moyen de l'excution d'un contrle d'hte dans le temps. Utiles pour la comprhension : Des contrles d'hte De l'optimisation des performances Une forte latence persistente peut tre l'indication qu'une ou plusieurs des variables suivantes a/ont besoin d'tre modie(s) : max_concurrent_checks check_result_reaper_frequency max_check_result_reaper_time
Le taux moyen de changement d'tat des htes - Ce graphique montre le pourcentage moyen de changement d'tat (une valeur de la volatilit) des htes au cours du temps, ventils par les htes qui ont t contrls en dernier activement ou passivement. Utiles pour la comprhension : Flap detection
Les commandes externes - Ce graphique montre comment les commandes externes ont t traites par le dmon Nagios dans le temps. A moins que vous traitiez un grand nombre de commandes externes (comme dans le cas d'une architecture de supervision distribue), ce graphique semble rester vide. La supervision des commandes externes peut tre utile pour la cromprehension des impacts de : Des contrles passifs La supervision distribue Redondance/Basculement en cas de panne de la supervision
Les tampons de Commandes Externes - Ce graphique montre comment les emplacements mmoire des tampon de commandes externes sont utiliss dans le temps. Si le nombre des tampons utiliss est proche du nombre de tampons disponibles, il semblerait qu'il faille augmenter le nombre d'emplacement mmoire pour les tampons de commandes externes. Chaque emplacement mmoire d'un tampon peut contenir une commande externe. Les tampons sont utiliss pour garder temporairement en mmoire les commandes externes du moment o elles ont t lues partir du chier de commandes externes jusqu' ce qu'elles soient traites par le dmon Nagios.
Huitime partie
Chapitre 67
Pour superviser de nouveaux matriels, services ou applications, regardez les documentations sur : Les plugins Le dveloppement de plugin Les contrles passifs Le gestionnaire d'vnements Pour recevoir dans Nagios les donnes d'appplications externes, regardez les documentations suivantes sur : Les contrles passifs Les commandes externes Pour envoyer des tats, donnes de performance ou des notications de Nagios vers des appplications externes, regardez les documentations suivantes sur : Le gestionnaire d'vnements Les commandes OCSP et OCHP Les donnes de performance Les notications
Chapitre 68
Comme s'il avait t prvu pour faire mourir de rire les Dieux de l'Hypocrisie, SNMP est tout sauf simple. Traduire les interruptions SNMP et les recevoir dans Nagios (comme rsultat de contrle passif) peut tre assez pnible. Pour rendre les choses un peu plus faciles, je vous propose de regarder du ct du projet de Alex Burger, SNMP Trap Translator situ http://www.snmptt.org. Combin avec Net-SNMP, SNMPTT fournit un systme de gestion des interruptions amlior qui peut tre intgr Nagios. Oui, c'est tout.
Chapitre 69
Cet exemple explique comment gnrer aisment des alertes dans Nagios pour des connexions rejetes par un TCP wrapper (encapsuleur TCP). Ces explications supposent que l'hte pour lequel vous gnrez ces alertes (i.e. l'hte sur lequel vous utilisez le TCP wrappers) n'est pas le mme hte que celui sur lequel Nagios est install. Si vous souhaitez gnrer des alertes sur l'hte Nagios, vous aurez besoin de faire quelques modications l'exemple que je vous propose. Je suppose galement que vous avez install le dmon nsca sur la machine de surpervision et le client NSCA (send_nsca) sur la machine qui gnre les alertes TCP wrappers. Il y a quelques pr-requis savoir : 1. Vous tes maintenant familiariser avec Chapitre31 et comment les utiliser. 2. Vous tes maintenant familiariser avec Volatile Services et comment les utiliser. 3. L'hte avec lequel vous allez gnrer des alertes est une machine distance que l'on appellera restorm. Si vous voulez gnrer les alertes TCP Wrapper sur le mme hte que votre serveur de supervision, il faudra adapter vos besoins les exemples ci-dessous. 4. Vous avez install NSCANSCA sur votre serveur de supervision et le client NSCA (send_nsca) sur la machine distance qui enverra des alertes TCP Wrapper.
Tout d'abord vous devez dnir un service dans votre chier de conguration des objets pour les alertes du TCP wrapper. En supposant que l'hte mettant les alertes s'appelle restorm, un exemple de dnition pourrait ressembler quelque chose comme a :
define service { host_name service_description is_volatile active_checks_enabled passive_checks_enabled max_check_attempts check_command ... } firestorm TCP Wrappers 1 0 1 1 check_none
Il est important de noter que 1. le service l'option volatile active. Cette option est active parce que nous voulons qu'une notication soit gnre pour toutes les alertes survenant. 2. Notez galement que les contrles actifs sont dsactivs pour ce service, alors que les contrles passifs sont activs 3. Le max_check_attempts 1 signie que ce service enverra des alertes ds son premier changement d'tat.
Cette ligne suppose qu'il existe un script appell handle_tcp_wrapper dans le rpertoire /usr/local/ nagios/libexec/eventhandlers/ sur restorm. Le rpertoire et le nom du script peuvent tre changs comme vous le voulez.
Notez que le script handle_tcp_wrapper appelle le script submit_check_result pour envoyer des alertes l'hte charg de supervision. Supposons que votre hte de supervision s'appelle monitor, le script submit check_result pourrait ressembler ceci (vous devrez ventuellement modier le script pour spcier l'emplacement du programme send_nsca sur restorm) :
#!/bin/sh # Arguments # $1 = name of host in service definition # $2 = name/description of service in service definition # $3 = return code # $4 = outputs
69.5 Finition
Maintenant que vous avez congur tout ce dont vous avez besoin, vous devez redmarrer le processus inetd sur restorm et redmarrer Nagios sur votre serveur de supervision. C'est tout ! Quand le TCP wrapper sur restorm refusera une connexion, vous devriez recevoir des alertes via Nagios. Cela ressemblera a : Denied sshd2-sdn-ar-002mnminnP321.dialsprint.net
Neuvime partie
Complments Nagios
Chapitre 70
Addons Nagios
70.1 Introduction
Il existe beaucoup d'addons disponibles pour Nagios. Les addons peuvent tre utiliss pour tendre les fonctionnalits de Nagios ou pour l'intgrer d'autres applications. Des addons sont disponibles pour : Grer les chiers de conguration au travers de l'interface web Superviser des htes distants (*NIX, Windows, etc.) Soumettre des contrles passifs depuis un hte distant Simplier/tendre la logique de notication et bien plus encore Vous pouvez trouver beaucoup d'addons pour Nagios en visitant : Nagios.org SourceForge.net NagiosExchange.org Je vous vous faire une brve introduction quelques addons que j'ai dvelopp pour Nagios
70.2
NRPE
NRPE est un addon qui permet d'excuter des plugins sur des htes distants de type Linux/Unix. C'est utile quand vous avez besoin des ressources/attributs locaux comme l'utilisation disque, la charge CPU, l'utilisation mmoire, etc. sur un hte distant. La mme possibilit peut tre obtenue avec le plugin check_by_ssh mme si celui-ci impose une charge CPU plus importante sur le serveur de supervision, surtout si vous supervisez des centaines ou des milliers d'htes. L'addon NRPE et sa documentation peuvent trouvs sur http://www.nagios.org/.
70.3
NSCA
NSCA est un addon qui permet d'envoyer les rsultats de contrles passifs provenant d'htes distants de type Linux/Unix au dmon Nagios qui fonctionne sur le serveur de supervision. C'est trs utile dans les environnements distribus et les environnements redonds. L'addon NSCA et sa documentation peuvent trouvs sur http://www.nagios.org/.
70.4
NDOUtils
NDOUtils est un addon qui permet de stocker toutes les informations d'tats de Nagios dans une base MySQL. Plusieurs instances de Nagios peuvent stocker leurs informlations dans une base centrale pour faire du reporting centralis. Cela a de grandes chances d'tre utilis dans le futur pour la nouvelle interface web PHP de Nagios. NDOUtils et sa documentation peuvent tre trouvs sur http://www.nagios.org/.
Dixime partie
Dveloppement
Chapitre 71
Note Si l'option use_aggressive_host_checking est active, les codes de retour 1 donneront un tat DOWN ou UNREACHABLE pour l'hte. Sinon, les codes de retour 1 donneront un tat UP pour l'hte. Le processus par lequel Nagios dtermine si une machine est DOWN ou UNREACHABLE est trait ici.
Si le plugin est utilis pour eectuer un contrle d'un service, la ligne entire de sortie sera crite dans la macro $SERVICEOUTPUT$. Cas 2 : Une ligne en sortie (texte et donnes de performance) Un plugin peut retourner optionnelement des donnes de performance pouvant tre utilises par des applications externes. Pour ce faire, les donnes de performance doivent tre spares du texte par un 'pipe' ou 'tube' ( | ) comme ceci :
DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968
Si le plugin est utilis pour eectuer un contrle de service, la partie en rouge du message de sortie du plugin ( gauche du sparateur 'pipe') sera crite dans la macro $SERVICEOUTPUT$ et la partieorangedu message de sortie du plugin ( droite du sparateur 'pipe' ) sera crite dans la macro $SERVICEPERFDATA$ . Cas 3 : Plusieurs lignes de sortie (texte et donnes de performance) Un plugin peut optionnellement retourner plusieurs lignes de texte et de donnes de performance, comme suit :
DISK OK - free space: / 3326 MB (56%);|/=2643MB;5948;5958;0;5968/ 15272 MB (77%);/boot 68 MB (69%);/home 69357 MB (27%);/var/log 819 MB (84%);|/boot=68MB;88;93;0;98/home=69357 MB;253404;253409;0;253414 /var/log=818MB;970;975;0;980 -
Si le plugin est utilis pour eectuer un contrle de service, la partie en rouge de la premire ligne du message de sortie du plugin ( gauche du sparateur 'pipe') sera crite dans la macro $SERVICEOUTPUT$. Les parties oranges de la premire ligne et suivantes seront concatnes (avec des espaces) et seront stockes dans la macro $SERVICEPERFDATA$. es parties bleues de la 2me la 5me ligne du message de sortie du plugin seront concatnes (avec comme sparateur le caractre 'nouvelle ligne' [ ] ) et seront stockes dans la macro $LONGSERVICEOUTPUT$. Le contenu nal de chaque macro est list ci-dessous: Macro $SERVICEOUTPUT$ $SERVICEPERFDATA$ $LONGSERVICEOUTPUT$
Valeur DISK OK - free space : / 3326 MB (56%) ; /=2643MB;5948;5958;0;5968/boot=68MB;88;93;0;98 / 15272 MB (77%) ;\n/boot 68 MB (69%) ;\n/var/log 819 MB (84%) ;
Dans le cas de plusieurs lignes en sortie, vous disposez des options suivantes pour retourner les donnes de performance : Vous pouvez choisir de ne pas retourner de donnes de performance Vous pouvez retourner des donnes de performances seulement sur la premire ligne Vous pouvez retourner des donnes de performance seulement sur les lignes suivantes (aprs la premire) Vous pouvez retourner des donnes de performance aussi bien sur la premire ligne que les suivantes (comme montr si dessous)
71.7 Exemples
Si vous tes la recherche d'exemples de plugins tudier, Je vous recommande de tlcharger les plugins ociels Nagios et de jeter un il sur les dirents scripts des plugins en C, Perl ou encore Shell. Des information sur l'obtention des plugins Nagios ociels peuvent tre trouves ici.
Chapitre 72
72.3 Les choses que vous devriez faire quand vous dveloppez un plugin Perl (ePN ou pas)
Gnrez toujours un achage Utilisez use utils et importez ce qui en est export ($TIMEOUT %ERRORS &print_revision &support) Jetez un il sur la faon dont sont crits les plugins Perl standards, comme par exemple : Quittez toujours avec une valeur $ERRORS{CRITICAL}, $ERRORS{OK}, etc. Utilisez getopt pour lire les paramtres de la ligne de commande Grez les dpassements de dlai Appelez print_usage (que vous fournissez) quand il n'y a pas de paramtre la commande Utilisez des noms de paramtres standard (par exemple H 'host', V 'version')
72.4 Ce que vous devez faire quand vous crivez un plugin Perl pour ePN
1. <DATA> ne peut pas tre utilis ; utilisez ici des documents la place, par exemple :
my $data = <<DATA; portmapper 100000 portmap 100000 sunrpc 100000 rpcbind 100000 rstatd 100001 rstat 100001 rup 100001 .. DATA %prognum = map { my($a, $b) = split; ($a, $b) } split(/\n/, $data) ;
2. BEGIN Les blocks ne fonctionneront pas comme vous l'attendez. Il vaut mieux les viter. 3. Assurez-vous de la parfaite propret du code la compilation, comme par exemple utilisez use strict utilisez perl -w (les autres paramtres (notamment T) ne sont d'aucune aide) utilisez perl -c 4. Evitez les variables de porte lexicale (my) dclares globalement comme moyen de passer des variable aux fonctions. En fait ceci est fatal si la fonction est appele par le plugin plus d'une fois lorsque le contrle est excut. Ces fonctions se comportent comme des encapsulations [closures] qui verrouillent les variables lexicales globales sur leur premire valeur lors des appels suivants la fonction. Si toutefois votre variable globale est en lecture seule (une structure de donnes complexe par exemple), ce n'est pas un problme. Ce que Bekman recommande en remplacement est une des solutions suivantes : faites une fonction anonyme et appelez-la travers une rfrence au code, par exemple :
remplacez ceci par
my $x = 1 ; my $x = 1 ; sub a { .. Process $x } $a_cr = sub { Process $x } ; . . . . a ; &$a_cr ; $x = 2 $x = 2 ; a ; &$a_cr ; # les encapsulations anonymes reprennent __toujours__ la valeur lexicale courante
mettez la variable globale et la fonction qui l'utilise dans leur propre paquetage [package] (comme objet ou module) passez les variables aux fonctions comme rfrences ou alias (\$lex_var or $_[n]) remplacez les variables lexicales par des variables globales au paquetage et excluez les des objections faites par 'use strict' en dclarant 'use vars qw(global1 global2 ..)' 5. Sachez o trouvez plus d'informations. Vous pouvez obtenir des informations utiles des indices habituels (les livres O'Reilly, plus Object Oriented Perl de Damien Conways) mais pour les bonnes rponses dans ce contexte commencez par le guide du mod_perl de Stas Bekman sur http://perl.apache.org/guide/.
Ce document merveilleux au format livre n'a strictement rien voir avec Nagios, mais tout voir avec l'criture de programmes pour l'interprteur Perl intgr Apache (par exemple le mod_perl de Doug MacEachern). La page man perlembed est essentielle pour le contexte et les encouragements. Si l'on considre que Lincoln Stein et Doug MacEachern savent deux-trois choses sur Perl et l'intgration de Perl, leur livre Writing Apache Modules with Perl and C vaut certainement d'tre lu. 6. Sachez que votre plugin peut retourner d'tranges valeurs avec ePN, et que cela est probablement d au point 4 ci-dessus. 7. Soyez prt dboguer en : ayant un ePN de test ajoutant des instructions print votre plugin pour acher la valeur des variables sur STDERR (STDOUT ne peut pas tre utilis) ajoutant des instructions print p1.pl pour acher ce qu'ePN pense qu'est votre plugin avant d'essayer de le lancer (vi) lanant l'ePN en avant-plan (probablement en conjonction avec les recommandations prcdentes) utilisant le module Deparse sur votre plugin pour voir comment l'analyseur syntaxique l'a optimis, et ce que l'interprteur reoit rellement (voir Constants in Perl de Sean M. Burke, The Perl Journal, automne 2001)
perl -MO::Deparse <votre_programme>
8. Sachez qu'ePN transforme votre plugin lui aussi, et si tout le reste a chou essayez de dboguer la version transforme. Comme vous pouvez le constater ci-dessous p1.pl rcrit votre plugin comme une fonction appel 'hndlr' dans le paquetage nomm Embed : :<quelque-chose-ayant-rapport-avec-le-nom-dechier-de-votre-plugin>. Votre plugin attend peut-tre des paramtres de la ligne de commande dans @ARGV, donc pl.pl assigne galement @_ @ARGV. Ceci son tour est valu et si eval remonte une erreur (qu'elle soit syntaxique ou d'excution), le plugin est jet dehors. La copie d'cran suivante montre comment un ePN de test a transform le plugin check_rpc avant d'essayer de l'excuter. Seule une petite partie du code du plugin est montre ici, car nous ne nous intressons qu'aux transformations que l'ePN lui fait subir). Les transformations sont aches en rouge :
package main; use subs 'CORE::GLOBAL::exit'; sub CORE::GLOBAL::exit { die "ExitTrap: $_[0] (Embed::check_5frpc)"; } package Embed::check_5frpc; sub hndlr { shift(@_); @ARGV=@_; #! /usr/bin/perl -w # # check_rpc plugin for Nagios # # usage: # check_rpc host service # # Check if an rpc serice is registered and running # using rpcinfo - $proto $host $prognum 2>&1 |"; # # Use these hosts.cfg entries as examples # # command[check_nfs]=/some/path/libexec/check_rpc $HOSTADDRESS$ nfs # service[check_nfs]=NFS;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_rpc
# # initial version: 3 May 2000 by Truongchinh Nguyen and Karl DeBisschop # current status: $Revision: 1.19 $ # # Copyright Notice: GPL # rest of plugin code goes here (it was removed for brevity) }
9. Ne pas utiliser use diagnostics dans un plugin lanc par votre ePN de production. Je pense qu'il force la valeur de retour CRITICAL dans tous les plugins Perl. 10. Envisagez l'utilisation d'un mini Perl intgr pour vrier votre plugin. Cela ne sut pas valider votre plugin avec l'ePN, mais si le plugin choue ce test il chouera galement avec l'ePN. Un exemple de mini ePN est inclus dans le rpertoire contrib/ de la distribution de Nagios cette n. Placez-vous dans le rpertoire contrib/ et tapez make mini_epn pour le compiler. Il doit tre excut depuis le rpertoire o se trouve p1.pl (ce chier est distribu avec Nagios).
Chapitre 73
Glossaire
Ce glossaire, lexique dnit les termes utiliss dans la documentation.
A
Addon Un addon est un logiciel prvu pour fonctionner avec Nagios et qui en tend les possibilits, fonctionnalits.
C
Contact Le contact permet de dterminer qui est prvenu lors d'un problme sur un hte ou un service
H
Hte Un hte est tout lment actif du rseau dont l'tat peut tre dni (up, down,unreachable). Gnralement, tout lment actif du rseau possdant une addresse IP est considr comme hte.
N
NRPE Voir "Nagios Remote Plugin Executor". Nagios Remote Plugin Executor (NRPE) NRPE est le composant de Nagios qui permet de dclencher une prise de mesure active sur un hte distant. C'est un lment de supervision de type actif.
P
Plugin Un plugin est un script crit dans n'importe quel langage capable de renvoyer Nagios un tat, un indicateur.
S
Service Au sens Nagios du terme, un service est....
Chapitre 74
Index
A API, 9, 10 C CGI, 2, 7, 10, 20, 31, 61--63, 65--67, 97, 109, 112, 113, 115, 117, 120--122, 125, 137-141, 144--148, 150--155, 221--230, 232, 233, 311, 312, 334, 336, 338 D Debian, 30, 31 F Fedora, 17, 20, 26 M Macros $ADMINEMAIL$, 98, 189 $ADMINPAGER$, 189 $ARGn$, 165, 189, 334 $COMMANDFILE$, 188 $COMMENTDATAFILE$, 188 $CONTACTADDRESSn$, 182 $CONTACTALIAS$, 182 $CONTACTEMAIL$, 125, 182 $CONTACTGROUPALIAS$, 5, 183 $CONTACTGROUPMEMBERS$, 5, 183 $CONTACTGROUPNAMES$, 5, 183 $CONTACTGROUPNAME$, 5, 183 $CONTACTNAME$, 123, 182 $CONTACTPAGER$, 125, 182 $DATE$, 187 $DOWNTIMEDATAFILE$, 188 $EVENTSTARTTIME$, 5, 189 $HOSTACKAUTHORALIAS$, 11, 175 $HOSTACKAUTHORNAME$, 11, 175 $HOSTACKAUTHOR$, 98, 175 $HOSTACKCOMMENT$, 98, 176 $HOSTACTIONURL$, 5, 164, 176 $HOSTADDRESS$, 109, 150, 172 $HOSTALIAS$, 109, 172 $HOSTATTEMPT$, 173 $HOSTCHECKCOMMAND$, 175 $HOSTDISPLAYNAME$, 5, 172 $HOSTDOWNTIME$, 174 $HOSTDURATIONSEC$, 174 $HOSTDURATION$, 174 $HOSTEVENTID$, 4, 11, 173 $HOSTEXECUTIONTIME$, 174 $HOSTGROUPACTIONURL$, 177 $HOSTGROUPALIAS$, 176 $HOSTGROUPMEMBERS$, 176 $HOSTGROUPNAMES$, 11, 174 $HOSTGROUPNAME$, 174 $HOSTGROUPNOTESURL$, 177 $HOSTGROUPNOTES$, 177 $HOSTLATENCY$, 174 $HOSTNAME$, 109, 172, 176, 181 $HOSTNOTESURL$, 5, 164, 176 $HOSTNOTES$, 5, 164, 176 $HOSTNOTIFICATIONID$, 4, 11, 186 $HOSTNOTIFICATIONNUMBER$, 5, 186 $HOSTOUTPUT$, 98, 175, 289, 334 $HOSTPERCENTCHANGE$, 174 $HOSTPERFDATAFILE$, 188 $HOSTPERFDATA$, 98, 175, 288, 289, 334 $HOSTPROBLEMID$, 5, 173 $HOSTSTATEID$, 172 $HOSTSTATETYPE$, 173 $HOSTSTATE$, 172 $ISVALIDTIME:$, 5, 187 $LASTHOSTCHECK$, 174 $LASTHOSTDOWN$, 175 $LASTHOSTEVENTID$, 5, 11, 173 $LASTHOSTPROBLEMID$, 5, 174 $LASTHOSTSTATECHANGE$, 175 $LASTHOSTSTATEID$, 5, 173 $LASTHOSTSTATE$, 5, 172 $LASTHOSTUNREACHABLE$, 175 $LASTHOSTUP$, 175 $LASTSERVICECHECK$, 179 $LASTSERVICECRITICAL$, 180 $LASTSERVICEEVENTID$, 5, 11, 178 $LASTSERVICEOK$, 180 $LASTSERVICEPROBLEMID$, 5, 179 $LASTSERVICESTATECHANGE$, 180 $LASTSERVICESTATEID$, 5, 177
$LASTSERVICESTATE$, 5, 177 $LASTSERVICEUNKNOWN$, 180 $LASTSERVICEWARNING$, 180 $LOGFILE$, 188 $LONGDATETIME$, 187 $LONGHOSTOUTPUT$, 4, 9, 175 $LONGSERVICEOUTPUT$, 4, 9, 180, 370 $MAINCONFIGFILE$, 188 $MAXHOSTATTEMPTS$, 5, 173 $MAXSERVICEATTEMPTS$, 5, 178 $NEXTVALIDTIME:$, 5, 188 $NOTIFICATIONAUTHORALIAS$, 5, 185, 190 $NOTIFICATIONAUTHORNAME$, 5, 185, 190 $NOTIFICATIONAUTHOR$, 5, 185, 190 $NOTIFICATIONCOMMENT$, 5, 186, 190 $NOTIFICATIONISESCALATED$, 5, 185 $NOTIFICATIONRECIPIENTS$, 5, 185 $NOTIFICATIONTYPE$, 7, 175, 176, 180, 181, 185, 186 $OBJECTCACHEFILE$, 188 $PROCESSSTARTTIME$, 189 $RESOURCEFILE$, 188 $RETENTIONDATAFILE$, 188 $SERVICEACKAUTHORALIAS$, 11, 181 $SERVICEACKAUTHORNAME$, 11, 180 $SERVICEACKAUTHOR$, 98, 180 $SERVICEACKCOMMENT$, 98, 181 $SERVICEACTIONURL$, 5, 164, 181 $SERVICEATTEMPT$, 178 $SERVICECHECKCOMMAND$, 180 $SERVICEDESC$, 177, 181 $SERVICEDISPLAYNAME$, 5, 177 $SERVICEDOWNTIME$, 179 $SERVICEDURATIONSEC$, 179 $SERVICEDURATION$, 179 $SERVICEEVENTID$, 4, 11, 178 $SERVICEEXECUTIONTIME$, 179 $SERVICEGROUPALIAS$, 181 $SERVICEGROUPMEMBERS$, 181 $SERVICEGROUPNAMES$, 11, 179 $SERVICEGROUPNAME$, 179 $SERVICEGROUPNOTESURL$, 182 $SERVICEGROUPNOTES$, 182 $SERVICEISVOLATILE$, 5, 178 $SERVICELATENCY$, 179 $SERVICENOTESURL$, 5, 164, 181 $SERVICENOTES$, 5, 164, 181 $SERVICENOTIFICATIONID$, 4, 11, 187 $SERVICENOTIFICATIONNUMBER$, 5, 186 $SERVICEOUTPUT$, 98, 180, 289, 334, 369, 370 $SERVICEPERCENTCHANGE$, 179 $SERVICEPERFDATAFILE$, 188 $SERVICEPERFDATA$, 98, 180, 288, 289, 334, 369, 370 $SERVICEPROBLEMID$, 5, 178
$SERVICESTATEID$, 177 $SERVICESTATETYPE$, 178 $SERVICESTATE$, 177 $SHORTDATETIME$, 187 $STATUSDATAFILE$, 188 $TEMPFILE$, 188 $TEMPPATH$, 4, 188 $TIMET$, 187 $TIME$, 187 $TOTALHOSTPROBLEMSUNHANDLED$, 184 $TOTALHOSTPROBLEMS$, 184 $TOTALHOSTSDOWNUNHANDLED$, 183 $TOTALHOSTSDOWN$, 183 $TOTALHOSTSERVICESCRITICAL$, 5, 176 $TOTALHOSTSERVICESOK$, 5, 176 $TOTALHOSTSERVICESUNKNOWN$, 5, 176 $TOTALHOSTSERVICESWARNING$, 5, 176 $TOTALHOSTSERVICES$, 5, 176 $TOTALHOSTSUNREACHABLEUNHANDLED$, 183 $TOTALHOSTSUNREACHABLE$, 183 $TOTALHOSTSUP$, 183 $TOTALSERVICEPROBLEMSUNHANDLED$, 184 $TOTALSERVICEPROBLEMS$, 184 $TOTALSERVICESCRITICALUNHANDLED$, 184 $TOTALSERVICESCRITICAL$, 184 $TOTALSERVICESOK$, 184 $TOTALSERVICESUNKNOWNUNHANDLED$, 184 $TOTALSERVICESUNKNOWN$, 184 $TOTALSERVICESWARNINGUNHANDLED$, 184 $TOTALSERVICESWARNING$, 184 $USERn$, 66, 129, 189, 334 MRTG, 48, 51, 72, 305--307, 340, 342, 349, 350, 352 N Nagios, 198--202 NRPE, 41, 334, 366 NSCA, 201, 247, 342, 361, 366 O openSUSE, 22, 25 P Paramtres de conguration retry_interval, 9 Plugins check_by_ssh, 41, 366 check_cluster, 276, 277 check_dns, 276 check_dummy, 244, 251 check_fping, 342 check_ftp, 56
check_hpjd, 43--45 check_http, 55, 163, 286 check_imap, 58 check_mrtgtraf, 48, 51 check_nagios, 252 check_nrpe, 257 check_nt, 34, 38 check_ping, 289, 341, 342 check_pop, 57 check_rpc, 373 check_smtp, 57 check_snmp, 48, 50, 51 check_ssh, 56 Protocoles DHCP 162 , DNS, 104, 109, 275, 276 FTP 33, 40, 53, 55, 56, 104, 162 , HTTP 2, 33, 40, 53, 55, 104, 115, 162, 191, , 236, 337, 339 HTTPS, 337, 339 ICMP 341 , IMAP 53, 58, 162 , IMAP4, 58 NTP 2 , POP3, 2, 33, 53, 57, 58, 104, 162 SMTP 2, 40, 57, 115 , SNMP 43--45, 47, 48, 50, 51, 53, 142, 198, , 240, 334, 360 SSH, 40, 41, 53, 56, 57, 104, 162, 332, 336 U Ubuntu, 26, 27, 29--31 W WAP 150, 223 ,