Professional Documents
Culture Documents
FR - FR - Nagios 3.x Beta 8 PDF
FR - FR - Nagios 3.x Beta 8 PDF
Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
i
Nagios and the Nagios logo are registered trademarks of Ethan Galstad. All other trademarks, service-
marks, 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 DE-
SIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
iii
INDEXATION DU DOCUMENT
TITRE :
SUIVI DU DOCUMENT
I propos 1
1 propos de Nagios 2
1.1 Qu'est-ce que c'est ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Pr-requis au niveau du systme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Tlchargement de la dernire version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.18Contrles de la fracheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.19IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.20Priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.21Module de courtage d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.22Interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.23Information de dbogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.24Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Problmes connus 13
3.1 Problmes connus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
II Dmarrage 14
16 Survol de la conguration 61
16.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
16.2Fichier de conguration principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
16.3Fichier de conguration des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
16.4Fichier de dnition des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
16.5Fichier de conguration des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
ix
17.3.36log_service_retries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
17.3.37log_host_retries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
17.3.38log_event_handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
17.3.39log_initial_states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
17.3.40log_external_commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
17.3.41log_passive_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
17.3.42global_host_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
17.3.43global_service_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
17.3.44sleep_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
17.3.45service_inter_check_delay_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
17.3.46max_service_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
17.3.47service_interleave_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
17.3.48max_concurrent_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
17.3.49check_result_reaper_frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
17.3.50max_check_result_reaper_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
17.3.51check_result_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
17.3.52max_check_result_le_age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
17.3.53host_inter_check_delay_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
17.3.54max_host_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
17.3.55interval_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
17.3.56auto_reschedule_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
17.3.57auto_rescheduling_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
17.3.58auto_rescheduling_window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
17.3.59use_aggressive_host_checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
17.3.60translate_passive_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
17.3.61passive_host_checks_are_soft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
17.3.62enable_predictive_host_dependency_checks . . . . . . . . . . . . . . . . . . . . . . . 84
17.3.63enable_predictive_service_dependency_checks . . . . . . . . . . . . . . . . . . . . . 84
17.3.64cached_host_check_horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
17.3.65cached_service_check_horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
17.3.66use_large_installation_tweaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
17.3.67free_child_process_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
17.3.68child_processes_fork_twice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
17.3.69enable_environment_macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
17.3.70enable_ap_detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
17.3.71low_service_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
17.3.72high_service_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
17.3.73low_host_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
17.3.74high_host_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xi
17.3.75soft_state_dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
17.3.76service_check_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
17.3.77host_check_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
17.3.78event_handler_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
17.3.79notication_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
17.3.80ocsp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
17.3.81ochp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
17.3.82perfdata_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
17.3.83obsess_over_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
17.3.84ocsp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
17.3.85obsess_over_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
17.3.86ochp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
17.3.87process_performance_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
17.3.88host_perfdata_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
17.3.89service_perfdata_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
17.3.90host_perfdata_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.3.91service_perfdata_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.3.92host_perfdata_le_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.3.93service_perfdata_le_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.3.94host_perfdata_le_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
17.3.95service_perfdata_le_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
17.3.96host_perfdata_le_processing_interval . . . . . . . . . . . . . . . . . . . . . . . . . . 93
17.3.97service_perfdata_le_processing_interval . . . . . . . . . . . . . . . . . . . . . . . . . 93
17.3.98host_perfdata_le_processing_command . . . . . . . . . . . . . . . . . . . . . . . . . 94
17.3.99service_perfdata_le_processing_command . . . . . . . . . . . . . . . . . . . . . . . 94
17.3.100
check_for_orphaned_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
17.3.101
check_for_orphaned_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
17.3.102
check_service_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
17.3.103
service_freshness_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
17.3.104
check_host_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
17.3.105
host_freshness_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
17.3.106
additional_freshness_latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
17.3.107
enable_embedded_perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
17.3.108
use_embedded_perl_implicitly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
17.3.109
date_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
17.3.110
use_timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
17.3.111
illegal_object_name_chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
17.3.112
illegal_macro_output_chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
17.3.113
use_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xii
17.3.114
use_true_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
17.3.115
admin_email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
17.3.116
admin_pager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
17.3.117
event_broker_options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
17.3.118
broker_module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
19.4.10.4
Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
19.4.11Dnitions de dpendance d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
19.4.11.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
19.4.11.2
Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
19.4.11.3
Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
19.4.11.4
Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
19.4.12Dnition d'escalade d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
19.4.12.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
19.4.12.2
Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
19.4.12.3
Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
19.4.12.4
Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
19.4.13Dnition des informations tendues d'htes . . . . . . . . . . . . . . . . . . . . . . 137
19.4.13.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
19.4.13.2
Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
19.4.13.3
Exemple de dnition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
19.4.13.4
Descriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
19.4.14Dnition des informations tendues de services . . . . . . . . . . . . . . . . . . . . 139
19.4.14.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
19.4.14.2
Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
19.4.14.3
Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
19.4.14.4
Descriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
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
Ressources utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
59 Trucs et astuces gain de temps dans les dnitions de modles d'objets 322
59.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
59.2Correspondance avec des expressions rgulires . . . . . . . . . . . . . . . . . . . . . . . . 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxiv
X Dveloppement 367
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 375
74 Index 377
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxvii
Premire partie
propos
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
2 / 379
Chapitre 1
propos de Nagios
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 sys-
tmes 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 prob-
lmes.
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 notica-
tions et problmes, le chier journal, etc.
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.3 Licence
Nagios est licenci sous les termes de la version 2 de la GNU General Public License telle que pub-
lie 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.6 Support
Options de support
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
4 / 379
Chapitre 2
Important
Assurez vous de lire la documentation et la FAQ sur nagios.org avant de poser des questions
sur les mailing lists.
L'historique des changements de Nagios peut tre trouv en ligne sur http://www.nagios.org/development/-
changelog.php ou dans le chier Changelog situ la racine de la distribution base sur les sources.
2.2.1 Documentation
2.2.2 Macros
$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 $SERVICE-
ACTIONURL$.
Les macros sont normalement disponibles comme variables d'environnement quand les contrles,
gestionnaires d'vnements, notications et autres commandes sont excutes. Ceci est plutt con-
sommateur 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_envir-
onment_macros .
Des informations sur les macros peuvent tre trouves ici.
Les informations concernant les arrts programms ne sont plus stockes dans leur propre chier
de conguration (prcdemment dnies par le paramtre downtime_file dans le chier de con-
guration principal). Les informations concernant les arrts programms courants et retenus sont
maintenant stockes respectivement dans les chiers status le et retention le .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
6 / 379
2.2.4 Commentaires
Les commentaires de services et d'htes ne sont plus stocks dans leur propre chier (prcdem-
ment 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 sup-
prims quand l'acquittement est fait. Ils taient prcdemment automatiquement supprims au
redmarrage de nagios, ce qui n'tait pas idal.
Les informations d'tat des contacts individuels sont dornavant conserves chaque redmarrage.
Les ID de commentaires et de mise en maintenance sont maintenant conservs entre les redmar-
rages et doivent tre uniques tant que les donnes de rtention ne sont pas supprimes ou ignores
Ajout des variables retained_host_attribute_mask et retained_service_attribute_mask permettant de
contrler quels attributs d'hte/service sont conservs entre chaque redmarrage.
Ajout des variables retained_process_host_attribute_mask et retained_process_service_attribute_mask
an de contrler quels attributs de processus sont conservs entre chaque redmarrage.
Ajout des variables retained_contact_host_attribute_mask et retained_contact_service_attribute_mask
an de contrler quels attributs de contact sont conservs entre chaque redmarrage.
L'ajout d'une nouvelle commande externe, PROCESS_FILE, permet le traitement de commandes ex-
ternes places dans un chier. Utile pour traiter de larges quantits de contrles passifs retournant
de grandes quantits de donnes, ou pour scripter des commandes. De plus amples informations
peuvent tre trouves ici.
Les commandes personnalises doivent maintenant tre soumises par Nagios. Les noms des com-
mandes personnalises sont prxes par un underscore (_) et ne sont pas traites en interne par
le dmon Nagios. Elle devraient, malgr tout, tre traites par un module NEB charg.
L'option check_external_commands est maintenant active par dfaut, ce qui signie que Nagios
est congur d'origine pour vrier les commandes externes. Toutes les versions de Nagios an-
trieures la version 2.x avaient cette option dsactive par dfaut.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
7 / 379
La planication des vrications pour les htes et les services peut maintenant tre modie la
vole l'aide d'une commande externe (CHANGE_HOST_CHECK_TIMEPERIOD ou CHANGE_SVC_CHECK_-
TIMEPERIOD). Vous pouvez consulter cette page pour les commandes adaptatives de supervision.
2.2.11 Notications
Des dpendances de services peuvent maintenant tre cres an de facilement dnir les mme
dpendances de services sur un ou plusieurs htes. (Plus d'information ici. )
Les dnitions tendues d'hte et de service (respectivement hostextinfo et serviceextinfo) ont
t abondonnes. Toutes les valeurs des dnitions tendues ont t intgres dans les dnitions
d'hte et de service. Nagios 3 continuera lire et traiter les anciennes dnitions tendues, mais
journalisera un warning. Les versions futures de Nagios (4.x et postrieures) ne supporteront plus
des dnitions tendues spares.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
8 / 379
Vous pouvez dsormais hriter des variables/valeurs d'objet de plusieurs modles en prcisant
plus d'un nom de modle dans la variable use des dnitions d'objets. Cela permet des rglages
d'hritage particulirement puissants (et complexes). (En savoir plus )
Les services hritent dsormais des groupes de contacts, des intervalles de notications et des
priodes de notications de l'hte auxquels ils sont associs si non prcis au niveau du service.
(En savoir plus )
Les escalades d'htes et de services hritent dsormais des groupes de contacts, des intervalles de
notications et des priodes d'escalades de l'hte ou du service auxquels ils sont associs si non
prcis ailleurs. (En savoir plus )
Les variables de chaines dans les dnitions d'htes, de services et de contacts peuvent dsormais
ne pas tre hrites en prcisant la valeur null (sans les guillemets) pour la valeur de la variable.
(En savoir plus )
La plupart des variables de chanes dans les dnitions locales d'objets peuvent dsormais tre
ajoutes aux valeurs de chaines dont elles hritent. C'est plutt utile sur des grandes installations.
(En savoir plus)
Ajout de la possibilit de mettre en cache l'avance les chiers d'objets de conguration et d'exclure
la dtection de chemin circulaire du processus de vrication de conguration. Cela peut grande-
ment amliorer le temps de dmarrage de Nagios comprenant de nombreux htes et services ! En
savoir plus ici.
Une nouvelle option use_large_installation_tweaks a t ajoute qui devrait permettre d'amliorer
les performances sur les Nagios comprenant de nombreux htes et services. En savoir plus ici.
Un nombre d'amliorations internes ont t faites sur la faon dont Nagios traite les relations d'ob-
jets (par exemple hte et service) et les structures de donnes internes. Ces amliorations devraient
donner un gain de vitesse sur les installations comprenant de nombreux htes et services.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
9 / 379
Le message retour d'un plugin peut dsormais tre multi-ligne pour les contrles d'htes et de ser-
vices. Hourra ! L'API a t mise jour pour supporter plusieurs lignes tout en conservant une com-
patibilit antrieure avec les plugins plus anciens. Les lignes supplmentaires de message (aprs
la premire ligne) sont maintenant stockes dans les nouvelles macros $LONGHOSTOUTPUT$ et $LO-
NGSERVICEOUTPUT$.
La longueur maximale d'un message retour de plugin a t augmente 4K ( la place d'environ
250 bits dans les versions prcdentes). Cette limite de 4K a t choisie arbitrairement de faon
protger Nagios de plugins partant en vrille et lui renvoyant trop de donnes.
Vous pouvez trouver plus d'informations sur les plugins, les sorties multi-lignes et la longueur max-
imale d'un message retour ici.
Les contrles d'htes sont dsormais parallliss ! Les contrles d'htes taient eectus en srie,
ce qui impliquait un holdup majeur en termes de performance. Plus maintenant ! (En savoir plus )
Les ressais de contrles d'htes sont maintenant grs comme ceux des services. Tout a pour
dire que les dnitions d'htes ont un nouveau paramtre retry_interval qui prcise le temps
attendre avant de faire un nouvel essai de contrle sur l'hte. ;-)
Les contrles d'htes rguliers ne grvent plus les performances. Au contraire, ils peuvent aider
amliorer les performances grce la nouvelle logique de mise en cache des contrles (voir ci-
dessous).
Ajout d'une nouvelle option check_for_orphaned_hosts pour activer ou non les contrles d'htes
orphelins. C'est maintenant ncessaire puisque les contrles d'htes fonctionnent en parallle.
Ajout d'une nouvelle option enable_predictive_host_dependency_checks pour contrler si Na-
gios va initier ou non un contrle prdictif pour les htes dont celui-ci dpend (dans les dnitions
de dpendances). Les contrles prdictifs aide s'assurer que la logique de dpendance est aussi
prcise que possible. (En savoir plus )
Un nouvelle fonctionnalit de cache pour les contrles d'hte a t implmente ce qui peut signi-
cativement amliorer les performances pour pas mal de monde. Plutt que d'excuter un plugin
pour contrler l'tat d'un hte, Nagios peut souvent utiliser un rsultat de contrle mis en cache
la place. Vous pouvez trouver plus d'informations sur cette fonctionnalit ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
10 / 379
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 instal-
lations comprenant de nombreux htes et services.
Les rsultats de contrles sont maintenant transfrs en crivant dans le dossier prcis par l'op-
tion check_result_path . Les chiers plus vieux que l'option max_check_result_file_age seront
dtruits dnitivement et sans aucun traitement supplmentaire.
Les priodes de temps ont nalement t tendues pour accepter les exceptions, les sauts de dates
(tous les 3 jours), etc. Cela devrait aider lors de la dnition de priodes de notications pour les
rotations de pager.
Vous pouvez trouver plus d'informations sur les nouvelles variables de priodes de temps ici et ici.
Les rsums de groupes d'htes et de services montrent maintenant les successions de problmes
importants/pas importants comme dans le CGI tac.
Quelques changements mineurs dans l'organisation des vues de dtail d'hte et service ont t
opres dans le CGI extinfo.
De nouvelles statistiques de contrle ont t ajoutes l'cran Performance Info.
Ajout des options d'intgration de Splunk dans plusieurs CGIs. L'intgration est contrle par les
options enable_splunk_integration et splunk_url du chier de conguration des CGIs.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
11 / 379
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.
Les options de compilation DEBUGx disponible dans le script de conguration ont t enleves.
Les informations de dbogage peuvent dsormais tre crites dans un chier journal spar, qui
est automatiquement renouvel ds que sa taille atteint une limite dnie par l'utilisateur. Cela
devrait grandement faciliter le dbogage puisqu'il n'y a plus besoin de recompiler Nagios. Le support
complet de ce mode a t ajout pendant le dbut de la phase de dveloppement, aussi n'est-il peut-
tre pas complet quand vous l'essayerez.
Les variables qui modient le comportement du journal de debug sont
debug_file
debug_level
debug_verbosity
max_debug_file_size
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 change-
ments 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 chec-
k_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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
12 / 379
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'ex-
clamation ( !) 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 en-
leve. 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
13 / 379
Chapitre 3
Problmes connus
1. Priodes de temps
Exclusions dans les contrles d'htes/services - Il y a un problme dans la logique d'ordon-
nancement 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
14 / 379
Deuxime partie
Dmarrage
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
15 / 379
Chapitre 4
Flicitations pour avoir choisi d'essayer Nagios ! Nagios est plutt puissant et exible mais peut de-
mander pas mal de travail pour tre congur de la faon qui vous convient. Une fois que vous serez
familier avec sa faon de fonctionner, vous ne voudrez plus vous en passer :-) Voici quelques lments
importants garder en mmoire pour ceux qui commencent avec Nagios :
1. Relax - il y a en a pour un moment. N'esprez pas voir les choses fonctionner comme vous le
souhaitez du premier coup. Ce n'est pas aussi facile. Mettre en place Nagios peut demander pas
mal de travail - en partie cause du nombre d'options proposes par Nagios et en partie parce
que vous devez savoir ce que vous souhaitez superviser sur votre rseau (et comment le faire au
mieux).
2. Utilisez les guides d'installation rapide. Le guide d'installation rapide est conu pour aider
les nouveaux utilisateurs dmarrer le plus rapidement possible avec une installation basique de
Nagios. En moins de 20 minutes, vous pouvez avoir install et congur Nagios pour superviser
votre machine locale. Une fois ceci fait, vous pouvez apprendre congurer Nagios pour en faire
plus.
3. Lisez la documentation. Nagios est susament dicile congurer lorsque vous avez une
bonne connaissance de son fonctionnement et donc quasiment impossible si vous ne possdez pas
ces connaissances. Soyez certain d'avoir lu la documentation (particulirement les sections sur
la Conguration de Nagios et Les Fondamentaux). Gardez sous la main les sujets plus complexes
pour quand vous aurez bien compris les fondamentaux.
4. Demandez de l'aide aux autres. Si vous avez lu la documentation, pass en revue les chiers
d'exemples de congurations, et que vous avez toujours des problmes, envoyez un message
dcrivant vos problmes la liste de diusion nagios-users. Vu la montagne de travail que j'ai
faire pour ce projet, je suis incapable de rpondre la plupart des questions qui me sont
directement poses, aussi votre meilleur source d'aide reste la liste de diusion. Si vous avez bien
cherch et que vous fournissez une bonne description des problmes rencontrs, il y a de fortes
chances que quelqu'un vous donne des pistes pour faire fonctionner les choses correctement.
Plus d'informations sur comment s'abonner la liste de diusion ou comment rechercher dans
les archives de la liste sont disponibles sur http://www.nagios.org/support/.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
16 / 379
Chapitre 5
Note
Ces guides sont prvus pour vous fournir les instructions simples sur la faon d'installer Nagios depuis
le code source et d'avoir la supervision de votre machine locale prte en moins de 20 minutes. Aucune
option d'installation avance n'est aborde ici - juste les notions basiques qui fonctionneront pour
95% des utilisateurs qui veulent dmarrer.
Les guides d'installation rapide sont actuellement disponibles pour les distributions Linux suivantes :
Vous pouvez aussi trouver des guides d'installation rapide sur le wiki NagiosCommunity.org. Vous ne
trouvez pas de guide rapide pour un OS particulier ? crivez-en un et posez le sur le wiki l'attention
des autres !
Si vous installez Nagios sur un systme d'exploitation qui n'est pas dans la liste ci-dessus, lisez le guide
rapide Fedora pour une vue gnrale de ce qu'il y a faire. Les noms de commandes, chemin d'accs,
etc. varient selon les dirents systmes d'exploitation/distributions, vous aurez donc certainement
triturer un peu les docs d'installation pour votre cas particulier.
Une fois que Nagios est install et fonctionne correctement, il ne fait aucun doute que vous souhaiterez
superviser plus que votre seule machine locale. Parcourez les documentations suivantes pour voir
comment superviser autre chose
Chapitre 6
Note
Ce guide est prvu pour vous fournir les instructions simples sur la faon d'installer Nagios depuis
le code source sur Fedora et d'avoir la supervision de votre machine locale prte en moins de 20
minutes. Aucune option d'installation avance n'est aborde ici - juste les notions basiques qui fonc-
tionneront pour 95% des utilisateurs qui veulent dmarrer.
Ces instructions ont t crites en se basant sur une installation standard de la distribution Fedora
Core 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 install httpd
# yum install gcc
# yum install glibc glibc-common
# yum install gd gd-devel
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
18 / 379
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 ver-
sions 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 install
# make install-init
# make install-config
# make 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
Fedora est fourni avec SELinux (Security Enhanced Linux) install et en mode Enforcing par dfaut.
Cela peut engendrer des messages Internal Server Error quand vous essayez d'accder aux CGIs de
Nagios.
Vriez si SELinux est en mode Enforcing.
# getenforce
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 adap-
te, allez sur le wiki de NagiosCommunity.org l'adresse http://wiki.nagios.org.
Vous devriez maintenant pouvoir vous connecter l'interface web de Nagios l'adresse ci-dessous. Il
vous sera demand un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spci plus
tt.
http://localhost/nagios/
Cliquez sur le lien Service Detail de la barre de navigation pour voir les dtails de ce que vous super-
visez sur votre machine locale. Nagios va prendre quelques minutes pour contrler l'ensemble des
services de votre machine du fait que les contrles sont rpartis dans le temps.
Assurez-vous que les rgles du pare-feu de la machine sont congures pour autoriser l'accs au
serveur web si vous souhaitez accder distance l'interface de Nagios.
La conguration des notications par courrier lectronique est en dehors du champ de cettte docu-
mentation. Mme si Nagios est dj congur pour envoyer des notications par courrier lectron-
ique, votre systme peut trs bien ne pas avoir de systme de messagerie correctement install ou
congur. 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 sys-
tme pour qu'il envoie des courriers lectroniques vers des adresses extrieures. Plus d'informations
sur les notications ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
21 / 379
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
Chapitre 7
Note
Ce guide est prvu pour vous fournir les instructions simples sur la faon d'installer Nagios depuis
le code source sur openSUSE et d'avoir la supervision de votre machine locale prte en moins de
20 minutes. Aucune option d'installation avance n'est aborde ici - juste les notions basiques qui
fonctionneront pour 95% des utilisateurs qui veulent dmarrer.
Ces instructions ont t crites en se basant sur une installation openSUSE 10.2.
Assurez-vous d'avoir install les paquetages suivants sur votre installation openSUSE avant de con-
tinuer. Vous pouvez utiliser la commande yast pour installer des paquetages sur openSUSE.
1. apache2
2. librairies de dveloppement C/C++
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
23 / 379
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 ver-
sions 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 install
# make install-init
# make install-config
# make 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
Vous devriez maintenant pouvoir vous connecter l'interface web de Nagios l'adresse ci-dessous. Il
vous sera demand un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spci plus
tt.
http://localhost/nagios/
Cliquez sur le lien Service Detail de la barre de navigation pour voir les dtails de ce que vous super-
visez sur votre machine locale. Nagios va prendre quelques minutes pour contrler l'ensemble des
services de votre machine du fait que les contrles sont rpartis dans le temps.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
25 / 379
Assurez-vous que les rgles du pare-feu de la machine sont congures pour autoriser l'accs au
serveur web si vous souhaitez accder distance l'interface de Nagios.
Vous pouvez faire ceci :
1. Ouvrez le centre de contrle
2. Slectionnez le menu Ouvrir Rglages Administrateur pour ouvrir le centre de contrle adminis-
trateur YaST
3. Slectionnez Pare-feu dans la catgorie Scurit et Utilisateurs
4. Cliquez l'option Services Autoriss dans la fentre de conguration du pare-feu
5. Ajoutez Serveur HTTP la liste des services autoriss de la Zone Externe
6. Cliquez Suivant et Accepter pour activer les nouveaux rglages du pare-feu
La conguration des notications par courrier lectronique sort du cadre de cette documentation.
Veuillez vous rfrer votre documentation systme, rechercher sur le web, ou consulter le Na-
giosCommunity.org wiki pour les instructions spciques sur la conguration de votre systme open-
SUSE pour envoyer des messages lectroniques vers des adresses externes.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
26 / 379
Chapitre 8
Note
Ce guide est prvu pour vous fournir les instructions simples sur la faon d'installer Nagios depuis
le code source sur Ubuntu et d'avoir la supervision de votre machine locale prte en moins de 20
minutes. Aucune option d'installation avance n'est aborde ici - juste les notions basiques qui fonc-
tionneront pour 95% des utilisateurs qui veulent dmarrer.
Ces instructions ont t crites en se basant sur une installation standard de la distribution Fedora
6.10 (desktop). Elles devraient fonctionner galement pour Ubuntu 7.10.
Assurez-vous d'avoir install les paquets suivants sur votre installation Ubuntu avant de continuer.
1. Apache 2
2. Compilateur GCC et librairies de dveloppement
3. librairies de dveloppement GD
Vous pouvez utiliser apt-get pour installer ces paquets en excutant la commande suivante :
$ sudo apt-get install apache2
$ sudo apt-get install build-essential
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
27 / 379
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 ver-
sions 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 install
# make install-init
# make install-config
# make 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 devriez maintenant pouvoir vous connecter l'interface web de Nagios l'adresse ci-dessous. Il
vous sera demand un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spci plus
tt.
http://localhost/nagios/
Cliquez sur le lien Service Detail de la barre de navigation pour voir les dtails de ce que vous super-
visez sur votre machine locale. Nagios va prendre quelques minutes pour contrler l'ensemble des
services de votre machine du fait que les contrles sont rpartis dans le temps.
Si vous souhaitez recevoir des notications par courrier lectronique des alertes Nagios, vous devez
installer le paquet mailx (Postx).
$ sudo apt-get install mailx
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 mofdi-
cations.
$ sudo /etc/init.d/nagios restart
La conguration des notications par courrier lectronique est en dehors du champ de cettte doc-
umentation. 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
30 / 379
Chapitre 9
Ds que des versions alpha, beta, ou stable de Nagios sont sorties, vous pouvez srieusement envis-
ager ds que possible de mettre jour votre Nagios. Les nouvelles versions contiennent habituelle-
ment des corrections de bugs critiques, du coup, il est important de rester jour. Si vous avez dj
install Nagios partir du code source tel que dcrit dans le Guides d'installation rapide, vous pouvez
installer les nouvelles versions de Nagios 3.x facilement. Vous n'avez mme pas besoin d'un accs root
pour le faire, tout ce qui doit tre fait en tant que root a t fait lors de l'instalation initiale. Voici le
processus de mise niveau
Assurez-vous d'avoir une bonne sauvegarde de votre installation de Nagios existante ainsi que des
chiers de conguration. Si quelque chose se passe mal ou ne fonctionne pas, ce qui vous permettra
de revenir votre ancienne version.
Devenez l'utilisateur nagios. Les utilisateurs de Debian/Ubuntu devront utiliser sudo -s nagios.
$ su -l nagios
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
31 / 379
Il ne devrait pas tre trop dicile de faire la mise niveau de Nagios 2.x Nagios 3. La mise jour
est essentiellement la mme que celle qui est dcrite ci-dessus pour la mise niveau d'une version
3.x. Cependant, vous allez avoir changer un peu vos chiers de conguration pour qu'ils soient
totalement compatibles avec Nagios 3 :
Soyez-srs d'avoir lu la section Chapitre2 de la documentation. Celle-ci dcrit tous les changements
qui ont t appliqus au code de Nagios 3 depuis la dernire version stable de Nagios 2.x. Nagios 3 a
quelque peu chang, soyez-srs de l'avoir lu.
Si vous avez actuellement une installation de Nagios base sur des packages RPM Debian/Ubuntu ou
APT et que vous souhaitez passer une installation de Nagios partir du code source ociel, voici la
mthode suivre :
Note
Dirents packages RPM ou APT peuvent installer Nagios de faons direntes et dirents en-
droits. 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
33 / 379
Chapitre 10
Note
Ce document dcrit la faon dont vous pouvez superviser les attributs et services privs de machines
Windows comme :
Utilisation mmoire
Charge CPU
Utilisation disque
tat des services
Processus en cours d'excution
etc.
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 :
Pour vous rendre la vie un peu plus facile, quelques tches de conguration ont dj t faites pour
vous :
Une dnition de commande check_nt a t ajout au chier commands.cfg. Cela permet d'utiliser
le plugin check_nt pour superviser les services Windows.
Un gabarit d'hte serveur Windows (appel windows-server) a dj t cr dans le chier templates.
cfg. Cela permet d'ajouter de nouvelles dnitions d'htes Windows de faon simple.
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 crez 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, contentez-
vous de suivre les directions prcises ci-dessous et vous pourrez superviser vos machines Windows
en un rien de temps.
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
Avant de pouvoir superviser les attributs et services privs des machines Windows, vous allez devoir
installer un agent sur ces machines. Je recommande l'utilisation de l'addon NSClient++, qui peut
tre trouv sur http://sourceforge.net/projects/nscplus. Ces instructions vont vous guider au cours
d'une installation simple de NSClient++ ainsi que pour la conguration de Nagios pour superviser
une machine Windows.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
36 / 379
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
Il est temps maintenant de dnir quelques dnitions d'objets dans vos chiers de conguration
Nagios pour pouvoir superviser la nouvelle machine Windows.
Ouvrez le chier windows.cfg pour dition.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
37 / 379
#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 con-
guration) 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 generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
Ajoutez la dnition de service suivante pour superviser le temps coul depuis le dernier re/dmar-
rage du serveur Windows.
define service {
use generic-service
host_name winserver
service_description Uptime
check_command 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 generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
38 / 379
Ajoutez la dnition de service suivante pour superviser l'utilisation de la mmoire du serveur Win-
dows 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 generic-service
host_name winserver
service_description Memory Usage
check_command 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 generic-service
host_name winserver
service_description C:\ Drive Space
check_command 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 generic-service
host_name winserver
service_description W3SVC
check_command 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 generic-service
host_name winserver
service_description Explorer
check_command 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.
Si vous avez prcis un mot de passe dans le chier de conguration de NSClient++ de la machine
Windows, vous aurez besoin de modier la dnition de commande check_nt pour inclure le mot de
passe. Ouvrez le chier commands.cfg pour dition.
#vi /usr/local/nagios/etc/commands.cfg
Vous en avez termin avec la conguration de Nagios, et vous allez devoir vrier les chiers de
conguration et redmarrer Nagios .
Si le processus de vrication produit n'importe quel message d'erreur, rglez d'abord vos problmes
de conguration avant de continuer. Assurez-vous de ne pas redmarrer Nagios avant que le processus
de vrication ne se droule sans erreur !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
40 / 379
Chapitre 11
Note
Ce document dcrit la faon dont vous pouvez superviser les attributs et services privs de serveurs
Linux/UNIX comme :
Charge CPU
Memory usage
Utilisation disque
Utilisateurs connects
Processus en cours d'excution
etc.
11.1 Introduction
Les services rendus publics qui sont fournis par des serveurs Linux (HTTP, FTP, SSH, SMTP, etc.) peu-
vent 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.
Note
[Ce document n'a pas t termin. Je vous recommande de lire la documentation sur le addon NR-
PENRPE pour les instructions sur la faon de superviser des serveurs distants Linux/Unix.]
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
41 / 379
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 super-
vision 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 NRPEN-
RPE. 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'utilisa-
tion mmoire, etc. sur une hte distant.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
42 / 379
Chapitre 12
Introduction
Ce document fournit les informations sur la faon de superviser des serveurs Novell Netware.
Vous pouvez trouver de la documentation sur la faon de superviser des serveurs Netware avec Nagios
sur le site Novell's Cool Solutions, couvrant :
ASTUCE
Quand vous visitez le site Novell's Cool Solutions, fates une recherche sur Nagios pour trouver plus
d'articles et de composants logiciels relatifs la supervision.
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 !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
43 / 379
Chapitre 13
Note
Ce document dcrit la faon de superviser l'tat d'imprimantes rseaux. Plus particulirement, les
imprimantes HP qui ont une carte interne/externe JetDirect, ou toute autres imprimantes (comme la
Troy PocketPro 100S ou la Netgear PS101) supportant le protocole JetDirect.
13.1 Introduction
Le plugin check_hpjd (qui fait partie de la distribution des plugins standards Nagios) vous permet-
tent 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
44 / 379
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 net-
snmp-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 re-
compilez/rinstallez les plugins Nagios.
13.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser une nouvelle imprimante rseau. Les voici :
Pour vous rendre la vie un peu plus facile, quelques tches de conguration ont dj t faites pour
vous :
Une dnition de commande check_hpjd a dj t cr dans le chier commands.cfg. Cela permet
d'utiliser le plugin check_hpjd pour superviser des imprimantes rseaux.
Un gabarit d'hte de type imprimante (nomm generic-printer) a dj t cr dans le chier
templates.cfg. Cela vous permet de rajouter des dnitions d'htes de type imprimante de faon
simple.
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, contentez-
vous de suivre les directions prcises ci-dessous et vous pourrez superviser vos imprimantes rseaux
en un rien de temps.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
45 / 379
Vous allez devoir crer quelques dnitions d'objets pour pouvoir superviser une nouvelle imprimante.
ditez le chier printer.cfg.
# vi /usr/local/nagios/etc/objects/printer.cfg
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 generic-printer ; Inherit default values from a template
host_name hplj2605dn ; The name we're giving to this printer
alias HP LaserJet 2605dn ; A longer name associated with the printer
address 192.168.1.30 ; IP address of the printer
hostgroups allhosts ; Host groups this printer is associated with
}
Vous pouvez ajouter maintenant quelques dnitions de services (dans le mme chier de congura-
tion) 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 ren-
seign 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 commu-
naut SNMP utilise dans cet exemple pour interroger l'imprimante est public.
define service {
use generic-service ; Inherit values from a template
host_name hplj2605dn ; The name of the host the service is associated -
with
service_description Printer Status ; The service description
check_command check_hpjd!-C public ; The command used to monitor the service
normal_check_interval 10 ; Check the service every 10 minutes under normal conditions
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
46 / 379
retry_check_interval 1 ; Re-check the service every minute until its final/hard state -
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 generic-service
host_name hplj2605dn
service_description PING
check_command check_ping!3000.0,80%!5000.0,100%
normal_check_interva 10
retry_check_interval 1
}
Enregistrez le chier.
Une fois que vous avez ajout les dnitions d'hte et de service au chier printer.cfg, vous tes
prt commencer la supervision de l'imprimante. Pour cela, vous aurez besoin de vrier votre con-
guration et de redmarrer Nagios.
Si le processus de vrication produit n'importe quel message d'erreur, rglez d'abord vos problmes
de conguration avant de continuer. Assurez-vous de ne pas redmarrer Nagios avant que le processus
de vrication ne se droule sans erreur !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
47 / 379
Chapitre 14
Note
Ce document dcrit la faon dont vous pouvez superviser des routeurs et switchs rseaux. Quelques
switchs et hubs bon march non manageables n'ont pas d'adresse IP et sont invisibles sur votre
rseau, il n'y a donc aucun moyen de les superviser. Les routeurs et switchs plus chers ont une
adresse assigne et peuvent donc tre superviss en les pingant ou en utilisant SNMP pour interroger
les informations de statut.
14.1 Introduction
Je vais dcrire la faon dont vous pouvez superviser les choses suivantes sur vos switchs, hubs et
routeurs :
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
48 / 379
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 net-
snmp-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 re-
compilez/rinstallez les plugins Nagios.
14.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser un nouveau routeur ou switch. Les voici :
Pour vous rendre la vie un peu plus facile, quelques tches de conguration ont dj t faites pour
vous :
Deux dnitions de commandes (check_snmp et check_local_mrtgtraf) ont t ajoutes au chier
commands.cfg. Elles vous permettent d'utiliser les plugins check_snmp et check_mrtgtraf pour
superviser les routeurs rseaux.
Un gabarit d'hte de type switch (nomm generic-switch) a dj t cr dans le chier templates.
cfg. Cela vous permet de rajouter des dnitions d'htes de type routeur/switch de faon simple.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
49 / 379
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, contentez-
vous 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
Vous allez devoir crer quelques dnitions d'objets pour pouvoir superviser un nouveau routeur/switch.
ditez le chier switch.cfg.
#vi /usr/local/nagios/etc/objects/switch.cfg
Ajouter une nouvelle dnition d'hte pour le switch que vous souhaitez superviser. Si c'est le *pre-
mier* 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 generic-switch ; Inherit default values from a template
host_name linksys-srw224p ; The name we're giving to this switch
alias Linksys SRW224P Switch ; A longer name associated with the switch
address 192.168.1.253 ; IP address of the switch
hostgroups allhosts,switches ; Host groups this switch is associated with
}
Vous pouvez ajouter maintenant quelques dnitions de services (dans le mme chier de cong-
uration) pour superviser dirents aspects de votre switch. Si c'est le *premier* switch que vous
supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans switch.cfg.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
50 / 379
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.
Ajoutez cette dnition de service pour pouvoir superviser les paquets perdus et le temps moyen de
rponse entre le serveur Nagios et le switch toutes les 5 minutes en conditions normales.
define service {
y
y
1
use generic-service
y
2
host_name linksys-srw224p
y
3
service_description PING
y
4
check_command check_ping!200.0,20%!600.0,60%
y
5
normal_check_interval 5
6
retry_check_interval 1
}
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%
Si votre switch ou routeur supporte SNMP, vous pouvez superviser un tas d'information en utilisant le
plugin check_snmp. Sinon, sautez cette section.
Ajoutez la dnition de service suivante pour superviser le temps coul depuis la mise sous tension
de votre switch.
define service {
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Uptime
check_command check_snmp!-C public -o sysUpTime.0
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
51 / 379
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 super-
vises 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
Si vous supervisez l'usage de la bande passante de vos switchs et routeurs en utilisant MRTG , vous
pouvez utiliser Nagios pour alerter quand les valeurs dpassent un seuil que vous spciez. Le plugin
check_mrtgtraf (inclus dans la distribution de splugins Nagios) vous permet de le faire.
Vous aurez besoin que le plugin check_mrtgtraf connaisse l'emplacement du chier o MRTG stocke
ses donnes, ainsi que les seuils, etc. Dans mon exemple, je supervise un des ports d'un switch Linksys.
Le chier de log de MRTG est stock dans /var/lib/mrtg/192.168.1.253_1.log. Voici la dnition
de service que j'utilise pour superviser les donnes de bande passante stockes dans ce chier
define service {
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Port 1 Bandwidth Usage
check_command check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG -
!1000000,2000000!5000000,5000000!10
}
Une fois que vous avez ajout les nouvelles dnitions d'hte et de service dans le chier switch.cfg,
vous tes prt dmarrer la supervision d'un routeur/switch. Pour cela, vous aurez besoin de vrier
votre conguration et redmarrez Nagios.
Si le processus de vrication produit n'importe quel message d'erreur, rglez d'abord vos problmes
de conguration avant de continuer. Assurez-vous de ne pas redmarrer Nagios avant que le processus
de vrication ne se droule sans erreur !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
53 / 379
Chapitre 15
Note
Ce document dcrit la faon de superviser des services, applications et protocoles rendus disponibles
publiquement. Par public j'entends les services qui sont accessibles travers le rseau - que ce soit
votre rseau local ou plus grand avec Internet. Les exemples de ce type de services incluent HTTP, PO-
P3, IMAP, FTP, and SSH. Il y a beaucoup plus de services publics que ce que vous utilisez probablement
au quotidien. Ces services et applications, ainsi que les protocoles sous-jacents, peuvent en gnral
tre superviss avec Nagios sans ncessiter d'accs spciaux.
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 :
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 rou-
teurs/switchs pour avoir plus d'information sur la faon de superviser des services avec le protocole
SNMP.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
54 / 379
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.
Quand vous avez besoin de superviser un service, application, protocole particulier, les chances sont
grandes qu'un plugin existe pour le faire. La distribution ocielle des plugins Nagios fournit des
plugins qui peuvent tre utiliss pour contrler une grande varit de services et protocoles. Il y
a aussi toute une collection de plugins qui peut tre trouve dans le sous rpertoire contrib/ de la
distribution des plugins. Le site NagiosExchange.org hberge aussi de nombreux plugins additionnels
crits par des utilisateurs, n'hsitez pas y tenter votre chance.
Si vous ne parvenez pas trouver un plugin appropri pour superviser ce dont vous avez besoin, vous
pouvez toujours crire le vtre. Les plugins sont faciles crire, ne vous laissez donc pas erayer par
cette ide. Lisez la documentation sur le dveloppement de plugins pour plus d'informations.
Je vais passer en revue la supervision de services basiques que vous aurez probablement faire tt au
tard. Chacun de ces services peut tre supervis en utilisant un des plugins compris dans la ditribution
Nagios. Allons-y
Avant de pouvoir superviser un service, vous devez d'abord dnir un host associ ce service. Vous
pouvez mettre les dnitions d'htes dans n'importe quel chier de conguration spci avec le
paramtre cfg_file ou les mettre dans un dossier prcis par le paramtre cfg_dir . Si vous avez
dj cr une dnition d'hte, vous pouvez passer cette tape.
Pour cet exemple, disons que vous souhaitez superviser une varit de services sur un hte distant.
Appelons cet hte remotehost. La dnition de l'hte peut tre mise dans son propre chier de cong-
uration ou ajoute un existant. Voil quoi pourrait ressembler la dnition de l'hte remotehost:
define host {
use generic-host ; Inherit default values from a template
host_name remotehost ; The name we're giving to this host
alias Some Remote Host ; A longer name associated with the host
address 192.168.1.50 ; IP address of the host
hostgroups allhosts ; Host groups this host is associated with
}
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.
Pour chaque service superviser, vous devez crer un service dans Nagios associ la dnition
d'hte que vous avez juste cr. Vous pouvez mettre des dnitions de services dans n'importe quel
chier de conguration prcis par le paramtre cfg_file ou dans n'importe quel dossier prcis
par le paramtre cfg_dir .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
55 / 379
Quelques exemples de dnitions de services pour superviser des services publics communs (HTTP,
FTP, etc.) sont donns ci-dessous.
Il y a de bonnes chances que vous ayez envie de superviser des serveurs web - que ce soit le vtre ou
celui de quelqu'un d'autre. Le plugin check_http est juste fait pour a. Il fonctionne avec le protocole
HTTP et peut superviser un temps de rponse, des codes d'erreurs, des chanes de caractres dans la
rponse HTML, des certicats de serveurs, et beaucoup plus encore.
Le chier commands.cfg contient une dnition de commande pour utiliser le plugin check_http. Il
ressemble ceci :
define command {
name check_http
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
Une dnition simple de service pour superviser un service HTTP sur la machine remotehost pourrait
ressembler ceci :
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description HTTP
check_command check_http
}
Cette simple dnition de service va superviser le service HTTP fonctionnant sur remotehost. Ce ser-
vice gnrera des alertes si le sereur web ne rpond pas dans les 10 secondes ou si la rponse con-
tient 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 latest-
version.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 generic-service ; Inherit default values from a template
host_name remotehost
service_description Product Download Link
check_command check_http!-u /download/index.php -t 5 -s "latest-version.tar.gz"
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
56 / 379
Quand vous avez besoin de superviser des serveurs FTP, vous pouvez utiliser le plugin check_ftp. Le
chier commands.cfg une dnition de commande pour utiliser le plugin check_ftp qui ressemble
ceci :
define command {
command_name check_ftp
command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
}
Une dnition simple de service pour superviser un serveur FTP sur remotehost devrait ressembler
ceci :
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description FTP
check_command 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 generic-service ; Inherit default values from a template
host_name remotehost
service_description Special FTP
check_command check_ftp!-p 1023 -t 5 -e "Pure-FTPd [TLS]"
}
Quand vous avez besoin de superviser des serveurs SSH, vous pouvez utiliser le plugin check_ssh.
Le chier commands.cfg contient une dnition de commande pour utiliser le plugin check_ssh qui
ressemble ceci :
define command {
command_name check_ssh
command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
}
Une dnition simple de service pour superviser un serveur SSH sur remotehost devrait ressembler
ceci :
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description SSH
check_command check_ssh
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
57 / 379
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 generic-service ; Inherit default values from a template
host_name remotehost
service_description SSH Version Check
check_command check_ssh!-t 5 -r "OpenSSH_4.2"
}
Le plugin check_smtp peut tre utilis pour superviser vos serveurs de messagerie. Le chier commands.
cfg une dnition de commande pour utiliser le plugin check_smtp qui ressemble ceci :
define command {
command_name check_smtp
command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$
}
Une dnition simple de service pour superviser un serveur SMTP sur remotehost devrait ressembler
ceci :
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description SMTP
check_command 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 generic-service ; Inherit default values from a template
host_name remotehost
service_description SMTP Response Check
check_command check_smtp!-t 5 -e "mygreatmailserver.com"
}
Le plugin check_pop peut tre utilis pour superviser le service POP3 de vos serveurs de messagerie.
Le chier commands.cfg une dnition de commande pour utiliser le plugin check_pop qui ressemble
ceci :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
58 / 379
define command {
command_name check_pop
command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$
}
Une dnition simple de service pour superviser un serveur POP3 sur remotehost devrait ressembler
ceci :
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description POP3
check_command 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 generic-service ; Inherit default values from a template
host_name remotehost
service_description POP3 Response Check
check_command check_pop!-t 5 -e "mygreatmailserver.com"
}
Le plugin check_imap peut tre utilis pour superviser le service IMAP4 sur vos serveurs de mes-
sagerie. Le chier commands.cfg une dnition de commande pour utiliser le plugin check_imap qui
ressemble ceci :
define command {
command_name check_imap
command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$
}
Une dnition simple de service pour superviser un serveur IMAP4 sur remotehost devrait ressembler
ceci :
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description IMAP
check_command 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
59 / 379
define service {
use generic-service ; Inherit default values from a template
host_name remotehost
service_description IMAP4 Response Check
check_command check_imap!-t 5 -e "mygreatmailserver.com"
}
Une fois que vous avez ajout les dnitions du nouvel hte et du service vos chiers de conguration
d'objets, vous tes prt dmarrer la supervision de ceux-ci. Pour cela, vous devez vrier votre
conguration et redmarrer Nagios.
Si le processus de vrication produit n'importe quel message d'erreur, rglez d'abord vos problmes
de conguration avant de continuer. Assurez-vous de ne pas redmarrer Nagios avant que le processus
de vrication ne se droule sans erreur !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
60 / 379
Troisime partie
Congurer Nagios
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
61 / 379
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 .
Le chier de conguration principal contient un certain nombre de paramtres qui aectent la manire
dont Nagios fonctionne. Ce chier est lu par le processus Nagios et par les CGI. C'est ici que com-
mence vos aventures de conguration.
La documentation du chier de conguration principal se trouve ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
62 / 379
Les chiers des ressources sont utiliss pour stocker les macros dnies par les utilisateurs. L'avan-
tage 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.
Les chiers de dnitions des objets dnissent les htes, services, groupes d'htes, contacts, groupes
de contacts, commandes, etc. C'est l que vous dnissez les choses que vous souhaitez surveiller et
comment vous dsirez le faire.
Vous pouvez dnir un ou plusieurs chiers de dnitions des objets avec les paramtres cfg_file
et/ou cfg_dir dans le chier de conguration principal.
Une introduction aux dnitions d'objets et la faon dont ils sont en relation les uns les autres peut
tre consulte ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
63 / 379
Le chier de conguration des CGIs contient un certain nombre de paramtres qui aectent le mode
de fonctionnement des CGIs. Il contient galement une rfrence au chier de conguration princi-
pal, de faon ce que les CGIs sachent comment est congur Nagios et o trouver les objets de
conguration.
La documentation du chier de conguration des CGIs se trouve ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
64 / 379
Chapitre 17
Note
Gardez l'esprit ce qui suit quand vous crez/ditez des chiers de conguration :
Les lignes qui commencent par le caractre '#' sont des commentaires et ne sont pas traites
Les noms des variables doivent commencer au dbut de la ligne - ne mettez pas d'espace avant
le nom
Les noms des variables respectent la casse (majuscule/minuscule)
ASTUCE
Un chier de conguration d'exemple (/usr/local/nagios/etc/nagios.cfg) est install pour vous
quand suivez le Guides d'installation rapide
Le chier de conguration principal est habituellement nomm nagios.cfg et situ dans le rpertoire
/usr/local/nagios/etc/.
Vous allez trouver ci-dessous la description de chacune des options du chier principal de congura-
tion de Nagios
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.
Format
cfg_file=<nom_de_fichier>
Exemple
cfg_file=/usr/local/nagios/etc/hosts.cfg
Cette variable dtermine les chiers de conguration des objets que Nagios doit utiliser pour la su-
pervision. Ces chiers contiennent les dnitions pour les htes, groupes d'htes, contacts, groupes
de contacts, services, commandes etc Vous pouvez clater votre chier de conguration des objets
en plusieurs chiers que vous inclurez, pour leur traitement, en ajoutant un paramtre cfg_file=
pour chacun d'eux.
Format
cfg_dir=<nom_de_rpertoire>
Exemple
cfg_dir=/usr/local/nagios/etc/commands
Cette directive est utilise pour spcier un rpertoire qui contient les chiers de conguration d'ob-
jet que Nagios doit utiliser pour la supervision. Tous les chiers contenus dans le rpertoire avec
une extension cfg sont traites comme objet cong. En outre, Nagios procde de manire rcursive
tous les chiers de cong dans les sous-rpertoires du rpertoire que vous spciez ici. Vous pouvez
clater votre chier de conguration des objets dans plusieurs rpertoires que vous inclurez, pour
leur traitement, en ajoutant une directive cfg_dir= pour chacun d'eux.
Format
object_cache_file=<nom_de_fichier>
Exemple
object_cache_file=/usr/local/nagios/var/objects.cache
Cette variable est utilise pour indiquer l'emplacement d'un chier qui contiendra une copie en cache
des dnitions des objets .Ce chier cache est (re)cr chaque (re)dmarrage de Nagios et est utilis
par les CGIs. Il permet d'acclrer le cache des chiers de conguration pour les CGIs, et vous permet
de modier les chiers de conguration des objets, pendant que Nagios tourne, sans que l'achage
des CGIs soit modi.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
66 / 379
Format
precached_object_file=<nom_du_fichier>
Exemple
precached_object_file=/usr/local/nagios/var/objects.precache
Cette variable est utilise pour indiquer l'emplacement d'un chier qui va contenir une copie pr-
traite, pr-cache du chier de conguration des objets .Ce chier peut amliorer de faon drastique
les temps de dmarrage de Nagios dans des installations complexes ou de grande dimension. Lisez
plus d'informations sur la faon d'amliorer les temps de dmarrage ici.
Format
resource_file=<file_name>
Exemple
resource_file=/usr/local/nagios/etc/resource.cfg
Le chier de ressources optionnel qui contient des dnitions de macros du type $USERn$. Les macros
$USERn$ permettent de stocker des noms d'utilisateurs, des mots de passe, et les lments couram-
ment utiliss dans les commandes (comme les chemins d'accs). Les CGIs ne lisent pas les chiers
de ressources, si bien que vous pouvez y mettre des droits d'accs restrictifs (600 ou 660) pour pro-
tger les donnes sensibles. Vous pouvez inclure de nombreux chiers de ressources en ajoutant des
paramtres resource_file au chier de conguration principal - Nagios les traitera tous. Rfrez-
vous au chier resource.cfg d'exemple situ la racine de la distribution de Nagios, pour voir com-
ment utiliser les macros $USERn$.
Format
temp_file=<file_name>
Exemple
temp_file=/usr/local/nagios/var/nagios.tmp
C'est un chier que Nagios cre priodiquement durant la mise jour des commentaires de donnes,
des donnes d'tat etc Il est supprim quand il n'est plus ncessaire.
Format
temp_path=<dir_name>
Exemple
temp_path=/tmp
C'est un rpertoire que Nagios peut utiliser comme espace scratch pour crer des chiers temporaires
utiliss durant le processus de supervision. Vous pouvez excuter tmpwatch, ou un outil similaire sur
ce rperoire pour eacer les chiers plus vieux de 24 heures.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
67 / 379
Format
status_file=<file_name>
Exemple
status_file=/usr/local/nagios/var/status.dat
C'est le chier utilis par Nagios, pour stocker l'tat courant de tous les services superviss. L'tat
de tous les htes et leurs services associs, est galement enregistr dans ce chier. Ce chier est
utilis par le CGI d'tat pour acher l'tat courant de la supervision dans l'interface web. Les CGIs
doivent avoir le droit d'accder en lecture ce chier, pour fonctionner correctement. Ce chier est
supprim l'arrt de Nagios, et recr au dmarrage.
Format
status_update_interval=<seconds>
Exemple
status_update_interval=15
Cette variable, dtermine la frquence (en secondes), laquelle Nagios mettra jour les donnes
d'tat dans le Section17.3.9 .L'intervalle minimal est de une seconde.
Format
nagios_user=<username/UID>
Exemple
nagios_user=nagios
Ceci dtermine quel utilisateur doit tre le propritaire du processus de Nagios. Aprs le dmarrage
du programme, et avant toute supervision, Nagios abandonnera ses privilges eectifs, et se lancera
sous cet utilisateur. Vous pouvez donner un nom d'utilisateur ou un UID.
Format
nagios_group=<groupname/GID>
Exemple
nagios_group=nagios
Ceci dtermine quel groupe doit tre propritaire du processus de Nagios. Aprs le dmarrage du
programme, et avant toute supervision, Nagios abandonnera ses privilges eectifs et se lancera
sous ce groupe. Vous pouvez donner un nom de groupe ou un GID.
Format
enable_notifications=<0/1>
Exemple
enable_notifications=1
Cette option dtermine si Nagios envoie ou non une notication quand il (re)dmarre. Si cette option
est dsactive, Nagios n'enverra aucune notication, quel que soit l'hte ou le service.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
68 / 379
Note
Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilis-
era 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 mmori-
sation 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)
Format
execute_service_checks=<0/1>
Exemple
execute_service_checks=1
Cette option dtermine, si Nagios eectuera les contrles des services lorsqu'il (re)dmarrera. Si
cette option est dsactive, Nagios n'eectuera aucun contrle de service, et restera dans un mode
de sommeil (il peut quand mme recevoir les contrles passifs moins qu'ils ne soient dsactivs).
Cette option est surtout utile pour dnir des serveurs de supervision de secours, comme l'explique la
documentation sur la redondance, ou pour mettre en place un environnement de supervision rpartie.
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 utilis-
era 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 mmori-
sation 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 :
Format
accept_passive_service_checks=<0/1>
Exemple
accept_passive_service_checks=1
Cette option dtermine si Nagios accepte les contrles passifs de service quand il (re)dmarrera. Si
cette option est dsactive, Nagios n'acceptera aucun contrle passif de service. 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
69 / 379
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 utilis-
era 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 mmori-
sation 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 :
Format
execute_host_checks=<0/1>
Exemple
execute_host_checks=1
Cette option dtermine si Nagios eectuera les contrles des htes - la demande ou de manire
rgulire - lorsqu'il (re)dmarrera. Si cette option est dsactive, Nagios n'eectuera aucun contrle
sur les htes et restera dans un mode de sommeil (il peut quand mme recevoir les contrles passifs
d'htes moins qu'ils ne soient dsactivs). Cette option est surtout utile pour dnir des serveurs
de supervision de secours, comme l'explique la documentation sur la redondance, ou pour mettre
en place un environnement de supervision rpartie. 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 utilis-
era 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 mmori-
sation 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 :
Format
accept_passive_host_checks=<0/1>
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
70 / 379
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 ds-
activiez l'option use_retained_program_state. Si vous voulez changer cette variable alors que la m-
morisation 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 utilis-
era 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 mmori-
sation 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 :
Format
enable_event_handlers=<0/1>
Exemple
enable_event_handlers=1
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 utilis-
era 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 mmori-
sation 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 :
Format
log_rotation_method=<n/h/d/w/m>
Exemple
log_rotation_method=d
C'est la mthode de rotation que vous voulez que Nagios utilise pour le chier journal. Les valeurs
possibles de cette variable sont :
n = Aucune [None] (ne pas eectuer de rotation sur le journal - par dfaut)
h = Toutes les heures [Hourly] (eectuer une rotation du journal au dbut de chaque heure)
d = Tous les jours [Daily] (eectuer une rotation du journal minuit chaque jour)
w = Toutes les semaines [Weekly] (eectuer une rotation du journal minuit le samedi)
m = Tous les mois [Monthly] (eectuer une rotation du journal minuit le dernier jour du mois)
Format
log_archive_path=<path>
Exemple
log_archive_path=/usr/local/nagios/var/archives/
C'est le rpertoire o Nagios doit enregistrer les chiers journaux ayant fait l'objet d'une rotation.
Cette option est ignore si vous n'avez pas activ la rotation du journal .
Format
check_external_commands=<0/1>
Exemple
check_external_commands=1
Cette option dtermine si Nagios va vrier le contenu du Section17.3.23 la recherche de comman-
des excuter. Cette option doit tre active si vous avez prvu d'utiliser le CGI de commande pour
envoyer des commandes via l'interface web. Des programmes tiers peuvent galement envoyer des
commandes Nagios en crivant dans le chier de commande, sous rserve que les droits ncessaires
l'accs au chier aient t donns, comme le souligne cette FAQ. Vous trouverez plus d'informations
sur les commandes externes ici.
Format
command_check_interval=<xxx>[s]
Exemple
command_check_interval=1
Si vous spciez un nombre suivi d'un s (par exemple 30s), c'est le nombre de secondes qui sparera
deux contrles de commandes externes. Si vous ne mettez pas de s, c''est le nombre d'units de
temps laisser entre deux contrles de commandes externes. Si vous n'avez pas modi la valeur de
laSection17.3.55 qui est par dfaut de 60, ce nombre reprsente des minutes.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
72 / 379
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 com-
mandes prsentes dans le Section17.3.23 avant de passer d'autres tches. Vous trouverez plus
d'informations sur les commandes externes ici.
Format
command_file=<file_name>
Exemple
command_file=/usr/local/nagios/var/rw/nagios.cmd
C'est le chier que Nagios lit la recherche de commandes externes. Le CGI de commande crit les
commandes dans ce chier. Des programmes tiers peuvent crire dans ce chier sous rserve qu'ils
aient les droits d'accs comme il est dcrit ici. Le chier de commandes externes est implment sous
forme d'un tube nomm [named pipe] (FIFO), qui est cr quand Nagios dmarre et supprim lorsqu'il
s'arrte. Pour plus d'informations sur les commandes externes, lisez ceci.
Format
external_command_buffer_slots=<#>
Exemple
external_command_buffer_slots=512
Note
C'est une option avance.
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.
Format
lock_file=<file_name>
Exemple
lock_file=/tmp/nagios.lock
C'est l'emplacement du chier verrou qu'utilise Nagios quand il est lanc en tant que dmon (i.e.
dmarr avec l'argument -d ). Ce chier contient l'identiant du processus (PID) de Nagios.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
73 / 379
Format
retain_state_information=<0/1>
Exemple
retain_state_information=1
Cette option dtermine si Nagios doit mmoriser l'tat des htes et des services entre deux dmar-
rages. Si vous activez cette option, vous devez donnez une valeur la variable Section17.3.27 .Une
fois l'option active, Nagios enregistrera toutes les informations concernant l'tat des htes et des
services avant de s'arrter (ou de redmarrer) et il relira les informations d'tat pralablement en-
registres quand il redmarrera.
Format
state_retention_file=<file_name>
Exemple
state_retention_file=/usr/local/nagios/var/retention.dat
C'est le chier utilis par Nagios pour mmoriser l'tat des htes et des services entre les redmar-
rages. Au dmarrage, Nagios positionnera l'tat initial des services et des htes partir des informa-
tions contenues dans ce chier, puis commencera la supervision. Ce chier est supprim ds sa lecture
eectue. Pour que Nagios mmorise l'tat des htes et des services, vous devez activer l'option de
Section17.3.26 .
Format
retention_update_interval=<minutes>
Exemple
retention_update_interval=60
Cette variable dtermine la frquence (en minutes) laquelle Nagios va automatiquement sauveg-
arder les donnes de mmorisation en situation normale. Si vous donnez une valeur de 0, Nagios
ne sauvegardera pas les donnes mmorises intervalles rguliers, mais avant de s'arrter ou de
redmarrer. Si vous avez dsactiv la mmorisation des tats (grce l'option Section17.3.26 ), cette
variable est sans eet.
Format
use_retained_program_state=<0/1>
Exemple
use_retained_program_state=1
Cette option dtermine si Nagios positionnera diverses variables d'tat du programme partir des
valeurs enregistres dans le chier de mmorisation. Parmi ces variables d'tat du programme, nor-
malement sauvegardes par del les redmarrages du programme si la mmorisation d'tat est ac-
tive, on trouve les Section17.3.13 , la Section17.3.70 ,Section17.3.18 ,Section17.3.14 ,ou Sec-
tion17.3.15 .Si vous n'avez pas activ la Section17.3.26 ,cette option est sans eet.
Format
use_retained_scheduling_info=<0/1>
Exemple
use_retained_scheduling_info=1
Cette option dtermine si Nagios va garder les informations d'ordonnancement (prochain lancement
de vrication pour chaque service), lorsqu'il redmarre. Si vous ajoutez un grand nombre (ou pour-
centage) de services ou d'htes, je vous recommande de dsactiver cette option lorsque vous red-
marrez Nagios, car ceci peut biaiser la rpartition initiale des services. Dans le cas contraire, vous
voudrez probablement laisser cette option active.
Format
retained_host_attribute_mask=<number>
Exemple
retained_host_attribute_mask=0
Format
retained_service_attribute_mask=<number>
Exemple
retained_service_attribute_mask=0
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.
Format
retained_process_host_attribute_mask=<number>
Exemple
retained_process_host_attribute_mask=0
Format
retained_process_service_attribute_mask=<number>
Exemple
retained_process_service_attribute_mask=0
AVERTISSEMENT
C'est une fonction avance. Vous aurez besoin de lire le code source de Nagios pour utiliser
cette option de faon ecace.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
75 / 379
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.
Format
retained_contact_host_attribute_mask=<number>
Exemple
retained_contact_host_attribute_mask=0
Format
retained_contact_service_attribute_mask=<number>
Exemple
retained_contact_service_attribute_mask=0
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.
Format
use_syslog=<0/1>
Exemple
use_syslog=1
Cette option dtermine si les messages doivent tre journaliss via l'utilitaire systme Syslog. Les
valeurs possibles sont :
Format
log_notifications=<0/1>
Exemple
log_notifications=1
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
76 / 379
Cette variable dtermine si les messages de notication sont journaliss ou non. Si vous avez de nom-
breux 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.
Format
log_service_retries=<0/1>
Exemple
log_service_retries=1
Cette option dtermine si les tentatives rptes de contrle d'un service sont journalises. Ces tenta-
tives ont lieu lorsqu'un service retourne un tat dirent de OK, mais que vous avez congur Nagios
pour essayer plus d'une fois avant de considrer cela comme une erreur. Les services dans cette sit-
uation sont dits en tat soft. La journalisation des tentatives de contrle permet de dboguer Nagios
ou de tester les gestionnaires d'vnements.
Format
log_host_retries=<0/1>
Exemple
log_host_retries=1
Cette option dtermine si les tentatives rptes de contrle d'un hte sont journalises. La journali-
sation des tentatives de contrle permet de dboguer Nagios ou de tester les gestionnaires d'vne-
ments.
Format
log_event_handlers=<0/1>
Exemple
Cette option dtermine si les gestions d'vnements lis aux htes ou aux services sont journal-
ises. Les gestionnaires d'vnements sont des commandes optionnelles qu'on peut lancer lors du
changement d'tat d'un hte ou d'un service. La journalisation des gestions d'vnements permet de
dboguer Nagios ou de tester les scripts de gestion d'vnements.
Format
log_initial_states=<0/1>
Exemple
log_initial_states=1
Cette variable dtermine si Nagios forcera la journalisation de tous les tats initiaux des htes et des
services, mme si leur tat est OK. Les tats initiaux ne sont normalement journaliss que s'il y a un
problme lors du premier contrle. Cette option peut se rvler utile si vous utilisez une application
tierce qui lit le journal pour en tirer des statistiques long terme pour les htes et services.
Format
log_external_commands=<0/1>
Exemple
log_external_commands=1
Cette variable dtermine si Nagios journalisera les commandes externes reues via le chier des
commandes externes .
Note
Note : cette option ne dtermine pas si les contrles passifs de service (qui sont une variante des
commandes externes) sont journaliss. Pour dnir la journalisation des contrles passifs de service,
utilisez l'option de journalisation des contrles passifs de service.
Format
log_passive_checks=<0/1>
Exemple
log_passive_checks=1
Cette variable dtermine si Nagios journalisera les contrles passifs d'hte ou de service reus via le
chier de commandes externes .Si vous mettez en place un environnement de supervision rparti ou
si vous souhaitez utiliser frquemment un grand nombre de contrles passifs, vous pouvez dsactiver
cette option pour viter au journal de trop grossir.
Format
global_host_event_handler=<command>
Exemple
global_host_event_handler=log-host-event-to-db
Cette option dtermine un gestionnaire d'vnement appel chaque changement d'tat d'un hte.
Il s'excute juste avant le gestionnaire d'vnement particulier l'hte que vous avez prcis de
manire optionnelle dans la dnition de l'hte. L'argument commande est le nom court d'une d-
nition de commande qui se trouve dans votre Object Conguration Overview. Le temps d'excution
maximal de cette commande est dtermin par la variable event_handler_timeout . Vous trouverez
plus d'informations sur les gestionnaires d'vnements ici
Format
global_service_event_handler=<command>
Exemple
global_service_event_handler=log-service-event-to-db
Cette option dtermine un gestionnaire d'vnement appel chaque changement d'tat d'un ser-
vice. Il s'excute juste avant le gestionnaire d'vnement particulier l'hte que vous avez prcis de
manire optionnelle dans la dnition du service. L'argument commande est le nom court d'une df-
inition de commande qui se trouve dans votre Object Conguration Overview. Le temps d'excution
maximal de cette commande est dtermin par la variable event_handler_timeout . Vous trouverez
plus d'informations sur les gestionnaires d'vnements ici.
Format
sleep_time=<seconds>
Exemple
sleep_time=1
C'est le nombre de secondes pendant lequel Nagios va sommeiller avant de vrier si le prochain
contrle de service ou d'hte en le d'attente doit tre excut. Notez que Nagios ne s'endormira
qu'aprs avoir liquid les contrles de services en retard dans la le.
Format
service_inter_check_delay_method=<n/d/s/x.xx>
Exemple
service_inter_check_delay_method=s
Cette option dtermine comment les contrles de service sont initialement rpartis dans la le d'at-
tente. L'option de calcul dbrouillard [smart] du dlai (par dfaut), demande Nagios de calculer un
intervalle moyen entre les contrles, et d'ordonnancer les contrles initiaux de tous les services cet
intervalle, ce qui permet d'viter les pics d'utilisation du processeur. Il n'est pas recommand d'utiliser
la mthode sans dlai [no delay] moins que vous ne vouliez tester la paralllisation des contrles de
service. En eet, cette mthode ordonnance tous les contrles en mme temps. L'excution de tous
les contrles en parallle va provoquer d'importants pics d'utilisation du processeur. Vous obtiendrez
plus d'informations sur la faon dont cette variable aecte l'ordonnancement des contrles de service
ici. Ses valeurs possibles sont :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
79 / 379
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
Format
max_service_check_spread=<minutes>
Exemple
max_service_check_spread=30
Cette option dtermine le temps maximum (en minutes) entre le dmarrage de Nagios et la vri-
cation de tous les services qui sont ordonnancs rgulirement. Cette option va automatiquement
ajuster le dlai inter-contrles de services (si ncessaire) pour s'assurer que les contrles initiaux
des services vont s'eectuer dans le temps imparti. En gnral, cette option n'a pas d'eet si l'option
Section17.3.30 est active. La valeur par dfaut est de 30 (minutes).
Format
service_interleave_factor=<s|x>
Exemple
service_interleave_factor=s
Cette variable dtermine comment les contrles de service sont entrelacs. L'entrelacement permet
une distribution plus gale des contrles de service, une charge rduite sur les htes distants, et
une dtection globalement plus rapide des problmes lis aux htes. Avec l'introduction de la paral-
llisation des contrles de service, les htes distants peuvent se retrouver bombards de contrles si
l'entrelacement n'est pas activ. Ceci peut entrainer l'chec de contrles ou des rsultats incorrects si
l'hte distant est surcharg de requtes. Mettre une valeur de 1 est quivalent ne pas entrelacer les
contrles de service (c'est le mode de fonctionnement des versions de Nagios antrieures la version
0.0.5). Mettez une valeur de s (dbrouillard)[smart]) pour que le calcul du facteur d'entrelacement
soit automatique, moins que vous ayez une bonne raison de la changer. Le meilleur moyen de com-
prendre le fonctionnement du facteur d'entrelacement est d'observer le CGI d'tat (vue dtaille) au
moment o Nagios vient de dmarrer. Vous verrez comment les contrles sont faits au fur et mesure
que les rsultats apparaissent. Vous trouverez plus d'informations sur l'entrelacement ici.
Format
max_concurrent_checks=<max_checks>
Exemple
max_concurrent_checks=20
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
80 / 379
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.
Format
check_result_reaper_frequency=<frquence_en_secondes>
Exemple
check_result_reaper_frequency=5
Cette option vous permet de contrler la frquence en secondes des vnements de consolidation. Les
vnements de consolidation traitent les rsultats des contrles d'htes et de services dont l'excution
est termine. Ces vnements constituent le cur de la logique de supervision de Nagios.
Format
max_check_result_reaper_time=<secondes>
Exemple
max_check_result_reaper_time=30
Cette option vous permet de contrler le temps maximum en secondes que doit prendre une consol-
idation des rsultats de contrles d'hte et de service. Les vnements de consolidation traitent les
rsultats de contrle d'htes et de services qui sont termins. Si il y a une grande quantit de rsul-
tats traiter, les vnements de collecte peuvent mettre beaucoup de temps se terminer, ce qui
dcale d'autant l'excution de nouveaux contrles d'htes et de services. Cette variable vous permet
de limiter le temps que prend un vnement de consolidation avant de rendre la main Nagios pour
d'autres traitements de la logique de supervision.
Format
check_result_path=<path>
Exemple
check_result_path=/var/spool/nagios/checkresults
Cette option dtermine quel rpertoire Nagios utilisera pour stocker temporairement les rsultats
de contrle. Ce rpertoire ne doit pas stocker d'autres chiers, car Nagios eace le contenu de ce
rpertoire de manire rcurrente (voir l'option Section17.3.52 pour plus d'informations).
Note
Assurez vous qu'une seule instance de Nagios n'est qu'accs ce rpertoire. Si plusieurs instances
attaquent ce mme rpertoire, vous allez rencontrer des problmes car il est possible que la mauvaise
instance de Nagios prlve des rsultats ne la concernant pas !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
81 / 379
Format
max_check_result_file_age=<seconds>
Exemple
max_check_result_file_age=3600
Cette option dtermine le temps maximum en seconde que Nagios peut considrer trouver des infor-
mations de rsultats de contrles dans le rpertoire de stockages des rsultats .Les rsultats dpas-
sant ce temps limite, ils seront eacs par Nagios et ne pourront plus tre exploits. En utilisant la
valeur zro (0) pour cette option, Nagios exploitera chaque chiers de contrle.
Format
host_inter_check_delay_method=<n/d/s/x.xx>
Exemple
host_inter_check_delay_method=s
Cette option dtermine comment les contrles d'htes (pour les htes qui sont rgulirement con-
trls) sont initialement rpartis dans la le d'attente. L'option de calcul dbrouillard [smart] du dlai
(par dfaut) demande Nagios de calculer un intervalle moyen entre les contrles et d'ordonnancer
les contrles initiaux de tous les services cet intervalle, ce qui permet d'viter les pics d'utilisation du
processeur. Il n'est pas recommand d'utiliser la mthode sans dlai [no delay]. En eet, cette mth-
ode ordonnance tous les contrles en mme temps. Vous obtiendrez plus d'informations sur la faon
dont cette variable aecte l'ordonnancement des contrles d'hte ici. Ses valeurs possibles sont :
n = Ne pas utiliser de dlai [no delay] - ordonnancer le lancement de tous les contrles maintenant
(i.e. en mme temps !)
d = Utiliser un dlai irrchi [dumb] d'1 seconde entre les contrles d'hte
s = Utiliser un calcul de dlai dbrouillard [smart] pour rpartir galement les contrles d'hte (par
dfaut)
x.xx = Utiliser le dlai fourni de x.xx secondes
Format
max_host_check_spread=<minutes>
Exemple
max_host_check_spread=30
Cette option dtermine le temps maximum (en minutes) entre le dmarrage de Nagios et la vrica-
tion de tous les htes qui sont contrls rgulirement. Cette option va automatiquement ajuster le
dlai inter-contrles d'htes (si ncessaire) pour s'assurer que les contrles initiaux des services vont
s'eectuer dans le temps imparti. En gnral, cette option n'a pas d'eet si l'option d'utilisation des
tats mmoriss de l'ordonnanceur est active. La valeur par dfaut est de 30 (minutes).
Format
interval_length=<seconds>
Exemple
interval_length=60
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
82 / 379
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 !
Format
auto_reschedule_checks=<0/1>
Exemple
auto_reschedule_checks=1
Cette option dtermine si Nagios va essayer de r-ordonnancer automatiquement les services de vri-
cation actifs des htes et services pour les lisser dans le temps. Ceci peut aider distribuer la charge
sur le serveur de surveillance car il va essayer de conserver un delta de temps cohrent entre deux
vrications. La contrainte tant que l'ordonnancement sera plus strict.
AVERTISSEMENT
ATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VER-
SIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEU
DE LES AMELIORER, SI ELLE EST MAL UTILISEE.
Format
auto_rescheduling_interval=<seconds>
Exemple
auto_rescheduling_interval=30
Cette option dtermine la frquence (en secondes) de rordonnancement automatique. Cette option
n'a d'eet que si l'option de rordonnancement automatique est active. La valeur par dfaut est de 30
secondes.
AVERTISSEMENT
ATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VER-
SIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEU
DE LES AMELIORER, SI ELLE EST MAL UTILISEE.
Format
auto_rescheduling_window=<seconds>
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
83 / 379
Exemple
auto_rescheduling_window=180
Cette option dtermine la fentre de temps (en seconde) sur laquelle Nagios va porter le rordon-
nancement 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 VER-
SIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEU
DE LES AMELIORER, SI ELLE EST MAL UTILISEE.
Format
use_aggressive_host_checking=<0/1>
Exemple
use_aggressive_host_checking=0
[NdT] : cette option comporte deux g aggressive depuis la version 2. Elle n'en comprenait qu'un
auparavant.Nagios essaye d'tre plus malin dans la faon et le moment de contrler l'tat des htes.
En gnral, dsactiver cette option permet Nagios d'tre un peu plus malin et de faire les contrles
plus vite. Activer cette option revient ralentir le contrle des htes, mais peut amliorer la sret de
fonctionnement. A moins que Nagios ne parvienne pas dtecter le rtablissement d'un de vos htes,
je vous suggre de ne pas activer cette option.
Format
translate_passive_host_checks=<0/1>
Exemple
translate_passive_host_checks=1
Cette option dtermine si Nagios peut traduire ou non l'tat DOWN/UNREACHABLE d'un contrle
passif en l'tat correct en considrant un point de vue d'une instance Nagios locale. Cette option peut
s'avrer vraiment utile lors d'installation de type distribue. Plus d'informations sur la traduction
d'tat passif peuvent tre trouvs ici.
Format
passive_host_checks_are_soft=<0/1>
Exemple
passive_host_checks_are_soft=1
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
84 / 379
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.
Format
enable_predictive_host_dependency_checks=<0/1>
Exemple
enable_predictive_host_dependency_checks=1
Cette option dtermine si Nagios excutera ou non des contrles prdictifs sur les htes dpendant
(comme dnit dans dpendance d'htes) d'un hte particulier quand celui ci change d'tat. Les con-
trles prdictifs permettent de s'assurer que la logique de dpendance est aussi prcise que possible.
Plus d'informations sur le fonctionnement des contrles prdictifs peuvent tre trouves ici
0 = Dsactiver les contrles prdictifs
1 = Activer les contrles prdictifs (par dfaut)
Format
enable_predictive_service_dependency_checks=<0/1>
Exemple
enable_predictive_service_dependency_checks=1
Cette option dtermine si Nagios excutera ou non des contrles prdictifs sur les services dpendants
(comme dni dans dpendance de service) d'un service particulier quand celui ci change d'tat.
Les contrles prdictifs permettent de s'assurer que la logique de dpendance est aussi prcise que
possible. Plus d'informations sur le fonctionnement des contrles prdictifs peuvent tre trouves ici
FIXME
0 = Dsactiver les contrles prdictifs
1 = Activer les contrles prdictifs (par dfaut)
Format
cached_host_check_horizon=<seconds>
Exemple
cached_host_check_horizon=15
Cette option dtermine le temps maximum (en secondes) pour que l'tat d'un prcdent contrle
d'hte soit considr comme courant. Le cache d'tat d'htes (du point de vue des contrles d'htes
qui ont t eectus plus rcemment que le temps spci par cette valeur) peut amliorer consid-
rablement les performances pour les contrles d'htes. Une valeur trop leve pour cette option peut
se traduire par des tats d'htes (temporairement) ronns, alors qu'une valeur trop basse se traduira
par un croulement des performances pour les contrles d'htes. Utiliser la valeur 0 pour dsactiver
le cache de contrle des htes. Plus d'informations concernant le cache des contrles peuvent tre
trouves ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
85 / 379
Format
cached_service_check_horizon=<seconds>
Exemple
cached_service_check_horizon=15
Cette option permet de dnir le temps maximum (en secondes) pour que l'tat d'un prcdent con-
trle de service soit considr comme courant. Le cache d'tat de service (Pour les contrles de ser-
vices qui sont eectus en avance par rapport l'intervalle spci par cette valeur) peut amliorer
la performance des contrles quand un nombre important de dpendances de services est utilis.
Une valeur trop haute pour cette option se soldera par une manque de prcision dans la logique de
dpendance des services. Positionnez cette valeur 0 si vous voulez dsactiver le cache de contrle
de service. Plus d'informations sur le cache de contrles peuvent tre trouves ici.
Format
use_large_installation_tweaks=<0/1>
Exemple
use_large_installation_tweaks=0
Cette option dtermine si Nagios utilisera dirents raccourcis pour amliorer les performances. Ces
raccourcis font perdre quelques fonctionnalits, mais ils apportent de gros gains sur des primtres
importants. Plus d'informations sur ces optimisations quand vous activez cette option peuvent tre
trouves ici.
Format
free_child_process_memory=<0/1>
Exemple
free_child_process_memory=0
Cette option permet de dterminer si Nagios librera la mmoire utilise par les processus enfant
quand il seront arrivs en n de traitement. Par dfaut, Nagios libre la mmoire. Ce
Format
child_processes_fork_twice=<0/1>
Exemple
child_processes_fork_twice=0
Cette option dtermine si nagios doit forker ou non en double les processus enfants quand il ex-
cute des contrle d'hte et de service. Par dfaut, Nagios fork en double. Cependant, si l'option
use_large_installation_tweaks est active, il ne fera qu'un fork. En dclarant cette option dans votre
chier de conguration, vous avez la possibilit de changer ce comportement.
Format
enable_environment_macros=<0/1>
Exemple
enable_environment_macros=0
Cette option dtermine si oui ou non le dmon Nagios peut considrer toutes les macros standard
comme des variables d'environnements pour vos contrles, notications, dclencheur d'vnement,
etc Dans de grands primtres de production, ceci peut tre problmatique car une utilisation m-
moire et CPU supplmentaire est utile pour convertir ces macros en variables d'environnements.
Format
enable_flap_detection=<0/1>
Exemple
enable_flap_detection=0
Cette option dtermine si Nagios essaiera de dtecter les htes et les services qui oscillent. L'oscilla-
tion apparat lorsqu'un hte ou un service change d'tat trop frquemment, causant l'mission d'une
montagne de notications. Quand Nagios dtecte qu'un hte ou un service oscille, il supprime tem-
porairement les notications pour cet hte/service jusqu' ce qu'il arrte d'osciller.
Attention
La dtection de l'oscillation est encore au stade exprimental, utilisez donc cette fonctionnalit
avec prudence ! Pour plus d'informations sur la dtection et la gestion des oscillations, lisez
ceci.
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 mmorisa-
tion 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'inter-
face web.
Format
low_service_flap_threshold=<percent>
Exemple
low_service_flap_threshold=25.0
Cette option permet de donner le seuil infrieur pour la dtection de l'oscillation d'un service. Pour
plus d'informations sur la dtection et la gestion des oscillations (et comment cette variable les af-
fecte), lisez ceci.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
87 / 379
Format
high_service_flap_threshold=<percent>
Exemple
high_service_flap_threshold=50.0
Cette option permet de donner le seuil suprieur pour la dtection de l'oscillation d'un service. Pour
plus d'informations sur la dtection et la gestion des oscillations (et comment cette variable les af-
fecte), lisez ceci.
Format
low_host_flap_threshold=<percent>
Exemple
low_host_flap_threshold=25.0
Cette option permet de donner le seuil infrieur pour la dtection de l'oscillation d'un hte. Pour plus
d'informations sur la dtection et la gestion des oscillations (et comment cette variable les aecte),
lisez ceci.
Format
high_host_flap_threshold=<percent>
Exemple
high_host_flap_threshold=50.0
Cette option permet de donner le seuil suprieur pour la dtection de l'oscillation d'un hte. Pour plus
d'informations sur la dtection et la gestion des oscillations (et comment cette variable les aecte),
lisez ceci.
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.
Format
service_check_timeout=<seconds>
Exemple
service_check_timeout=60
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un contrle de service.
Si le contrle dpasse cette limite, il est tu et un tat CRITICAL est retourn. Une erreur de dpasse-
ment de dlai est galement journalise.
Il existe la confusion la plus totale sur ce que cette option fait vraiment. Elle est l comme dernier
rempart, pour tuer les plugins qui se comportent mal, ou ne se sont pas termins correctement. Il faut
la positionner une valeur haute (quelque chose comme 60s), de manire ce que tout contrle ait le
temps de se terminer avant cette limite. Si le contrle du service prend plus de temps pour s'excuter,
Nagios le tuera, pensant que c'est un processus ayant des problmes d'excution.
Format
host_check_timeout=<seconds>
Exemple
host_check_timeout=60
C'est le nombre maximal de secondes pendant lesquelles Nagios laissera tourner un contrle d'hte.
Si le contrle dpasse cette limite, il est tu et un tat CRITICAL est retourn, et l'hte sera suppos
tre dans l'tat DOWN. Une erreur de dpassement de dlai est galement journalise.
Il existe galement la confusion la plus totale sur ce que cette option fait vraiment. Elle est l comme
dernier rempart, pour tuer les plugin qui se comportent mal ou ne se sont pas termins correctement.
Il faut la positionner une valeur haute (quelque chose comme 60s), de manire ce que tout contrle
ait le temps de se terminer avant cette limite. Si le contrle de l'hte prend plus de temps pour
s'excuter, Nagios le tuera, pensant que c'est un processus ayant des problmes d'excution.
Format
event_handler_timeout=<seconds>
Exemple
event_handler_timeout=60
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un gestionnaire d'vne-
ment. Si un gestionnaire d'vnement dpasse cette limite il sera tu et une alerte sera journalise.
Il existe l aussi, comme prcdemment, la confusion la plus totale sur ce que cette option fait vrai-
ment. Elle est l comme dernier rempart, pour tuer les plugins qui se comportent 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 le contrle du ges-
tionnaire d'vnement prend plus de temps pour s'excuter, Nagios le tuera, pensant que c'est un
processus ayant des problmes d'excution.
Format
notification_timeout=<seconds>
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
89 / 379
Exemple
notification_timeout=60
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de no-
tication. Si une commande de notication dpasse cette limite elle sera tue et une alerte sera jour-
nalise.
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 position-
ner 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.
Format
ocsp_timeout=<seconds>
Exemple
ocsp_timeout=5
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de re-
monte de contrle de service .Si une commande dpasse cette limite, elle sera tue et une alerte
sera journalise.
Format
ochp_timeout=<seconds>
Exemple
ochp_timeout=5
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une ochp_command. Si
une commande dpasse cette limite, elle sera tue et une alerte sera journalise.
Format
perfdata_timeout=<seconds>
Exemple
perfdata_timeout=5
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de traite-
ment des donnes lies aux performance d'un hte ou de traitement des donnes lies aux perfor-
mances d'un service .Si une commande dpasse cette limite, elle sera tue et une alerte sera journal-
ise.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
90 / 379
Format
obsess_over_services=<0/1>
Exemple
obsess_over_services=1
Cette variable dtermine si Nagios remontera les rsultats de contrles de service et lancera la com-
mande de remonte de contrle de service que vous avez dnie. Je sais que c'est un drle de nom
[en anglais obsessive compulsive service processor], mais c'est tout ce qui m'est venu l'esprit. Cette
option est utile dans le cadre de la supervision rpartie .Si vous ne faites pas de supervision rpartie,
n'activez pas cette option.
Format
ocsp_command=<command>
Exemple
ocsp_command=obsessive_service_handler
Cette option dnit la commande lancer aprs chaque contrle de service, 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 supervi-
sion rpartie. Le temps d'excution maximal de cette commande est dtermin par la variable Sec-
tion17.3.80 .Vous trouverez plus d'informations sur la supervision rpartie ici. Cette commande est
seulement excute que si la variable Section17.3.83 est entirement active et que si le paramtre
obsess_over_service dans la dnition du service l'est aussi.
Format
obsess_over_hosts=<0/1>
Exemple
obsess_over_hosts=1
Cette variable dtermine si Nagios remontera les rsultats de contrles d'htes et lancera la com-
mande de remonte de contrle d'hte que vous avez dnie. Je sais que c'est un drle de nom [en
anglais obsessive compulsive host processor], mais c'est tout ce qui m'est venu l'esprit. Cette op-
tion est utile dans le cadre de la supervision rpartie. Si vous ne faites pas de supervision rpartie,
n'activez pas cette option.
Format
ochp_command=<command>
Exemple
ochp_command=obsessive_host_handler
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
91 / 379
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 supervi-
sion rpartie. Le temps d'excution maximal de cette commande est dtermin par la variable Sec-
tion17.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.
Format
process_performance_data=<0/1>
Exemple
process_performance_data=1
Cette valeur dtermine si Nagios traitera les donnes lies aux performances des contrles d'htes et
de services.
Format
host_perfdata_command=<command>
Exemple
host_perfdata_command=process-host-perfdata
Cette option vous permet de spcier une commande qui sera lance aprs chaque vrication d'hte
pour traiter les donnes de performance qui peuvent tre retournes aprs la vrication. L'argument
commande est le nom court d'une dnition de commande que vous avez dnie dans le chier de
conguration des objets. Cette commande est excute si l'option de Section17.3.87 est active et si
le paramtre process_perf_data ([NdT] : traitement des donnes de performance) dans la dnition
de l'hte l'est aussi.
Format
service_perfdata_command=<command>
Exemple
service_perfdata_command=process-service-perfdata
Cette option vous permet de spcier une commande qui sera lance aprs chaque vrication de
service pour traiter les donnes de performance qui peuvent tre retournes aprs la vrication.
L'argument commande est le nom court d'une dnition de commande que vous avez dnie dans le
chier de conguration des objets. Cette commande est excute si l'option de traitement des donnes
de performance est active et si le paramtre process_perf_data ([NdT] : traitement des donnes de
performance) est activ dans la dnition du service. Cette commande est seulement excut que si
la variable Section17.3.83 est entirement active et que si le paramtre process_perf_data dans
la dnition du service l'est aussi.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
92 / 379
Format
host_perfdata_file=<file_name>
Exemple
host_perfdata_file=/usr/local/nagios/var/host-perfdata.dat
Cette option vous permet de spcier un chier dans lequel les donnes de performance vont tre
crites aprs chaque vrication d'hte. Les donnes seront crites dans ce chier comme spci
dans le Section17.3.92 .Les donnes ne seront crites que si l'option de Section17.3.87 est active et
si le paramtre process_perf_data ([NdT] : traitement des donnes de performance) est activ dans
la dnition de l'hte. process_perf_data que si le paramtre dans la dnition de l'hte l'est aussi.
Format
service_perfdata_file=<file_name>
Exemple
service_perfdata_file=/usr/local/nagios/var/service-perfdata.dat
Cette option vous permet de spcier un chier dans lequel les donnes de performance vont tre
crites aprs chaque vrication de service. Les donnes seront crites dans ce chier comme spci
dans le Section17.3.93 .Les donnes ne seront crites que si l'option de Section17.3.87 est active et
si le paramtre process_perf_data ([NdT] : traitement des donnes de performance) est activ dans
la dnition du service. Cette commande est seulement excut que si la variable Section17.3.83
est entirement active et que si le paramtre process_perf_data dans la dnition du service l'est
aussi.
Format
host_perfdata_file_template=<template>
Exemple
host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONT-
IME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$
Cette option dtermine ce qui va tre crit (et comment) dans le chier de performance des htes .Le
patron peut contenir des macros, des caractres spciaux (\t pour une tabulation, \r un retour charriot,
\n pour un retour la ligne). Un retour la ligne est ajout aprs chaque criture des donnes de
performance.
Format
service_perfdata_file_template=<template>
Exemple
service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICED-
ESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDAT-
A$
Cette option dtermine ce qui va tre crit (et comment) dans le chier de performance des services
.Le patron peut contenir des macros, des caractres spciaux (\t pour une tabulation, \r un retour
charriot, \n pour un retour la ligne). Un retour la ligne est ajout aprs chaque criture des
donnes de performance.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
93 / 379
Format
host_perfdata_file_mode=<mode>
Exemple
host_perfdata_file_mode=a
Cette option dtermine si le chier de performance des htes est ouvert en mode crasement ou ajout.
A moins que le chier ne soit un tube nomm [named pipe], vous voudrez certainement utiliser l'option
par dfaut ajout.
Format
service_perfdata_file_mode=<mode>
Exemple
service_perfdata_file_mode=a
Cette option dtermine si le chier de performance des services est ouvert en mode crasement ou
ajout. A moins que le chier ne soit un tube nomm [named pipe], vous voudrez certainement utiliser
l'option par dfaut ajout.
Format
host_perfdata_file_processing_interval=<seconds>
Exemple
host_perfdata_file_processing_interval=0
Cette option vous permet de spcier l'intervalle (en secondes) entre deux traitements du chier de
performance des htes par la commande de performance lie aux htes .Une valeur de 0 signie que
le traitement n'aura pas lieu de manire rgulire.
Format
service_perfdata_file_processing_interval=<seconds>
Exemple
service_perfdata_file_processing_interval=0
Cette option vous permet de spcier l'intervalle (en secondes) entre deux traitements du chier de
performance des services par la commande de performance lie aux services .Une valeur de 0 signie
que le traitement n'aura pas lieu de manire rgulire.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
94 / 379
Format
host_perfdata_file_processing_command=<command>
Exemple
host_perfdata_file_processing_command=process-host-perfdata-file
Cette option vous permet de dnir la commande qui sera excute pour le tratement du chier de
performance des htes .L'argument commande est le nom court d'une dnition de commande que
vous avez dnie dans le chier de conguration des objets. L'intervalle entre deux traitements est
indiqu par l'intervalle de traitement du chier de performance des htes .
Format
service_perfdata_file_processing_command=<command>
Exemple
service_perfdata_file_processing_command=process-service-perfdata-file
Cette option vous permet de dnir la commande qui sera excute pour le tratement du chier de
performance des services .L'argument commande est le nom court d'une dnition de commande que
vous avez dnie dans le chier de conguration des objets. L'intervalle entre deux traitements est
indiqu par Section17.3.97 .
Format
check_for_orphaned_services=<0/1>
Exemple
check_for_orphaned_services=1
Cette option vous permet d'activer ou dsactiver la vrication des contrles de service orphelins.
Les contrles de service 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 ce service, il n'est pas rordonnanc dans la le d'vne-
ments. Cela peut causer l'arrt des contrles du service. 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 service.
Si cette option est active et que Nagios s'aperoit qu'un rsultat de contrle de service particulier
ne revient pas, il journalisera un message d'erreur, et rordonnancera le contrle de service. Si vous
constatez que certains contrles de service semblent n'tre jamais rordonnancs, activez cette option
et cherchez dans les journaux, des messages concernant des services orphelins.
Format
check_for_orphaned_hosts=<0/1>
Exemple
check_for_orphaned_hosts=1
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
95 / 379
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 vne-
ments, 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'vne-
ments. 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.
Format
check_service_freshness=<0/1>
Exemple
check_service_freshness=0
Cette option dtermine si Nagios va contrler ou non priodiquement la validit des donnes d'un
service. L'activation de cette option aide contrler que les contrles de service passifs sont reus
en temps et en heure. On peut trouver plus d'informations sur cette option ici.
Format
service_freshness_check_interval=<seconds>
Exemple
service_freshness_check_interval=60
Cette option dtermine l'intervalle de temps (en secondes) entre deux contrles de validit des don-
nes d'un service. Si vous avez dsactiv ce service, avec l'option de contrle de validit des donnes
d'un service ,cette option n'a pas d'eet. Vous pouvez trouver plus d'informations sur ce service ici.
Format
check_host_freshness=<0/1>
Exemple
check_host_freshness=0
Cette option dtermine si Nagios va contrler ou non priodiquement la validit des donnes d'un
hte. L'activation de cette option aide contrler que les contrles passifs des htes sont reus en
temps et en heure. On peut trouver plus d'informations sur cette option ici.
Format
host_freshness_check_interval=<seconds>
Exemple
host_freshness_check_interval=60
Cette option dtermine l'intervalle de temps (en secondes) entre deux contrles de validit des don-
nes d'un hte. Si vous avez dsactiv ce service, avec l'option de contrle de validit des donnes
d'un hte ,cette option n'a pas d'eet. Vous pouvez trouver plus d'informations sur ce service ici.
Format
additional_freshness_latency=<#>
Exemple
additional_freshness_latency=15
Cette option dtermine le nombres de secondes que Nagios ajoutera pour qu'un hte ou un service se
rafraichisse (Ce n'est pas dtermin nativement par l'utilisateur). Vous trouverez plus d'informations
ici.
Format
enable_embedded_perl=<0/1>
Exemple
enable_embedded_perl=1
Cette option dtermine ou non si l'interprteur Perl est activ dans le cur du programme. Nagios
doit tre compil en prcisant cette option pour que ce paramtrage soit oprationnel. Vous trouverez
plus d'informations ce sujet ici.
Format
use_embedded_perl_implicitly=<0/1>
Exemple
use_embedded_perl_implicitly=1
Cette option dtermine si oui ou non l'interprteur Perl sera utilis lors d'utilisation de plugins/scripts
perl. Nagios doit tre compil en prcisant cette option pour que ce paramtrage soit oprationnel.
Vous trouverez plus d'informations ce sujet ici.
Format
date_format=<option>
Exemple
date_format=us
Cette option spcie le format de date que Nagios utilisera dans l'interface web. Les options possibles
sont :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
97 / 379
Format
use_timezone=<tz>
Exemple
use_timezone=US/Mountain
Cette option vous autorise dnir la plage horaire par dfaut l'instance Nagios. Ceci est trs
utile si vous possdez plusieurs instances Nagios tournant sur le mme serveur, mais avec direntes
localits associes. Si vous ne spciez rien, Nagios prend celle du systme par dfaut.
Note
Si vous utilisez cette option de plage horaire personnalise, vous allez devoir modier des paramtres
dans les chiers de congurations d'Apache concernant les CGIs comme dans l'exemple suivant :
<Directory "/usr/local/nagios/sbin/">
SetEnv TZ "US/Mountain"
...
</Directory>
Format
illegal_object_name_chars=<chars...>
Exemple
illegal_object_name_chars= ~!$%&*"|'<>?,()=
Cette option vous permet de spcier quels sont les caractres illgaux dans les noms d'objets, tels
qu'htes, services et autres. Nagios vous autorisera la plupart des caractres dans les dnitions
d'objets, mais je recommande de ne pas utiliser les caractres ci-dessus. Le faire vous expose des
problmes dans l'interface web, les notications de commandes, etc.
Format
illegal_macro_output_chars=<chars...>
Exemple
illegal_macro_output_chars= ~$&"|'<>
Cette option vous permet de spcier les caractres illgaux qui seront ltrs dans les macros, avant
qu'elles ne soient utilises dans les notications, les gestionnaires d'vnements et autres comman-
des. Ceci n'aecte pas les macros utilises dans les contrles des services ou des htes. Vous pouvez
choisir de ne pas ltrer les caractres donns en exemple ci-dessus, mais je vous le le dconseille.
Quelques uns d'entre eux sont interprts par le shell ( par exemple, le ) et peuvent poser des prob-
lmes de scurit. Les macros suivantes sont dbarrasses des caractres spcis dans l'option :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
98 / 379
$HOSTOUTPUT$
$HOSTPERFDATA$
$HOSTACKAUTHOR$
$HOSTACKCOMMENT$
$SERVICEOUTPUT$
$SERVICEPERFDATA$
$SERVICEACKAUTHOR$
$SERVICEACKCOMMENT$
Format
use_regexp_matching=<0/1>
Exemple
use_regexp_matching=0
Cette option dtermine si les paramtres dans vos dnitions d'objet seront traits comme des ex-
pressions rationnelles. Vous pouvez trouver plus d'informations sur ce service ici.
Format
use_true_regexp_matching=<0/1>
Exemple
use_true_regexp_matching=0
Si vous avez activ la concordance par expression rationnelle, cette option va dterminer quand les
paramtres vont tre traits comme des expressions rationnelles : * Si cette option est dsactive
(par dfaut), les paramtres seront traits comme des expression rationnelles uniquement si elles
contiennent un *, ?, +, ou un \ * Si cette option est active, toutes les paramtres seront traits
comme des expressions rationnelles. Fates trs attention lorsque vous activez cette option ! Pour
plus d'informations, lisez ceci.
Format
admin_email=<email_address>
Exemple
admin_email=root@localhost.localdomain
C'est l'adresse mail de l'administrateur local de la machine (i.e. celle sur laquelle Nagios tourne).
Cette valeur peut tre utilise dans les commandes de notication grce la macro $ADMINEMAIL$.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
99 / 379
Format
admin_pager=<pager_number_or_pager_email_gateway>
Exemple
admin_pager=pageroot@localhost.localdomain
C'est le numro du pager (ou la passerelle pager-email) de l'administrateur de la machine locale
(i.e. celle sur laquelle Nagios tourne). Le numro ou l'adresse de pager peut tre utilis dans les
commandes de notication grce la macro $ADMINPAGER$ .
Format
event_broker_options=<#>
Exemple
event_broker_options=-1
Cette option contrle que les donnes (si plusieurs) seront envoyes au courtier d'vnement et, en-
suite, charges dans le module du courtier d'vnement. Il s'agit d'une option avance. Dans le doute,
ne transportez rien (si vous n'utilisez aucun modules) ou choisissez de tout transporter (si vous utilisez
des modules). Les valeurs possibles sont les suivantes :
0 = Rien transporter
-1 = Tout transporter
# = Regardez la dnition de BROKER_* dans le code source (include/broker.h) pour d'autres
valeurs qui pourront tre dnies pour plus tard
Format
broker_module=<modulepath> [moduleargs]
Exemple
broker_module=/usr/local/nagios/bin/ndomod.o cfg_file=/usr/local/nagios/etc/ndom-
od.cfg
Ce paramtre est particulirement utilis pour que le module vnementiel soit charg au dmarrage
de Nagios. On peut utiliser plusieurs de ces mmes paramtres si l'on veut en charger plusieurs. Les
arguments passs au module seront spars par un espace.
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 :
Format
debug_file=<file_name>
Exemple
debug_file=/usr/local/nagios/var/nagios.debug
Cette option dtermine si oui ou non Nagios peut crire des informations de dbogage. La prcision
des informations que Nagios crit dpend des options debug_level et debug_verbosity. Vous pouvez
automatiquement grer la rotation du chier de dbogage en fonction de sa taille en utilisant l'option
Section17.3.122
Format
debug_level=<#>
Exemple
debug_level=24
Cette option dtermine quel type d'information Nagios doit crire dans Section17.3.119.Les valeurs
possibles sont les suivantes :
-1 = Tout logguer
0 = Ne rien logguer (par dfaut)
1 = Les informations des fonctions d'I/O
2 = Les informations lies la conguration
4 = Les informations lies aux excutions
8 = Les informations lies aux planicationx des vnements
16 = Les informations lies aux htes et aux services
32 = Les informations sur les notications
64 = Les informations lies au courtier d'vnement
Format
debug_verbosity=<#>
Exemple
debug_verbosity=1
Cette option dtermine la quantit d'information de dbogage que Nagios doit crire dans le chier
de dbogage .
0 = Information de base
1 = Information plus dtaille (par dfaut)
2 = Information trs dtaille
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
101 / 379
Format
max_debug_file_size=<#>
Exemple
max_debug_file_size=1000000
Cette option dtermine la taille maximum (en octets) du chier de dbogage .Si le chier dpasse la
taille que vous avez indiqu, il sera renomm avec une extension en .old. Si le chier .old existe dj,
il sera automatiquement eac. Cette option vous permet de garder un contrle sur l'espace disque
que Nagios prend quand il se trouve en mode de dbogage.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
102 / 379
Chapitre 18
Les objets reprsentent l'ensemble de tous les lments entrants en compte dans la logique de surveil-
lance et de notication. Les types de dntions d'objet sont les suivants :
Services
Groupes de services
Htes
Groupes d'htes
Contacts
Groupes de contacts
Commandes
Priodes de temps
Escalades de notications
Dpendances d'excution et de notication
Plus d'informations sur les types d'objets et comment ils interagissent les uns avec les autres peut
tre trouve ci-dessous.
Les donnes des objets sont dnies dans un ou plusieurs chiers de conguration que vous dclarez
en utilisant les paramtres cfg_le et/ou cfg_dir dans le chier de conguration principal.
ASTUCE
Quand vous suivez le guide de dmarrage rapide ,plusieurs chiers exemple de conguration d'objets
sont installs dans le dossier /usr/local/nagios/etc/objects/. Vous pouvez utiliser ces chiers
d'exemple pour voir comme fonctionne l'hritage entre objets et pour apprendre comment dnir
vos propres dnitions d'objets.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
103 / 379
Les dnitions des objets se font travers un systme de gabarit qui vous permet une gestion beau-
coup plus aise de vos chiers de conguration sur le long terme. Les informations de base sur la
faon de dnir les objets dans vos chier de conguration se trouvent ici.
Quand vous serez plus familier avec les dnitions d'objets, vous devriez approfondir le concept en
lisant l'hritage d'objet. Ce document vous permet de rendre votre conguration plus prenne dans
le futur. Les utilisateurs occasionnels peuvent utiliser les fonctions avances des dnitions d'objets
comme indiqu dans la documentation trucs et astuces sur les objets.
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 impor-
tants 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 sou-
vent les connexions relles entre ces htes, qui sont utilises dans la logique de rupture de la con-
tinuit du rseau .
Les Groupes d'Htes permettent de regrouper un ou plusieurs htes ensemble. Les groupes d'htes
peuvent vous rendre la vue d'tat plus facile pour plusieurs htes en relation dans l'interface web de
Nagios (1) et simplient votre conguration (2) par l'utilisation de trucs et astuces sur les objets .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
104 / 379
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.)
Les Groupes de Services permettent de regrouper un ou plusieurs services ensemble. Les groupes
de services peuvent vous rendre la vue d'tat plus facile pour plusieurs services en relation dans
l'interface web de Nagios (1) et simplient votre conguration (2) par l'utilisation de trucs et astuces
sur les objets .
18.4.5 Contacts
Les contacts peuvent avoir un ou plusieurs moyens de notication (mobile, pager, courrier lectron-
ique, messagerie instantane, etc.)
Les contacts reoivent des notications pour les htes et services dont ils sont responsables
Les Groupes de Contacts permettent de regrouper un ou plusieurs contacts ensemble. Les groupes
de contacts peuvent vous aider dnir de faon plus simple qui doit tre noti quand surviennent
des problmes sur un hte ou un service.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
105 / 379
18.4.8 Commandes
Les Commandes sont utilises pour indiquer Nagios quels programmes, scripts, etc. il doit excuter
pour assurer :
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 fa-
miliarisez 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
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 cong-
uration. 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
107 / 379
Note
Des exemples de chiers de conguration sont installs dans le rpertoire /usr/local/nagios/etc/
quand vous suivez le guide d'installation rapide .
Dnitions d'htes
Dnitions de groupes d'htes
Dnitions de services
Dnitions de groupes de services
Dnitions de contacts
Dnitions de groupes de contacts
Dnitions de priodes de temps
Dnitions de commandes
Dnitions de dpendances de services
Dnitions d'escalades de services
Dnitions de dpendances d'hotes
Dnitions d'escalades d'htes
Dnitions d'informations tendues d'htes
Dnitions d'informations tendues de services
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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene host{
host_name host_name
alias alias
display_name display_name
address address
parents host_names
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
108 / 379
hostgroups hostgroup_names
check_command command_name
initial_state [o,d,u]
max_check_attempts #
check_interval #
retry_interval #
active_checks_enabled [0/1]
passive_checks_enabled [0/1]
check_period timeperiod_name
obsess_over_host [0/1]
check_freshness [0/1]
freshness_threshold #
event_handler command_name
event_handler_enabled [0/1]
low_ap_threshold #
high_ap_threshold #
ap_detection_enabled [0/1]
ap_detection_options [o,d,u]
process_perf_data [0/1]
retain_status_information [0/1]
retain_nonstatus_information [0/1]
contacts contacts
contact_groups contact_groups
notication_interval #
rst_notication_delay #
notication_period timeperiod_name
notication_options [d,u,r,f,s]
notications_enabled [0/1]
stalking_options [o,d,u]
notes note_string
notes_url url
action_url url
icon_image image_le
icon_image_alt alt_string
vrml_image image_le
statusmap_image image_le
2d_coords x_coord,y_coord
3d_coords x_coord,y_coord,z_coord
}
define host {
host_name bogus-router
alias Bogus Router #1
address 192.168.1.254
parents server-backbone
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24x7
process_perf_data 0
retain_nonstatus_information 0
contact_groups router-admins
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
109 / 379
notification_interval 30
notification_period 24x7
notification_options d,u,r
}
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 reprsen-
tant 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 consid-
r 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
110 / 379
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'in-
formations 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
111 / 379
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 r-
tention 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
112 / 379
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 re-
notier 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 = m-
morisation 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 suppl-
mentaires 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'im-
porte 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
113 / 379
tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations d-
tailles 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 supplmen-
taires 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'im-
porte 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'at-
tribut 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 sta-
tusmap. 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 sta-
tusmap. 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 coor-
donnes 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 sta-
tuswrl. Les coordonnes peuvent tre des nombres positifs ou ngatifs. Le dpart du dessin est
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
114 / 379
(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.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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene hostgroup{
hostgroup_name hostgroup_name
alias alias
members hosts
hostgroup_members hostgroups
notes note_string
notes_url url
action_url url
}
define hostgroup {
hostgroup_name novell-servers
alias Novell Servers
members netware1,netware2,netware3,netware4
}
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 alter-
native (ou en complment) la variable hostgroups dans les dnitions d'htes .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
115 / 379
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 sup-
plmentaires 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 ex-
emple /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 supplmen-
taires 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.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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene service{
host_name host_name
hostgroup_name hostgroup_name
service_description service_description
display_name display_name
servicegroups servicegroup_names
is_volatile [0/1]
check_command command_name
initial_state [o,w,u,c]
max_check_attempts #
check_interval #
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
116 / 379
retry_interval #
active_checks_enabled [0/1]
passive_checks_enabled [0/1]
check_period timeperiod_name
obsess_over_service [0/1]
check_freshness [0/1]
freshness_threshold #
event_handler command_name
event_handler_enabled [0/1]
low_ap_threshold #
high_ap_threshold #
ap_detection_enabled [0/1]
ap_detection_options [o,w,c,u]
process_perf_data [0/1]
retain_status_information [0/1]
retain_nonstatus_information [0/1]
notication_interval #
rst_notication_delay #
notication_period timeperiod_name
notication_options [w,u,c,r,f,s]
notications_enabled [0/1]
contacts contacts
contact_groups contact_groups
stalking_options [o,w,u,c]
notes note_string
notes_url url
action_url url
icon_image image_le
icon_image_alt alt_string
}
define service {
host_name linux-server
service_description check-disk-sda1
check_command check-disk!/dev/sda1
max_check_attempts 5
check_interval 5
retry_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups linux-admins
}
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
117 / 379
hostgroup_name
Cette variable est utilise pour prciser le nom court de(s) groupe(s) d'htes sur lequel le ser-
vice 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 con-
trl 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
118 / 379
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'explica-
tions 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 :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
119 / 379
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'at-
tribut 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.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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene servicegroup{
servicegroup_name servicegroup_name
alias alias
members services
servicegroup_members servicegroups
notes note_string
notes_url url
action_url url
}
define servicegroup {
servicegroup_name dbservices
alias Database Services
members ms1,SQL Server,ms1,SQL Serverc Agent,ms1,SQL DTC
}
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
122 / 379
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 service-
groups 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 suppl-
mentaires 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 ex-
emple /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 supplmen-
taires 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.1 Description
La dnition de contact est utilise pour identifer quelqu'un qui doit tre contact dans le cas de prob-
lmes sur votre rseau. Les dirents arguments d'une dnition de contact sont dcrits ci-dessous.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene contact{
contact_name contact_name
alias alias
contactgroups contactgroup_names
host_notications_enabled [0/1]
service_notications_enabled [0/1]
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
123 / 379
host_notication_period timeperiod_name
service_notication_period timeperiod_name
host_notication_options [d,u,r,f,s,n]
service_notication_options [w,u,c,r,f,s,n]
host_notication_commands command_name
service_notication_commands command_name
email email_address
pager pager_number ou pager_email_gateway
addressx additional_contact_address
can_submit_commands [0/1]
retain_status_information [0/1]
retain_nonstatus_information [0/1]
}
define contact {
contact_name jdoe
alias John Doe
host_notifications_enabled 1
service_notifications_enabled 1
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email jdoe@localhost.localdomain
pager 555-5555@pagergateway.localhost.localdomain
address1 xxxxx.xyyy@icq.com
address2 555-555-5555
can_submit_commands 1
}
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 $CONTACT-
NAME$ 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
124 / 379
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 gale-
ment 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.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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
126 / 379
dene contactgroup{
contactgroup_name contactgroup_name
alias alias
members contacts
contactgroup_members contactgroups
}
define contactgroup {
contactgroup_name novell-admins
alias Novell Administrators
members jdoe,rtobert,tzach
}
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.1 Description
Une priode de temps est une liste de plages horaires comprises sur plusieurs jours qui sont con-
sidres 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 partic-
ulier, jours de mois gnraux tous les mois, jours de certains mois et dates de calendrier.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene timeperiod{
timeperiod_name timeperiod_name
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
127 / 379
alias alias
[weekday] timeranges
[exception] timeranges
[timeperiod1,timeperiod2,,timeperiodn]
exclusion
}
define timeperiod {
timeperiod_name nonworkhours
alias Non-Work Hours
sunday 00:00-24:00 ; Every Sunday of every week
monday 00:00-09:00,17:00-24:00 ; Every Monday of every week
tuesday 00:00-09:00,17:00-24:00 ; Every Tuesday of every week
wednesday 00:00-09:00,17:00-24:00 ; Every Wednesday of every week
thursday 00:00-09:00,17:00-24:00 ; Every Thursday of every week
friday 00:00-09:00,17:00-24:00 ; Every Friday of every week
saturday 00:00-24:00 ; Every Saturday of every week
}
define timeperiod {
timeperiod_name misc-single-days
alias Misc Single Days
1999-01-28 00:00-24:00 ; January 28th, 1999
monday 3 00:00-24:00 ; 3rd Monday of every month
day 2 00:00-24:00 ; 2nd day of every month
february 10 00:00-24:00 ; February 10th of every year
february -1 00:00-24:00 ; Last day in February of every year
friday -2 00:00-24:00 ; 2nd to last Friday of every month
thursday -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 ; January 1st, 2007 to February 1st, 2008
monday 3 - thursday 4 00:00-24:00 ; 3rd Monday to 4th Thursday of every month
day 1 - 15 00:00-24:00 ; 1st to 15th day of every month
day 20 - -1 00:00-24:00 ; 20th to the last day of every month
july 10 - 15 00:00-24:00 ; July 10th to July 15th of every year
april 10 - may 15 00:00-24:00 ; April 10th to May 15th of every year
tuesday 1 april - friday 2 may 00:00-24:00 ; 1st Tuesday in April to 2nd Friday in -
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 ; Every 3 days from January 1st, 2007 to -
February 1st, 2008
2008-04-01 / 7 00:00-24:00 ; Every 7 days from April 1st, 2008 ( -
continuing forever)
monday 3 - thursday 4 / 2 00:00-24:00 ; Every other day from 3rd Monday to 4th -
Thursday of every month
day 1 - 15 / 5 00:00-24:00 ; Every 5 days from the 1st to the 15th day -
of every month
july 10 - 15 / 2 00:00-24:00 ; Every other day from July 10th to July 15 -
th of every year
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
128 / 379
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
}
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 est-
il 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.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'vne-
ments 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'infor-
mations 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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
129 / 379
dene command{
command_name command_name
command_line command_line
}
define command {
command_name check_pop
command_line /usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$
}
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 com-
mande 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 rem-
places 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 en-
toure 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 $U-
SERn$ 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 con-
trle 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.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 ser-
vices. 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
130 / 379
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 quel-
conque utilit.
dene servicedependency{
dependent_host_name host_name
dependent_hostgroup_name hostgroup_name
dependent_service_description service_description
host_name host_name
hostgroup_name hostgroup_name
service_description service_description
inherits_parent [0/1]
execution_failure_criteria [o,w,u,c,p,n]
notication_failure_criteria [o,w,u,c,p,n]
dependency_period timeperiod_name
}
define servicedependency {
host_name WWW1
service_description Apache Web Server
dependent_host_name WWW1
dependent_service_description Main Web Site
execution_failure_criteria n
notification_failure_criteria w,u,c
}
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
131 / 379
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 dpen-
dant 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.1 Description
Les escalades de services sont compltement optionnelles et sont utilises pour escalader les noti-
cations d'un service particulier. Plus d'informations sur le fonctionnement des escalades peuvent tre
trouves ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
132 / 379
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene serviceescalation{
host_name host_name
hostgroup_name hostgroup_name
service_description service_description
contacts contacts
contact_groups contactgroup_name
rst_notication #
last_notication #
notication_interval #
escalation_period timeperiod_name
escalation_options [w,u,c,r]
}
define serviceescalation {
host_name nt-3
service_description Processor Load
first_notification 4
last_notification 0
notification_interval 30
contact_groups all-nt-admins,themanagers
}
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 peu-
vent 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 ef-
fective. 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 notica-
tion soit envoye.
last_notication
Cette variable est un nombre identiant la dernire notication pour laquelle l'escalade est ef-
fective. 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).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
133 / 379
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 vir-
gules. 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 en-
voyer 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.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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
134 / 379
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene hostdependency{
dependent_host_name host_name
dependent_hostgroup_name hostgroup_name
host_name host_name
hostgroup_name hostgroup_name
inherits_parent [0/1]
execution_failure_criteria [o,d,u,p,n]
notication_failure_criteria [o,d,u,p,n]
dependency_period timeperiod_name
}
define hostdependency {
host_name WWW1
dependent_host_name DBASE1
notification_failure_criteria d,u
}
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_hostg-
roup_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).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
135 / 379
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.
Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
dene hostescalation{
host_name host_name
hostgroup_name hostgroup_name
contacts contacts
contact_groups contactgroup_name
rst_notication #
last_notication #
notication_interval #
escalation_period timeperiod_name
escalation_options [d,u,r]
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
136 / 379
define hostescalation {
host_name router-34
first_notification 5
last_notification 8
notification_interval 60
contact_groups all-router-admins
}
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 ef-
fective. 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 en-
voyer 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
137 / 379
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.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.
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 host_name
notes note_string
notes_url url
action_url url
icon_image image_le
icon_image_alt alt_string
vrml_image image_le
statusmap_image image_le
2d_coords x_coord,y_coord
3d_coords x_coord,y_coord,z_coord
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
138 / 379
define hostextinfo {
host_name netware1
notes This is the primary Netware file server
notes_url http://webserver.localhost.localdomain/hostinfo.pl?host=netware1
icon_image novell40.png
icon_image_alt IntranetWare 4.11
vrml_image novell40.png
statusmap_image novell40.gd2
2d_coords 100,250
3d_coords 100.0,50.0,75.0
}
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 suppl-
mentaires 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 supplmen-
taires 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'at-
tribut 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).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
139 / 379
statusmap_image
Cette variable est utlise pour dnir le nom d'une image associer l'hte dans le CGI sta-
tusmap. 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 sta-
tusmap. 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 coor-
donnes 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 sta-
tuswrl. 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.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 dni-
tions d'informations tendues de service spares continueront tre supportes pour conserver la
compatibilit avec les anciennes versions.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
140 / 379
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 serviceextinfo{
host_name host_name
service_description service_description
notes note_string
notes_url url
action_url url
icon_image image_le
icon_image_alt alt_string
}
define serviceextinfo {
host_name linux2
service_description Log Anomalies
notes Security-related log anomalies on secondary Linux server
notes_url http://webserver.localhost.localdomain/serviceinfo.pl?host=linux2 -
&service=Log+Anomalies
icon_image security.png
icon_image_alt Security-Related Alerts
}
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 suppl-
mentaires 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'im-
porte 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 d-
tailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
141 / 379
action_url
Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmen-
taires sur le service. Si vous prcisez une URL, vous verrez un lien indiquant Extra Service Ac-
tions dans le CGI extended information (quand vous regardez les informations du service). N'im-
porte 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'at-
tribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans
les CGIs status, extended information et statusmap.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
142 / 379
Chapitre 20
20.1 Introduction
Les utilisateurs demandent souvent que de nouvelles variables puissent tre ajoutes aux dnitions
d'htes, de services et de contacts. Ceci inclut des variables comme la communaut du protocole SNMP
l'adresse MAC, le nom d'utilisateur AIM, le numro Skype ou une simple adresse. Le problme que je
vois faire a est que Nagios devient alors moins gnrique et plus spcique un type d'infrasctruc-
ture. Nagios a t prvu pour tre exible, ce qui sous-entend que les choses doivent tre penses de
faon gnrique. Par exemple, les dnitions d'htes dans Nagios ont une variable gnrique address
qui peut contenir n'importe quoi ; de la simple adresse IP l'adresse complte de type FQDN ; quoique
soit d'appropri l'utilisateur.
Pourtant, il y a bien un besoin pour les administrateurs d'avoir la possibilit de stocker des informa-
tions propos des composants de leur infrastructure dans la conguration de Nagios sans imposer
un ensemble de variables spciques pour les autres. Nagios essaie de solutionner ce problme en
autorisant les utilisateurs dnir des variables personnalises dans leurs dnitions d'objets. Les
variables personnalises permettent aux utilisateurs de dnir des proprits supplmentaires pour
leurs htes, services et dnitions de contacts et d'utiliser leurs valeurs dans les notications, les
gestionnaires d'vnements et les contrles d'htes et de services.
Il y a quelques points importants que vous devriez connatre sur les variables personnalises :
Les noms de variables personnalises doivent commencer par un underscore (_) pour prvenir tout
conit avec les variables standards.
Les noms de variables personnalises sont insensibles la casse
Les variables personnalises sont hrites des gabarits d'objets comme n'importe quelle variable
standard
Les scripts peuvent rfrencer des valeurs de variables personnalises avec les variables d'environ-
nement et les macros
20.3 Exemples
Voici un exemple de la faon dont peuvent tre dnies les variables personnalises dans dirents
types de dnitions d'objets
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
143 / 379
define host {
host_name linuxserver
_mac_address 00:06:5B:A6:AD:AA ; <-- Custom MAC_ADDRESS variable
_rack_number R32 ; <-- Custom RACK_NUMBER variable
...
}
define service {
host_name linuxserver
description Memory Usage
_SNMP_community public ; <-- Custom SNMP_COMMUNITY variable
_TechContact Jane Doe ; <-- Custom TECHCONTACT variable
...
}
define contact {
contact_name john
_AIM_username john16 ; <-- Custom AIM_USERNAME variable
_YahooID john32 ; <-- Custom YAHOOID variable
...
}
Les variables personnalises peuvent tre rfrences dans des scripts et excutables que Nagios
utilisent pour excuter les contrles, notications, etc en utilisant les macros ou variables d'envi-
ronnement.
Pour viter tous conits de noms parmi les variables personnalises de dirents types d'objets, Na-
gios ajoute _HOST, _SERVICE ou _CONTACT au dbut des variables personnalises d'htes, de ser-
vices et de contacts des macros et des variables d'environnement. Le tableau ci-dessous montre la
correspondance entre les variables personnalises et leur macro ou variable d'environnement respec-
tives pour les variables personnalises dnies dans l'exemple prcdent.
Type Nom de la
Nom de la macro Variable d'environnement
d'objet variable
Hte MAC_ADDRESS $_HOSTMAC_ADDRESS$ NAGIOS__HOSTMAC_ADDRESS
Hte RACK_NUMBER $_HOSTRACK_NUMBER$ NAGIOS__HOSTRACK_NUMBER
Service SNMP_COMMUNITY
$_SERVICESNMP_COMMUNITY$
NAGIOS__SERVICESNMP_COMMUNITY
Service TECHCONTACT $_SERVICETECHCONTACT$ NAGIOS__SERVICETECHCONTACT
Contact AIM_USERNAME $_CONTACTAIM_USERNAME$NAGIOS__CONTACTAIM_USERNAME
Contact YAHOOID $_CONTACTYAHOOID$ NAGIOS__CONTACTYAHOOID
Les variables personnalises d'objets peuvent tre hrites comme n'importe quelle variable standard
d'hte, de service ou de contact.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
144 / 379
Chapitre 21
Note
Lors de la cration et/ou l'dition des chiers de conguration, gardez ce qui suit l'esprit :
Les lignes commenant par le caractre '#' sont considres comme des commentaires et ne sont
donc pas traites
Les noms des variables doivent commencer au dbut de la ligne - ne mettez pas d'espace avant
le nom
Les noms des variables respectent la casse (majuscule/minuscule)
ASTUCE
Un exemple de chier de conguration pour les CGIs (/usr/local/nagios/etc/cgi.cfg) est cr
pour vous quand vous suivez le guide rapide d'installation .
Par dfaut, Nagios s'attend trouver le chier de conguration des CGIs sous le nom cgi.cfg dans
le rpertoire de conguration avec le chier de conguration principal .Si vous changez le nom ou
l'emplacement du chier, vous devez congurer Apache pour qu'il passe une variable d'environnement
nomme NAGIOS_CGI_CONFIG (contenant l'emplacement correct du chier) aux CGIs de Nagios. Voir
la conguration d'Apache pour plus de dtails.
Ci-dessous, vous trouverez les descriptions de chaque option de conguration du chier principal de
Nagios
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
145 / 379
Format: main_config_file=<file_name>
Exemple: main_config_file=/usr/local/nagios/etc/nagios.cfg
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.
Format: physical_html_path=<path>
Exemple: physical_html_path=/usr/local/nagios/share
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/.
Format: url_html_path=<path>
Exemple: url_html_path=/nagios
Si, lors de l'accs Nagios via un navigateur web, vous pointez sur une URL du type http://www.my-
host.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.
Format: use_authentication=<0/1>
Exemple: 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 vive-
ment 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 com-
mandes 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.
Format: default_user_name=<username>
Exemple: 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'authenti-
cation 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 !
Format: authorized_for_system_information=<user1>,<user2>,<usern>
Exemple: authorized_for_system_information=nagiosadmin,theboss
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir les infor-
mations 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 vari-
able authorized_for_system_commands. Vous trouverez plus d'informations sur la faon de congurer
l'authentication et les autorisations des CGIs ici.
Format: authorized_for_system_commands=<user1>,<user2>,<usern>
Exemple: authorized_for_system_commands=nagiosadmin
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 autho-
rized_for_system_information. Vous trouverez plus d'informations sur la faon de congurer l'authen-
tication et les autorisations des CGI ici.
Format: authorized_for_configuration_information=<user1>,<user2>,<usern>
Exemple: authorized_for_configuration_information=nagiosadmin
C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir les in-
formations 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
147 / 379
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.
Format: authorized_for_all_hosts=<user1>,<user2>,<usern>
Exemple: authorized_for_all_hosts=nagiosadmin,theboss
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 automatique-
ment 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 autho-
rized_for_all_host_commands. Vous trouverez plus d'informations sur la faon de congurer l'authen-
tication et les autorisations des CGIs ici.
Format: authorized_for_all_host_commands=<user1>,<user2>,<usern>
Exemple: authorized_for_all_host_commands=nagiosadmin
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.
Format: authorized_for_all_services=<user1>,<user2>,<usern>
Exemple: authorized_for_all_services=nagiosadmin,theboss
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 au-
toriss voir les informations de tous les htes. Les utilisateurs de cette liste ne sont pas automatique-
ment autoriss envoyer des commandes tous les services. Si vous voulez que des utilisateurs puis-
sent 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.
Format: authorized_for_all_service_commands=<user1>,<user2>,<user3>,<usern>
Exemple: authorized_for_all_service_commands=nagiosadmin
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
148 / 379
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 automatique-
ment 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.
Format: lock_author_names=[0/1]
Exemple: lock_author_names=1
Cette option vous autorise restreindre le fait que les utilisateurs puissent changer le nom de l'auteur
quand ils soumettent des commentaires, des acquittements, et une 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)
Format: statusmap_background_image=<image_file>
Exemple: statusmap_background_image=smbackground.gd2
Cette option permet de spcier une image qui sera utilise comme fond d'image dans le CGI de car-
tographie 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 automa-
tiquement 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.
Format: default_statusmap_layout=<layout_number>
Exemple: default_statusmap_layout=4
Cette option dnit la mthode de dessin utilise par dfaut par le CGI de cartographie des tats .Les
valeurs autorises sont :
Format: statuswrl_include=<vrml_file>
Exemple: statuswrl_include=myworld.wrl
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 navi-
gateur VRML)
Format: default_statuswrl_layout=<layout_number>
Exemple: default_statuswrl_layout=4
Cette option dnit la mthode utilise par dfaut pour dessiner le monde VRML avec le CGI concern
(Statusvrml) .Les options autorises sont :
Format: refresh_rate=<rate_in_seconds>
Exemple: refresh_rate=90
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 .
host_unreachable_sound=<sound_file> host_down_sound=<sound_file>
Formats: 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
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).
Format: ping_syntax=<command>
Exemple: 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.
Format: escape_html_tags=[0/1]
Exemple: escape_html_tags=1
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.
Format: notes_url_target=[target]
Exemple: notes_url_target=_blank
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.
Format: action_url_target=[target]
Exemple: action_url_target=_blank
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
151 / 379
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.
Format: enable_splunk_integration=[0/1]
Exemple: enable_splunk_integration=1
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, his-
torique 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/.
Format: splunk_url=<path>
Exemple: 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
152 / 379
Chapitre 22
22.1 Introduction
Cette documentation dcrit la faon dont les CGIs de Nagios dcident de qui a le droit de voir les
informations de conguration et d'tat et de qui a le droit de soumettre des commandes au dmon
Nagios depuis l'interface web.
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.
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.
#
Maintenant il s'agit de s'assurer que les CGIs sont congurs pour ltrer les informations et les com-
mandes 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
Quels sont les droits d'accs aux CGIs par dfaut quand la fonctionnalit d'authentication/autorisa-
tion est active ?
Autres utilisateurs
Donnes des CGIs Contacts authentis*
authentis*
Information sur l'tat des
Oui Non
htes
Information sur la
Oui Non
conguration des htes
Historique des htes Oui Non
Notications des htes Oui Non
Commandes des htes Oui Non
Information sur l'tat des
Oui Non
services
Information sur la
Oui Non
conguration des services
Historique des services Oui Non
Notications des services Oui Non
Commandes des services Oui Non
Toutes informations de
Non Non
conguration
Information sur le
Non Non
systme/processus
Commandes
Non Non
systme/processus
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)
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)
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 suiv-
antes
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.
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 trans-
met les mots de passe en clair sur Internet.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
155 / 379
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 !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
156 / 379
Quatrime partie
Dmarrage de Nagios
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
157 / 379
Chapitre 23
Vous devriez vrier votre conguration chaque fois que vous modiez votre chier de congura-
tion. C'est important de le faire avant de (re)dmarrer Nagios, car Nagios ne dmarrera pas si votre
conguration contient des erreurs.
An de vrier votre conguration, excutez Nagios en ligne de commandes avec l'option -v comme
suit :
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
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'er-
reurs 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
158 / 379
Chapitre 24
Il y a plus d'une faon de dmarrer, arrter et redmarrer Nagios. Voici quelques-unes des plus com-
munes
ASTUCE
Soyez toujours srs d'avoir vri votre conguration avant de (re)dmarrer Nagios.
1. Init Script : Le moyen le plus facile pour dmarrer Nagios est d'utiliser l'init script comme ceci :
#/etc/rc.d/init.d/nagios start
Redmarrer/recharger est ncessaire lorsque vous modiez vos chiers de conguration et que vous
voulez que ces changements prennent eet.
1. Init Script : Le moyen le plus facile pour redmarrer le dmon Nagios est d'utiliser le script de
dmarrage comme ceci :
#/etc/rc.d/init.d/nagios reload
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 :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
159 / 379
3. Manuellement: Vous pouvez redmarrer le processus Nagios en lui envoyant un signal SIGHUP
comme ceci :
#kill -HUP <nagios_pid>
1. Script de dmarrage : Le moyen le plus facile pour arrter le dmon Nagios est d'utiliser le script
de dmarrage comme ceci :
#/etc/rc.d/init.d/nagios stop
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>
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
160 / 379
Cinquime partie
Les bases
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
161 / 379
Chapitre 25
25.1 Introduction
Comme pas mal d'autres outils de supervision, Nagios n'intgre aucun mcanisme pour contrler
l'tat des htes et services sur votre rseau. Du coup, Nagios dlgue des programmes externes
(appels plugins) tout le sale boulot.
Les plugins sont des programmes compils ou des scripts (Perl, shell, etc.) qui peuvent tre excuts
par une ligne de commande pour contrler l'tat d'un hte ou d'un service. Nagios utilise le rsultat
des plugins pour dterminer le statut actuel des htes ou services sur le rseau.
Nagios excutera un plugin seulement lorsqu'il sera ncessaire de vrier le statut d'un service ou
d'un hte. Le plugin fait quelque chose (notez le sens trs gnral du terme) pour eectuer le contrle
et renvoie simplement le rsultat Nagios. Nagios traitera les rsultats qu'il aura reu du plugin
et prendra les mesures ncessaires (en excutant des gestionnaires d'vnements, en envoyant des
notications, etc.).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
162 / 379
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 su-
perviser 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 plu-
gins 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 pro-
cesseur, 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.
Il existe des plugins disponibles actuellement pour contrler de nombreux types dirents de matriels
et de services, y compris :
Les plugins ne sont pas distribus avec Nagios, mais vous pouvez tlcharger les plugins ociels
Nagios et d'autres plugins supplmentaires crs et soutenus par les utilisateurs Nagios aux adresses
suivantes :
La grosse majorit des plugins achent des informations basiques d'usage quand vous les excutez en
utilisant -h ou --help en ligne de commandes. Par exemple, si vous voulez savoir comment le plugin
check_http fonctionne ou quelles options il accepte, vous pouvez essayer d'excuter la commande
suivante : ./check_http --help
Vous pouvez trouver des informations sur les aspects techniques des plugins, ainsi que des informa-
tions sur comment dvelopper vos propres plugins ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
164 / 379
Chapitre 26
26.1 Macros
Une des fonctionalits disponibles dans Nagios est la possibilit d'utiliser des macros [NdT : macro-
commandes] dans les dnitions de commandes. Avant d'excuter une commande, Nagios remplacera
toutes les macros dans celle-ci par les valeurs correspondantes. Cela vous permet de dnir quelques
commandes gnriques que vous manipulerez votre guise.
Quand vous utilisez des macros d'hte et de service dans les dnitions de commandes, elles font
rfrence aux valeurs de l'hte ou du service pour lequel s'excute la commande. Prenons un exemple.
Supposons que nous ayons une dnition d'hte et une commande check_ping dnies de la manire
suivante :
define host {
host_name linuxbox
address 192.168.1.2
check_command check_ping
...
}
define command {
command_name check_ping
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
165 / 379
La ligne de commande nale, aprs substitution, qui sera excute pour le contrle de l'hte ressem-
blera 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.
Vous pouvez aussi passer des paramtres aux commandes, ce qui est pratique si vous voulez avoir des
dnitions de commandes plus gnriques. Les paramtres sont spcis dans la dnition de l'objet
(c.--d. de l'hte ou du service), en les sparant du nom de la commande par des points d'exclamation
( !) comme ceci :
define service {
host_name linuxbox
service_description PING
check_command check_ping!200.0,80%!400.0,40%
...
}
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 check_ping
command_line /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c -
$ARG2$
}
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.
Normalement, quand vous utilisez des macros d'hte ou de service dans les dnitions de commandes,
elles font rfrence aux valeurs de l'hte ou du service pour lequel s'excute la commande. Par ex-
emple, si la commande de contrle d'un hte s'excute pour l'hte appel linuxbox, toutes les macros
d'hte listes dans le tableau ci-aprs font rfrence aux valeurs de cet hte (linuxbox).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
166 / 379
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.
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 :
Vous pouvez obtenir les valeurs d'une macro travers tous les contacts, les htes, ou les services dans
un groupe spcique en utilisant un format spcial dans votre dclaration de macro la demande.
Vous le faites en vous rfrant un groupe d'hte spcique, un groupe de service, ou le nom du
groupe de contact dans une macro la demande, comme ceci :
$HOSTMACRONAME:hostgroup_name:delimiter$
$SERVICEMACRONAME:servicegroup_name:delimiter$
$CONTACTMACRONAME:contactgroup_name:delimiter$
N'importe laquelle des variables d'objet personnalises que vous spciez dans la dnition de l'hte,
du service, ou du contact est aussi disponible comme macro. La macro de variable personnalise est
appele comme suit :
$_HOSTvarname$
$_SERVICEvarname$
$_CONTACTvarnaem$
Prenez la dnition d'hte suivante avec une variable personnalise appele _MACADDRESS
define host {
host_name linuxbox
address 192.168.1.1
_MACADDRESS 00:01:02:03:04:05
...
}
La variable _MACADDRESS serait disponible dans une macro appele $_HOSTMACADDRESS$. Plus d'infor-
mations sur les variables personnalises d'objets et comment les utiliser dans des macros peuvent
tre trouves ici.
Les valeurs de certaines macros sont dpouilles des mtacaractres du shell potentiellement dan-
gereux, avant d'tre remplaces dans la commande excuter. Les caractres qui seront supprims
dans les macros sont dnis par le paramtre illegal_macro_output_chars. Ce nettoyage s'applique
aux macros suivantes :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
168 / 379
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$
A partir de la version 2.0 de Nagios, la plupart des macros sont disponibles sous forme de variables
d'environnement. Cela signie que les scripts lancs par Nagios (c.--d. les commandes de contrle de
service et d'hte, les commandes de notication, etc...) peuvent faire rfrence ces macros directe-
ment en tant que variables d'environnement standard. Pour des raisons de scurit et de bon sens,
$USERn$Macros$USERn$ et les macros d'hte et de service la demande ne sont pas disponibles
comme variables d'environnement.
Les variables d'environnement qui contiennent des macros sont nommes comme les macros corre-
spondantes (listes ici), avec le prxe NAGIOS_. Par exemple, la macro $HOSTNAME$Macros$HOSTNAME$
est disponible travers la variable d'environnement nomme NAGIOS_HOSTNAME.
Une liste de tous les macros qui sont disponibles dans Nagios, aussi bien qu'un graphique d'utilisation,
peut tre trouve ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
169 / 379
Chapitre 27
Les macros standards disponibles dans Nagios sont listes ci-dessous. Les macros on-demand et les
macros de variables personnalises sont dcrites ici.
Bien que toutes les macros puissent tre utilises dans toutes les commandes que vous dnissez,
elles ne sont pas toutes valables pour une commande en particulier. Par exemple, certaines macros
ne sont valables que dans les commandes de notication de service, alors que d'autres ne sont valables
que dans les commandes de contrle d'hte. Il y a dix types de commandes que Nagios identie et
traite diremment. Ce sont les suivantes :
La tableau ci-dessous liste toutes les macros actuellement disponibles dans Nagios, accompagnes
d'une brve description et des types de commandes pour lesquels elles sont valables. Si une macro
est utilise dans une commande o elle n'est pas valable, elle est remplace par une chane vide.
Notez que les macros sont entirement en majuscules et sont comprises entre des caractres $.
Lgende :
Gestionnaire
Gestionnaire Donnes de Donnes de
Service Host d'vnements
Macro Name Service Checks Host Checks d'vnements performance performance
Notications Notications de service et
d'hte et OCHP de service d'hte
OCSP
Macros d'hte : 3
$HOSTNAME$Macros$HOSTNAME$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTDISPLAYNAME$Macros$HOSTDISPLAYNAME$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTALIAS$Macros$HOSTALIAS$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTADDRESS$Macros$HOSTADDRESS$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTSTATE$Macros$HOSTSTATE$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$HOSTSTATEID$Macros$HOSTSTATEID$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$LASTHOSTSTATE$Macros$LASTHOSTSTATE$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTSTATEID$Macros$LASTHOSTSTATEID$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTSTATETYPE$Macros$HOSTSTATETYPE$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$HOSTATTEMPT$Macros$HOSTATTEMPT$
Oui Oui Oui Oui Oui Oui Oui Oui
$MAXHOSTATTEMPST$Macros$MAXHOSTATTEMPTS$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTEVENTID$Macros$HOSTEVENTID$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTEVENTID$Macros$LASTHOSTEVENTID$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTPROBLEMID$Macros$HOSTPROBLEMID$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTPROBLEMID$Macros$LASTHOSTPROBLEMID$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTLATENCY$Macros$HOSTLATENCY$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTEXECUTIONTIME$Macros$HOSTEXECUTIONTIME$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$HOSTDURATION$Macros$HOSTDURATION$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTDURATIONSEC$Macros$HOSTDURATIONSEC$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTDOWNTIME$Macros$HOSTDOWNTIME$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTPERCENTCHANGE$Macros$HOSTPERCENTCHANGE$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTGROUPNAME$Macros$HOSTGROUPNAME$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTGROUPNAMES$Macros$HOSTGROUPNAMES$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTCHECK$Macros$LASTHOSTCHECK$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTSTATECHANGE$Macros$LASTHOSTSTATECHANGE$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTUP$Macros$LASTHOSTUP$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTDOWN$Macros$LASTHOSTDOWN$
Oui Oui Oui Oui Oui Oui Oui Oui
$LASTHOSTUNREACHABLE$Macros$LASTHOSTUNREACHABLE$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTOUTPUT$Macros$HOSTOUTPUT$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$LONGHOSTOUTPUT$Macros$LONGHOSTOUTPUT$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$HOSTPERFDATA$Macros$HOSTPERFDATA$
Oui Oui Oui 1 Oui Oui Oui Oui Oui
$HOSTCHECKCOMMAND$Macros$HOSTCHECKCOMMAND$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTACKAUTHOR$Macros$HOSTACKAUTHOR$
Non Non Non Oui Non Non Non Non
8
$HOSTACKAUTHORNAME$Macros$HOSTACKAUTHORNAME$
Non Non Non Oui Non Non Non Non
8
$HOSTACKAUTHORALIAS$Macros$HOSTACKAUTHORALIAS$
Non Non Non Oui Non Non Non Non
8
$HOSTACKCOMMENT$Macros$HOSTACKCOMMENT$
Non Non Non Oui Non Non Non Non
8
$HOSTACTIONURL$Macros$HOSTACTIONURL$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTNOTESURL$Macros$HOSTNOTESURL$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTNOTES$Macros$HOSTNOTES$
Oui Oui Oui Oui Oui Oui Oui Oui
$TOTALHOSTSERVICES$Macros$TOTALHOSTSERVICES$
Oui Oui Oui Oui Oui Oui Oui Oui
$TOTALHOSTSERVICESOK$Macros$TOTALHOSTSERVICESOK$
Oui Oui Oui Oui Oui Oui Oui Oui
$TOTALHOSTSERVICESWARNING$Macros$TOTALHOSTSERVICESWARNING$
Oui Oui Oui Oui Oui Oui Oui Oui
$TOTALHOSTSERVICESUNKNOWN$Macros$TOTALHOSTSERVICESUNKNOWN$
Oui Oui Oui Oui Oui Oui Oui Oui
$TOTALHOSTSERVICESCRITICAL$Macros$TOTALHOSTSERVICESCRITICAL$
Oui Oui Oui Oui Oui Oui Oui Oui
Gestionnaire
Gestionnaire Donnes de Donnes de
Service Host d'vnements
Macro Name Service Checks Host Checks d'vnements performance performance
Notications Notications de service et
d'hte et OCHP de service d'hte
OCSP
$SERVICEACKAUTHOR$Macros$SERVICEACKAUTHOR$
Non Oui Non Non Non Non Non Non
8
$SERVICEACKAUTHORNAME$Macros$SERVICEACKAUTHORNAME$
Non Oui Non Non Non Non Non Non
8
$SERVICEACKAUTHORALIAS$Macros$SERVICEACKAUTHORALIAS$
Non Oui Non Non Non Non Non Non
8
$SERVICEACKCOMMENT$Macros$SERVICEACKCOMMENT$
Non Oui Non Non Non Non Non Non
8
$SERVICEACTIONURL$Macros$SERVICEACTIONURL$
Oui Oui Non Non Oui Non Oui Non
$SERVICENOTESURL$Macros$SERVICENOTESURL$
Oui Oui Non Non Oui Non Oui Non
$SERVICENOTES$Macros$SERVICENOTES$
Oui Oui Non Non Oui Non Oui Non
$TOTALHOSTSUP$Macros$TOTALHOSTSUP$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALHOSTSDOWN$Macros$TOTALHOSTSDOWN$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALHOSTSUNREACHABLE$Macros$TOTALHOSTSUNREACHABLE$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALHOSTSDOWNUNHANDLED$Macros$TOTALHOSTSDOWNUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALHOSTSUNREACHABLEUNHANDLED$Macros$TOTALHOSTSUNREACHABLEUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALHOSTPROBLEMS$Macros$TOTALHOSTPROBLEMS$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALHOSTPROBLEMSUNHANDLED$Macros$TOTALHOSTPROBLEMSUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESOK$Macros$TOTALSERVICESOK$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESWARNING$Macros$TOTALSERVICESWARNING$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESCRITICAL$Macros$TOTALSERVICESCRITICAL$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESUNKNOWN$Macros$TOTALSERVICESUNKNOWN$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESWARNINGUNHANDLED$Macros$TOTALSERVICESWARNINGUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESCRITICALUNHANDLED$Macros$TOTALSERVICESCRITICALUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICESUNKNOWNUNHANDLED$Macros$TOTALSERVICESUNKNOWNUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICEPROBLEMS$Macros$TOTALSERVICEPROBLEMS$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
$TOTALSERVICEPROBLEMSUNHANDLED$Macros$TOTALSERVICEPROBLEMSUNHANDLED$
Oui Oui 4 Oui Oui 4 Oui Oui Oui Oui
10
Gestionnaire
Gestionnaire Donnes de Donnes de
Service Host d'vnements
Macro Name Service Checks Host Checks d'vnements performance performance
Notications Notications de service et
d'hte et OCHP de service d'hte
OCSP
Gestionnaire Gestionnaire Donnes de Donnes de
Service Host
Macro Name Service Checks Host Checks d'vnements de d'vnements performance de performance
Notications Notications
service et OCSP d'hte et OCHP service d'hte
Macros de date/heure :
$LONGDATETIME$Macros$LONGDATETIME$
Oui Oui Oui Oui Oui Oui Oui Oui
$SHORTDATETIME$Macros$SHORTDATETIME$
Oui Oui Oui Oui Oui Oui Oui Oui
$DATE$Macros$DATE$ Oui Oui Oui Oui Oui Oui Oui Oui
$TIME$Macros$TIME$ Oui Oui Oui Oui Oui Oui Oui Oui
$TIMET$Macros$TIMET$Oui Oui Oui Oui Oui Oui Oui Oui
$ISVALIDTIME:$Macros$ISVALIDTIME:$
Oui Oui Oui Oui Oui Oui Oui Oui
9
$NEXTVALIDTIME:$Macros$NEXTVALIDTIME:$
Oui Oui Oui Oui Oui Oui Oui Oui
9
Macros d'hte : 3
Nom court de l'hte (par exemple
biglinuxbox). Cette valeur provient du
$HOSTNAME$
paramtre host_name de la dnition de l'hte.
Macros de service :
Le nom long/description du service (p. ex.
Main Website ). Cette valeur provient du
$SERVICEDESC$ paramtre description de la dnition du
service.
Macros de contact :
Nom court du contact (p. ex. jdoe) qui est
noti pour un problme d'hte ou de service.
$CONTACTNAME$ Cette valeur provient du paramtre
contact_name de la dnition de contact.
Macros rcapitulatives :
Cette macro donne le nombre total d'htes qui
$TOTALHOSTSUP$ sont actuellement dans l'tat UP.
Macros de notication :
Une chane reprsentant le type de
notication envoye (PROBLEM, RECOVERY,
ACKNOWLEDGEMENT, FLAPPINGSTART,
$NOTIFICATIONTYPE$ FLAPPINGSTOP FLAPPINGDISABLED,
DOWNTIMESTART, DOWNTIMEEND ou
DOWNTIMECANCELLED).
Macros de date/heure :
Date et heure actuelles (p. ex. Fri Oct 13
00 :30 :28 CDT 2000). Le format de la date est
$LONGDATETIME$
dni par le paramtre date_format .
$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 :
Emplacement du chier de conguration
$MAINCONFIGFILE$ principal .
Macros diverses :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
189 / 379
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 no-
tications 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 noti-
cation, 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. Cepen-
dant, ces macros ne sont pas valables dans le cas de macros d'hte la demande. la place, elles
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
190 / 379
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 $NO-
TIFICATIONAUTHOR$, $NOTIFICATIONAUTHORNAME$, $NOTIFICATIONAUTHORALIAS$ ou $NOTIFICATION-
COMMENT$.
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'en-
vironnement.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
191 / 379
Chapitre 28
28.1 Introduction
Les performances des contrles d'htes la demande peuvent tre amliores en implmenant l'util-
isation des contrles mis en cache, qui permettent Nagios de ne pas excuter un contrle d'hte s'il
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
192 / 379
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.
Vous pouvez dnir des dpendances d'htes qui empchent Nagios de contrler le statut d'un hte
dpendant d'un service d'un ou plusieurs autres htes. Plus d'informations sur les dpendances peu-
vent tre trouves ici.
Les contrles d'htes planis sont lancs en parallle. Quand Nagios a besoin de procder un un
contrle d'hte plani, il lancera le contrle de l'hte et reviendra son travail initial (contrle des
services, etc.). Le contrle de l'hte est lanc dans un processus enfant qui a t dupliqu partir
du dmon principal de Nagios. Quand le contrle d'hte est termin, le processus enfant informe le
processus Nagios principal (son parent) du rsultat. Le processus principal de Nagios gre le rsultat
qu'il a reu et prend les mesures appropries (lancement des gestionnaires d'vnements, envois des
notications, etc.).
Les contrles la demande sont galement excuts en parallle si ncessaire. Comme mentionn
prcdement, Nagios peut renoncer l'excution d'un contrle la demande s'il peut utiliser un
rsultat relativement rcent pour ce contrle d'hte.
Quand Nagios traite les rsultats des contrles d'htes planis ou la demande, il peut lancer des
contrles (secondaires) sur d'autres htes. Ces contrles peuvent tre lancs pour deux raisons : les
contrles en prvision des dpendances des htes et pour dterminer le statut des htes qui utilisent
la logique d'accessibilit rseau. Ces contrles secondaires qui sont lancs sont gnralement lancs
en parallle. Cependant, il y a une grosse exception dont vous devez tre au courant, car elle peut
avoir un eet ngatif sur la performance
Note
Les htes qui ont leur variable max_check_attempts positionne 1 peuvent causer de srieux
problmes de performance. La raison ? Si Nagios a besoin de dterminer leur vrai tat en utilisant
la logique d'accessibilit rseau (pour voir s'ils sont DOWN ou UNREACHABLE), il va devoir lancer
une srie de contrles sur tous ses htes parents immdiats. Juste pour rappel, ces contrles sont
excuts en srie, plutt qu'en parallle, du coup, cela peut causer un grosse baisse de perfor-
mance. Pour cette raison, je vous recommande de toujours utiliser une valeur suprieure 1 pour le
paramtre max_check_attempts dans vos dnitions d'htes.
Les htes qui sont contrls peuvent tre dans un des trois tats dirents :
UP
DOWN
UNREACHABLE
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
193 / 379
Les contrles d'htes sont raliss par les plugins, qui retournent un tat OK, WARNING, UNKNOWN,
ou CRITICAL. Comment Nagios traduit-il le code de retour des plugins en tats d'hte UP, DOWN, ou
UNREACHABLE ? Voyons cela :
Le tableau ci-dessous montre quoi correspondent les codes de retour des plugin en tat d'hte
pralables. Certains post-traitement (qui sont dcrits plus loin) sont fait et peuvent changer l'tat
nal de l'hte.
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.
Plus d'informations sur comment Nagios fait la dirence entre les tats DOWN et UNREACHABLE
peuvent tre trouves ici.
Comme vous tes probablement conscients, les htes ne restent pas toujours dans un tat. Des choses
arrivent, des patches sont appliqus, et les serveurs ont besoins d'tre redmarrs. Quand Nagios
contrle les statuts des htes, il sera capable de dtecter quand un hte a chang entre les tats
UP, DOWN, ou UNREACHABLE et prendra les mesures appropries. Ces changements d'tats se
traduisent par dirents types d'tats (HARD or SOFT), qui peuvent dclencher les gestionnaires
d'vnements et l'envoi de notications. Dtecter et traiter les changements d'tats, c'est le boulot
de Nagios.
Quand les htes changent trop frquement d'tat, ils sont considrs comme tant apping (oscil-
lants). Un bon exemple d'oscillation d'un hte serait un serveur qui redmarrerait spontanment lors
du chargement du systme d'exploitation. C'est toujours le scnario amusant traiter. Nagios peut d-
tecter lorsque l'hte commence osciller, et peut supprimer les notications tant que les oscillations
de l'tat de l'hte ne sont pas stabilises. Plus d'informations sur la dtection d'oscillation peuvent
tre trouves ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
194 / 379
Chapitre 29
29.1 Introduction
La performance des contrles de services la demande peut tre considrablement amliore par
la mise en uvre de l'utilisation des contrles mis en cache, ce qui permet Nagios de renoncer
l'excution d'un contrle de service s'il dtermine qu'un rsultat d'un contrle est relativement
rcent peut convenir la place. Les contrles mis en cache ne fournissent qu'une augmentation des
performances si vous utilisez les dependances de service. Plus d'informations sur les contrles mis en
cache peuvent tre trouves ici.
Vous pouvez prciser l'excution des dpendances de service qui empche Nagios de vrier les
statuts des services dpendants en fonction de l'tat d'un ou plusieurs autres services. Plus d'in-
formations sur les dpendances sont disponibles ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
195 / 379
Les contrles de services planis sont eecus en parallle. Lorsque Nagios a besoin d'eectuer un
contrle de service plani, il lancera le contrle du service et reviendra ensuite d'autres tches
(excution de contrles d'htes, etc.). Le contrle de service est lanc en tant que processus enfant
qui a t doubl depuis le dmon principal de Nagios. Quand le contrle de service est termin,
le processus enfant informera le processus principal Nagios (son parent) des rsultats du contrle.
Le processus principal de Nagios prend en compte les rsultats et prend les mesures appropries
(excution des gestionnaires d'vnements, l'envoi de notication, etc.).
Les contrles de service la demande peuvent tre aussi lancs en parallle si besoin. Comme il a t
mentionn prcdement, Nagios peut renoncer l'excution d'un contrle de service la demande
s'il peut utiliser les rsultats du contrle de service qu'il a en cache sont relativement rcent.
Les services qui ont t contrls peuvent avoir un des quatre tats :
OK
WARNING
UNKNOWN
CRITICAL
Les contrles de services sont eectus par des plugins, qui renvoyent un tat OK, WARNING, UN-
KNOWN, ou CRITICAL. Ces tats issus des plugins sont directement traduits en tats de service. Par
exemple, un plugin qui renvoie un tat WARNING donnera au service un tat WARNING.
Quand Nagios contrle le statut des services, il sera capable de dtecter lorsqu'un service change
entre les tats OK, WARNING, UNKNOWN, et CRITICAL et prendra les mesures appropries. De
ces changements d'tat en rsultent des types d'tat (HARD ou SOFT), qui peuvent dclencher des
gestionnaires d'vnements et l'envoi de notications. Les changements d'tats de service peuvent
galement dclencher la demande des contrles d'htes. Dtecter et traiter les changements d'tat,
c'est le boulot de Nagios.
Lorsque les services changent d'tat trop frquement, ils sont considrs comme tant oscillants.
Nagios peut dtecter lorsque les services commencent osciller, et peut supprimer des notications
jusqu' ce que l'tat du service se soit stabilis. Plus d'informations sur la dtection d'occillation
peuvent tre trouves ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
196 / 379
Chapitre 30
30.1 Introduction
Nagios est capable de contrler des htes et des services de deux faons : activement et passivement.
Les contrles passifs sont dcrits plus tard, aussi nous allons nous concentrer ici sur les contrles
actifs. Les contrles actifs reprsentent la mthode la plus commune pour superviser des htes et
services. Les principales fonctionnalits des contrles actifs sont les suivantes :
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
31.1 Introduction
Dans la plus part des cas, vous utilisez Nagios pour raliser des contrles actifs. Les contrles actifs
sont utiliss pour prlever les informations sur le statut d'une machine aussi souvent que possible.
Nagios possde un autre moyen de contrle, celui dit passif. Les attraits des contrles passifs sont les
suivants :
Les contrles passifs sont lancs et excuts par des applications externes
Les rsultats des contrles passifs sont soumis Nagios pour traitement
La dirence majeure entre les contrles actifs et passifs ; Dans le cas des actifs, c'est Nagios qui
lance et excute les contrles alors que dans le cas des passifs, cet acheminement est gr par une
application externe.
Les contrles passifs sont utiles pour superviser des services qui sont :
Asynchrones par nature et ne peuvent donc pas tre contrls activement de manire able (p.ex.
les interruptions SNMP, les alertes de scurit, etc.)
Situs derrire un rewall, et ne peuvent donc pas tre contrls depuis l'hte supportant Nagios
Les exemples de services asynchrones qui se prtent tre contrls passivement incluent les inter-
ruptions SNMP et alertes de scurit. Vous ne savez jamais quels moment une faille de scurit peut
tre franchie, donc il n'est pas ralisable de contrler leur statut toutes les deux ou trois minutes.
Les contrles passifs sont aussi utiliss lors d'installation de supervision distribue ou redondante
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
199 / 379
Le principe des contrles actifs et passifs est similairement le mme. Cela tient en compte de l'int-
gration de l'information des tats partir d'applications externes avec Nagios.
Dans l'odre, pour autoriser le contrle passifs dans Nagios, Il faut procder de la manire suivante :
Les applications externes peuvent soumettre Nagios des rsultats de contrles passifs en crivant
une commande externe PROCESS_SERVICE_CHECK_RESULT dans le chier de commande externe.
Le format de la commande ressemble ce qui suit :
[<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 ignor-
era 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.
Les applications externes peuvent soumettre Nagios des rsultats de contrles passifs en crivant
une commande externe PROCESS_HOST_CHECK_RESULT dans le chier de commande externe.
Le format de la commande ressemble ce qui suit :
[<timestamp>]PROCESS_HOST_CHECK_RESULT;<host_name>;<host_status>;<plugin_output>
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
201 / 379
la dirence des contrles actifs d'hte, Nagios n'essaie pas (par dfaut) de dterminer si l'hte
est DOWN ou UNREACHABLE avec le contrle passif. Plutt, Nagios prend le rsultat du contrle
passif comme l'tat rel dans lequel l'hte est et n'essaie pas de dterminer que l'tat rel de l'hte
en utilisant la logique d'accessibilit. Ceci peut causer des problmes si vous soumettez un contrle
passif provenant d'un hte distant ou vous avez une supervision dite distribue dans laquelle vous
avez des liens d'htes pre/ls complexes.
Vous pouvez dire Nagios de traduire un rsultat de contrle passif DOWN/UNREACHABLE par votre
propre tat en utilisant la variable translate_passive_host_checks . Vous trouverez plus d'informa-
tions sur son fonctionnement ici.
Note
Les contrles passifs des htes sont normalement traits en tats HARD, moins que l'option pas-
sive_host_checks_are_soft soit active.
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 super-
vision, 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
202 / 379
Chapitre 32
Types d'tats
32.1 Introduction
L'tat courant d'un service ou d'un hte supervis est dtermin par deux composants :
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.
An de prvenir des fausses alarmes dues des problmes transitoires, Nagios vous permet de dnir
combien de fois un service ou un hte devra tre (re)contrl avant d'tre considr comme ayant
un rel problme. Ceci est contrl par l'option max_check_attempts des dnitions d'htes et de
services. Comprendre comment les htes et les services sont (re)contrls an de dterminer si un
rel problme existe est important dans la comprhension de comment les type d'tats fonctionnent.
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 ges-
tionnaires 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 tats HARD surviennent pour les htes et les services dans les situations suivantes :
Quand un contrle d'hte retourne un tat non-OK et qu'il a t (re)contrl autant de fois que
spci par l'option max_check_attempts de la dnition de l'hte. C'est un tat d'erreur HARD.
Lorsqu'un hte ou un service passe d'un tat HARD un autre tat (ex : WARNING vers CRITICAL).
Lorsqu'un contrle de service revoie un tat non-OK et que son hte correspondant est soit DOWN
ou UNREACHABLE.
Lorsqu'un hte ou un service redevient OK aprs un tat non-OK HARD. Ceci est considr comme
un retour la normale HARD
Lorsqu'un contrle passif d'un hte est reu. Les contrles passifs des htes sont traits comme
HARD sauf si l'option passive_host_checks_are_soft est active.
Les choses suivantes se produisent lorsque des htes ou des services rencontrent des changements
d'tat HARD:
32.5 Exemple
Voici un exemple de comment sont dtermins les types d'tat, quand les changement d'tats survi-
ennent, 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.
Le nombre maximum de
tentatives a t atteint, le
service passe dans un tat
HARD. Le gestionnaire
d'vnement s'excute et
3 3 CRITICAL HARD Oui
une notication est
envoye. Le compteur de
tentavive repasse
immdiatement 1.
Chapitre 33
Note
Ou Est-ce le bon moment ?
33.1 Introduction
Les dnitions de priodes de temps peuvent contenir dirents types de paramtres, incluant les
jours de la semaine, certains jours dans le mois, et des dates prcises du calendrier. Les dirents
types de paramtres ont des priorits direntes et peuvent passer outre les autres dnitions de
priodes. L'ordre des priorits pour les dirents type de directives (dans l'ordre dcroissant) est le
suivant :
Des exemples de paramtres concernant les priodes de temps sont accessibles ici.
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 essen-
tiellement 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) :
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 noti-
fication_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 indi-
viduellement chaque contact. En utilisant les paramtres service_notification_period and ho-
st_notification_period dans la dnition d'un contact, vous serez en mesure de dnir une plage
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
208 / 379
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.
Les escalades de notication des htes et services ont un paramtre optionnel nomm escalation_p-
eriod 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.
Les dpendances d'htes et de services ont un paramtre optionnel nomm dependency_period qui
vous permet de spcier une plage horaire o la dpendance sera valide et pourra tre utilise. Si vous
n'utilisez pas le paramtre dependency_period dans la dnition de la dpendance, la dpendance
pourra tre utilise n'importe quand. Si vous spciez une plage horaire pour le paramtre depend-
ency_period, Nagios utilisera la dnition de la dpendance seulement pendant cette plage horaire.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
209 / 379
Chapitre 34
34.1 Introduction
Si vous avez dj travaill dans une quipe de support technique, vous avez alors srement entendu
les utilisateurs vous dire que Internet est coup. En tant que technicien, vous pouvez tre quasiment
sr que ce n'est pas quelqu'un qui a dbranch le cble Internet. Il y a certainement quelque chose
qui ne fonctionne pas entre le sige de l'utilisateur et l'Internet.
Partant du principe que c'est un problme technique, vous commencez chercher le problme. C'est
peut-tre l'ordinateur de l'utilisateur qui est teint, son cble rseau qui est dbranch, ou peut-tre
que c'est un des routeurs de cur de rseau de l'entreprise qui vient de tomber. Quelque soit le
problme, une chose est sre, l'Internet n'est pas coup. Il est devenu injoignable pour cet utilisateur.
Nagios est capable de dterminer si les htes que vous supervisez sont en tat DOWN ou UNREACH-
ABLE. Ces deux tats sont compltement dirents (mais en relation) et peuvent vous aider rapide-
ment trouver la cause profonde de problmes rseaux. Voici comment fonctionne la logique d'acces-
sibilit des htes du rseau pour vous permettre de distinguer ces deux tats
Jetez un il au diagramme rseau ci-dessous. Pour cet exemple, partons du principe que vous super-
visez l'ensemble des htes (serveurs, routeurs, switchs, etc.) gurant sur le diagramme. Nagios est
install et fonctionne sur le serveur Nagios.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
210 / 379
Pour que Nagios puisse faire la distinction entre les tats DOWN et UNREACHABLE des htes su-
perviss, vous devez lui prciser la faon dont sont connects les htes les uns aux autres ; en vous
plaant du point de vue du dmon Nagios. Pour cela, tracer le chemin que devrait prendre un pa-
quet de donnes pour aller du dmon Nagios chaque hte supervis. Chaque switch, routeur, et
serveur que le paquet doit traverser est considr comme une tape et requiert que vous dnissiez
une relation parent/enfant dans Nagios.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
211 / 379
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 paren-
t/enfant pour cet exemple :
define host {
host_name Nagios ; <-- The local host has no parent - it is the topmost host
}
define host {
host_name Switch1
parents Nagios
}
define host {
host_name Web
parents Switch1
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
212 / 379
define host {
host_name FTP
parents Switch1
}
define host {
host_name Router1
parents Switch1
}
define host {
host_name Switch2
parents Router1
}
define host {
host_name Wkstn1
parents Switch2
}
define host {
host_name HPLJ2605
parents Switch2
}
define host {
host_name Router2
parents Router1
}
define host {
host_name somewebsite.com
parents Router2
}
Maintenant que Nagios est congur avec les relations parent/enfant correctes pour vos htes, voyons
ce qui se passe quand un problme survient. Partons du principe que deux htes - Web et Router1 -
sont tombs
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
213 / 379
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
214 / 379
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.
Par dfaut, Nagios va notier les contacts la fois pour des htes en tats DOWN et UNREACHABLE.
En tant que administrateur/technicien, vous ne souhaiterez peut-tre pas recevoir de notications
pour des htes UNREACHABLE. Vous connaissez votre topologie rseau, et si Nagios vous notie
qu'un routeur/rewall est tomb, vous savez que tout ce qui trouve derrire est inacessible.
Si vous voulez vous viter d'tre noy sous un ot de notications UNREACHABLE pendant des
coupures rseaux, vous pouvez exclure l'option unreachable (u) de le paramtre notification_opt-
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
215 / 379
ions dans votre chier de conguration d'hte et/ou dans le paramtre host_notification_options
de votre chier de dnitions des contacts.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
216 / 379
Chapitre 35
Notications
35.1 Introduction
La dcision d'mettre des notications est prise dans le cadre du contrle de service et du contrle
d'hte. Les notications d'hte et de service ont lieu dans les cas suivants
Lors d'un changement d'tat HARD. Pour plus d'informations sur les tats et les changement d'tat
HARD, lisez ceci.
Lorsqu'un hte ou un service demeure dans un tat hard et non-OK, et que le dlai dni dans le
paramtre notification_interval de la dnition de l'hte ou du service est coul depuis que la
dernire notication a t mise (pour ce mme hte ou service).
Chaque dnition de service comprend un paramtre contact_groups qui dnit quels groupes de
contacts recevront les notications de ce service. Chaque groupe de contacts peut contenir un ou
plusieurs contacts individuels.
Quand Nagios met une notication de service, il notie chaque contact membre d'un des groupes de
contacts spcis dans le paramtre contactgroups de la dnition du service. Nagios est conscient
qu'un contact peut tre membre de plus d'un groupe, donc il commence par supprimer les doublons
avant toute chose.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
217 / 379
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 premier ltre que les notications doivent traverser est un test pour savoir si les notications sont
actives au niveau global du programme ou non. Ceci est spci par le paramtre enable_notifica-
tions du chier de conguration principal, mais peut tre modi en cours d'excution via l'interface
web. Si les notications sont dsactives de manire globale, aucune notication ne sera envoye -
point nal. Si elles sont actives, il y a encore d'autres tests russir
Le premier ltre des notications d'hte et de service consiste vrier que l'hte ou le service n'est
pas dans une priode d'arrt plani (scheduled downtime). Si c'est le cas, personne n'est noti. S'il
n'est pas dans une priode d'arrt plani, la notication est passe au ltre suivant. Notez galement
que les notications de services sont supprimes si l'hte auquel est associ le service est dans une
priode d'arrt plani.
Le deuxime ltre des notications d'hte et de service consiste vrier si l'hte ou le service oscille
( condition que vous ayez activ la dtection d'oscillation). Si le service ou l'hte oscille, personne
n'est noti. Sinon, la notication est passe au ltre suivant.
Le troisime ltre traverser pour les notications d'hte et de service est form par les paramtres
de notication. Chaque dnition de service contient des paramtres qui dterminent si les notica-
tions doivent tre envoyes pour les tats WARNING, CRITICAL, et RECOVERY. De la mme manire,
chaque dnition d'hte contient des paramtres qui dterminent si les notications doivent tre en-
voyes quand l'hte s'arrte [NdT : tat DOWN], devient inaccessible [UNREACHABLE], ou se rtablit
[RECOVERY]. Si la notication d'hte ou de service est bloque par ces paramtres, personne n'est
noti. Dans le cas contraire, la notication est passe au ltre suivant
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 quatrime ltre des notications d'hte et de service traverser concerne la priode. Chaque df-
inition 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
218 / 379
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
A ce point la notication a travers le ltre du mode de programme et tous les ltres d'hte et de
service, et Nagios commence envoyer des notications tous ceux qui doivent en recevoir. Cela
signie-t-il que tous les contacts vont recevoir la notication ? Non ! Chaque contact possde son
propre jeu de ltres que la notication doit traverser avant qu'ils ne la reoivent.
Note
Les ltres de contact sont propres chaque contact et n'aectent pas la faon dont les autres contacts
reoivent les notications.
Le premier ltre passer pour chaque contact concerne les paramtres de notication. Chaque df-
inition 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 !
Nagios peut vous envoyer des noticaitons sur les problmes et retours la normale d'a peu prs
toutes les faons que vous voulez : email, pager, tlphone (SMS), messageries instantanes Yahoo,
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
219 / 379
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-en-
un. 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.
Lorsque vous bricolez vos commandes de notication, vous devez prendre en compte le type de noti-
cation qui se prsente. La macro $NOTIFICATIONTYPE$Macros$NOTIFICATIONTYPE$ contient une
chane de caractres qui identie prcisment cela. Le tableau ci-dessous liste les valeurs possibles
de cette macro et leur description :
Valeur Description
Un service ou un hte vient de passer (ou est
encore) dans un tat dnotant un problme.
S'il s'agit d'une notication de service, cela
signie que le service est dans un tat
PROBLEM
WARNING, UNKNOWN ou CRITICAL. Si c'est
une notication d'hte, cela signie que l'hte
est dans l'tat DOWN ou UNREACHABLE.
Valeur Description
L'hte ou le service vient de s'arrter
d'osciller parce que la dtection d'oscillation a
FLAPPINGDISABLED
t dsactive.
Il y a bien des moyens de congurer Nagios pour envoyer des notications. C'est vous de dcider
de la (des) mthode(s) que vous voulez utiliser. Une fois ce choix fait, vous devrez installer les logi-
ciels ncessaires, et dnir les commandes de notication dans vos chiers de conguration avant de
pouvoir les utiliser. Voici quelques mthodes de notication possibles :
Email
Pager
Tlphone (SMS)
Message WinPopup
Messageries instantanes Yahoo, ICQ, ou MSN
Alertes sonores
etc
En gros, tout ce que vous pouvez faire en ligne de commande peut tre adapt sous forme de com-
mande 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].
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
221 / 379
Chapitre 36
36.1 Introduction
Vous trouverez ici une description de l'ensemble des CGIs de Nagios ainsi que les autorisations nces-
saires pour accder chacun d'eux. Par dfaut, les CGIs ne fonctionnent que si vous vous tes au-
thentis auprs du serveur web et que vous tes autoriss accder aux informations demandes.
Pour plus d'informations sur la conguration des autorisations de votre serveur web et des CGIs, lisez
les sections Installer l'interface web et Authentication et autorisations dans les CGIs.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
222 / 379
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 bib-
liothque 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 de-
fault_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
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 ap-
pareil WAP (i.e. un tlphone portable compatible Internet), vous pouvez accder aux informa-
tions 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.
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 automatique-
ment 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
224 / 379
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.
Nom du chier
outages.cgi
Description
Description : Ce CGI produit une liste des htes problmes de votre rseau qui sont respons-
ables 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
225 / 379
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.
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.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
226 / 379
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 com-
mandes 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.
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 pro-
cessus 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
227 / 379
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.
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 dif-
frents 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
228 / 379
Si vous tes un contact authenti vous pouvez voir l'historique de tous les htes et tous les
services dont vous tes un contact.
Nom du chier
notifications.cgi
Description
Ce CGI ache les notications envoyes aux dirents contacts d'un hte ou d'un service. L'af-
chage 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 ser-
vices, 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 ser-
vices.
Si vous tes un contact authenti vous pouvez voir les notications relatives tous les htes
et tous les services dont vous tes un contact.
Nom du chier
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
229 / 379
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.
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.
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 biblio-
thque 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.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
231 / 379
Sixime partie
Thmes avancs
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
232 / 379
Chapitre 37
Commandes externes
37.1 Introduction
Nagios peut traiter des commandes d'applications externes (y compris les CGIs, voir CGI de com-
mande 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 traite-
ment des commandes externes, il faut eectuer les actions suivantes
Les commandes externes peuvent tre utilises pour mener bien un certain nombre de choses pen-
dant que Nagios fonctionne. A titre d'exemple, ce qui peut tre eectu comprend : la dsactivation
temporaire des notications pour les services et les htes, la dsactivation temporaire des tests de
service, l'obligation de contrler immdiatement un service, l'ajout de commentaires aux htes et
services, etc.
Les commandes externes crites pour le chier de commande suivent le format suivant :
[time] command_id;command_arguments
o time est l'heure (au format time_t laquelle l'application externe ou le CGI a envoy la com-
mande externe au chier de commande. Les valeurs pour les arguments command_id et command_ar-
guments dpendent de la commande qui sera soumise Nagios.
Un listing complet des commandes externes qui peuvent tre utilises (ainsi que des exemples d'util-
isation) sont en ligne l'adresse suivante :
http://www.nagios.org/developerinfo/externalcommands/
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
234 / 379
Chapitre 38
Gestionnaires d'vnements
38.1 Introduction
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. :-)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
235 / 379
Les commandes de gestionnaires d'vnements de service et d'hte sont excutes lorsqu'un service
ou un hte :
Il y a dirents types de gestionnaires d'vnements optionnels qui peuvent tre dnis pour prendre
en compte les changements d'tats et d'htes :
Les gestionnaires d'vnements globaux sont excuts chaque changement d'tat d'hte ou de ser-
vice, immdiatement avant d'excuter n'importe quel gestionnaire d'vnements spcique d'hte
ou de service. Vous pouvez prciser les commandes de gestionnaires d'vnements globaux en util-
isant les options global_host_event_handler et global_service_event_handler de votre chier
de conguration principal.
Les htes et les services peuvent avoir leur propre commande de gestionnaire d'vnements qui s'ex-
cute chaque changement d'tat. Vous pouvez prciser un gestionnaire d'vnements qui doit tre
excut en utilisant l'option event_handler dans les dnitions d' htes and services. Ces gestion-
naires spciques d'htes et de services sont excuts juste aprs l'excution du gestionnaire global
(optionnel) d'htes et de services.
Les gestionnaires d'vnements peuvent tre activs et dsactivs au niveau gnral du programme
en utilisant enable_event_handlers dans votre chier de conguration principal.
Les gestionnaires d'vnements spciques aux htes et services peuvent tre activs et dsactivs
en utilisant les paramtres event_handler_enabled dans vos dnitions d'htes et de services. Les
gestionnaires d'vnements spciques aux htes et services ne peuvent pas tre excuts si l'option
globale enable_event_handlers est dsactive.
Comme prcdemment indiqu, les gestionnaires d'vnements globaux d'htes et de services sont
excuts juste avant les gestionnaires d'vnements spciques d'htes et de services.
Pour l'entre dans un tat d'erreur HARD et le retour la normale, les gestionnaires d'vnements
sont excuts immdiatement aprs l'envoi des notications.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
236 / 379
Les commandes de gestionnaires d'vnements seront certainement des scripts shell ou perl, mais
ils peuvent tre n'importe quoi d'excutable depuis la ligne de commande. Au minimum, les scripts
devraient prendre les macros suivantes comme arguments :
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 sous-
rpertoire contrib/eventhandlers/ de la distribution Nagios. Quelques uns de ces scripts d'exem-
ple dmontrent l'utilisation des commandes externes pour mettre en place des environnements de
supervision redonds et distribus.
Les commandes de gestionnaires d'vnements s'excuteront normalement avec les mmes permis-
sions que l'utilisateur grce auquel Nagios tourne sur votre machine. Cela prsente un problme
pour les scripts qui essaient de redmarrer les services du systme, car, pour ce genre de tches, les
privilges de root sont gnralement ncessaires.
Idalement, vous devriez tre capable d'valuer les types de gestionnaires d'vnements que vous
allez implmenter et donc de donner juste ce qu'il faut comme droit l'utilisateur Nagios pour pouvoir
excuter les commandes systme ncessaires. Vous pourriez essayer d'utiliser sudo pour cela.
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 ser-
vice 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 somehost
service_description HTTP
max_check_attempts 4
event_handler restart-httpd
...
}
Une fois que le service a t dni avec un gestionnaire d'vnement, nous devons dnir le gestion-
naire d'vnement comme une commande. Un exemple de dnition de commande pour restart-https
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
237 / 379
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)"
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
238 / 379
# 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
239 / 379
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
Les services volatiles dirent des services normaux de trois faons importantes. Chaque fois qu'ils
sont contrls quand ils sont dans un tat hard non-OK, et que le contrle retourne un tat non-OK
(par ex. aucun changement d'tat n'a eu lieu)
Note
Les intervalles de notications sont ignors pour les services volatiles.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
240 / 379
ASTUCE
Si vous te seulement intress par la journalisation (logging), vous devriez plutt utiliser les options
de stalking.
Si vous combinez les fonctionnalits des services volatiles avec les contrles passifs de service, vous
pouvez faire des choses trs utiles. Par exemple, grer des interruptions SNMP, des alertes de scurit,
etc.
Que diriez-vous d'un exemple ? Disons que vous excutiez le produit PortSentry pour scanner les
ports de votre machine et les intrus potentiels. Si vous voulez que Nagios soit averti des scans de
ports, vous pouvez mettre en place ce qui suit
Crez un service appel Port Scans et associez-le avec l'hte sur lequel tourne PortSentry.
Mettez l'option max_check_attempts de la dnition du service 1. Ceci dira Nagios de passer
immdiatement le service en tat hard quand un tat non-OK est retourn.
Mettez l'option active_checks_enabled 0 dans la dnition du service. Cela vite que Nagios ne
contrle activement le service.
Mettez l'option passive_checks_enabled 1 dans la dnition du service. Cela active les contrles
passifs pour le service.
Mettez l'option is_volatile 1 dans la dnition du service.
Assurez-vous de remplacer host_name avec le nom court de l'hte avec lequel le service est associ.
echocmd="/bin/echo"
CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
datetime=`date +%s`
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
Chapitre 40
40.1 Introduction
Nagios propose une fonctionnalit de vrication de la fracheur des rsultats de contrles d'htes et
de services. Cette fonctionnalit est utile pour vous assurer que des contrles passifs sont reus la
frquence que vous souhaitez.
Le but du contrle de fracheur est de s'assurer que les contrles d'hte et de service sont soumis
rgulirement de manire passive. Ceci est trs utile dans les environnements de supervision dis-
tribue ou hautement disponible.
ASTUCE
Un contrle actif est excut mme si les contrles actifs sont dsactivs au niveau global ou au
niveau service/hte.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
243 / 379
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).
ASTUCE
Si vous ne spciez pas de valeur pour le paramtre freshness_threshold (ou si vous le mettez
zro), Nagios calculera automatiquement un seuil de fracheur utiliser en se basant sur la frquence
de contrle utilis pour cet hte ou service. Je vous recommande d'explicitement prciser un niveau
de fracheur plutt que de laisser Nagios en dcider un votre place.
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
244 / 379
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
245 / 379
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.
Le diagramme ci-dessous devrait vous aider vous faire une ide du fonctionnement de la supervision
distribue avec Nagios. Je ferai rfrence aux lments du diagramme quand j'expliquerai les choses
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
246 / 379
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
247 / 379
Quand on installe l'environnement de supervision distribue avec Nagios, il y a des dirences entre
la conguration du serveur central et celle des serveurs distribus. Je vous montrerai comment con-
gurer ces deux types de serveurs et j'expliquerai les eets des changements sur la supervision en
gnral. A l'intention des dbutants, dcrivons d'abord l'utilit des dirents serveurs
Le rle d'un serveur distribu est de contrler tous les services dnis pour une grappe [cluster]
d'htes. J'utilise ce terme grappe de manire inapproprie : il dsigne simplement un groupe d'htes
de votre rseau. Selon la topographie de votre rseau, vous pouvez avoir plusieurs grappes en un seul
lieu, ou chaque grappe peut tre spare par un WAN, un pare-feu, etc. Il faut surtout se souvenir
d'une chose, c'est que pour chaque groupe d'htes (de quelque manire que vous le dnissiez), il y
a un serveur distribu sur lequel Nagios tourne et qui supervise les services des htes du cluster. Un
serveur rparti est gnralement une installation simplie de Nagios. Il n'est pas besoin d'installer
l'interface web, d'envoyer des notications, de faire tourner les scripts de gestionnaires d'vnements
ou de faire autre chose que l'excution des contrles de service si vous ne le souhaitez pas. De plus
amples explications relatives la conguration du serveur distribu suivront
Le but du serveur central est d'couter simplement les rsultats des contrles de service d'un ou de
plusieurs serveurs distribus. Mme si les services sont occasionnellement contrls activement par
le serveur central, les contrles actifs sont seulement excuts dans des circonstances particulires ;
disons donc pour l'instant que le serveur central n'accepte que les contrles passifs. Comme le serveur
central obtient des rsultats des contrles de services passifs d'un ou plusieurs serveurs rpartis, il
est utilis comme point central pour la logique de supervision (ex : il envoie des notications, excute
les scripts de gestionnaires d'vnements, dtermine l'tat des htes, son interface web est installe,
etc.).
Avant de sauter pieds joints dans les dtails de la conguration, il faut savoir comment envoyer les
rsultats des contrles de service des serveurs distribus au serveur central. J'ai dj expliqu com-
ment soumettre des rsultats de contrles passifs Nagios partir de la machine mme sur laquelle
Nagios tourne (cf. documentation sur les contrles passifs), mais je n'ai pas fourni d'information sur
la manire d'envoyer des rsultats de contrles de service partir d'autres htes.
An de faciliter l'envoi de rsultats de contrles passifs un hte distant, j'ai crit le module compl-
mentaire NSCANSCA . Il contient deux parties. La premire est un programme client (send_nsca) qui
tourne sur un hte distant et envoi les rsultats de contrles de service un autre serveur. La seconde
est le dmon NSCA (nsca) qui fonctionne, soit comme un dmon autonome, soit sous inetd, et coute
les connections des programmes du client. Aprs avoir reu l'information de contrle de service de
la part d'un client, le dmon enverra l'information de contrle Nagios (sur le serveur central) en
insrant une commande PROCESS_SVC_CHECK_RESULT dans le chier de commande externe, avec
les rsultats du contrle. La prochaine fois que Nagios contrlera les commandes externes, il trouvera
l'information de contrle de service passif qui avait t envoye par le serveur distribu et la traitera.
Facile, non ?
Bon, comment Nagios est-il congur sur un serveur distribu ? A la base, c'est juste une simple
installation. Il n'est pas ncessaire d'installer l'interface web ou de faire envoyer des notications par
le serveur, comme c'est le cas pour le serveur central.
Changements principaux dans la conguration :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
248 / 379
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 ren-
voie 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'op-
tion 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
# 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)
#
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
esac
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
249 / 379
# 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
Le script ci-dessus suppose que vous avez le programme send_nsca et son chier de congura-
tion (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 com-
mande 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 com-
mande 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'informa-
tion de contrle de service provenant du serveur de supervision distribu.
Nous avons vu comment les serveurs de supervision distribus doivent tre congurs, occupons
nous maintenant du serveur central. Pour accomplir toutes ses missions, il est congur de la mme
manire que vous congureriez un serveur seul. Il est install de la manire suivante :
Il y a trois autres lments importants que vous devez conserver l'esprit en congurant le serveur
central :
Tous les services qui sont superviss par les serveurs distribus doivent comporter des dnitions
de service sur le serveur central. Nagios ignorera les rsultats des contrles de service passifs s'ils
ne correspondent pas un service qui a t dni.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
250 / 379
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 glob-
ale 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 ?
Pour toutes les utilisations intensives, nous pouvons dire que le serveur central s'appuie uniquement
sur les contrles passifs pour la supervision. Faire totalement conance aux contrles passifs pour
superviser pose un problme majeur : Nagios doit se er quelque chose d'autre pour fournir les
donnes supervises. Que se passe-t-il si l'hte distant qui envoie les rsultats s'eondre ou devient
injoignable ? Si Nagios ne contrle pas activement les services de cet hte, comment saura-t-il qu'il y
a un problme ?
Heureusement, il y a une faon de grer ces types de problmes
Nagios ore une fonctionnalit qui teste la validit des rsultats d'un test (freshness checking). On
peut trouver plus d'informations ce sujet ici. Cette fonctionnalit apporte une solution aux situations
ou les htes distants peuvent arrter d'envoyer le rsultat des tests passifs au serveur central. Elle
(freshness) permet d'assurer que le test est soit fourni passivement par les serveurs distribus, soit
excut activement par le serveur central si ncessaire. Si les rsultats fournis par le test du service
deviennent gs, Nagios peut tre congur pour forcer un contrle actif depuis le serveur central.
Comment fait-on cela ? Sur le serveur central, il faut congurer ainsi les services qui sont surveills
par les serveurs distribus :
L'option check_freshness dans la dnition des services doit tre 1. Ceci active le test de validit
(freshness checking)
L'option freshness_threshold dans la dnition des services doit tre positionn une valeur qui
indique le niveau de validit ([NdT] : la traduction littrale est la fracheur, mais il ne me semble
pas adapt) des donnes (telles que fournies par les serveurs distribus).
L'option check_command dans la dnition des services doit indiquer les commandes valides qui
seront employes pour tester activement les services depuis le serveur central.
Nagios teste rgulirement la validit des rsultats pour lesquels cette option est active. L'option f-
reshness_threshold dans chaque service dtermine le niveau de validit pour celui-ci. Par exemple,
si sa valeur est 300 pour un de vos services, Nagios va considrer que les rsultats du service sont
gs s'ils ont plus de 5 minutes (300 secondes). Si vous ne spciez pas la valeur de freshness_t-
hreshold, Nagios calculera un seuil partir de la valeur des options normal_check_interval ou de
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
251 / 379
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 service-fige
command_line /usr/local/nagios/libexec/check_dummy 2 "CRITICAL: Service results are -
stale"
}
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.
Maintenant, vous savez comment obtenir des rsultats de contrles passifs depuis des serveurs dis-
tribus. Ceci signie que le serveur central ne teste activement que ses propres services. Mais qu'en
est-il des htes ? Vous en avez toujours besoin, non ?
Comme les contrles d'htes n'ont qu'un impact faible sur la surveillance (ils ne sont faits que s'ils
sont vraiment ncessaires), je vous recommanderais bien de faire ces contrles de manire active
depuis le serveur central. Ceci signie que vous dnirez le contrle des htes sur le serveur central
de la mme manire que vous l'avez fait sur les serveurs distribus (galement de la mme manire
que sur un serveur normal, non distribu).
Les rsultats de contrle passifs des htes sont disponible (lisez ceci), donc vous pourriez les utiliser
dans votre architecture distribue mais cette mthode comporte certains problmes. Le principal
tant que Nagios ne traduit pas les tats problmes (arrts DOWN ou injoignables UNREACHABLE)
retourns par les vrications passives des htes quand ils sont traits. Par consquent, si vos serveurs
de supervision ont une structure direntes en terme de parents ou enfants (et c'est ce qui se passe
lorsque vos serveurs de supervisions ne sont pas exactement au mme endroit), le serveur central va
avoir une vision incorrecte des tats des htes.
Si vous voulez vraiment envoyer des rsultats passifs de contrle d'hte un serveur de supervision
central, vriez que :
La rception passive de vrication d'hte (requis) est active sur le serveur central
Le serveur distribu est congur avec l'option de remonte de contrle d'hte active.
Le serveur distribu a une commande ochp dnie.
La commande ochp utilise pour le traitement des vrications d'htes fonctionne de manire similaire
la commande ocsp utilise pour le traitement des vrication des services (cf documentation ci-
dessus). Pour tre sr que les vrications passives d'htes sont valides et jour, il est ncessaire
d'activer la validit des vrication pour les htes de la mme manire que pour les services.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
252 / 379
Chapitre 42
42.1 Introduction
Cette section dcrit quelques scnarii dimplmentation de systmes de supervision redondante ainsi
que plusieurs topologies rseau. Avec la redondance des systmes, vous pouvez maintenir la possibilit
de surveiller votre rseau alors que le premier systme sur lequel tourne Nagios pose problme ou
lorsque des parties du rseau deviennent injoignables.
Note
Si vous apprenez utiliser Nagios, je suggre de ne pas essayer dimplmenter la redondance tant
que vous ntes pas habitu aux pr-requis dj prsents. La redondance est un sujet relativement
complexe, et il est encore plus dicile de limplmenter correctement.
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
Tous les exemples que jutilise dans cette documentation se trouvent dans le rpertoire eventhandlers/
de la distribution Nagios. Vous devrez probablement les modier pour les faire fonctionner sur votre
systme
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
253 / 379
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 prob-
lmes si :
Le diagramme ci-dessous montre une conguration rseau trs simple. Pour ce scnario, je vais sup-
poser que les systmes A et E font tourner tous deux Nagios et surveillent tous les systmes que lon
y voit. Le systme A sera considr comme tant le systme matre et le systme E sera considr
comme tant lesclave.
Il faudra ensuite considrer les changements entre le(s) chier(s) de conguration des objets sur les
systmes matre et esclave
Je vais supposer que le systme matre (systme A) est congur pour surveiller des services sur tous
les systmes montrs dans le diagramme ci-dessus. Le systme esclave (systme E) doit tre congur
pour surveiller les mmes systmes et services, avec les ajouts suivants aux chiers de conguration
Il est important de noter que le systme A (le systme matre) ne sait rien du systme E (le systme
esclave). Dans ce scnario, il nen a simplement pas besoin. Bien videmment, vous pouvez surveiller
les services du systme E depuis le systme A, mais cela na rien voir avec limplmentation de la
redondance
Faisons une petite pause, et dcrivons les dnitions de commandes de gestion dvnement sur
lesclave. Voici un exemple
define command {
command_name handle-master-host-event
command_line /usr/local/nagios/libexec/eventhandlers/handle-master-host-event -
$HOSTSTATE$ $HOSTSTATETYPE$
}
define command {
command_name handle-master-proc-event
command_line /usr/local/nagios/libexec/eventhandlers/handle-master-proc-event -
$SERVICESTATE$ $SERVICESTATETYPE$
}
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 ex-
emples 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
La notication sur le systme esclave (systme E) est dsactive, donc il nenverra pas de notications
pour les systmes autant que pour les services tant que le processus Nagios fonctionne sur le systme
matre (systme A).
Le processus Nagios sur le systme esclave (systme E) devient matre quand
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
256 / 379
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
Lintervalle 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
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.
Lintervalle 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
257 / 379
Il y a une chose laquelle il faut tre attentif Si le systme A tombe, le systme de notications sur
le systme E sera activ et prendra la responsabilit de notier les contacts de problmes. Lorsque
le systme A revient la normale, le systme E aura sa notication dsactive. Si, quand le systme
A revient la normale, le processus Nagios ne redmarre pas correctement, il y aura une priode de
temps o aucun systme ne notiera les contacts de problmes ! Heureusement on peut compter sur
la logique de vrication de services de Nagios. La fois suivante o le processus Nagios sur le systme
E vrie ltat du processus Nagios sur le systme A, il verra quil ne fonctionne pas. Le systme E
aura donc sa notication active et prendra la responsabilit de notier les contacts des problmes.
Le temps o aucun systme ne surveille est assez dicile dterminer. Toutefois, cette priode peut
tre minimise en augmentant la frquence de vrication (sur le systme E) du processus Nagios
sur le systme A. Le reste est une question de chance, mais le temps de blackout total ne devrait pas
tre trop mauvais.
42.5.1 Introduction
La supervision avec gestion de panne est pratiquement identique. Il existe quand mme des dif-
frences 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
Dsactiver la vrication active des services et la notication sur le systme esclave en utilisant les
paramtres execute_service_checks et enable_notifications . Ceci vitera au systme esclave de
surveiller les services et les systmes et denvoyer des notications tant que le processus Nagios sur
le systme matre fonctionne. Assurez-vous davoir le paramtre check_external_commands active
sur le systme esclave.
Crer un tche programme [cron job] sur le systme esclave qui lance priodiquement un script
(disons toutes les minutes) qui vrie ltat du processus Nagios sur le systme matre (en utilisant
le plugin check_nrpe sur le systme esclave et le dmon NRPENRPE sur le systme matre). Le
script va vrier le code de retour du plugin check_nrpe. Sil retourne un tat non-OK, le script va
envoyer les commandes appropries au chier de commandes externes pour activer la notication et
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
258 / 379
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 sc-
nario 1, car les contraintes sont surmontes de manire dirente.
Vous avez maintenant implment une gestion de panne de manire plutt basique. Il y a toutefois
dautres manires de procder pour que cela fonctionne de manire plus douce.
Le gros problme avec cette technique est surtout le fait que lesclave ne connait pas ltat courant
des services ou des systmes au moment mme o il prend sa charge le travail de surveillance. Une
manire de solutionner ce problme est dactiver la commande ocsp sur le systme matre et de lui
demander de rapporter les rsultats des vrications lesclave en utilisant laddon NSCANSCA De
cette manire, le systme esclave possde un statut mis jour des informations de tous les services
et des systmes sil venait prendre en charge la surveillance. Tant que les vrications actives ne
sont pas actives sur le systme esclave, il neectuera aucune vrication active. Malgr tout, il
excutera les vrications si ncessaire. Cela signie quautant le matre que lesclave excuteront
les vrications de systme comme il le faut, ce qui nest pas vraiment une bonne aaire puisque la
majorit des surveillances fonctionnent par rapport aux services.
Voil peu prs tout ce quil y a congurer.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
259 / 379
Chapitre 43
43.1 Introduction
Nagios supporte la dtection optionnelle des htes et des services qui oscillent [NdT : ou bagotent].
L'oscillation intervient quand un service ou un hte change d'tat trop frquemment, provoquant
une tempte de notications de problmes et de rtablissement. L'oscillation peut tre l'indice de
problmes de conguration (i.e. des seuils positionns trop bas) ou de vrais problmes sur le rseau.
Il le fait en stockant les 21 derniers rsultats de contrle de service dans un tableau. Les rsultats
les plus rcents crasent les anciens dans le tableau.
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.
En utilisant des pourcentages d'tats de changements pour dterminer des changements tats tran-
sitoires pour les htes et services
En comparant la valeur du pourcentage aux seuils d'oscillations infrieurs et suprieurs
Un hte ou un service est dclar comme oscillant lorsque son pourcentage dpasse la valeur du seuil
suprieur d'oscillation.
Un hte ou un service est dclar comme normal lorsque son pourcentage est descendu en dessous
de la valeur du seuil infrieur d'oscillation.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
260 / 379
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 mar-
quent 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
261 / 379
Prenons un rapide exemple de dtection de l'oscillation. L'image ci-dessus montre le tableau d'his-
torique 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
Nagios regarde si le service est en tat d'oscillation avant d'excuter un contrle (actif comme passif).
Le principe pour la dtection d'oscillation des services fonctionnent de la manire qu'expliqu ci-
dessus.
Pourquoi cela ? H bien, parce qu'avec les services, nous savons que l'intervalle minimal de temps
entre deux dtections d'oscillation conscutives sera gal l'intervalle de contrle du service. Avec
les htes, nous n'avons pas d'intervalle de contrle, du fait que les htes ne sont pas superviss de
manire rgulire. Ils ne sont contrls que lorsque c'est ncessaire. C'est la meilleure mthode que
j'ai pu imaginer pour dterminer la frquence de la dtection d'oscillation d'un hte
Nagios utilise plusieurs variables pour dterminer le pourcentage de changement d'tat attribu aux
seuils de la dtection d'oscillation. Tant pour les htes que pour les services, il y a des seuils suprieurs
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
262 / 379
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.
Normalement Nagios scrutera les rsultats des 21 derniers contrles d'un hte ou d'un service, sans
tenir compte du rsultat de contrle (tat hte / service), pour l'utilisation dans la logique de dtection
de l'oscillation.
ASTUCE
Nous pouvons exclure certains htes ou services l'algorithme de de l'oscillation en utilisant le
paramtre flap_detection_options dans la dnition de l'hte ou du service. Cette option vous
permet de prciser pour quel tats d'hte ou service (par exemple UP, DOWN, OK, CRITICAL) vous
voulez utilisez la dtection d'oscillation. Si vous n'utilisez pas ce paramtre, la rgle par dfaut sera
applique pour tous.
Si vous voulez dsactiver de manire gnrale cette option, passez le paramtre enable_flap_dete-
ction 0.
Si vou voulez dsactiver cette option pour quelques htes ou services, utilisez le paramtre flap_d-
etection_enabled dans la dnition de vos htes et services pour faire a.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
264 / 379
Chapitre 44
44.1 Introduction
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.
Les notications sont chelonnes si et seulement si une ou plusieurs dnitions d'escalade corre-
spondent la notication actuelle qui est envoye. Si la notication de service ou d'un hte n'a pas
de dnitions d'escalade valides qui s'y applique, le(s) groupe(s) de contact spci dans le groupe
d'hte ou dans la dnition de service sera appliqu par dfaut. Regardons l'exemple ci-dessous:
define serviceescalation{
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 90
contact_groups nt-admins,managers
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
265 / 379
define serviceescalation{
host_name webserver
service_description HTTP
first_notification 6
last_notification 10
notification_interval 60
contact_groups nt-admins,managers,everyone
}
Remarquez qu'il y a des trous dans les dnitions d'escalade de notication. En particulier, les noti-
cations 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 con-
sidrerai que le groupe de contacts par dfaut des dnitions de service s'appelle nt-admins.
En dnissant des escalades de notication, il est important d'tre conscient que n'importe quels
groupes de contact qui taient des membres de plus bas niveaux d'escalades (c'est--dire ceux avec
les nombres de notication plus basses) devraient aussi tre inclus dans les niveaux plus haut des
dnitions d'escalade. Cela devrait tre fait pour garantir que quelqu'un qui est noti d'un problme
continue suivre ce problme jusqu' sa rsolution. Exemple :
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 90
contact_groups nt-admins,managers
}
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 6
last_notification 0
notification_interval 60
contact_groups nt-admins,managers,everyone
}
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 pre-
mires 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.
Les dnitions d'escalade de notication peuvent avoir des portes qui se recoupent. Prenons l'exem-
ple suivant :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
266 / 379
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 20
contact_groups nt-admins,managers
}
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 4
last_notification 0
notification_interval 30
contact_groups on-call-support
}
Les notications de reprise d'activit sont lgrement direntes des notications de problme lorsqu'il
s'agit d'escalade. Prenons l'exemple suivant :
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 20
contact_groups nt-admins,managers
}
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 4
last_notification 0
notification_interval 30
contact_groups on-call-support
}
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
267 / 379
Vous pouvez modier la frquence laquelle les notications escalades sont mises pour un hte
ou un service particulier en utilisant le paramtre notication_interval de la dnition d'escalade de
groupe d'htes ou de service. Par exemple :
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 45
contact_groups nt-admins,managers
}
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 6
last_notification 0
notification_interval 60
contact_groups nt-admins,managers,everyone
}
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'ex-
emple suvant :
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 45
contact_groups nt-admins,managers
}
define serviceescalation{
host_name webserver
service_description HTTP
first_notification 4
last_notification 0
notification_interval 60
contact_groups nt-admins,managers,everyone
}
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
268 / 379
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 webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 45
contact_groups nt-admins,managers
}
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 3
last_notification 5
notification_interval 45
contact_groups nt-admins,managers
}
define serviceescalation {
host_name webserver
service_description HTTP
first_notification 7
last_notification 0
notification_interval 30
contact_groups nt-admins,managers
}
Dans des circonstances normales, les escalades peuvent servir aux heures o une notication pour-
rait normalement tre envoye pour le service. Cette fentre d'heures de notication est dtermine
par le paramtre notification_period de la dnition de service. Notez que la notication est tou-
jours soumise aux restrictions d'heure normales imposes par le paramtre notification_period de
l'escalade de service, et donc que la priode de temps que vous spciez dans l'escalade doit tre
comprise dans une plus grande fentre d'heures de notication.
Vous pouvez optionnellement restreindre l'escalade pour qu'elle ne soit prise ne compte pendant
une priode de temps spcique en utilisant le paramtre escalation_period dans la dnition de
l'escalade de service. Si vous utilisez le paramtre escalation_period pour spcier une Time Period
Denition pendant laquelle utiliser l'escalade, l'escalade sera prise en compte uniquement pendant
ces heures. Si vous ne spciez aucun paramtre escalation_period, l'escalade peut tre prise en
compte n'importe quelle heure pendant la fentre d'heures de notication pour le service.
Note
Les escalades de notications sont toujours soumises aux restrictions de temps normales imposes
par le paramtre notification_period dans une dntion d'hte ou de service, donc le timeperiod
que vous spciez dans une dnition d'escalade correspond une sorte de sous-ensemble de ce
qu'on appelerait la fentre de temps de notication.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
269 / 379
Si vous voulez restreindre la dnition d'escalade pour qu'elle soit prise en compte uniquement quand
le service est dans un tat donn, vous pouvez utiliser le paramtre escalation_options dans la
dnition de l'escalade de service. Si vous n'utilisez pas le paramtre escalation_options, l'escalade
peut tre prise en compte quel que soit l'tat du service.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
270 / 379
Chapitre 45
45.1 Introduction
2 Administrateurs - John et Bob - sont responsables de rpondre aux alertes Nagios. John reoit toutes
les notications de la semaine (et les nuits de la semaine) - exceptes les vacances - et Bob quant
lui grera celles du week-end et des vacances. Bonne pioche Bob ! Nous allons voir comment dnir
ce type d'astreinte en utilisant les priodes de temps
Premirement, dnissons les priodes de temps pour les vacances :
define timeperiod {
name holidays
timeperiod_name holidays
january 1 00:00-24:00 ; New Year's Day
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
271 / 379
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 john-oncall
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
exclude holidays ; Exclude holiday dates/times defined elsewhere
}
Nous pouvons rfrencer cette priode de temps dans la dnition du contact John :
define contact{
contact_name john
...
host_notification_period john-oncall
service_notification_period 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 bob-oncall
friday 00:00-24:00
saturday 00:00-24:00
use 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 bob
...
host_notification_period bob-oncall
service_notification_period bob-oncall
}
Dans ce scnario, John et Bob se partage les alertes tours de rle sans tre regardant sur la semaine,
le week-end, ou les vacances.
Dnissons une priode de temps de quand John recevra les notications. Admettons qu'aujourd'hui
nous sommes le 1er aout 2007 et que John commence son astreinte aujourd'hui. La dnition ressem-
berait ceci :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
272 / 379
define timeperiod{
timeperiod_name john-oncall
2007-08-01 / 2 00:00-24:00 ; Every two days, starting August 1st, 2007
}
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 john
...
host_notification_period john-oncall
service_notification_period john-oncall
}
define contact {
contact_name bob
...
host_notification_period bob-oncall
service_notification_period bob-oncall
}
Dans ce scnario, les astreintes de John et Bob sont alternes par semaine. John dbute son astreinte
du dimanche jusqu'au samedi d'aprs, et Bob prend le relais la semaine suivante pendant 7 jours
Ainsi de suite.
Nous allons dnir l'astreinte de John. Admettons que nous sommes le dimanche 29 juillet 2007 et
John doit dbuter son astreinte cette semaine (dbute aujourd'hui), la dnition ressemblerait ceci :
define timeperiod {
timeperiod_name john-oncall
2007-07-29 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, July 29th, -
2007
2007-07-30 / 14 00:00-24:00 ; Every other Monday starting July 30th, 2007
2007-07-31 / 14 00:00-24:00 ; Every other Tuesday starting July 31st, 2007
2007-08-01 / 14 00:00-24:00 ; Every other Wednesday starting August 1st, 2007
2007-08-02 / 14 00:00-24:00 ; Every other Thursday starting August 2nd, 2007
2007-08-03 / 14 00:00-24:00 ; Every other Friday starting August 3rd, 2007
2007-08-04 / 14 00:00-24:00 ; Every other Saturday starting August 4th, 2007
}
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
273 / 379
Maintenant, vous avez besoin de renseigner ces priodes de temps dans la dnition des contacts
John et Bob :
define contact {
contact_name john
...
host_notification_period john-oncall
service_notification_period john-oncall
}
define contact {
contact_name bob
...
host_notification_period bob-oncall
service_notification_period bob-oncall
}
Dans ce scnario, John prend les alertes tous les jours sauf quand il est absent. Il a le droit plusieurs
jours de congs chaque mois, et il a plani ses vacances. Bob prendra les notications lorsque John
sera absent.
Premirement, dnissons les priodes de temps o john s'absente :
define timeperiod {
name john-out-of-office
timeperiod_name john-out-of-office
day 15 00:00-24:00 ; 15th day of each month
day -1 00:00-24:00 ; Last day of each month (28th, 29th, 30th, or 31st -
)
day -2 00:00-24:00 ; 2nd to last day of each month (27th, 28th, 29th, -
or 30th)
january 2 00:00-24:00 ; January 2nd each year
june 1 - july 5 00:00-24:00 ; Yearly camping trip (June 1st - July 5th)
2007-11-01 - 2007-11-10 00:00-24:00 ; Vacation to the US Virgin Islands (November 1st -
-10th, 2007)
}
Ensuite, dnissons une priode de temps pour l'astreinte de john tout en excluant ces jours de repos :
define timeperiod {
timeperiod_name john-oncall
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
exclude john-out-of-office; Exclude dates/times John is out
}
Nous pouvons rfrencer cette priode de temps dans la dnition du contact John :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
274 / 379
define contact {
contact_name john
...
host_notification_period john-oncall
service_notification_period john-oncall
}
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 bob
...
host_notification_period bob-oncall
service_notification_period bob-oncall
}
Chapitre 46
46.1 Introduction
Plusieurs personnes ont demand comment il est possible de superviser des clusters d'htes ou de
services, aussi j'ai dcid d'crire une petite documentation sur comment le faire. C'est plutt simple,
vous ne devriez pas avoir de problme de comprhension
Premirement, nous devons dnir ce que nous entendons par cluster. La faon la plus simple pour
comprendre est de prendere un exemple. Disons que votre organisation possde cinq serveurs qui
fournissent la redondance des services DNS. Si l'un d'eux tombe, ce n'est pas un gros problme parce
que les serveurs restants vont continuer assurer le service de rsolution de noms. Si vous tes
concern par la supervision et la disponibilit des services DNS de votre organisation, vous souhaiterez
superviser les cinq serveurs DNS. C'est ce que je considre tre un cluster de services. Le service
cluster consiste en cinq services DNS spars que vous supervisez. Mme si vous souhaitez superviser
chacun de ces services, votre principale proccupation concerne le statut global du cluster de services
DNS plutt que la disponibilit d'un service en particulier.
Si votre organisation possde un groupe d'htes assurant une solution de haute disponibilit (clus-
tering), je considrerais ceux-ci comme un cluster d'htes. Si l'un des ces htes tombe, un autre va
prendre le relais pour assurer les tches dvolues au serveur tomb. En appart, vous pouvez con-
sulter le High-Availability Linux Project pour des informations sur la faon d'assurer la redondance
avec Linux.
Il y potentiellement plusieurs mthodes pour superviser des clusters d'htes ou de services. Je vais
dcrire la mthode que je crois tre la plus simple. La supervision de clusters d'htes ou de services
impliquent deux choses :
Superviser les lments constituant un cluster d'htes ou de services est plus facile que ce que vous
pensez. En fait, vous le fates dj srement. Pour les clusters de services, assurez-vous simplement
de superviser chacun des lments constituant le service en cluster. Si vous avez un cluster de cinq
serveurs DNS, assurez-vous d'avoir cinq dnitions de services spares (probablement en utilisant
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
276 / 379
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.
Le plugin check_cluster est tudi pour rapporter l'tat gnral d'un cluster d'htes ou de services
en contrlant individuellement l'tat de chacun des lments composant le cluster.
Plus venir Le plugin check_cluster peut tre trouv dans le rpertoire contrib de la distribution
des Plugins Nagios l'adresse http://sourceforge.net/projects/nagiosplug/.
Disons que vous avez trois serveurs DNS qui apportent une redondance de services sur votre rseau.
Premirement, vous avez besoin de superviser chacun des trois serveurs DNS individuellement avant
de pouvoir les superviser en tant que cluster. Je pars du principe que vous avez trois services spars
(tous appels Service DNS )associs vos htes DNS (appels host1, host2 et host3).
Pour pouvoir superviser ces services en tant que cluster, vous devez crer un nouveau service cluster.
Cependant, avant de faire a, assurez-vous d'avoir une commande de contrle de cluster congure.
Partons du principe que vous avez la dnition de commande check_cluster suivante :
define command {
command_name check_service_cluster
command_line /usr/local/nagios/libexec/check_cluster --service -l $ARG1$ -w $ARG2$ - -
c $ARG3$ -d $ARG4$
}
Maintenant, vous avez besoin de crer le service cluster et d'utiliser la check_service_cluster com-
mande que vous venez juste de crer comme commande de contrle de cluster. L'exemple suivant
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
277 / 379
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.
La supervision des clusters d'htes est trs similaire celle pour les clusters de services. La principale
dirence est que les membres du cluster sont des htes et non des services. Pour pouvoir contrler
l'tat d'un cluster d'hte, vous devez dnir un service qui utilise le plugin check_cluster. Le service
ne devrait tre associ aucun des htes du cluster car cela provoquerait des problmes avec les
notications pour le cluster si cet hte tombe. Une bonne ide peut tre d'associer le service avec
l'hte sur lequel Nagios fonctionne. Aprs tout, si l'hte sur lequel fonctionne Nagios tombe, Nagios
ne fonctionne plus, il n'y a donc plus grand chose faire ( moins d'avoir mis en place une redondance
de vos serveurs de supervision )
Qu'importe, partons du principe que vous avez une check_host_cluster commande dnie comme
suit :
define command {
command_name check_host_cluster
command_line /usr/local/nagios/libexec/check_cluster --host -l $ARG1$ -w $ARG2$ -c -
$ARG3$ -d $ARG4$
}
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
278 / 379
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
279 / 379
Chapitre 47
47.1 Introduction
Les dpendances d'htes et de services sont une fonctionnalit avance qui vous permet de contrler
le comportement des htes et des services selon l'tat d'un ou plusieurs autres htes ou services. Je
vais expliquer comment les dpendances fonctionnent, ainsi que les dirences entre les dpendances
d'htes ou de services.
Tout d'abord, les bases. Vous crez des dpendances de service en ajoutant des dnitions de dpen-
dance de service dans votre (vos) chier(s) de conguration des objets .Dans chaque dnition, vous
spciez le service dpendant, le service dont il dpend, et la condition (s'il y a lieu) qui provoque
l'chec des dpendances d'excution et de notication (ces notions sont dcrites plus loin).
Vous pouvez crer plusieurs dpendances pour un mme service, mais il vous faut une dnition de
dpendance de service spare pour chaque dpendance cre.
L'image suivante nous montre un exemple d'une trame typique de notication de service et d'excution
de ses dpendances. Dirents services dpendent d'autres services pour que l'excution des checks
et des notications se ralise.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
280 / 379
Dans l'exemple ci-dessus, les dnitions de dpendance du Service F sur l'hte C seraient crites
comme ceci :
define servicedependency {
host_name Host B
service_description Service D
dependent_host_name Host C
dependent_service_description Service F
execution_failure_criteria o
notification_failure_criteria w,u
}
define servicedependency {
host_name Host B
service_description Service E
dependent_host_name Host C
dependent_service_description Service F
execution_failure_criteria n
notification_failure_criteria w,u,c
}
define servicedependency {
host_name Host B
service_description Service C
dependent_host_name Host C
dependent_service_description Service F
execution_failure_criteria w
notification_failure_criteria c
}
Les autres dnitions de dpendances dcrites dans l'image prcdente s'criraient comme suit :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
281 / 379
define servicedependency {
host_name Host A
service_description Service A
dependent_host_name Host B
dependent_service_description Service D
execution_failure_criteria u
notification_failure_criteria n
}
define servicedependency {
host_name Host A
service_description Service B
dependent_host_name Host B
dependent_service_description Service E
execution_failure_criteria w,u
notification_failure_criteria c
}
define servicedependency {
host_name Host B
service_description Service C
dependent_host_name Host B
dependent_service_description Service E
execution_failure_criteria n
notification_failure_criteria w,u,c
}
Avant que Nagios n'excute un contrle de service ou n'envoie des notications concernant un service,
il vriera si le service comporte des dpendances. Si ce n'est pas le cas, le contrle est excut ou la
notication est envoye comme en temps normal. Si le service a bien une ou plusieurs dpendances,
Nagios vriera chacune de la manire suivante :
Ce cycle continue jusqu' ce que toutes les dpendances du service aient t vries, ou jusqu' ce
qu'une dpendance choue.
Note
*Il est important de noter que par dfaut, Nagios utilisera l'tat hard courant du (des) service(s) dont
il dpend lors de ses vrications de dpendance. Si vous voulez que Nagios utilise l'tat le plus
rcent des services (que ce soit un tat soft ou hard), activez l'option soft_state_dependencies .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
282 / 379
Les dpendances d'excution permettent de limiter les vrications de service actives .Les vrica-
tions de service passives ne sont pas aectes par les dpendances d'excution.
Si tous les tests de dpendance d'excution du service russissent, Nagios excute le contrle du
service comme l'accoutume. Si ne serait-ce qu'une dpendance d'excution du service choue,
Nagios arrtera temporairement l'excution des contrles pour ce service (dpendant). Par la suite, les
tests des dpendances d'excution du service vont russir. Alors, Nagios recommencera les contrles
de ce service de manire normale. Pour plus d'informations sur l'algorithme d'ordonnancement des
contrles , lisez ceci.
Dans l'exemple ci-dessus, les dpendances d'excution du Service E choueraient si le Service B est
dans un tat WARNING ou UNKNOWN. Si c'tait le cas, le contrle de service ne serait pas ralis et
serait ordonnanc pour une future excution (potentielle).
Si tous les tests de dpendance de notication du service russissent, Nagios enverra les notications
pour ce service comme l'accoutume. Si, ne serait-ce qu'une dpendance de notication du service
choue, Nagios arrtera temporairement l'mission de notications pour ce service (dpendant). Plus
tard, les tests des dpendances de notications du service vont russir. Alors, Nagios recommencera
envoyer des notications pour ce service de manire normale. Pour plus d'informations sur l'algo-
rithme de notication, lisez ceci.
Dans l'exemple ci-dessus, les dpendances de notication du Service F choueraient si le Service C
est dans un tat CRITICAL, et/ou si le Service D est dans un tat WARNING ou UNKNOWN, et/ou si
le Service E est dans un tat WARNING, UNKNOWN, ou CRITICAL. Si c'tait le cas, les notications
pour ce service ne seraient pas envoyes.
Comme je l'ai dj dit, par dfaut les dpendances de service ne sont pas hrites. Dans l'exemple
ci-dessus, vous pouvez voir que le Service F est dpendant du Service E. Toutefois, il n'hrite pas
automatiquement des dpendances du Service E sur le Service B et le Service C. Pour rendre le
Service F dpendant du Service C, nous avons d ajouter une autre dnition de dpendance. Il n'y a
pas de dnition de dpendance pour le Service B, donc le Service F n'est pas dpendant du Service
B.
Si vous voulez rendre les dpendances de service hritables, utilisez le paramtre inherits_parent dans
la dnition de la dpendance du service .Quand ce paramtre est activ, il indique que la dpendance
hrite des dpendances du service dont elle dpend (galement appel le service matre). En d'autres
termes, si le service matre dpend d'autres services et qu'une de ces dpendances est en chec, la
dpendance sera aussi en chec.
Dans l'exemple ci-dessus, imaginez que vous vouliez ajouter une nouvelle dpendance au service F
qui le rende dpendant du service A. Vous pourriez crer une nouvelle dnition de dpendance qui
indique le service F comme le service dpendant et le service A comme le service matre (c'est--dire
le service dont il est dpendant). Vous pourriez galement modier la dnition de dpendance des
services D et F de la manire suivante :
define servicedependency {
host_name Host B
service_description Service D
dependent_host_name Host C
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
283 / 379
dependent_service_description Service F
execution_failure_criteria o
notification_failure_criteria n
inherits_parent 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 potentielle-
ment avec chacun selon des critres dirents).
Comme vous vous y attendez probablement, les dpendances d'htes fonctionnent d'une manire
similaire celles de services. La principale dirence est que ce sont des htes et pas des services.
Une autre dirence est que la dpendance d'hte ne sert qu' supprimer des notications d'htes et
non pas des controles d'htes.
ASTUCE
ATTENTION ! Ne confondez pas les dpendance d'htes avec les relations parent/enfant. Vous utilis-
erez les relations parent/enfant (dnies avec le paramtre parents dans la dnition d'hte) dans
la plupart des cas, plutt que des dpendances d'htes.
L'image suivante nous montre une trame de l'acheminement logique des dpendances de notications
d'htes.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
284 / 379
Dans l'image ci-dessus, les dnitions de dpendances pour l'hte C devraient tre dnies ainsi :
define hostdependency {
host_name Host A
dependent_host_name Host C
notification_failure_criteria d
}
define hostdependency {
host_name Host B
dependent_host_name Host C
notification_failure_criteria d,u
}
Comme pour les dpendances de services, les dpendances d'htes ne sont pas hrites. Dans l'ex-
emple 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
285 / 379
Chapitre 48
48.1 Introduction
Le suivi prcis des changements d'tat est une fonctionnalit qui ne sera probablement pas utilise
par beaucoup d'entre vous. Quand elle est active, elle permet d'enregistrer des changements dans le
contrle d'un service ou d'un hte, mme si l'tat de celui-ci ne change pas. Nagios va alors surveiller
plus particulirement ce service ou cet hte et enregistrer tout changement. Comme vous allez le
constater, ceci peut tre trs utile plus tard, lors d'une analyse de vos chiers de logs.
Dans des conditions de fonctionnement normales, le rsultat de la surveillance d'un hte ou d'un ser-
vice n'est enregistr que lorsqu'il a chang d'tat depuis le dernier contrle. Il y a quelques exceptions
cette rgle, mais c'est comme cela que cela se passe la plupart du temps.
Si vous activez le suivi prcis des changements d'tat pour un ou plusieurs tats d'un hte ou d'un
service en particulier, Nagios enregistrera dans ses journaux toute dirence entre le contrle actuel
et le prcdent. Examinez l'exemple suivant, sur 8 tests conscutifs d'un service :
Journalis avec
Message de le suivi prcis
Contrle du tat du Journalis
sortie de des
Service # : Service : normalement
Contrle : changements
d'tat
grappe RAID
x OK - -
optimale
grappe RAID
x+1 OK - -
optimale
Grappe RAID
dgrade (1
disque hors
d'usage, 1 disque
x+2 WARNING
de secours en
cours de
reconstruction)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
286 / 379
Journalis avec
Message de le suivi prcis
Contrle du tat du Journalis
sortie de des
Service # : Service : normalement
Contrle : changements
d'tat
Grappe RAID
dgrade (2
disques hors
d'usage, 1
disque de
x+3 CRITICAL secours mis en
ligne, 1 disque
de secours en
cours de
reconstruction)
Grappe RAID
dgrade (3
disque hors
x+4 CRITICAL d'usage, 2 disque -
de secours mis
en ligne)
Grappe RAID
x+5 CRITICAL -
hors d'usage
Grappe RAID
x+6 CRITICAL - -
hors d'usage
Grappe RAID
x+7 CRITICAL - -
hors d'usage
Vu cette squence de contrles, vous devriez seulement voir deux entres dans vos journaux, concer-
nant 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.
Tout d'abord, vous devez dcider si vous avez rellement besoin d'examiner vos logs pour trouver
la cause d'un problme. Vous pouvez dcider d'activer le suivi prcis des changements d'tat pour
quelques services ou htes, mais pas pour tous. Vous pouvez aussi dcider que vous ne surveillerez
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
287 / 379
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.
Vous pouvez activer le suivi prcis des services et des htes en utilisant le paramtre stalking_opt-
ions dans les dnitions d'htes et de services .
Les services volatiles sont similaires, mais provoqueront les envois de notications et les dclenche-
ments d'actions sur vnements. Le suivi prcis des changements d'tat ne sert que pour la journali-
sation.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
288 / 379
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
Il existe deux catgories de base de donnes de performance qui peuvent tre obtenues partir de
Nagios :
Les donnes de performance relatives un contrle sont des donnes internes relatives l'excu-
tion courante d'un contrle de l'hte ou du service. Cela peut comprendre des choses comme la
latence d'un contrle de service (par exemple combien de retard a un contrle de service par rap-
port l'horaire plani d'excution) et le nombre de secondes qu'il aura fallut pour excuter un
contrle d'hte ou des service. Ce type de donnes de performance sont valables pour tous les con-
trles qui sont eectus. Les macros $HOSTEXECUTIONTIME$Macros$HOSTEXECUTIONTIME$ et
$SERVICEEXECUTIONTIME$Macros$SERVICEEXECUTIONTIME$ peuvent tre utilises pour de-
terminer le nombre de secondes qu'aura dur un contrle d'hte ou de service et les macros $HOST-
LATENCY$Macros$HOSTLATENCY$ et $SERVICELATENCY$Macros$SERVICELATENCY$ peuvent
tre utilises an de derterminer le "retard" que pourrait avoir un contrle rgulier d'un hte ou d'un
service.
Les donnes de performance d'un plugin sont des donnes spciques au plugin utilis pour con-
trler l'hte ou le service. Les donnes spciques d'un plugin peuvent contenir des choses comme
le pourcentage de paquets perdus, l'espace disque restant, la charge processeur, le nombre d'utilisa-
teurs connects, etc. - en fait, tout type de donnes que le plugin contrle quand il est excut. Les
donnes de performance spciques au plugin sont facultatives et ne sont pas forcement disponibles
avec tous les plugins. Les donnes de performances spciques au plugin (si disponibles) peuvent tre
obtenues en utilisant les macros $HOSTPERFDATA$Macros$HOSTPERFDATA$ et $SERVICEPERF-
DATA$Macros$SERVICEPERFDATA$. Lire la suite pour plus d'informations sur la faon dont les plu-
gins peuvent retourner les donnes de performance Nagios an de les stocker dans les macros
$HOSTPERFDATA$ and $SERVICEPERFDATA$.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
289 / 379
Au minimum, les plugins Nagios doivent au moins retourner une simple ligne de texte comprhensible
par l'utilisateur lambda qui indique l'tat de certains types de donnes mesurables. Par exemple, le
plugin check_ping pourrait retourner une ligne de texte comme celle qui suit :
PING ok - Packet loss = 0%, RTA = 0.80 ms
Avec ce simple type de sortie, la ligne entire est disponible dans les macros $HOSTOUTPUT$ ou $SER-
VICEOUTPUT$ (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 sup-
posons 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 $SE-
RVICEPERFDATA$
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.
Si vous voulez traiter les donnes de performance disponible dans Nagios au travers des plugins, vous
devez congurer ce qui suit :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
290 / 379
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.
Le moyen le plus souple pour traiter les donnes de performance est de faire excuter Nagios
des commandes (que vous avez spci) pour traiter ou rediriger les donnes pour un traitement
ultrieur par des applications externes. Les commandes que Nagios excute pour traiter les donnes
de performances sont dnies par les options host_perfdata_command et service_perfdata_comm-
and , respectivement.
Un exemple de dnition de commande qui redirige les donnes de performance dans un chier texte
pour un traitement ultrieur par une autre application est montr ci-dessous:
define command{
command_name store-service-perfdata
command_line /bin/echo -e "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\ -
t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\ -
t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$" >> /usr/local/nagios/var/ -
service-perfdata.dat
}
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.
Vous pouvez faire en sorte que Nagios crive toutes les donnes de performances des htes et des
services directement dans un chier texte en utilisant les options host_perfdata_file et service-
_perfdata_file . Le format dans lequel les donnes de performance des htes et des services seront
crites est dni dans les options host_perfdata_file_template et service_perfdata_file_tem-
plate .
Un exemple de format de modle pour les donnes de performance d'un service pourrait ressembler
ceci :
service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\ -
t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
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_p-
erfdata_file_processing_command et service_perfdata_file_processing_command . L'intervalle
laquelle ces commandes sont excutes sont rgies par les options host_perfdata_file_process-
ing_interval et service_perfdata_file_processing_interval , respectivement.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
291 / 379
Chapitre 50
50.1 Introduction
Vous pouvez programmer des maintenances pour les htes et services travers le CGI extinfo ( en
regardant soit les informations de l'htes ou du service). Cliquez sur le lien Schedule downtime for
this host/service pour programmer une maintenance.
Lorsque vous programmez une maintenance pour un hte ou un service, Nagios ajoutera un commen-
taire cet l'hte/service pour indiquer qu'il est programm en maintenance pour la priode que vous
avez dnie. Quand cette priode est coule, Nagios va automatiquement supprimer ce commen-
taire. Pas mal, hein ?
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
292 / 379
Quand vous programmerez une maintenance pour un hte ou un service travers l'interface web, il
vous sera demand si la maintenance est xe ou exible. Voil une explication sur les dirence entre
les maintenances xes et exibles :
les maintenances xes commencent et nissent l'heure exacte de dbut et de n que vous avez
programmes. Bon, a c'tait facile
La maintenance Flexible est utiliss pour les priodes o vous savez que l'hte ou le service sera arrt
pour X minutes (ou heures), mais vous ne savez pas exactement quand cel commencera. Quand vous
programmez une maintenance exible, Nagios va commencer la maintenance programme dans l'in-
tervalle de debut et de n que vous avez programm. La maintenance va durer aussi longtemps que la
dure que vous avez spci quand vous avez programm la maintenance. Cel implique que l'hte ou
le service sur lequel vous avez programm une maintenance se coupera (ou deviendra unreachable),
ou passe par un tat non-OK entre les date de dbut et de n que vous avez spci. Le moment o
l'hte ou le service passe dans un tat de problme dtermine l'heure laquelle Nagios commencera
eectivement la maintenance. La maitenance durera pour le temps que vous avez spci, mme si
l'hte ou le service est remont avant que la dure de maintenance expire. Cel est fait pour une
bonne raison. Comme vous le savez, vous pouvez penser que vous avez rgl le problme, mais quand
vous redmarrer le serveur 10 fois avant qu'il marche de nouveau correctement. Intelligent n'est-ce
pas !
Quand vous programmez une maintenance pour un hte ou un service, vous avez le choix de faire une
maintenance triggered. Vous vous demandez ce qu'est une maintenance dclenche (triggered). Avec
des maintenances dclenches, le dbut d'une maintenance est dclenche par le dbut d'une autre
maintenance d'un hte ou d'un service. C'est extrmement utile si vous programmez une maintenance
pour un grand nombre d'htes ou de services et que le dbut de la priode de maintenance dpend du
dbut d'une autre maintenance. Par exemple, vous programmez une maintenance exible pour un hte
particulier (parce que vous aller l'arrter pour une mise jour), vous voulez peut-tre programmer
une maintenance dclanche pour tous les htes "ls"
Quand un hte ou un service est dans une priode de maintenance programme, Nagios n'autorisera
pas l'envoi de notifcations pour cet hte ou service. Cependant une notication de DOWNTIMESTART
sera envoye pour cet hte ou service, qui sert indiquer aux administrateurs qu'ils ne receveront
plus d'alerte pour cet hte/service.
Quand une maintenance programme est termine, Nagios va autoriser de nouveau l'envoi des no-
tications pour l'hte ou le service.. Une notication de DOWNTIMEEND sera envoye pour notier
aux adiminstrateurs que la maintenance programme est termine, et qu'ils receveront les alertes de
nouveau.
Si une maintenance programme est annule prmaturment (avant qu'elle expire) une notication
de DOWNTIMECANCELLED sera envoye aux administrateurs concerns.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
293 / 379
Je prfre appeller a le syndrome du Oh merde, a ne marche pas. Vous savez de quoi je parle. Vous
arrtez un serveur pour faire une mise jour de routine, et vous vous rendez compte plus tard que les
pilotes de l'OS ne fonctionnent pas, que les RAID array ont exploss ou que l'image disque choue
et que vous avez un disque inutile. La morale de l'histoire est qu'une opration de routine peut parfois
prendre trois quatre fois plus de temps que vous n'aviez prvu.
Regardons le scnario suivant :
1. Vous programmez une maintenance pour l'hte A de 719h30 21h30 un lundi
2. Vous arrtez le serveur 19h45 lundi soir pour commencer une mise jour du disque dur
3. Aprs avoir perdu une heure et demi vous battre avec des erreurs SCSI et des incomptibilits
de pilotes, vous relancez nalement la machine.
4. 21h15, vous vous rendez compte qu'une de vos partitions a t cache, soit ne semble plus
exister sur le disque.
5. Sachant que vous y tes pour une longue nuit, vous revenez et vous programmez une maintenance
additionnelle pour l'hte A de 21h20 le lundi soir 1h30 le mardi matin.
Si vous programmez des priodes de maintenance qui se superposent pour un hte ou un service
(Dans notre cas les periodes taient de 19h45 21h30 et de 21h20 1h30 du matin), Nagios attendra
jusqu' la n de la dernire priode avant d'autoriser de nouveau l'envoi des notications pour cet
hte ou service. Dans cet exemple, les notications ont t supprimes pour l'hte A jusqu' mardi
matin 1h30.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
294 / 379
Chapitre 51
51.1 Introduction
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
295 / 379
Sans l'interprteur Perl intgr, Nagios excute les plugins Perl (et non Perl) en crant un sous-
processus [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'ex-
cuter - 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.).
51.2 Avantages
51.3 Inconvnients
Les inconvnients de ePN [embedded Perl Nagios] ressemblent beaucoup ceux du mod_perl d'A-
pache (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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
296 / 379
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).
Si vous souhaitez utiliser l'interprteur Perl intgr pour lancer vos plugins et scripts Perl, voici ce
que vous aurez besoin de faire :
1. Compiler Nagios avec le support de l'interprteur Perl intgr (voir instructions ci-dessous).
2. Activer l'option enable_embedded_perl dans le chier principal de conguration.
3. Rglez l'option use_embedded_perl_implicitly en fonction de vos besoins. Cette option dter-
mine si l'interprteur Perl intgr doit tre utilis ou pas par dfaut pour les plugins et scripts
Perl.
4. Activer ou dsactiver de faon optionnelle les plugins et scripts Perl pour ne pas tre utiliss
via l'interprteur Perl intgr. Cela peut te utile si certains scripts Perl posent problme en
fonctionnant avec l'interprteur Perl. Lisez les instructions ci-dessous pour savoir comment faire.
Si vous voulez compiler Nagios avec l'interprteur Perl intgr il vous faut relancer le script de cong-
uration (congure) avec le paramtre --enable-embedded-perl. Si vous voulez que l'interprteur
Perl intgr utilise un cache interne pour les scripts compils, ajoutez galement le paramtre --wi-
th-perlcache. Par exemple :
# ./configure --enable-embedded-perl --with-perlcache otheroptions
Une fois que vous avez relanc le script de conguration avec les nouvelles options, n'oubliez pas de
recompiler Nagios.
partir de Nagios 3, vous pouvez prciser quels scripts ou plugins Perl devront ou non tre lancs en
utilisant l'interprteur Perl intgr. Ceci est particulirement utile si vous avez des problmes faire
fonctionner des scripts Perl avec l'interprteur Perl.
Pour prciser de faon explicite Nagios d'utiliser ou pas l'interprteur Perl intgr pour un script
Perl particulier, ajoutez une des entres suivantes dans votre script/plugin Perl
Pour indiquer Nagios d'utiliser l'interprteur Perl pour un script particulier, ajoutez cette ligne au
script Perl :
# nagios: +epn
Pour indiquer Nagios de ne PAS utiliser l'interprteur Perl pour un script particulier, ajoutez cette
ligne au script Perl :
# nagios: -epn
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
297 / 379
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.
Les informations pour dvelopper des plugins utilisant l'interprteur Perl intgr peuvent tre trou-
ves ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
298 / 379
Chapitre 52
Supervision adaptative
52.1 Introduction
Nagios vous permet de modier certains attributs de check des commandes, htes et services l'ex-
cution. Je ferai rfrence cette fonctionnalit comme monitoring adaptif. Veuillez noter que la fonc-
tionnalit de monitoring adaptif prsente dans nagios ne sera pas vraiment utile 99% des utilisateurs,
mais elle vous permet de raliser des choses assez lgantes.
Les attributs de check d'htes suivants peuvent tre modis pendant l'excution :
An de modier les atributs spciques d'htes ou de services pendant l'excution, vous devez soumet-
tre Nagios la commande externe approprie via le chier de commandes externes. Le tableau ci-
dessous rpertorie les dirents attributs qui peuvent tre modis en cours d'excution, accompagn
de la commande externe pour accomplir le travail.
Une liste complte de commandes externes qui peuvent tre utilises pour le contrle adaptatif
(avec des exemples d'utilisation) est disponible en ligne l'adresse suivante : http://www.nagios.org/-
developerinfo/externalcommands/
Note
Lorsque les commandes de contrles [check command] ou de gestionnaires d'vnements [event
handler] sont modies, il est important de noter que ces commandes doivent avoir t congures
en utilisant des dnitions de commande avant que Nagios n'ait t dmarr. Si une commande
non congure est entre, elle sera ignore.
Vous pouvez spcier les arguments de commande avec le nom de la commande - sparrez juste
les dirents arguments du nom de commande (des autres arguments) l'aide du caractre bang
( !). Des informations supplmentaires sur la faon dont sont traits les arguments dans la dnition
des commandes durant l'excution peuvent tre trouvs dans la documentation des macros.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
300 / 379
Chapitre 53
53.1 Introduction
Les dpendances d'htes et de services peuvent vous permettre un plus grand contrle du moment
de dclenchement des contrles et du moment d'envoi des notications. Comme les dpendances
sont utilises pour contrler plusieurs aspects du processus de supervision, il est crucial que les
informations d'tats utilises dans la logique de dpendances soient le plus jour possible.
Nagios vous permet d'activer les contrles prdictifs de dpendances pour les htes et services de
faon s'assurer que la logique de dpendance aura les informations d'tats les plus rcentes quand
il s'agira de prendre des dcisions sur le fait d'envoyer ou non des notications ou d'autoriser les
contrles actifs d'un hte ou d'un service.
L'image ci-dessous prsente un diagramme simple d'htes superviss par Nagios ainsi que les rela-
tions parents/enfants et les dpendances.
L'hte Switch2 dans cet exemple vient juste de changer d'tat de UP vers un tat problmatique.
Nagios a besoin de dterminer si l'hte est DOWN ou UNREACHABLE. Il va donc lancer des contrles
parallles des htes parents (Firewall1) et enfants (Comp1, Comp2, and Switch3) de Switch2. C'est
le fonctionnement normal de la logique d'accessibilit des htes.
Vous noterez que Switch2 est dpendant de Monitor1 et de File1 pour les notications et les contrles
(ce qui n'est pas important dans cet exemple). Si les contrles prdictifs d'htes sont activs, Nagios
va lancer des contrles parallles de Monitor1 et File1 au mme moment qu'il lancera des contrles
sur les parents et enfants directs de Switch2. Nagios le fait parce qu'il sait qu'il va avoir tester la
logique de dpendances dans un futur proche (par exemple pour des besoins de notications) et il
veut tre sr d'avoir l'tat le plus rcent possible des htes qui prennent part dans cette logique de
dpendances.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
301 / 379
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.
Les contrles prdictifs de dpendances n'induisent que peu de charge supplementaire, aussi je
recommande que vous les activiez. Dans la plupart des cas, les bnces d'avoir des informations
exactes pour les logique de dpendances contre-balance la charge supplmentaire impose par ces
contrles.
Il est simple d'activer les contrles prdictifs :
Les contrles prdictifs de dpendances d'htes sont grs par l'option enable_predictive_host-
_dependency_checks .
Les contrles prdictifs de dpendances de services sont grs par l'option enable_predictive_-
service_dependency_checks .
Les contrles prdictifs sont des contrles faits la demande et sont donc rgis par les mmes rgles
que les contrles mis en cache . Les contrles mis en cache peuvent vous permettre d'amliorer les
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
302 / 379
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
303 / 379
Chapitre 54
54.1 Introduction
Les contrles d'hte et de service rgulirement programms ne verront pas d'amlioration de per-
formance avec l'utilisation des contrles mmoriss. Les contrles mmoriss sont seulement utiles
pour amliorer la performance lors d'un contrle d'hte et de service la demande. Les contrles pro-
gramms aident garantir que l'hte et les tats de service sont actualiss rgulirement. Le rsultat
de ceux-l auront de grandes chances de servir pour l'utilisation de contrles mmoriss plus tard.
Comme rfrence, le contrle d'hte la demande se produit :
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.
Nagios excute des contrles la vole parce que il a besoin de connaitre l'tat dans lequel se trouve
l'hte ou le service un moment prcis. En utilisant le contrle mmoris, vous autorisez Nagios de
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
305 / 379
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 est-
ce 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 renseigne-
ments 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.
Les variables suivantes dtermine l'intervalle de temps dans lequel un contrle hte ou de service
antrieur peut tre utilis pour le contrle mmoris d'hte ou de service :
Dans l'ordre, pour optimiser l'utilisation du cache lors des contrles, vous devez :
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
307 / 379
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
308 / 379
Chapitre 55
55.1 Introduction
Quand Nagios reoit un contrle passif d'un hte d'une source distante (i.e. d'une autre instance
Nagios dans une architecture distribue ou en failover), l'tat de l'hte remont par la source distante
peut ne pas reter prcisement l'tat de l'hte du point de vue de Nagios. Comme les installations
de monitoring distribues ou en failover sont assez courantes, il est important d'avoir un mcanisme
qui permet de s'assurer de l'exactitude des tats des htes entre les direntes instances de Nagios.
L'image ci-dessous montre une vue simplie d'une conguration de monitoring en failover.
Nagios-A est le serveur miroir primaire, et il surveille de faon active tous les switchs et routeurs.
Nagios-B et Nagios-C sont des serveurs de backup, et ils reoivent les rsultats des checks passifs
depuis Nagios-A
Router-C et Router-D ont eu tous les deux des problmes et sont oine
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
309 / 379
Dans quel tat Router-C and Router-D sont-ils? La rponse dpend de quelle instance Nagios est
interroger.
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 ex-
emple 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
Par dfaut, Nagios ne transitera pas automatiquement les tats DOWN/UNREACHABLE des rsultats
des checks passif. Vous devez activer cette fonctionnalit si vous en avez besoin.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
310 / 379
Chapitre 56
56.1 faire
Ce document est en cours de rcriture pour Nagios 3. Restez connects pour plus d'informations
dans une future version beta
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
311 / 379
Chapitre 57
57.1 Introduction
Si vous tes amen faire des installations personnalises de Nagios, vous pourriez avoir envie d'avoir
un en-tte et/ou un pied de page personnaliss l'achage des rsultats des CGIs. Ceci est partic-
ulirement utile pour l'utilisateur nal concernant l'achage des informations de contact du support,
etc.
Il est important de tenir compte du fait que, moins d'tre excutables, les en-ttes et pieds de page
personnaliss ne sont pas excuts de quelle manire que ce soit avant d'tre achs. Le contenu
du chier d'en-tte et de pied de page est simplement lu et ach au rsultat de l'excution du CGI.
Cela signie qu'ils ne peuvent contenir que des informations qu'un navigateur web peut comprendre
(HTML, JavaScript, etc.).
Si les en-ttes et pieds de page personnaliss sont excutables, alors les chiers sont excuts et leur
sortie est ache l'utilisateur : ils doivent donc acher du code HTML valide. Cette fonctionnalit
permet d'utiliser vos propres CGIs pour ajouter des donnes l'achage de Nagios. Ceci a t utilis
pour insrer des graphiques de rrdtool en utilisant ddraw et des menu de commande dans la fentre
d'achage de Nagios. Ces en-ttes et pieds de page excutables disposent du mme environnement
que les CGIs natifs : vous pouvez donc disposer des informations sur la requte HTTP, sur l'utilisateur
authenti etc pour acher les informations adquates.
Vous pouvez inclure les en-ttes et pieds de page personnaliss dans le rsultat des CGIs en fournissant
des chiers HTML avec un nom appropri dans le sous-rpertoire ssi/ du rpertoire HTML de Nagios
(p.ex. /usr/local/nagios/share/ssi).
Les en-ttes personnaliss sont inclus immdiatement aprs la balise <BODY> du rsultat de l'ex-
cution du CGI. Pareillement, les pieds de page personnaliss sont inclus avant la balise de fermeture
</BODY>.
Il y a deux types d'en-ttes et de bas de page personnaliss :
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
312 / 379
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'exten-
sion .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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
313 / 379
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.
Il y a trois variables qui aectent la rcursion et l'hritage qui sont prsentes dans toutes les dnitions
d'objet. Elles sont indiques en rouge ci-dessous
define someobjecttype {
object-specific variables ...
name template_name
use name_of_template_to_use
register [0/1]
}
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
314 / 379
Une chose importante comprendre avec l'hritage c'est que les variables locales ont toujours autorit
sur les variables dnies dans un gabarit d'objet. Regardez l'exemple suivant avec deux dnitions
d'hotes (toutes les variables ncessaires n'ont pas t indiques)
define host {
host_name bighost1
check_command check-host-alive
notification_options d,u,r
max_check_attempts 5
name hosttemplate1
}
define host {
host_name bighost2
max_check_attempts 3
use 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 bighost2
check_command check-host-alive
notification_options d,u,r
max_check_attempts 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.
Les objets peuvent hriter des proprits/variables de multiples niveaux des gabarits objets. Regardez
l'exemple suivant :
define host {
host_name bighost1
check_command check-host-alive
notification_options d,u,r
max_check_attempts 5
name hosttemplate1
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
315 / 379
define host {
host_name bighost2
max_check_attempts 3
use hosttemplate1
name hosttemplate2
}
define host {
host_name bighost3
use 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 bighost1
check_command check-host-alive
notification_options d,u,r
max_check_attempts 5
}
define host {
host_name bighost2
check_command check-host-alive
notification_options d,u,r
max_check_attempts 3
}
define host {
host_name bighost3
check_command check-host-alive
notification_options d,u,r
max_check_attempts 3
}
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.
Il est possible d'utiliser une dnition incomplte d'object comme gabarit an de les utiliser dans
d'autres dnitions d'objets. Par dnition incomplte, je veux dire que toutes les variables requises
pour l'objet n'ont pas t mises dans la dnition de l'objet. Cel peut paratre bizarre d'utiliser des
dnitions incompltes comme gabarit, mais c'est en fait recommand de les utiliser. Pourquoi ? Et
bien, ils servent d'ensemble par dfaut an d'tre utiliss dans d'autres dnitions d'objets. Regardez
l'exemple suivant :
define host {
check_command check-host-alive
notification_options d,u,r
max_check_attempts 5
name generichosttemplate
register 0
}
define host {
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
316 / 379
host_name bighost1
address 192.168.1.3
use generichosthosttemplate
}
define host {
host_name bighost2
address 192.168.1.4
use generichosthosttemplate
}
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 bighost1
address 192.168.1.3
check_command check-host-alive
notification_options d,u,r
max_check_attempts 5
}
define host {
host_name bighost2
address 192.168.1.4
check_command check-host-alive
notification_options d,u,r
max_check_attempts 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.
Toutes les variables personnalises d'objet que vous dnisez dans vos dnitions de gabarit d'htes,
de services ou de contacts seront hrites comme n'importe quelle autre variable standard. Regardez
l'exemple suivant :
define host {
_customvar1 somevalue ; <-- Custom host variable
_snmp_community public ; <-- Custom host variable
name generichosttemplate
register 0
}
define host {
host_name bighost1
address 192.168.1.3
use generichosthosttemplate
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
317 / 379
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 my-event-handler-command
name generichosttemplate
register 0
}
define host {
host_name bighost1
address 192.168.1.3
event_handler null
use generichosthosttemplate
}
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 bighost1
address 192.168.1.3
}
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 all-servers
name generichosttemplate
register 0
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
318 / 379
define host {
host_name linuxserver1
hostgroups +linux-servers,web-servers
use generichosthosttemplate
}
Dans ce cas, l'hte linuxserver1 va ajouter la valeur de sa variable hostgroups local, celui du gener-
ichosttemplate. Le rsultat eectif de la dnition de linuxserver1 est le suivant :
define host {
host_name linuxserver1
hostgroups all-servers,linux-servers,web-servers
}
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.
notication_period dans la
notication_period dnition d'htes associe
contact_groups dans la
contact_groups dnition d'htes associe
Escalade d'htes
notication_interval dans la
notication_interval dnition d'htes associe
notication_period dans la
escalation_period dnition d'htes associe
contact_groups dans la
contact_groups dnition de services associe
Escalade de Services
notication_interval dans la
notication_interval dnition de services associe
notication_period dans la
escalation_period dnition de services associe
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
319 / 379
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 linux-server
contact_groups linux-admins
...
}
define hostescalation {
host_name linux-server
contact_groups +management
...
}
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
320 / 379
Dans l'exemple ci-dessous, devweb1 hrite de variables/valeurs provenant de deux sources : gener-
ic-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 dev-
web1, 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 devweb1
active_checks_enabled 1
check_interval 10
notification_options d,u,r
...
}
Quand vous utilisez de multiples sources d'hritage, il est trs important de savoir comment Nagios
gre les variables qui sont dnies dans ces sources multiples. Dans ces cas, Nagios utilisera les
variables/valeurs de la premire source qui est spcie dans le paramtre utiliser. Puisque les
sources d'hritage peuvent elles-mme hriter de variables/valeurs provement d'une ou plusieurs
sources, il peut devenir trs compliqu de trouver quelle paire de variable/valeur aura la priorit.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
321 / 379
Chapitre 59
Note
Comment ne pas pter les plombs
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 multi-
ples 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 per-
mettant 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.
Les exemples que je donne ci-dessous utilisent une correspondance standard avec les noms des objets.
Si vous le souhaitez, vous pouvez activer la correspondance des noms d'objets avec des expressions
rgulires grce au paramtre de conguration use_regexp_matching Par dfaut, les expressions
rgulires ne sont utilises que dans les noms d'objets contenant les caractres de remplacement *, ?,
+ ou \.. Si vous souhaitez voir les expressions rgulires appliques sur tous les noms d'objets, activez
le paramtre de conguration use_true_regexp_matching . Les expressions rgulires peuvent tre
utilises dans n'importe quel champ des exemples ci-dessous (noms d'htes, noms de groupe d'htes,
noms de service, et noms de groupes de service).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
323 / 379
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.
Si vous voulez crer des services identiques assigns plusieurs htes, vous pouvez prciser plusieurs
htes dans le paramtre host_name. La dnition ci-dessous va crer une service nomm SOMESER-
VICE sur les htes HOST1 jusqu' HOSTN. Toutes les instances du service SOMESERVICE devraient tre
identiques (c.--d. auront la mme commande de contrle, le mme nombre maximum d'essais, la
mme priode de notication).
define service {
host_name HOST1,HOST2,HOST3,...,HOSTN
service_description SOMESERVICE
other service directives ...
}
Si vous voulez crer des services identiques, assigns tous les htes d'un ou de plusieurs groupes
d'htes, vous pouvez le faire en une seule dnition de service. Comment ? Le paramtre hostgro-
up_name vous permet de spcier un ou plusieurs groupes d'htes pour lesquels le service doit tre
cr. La dnition ci-dessous va crer un service appell SOMESERVICE sur tous les htes membres
des groupes d'htes HOSTGROUP1 HOSTGROUPN. Toutes les instances du service SOMESERVICE seront
identiques (c.--d. auront la mme commande de contrle, le mme nombre maximum d'essais, la
mme priode de notication, etc.).
define service {
hostgroup_name HOSTGROUP1,HOSTGROUP2,...,HOSTGROUPN
service_description SOMESERVICE
other service directives ...
}
Si vous voulez crer des services identiques, assigns tous les htes de vos chiers de congura-
tions, vous pouvez utiliser un caractre de remplacement dans le paramtre host_name. La dnition
ci-dessous va crer un service appell SOMESERVICE sur tous les htes dnis dans vos chiers de con-
gurations. Toutes les instances du service SOMESERVICE seront identiques (c.--d. auront la mme
commande de contrle, le mme nombre maximum d'essais, la mme priode de notication, etc.).
define service {
host_name *
service_description SOMESERVICE
other service directives ...
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
324 / 379
Si vous voulez crer des services identiques sur plusieurs htes ou groupes d'htes, mais dsirez
exclure certains htes de la dnition, vous pouvez le faire en prcdant l'hte ou le groupe d'hte du
symbole !.
define service {
host_name HOST1,HOST2,!HOST3,!HOST4,...,HOSTN
hostgroup_name HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,...,HOSTGROUPN
service_description SOMESERVICE
other service directives ...
}
Si vous voulez crer des escalade de service pour des services portant le mme nom/description, et
qui sont assigns plusieurs htes, vous pouvez spcier des htes multiples dans le paramtre hos-
t_name. La dnition ci-dessous va crer une escalade pour les services appels SOMESERVICE sur les
htes HOST1 HOSTN. Toutes les instances de l'escalade de service seront identiques (c.--d. auront le
mme groupe de contact, le mme intervalle de notication, etc.). .
define serviceescalation {
host_name HOST1,HOST2,HOST3,...,HOSTN
service_description SOMESERVICE
other escalation directives ...
}
Si vous voulez crer une escalade de service pour des services portant le mme nom/description et
qui sont assigns tous les htes dans un ou plusieurs groupes d'htes, vous pouvez le faire avec le
paramtre hostgroup_name. La dnition ci-dessous va crer une escalade pour les services appels
SOMESERVICE sur tous les htes membres des groupes HOSTGROUP1 HOSTGROUPN. Toutes les instances
de l'escalade de service seront identiques (c.--d. auront le mme groupe de contact, le mme inter-
valle de notication, etc.).
define serviceescalation {
hostgroup_name HOSTGROUP1,HOSTGROUP2,...,HOSTGROUPN
service_description SOMESERVICE
other escalation directives ...
}
Si vous voulez crer une escalade de service identique pour des services portant le mme nom/de-
scription et qui sont assigns tous les htes dnis dans vos chiers de conguration, vous pouvez
utiliser un caractre de remplacement dans le paramtre host_name. La dnition ci-dessous va crer
une escalade pour tous les services appels SOMESERVICE de tous les htes dnis dans vos chiers de
conguration. Toutes les instances de l'escalade de service seront identiques (c.--d. auront le mme
groupe de contact, le mme intervalle de notication, etc.).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
325 / 379
define serviceescalation {
host_name *
service_description SOMESERVICE
other escalation directives ...
}
Si vous voulez crer des escalades de services identiques sur plusieurs htes ou groupes d'htes, mais
dsirez exclure certains htes de la dnition, vous pouvez le faire en prcdant l'hte ou le groupe
d'hte du symbole !.
define serviceescalation {
host_name HOST1,HOST2,!HOST3,!HOST4,...,HOSTN
hostgroup_name HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,..., -
HOSTGROUPN
service_description SOMESERVICE
other escalation directives ...
}
Si vous voulez crer des escalades de service pour tous les services assigns un hte prcis, vous
pouvez utiliser un caractre de remplacement dans le paramtre service_description. La dni-
tion ci-dessous va crer une escalade de service pour tous les services de l'hte HOST1. Toutes les
instances de l'escalade de service seront identiques (c.--d. auront le mme groupe de contact, le
mme intervalle de notication, etc.).
Si vous vous sentez l'esprit particulirement aventureux, vous pouvez spcier un caractre de rem-
placement la fois dans les paramtres host_name et service_description. Cela va crer une es-
calade de service pour tous les services dnis dans vos chiers de conguration.
define serviceescalation {
host_name HOST1
service_description *
other escalation directives ...
}
Si vous voulez crer des escalades de service pour plusieurs services assigns un hte prcis, vous
pouvez spcier plusieurs descriptions de service dans le paramtre service_description. La dni-
tion ci-dessous va crer une escalade pour les services SERVICE1 SERVICEN de l'hte tHOST1. Toutes
les instances de l'escalade de service seront identiques (c.--d. auront le mme groupe de contact, le
mme intervalle de notication, etc.).
define serviceescalation {
host_name HOST1
service_description SERVICE1,SERVICE2,...,SERVICEN
other escalation directives ...
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
326 / 379
Si vous voulez crer des escalades de service pour tous les services appartenant un ou plusieurs
groupes de services, vous pouvez utiliser le paramtre servicegroup_name. La dnition ci-dessous
va crer une escalade pour tous les services membres des groupes de services SERVICEGROUP1 S-
ERVICEGROUPN. Toutes les instances de l'escalade de service seront identiques (c.--d. auront le mme
groupe de contact, le mme intervalle de notication, etc.).
define serviceescalation {
servicegroup_name SERVICEGROUP1,SERVICEGROUP2,...,SERVICEGROUPN
other escalation directives ...
}
Si vous voulez crer des dpendances de service pour des services portant le mme nom/description,
et qui sont assigns plusieurs htes, vous pouvez spcier de multiples htes dans les paramtres
host_name et/ou dependent_host_name. Dans l'exemple ci-dessous, le service SERVICE2 des htes H-
OST3 et HOST4 sera dpendants du service SERVICE1 des htes HOST1 et HOST2. Toutes les instances
de la dpendance de service seront identiques, mis part les noms d'htes (c.--d. auront le mme
critre d'chec de notication, etc.).
define servicedependency {
host_name HOST1,HOST2
service_description SERVICE1
dependent_host_name HOST3,HOST4
dependent_service_description SERVICE2
other dependency directives ...
}
Si vous voulez crer des dpendances de service pour des services portant le mme nom/descrip-
tion, et qui sont assigns tous les htes d'un ou plusieurs groupes d'htes, vous pouvez utiliser le
paramtre hostgroup_name et/ou dependent_hostgroup_name. Dans l'exemple ci-dessous, le service
SERVICE2 de tous les htes membres des groupes d'htes HOSTGROUP3 et HOSTGROUP4 sera dpendant
du service SERVICE1 de tous les htes membres des groupes d'htes HOSTGROUP1 et HOSTGROUP2. Si
l'on suppose qu'il y a cinq htes dans chacun des groupes d'htes, cette dnition quivaut crer
100 dnitions simples de dpendance de service ! Toutes les instances de la dpendance de service
seront identiques, mis part les noms d'htes (c.--d. auront le mme critre d'chec de notication,
etc.).
define servicedependency {
hostgroup_name HOSTGROUP1,HOSTGROUP2
service_description SERVICE1
dependent_hostgroup_name HOSTGROUP3,HOSTGROUP4
dependent_service_description SERVICE2
other dependency directives ...
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
327 / 379
Si vous voulez crer des dpendances de service pour tous les services assigns un hte prcis, vous
pouvez utiliser un caractre de remplacement dans les paramtres service_description et/ou de-
pendent_service_description. Dans l'exemple ci-dessous, tous les services de l'hte HOST2 seront
dpendants de tous les services de l'hte HOST1. Toutes les instances de la dpendance de service
seront identiques (c.--d. auront le mme critre d'chec de notication, etc.).
define servicedependency {
host_name HOST1
service_description *
dependent_host_name HOST2
dependent_service_description *
other dependency directives ...
}
Si vous voulez crer des dpendances de service pour plusieurs services assigns un hte prcis,
vous pouvez spcier plusieurs descriptions de service dans les paramtres service_description
et/ou dependent_service_description comme suit :
define servicedependency {
host_name HOST1
service_description SERVICE1,SERVICE2,...,SERVICEN
dependent_host_name HOST2
dependent_service_description SERVICE1,SERVICE2,...,SERVICEN
other dependency directives ...
}
Si vous voulez crer des dpendances de service pour tous les services appartenant un ou plusieurs
groupes de services, vous pouvez utiliser les paramtres servicegroup_name et/ou dependent_ser-
vicegroup_name comme suit :
define servicedependency {
servicegroup_name SERVICEGROUP1,SERVICEGROUP2,...,SERVICEGROUPN
dependent_servicegroup_name SERVICEGROUP3,SERVICEGROUP4,...SERVICEGROUPN
other dependency directives ...
}
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, SERVI-
CE3 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
328 / 379
define servicedependency {
host_name HOST1,HOST2
service_description SERVICE1,SERVICE2
dependent_service_description SERVICE3,SERVICE4
other dependency directives ...
}
Si vous souhaitez crer des escalades d'hte pour plusieurs htes, vos pouvez spcier plusieurs htes
dans le paramtre host_name. La dnition ci-dessous va crer une escalade d'hte pour les htes H-
OST1 HOSTN. Toutes les instances de l'escalade d'hte seront identiques (c.--d. auront les mmes
groupes de contacts, le mme intervalle de notication, etc.).
define hostescalation {
host_name HOST1,HOST2,HOST3,...,HOSTN
other escalation directives ...
}
Si vous voulez crer des escalades d'hte pour tous les htes d'un ou plusieurs groupes d'htes, vos
pouvez utiliser le paramtre hostgroup_name. La dnition ci-dessous va crer une escalade d'hte
sur tous les htes membres des groupes d'htes HOSTGROUP1 HOSTGROUPN. Toutes les instances de
l'escalade d'hte seront identiques (c.--d. auront les mmes groupes de contacts, le mme intervalle
de notication, etc.).
define hostescalation {
hostgroup_name HOSTGROUP1,HOSTGROUP2,...,HOSTGROUPN
other escalation directives ...
}
Si vous voulez crer des escalades d'hte identiques pour tous les htes dnis dans vos chiers
de conguration, vous pouvez utiliser un caractre de remplacement dans le paramtre host_name.
La dnition ci-dessous va crer une escalade d'hte sur tous les htes dnis dans vos chiers de
conguration. Toutes les instances de l'escalade d'hte seront identiques (c.--d. auront les mmes
groupes de contacts, le mme intervalle de notication, etc.).
define hostescalation {
host_name *
other escalation directives ...
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
329 / 379
Si vous voulez crer des escalades d'htes identiques sur plusieurs htes ou groupes d'htes, mais
dsirez exclure certains htes de la dnition, vous pouvez le faire en prcdant l'hte ou le groupe
d'hte du symbole !.
define hostescalation{
host_name HOST1,HOST2,!HOST3,!HOST4,...,HOSTN
hostgroup_name HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,...,HOSTGROUPN
other escalation directives ...
}
Si vous voulez crer des dpendances d'hte pour plusieurs htes, vous pouvez spcier plusieurs
htes dans les paramtres host_name et/ou dependent_host_name. La dnition ci-dessous quivaut
crer six dpendances d'hte distinctes. Dans l'exemple ci-dessus, les htes HOST3, HOST4 et HOST5
seront dpendants la fois d'HOST1 et de HOST2. Toutes les instances de la dpendance d'hte seront
identiques, l'exception des noms d'htes (c.--d. auront le mme critre d'chec de notication, etc.).
define hostdependency {
host_name HOST1,HOST2
dependent_host_name HOST3,HOST4,HOST5
other dependency directives ...
}
Si vous dsirez crer des dpendances d'hte pour tous les htes d'un ou plusieurs groupes d'htes,
vous pouvez utiliser les paramtres hostgroup_name et/ou dependent_hostgroup_name. Dans l'exem-
ple ci-dessous, tous les htes des groupes d'htes HOSTGROUP3 et HOSTGROUP4 seront dpendants de
tous les htes des groupes d'htes HOSTGROUP1 et HOSTGROUP2. Toutes les instances de la dpendance
d'hte seront identiques, l'exception des noms d'htes (c.--d. auront le mme critre d'chec de
notication, etc.).
define hostdependency {
hostgroup_name HOSTGROUP1,HOSTGROUP2
dependent_hostgroup_name HOSTGROUP3,HOSTGROUP4
other dependency directives ...
}
Si vous voulez crer un groupe d'hte contenant tous les htes dnis dans vos chiers de congu-
ration, vous pouvez utiliser un caractre de remplacement dans le paramtre members. La dnition
ci-dessous crera un groupe d'htes appel HOSTGROUP1 contenant tous les htes dnis dans vos
chiers de conguration.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
330 / 379
define hostgroup {
hostgroup_name HOSTGROUP1
members *
other hostgroup directives ...
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
331 / 379
Septime partie
Chapitre 60
60.1 Introduction
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 sys-
tmes. 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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
333 / 379
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 en-
voyer 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).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
334 / 379
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 (habituelle-
ment 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 prob-
lme 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 sug-
gre 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 chaude-
ment 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 ac-
cder 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_out-
put_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 $SERVICE-
PERFDATA$ 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'vne-
ments distants ou pour dterminer une fentre de temps pour une attaque discrte.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
335 / 379
11. Scurisez vos canaux de communication. Assurez-vous d'avoir chir les canaux de com-
munication 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
336 / 379
Chapitre 61
Amlioration de l'authentication et
de la Scurit des CGIs
61.1 Introduction
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'envi-
ronnement 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.
L'implmentation de l'authentication Digest est simple. Vous devez crer un nouveau type de mot
de passe en utilisant l'outil htdigest , puis modiez la conguration apache pour Nagios (par dfaut
/etc/httpd/conf.d/nagios.conf).
Crer un nouveau mot de passe en utilisant l'outil htdigest .
#htdigest -c /usr/local/nagios/etc/.digest_pw "Nagios Access" nagiosadmin
Ensuite, redmarrer le service apache pour que la nouvelle conguration soit prise en compte.
#/etc/init.d/httpd restart
Vriez que vous avez install apache et openssl. Par dfaut, le mod_ssl doit tre support. Si vous
rencontrez encore des problmes, vous pouvez vous rfrer l'aide d'Apache TLS/SSL Documentation
sur l'encryptage .
Ensuite, vriez que le support TLS/SSL fonctionne en visitant l'interface nagios en utilisant le HTTPS
(https ://your.domain/nagios). Si a fonctionne, vous pouvez passer l'tape suivante qui consistera
forcer la connexion en HTTPS et de bloquer toutes connexions via le HTTP l'interface Web Nagios. Si
vous rencontrez des problmes, visitez les pages d'apache sur la TLS/SSL Documentation de Cryptage
et Google pour des problmes spcique votre installation apache. Ensuite, modiez la conguration
apache pour nagios (par dfaut /etc/httpd/conf.d/nagios.conf) en ajoutant le paramtre SSLRe-
quireSSL aux deux instructions pour les rpertoires sbin et share.
## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
338 / 379
<Directory "/usr/local/nagios/sbin">
...
SSLRequireSSL
...
</Directory>
L'exemple suivant nous montre comment bloquer l'accs des CGIs Nagios certaines adresses IP,
plages d'adresses ou sous-rseaux en utilisant le contrle des accs Apache . Modiez le chier
de conguration apache pour Nagios (par dfaut /etc/httpd/conf.d/nagios.conf) en utilisant les
paramtres Allow, Deny, et Order en s'appuyant sur l'exemple ci-dessous.
## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
...
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1 10.0.0.25 # Allow single IP addresses
Allow from 10.0.0.0/255.255.255.0 # Allow network/netmask pair
Allow from 10.0.0.0/24 # Allow network/nnn CIDR spec
...
</Directory>
L'authentication Digest envoie les donnes en clair mais pas votre nom d'utilisateur ni
votre mot de passe .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
339 / 379
Chapitre 62
62.1 Introduction
1. Graphez les statistiques de performance collectes avec MRTG. Vous devriez en eet grapher
les quelques statistiques importantes produites avec MRTG pour garder des traces de comment
votre installation de Nagios se comporte dans le temps au niveau charge et de comment les
changements de conguration l'aectent. Cela devient vraiment, vraiment, vraiment utile quand
il s'agit d'optimiser les performances d'une installation Nagios. Les informations sur la faon de
le faire se trouvent ici.
2. Utilisez les trucs et astuces pour les installations de grande dimension. Activer l'option use_la-
rge_installation_tweaks peut vous donner de meilleures performances. Lisez plus d'informa-
tions sur ce que fait cette option ici.
3. Dsactivez les macros d'environnement. Les macros sont normalement mises disposition des
commandes, contrles, notications, etc. comme variables d'environnement. Cela peut devenir
un problme sur une installation Nagios de grande dimension parce que cela consomme plus
de mmoire et (plus important) plus de CPU. Si vos scripts n'ont pas besoin d'avoir accs aux
macros comme variables d'environnement (vous pouvez passer par exemple toutes les macros
ncessaires en argument de la ligne de commande), vous n'avez alors pas besoin de cette fonc-
tionnalit. Vous pouvez empcher de rendre les macros disponibles comme variables d'environ-
nement en utilisant l'option enable_environment_macros .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
341 / 379
considrs comme hors service), mais vous aurez des contrles d'hte plus rapides si vous l'u-
tilisez. 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 de-
mande 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 ca-
pable 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 rtablisse-
ments d'hte, je recommanderais de ne pas activer le paramtre use_aggressive_host_check-
ing . 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 peu-
vent 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 com-
mandes externes (p. ex. des vrications passives dans une supervision distribue), vous devrez
probablement aecter -1 au paramtre command_check_interval . Cela forcera Nagios vri-
er 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
343 / 379
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 congura-
tion 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 per-
formances, 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
344 / 379
Chapitre 63
63.1 Introduction
Il y a plusieurs choses que vous pouvez faire pour diminuer le temps de dmarrage de Nagios (ou de
redmarrage). Ces options permettent toutes d'allger la charge de travail ncessaire Nagios dans
le calcul de vos chiers de conguration.
L'utilisation de ces techniques est particulirement intressante quand vous tes dans un ou plusieurs
des cas suivants :
Congurations importantes
Congurations complexes (utilisation massive des gabarits)
Installations o les redmarrages frquents sont ncessaires
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
Certaines de ces tapes peuvent se rvler consommatrices en temps quand vous avez des congu-
rations importantes ou complexes. Existe t'il un moyen d'acclrer une de ces tapes ? Oui !
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
345 / 379
Avant d'essayer d'acclrer les choses, nous avons besoin de savoir si le jeu en vaut la chandelle.
C'est facile faire - dmarrer simplement Nagios avec l'argument -s pour avoir les informations de
planication et de temps.
Un exemple de la sortie (uniquement la partie intressante) est montre ci-dessous. Pour cet exemple,
j'utilise une conguration Nagios qui a 25 htes et juste un peu plus de 10 000 services dnis.
# /usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg
Nagios 3.0-prealpha
Copyright (c) 1999-2007 Ethan Galstad (http://www.nagios.org)
Last Modified: 01-27-2007
License: GPL
OBJECT CONFIG PROCESSING TIMES (* = Potential for precache savings with -u option)
----------------------------------
Read: 0.486780 sec
Resolve: 0.004106 sec *
Recomb Contactgroups: 0.000077 sec *
Recomb Hostgroups: 0.000172 sec *
Dup Services: 0.028801 sec *
Recomb Servicegroups: 0.010358 sec *
Duplicate: 5.666932 sec *
Inherit: 0.003770 sec *
Recomb Contacts: 0.030085 sec *
Sort: 2.648863 sec *
Register: 2.654628 sec
Free: 0.021347 sec
============
TOTAL: 11.555925 sec * = 8.393170 sec (72.63%) 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
346 / 379
Nagios peut passer un temps non ngligeable parcourir vos chiers de conguration, surtout si vous
utilisez des fonctionnalits de gabarits telles que l'hritage, etc. Pour rduire le temps que Nagios
prend parcourir vos chiers de conguration, vous pouvez demander Nagios de prcalculer vos
chiers de conguration et de mettre en cache le rsultat pour une utilisation future.
# <:b>/usr/local/nagios/bin/nagios -pv / -
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 contin-
uer utiliser votre ancienne congura-
tion parce qu'il la lit dsormais depuis le
chier de pr-cache plutt que depuis
vos chiers de conguration sources.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
347 / 379
La deuxime partie (et la plus consommatrice en temps) de la phase de dmarrage est le contrle
des rfrences circulaires. Dans l'exemple ci-dessus, cela a pris prs d'une minute pour achever cette
tape de la vrication de la conguration.
Qu'est-ce que le contrle de rfrences circulaires et pourquoi cela prend t'il autant de temps ?
La vrifcation des rfrences circulaires est prvue pour s'assurer que vous n'avez pas dni de
rfrences circulaires dans vos htes, les dpendances d'htes ou les dnitions de dpendances
de services. Si une rfrence circulaire existe dans vos chiers de conguration, Nagios pourrait nir
dans une situation d'impasse. La raison la plus probable qui fait que cette vrication est aussi longue
est que je n'utilise pas un algorithme ecace. Un algorithme plus ecace pour dtecter les rfrences
circulaires serait le bienvenu. Astuce : Cela veut dire que tous les tudiants en sciences informatique
qui m'crive pour m'indiquer qu'ils vont faire leur thse sur Nagios pourrait contribuer en retour au
code. :-) [Note du traducteur] : Cet algorithme a t revu et amlior dans une version 3.x de Nagios.
Si vous souhaitez outrepasser la vrication des rfrences circulaires au dmarrage de Nagios, vous
pouvez ajouter l'argument -x sur la ligne de commande comme suit :
# /usr/local/nagios/bin/nagios -xd /usr/local/nagios/etc/nagios.cfg
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.
Suivez ces tapes si vous souhaitez proter de gains potentiels en utilisant le chier de pr-cache et
en omettant le contrle des rfrences circulaires.
1. Vriez votre conguration Nagios et crez le chier de pr-cache avec la commande suivante :
# /usr/local/nagios/bin/nagios -vp /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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
348 / 379
Chapitre 64
64.1 Introduction
Les utilisateurs ayant des installations de grande dimension peuvent tirer quelques bnces de l'op-
tion de conguration use_large_installation_tweaks . Activer cette option permet Nagios d'u-
tiliser quelques raccourcis dont les rsultats sont une moindre consommation systme et de meilleures
performances.
64.2 Eets
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 de-
venir 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 proces-
sus 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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
349 / 379
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.
Vous pouvez lancer l'utilitaire nagiostats avec l'option --help pour avoir les informations d'utilisation.
Pour une utilisation normale, lancez l'utilitaire nagiostats avec l'argument -c pour spcier l'em-
placement de votre chier de conguration principal comme ceci :[nagios@lanman ~]# /usr/lo-
cal/nagios/bin/nagiostats -c /usr/local/nagios/etc/nagios.cfg
Nagios Stats 3.0prealpha-05202006
Copyright (c) 2003-2007 Ethan Galstad (www.nagios.org)
Last Modified: 05-20-2006
License: GPL
Total Services: 95
Services Checked: 94
Services Scheduled: 91
Services Actively Checked: 94
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
350 / 379
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
[nagios@lanman ~]#
Comme vous pouvez le constater, l'utilitaire ache un bon nombre de mesures concernant le proces-
sus Nagios. Les mesures qui ont des valeurs multiples sont (sauf mention contraire) les valeurs min,
max et moyenne pour cette mesure particulire.
Vous pouvez utiliser l'outil nagiostat pour acher diverses mesures de Nagios avec MRTG (ou tout
autre programme compatible). Pour cela, lancez nagiostats en utilisant les arguments --mrtg et --
-data. L' option --data est utilise pour spcier que les statistiques sont destines tre reprsen-
tes graphiquement. Les valeurs possibles pour l'option --data sont listes en lanant l'utilitaire
nagiostats avec l'option --help.
Note
Les informations pour utiliser l'utilitaire nagiostats pour gnrer des graphiques MRTG des statis-
tiques de performance de Nagios peuvent tre trouves ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
351 / 379
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
352 / 379
Chapitre 66
66.1 Introduction
L'utilitaire nagiostats vous permet de grapher divers statisques de performance dans le temps en
utilisant MRTG . Ceci est important car il peut vous aider :
Un chier d'exemple de conguration MRTG pour grapher quelques statistiques Nagios de perfor-
mance peut tre trouv dans le chier mrtg.cfg situ dans le sous-rpertoire sample-config/ du
package Nagios. Vous pouvez crer des graphs d'autres informations de performance si vous voulez
- Les exemples vous donnent juste un bon point de dpart.
Une fois que vous aurez copi ces exemples d'entres dans votre chier de conguration MRTG
(/etc/mrtg/mrtg.cfg), vous devriez avoir des nouveaux graphiques, la prochaine fois que MRTG
fonctionnera.
Je vais dcrire ce que quelques-uns des graphiques MRTG signient et quoi ils peuvent tre utiliss
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
353 / 379
Huitime partie
Chapitre 67
67.1 Introduction
Une des raisons de la popularit de Nagios comme logiciel de supervision est sa capacit s'intgrer
votre infrasctuture existante. Il y a plusieurs mthodes pour intgrer Nagios avec le logiciel de gestion
d'infrastructure que vous utilisez dj et vous pouvez supervisez quasiment n'importe quel type de
matriel, nouveau ou personnalis ainsi que les applications que vous possdez.
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 suiv-
antes sur :
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
J'ai document quelques exemples d'intgration de Nagios avec des applications tierces :
Chapitre 68
68.1 Introduction
Note
Nagios n'est pas prvu pour remplacer une application de gestion ddie SNMP comme HP OpenView
ou OpenNMS. Quoique qu'il en soit, vous pouvez rgler les choses de faon ce qu'une interruption
SNMP reu par un des htes de votre rseau puisse gnrer une alerte dans Nagios.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
361 / 379
Chapitre 69
69.1 Introduction
Cet exemple explique comment gnrer aisment des alertes dans Nagios pour des connexions re-
jetes 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 au-
rez 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.
Si vous ne l'avez pas encore fait, crez une dnition d'hte pour l'hte superviser (restorm).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
362 / 379
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 firestorm
service_description TCP Wrappers
is_volatile 1
active_checks_enabled 0
passive_checks_enabled 1
max_check_attempts 1
check_command check_none
...
}
Maintenant, il faut modier le chier /etc/hosts.deny sur la machine restorm. Pour que l'encapsuleur
TCP envoie une alerte chaque connexion refuse, vous devez ajouter une ligne de ce type :
ALL: ALL: RFC931: twist (/usr/local/nagios/libexec/eventhandlers/handle_tcp_wrapper %h %d)&
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.
La dernire chose faire est d'crire le script handle_tcp_wrapper sur restorm qui enverra les alertes
l'hte de supervision. Cela donnera quelque chose qui ressemblera a :
#!/bin/sh
/usr/local/nagios/libexec/eventhandlers/submit_check_result firestorm "TCP Wrappers" 2 " -
Denied $2-$1" > /dev/null 2> /dev/null
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
363 / 379
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
364 / 379
Neuvime partie
Complments Nagios
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
365 / 379
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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
366 / 379
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/.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
367 / 379
Dixime partie
Dveloppement
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
368 / 379
Chapitre 71
Si vous cherchez crire vos propres plugins pour Nagios, soyez srs d'avoir visiter ces autres
ressources :
Les scripts et excutables doivent faire deux choses (au minimum) an d'tre considrs comme plu-
gins Nagios
Le fonctionnement interne de votre plugin n'intresse pas Nagios. Votre plugin peut contrler l'tat
d'un port TCP, excuter une requte sur une base de donnes, vrier l'espace disque restant, ou faire
tout fait autre chose dont il a besoin pour eectuer son contrle.
Nagios dtermine l'tat de l'hte ou du service en valuant le code de retour du plugin. Le tableau
suivant nous montre une liste des dirents codes de retour valides, ainsi que l'tat du service ou de
l'hte correspondant.
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.
Au minimum, les plugins doivent retourner au moins du texte en sortie. A partir de Nagios 3, les plu-
gins peuvent optionnellement retourner plusieurs lignes de texte en sortie. Les plugins peuvent aussi
retourner optionnellement des donnes de performance qui pourront tre traites par une application
externe. Le format basique pour la sortie d'un plugin est dcrit ci-dessous:
TEXT OUTPUT | OPTIONAL PERFDATALONG TEXT LINE 1LONG TEXT LINE 2LONG TEXT LINE
N | PERFDATA LINE 2PERFDATA LINE 3PERFDATA LINE N
Les donnes de performance (ici en orange) sont optionnelles. Si un plugin renvoie des donnes de
performance dans sa sortie, elles doivent tre spares du texte en utilisant le symbole 'pipe' ou 'tube'
( | ). Les lignes supplmentaires de texte de sorties (ici en bleu) sont aussi optionnelles.
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 sor-
tie du plugin ( gauche du sparateur 'pipe') sera crite dans la macro $SERVICEOUTPUT$ et la par-
tieorangedu 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 :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
370 / 379
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 $SERVICEOUT-
PUT$. 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 Valeur
$SERVICEOUTPUT$ DISK OK - free space : / 3326 MB (56%) ;
$SERVICEPERFDATA$ /=2643MB;5948;5958;0;5968/boot=68MB;88;93;0;98
/ 15272 MB (77%) ;\n/boot 68 MB
$LONGSERVICEOUTPUT$
(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 :
Nagios ne lira que les premiers 4KB des donnes qui seront retournes par le plugin. Ceci dans le
but d'empcher les plugins dverser des Mgas ou des Gigas de donnes Nagios. Cette limite
de 4KB est assez facile modier si vous en ressentez le besoin. Il sut de modier la valeur de la
dnition nomme MAX_PLUGIN_OUTPUT_LENGTH dans le chier include/nagios.h.in du code source
et de recompiler Nagios. Il n'y a rien d'autre faire !
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.
Nagios peut utiliser en option un interprteur Perl intgr qui peut acclrer l'excution des plugins
cods en Perl. Plus d'informations sur le dveloppement des plugins en Perl utilisant l'interprteur
Perl intgr disponibles ici.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
371 / 379
Chapitre 72
72.1 Introduction
Stanley Hopcroft a beaucoup travaill sur l'interprteur Perl intgr et a comment les avantages et
inconvnients de son utilisation. Il a galement donn plusieurs trucs utiles pour crire des plugins
Perl qui fonctionnent correctement avec l'interprteur intgr. La majeure partie de cette documen-
tation provient de ses commentaires.
Notez que ePN, tel qu'il est utilis dans cette documentation, fait rfrence Perl intgr Nagios
[embedded Perl Nagios], ou si vous prfrez, Nagios compil avec un interprteur Perl intgr.
Dveloppeurs Perl de niveau moyen ; ceux qui ont une ide des puissantes fonctionnnalits du lan-
gage sans en avoir une connaissance appronfondie.
Ceux qui ont une apprciation pratique plutt qu'un grand niveau de comprhension.
Si vous tes l'aise avec les objets Perl, la gestion de nom, les structures de donnes et le dboguer,
a devrait sure.
72.3 Les choses que vous devriez faire quand vous dveloppez
un plugin Perl (ePN ou pas)
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
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
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 ;
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 ..)'
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 probable-
ment 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 prc-
dentes)
utilisant le module Deparse sur votre plugin pour voir comment l'analyseur syntaxique l'a opti-
mis, 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 ap-
pel 'hndlr' dans le paquetage nomm Embed : :<quelque-chose-ayant-rapport-avec-le-nom-de-
chier-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
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
374 / 379
#
# 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).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
375 / 379
Chapitre 73
Glossaire
Addon
Un addon est un logiciel prvu pour fonctionner avec Nagios et qui en tend les possibilits,
fonctionnalits.
Contact
Le contact permet de dterminer qui est prvenu lors d'un problme sur un hte ou un service
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.
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.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
376 / 379
Plugin
Un plugin est un script crit dans n'importe quel langage capable de renvoyer Nagios un tat,
un indicateur.
Service
Au sens Nagios du terme, un service est....
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
377 / 379
Chapitre 74
Index
A $HOSTDOWNTIME$, 174
API, 9, 10 $HOSTDURATIONSEC$, 174
$HOSTDURATION$, 174
C $HOSTEVENTID$, 4, 11, 173
CGI, 2, 7, 10, 20, 31, 61--63, 65--67, 97, 109, $HOSTEXECUTIONTIME$, 174
112, 113, 115, 117, 120--122, 125, 137-- $HOSTGROUPACTIONURL$, 177
141, 144--148, 150--155, 221--230, 232, $HOSTGROUPALIAS$, 176
233, 311, 312, 334, 336, 338 $HOSTGROUPMEMBERS$, 176
$HOSTGROUPNAMES$, 11, 174
D $HOSTGROUPNAME$, 174
Debian, 30, 31 $HOSTGROUPNOTESURL$, 177
F $HOSTGROUPNOTES$, 177
Fedora, 17, 20, 26 $HOSTLATENCY$, 174
$HOSTNAME$, 109, 172, 176, 181
M $HOSTNOTESURL$, 5, 164, 176
Macros $HOSTNOTES$, 5, 164, 176
$ADMINEMAIL$, 98, 189 $HOSTNOTIFICATIONID$, 4, 11, 186
$ADMINPAGER$, 189 $HOSTNOTIFICATIONNUMBER$, 5, 186
$ARGn$, 165, 189, 334 $HOSTOUTPUT$, 98, 175, 289, 334
$COMMANDFILE$, 188 $HOSTPERCENTCHANGE$, 174
$COMMENTDATAFILE$, 188 $HOSTPERFDATAFILE$, 188
$CONTACTADDRESSn$, 182 $HOSTPERFDATA$, 98, 175, 288, 289, 334
$CONTACTALIAS$, 182 $HOSTPROBLEMID$, 5, 173
$CONTACTEMAIL$, 125, 182 $HOSTSTATEID$, 172
$CONTACTGROUPALIAS$, 5, 183 $HOSTSTATETYPE$, 173
$CONTACTGROUPMEMBERS$, 5, 183 $HOSTSTATE$, 172
$CONTACTGROUPNAMES$, 5, 183 $ISVALIDTIME:$, 5, 187
$CONTACTGROUPNAME$, 5, 183 $LASTHOSTCHECK$, 174
$CONTACTNAME$, 123, 182 $LASTHOSTDOWN$, 175
$CONTACTPAGER$, 125, 182 $LASTHOSTEVENTID$, 5, 11, 173
$DATE$, 187 $LASTHOSTPROBLEMID$, 5, 174
$DOWNTIMEDATAFILE$, 188 $LASTHOSTSTATECHANGE$, 175
$EVENTSTARTTIME$, 5, 189 $LASTHOSTSTATEID$, 5, 173
$HOSTACKAUTHORALIAS$, 11, 175 $LASTHOSTSTATE$, 5, 172
$HOSTACKAUTHORNAME$, 11, 175 $LASTHOSTUNREACHABLE$, 175
$HOSTACKAUTHOR$, 98, 175 $LASTHOSTUP$, 175
$HOSTACKCOMMENT$, 98, 176 $LASTSERVICECHECK$, 179
$HOSTACTIONURL$, 5, 164, 176 $LASTSERVICECRITICAL$, 180
$HOSTADDRESS$, 109, 150, 172 $LASTSERVICEEVENTID$, 5, 11, 178
$HOSTALIAS$, 109, 172 $LASTSERVICEOK$, 180
$HOSTATTEMPT$, 173 $LASTSERVICEPROBLEMID$, 5, 179
$HOSTCHECKCOMMAND$, 175 $LASTSERVICESTATECHANGE$, 180
$HOSTDISPLAYNAME$, 5, 172 $LASTSERVICESTATEID$, 5, 177
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
378 / 379
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