You are on page 1of 406

Ed.

Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
i

Documentation Nagios Version 3.x

Ed. Franaise Docbook


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
ii

Copyright 1999-2007 Ethan Galstad, Nagios Enterprises

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 :

Documentation Nagios Version 3.x

ACTION NOM DATE SIGNATURE

RDIG PAR Ethan Galstad 6 mars 2011

Transformation Sbastien 6 mars 2011


HTML vers Guilbaud
Docbook et
relecture version
3.x

Transformation Olivier Jan 6 mars 2011


HTML vers
Docbook,
traduction et
relecture version
3.x

Traduction Romuald 6 mars 2011


version 3.x Fronteau

Traduction et Guillaume 6 mars 2011


relecture version Halbitte
3.x

Traduction David Gunault 6 mars 2011


version 3.x

Traduction Dimitri Druelle 6 mars 2011


version 3.x

Relecture Sylvain Faure 6 mars 2011


version 3.x

Relecture Pascal Martin 6 mars 2011


version 3.x
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
iv

SUIVI DU DOCUMENT

INDICE DATE MODIFICATIONS NOM

3 2009-10-05 Premire version beta franaise oj, rf, gh, dg, dd


docbook

2 2008-11-28 Premire version beta docbook sg, oj

1 2008-11-13 Premire version eg


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
v

Table des matires

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 Quoi de neuf dans Nagios 3 4


2.1 Historique des changements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Modications et nouvelles fonctionnalits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.3 Priode de maintenance planie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.4 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.5 tat de conservation des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.6 Dtection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.7 Commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.8 Donnes d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.9 Perl intgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.10Supervision adaptative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.11Notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.12Dnitions d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.13Hritage d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.14Amliorations des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.15Message retour d'un plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.16Contrles de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.17Contrles d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
vi

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

4 Conseils aux dbutants 15

5 Guides d'installation rapide 16


5.1 Guides d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Modications post installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 Guide de dmarrage rapide Fedora 17


6.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.2 Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.3 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.4 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.6 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.7 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.9 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.10Modiez les rglages SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.11Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.12Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.13Termin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7 Guide de dmarrage rapide openSUSE 22


7.1 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.3 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.4 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.5 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.6 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
vii

7.7 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 24


7.8 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.9 Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.10Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

8 Guide de dmarrage rapide Ubuntu 26


8.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.3 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.4 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.6 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.7 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.9 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.10Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.11Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

9 Mise jour de Nagios 30


9.1 Mise jour depuis une version 3.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.2 Mise jour depuis une version 2.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.3 Mise jour depuis une installation par RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

10 Supervision des machines Windows 33


10.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
10.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
10.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.6Installation de l'agent Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.7Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.8Protection par mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.9Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

11 Supervision des machines Linux/Unix 40


11.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

12 Supervision des serveurs Netware 42


12.1Ressources externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
viii

13 Supervision des imprimantes rseaux 43


13.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
13.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
13.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
13.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
13.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
13.6Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
13.7Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

14 Supervision des routeurs et des switchs. 47


14.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
14.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
14.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
14.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
14.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
14.6Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
14.7Supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
14.8Supervision des paquets perdus et de la RTA . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
14.9Supervision de l'information d'tat SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
14.10
Supervision de la bande passante/trac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
14.11
Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

15 Supervision des services publiquement disponibles 53


15.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
15.2Plugins pour la supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
15.3Cration d'une dnition d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
15.4Cration d'une dnition de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
15.5Supervision HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
15.6Supervision FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
15.7Supervision SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
15.8Supervision SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
15.9Supervision POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
15.10
Supervision IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
15.11
Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

III Congurer Nagios 60

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 Options du chier de conguration principal 64


17.1Conguration d'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
17.2Emplacement du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
17.3Variables du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
17.3.1 log_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
17.3.2 cfg_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
17.3.3 cfg_dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
17.3.4 object_cache_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
17.3.5 precached_object_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17.3.6 resource_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17.3.7 temp_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17.3.8 temp_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17.3.9 status_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
17.3.10status_update_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
17.3.11nagios_user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
17.3.12nagios_group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
17.3.13enable_notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
17.3.14execute_service_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
17.3.15accept_passive_service_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
17.3.16execute_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
17.3.17accept_passive_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
17.3.18enable_event_handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
17.3.19log_rotation_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
17.3.20log_archive_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
17.3.21check_external_commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
17.3.22command_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
17.3.23command_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
17.3.24external_command_buer_slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
17.3.25lock_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
17.3.26retain_state_information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
17.3.27state_retention_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
17.3.28retention_update_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
17.3.29use_retained_program_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
17.3.30use_retained_scheduling_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
17.3.31Masques d'attribut conserv pour hte et service . . . . . . . . . . . . . . . . . . . . 74
17.3.32Masque d'attributs conservs du processus . . . . . . . . . . . . . . . . . . . . . . . 74
17.3.33Masques d'attribut conserv de contact . . . . . . . . . . . . . . . . . . . . . . . . . . 75
17.3.34use_syslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
17.3.35log_notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
x

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

18 Survol de la conguration des objets 102


18.1Que sont les donnes des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
18.2O sont dnies les donnes des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
18.3Comment dnir les donnes des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
18.4 Explication des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
18.4.1Htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
18.4.2Groupes d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
18.4.3Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
18.4.4Groupes de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
18.4.5Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
18.4.6Groupes de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
18.4.7Priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
18.4.8Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

19 Dnitions d'objet 106


19.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
19.2 Notes sur la rtention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
19.3Fichiers exemple de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
19.4Types d'objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
19.4.1 Dnition d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
19.4.1.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
19.4.1.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
19.4.1.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
19.4.1.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
19.4.2 Dnition de groupe d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
19.4.2.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
19.4.2.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
19.4.2.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
19.4.2.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xiii

19.4.3 Dnition de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115


19.4.3.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
19.4.3.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
19.4.3.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
19.4.3.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
19.4.4 Dnition de groupe de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
19.4.4.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
19.4.4.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
19.4.4.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
19.4.4.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
19.4.5 Dnition de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
19.4.5.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
19.4.5.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
19.4.5.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
19.4.5.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
19.4.6 Dnition de groupe de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
19.4.6.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
19.4.6.2Format de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
19.4.6.3Exemple de dnition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
19.4.6.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
19.4.7 Dnition de priode de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
19.4.7.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
19.4.7.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
19.4.7.3Exemples de dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
19.4.7.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
19.4.8 Dnition de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
19.4.8.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
19.4.8.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
19.4.8.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
19.4.8.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
19.4.9 Dnition de dpendance de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
19.4.9.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
19.4.9.2Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
19.4.9.3Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
19.4.9.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
19.4.10Dnition d'escalade de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
19.4.10.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
19.4.10.2
Format de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
19.4.10.3
Exemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xiv

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

20 Variables personnalises d'objet 142


20.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
20.2Principes de base des variables personnalises . . . . . . . . . . . . . . . . . . . . . . . . . . 142
20.3Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
20.4Les variables personnalises comme macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
20.5Variables personnalises et hritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

21 Options du chier de conguration des CGIs 144


21.1Exemple de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
21.2Emplacement du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
21.3Variables du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
21.3.1 Emplacement du chier de conguration principal . . . . . . . . . . . . . . . . . . . 145
21.3.2 Chemin d'accs physique aux chiers HTML . . . . . . . . . . . . . . . . . . . . . . . 145
21.3.3 URL d'accs aux pages HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
21.3.4 Utilisation de l'authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
21.3.5 Nom d'utilisateur par dfaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
21.3.6 Accs aux informations sur le systme et le processus . . . . . . . . . . . . . . . . . 146
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xv

21.3.7 Accs aux commandes du systme/processus . . . . . . . . . . . . . . . . . . . . . . 146


21.3.8 Accs aux informations de conguration . . . . . . . . . . . . . . . . . . . . . . . . . 146
21.3.9 Accs global aux informations sur les htes . . . . . . . . . . . . . . . . . . . . . . . 147
21.3.10Accs global aux commandes des htes . . . . . . . . . . . . . . . . . . . . . . . . . . 147
21.3.11Accs global aux informations sur les services . . . . . . . . . . . . . . . . . . . . . . 147
21.3.12Accs global aux commandes des services . . . . . . . . . . . . . . . . . . . . . . . . 147
21.3.13Vrouillage des noms d'auteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
21.3.14Image de fond du CGICGI de cartographie des tats (Statusmap) . . . . . . . . . . 148
21.3.15Dessin de la cartographie des tats : valeur par dfaut . . . . . . . . . . . . . . . . 148
21.3.16Monde inclus dans le CGI du monde des tats (Statuswrl) . . . . . . . . . . . . . . 149
21.3.17Dessin du monde des tats : valeur par dfaut . . . . . . . . . . . . . . . . . . . . . . 149
21.3.18Frquence de rafrachissement des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . 149
21.3.19Alertes sonores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
21.3.20Syntaxe Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
21.3.21Option d'chappement des balises HTML . . . . . . . . . . . . . . . . . . . . . . . . . 150
21.3.22URL cible des notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
21.3.23URL cible d'action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
21.3.24Option d'intgration Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
21.3.25URL Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

22 Authentication et autorisations dans les CGIs 152


22.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
22.2 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
22.3 Dclarer des utilisateurs authentis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
22.4 Activer l'authentication/autorisation dans les CGIs . . . . . . . . . . . . . . . . . . . . . . 153
22.5 Droits d'accs par dfaut aux informations des CGIs . . . . . . . . . . . . . . . . . . . . . . 153
22.6 Donner des droits d'accs supplmentaires aux informations des CGIs . . . . . . . . . . . 154
22.7 Autorisations requises par les CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
22.8 Authentication sur des serveurs web scuriss . . . . . . . . . . . . . . . . . . . . . . . . 154

IV Dmarrage de Nagios 156

23 Vrication de votre conguration 157


23.1Vrication de votre conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

24 Dmarrage et Arrt de Nagios 158


24.1Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
24.2Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
24.3Arrt de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xvi

V Les bases 160

25 Les Plugins Nagios 161


25.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
25.2Que sont les plugins ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
25.3Les plugins comme une couche intermdiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
25.4Quels plugins existe-il? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
25.5Obtenir des plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
25.6Comment utiliser le plugin x ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
25.7 Plugin API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

26 Utilisation des macros dans les commandes 164


26.1Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
26.2Substitution des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
26.3Exemple 1 : La macro d'adresse de l'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
26.4Exemple 2 : Les commandes d'Argument de macros . . . . . . . . . . . . . . . . . . . . . . 165
26.5Macro la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
26.6Les groupes de macros la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
26.7Les macros de variable personnalise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
26.8Nettoyage des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
26.9Macros et variables d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
26.10
Validit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

27 Macros standards dans Nagios 169


27.1Validit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
27.2Tableau de disponibilit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
27.3Description des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
27.4Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

28 Les contrles d'htes 191


28.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
28.2Quand sont eectus les contrles d'htes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
28.3Les contrles d'htes mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
28.4Les contrles et les dpendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
28.5Paralllisation des contrles d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
28.6Les tats d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
28.7Dtermmination de l'tat d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
28.8Changements d'tats d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xvii

29 Les contrles de services 194


29.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
29.2Quand les contrles de services sont-ils raliss ? . . . . . . . . . . . . . . . . . . . . . . . . 194
29.3Les contrles de service mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
29.4Les contrles et les dpendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
29.5Paralllisation des contrles de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
29.6tats des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
29.7Dtermination de l'tat du service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
29.8Changements d'tats des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

30 les contrles actifs 196


30.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
30.2Comment sont faits les contrles actifs ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
30.3Quand sont excuts les contrles actifs ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

31 Les contrles passifs 198


31.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
31.2L'utilit du contrle passif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
31.3Comment les contrles passifs fonctionnent-ils ? . . . . . . . . . . . . . . . . . . . . . . . . . 199
31.4Autoriser les contrles passifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
31.5Soumission d'un rsultat de contrle passif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
31.6Soumission d'un rsultat de contrle passif d'un hte . . . . . . . . . . . . . . . . . . . . . . 200
31.7Les contrles passifs et les tats d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
31.8Soumission des rsultats de contrles passifs provenant d'htes distants . . . . . . . . . . 201

32 Types d'tats 202


32.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
32.2Tentatives de contrle des Services et des htes . . . . . . . . . . . . . . . . . . . . . . . . . 202
32.3Les tats SOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
32.4Les tats HARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
32.5Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

33 Les priodes de temps 206


33.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
33.2Les priorits dans les priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
33.3Comment les priodes de temps fonctionnent avec les contrles des htes et des services 207
33.4Comment fonctionnent les priodes de temps avec les contacts de notications . . . . . . 207
33.5Comment fonctionnent les priodes de temps avec les escalades de notication . . . . . . 208
33.6Comment fonctionnent les priodes de temps avec les dpendances . . . . . . . . . . . . . 208
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xviii

34 Dtermination de l'tat et de l'accessibilit des htes du rseau 209


34.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
34.2Exemple de rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
34.3Dnir des relations parents/enfants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
34.4La logique d'accessibilit des htes en action . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
34.5Type de notication DOWN oppos UNREACHABLE . . . . . . . . . . . . . . . . . . . . . 214

35 Notications 216
35.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
35.2Quand y a-t'il notication ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
35.3Qui est noti ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
35.4Quels sont les ltres traverser avant qu'une notication ne soit mise ? . . . . . . . . . . 217
35.5Filtre global au programme : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
35.6Filtres d'hte et de service : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
35.7Filtres de contact : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
35.8Moyens de notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
35.9Macro de type de notication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
35.10
Ressources utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

36 Informations sur les CGIs 221


36.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
36.2 CGI d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
36.3 CGI de cartographie des tats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
36.4 CGI d'interface WAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
36.5 CGI du monde des tats (VRML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
36.6 CGI d'aperu tactique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
36.7 CGI d'indisponibilit du rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
36.8 CGI de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
36.9 CGI de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
36.10CGI d'informations complmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
36.11CGI du chier journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
36.12CGI d'historique d'alerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
36.13CGI des notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
36.14CGI de tendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
36.15CGI de rapport de disponibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
36.16CGI d'histogramme des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
36.17CGI du rcapitulatif des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xix

VI Thmes avancs 231

37 Commandes externes 232


37.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
37.2Autoriser les commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
37.3Quand Nagios contrle-t-il les commandes externes ? . . . . . . . . . . . . . . . . . . . . . . 233
37.4L'utilisation des commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
37.5Format des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

38 Gestionnaires d'vnements 234


38.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
38.2Quand les commandes de gestionnaires d'vnements sont-elles excutes ? . . . . . . . 235
38.3Types de gestionnaires d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
38.4Activation des gestionnaires d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
38.5Ordre d'excution des gestionnaires d'vnements . . . . . . . . . . . . . . . . . . . . . . . 235
38.6criture d'une commande de gestionnaire d'vnements . . . . . . . . . . . . . . . . . . . . 236
38.7Autorisations d'excution des commandes de gestionnaires d'vnements . . . . . . . . . 236
38.8 Exemple de gestionnaire d'vnement de service . . . . . . . . . . . . . . . . . . . . . . . . 236

39 Services volatiles 239


39.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
39.2A quoi servent-ils ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
39.3Qu'est-ce que les services volatiles ont de si particulier ? . . . . . . . . . . . . . . . . . . . . 239
39.4La puissance de deux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
39.4.1Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
39.4.2Conguration de PortSentry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
39.4.3Script de scan de port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

40 Contrle de la fracheur des rsultats d'htes et de services 242


40.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
40.2Comment fonctionne le contrle de la fracheur ? . . . . . . . . . . . . . . . . . . . . . . . . 242
40.3Activer le contrle de la fracheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
40.4Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

41 Supervision distribue 245


41.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
41.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
41.3Diagramme de rfrence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
41.4Serveur central ou serveurs distribus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
41.5Obtention des informations de contrle de service partir de serveurs distribus . . . . 247
41.6Conguration des serveurs distribus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xx

41.7Conguration du serveur central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249


41.8Problmes avec les contrles passifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
41.9Le contrle de validit des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
41.10
Contrles des htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

42 Gestion de panne et redondance pour la supervision rseau 252


42.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
42.2Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
42.3Exemples de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
42.4 Scnario 1 - Supervision Redondante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
42.4.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
42.4.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
42.4.3Diagramme de topologie rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
42.4.4Rglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
42.4.5Conguration Initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
42.4.6Dnition de commandes de Gestion dEvnements . . . . . . . . . . . . . . . . . . . 254
42.4.7Scripts de Gestion dEvnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
42.4.8Que fait ce script pour nous ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
42.4.9Dlais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
42.4.10
Cas spciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5 Supervision en mode haute disponibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5.3Rglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5.4Vrication du processus principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
42.5.5Cas Supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

43 Dtection et gestion de l'oscillation d'tat 259


43.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
43.2Comment la dtection d'oscillation fonctionne-t-elle ? . . . . . . . . . . . . . . . . . . . . . . 259
43.3Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
43.4Dtection de l'oscillation pour les services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
43.5Dtection de l'oscillation d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
43.6Seuils de dtection de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
43.7Les tats utiliss pour la dtection de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . 262
43.8Gestion de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
43.9Activation de la dtection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxi

44 Escalades des notications 264


44.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
44.2Quand y a-t-il escalade des notications ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
44.3Contact Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
44.4Recoupement des portes des escalades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
44.5Notications de reprise d'activit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
44.6Intervalles de notication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
44.7Restrictions de priode de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
44.8Restrictions d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

45 Les astreintes la demande 270


45.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
45.2Scnario 1 : Les vacances et les week-ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
45.3Scnario 2 : Jours alterns : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
45.4Scnario 3 : Semaines alternes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
45.5Scnario 4 : Les jours de vacances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
45.6Autres scnarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

46 Supervision de clusters d'htes et de services 275


46.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
46.2Plan d'attaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
46.3Utilisation du plugin check_cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
46.4Supervision de clusters de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
46.5Supervision de clusters d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

47 Dpendances d'htes et de services 279


47.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
47.2Aperu des dpendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
47.3Dnition de dpendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
47.4Exemple de dpendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
47.5Comment les dpendances d'un service sont testes . . . . . . . . . . . . . . . . . . . . . . 281
47.6Dpendances d'excution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
47.7Dpendances de notication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
47.8Hritage de dpendance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
47.9Dpendances d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
47.10
Exemple de dpendances d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

48 Suivi prcis des changements d'tat 285


48.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
48.2Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
48.3Dois-je activer le suivi prcis ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
48.4Comment activer le suivi prcis des changements d'tat ? . . . . . . . . . . . . . . . . . . . 287
48.5Dirences entre services volatiles et suivi prcis ? . . . . . . . . . . . . . . . . . . . . . . . 287
48.6Inconvnients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxii

49 Donnes de performance 288


49.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
49.2Les types de donnes de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
49.3Les donnes de performance relatives au plugin . . . . . . . . . . . . . . . . . . . . . . . . . 289
49.4Traiter les donnes de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
49.5Commandes pour traiter les donnes de performance . . . . . . . . . . . . . . . . . . . . . . 290
49.6crire les donnes de performances dans des chiers . . . . . . . . . . . . . . . . . . . . . . 290

50 Priode de maintenance planie 291


50.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
50.2Programmer une maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
50.3Maintenance xe ou exible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
50.4Maintenance dclenche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
50.5Comment les maintenances programmes aectent les notications . . . . . . . . . . . . . 292
50.6Maintenances programmes qui se superposent . . . . . . . . . . . . . . . . . . . . . . . . . 293

51 Utilisation de l'interprteur Perl intgr 294


51.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
51.2Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
51.3Inconvnients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
51.4Utilisation de l'interprteur Perl intgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
51.5Compilation de Nagios avec l'interprteur Perl intgr . . . . . . . . . . . . . . . . . . . . . 296
51.6Utilisation spcique de l'interprteur Perl par plugin . . . . . . . . . . . . . . . . . . . . . 296
51.7Dveloppement de plugins pour tre utiliss avec Perl intgr Nagios . . . . . . . . . . . 297

52 Supervision adaptative 298


52.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
52.2Qu'est ce qui peut tre modi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
52.3Commandes externes pour le monitoring adaptif . . . . . . . . . . . . . . . . . . . . . . . . . 299

53 Contrles prdictifs de dpendances 300


53.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
53.2Comment fonctionnent les contrles prdictifs ? . . . . . . . . . . . . . . . . . . . . . . . . . 300
53.3Activation des contrles prdictifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
53.4Contrles mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

54 Mise en cache des contrles 303


54.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
54.2Pour seulement des contrles la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
54.3Comment a fonctionne ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
54.4Que cela signie vraiment ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
54.5Congurations des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
54.6Optimisation de l'ecacit du cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxiii

55 Transition d'tat passif d'hte 308


55.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
55.2Direntes vues d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
55.3Activer la transition d'tats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

56 Ordonnancement du contrle des services et des htes 310


56.1 faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

57 Personnalisation de l'en-tte et du pied de page des CGIs 311


57.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
57.2Comment cela fonctionne t'il ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

58 Hritage d'objet 313


58.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
58.2Les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
58.3Variables locales vs Variables hrites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
58.4Enchainement d'hritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
58.5Utiliser des dnitions incomplte d'objet comme gabarit . . . . . . . . . . . . . . . . . . . 315
58.6Variables personnalises d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
58.7 Annulation de l'hritage de la valeur de la chane . . . . . . . . . . . . . . . . . . . . . . . 317
58.8 Hritage additif de la valeur de la chane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
58.9 Hritage implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
58.10Hritage Implicite/Additive dans les escalades . . . . . . . . . . . . . . . . . . . . . . . . . 319
58.11Multiples sources d'hritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
58.12
Priorit avec des sources d'hritage multiples . . . . . . . . . . . . . . . . . . . . . . . . . . 320

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

59.4.6Services multiples du mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325


59.4.7Tous les services de multiples groupes de services : . . . . . . . . . . . . . . . . . . . 326
59.5 Dnitions de dpendance de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
59.5.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
59.5.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 326
59.5.3Tous les services d'un mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
59.5.4Services multiples d'un mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
59.5.5Tous les services de multiples groupes de services : . . . . . . . . . . . . . . . . . . . 327
59.5.6 Dpendances sur le mme hte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
59.6 Dnitions d'escalade d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
59.6.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
59.6.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 328
59.6.3Tous les htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
59.6.4Exclusion d'htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
59.7 Dnitions de dpendance d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
59.7.1Htes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
59.7.2Tous les htes situs dans de multiples groupes d'htes : . . . . . . . . . . . . . . . 329
59.8 Groupes d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
59.8.1Tous les htes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

VII Amliorations des performances et de la scurit 331

60 Considrations sur la scurit 332


60.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
60.2 Meilleures pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

61 Amlioration de l'authentication et de la Scurit des CGIs 336


61.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
61.2Techniques supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
61.2.1L'implantation de l'authentication Digest . . . . . . . . . . . . . . . . . . . . . . . . . 337
61.2.2Forcer l'implmentation TLS/SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
61.2.3Implmentation de verrous de sous-rseaux IP . . . . . . . . . . . . . . . . . . . . . . 338
61.3Notes importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

62 Rgler Nagios pour des performances maximales 340


62.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
62.2Trucs et astuces d'optimisation : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxv

63 Options de dmarrage rapide 344


63.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
63.2Arrire-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
63.3valuation des temps de dmarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
63.4Mise en pr-cache des objets de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . 346
63.5Passer outre les tests de rfrences circulaires . . . . . . . . . . . . . . . . . . . . . . . . . . 347
63.6Tout mettre ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

64 Trucs et astuces pour les installations de grande dimension 348


64.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
64.2Eets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

65 Utilisation de Nagiostats 349


65.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
65.2Instructions d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
65.3Achage intelligible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
65.4Intgration MRTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

66 Grapher les informations de performance avec MRTG 352


66.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
66.2Exemple de conguration MRTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
66.3Exemples de graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

VIII Intgration avec d'autres logiciels 357

67 Vue gnrale de l'intgration 358


67.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
67.2Les points d'intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
67.3Exemples d'intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

68 Intgration des interruptions SNMP 360


68.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

69 Intgration d'un TCP Wrapper 361


69.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
69.2Dnition du Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
69.3Conguration du TCP Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
69.4criture du script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
69.5Finition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxvi

IX Complments Nagios 364

70 Addons Nagios 365


70.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
70.2 NRPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
70.3 NSCANSCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
70.4 NDOUtils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

X Dveloppement 367

71 API pour les plugins Nagios 368


71.1Autres Ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
71.2Vue d'ensemble du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
71.3Code de retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
71.4Spcications pour la sortie du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
71.5Exemples de sorties de plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
71.6Restriction de longueur de message de sortie de plugin . . . . . . . . . . . . . . . . . . . . 370
71.7Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
71.8Plugins Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

72 Dveloppement de plugins pour tre utiliss avec Perl intgr Nagios 371
72.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
72.2Public vis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
72.3Les choses que vous devriez faire quand vous dveloppez un plugin Perl (ePN ou pas) . 371
72.4Ce que vous devez faire quand vous crivez un plugin Perl pour ePN . . . . . . . . . . . . 372

73 Glossaire 375

74 Index 377
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
xxvii

Liste des exemples

26.1Macro la demande d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166


26.2Macro la demande de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
26.3Macro la demande de service, sans le champ d'hte . . . . . . . . . . . . . . . . . . . . . . 166
26.4Macro la demande de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
26.5Macro la demande de groupe de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
26.6Macro la demande de groupe d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
26.7Macro la demande de groupe de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
1 / 379

Premire partie

propos
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
2 / 379

Chapitre 1

propos de Nagios

1.1 Qu'est-ce que c'est ?

Nagios est une application de supervision systme et rseau. Il contrle les htes et services que vous
spciez et met des alertes quand les choses vont mal ou qu'elles reviennent la normale.
Nagios a t dvelopp pour fonctionner sur Linux, mais devrait fonctionner sur la plupart des 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.

1.2 Pr-requis au niveau du systme

Le seul pr-requis pour le fonctionnement de Nagios est une machine fonctionnant sous Linux (ou une
variante Unix) et un compilateur C - si vous dsirez le compiler vous-mme -. Il faudra galement que
TCP/IP soit congur, car la plupart des vrications de services seront faites par le rseau.
Vous n'tes pas oblig d'utiliser les CGIs inclus avec Nagios. Toutefois, si vous vous dcidez les
utiliser, vous devrez avoir les composants logiciels suivants installs

1. Un serveur web (de prfrence Apache)


2. La librairie GD de Thomas Boutell en version 1.6.3 ou suprieure (requis par les CGIs statusmap
et trends)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
3 / 379

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.5 Tlchargement de la dernire version

Vous pouvez vrier la publication de nouvelles versions de Nagios 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

Quoi de neuf dans Nagios 3

Important
Assurez vous de lire la documentation et la FAQ sur nagios.org avant de poser des questions
sur les mailing lists.

2.1 Historique des changements

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 Modications et nouvelles fonctionnalits

2.2.1 Documentation

Mise jour de la documentation - J'avance doucement dans la rcriture de la plupart de la


documentation. Cela va prendre du temps, car (1) il y a beaucoup de documentation et (2) crire
de la documentation n'est pas mon passe temps favori. Il faut s'attendre ce que certaines portions
de la documentation n'voluent pas pendant un bon moment. J'espre que les modications que je
ralise vont clarier et rendre plus abordables certaines choses pour les nouveaux utilisateurs et
les utilisateurs occasionnels de Nagios.

2.2.2 Macros

Nouvelles macros - De nouvelles macros ont t ajoutes :


$TEMPPATH$
$LONGHOSTOUTPUT$
$LONGSERVICEOUTPUT$
$HOSTNOTIFICATIONID$
$SERVICENOTIFICATIONID$
$HOSTEVENTID$
$SERVICEEVENTID$
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
5 / 379

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

2.2.3 Priode de maintenance planie

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.

2.2.5 tat de conservation des donnes

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.

2.2.6 Dtection d'oscillation

Ajout de le paramtre flap_detection_options aux dnitions d'hte et de service vous permettant


de spcier quels tats d'hte/service doivent tre utiliss par la logique de dtection d'oscillation
(par dfaut tous les tats sont utiliss).
L'historique des pourcentages de changement d'tat est maintenant conserv mme si la dtection
d'oscillation est dsactive.
Les oscillations sont immdiatement vries sur les htes et les services quand la dtection d'oscil-
lation est active globalement.
Les htes et services en train d'osciller quand la dtection d'oscillation est globalement dsactive
sont maintenants loggs.
De plus amples informations concernant la dtection d'oscillation peut tre trouves au chapitre
Dtection et gestion de l'oscillation d'tat

2.2.7 Commandes externes

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

2.2.8 Donnes d'tat

Les informations d'tat de contact (Horaire de dernires notication, notication actives/dsac-


tives, etc.) sont maintenant sauvegardes dans les chiers de statut et de rtention, bien que
celles-ci ne soient pas traites par les CGIs.

2.2.9 Perl intgr

Ajout des variables enable_embedded_perl et use_embedded_perl_implicitly an de contrler


l'utilisation de l'interprteur Perl intgr.
Les scripts/plugins Perl peuvent maintenant explicitement signaler Nagios s'ils doivent, ou non,
tre excuts par l'interprteur Perl intgr. Cela est utile si vous avez des scripts qui ne fonction-
nent pas bien avec l'interprteur Perl intgr.
De plus amples informations propos de ces nouvelles options peuvent tre trouves ici.

2.2.10 Supervision adaptative

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

L'option first_notification_delay a t rajoute la dnition des htes et des services an


d'introduire un dlai entre le moment o un problme survient sur un hte/service et le moment
o la premire notication est envoye. Dans les versions prcdentes, vous deviez utiliser des
congurations complexes avec des escalades pour raliser cela. Cette fonctionnalit est maintenant
accessible au commun des mortels.
Les notications sont maintenant envoyes pour les htes/services qui oscillent quand la dtection
d'oscillations est dsactive au niveau hte, service ou globalement. Dans ce cas, la macro $NOTI-
FICATIONTYPE$ sera positionne sur FLAPPINGDISABLED.
Les notications peuvent maintenant tre envoyes lors de l'entre/sortie dans une priode de main-
tenance planie et tre annules pour les htes et services. La macro $NOTIFICATIONTYPE$ sera po-
sitionne respectivement sur DOWNTIMESTART, DOWNTIMEEND, ou DOWNTIMECANCELLED. Pour recevoir
des notications sur les vnements de maintenance planie, prcisez s ou downtime dans les
options de notications de contact, d'hte et/ou de service.
Vous pouvez trouver plus d'informations sur les notications au chapitre les concernant (Notica-
tions )

2.2.12 Dnitions d'objet

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

Les variables hostgroup_members, servicegroup_members, et contactgroup_members ont t ajoutes


respectivement aux dnitions de groupes d'htes, de groupes de services et de groupes de con-
tacts. Cela permet d'inclure des htes, services ou contacts de sous-groupes dans vos dnitions de
groupes.
Les variables notes , notes_url, et action_url ont t ajoutes aux dnitions de groupes d'htes
et de groupes de services.
Les dnitions de contact ont les nouvelles variables host_notifications_enabled, service_not-
ifications_enabled et can_submit_commands pour mieux contrler les notications et dterminer
s'il est possible ou pas de passer des commandes depuis l'interface web.
Les dpendances d'hte et de service supportent dsormais une variable optionnelle dependenc-
y_period. Elle permet de limiter les priodes de temps pendant lesquelles les dpendances sont
valides.
La variable parallelize dans les dnitions de services est abandonne et n'est plus utilise. Tous
les services sont contrls en parallle dans Nagios 3.
Il n'y a plus aucune limite de longueur de nom d'hte ou de description de services.
Les expressions rgulires tendues sont dsormais utilises si vous activez l'option de conguration
use_regexp_matching Les expressions rgulires de base sont seulement utilises dans certaines
variables de dnitions d'objets qui contiennent *, ?, + ou \..
Une nouvelle variable initial_state a t ajoute aux dnitions d'htes et de services, de faon
prciser Nagios l'tat dans lequel un hte ou un service doit dmarrer plutt que UP ou OK (qui
reste le comportement par dfaut).

2.2.13 Hritage d'objet

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)

2.2.14 Amliorations des performances

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

Une nouvelle option external_command_buffer_slots a t ajoute pour permettre de facilement


dimensionner Nagios dans des installations comprenant de nombreux htes et services. Pour obtenir
les meilleurs rsultats, vous devriez utiliser MRTG pour grapher l'usage que fait Nagios des slots
de buer dans le temps.

2.2.15 Message retour d'un plugin

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.

2.2.16 Contrles de service

Nagios contrle dsormais par dfaut les services orphelins.


Ajout d'une nouvelle option enable_predictive_service_dependency_checks pour contrler si
Nagios va initier ou non un contrle prdictif de service 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.
Un nouvelle fonctionnalit de cache pour les contrles de services a t mise en uvre. Elle peut
signicativement amliorer les performances pour pas mal de monde. Plutt que d'excuter un
plugin pour contrler l'tat d'un service, Nagios peut souvent utiliser un rsultat de contrle mis en
cache la place. Vous pouvez trouver plus d'informations sur cette fonctionnalit ici.

2.2.17 Contrles d'hte

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.18 Contrles de la fracheur

Une nouvelle option additional_freshness_latency a t ajoute pour permettre de prciser le


nombre de secondes qui devraient tre ajoutes n'importe quel seuil de fracheur d'hte ou de
service automatiquement calcul par Nagios.

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.

2.2.20 Priodes de temps

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.

2.2.21 Module de courtage d'vnements

Mise jour de la version de l'API NEB


Modication du callback pour le statut adaptatif des donnes du programme
Ajout d'un callback pour le statut adaptif des donnes de contact
Ajout de callbacks de pr-contrle pour les htes et services pour permettre aux modules d'annuler/-
modier les contrles internes d'htes/services.

2.2.22 Interface web

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.

2.2.23 Information de dbogage

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

3.1 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

Conseils aux dbutants

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

Guides d'installation rapide

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.

5.1 Guides d'installation

Les guides d'installation rapide sont actuellement disponibles pour les distributions Linux suivantes :

Guide rapide pour Fedora


Guide rapide openSUSE
Guide rapide Ubuntu

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.

5.2 Modications post installation

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

Superviser des machines Windows


Superviser des machines Linux/Unix
Superviser des serveurs Netware
Superviser des routeurs/switchs
Supervision d'imprimantes rseaux
Superviser des services disponibles publiquement (HTTP, FTP, SSH, etc.)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
17 / 379

Chapitre 6

Guide de dmarrage rapide Fedora

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.1 Ce que vous allez obtenir

Si vous suivez ces instructions, voici ce que vous obtiendrez la n :

Nagios et les plugins seront installs dans l'arborescence du rpertoire /usr/local/nagios


Nagios sera congur pour superviser quelques aspects du systme local (charge CPU, occupation
disque, etc.)
L'interface web de Nagios sera accessible http://localhost/nagios/

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

6.3 Crez un compte utilisateur

Passez sur le compte root.


$ su -l

Crez un utilisateur nagios et attribuez lui un mot de passe.


# /usr/sbin/useradd -m nagios
# passwd 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 apache

6.4 Tlchargez Nagios et les Plugins.

Crez un rpertoire pour stocker les tlchargements.


# mkdir ~/downloads
# cd ~/downloads

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

6.5 Compilez et installez Nagios

Extraire le code source de Nagios de l'archive.


# cd ~/downloads
# tar xzf nagios-3.0.2.tar.gz
# cd nagios-3.0.2

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

Compilez le code source de Nagios.


# 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

Ne dmarrez pas Nagios maintenant - Il reste quelques manipulations faire


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
19 / 379

6.6 Personnalisation de la conguration

Les exemples de chiers de conguration ont t installs dans le rpertoire /usr/local/nagios/etc.


Ces chiers d'exemple devraient sure pour commencer avec Nagios. Vous n'aurez qu'une chose
modier avant de pouvoir commencer
ditez le chier de conguration /usr/local/nagios/etc/objects/contacts.cfg avec votre diteur
de texte prfr et changez l'adresse de courrier lectronique associe avec la dnition de contact
nagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.
# vi /usr/local/nagios/etc/objects/contacts.cfg

6.7 Conguration de l'interface web

Installez le chier de conguration web Nagios dans le rpertoire Apache conf.d.


# make install-webconf

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

Redmarrez Apache pour que les nouveaux rglages prennent eet.


# service httpd restart

6.8 Compilation et installation des Plugins Nagios

Extraire le code source des plugins Nagios de l'archive.


# cd ~/downloads
# tar xzf nagios-plugins-1.4.11.tar.gz
# cd nagios-plugins-1.4.11

Compilation et installation des plugins.


# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install

6.9 Dmarrage de Nagios

Ajouter Nagios la liste des services systme et dmarrer le automatiquement au dmarrage du


systme.
# chkconfig --add nagios
# chkconfig nagios on

Vrier les exemples de chiers de conguration de Nagios.


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
20 / 379

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, dmarrer Nagios.


# service nagios start

6.10 Modiez les rglages SELinux

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

Rglez SELinux sur le mode Permissif.


# setenforce 0

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.

6.11 Connexion l'interface Web

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.

6.12 Autres Modications

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

Superviser des machines Windows


Superviser des machines Linux/Unix
Superviser des serveurs Netware
Superviser des routeurs/switchs
Superviser des services disponibles publiquement (HTTP, FTP, SSH, etc.)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
22 / 379

Chapitre 7

Guide de dmarrage rapide openSUSE

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.

7.1 Paquetages requis

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++

7.2 Crez un compte utilisateur

Passez sur le compte root.


$ su -l

Crez un utilisateur nagios et attribuez-lui un mot de passe.


# /usr/sbin/useradd -m nagios
# passwd nagios

Crez un nouveau groupe nagios. Ajoutez l'utilisateur nagios au groupe.


# /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 wwwrun
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
23 / 379

7.3 Tlchargez Nagios et les Plugins.

Crez un rpertoire pour stocker les tlchargements.


# mkdir ~/downloads
# cd ~/downloads

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

7.4 Compilez et installez Nagios

Extraire le code source de Nagios de l'archive.


# cd ~/downloads
# tar xzf nagios-3.0.2.tar.gz
# cd nagios-3.0.2

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

Compilez le code source de Nagios.


# 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

Ne dmarrez pas Nagios maintenant - Il y a encore beaucoup faire avant

7.5 Personnalisation de la conguration

Les exemples de chiers de conguration ont t installs dans le rpertoire /usr/local/nagios/etc.


Ces chiers d'exemple devraient sure pour commencer avec Nagios. Vous n'aurez qu'une chose
modier avant de pouvoir commencer
ditez le chier de conguration /usr/local/nagios/etc/objects/contacts.cfg avec votre diteur
de texte prfr et changez l'adresse de courrier lectronique associe avec la dnition de contact
nagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.
# vi /usr/local/nagios/etc/objects/contacts.cfg
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
24 / 379

7.6 Conguration de l'interface web

Installez le chier de conguration web de Nagios dans le rpertoire conf.d d'Apache.


# make install-webconf

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

Redmarrez Apache pour que les nouveaux rglages prennent eet.


# service apache2 restart

7.7 Compilation et installation des Plugins Nagios

Extraire le code source des plugins Nagios de l'archive.


# cd ~/downloads
# tar xzf nagios-plugins-1.4.11.tar.gz
# cd nagios-plugins-1.4.11

Compilation et installation des plugins.


# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install

7.8 Dmarrage de Nagios

Ajoutez Nagios la liste des services systme et dmarrer le automatiquement au dmarrage du


systme.
# chkconfig --add nagios
# chkconfig nagios on

Vriez les exemples de chiers de conguration de Nagios.


# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, dmarrer Nagios.


# service nagios start

7.9 Connexion l'interface Web

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

7.10 Autres Modications

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

Guide de dmarrage rapide Ubuntu

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.

8.1 Ce que vous allez obtenir

Si vous suivez ces instructions, voici ce que vous obtiendrez la n :


1. Nagios et les plugins seront installs dans l'arborescence du rpertoire /usr/local/nagios
2. Nagios sera congur pour superviser quelques aspects du systme local (charge CPU, occupa-
tion disque, etc.)
3. L'interface web de Nagios sera accessible http ://localhost/nagios/

8.2 Paquetages requis

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 6.10, installez la librairie gd2 avec cette commande :


$ sudo apt-get install libgd2-dev

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

8.3 Crez un compte utilisateur

Passez sur le compte root.


$ sudo -s

Crez un utilisateur nagios et attribuez-lui un mot de passe.


# /usr/sbin/useradd -m nagios
# passwd nagios

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

8.4 Tlchargez Nagios et les Plugins.

Crez un rpertoire pour stocker les tlchargements.


# mkdir ~/downloads
# cd ~/downloads

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

8.5 Compilez et installez Nagios

Extraire le code source de Nagios de l'archive.


# cd ~/downloads
# tar xzf nagios-3.0.2.tar.gz
# cd nagios-3.0.2

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

Compilez le code source de Nagios.


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
28 / 379

# 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

Ne dmarrez pas Nagios maintenant - Il y a encore beaucoup faire avant

8.6 Personnalisation de la conguration

Les exemples de chiers de conguration ont t installs dans le rpertoire /usr/local/nagios/etc.


Ces chiers d'exemple devraient sure pour commencer avec Nagios. Vous n'aurez qu'une chose
modier avant de pouvoir commencer
ditez le chier de conguration /usr/local/nagios/etc/objects/contacts.cfg avec votre diteur
de texte prfr et changez l'adresse de courrier lectronique associe avec la dnition de contact
nagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.
# vi /usr/local/nagios/etc/objects/contacts.cfg

8.7 Conguration de l'interface web

Installez le chier de conguration web Nagios dans le rpertoire Apache conf.d.


# make install-webconf

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

Redmarrez Apache pour que les nouveaux rglages prennent eet.


# /etc/init.d/apache2 reload

8.8 Compilation et installation des Plugins Nagios

Extraire le code source des plugins Nagios de l'archive.


# cd ~/downloads
# tar xzf nagios-plugins-1.4.11.tar.gz
# cd nagios-plugins-1.4.11

Compilation et installation des plugins.


# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
29 / 379

8.9 Dmarrage de Nagios

Congurez Nagios pour qu'il s'excute automatiquement au dmarrage du systme.


# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Vriez les exemples de chiers de conguration de Nagios.


# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, dmarrez Nagios.


# /etc/init.d/nagios start

8.10 Connexion l'interface Web

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.

8.11 Autres Modications

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

Mise jour de Nagios

9.1 Mise jour depuis une version 3.x de Nagios

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

Tlchargez le code source de la dernire version de Nagios (visitez http://www.nagios.org/download/


pour avoir le lien vers la dernire version).
$ wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.x.tar.gz

Extrayez le code source de Nagios de l'archive.


$ tar xzf nagios-3.x.tar.gz
$ cd nagios-3.x

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

Compilez le code source de Nagios.


$ make all

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

Vriez votre conguration et relancer Nagios.


$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
$ /sbin/service nagios restart

Ca y est - C'est fait !

9.2 Mise jour depuis une version 2.x de Nagios

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 :

L'ancienne variable service_reaper_frequency dans le chier de conguration princpal a t


renomme en check_result_reaper_frequency .
L'ancienne macro $NOTIFICATIONNUMBER$ a t remplace par les deux nouvelles macros $HOST-
NOTIFICATIONNUMBER$Macros$HOSTNOTIFICATIONNUMBER$ et $SERVICENOTIFICATION-
NUMBER$Macros$SERVICENOTIFICATIONNUMBER$.
L'ancien paramtre parallelize des dnitions de services est maintenant devenue obsolte et
n'est plus utilis, du fait que les contrles de services se font dsormais en parallle.
L'ancienne option aggregate_status_updates a t supprime. Toutes les mises jour du chier
de statut sont maintenant regroupes dans un intervalle de temps minimum d'une seconde.
Les dnitions tendues des htes et des services sont devenues obsoltes. Elles sont tout de mme
lues et traites par Nagios, mais il est recommand de dplacer les paramtres situs dans ces
chiers de dnitions vers les dnitions des htes et des services, respectivement.
L'ancienne variable du chier downtime_file dans le chier de conguration principal n'est plus
utilise, les entres correspondant aux arrts planis sont maintenant sauvegardes dans le Sec-
tion17.3.27. Pour garder les entres concernant les arrts programms, arrtez Nagios 2.x et
ajoutez le contenu de l'ancien chier d'arrts programms au chier de rtention.
L'ancienne variable du chier comment_file dans le chier de conguration principal n'est plus
utilis, les commentaires sont maintenant sauvegards dans le Section17.3.27. Pour garder les
anciens commentaires, arrtez Nagios 2.x et ajoutez le contenu de l'ancien chier de commentaires
au chier de rtention.

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.

9.3 Mise jour depuis une installation par RPM

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 :

1. Sauvegardez votre installation de Nagios existante


Les chiers de conguration
Le chier de conguration principal (normalement nomm nagios.cfg)
Le chier de conguration des ressources (normalement nomm resource.cfg)
Le chier de conguration des CGIs (normalement nomm cgi.cfg)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
32 / 379

Tous les autres chiers de dnition d'objets


Le chier de rtention (normalement nomm retention.dat)
Le chier de log en cours de Nagios (normalement nomm nagios.log)
Les chiers de log Nagios archivs
2. Dsinstallez les packages RPM ou APT originaux
3. Installez Nagios depuis les sources en suivant le Guides d'installation rapide
4. Restaurez vos chiers originaux de conguration Nagios, de rtention et de logs
5. Vriez votre conguration et dmarrez Nagios

Note
Dirents packages RPM ou APT peuvent installer Nagios de faons direntes et dirents 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

Supervision des machines Windows

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.

10.2 Vue globale


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
34 / 379

Superviser des attributs et services privs sur une machine Windows requiert l'installation d'un agent
sur celle-ci. Cet agent agit comme un proxy entre les plugins Nagios qui font la supervision et le service
ou l'attribut sur la machine Windows. Sans installation d'agent sur la machine Windows, Nagios serait
incapable de superviser le moindre attributs ou services privs de la machine Windows.
Pour cet exemple, nous allons installer l'addon NSClient++ sur la machine Windows et utiliser le
plugin check_nt pour communiquer avec NSCLient++. Le plugin check_nt devrait dj tre install
sur le serveur Nagios si vous avez suivi le guide d'installation rapide.
Vous pouvez utiliser d'autres agents Windows (comme NC_Net) si vous le souhaitez - condition de
changer un peu les commandes et les dnitions de services, etc. Pour faire simple, je ne couvrirais
que l'utilisation de NSCLient++ dans ces instructions.

10.3 tapes

Il y a plusieurs tapes suivre pour pouvoir superviser une nouvelle machine Windows. Les voici :

1. Procder aux pr-requis ncessaires la premire fois


2. Installez un agent de supervision sur la machine Windows
3. Crez de nouvelles dnitions d'hte et de service pour superviser la machine Windows
4. Redmarrez le dmon Nagios

10.4 Ce qui est dj fait pour vous

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

Supprimez le caractre (#) du dbut de la ligne suivante du chier de conguration principal :


#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
35 / 379

Enregistrez le chier et quittez.


Qu'avez-vous fait ? Vous avez dit Nagios de regarder dans le chier /usr/local/nagios/etc/objects/
windows.cfg pour y trouver des dnitions d'objets additionnels. C'est l que vous ajouterez des d-
nitions pour l'hte Windows. Ce chier de conguration contient dj un exemple de dnitions d'hte,
de groupe d'htes et de service. Pour la *premire* machine Windows que vous supervisez, vous pou-
vez simplement modier les dnitions d'exemples d'hte et de service dans ce chier plutt que d'en
crer de nouvelles.

10.6 Installation de l'agent Windows

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.

1. Tlchargez la dernire version stable de NSClient++ depuis http://sourceforge.net/projects/-


nscplus
2. Dzippez les chiers de NSClient++ dans un nouveau rpertoire C:\NSClient++
3. Ouvrez une fentre de commande et dplacez-vous dans le rpertoire C:\NSClient++
4. Installez le service systme NSClient++ avec la commande suivante :
C:\> nsclient++ /install

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

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

10.8 Protection par mot de passe

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

Modiez la dnition de la commande check_nt pour inclure l'argument -s <PASSWORD> (o


PASSWORD est le mot de passe prcis sur la machine Windows) comme suit :
define command {
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
}
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
39 / 379

Enregistrez le chier de conguration.

10.9 Redmarrage de Nagios

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

Supervision des machines Linux/Unix

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.

11.2 Vue globale

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

Supervision des serveurs Netware

Introduction
Ce document fournit les informations sur la faon de superviser des serveurs Novell Netware.

12.1 Ressources externes

Vous pouvez trouver de la documentation sur la faon de superviser des serveurs Netware avec Nagios
sur le site Novell's Cool Solutions, couvrant :

MRTGEXT: module NLM pour MRTG et Nagios


Nagios: Outil de supervision des htes et services
Nagios et NetWare : Supervision base sur SNMP
Supervision de l'tat du pilote DirXML/IDM avec Nagios
Contrle de l'authentication NDS Login avec Nagios
Supervision de la queue d'impression NDPS/iPrint par Nagios
Plugin check_gwiaRL pour Nagios 2.0

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

Supervision des imprimantes rseaux

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

13.2 Vue globale

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 :

1. Procdez aux pr-requis ncessaires la premire fois


2. Crez de nouvelles dnitions d'hte et service pour la supervision de l'imprimante
3. Redmarrez le dmon Nagios

13.4 Ce qui est dj fait pour vous

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

ditez le chier de conguration principal de Nagios.


#vi /usr/local/nagios/etc/nagios.cfg

Supprimez le caractre (#) du dbut de la ligne suivante du chier de conguration principal :


#cfg_file=/usr/local/nagios/etc/objects/printer.cfg

Enregistrez le chier et quittez.


Qu'avez-vous fait ? Vous avez dit Nagios de regarder dans le chier /usr/local/nagios/etc/objects/
printer.cfg pour y trouver des dnitions d'objets additionnels. C'est l que vous ajouterez des df-
initions pour l'imprimante. Ce chier de conguration contient dj un exemple de dnitions d'hte,
de groupe d'htes et de service. Pour la *premire* imprimante que vous supervisez, vous pouvez
simplement modier les dnitions d'exemples d'hte et de service dans ce chier plutt que d'en
crer de nouvelles.

13.6 Conguration de Nagios

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.

13.7 Redmarrage de Nagios

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

Supervision des routeurs et des switchs

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 :

Paquet perdu, temps moyen de parcours (round trip average)


Information d'tat SNMP
Trac / bande passante consomme

Note
Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les
exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les
chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t install si vous avez suivi le
guide rapide.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
48 / 379

14.2 Vue globale

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 :

1. Procdez aux pr-requis ncessaires la premire fois


2. Crez de nouvelles dnitions d'hte et service pour la supervision du priphrique.
3. Redmarrez le dmon Nagios

14.4 Ce qui est dj fait pour vous

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

Supprimez le caractre (#) du dbut de la ligne suivante du chier de conguration principal :


#cfg_file=/usr/local/nagios/etc/objects/switch.cfg

Enregistrez le chier et quittez.


Qu'avez-vous fait ? Vous avez dit Nagios de regarder dans le chier /usr/local/nagios/etc/objects/
switch.cfg pour y trouver des dnitions d'objets additionnels. C'est l que vous ajouterez des df-
initions pour les routeurs et les switchs. Ce chier de conguration contient dj un exemple de
denitions d'hte et de service. Pour le *premier* routeur/switch que vous supervisez, vous pouvez
simplement modier les dnitions d'exemple d'hte et de service dans ce chier plutt que d'en crer
de nouvelles.

14.6 Conguration de Nagios

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
}

14.7 Supervision des services

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.

14.8 Supervision des paquets perdus et de la RTA

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
}

1y Hrite des valeurs dnies dans le gabarit


y
y
2
Le nom de l'hte et du service associ
3
La description du service
4y La commande utiliser pour superviser le service
y
y
5
Contrle le service toutes les 5 minutes en conditions normales
6
Recontrle le service toutes les minutes jusqu' ce que son tat nal/hard soit dtermin

Le service sera :
CRITICAL si le temps de rponse moyen (RTA) est plus lev que 600 millisecondes ou que le nombre
de paquets perdus est gal ou suprieur 60%
WARNING si le RTA est suprieur 200 ms ou que le nombre de paquets perdus est gal ou suprieur
20%
OK si le RTA est infrieur 200 ms et que le nombre de paquets perdus est infrieur 20%

14.9 Supervision de l'information d'tat SNMP

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 le paramtre check_command de la dnition de service ci-dessus, le -C public indique au plugin


que le nom de communaut SNMP utiliser est public et que -o sysUpTime.0 indique que l' OID doit
tre contrl.
Si vous souhaitez vous assurer qu'un port/interface particulier du switch est dans un tat up, vous
pouvez ajouter une dnition de service comme celle-ci:
define service {
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Port 1 Link Status
check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
}

Dans l'exemple ci-dessus, -o ifOperStatus.1 fait rfrence OID pour l'tat oprationnel du port 1
sur le switch.
L'option -r 1 indique au plugin check_snmp de retourner un tat OK si 1 est trouv dans la rponse
SNMP (1 indique que le port est up) et CRITICAL sinon.
L'option -m RFC1213-MIB est optionnel et indique la MIB utiliser parmi celles installes sur votre
systme et peut aider acclrer les choses.
Voil pour l'exemple de supervision avec SNMP. Il y a des millions de choses qui peuvent tre 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

14.10 Supervision de la bande passante/trac

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
}

Dans l'exemple ci-dessus, l'option /var/lib/mrtg/192.168.1.253_1.log passe la commande check_local


indique au plugin dans quel chier de log MRTG il doit aller lire.
L'option AVG indique qu'il doit utiliser des statistiques bases sur la moyene de la bande passante.
Les arguments 1000000,2000000 sont les seuils de warning (en bytes) pour le taux de trac entrant.
Les arguments 5000000,5000000 sont des seuils critiques (en bytes) pour le taux de trac sortant. L'
10 option indique au plugin de renvoyer un tat CRITICAL si le chier de log MRTG est plus vieux que
10 minutes (il devrait tre mis jour toutes les 5 minutes).
Enregistrez le chier.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
52 / 379

14.11 Redmarrage de Nagios

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

Supervision des services publiquement


disponibles

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 :

Superviser des machines Windows


Superviser des serveurs Netware
Superviser des machines Linux/Unix

ASTUCE
Vous trouverez occasionnellement que cette information sur les services et applications privs
peut tre supervise avec SNMP. L'agent SNMP vous permet de superviser distance l'information
d'hte normalement prive (et inaccessible). Jetez un il sur la documentation Supervision des 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.

15.2 Plugins pour la supervision des services

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

15.3 Cration d'une dnition d'hte

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.

15.4 Cration d'une dnition de service

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.

15.5 Supervision HTTP

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

15.6 Supervision FTP

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]"
}

15.7 Supervision SSH

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"
}

15.8 Supervision SMTP

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"
}

15.9 Supervision POP3

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"
}

15.10 Supervision IMAP

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"
}

15.11 Redmarrage de Nagios

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 .

16.2 Fichier de conguration principal

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

16.3 Fichier de conguration des ressources

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.

16.4 Fichier de dnition des objets

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

16.5 Fichier de conguration des CGIs

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

Options du chier de conguration prin


cipal

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)

17.1 Conguration d'exemple

ASTUCE
Un chier de conguration d'exemple (/usr/local/nagios/etc/nagios.cfg) est install pour vous
quand suivez le Guides d'installation rapide

17.2 Emplacement du chier de conguration

Le chier de conguration principal est habituellement nomm nagios.cfg et situ dans le rpertoire
/usr/local/nagios/etc/.

17.3 Variables du chier de conguration

Vous allez trouver ci-dessous la description de chacune des options du chier principal de congura-
tion de Nagios

17.3.1 Fichier journal


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
65 / 379

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.

17.3.2 Fichier de conguration des objets

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.

17.3.3 Rpertoire des chiers de conguration des objets

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.

17.3.4 Fichier de cache des objets

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

17.3.5 Fichier de pr-cache des objets

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.

17.3.6 Fichier de ressources

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

17.3.7 Fichier temporaire

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.

17.3.8 Rpertoire temporaire

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

17.3.9 Fichier d'tats (journal des tats)

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.

17.3.10 Intervalle de mise jour des tats agrgs

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.

17.3.11 L'utilisateur de Nagios

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.

17.3.12 Groupe de Nagios

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.

17.3.13 Option des notications

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)

17.3.14 Option d'excution des contrles de service

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 :

0 = Ne pas excuter les contrles de services


1 = Excuter les contrles de services (dfaut)

17.3.15 Option d'acceptation des contrles passifs de service

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 :

0 = Ne pas accepter les contrles passifs de services


1 = Accepter les contrles passifs de services (dfaut)

17.3.16 Option d'excution des contrles d'htes

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 :

0 = Ne pas excuter les contrles d'htes


1 = Excuter les contrles d'htes (dfaut)

17.3.17 Option d'acceptation des contrles passifs d'hte

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 :

0 = Ne pas accepter les contrles passifs d'htes


1 = Accepter les contrles passifs d'htes (dfaut)

17.3.18 Option de gestion d'vnement

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 :

0 = Gestionnaire d'vnements dsactiv


1 = Gestionnaire d'vnements activ (dfaut)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
71 / 379

17.3.19 Mthode de rotation du journal

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)

17.3.20 Chemin d'accs aux archives du journal

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 .

17.3.21 Option de contrle des commandes externes

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.

0 = Ne pas vrier les commandes externes


1 = Vrier les commandes externes (dfaut)

17.3.22 Intervalle entre les contrles des commandes externes

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.

17.3.23 Fichier de commandes externes

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.

17.3.24 Mmoire tampon des commandes externes

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.

17.3.25 Fichier verrou

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

17.3.26 Option de mmorisation de l'tat

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.

0 = Ne pas conserver les informations de statuts


1 = Conserver les informations de statuts (dfaut)

17.3.27 Fichier de mmorisation de l'tat

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 .

17.3.28 Intervalle de mise jour des tats mmoriss

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.

17.3.29 Option d'utilisation des tats mmoriss du programme

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.

0 = Ne pas conserver les informations de statuts de programme


1 = Conserver les informations de statuts de programme (dfaut)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
74 / 379

17.3.30 Option d'utilisation des tats mmoriss de l'ordonnanceur

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.

0 = Ne pas conserver les informations d'ordonnancement


1 = Conserver les informations d'ordonnancement (dfaut)

17.3.31 Masques d'attribut conserv pour hte et service

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.

17.3.32 Masque d'attributs conservs du processus

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.

17.3.33 Masques d'attribut conserv de contact

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.

17.3.34 Option de journalisation dans Syslog

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 :

0 = Don't use syslog facility


1 = Use syslog facility

17.3.35 Option de journalisation des notications

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.

0 = Don't log notications


1 = Log notications

17.3.36 Option de journalisation de tentatives de contrle de service

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.

0 = Don't log service check retries


1 = Log service check retries

17.3.37 Option de journalisation de tentatives de contrle d'hte

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.

0 = Don't log host check retries


1 = Log host check retries

17.3.38 Option de journalisation des gestions d'vnement

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.

0 = Don't log event handlers


1 = Log event handlers
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
77 / 379

17.3.39 Option de journalisation des tats initiaux

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.

0 = Ne pas journaliser les tats initiaux (dfaut)


1 = Journaliser les tats initiaux

17.3.40 Option de journalisation des commandes externes

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.

0 = Ne pas journaliser les commandes externes


1 = Journaliser les commandes externes (dfaut)

17.3.41 Option de journalisation des contrles passifs

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.

0 = Ne pas journaliser les contrles passifs


1 = Journaliser les contrles passifs (dfaut)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
78 / 379

17.3.42 Gestionnaire global des vnements relatifs aux htes

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

17.3.43 Gestionnaire global des vnements relatifs aux services

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.

17.3.44 Temps de sommeil entre les contrles

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.

17.3.45 Mthode de dlai inter-contrles de services

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

17.3.46 Dlai maximum de rpartition des contrles initiaux de services

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

17.3.47 Dlai maximum de rpartition des contrles initiaux de services

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.

x = Un nombre suprieur ou gal 1 dtermine le facteur d'entrelacement utiliser. Une valeur de


1 revient ne pas entrelacer les contrles de service.
s = Utiliser un calcul dbrouillard du facteur d'entrelacement (par dfaut)

17.3.48 Nombre maximal de contrles de service simultans

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.

17.3.49 Frquence de consolidation des rsultats de contrle

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.

17.3.50 Temps maximum de consolidation des rsultats de contrle

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.

17.3.51 Rpertoire de stockage des rsultats de contrle

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

17.3.52 L'age maximum du chier de rsultat de contrle

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.

17.3.53 Mthode de dlai inter-contrles d'htes

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

17.3.54 Dlai maximum de rpartition des contrles initiaux d'htes

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

17.3.55 Valeur de l'intervalle de temps

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 !

17.3.56 Option de rordonnancement automatique

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.

17.3.57 Intervalle de rordonnancement automatique

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.

17.3.58 Fentre de rordonnancement automatique

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.

17.3.59 Option de contrle agressif des htes

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.

0 = Contrle aggressif d'hte dsactiv (dfaut)


1 = Contrle aggressif d'hte activ

17.3.60 Option de traduction des contrles d'hte passif

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.

0 = Dsactiver la traduction (dfaut)


1 = Activer la traduction

17.3.61 Option de status (FIXME ?) des contrle passifs d'hte

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.

0 = Les controles d'hte passifs sont HARD


1 = Les contrles d'hte passifs sont SOFT

17.3.62 Option de contrles prdictifs de dpendances d'hte

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)

17.3.63 Option de contrle prdictif de dpendance de service

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)

17.3.64 FIXME Cached Host Check Horizon

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

17.3.65 FIXME Cached Service Check Horizon

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.

17.3.66 Option d'optimisations pour les gros primtres

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.

0 = Ne pas utiliser les optimisations (par dfaut)


1 = Utiliser les optimisations

17.3.67 Option de gestion de la mmoire des processus enfants

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

0 = Ne pas librer la mmoire


1 = Librer la mmoire

17.3.68 Forker les processus enfant en double

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.

0 = Fork() une fois


1 = Fork() en double
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
86 / 379

17.3.69 Activation des macros d'environnement

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.

0 = Ne pas rendre les macros disponibles comme variables d'environnement


1 = Rendre les macros disponibles comme variables d'environnement (dfaut)

17.3.70 Option de dtection de l'oscillation d'un service ou d'un hte[ap]

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.

0 = Ne pas activer la dtection d'oscillation (dfaut)


1 = Activer la dtection d'oscillation

17.3.71 Seuil infrieur d'oscillation d'un service

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

17.3.72 Seuil suprieur d'oscillation d'un service

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.

17.3.73 Seuil infrieur d'oscillation d'un hte

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.

17.3.74 Seuil suprieur d'oscillation d'un hte

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.

17.3.75 Option de dpendance soft des services

Format
soft_state_dependencies=<0/1>
Exemple
soft_state_dependencies=0
Cette option dtermine si Nagios utilisera les informations d'tat soft des services lors du contrle
des dpendances de service. En temps normal, Nagios n'utilise que le dernier tat hard du service
lors du contrle des dpendances. Si vous voulez utiliser le tout dernier tat (que ce soit un tat de
type hard ou soft), activez cette option.

0 = Ne pas utiliser les tats soft de dpendances (dfaut)


1 = Utiliser les tats soft de dpendances
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
88 / 379

17.3.76 Dpassement de dlai du contrle de service

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.

17.3.77 Dpassement de dlai du contrle d'hte

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.

17.3.78 Dpassement de dlai de contrle du gestionnaire d'vnement

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.

17.3.79 Dpassement de dlai de notication

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.

17.3.80 Dpassement de dlai de la commande de remonte de contrle de


service

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.

17.3.81 Dpassement de dlai de la commande de remonte de contrle


d'hte

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.

17.3.82 Dpassement de dlai de la commande de traitement des donnes


lies aux performances

Format
perfdata_timeout=<seconds>
Exemple
perfdata_timeout=5
C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de 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

17.3.83 Option de remonte de contrle de service

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.

0 = Ne pas obsess sur les services (dfaut)


1 = Obsess sur les services

17.3.84 Commande de remonte de contrle de service

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.

17.3.85 Option de remonte de contrle d'hte

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.

0 = Ne pas obsess sur les htes (dfaut)


1 = Obsess sur les htes

17.3.86 Commande de remonte de contrle d'hte

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.

17.3.87 Option de traitement des donnes lies aux performances

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.

0 = Ne pas traiter les donnes de performance (dfaut)


1 = Traiter les donnes de performance

17.3.88 Commande de performance lie aux htes

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.

17.3.89 Commande de performance lie aux services

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

17.3.90 Fichier de performance des htes

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.

17.3.91 Fichier de performance des services

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.

17.3.92 Patron du chier de performance des htes

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.

17.3.93 Patron du chier de performance des services

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

17.3.94 Mode d'ouverture du chier de performance des htes

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.

a = Ouvrir le chier en mode ajout [append] (par dfaut)


w = Ouvrir le chier en mode crasement [write]
p = Ouvrir le chier en mode lecture / criture en mode non-bloquant.

17.3.95 Mode d'ouverture du chier de performance des services

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.

a = Ouvrir le chier en mode ajout [append] (par dfaut)


w = Ouvrir le chier en mode crasement [write]
p = Ouvrir le chier en mode lecture / criture en mode non-bloquant.

17.3.96 Intervalle de traitement du chier de performance des htes

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.

17.3.97 Intervalle de traitement du chier de performance des services

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

17.3.98 Commande de traitement du chier de performance des htes

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 .

17.3.99 Commande de traitement du chier de performance des services

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 .

17.3.100 Option de vrication des contrles de service orphelins

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.

0 = Ne pas contrler les contrles de services orphelins


1 = Ccontrler les contrles de services orphelins (dfaut)

17.3.101 Option de vrication des contrles d'htes 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.

0 = Ne pas contrler les contrles d'htes orphelins


1 = Contrler les contrles d'htes orphelins (dfaut)

17.3.102 Option de contrle de la validit des donnes d'un service

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.

0 = Ne pas contrler la validit des services


1 = Contrler la validit des services (dfaut)

17.3.103 Intervalle de contrle de la validit des donnes d'un service

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.

17.3.104 Option du contrle de la validit des donnes d'un hte

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.

0 = Ne pas contrler la validit des htes


1 = Contrler la validit des htes (dfaut)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
96 / 379

17.3.105 Intervalle de contrle de la validit des donnes d'un hte

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.

17.3.106 Option du seuil de fracheur supplmentaire de la latence

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.

17.3.107 Activation de l'interprteur Perl incorpor

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.

17.3.108 Interprteur Perl incorpor FIXME implicite

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.

17.3.109 Format de la date

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

Option Format de sortie Exemple


us MM/DD/YYYY HH :MM :SS 06/30/2002 03 :15 :00
euro DD/MM/YYYY HH :MM :SS 30/06/2002 03 :15 :00
iso8601 YYYY-MM-DD HH :MM :SS 2002-06-30 03 :15 :00
strict-iso8601 YYYY-MM-DDTHH:MM:SS 2002-06-30T03:15:00

17.3.110 Option de plage horaire

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>

17.3.111 Caractres illgaux dans les noms d'objets

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.

17.3.112 Caractres illgaux dans la sortie des macros

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$

17.3.113 Option de concordance par expressions rationnelles

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.

0 = Ne pas utiliser les concordances par expressions rationnelles (par dfaut)


1 = Utiliser les concordances par expressions rationnelles

17.3.114 Option de concordance systmatique par expressions rationnelles

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.

0 = Ne pas utiliser les vraies concordances par expressions rationnelles


1 = Utiliser les vraies concordances par expressions rationnelles

17.3.115 Adresse email de l'administrateur

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

17.3.116 Pager de l'administrateur

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

17.3.117 Options du courtier d'vnement

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

17.3.118 Les modules vnementiels

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 :

Stoppez Nagios, remplacez le chier du module, redmarrez Nagios


Durant que Nagios tourne Eacez le chier original du module, mettre la place le nouveau
chier, redmarrez Nagios
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
100 / 379

17.3.119 Fichier de dbogage

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

17.3.120 Niveau de dbogage

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

17.3.121 Verbosit du mode de dbogage

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

17.3.122 Taille maximale du chier de dbogage

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

Survol de la conguration des objets

18.1 Que sont les donnes des objets ?

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.

18.2 O sont dnies les donnes des objets ?

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

18.3 Comment dnir les donnes des objets ?

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.

18.4 Explication des 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 .

18.4.2 Groupes d'htes

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

18.4.4 Groupes de services

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 sont les personnes impliques dans le processus de notication :

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

18.4.6 Groupes de contacts

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.7 Priodes de temps

Les Priodes de temps sont utilises pour contrler :

Quand les htes et services sont superviss


Quand les contacts reoivent des notications

La documentation des priodes de temps se trouve ici.

18.4.8 Commandes

Les Commandes sont utilises pour indiquer Nagios quels programmes, scripts, etc. il doit excuter
pour assurer :

Contrles d'htes et de services


Notications
Gestionnaires d'vnements
Et plus
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
106 / 379

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

19.2 Notes sur la rtention

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

19.3 Fichiers exemple de conguration

Note
Des exemples de chiers de conguration sont installs dans le rpertoire /usr/local/nagios/etc/
quand vous suivez le guide d'installation rapide .

19.4 Types d'objets

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 Dnition d'hte

19.4.1.1 Description

Une dnition d'hte est utilis pour dnir un serveur physique, une station de travail, un composant,
etc. qui est install sur votre rseau.

19.4.1.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

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
}

19.4.1.3 Exemple de dnition

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
}

19.4.1.4 Description des variables

host_name
Cette variable est utilise pour dnir le nom court identiant l'hte. Ce nom est utilis dans
les dnitions de groupes d'htes et de services pour faire rfrence cet hte en particulier.
Les htes peuvent avoir plusieurs services (qui sont superviss) associs eux. Bien utilise, la
macro $HOSTNAME$ contiendra ce nom court.
alias
Cette variable est utilise pour dnir un nom long ou une description identiant l'hte. Cela
permet d'identier plus facilement un hte en particulier. Bien utilise, la macro $HOSTALIAS$
contiendra cet alias/description.
address
Cette variable est utilise pour dnir l'adresse de l'hte. Normalement, c'est une adresse IP,
mme si cela pourrait tre ce que vous voulez (au moins tant que cela peut tre utilis pour
contrler l'tat d'un hte). Vous pouvez utiliser le FQDN pour identier l'hte plutt que son
adresse IP, mais avec des problmes possibles si les services DNS ne sont pas disponibles. Bien
utilise, la macro $HOSTADDRESS$ contiendra cette adresse.

Note
Le nom de l'hte sera utilis comme adresse si vous ne prcisez pas de variable adresse dans
la dnition de l'hte.

Attention
Une petite mise en garde nanmoins sur le fait de le faire - si le service DNS tombe,
la plupart de vos contrles de services seront en erreur parce que les plugins seront
incapbles de rsoudre le nom de l'hte.

display_name
Cette variables est utilise pour acher un nom dirent l'achage dans l'interface web pour
cet hte. Si non prcise, la valeur par dfaut est prise depuis la variable host_name.

Note
Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.

parents
Cette variable est utilise pour dnir une liste spare par des virgules de noms courts 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 Dnition de groupe d'htes

19.4.2.1 Description

Une dnition de groupe d'htes est utilise pour grouper un ou plusieurs htes ensemble de faon
simplier la conguration avec les trucs et astuces sur les objets ou pour des besoins de visualisation
dans les CGIs.

19.4.2.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene hostgroup{
hostgroup_name hostgroup_name
alias alias
members hosts
hostgroup_members hostgroups
notes note_string
notes_url url
action_url url
}

19.4.2.3 Exemple de dnition

define hostgroup {
hostgroup_name novell-servers
alias Novell Servers
members netware1,netware2,netware3,netware4
}

19.4.2.4 Description des variables

hostgroup_name
Cette variable est utilise pour dnir le nom court utiliser pour identier le groupe d'htes.
alias
Cette variable est utilise pour dnir un nom long ou une description utiliser pour identier
le groupe d'htes. Ceci est fourni pour vous permettre d'identier plus facilement un groupe
d'htes en particulier.
members
C'est une liste de noms courts d' htes qui doivent faire partie de ce groupe. Plusieurs noms
d'htes peuvent tre spars par des virgules. Cette variable peut tre utilise comme une 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 Dnition de service

19.4.3.1 Description

Une dnition de service est utilise pour identier un service qui fonctionne sur cet hte. le terme
service est utilis de faon gnrale. Cela peut dsigner un service qui fonctionne sur l'hte (POP, SM-
TP, HTTP, etc.) ou tout autre type de mtrique associ l'hte (rponse au ping, nombre d'utilisateurs
connects, espace disque dur libre, etc.). Les dirents arguments d'une dnition de service sont
prciss ci-dessous.

19.4.3.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene service{
host_name 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
}

19.4.3.3 Exemple de dnition

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
}

19.4.3.4 Description des variables :

host_name
Cette variable est utilise pour prciser le nom court de(s) l'hte(s) sur lequel le service tourne
ou avec lequel il est associ. Plusieurs htes doivent tre spars par des virgules.
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

0= disable service ap detection


1= enable service ap detection.
ap_detection_options
Cette variable est utilise pour dterminer quels tats de service seront utiliss pour la logique de
dtection d'oscillations .Les options valides sont une combinaison d'un ou plusieurs tats parmi
les suivants :
o = tats OK
w = tats WARNING
c = tats CRITICAL
u = tats UNKNOWN.
process_perf_data *
Cette variable est utlise pour dterminer si le traitement des donnes de performance est activ
ou non pour ce service. Valeurs :
0= traitement des donnes de performance dsactiv
1= traitement des donnes de performance activ
retain_status_information
Cette variable est utlise pour dterminer si les informations relatives aux tats de service sont
conserves ou non aprs redmarrage du programme. C'est seulement utile si vous avez activ
la rtention d'tats en utilisant la variable retain_state_information . Valeur :
0= rtention des donnes d'tats dsactive
1= rtention des donnes d'tats active
retain_nonstatus_information
Cette variable est utlise pour dterminer si les informations direntes des tats de service
sont conserves aprs redmarrage du programme. C'est seulement utile si vous avez activ la
rtention d'tats en utilisant la variable retain_state_information . Valeur :
0= rtention des donnes autres que celles d'tats dsactive
1= rtention des donnes autres que celles d'tats active
notication_interval
Cette variable est utilise pour prciser le nombre d'units de temps attendre avant de re-
notier un contact que ce service est tojours dans un tat non-OK. Sauf si vous avez chang la
variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes.
Si vous mettez cette valeur 0, Nagios ne re-notiera pas les contacts des problmes pour cet
hte - une seule notication de problme sera envoye.
rst_notication_delay
Cette variable est utilise pour prciser le nombre d'units de temps attendre avant d'envoyer
la premire notication quand un service passe dans un tat non-UP. Sauf si vous avez chang la
variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Si
vous mettez cette valeur 0, Nagios commencera envoyer des notications immdiatement.
notication_period
Cette variable est utilise pour prciser le nom court des priodes de temps pendant lesquelles
les notications d'vnements sont envoyes aux contacts de ce service. Aucune notication ne
sera envoye hors couverture d'une priode de temps.
notication_options
Cette variable est utilise pour dterminer quand les notications pour ce service doivent tre
envoyes. Les options valides sont une combinaison de l'un ou plusieurs des tats suivants :
w = envois de notications sur tat WARNING
u = envois de notications sur tat UNKNOWN
c = envois de notications sur tat CRITICAL
r = envois de notications sur tat OK
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
120 / 379

f = envois de notications quand le service commence ou s'arrte d'osciller


s = envois de notications quand une priode de maintenance planie commence ou se ter-
mine
n (none) en option, aucune notication ne sera envoye. Si vous ne prcisez aucune option de
notication, Nagios va partir du principe que les notications doivent tre envoyes pour tout
changement d'tat possible.
Si vous prcisez w,r dans ce champ, les notications seront envoyes uniquement quand le ser-
vice passera en tat WARNING ou qu'il sortira de cet tat WARNING.
notications_enabled *
Cette variable est utlise pour dterminer si les notications pour ce service sont actives ou
non. Valeurs :
0= notications sur les services dsactives
1= notications sur les services actives
contacts
C'est une liste des noms courts des contacts qui devraient tre notis quand il y a des prob-
lmes (ou retours la normale) avec ce service. Plusieurs contacts peuvent tre spars par des
virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous
ne souhaitez pas congurer des groupes de contacts. Vous devez prciser au moins un contact
ou un groupe de contacts dans chaque dnition de service.
contact_groups
C'est une liste des noms courts des groupes de contacts qui devraient tre notis quand il y a
des problmes (ou retours la normale) avec ce service. Plusieurs groupes de contacts peuvent
tre spars par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts
dans chaque dnition de service.
stalking_options
Cette variable est utilise pour dterminer quelle mmorisation d'tats est utilise pour le ser-
vice. Les options valides sont une combinaison d'un ou ou de plusieurs des tats suivants :
o= mmorisation sur tats OK
w= mmorisation sur tats WARNING
u= mmorisation sur tats UNKNOWN
c= mmorisation sur tats CRITICAL
Plus d'informations sur la mmorisation d'tats peuvent tre trouves ici.
notes
Cette variable est utilise pour prciser une note d'information rattacher au service. Si vous
avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous
regardez les informations du service spci).
notes_url
Cette variable est utilise pour dnir une URL optionnelle fournissant des informations sup-
plmentaires sur le service. Si vous prcisez une URL, vous verrez une icne de dossier rouge
dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise
ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relat-
ifs, 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 service, les moyens de contacts utiliser en cas d'urgence, etc.
action_url
Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmen-
taires appliquer au service. Si vous prcisez une URL, vous verrez une icne splat rouge dans les
CGIs (quand vous regardez les informations du service) qui renverra vers l'URL prcise ici. N'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/).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
121 / 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 Dnition de groupe de services

19.4.4.1 Description

Une dnition de groupe d'htes est utilise pour grouper un ou plusieurs services ensemble de faon
simplier la conguration avec les trucs et astuces sur les objets ou pour des besoins de visualisation
dans les CGIs.

19.4.4.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene servicegroup{
servicegroup_name servicegroup_name
alias alias
members services
servicegroup_members servicegroups
notes note_string
notes_url url
action_url url
}

19.4.4.3 Exemple de dnition

define servicegroup {
servicegroup_name dbservices
alias Database Services
members ms1,SQL Server,ms1,SQL Serverc Agent,ms1,SQL DTC
}

19.4.4.4 Description des variables :

servicegroup_name
Cette variable est utilise pour dnir un nom court pour identier le groupe de services.
alias
Cette variable est utilise pour dnir un nom long ou une description identiant le groupe de
services. Cela permet d'identier plus facilement un groupe de services en particulier.
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 Dnition de contact

19.4.5.1 Description

La dnition de contact est utilise pour identifer quelqu'un qui doit tre contact dans le cas de prob-
lmes sur votre rseau. Les dirents arguments d'une dnition de contact sont dcrits ci-dessous.

19.4.5.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

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]
}

19.4.5.3 Exemple de dnition

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
}

19.4.5.4 Description des variables

contact_name
Cette variable est utilise pour dnir un nom court pour identifer le contact. Ceci est rfrenc
dans les dnitions de groupes de contacts .Dans les bonnes circonstances, la macro $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

1= Envois des notications activs


service_notications_enabled
Cette variable est utilise pour dterminer si un contact recevra ou non des notications propos
des problmes de services et des retours la normale. Valeurs :
0= Envois des notications dsactivs
1= Envois des notications activs
host_notication_period
Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle un
contact peut tre noti des problmes d'htes et des retours la normale. Vous pouvez penser
ceci comme une heure d'appel du contact pour les notications d'htes. Lisez la documentation
sur les priodes de temps pour plus d'informations sur le fonctionnement de celles-ci et sur les
problmes pouvant survenir en cas d'utilisation incorrecte de celles-ci.
service_notication_period
Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle
un contact peut tre noti des problmes de services et des retours la normale. Vous pou-
vez penser ceci comme une heure d'appel du contact pour les notications de services. Lisez
la documentation sur les priodes de temps pour plus d'informations sur le fonctionnement de
celles-ci et sur les problmes pouvant survenir en cas d'utilisation incorrecte de celles-ci.
host_notication_commands
Cette variable est utilise pour prciser les noms courts de commandes utiliser pour notier
le contact des problmes d'htes et des retours la normale. Plusieurs notications peuvent
tre spars par des virgules. Toutes les commandes de notication sont excutes quand les
contacts ont besoin d'tre notis. Le dure maximale d'excution de la commande est contrle
par l'option notification_timeout .
host_notication_options
Cette variable est utilise pour dnir les tats d'htes pour lesquels des notications peuvent
tre envoyes ce contact. Les options valides sont une combinaison d'un ou de plusieurs des
tats suivants :
d= notication sur les htes en tats DOWN
u= notication sur les htes en tats UNREACHABLE
r= notication quand un hte retourne la normale (tats UP)
f= notication quand un hte commence ou s'arrte d'osciller,
s= envoi de notications quand un hte ou service entre ou sort de priode de maintenance
planie.
Si vous prcisez n (null) comme option, le contact ne recevra aucun type de notications
d'htes.
service_notication_options
Cette variable est utilise pour dnir les tats de services pour lesquels des notications peuvent
tre envoyes ce contact. Les options valides sont une combinaison d'un ou de plusieurs des
tats suivants :
w= notication sur tats WARNING de service
u= notication sur tats UNKNOWN de service
c= notication sur tats CRITICAL de service
r= notication sur tats OK
f= notication quand le service commence et s'arrte d'osciller.
n= (none) : Le contact ne recevra aucun type de notications de services
service_notication_commands
Cette variable est utilise pour prciser les noms courts de commandes utiliser pour notier
le contact des problmes de services et des retours la normale. Plusieurs commandes de no-
tications peuvent tre spares par des virgules. Toutes les commandes de notication sont
excutes quand les contacts ont besoin d'tre notis. Le dure maximale d'excution de la
commande est contrle par l'option notification_timeout .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
125 / 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 Dnition de groupe de contacts

19.4.6.1 Description

Une dnition de groupe de contacts est utilise pour grouper un ou plusieurs contacts ensemble de
faon envoyer les notications pour des problmes et des retours la normale.

19.4.6.2 Format de dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.
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
}

19.4.6.3 Exemple de dnition :

define contactgroup {
contactgroup_name novell-admins
alias Novell Administrators
members jdoe,rtobert,tzach
}

19.4.6.4 Description des variables :

contactgroup_name
Cette variable est un nom court utilis pour identier le groupe de contacts.
alias
Cette variable est utilise pour dnir un nom long ou une description identiant le groupe de
contacts.
members
C'est une liste de noms courts de contact qui doivent faire partie de ce groupe. Plusieurs noms
de contacts peuvent tre spars par des virgules. Cette variable peut tre utilise comme une
alternative (ou en complment) la variable contactgroups dans les dnitions de contact .
contactgroup_members
Cette variable optionnelle peut tre utilise pour inclure des contacts depuis des sous-groupes
dans ce groupe de contacts. Prcisez une liste spare par des virgules de noms courts d'autres
groupes de contacts inclure dans ce groupe.

19.4.7 Dnition de priode de temps

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.

19.4.7.2 Format de la dnition

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
}

19.4.7.3 Exemples de dnitions

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
}

19.4.7.4 Description des variables

timeperiod_name
Cette variable est un nom court utilis pour identifer la priode de temps.
alias
Cette variable est utilise pour dnir un nom long ou une description identiant la priode de
temps.
[weekday]
Les variables de jours de la semaine ( sunday saturday )sont des listes spares par des virgules
de priodes de temps valides pour un jour particulier de la semaine. Notez qu'il y a sept jours
dirents pour lesquels vous pouvez dnir des priodes de temps (dimanche lundi). Chaque
priode de temps est sous la forme HH :MM-HH:MM, o les heures sont indiques sur 24
heures. Par exemple, 00 :15-24:00 indique 12 :15am le matin pour ce jour jusqu' 12 :00am
minuit (une priode de temps total de 23 heures 45 minutes). Si vous souhaitez exclure un jour
entier de la priode de temps, il sut simplement de ne pas l'inclure dans la dnition de la
priode de temps.
[exception]
Vous pouvez prciser plusieurs types dirents d'exceptions au planning habituel de rotation
des semaines. Les exceptions peuvent prendre direntes formes comme un seul jour d'un mois
particulier ou de tous les mois, une seule semaine d'un mois ou des dates de calendrier. Vous
pouvez aussi prciser une plage de jours/dates et mme prciser de sauter des intervalles pour
obtenir un fonctionnement du type tous les trois jours entre ces dates .Plutt que de lister tous
les formats possibles pour les exceptions, je vais vous laisser regarder les quelques exemples
de dnitions de priodes de temps ci-dessus pour voir ce qui est possible. ;-) Les jours de la
semaine et d'autres types d'exceptions ont tous des niveaux dirents de prcdence, aussi 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 Dnition de commande

19.4.8.1 Description

Une dnition de commande n'est rien d'autre que a. Elle dnit une commande. les commandes
qui peuvent tre dnies sont les contrles de services, les notications de services, les gestionnaires
d'vnements de services, les contrles d'htes, les notications d'htes et les gestionnaires d'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.

19.4.8.2 Format de la dnition

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
}

19.4.8.3 Exemple de dnition

define command {
command_name check_pop
command_line /usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$
}

19.4.8.4 Description des variables

command_name
Cette variable est un nom court utilis pour identier la commande. Ceci est rfrenc dans les
dnitions de contact, d'hte et de service (dans les variables notification, check et event
handler) entre autres .
command_line
Cette variable est utilise pour dnir ce qui est rellement excut par Nagios quand la 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 Dnition de dpendance de service

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

19.4.9.2 Format de la dnition

Note
Les variables indiques en rouge sont obligatoires alors que celles en noires sont optionnelles. De
toute faon, vous devez prciser au moins un type de critre pour que la dnition soit d'une 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
}

19.4.9.3 Exemple de dnition

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
}

19.4.9.4 Description des variables

dependent_host
Cette variable est utilise pour identier le(s) nom(s) court(s) d'hte(s) sur lequel tourne le
service dpendant o avec lequel il est associ. Plusieurs htes peuvent tre spars par des
virgules. Laissez cette variable vide peut tre utilis pour crer des dpendances sur le mme
hte.
dependent_hostgroup
Cette variable est utilise pour identier le(s) nom(s) court(s) de groupe(s) d'htes sur lesquels
tourne le service dpendant o avec lesquels il est associ. Plusieurs groupes d'htes peuvent
tre spars par des virgules. La variable dependent_hostgroup peut tre utilise la place ou
en conjonction avec la variable dependent_host.
dependent_service_description
Cette variable est utilise pour identier la description d'un service dpendant.
host_name
Cette variable est utilise pour identier le(s) nom(s) court(s) d'hte(s) sur lequel tourne le
service dont on dpend (aussi appel service matre) o avec lequel il est associ. Plusieurs
htes peuvent tre spars par des virgules.
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 Dnition d'escalade de service

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

19.4.10.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene serviceescalation{
host_name 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]
}

19.4.10.3 Exemple de dnition

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
}

19.4.10.4 Description des variables

host_name
La variable est utilise pour identifer le(s) nom(s) court(s) de(s) hte(s) pour lesquel(s) l'escalade
de service doit s'appliquer ou auquel(s) il est associ.
hostgroup_name
La variable est utilise pour identifer le(s) nom(s) court(s) des groupe(s) d'htes pour lesquel(s)
l'escalade de service doit s'appliquer ou auquel(s) il est associ. Plusieurs groupes d'htes 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 Dnitions de dpendance d'hte

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

19.4.11.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene hostdependency{
dependent_host_name 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
}

19.4.11.3 Exemple de dnition

define hostdependency {
host_name WWW1
dependent_host_name DBASE1
notification_failure_criteria d,u
}

19.4.11.4 Description des variables

dependent_host_name
Cette variable est utilise pour identier la description d'un hte dpendant. Plusieurs htes
peuvent tre spars par des virgules.
dependent_hostgroup_name
Cette variable est utilise pour identier le(s) nom(s) court(s) de groupes d'htes dpendants.
Plusieurs groupes d'htes peuvent tre spars par des virgules. La variable dependent_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

o = erreur sur un tat UP


d = erreur sur un tat DOWN
u = erreur sur un tat UNREACHABLE
p = erreur sur un tat d'attente (par exemple l'hte n'a pas encore t contrl)
n (none) : la dpendance d'excution n'chouera jamais et les contrles de l'hte dpendant
seront toujours faits activement (si d'autres conditions permettent de le faire).
Si vous prcisez u,d dans ce champ, l'hte dpendant ne sera pas contrl activement si l'hte
matre est dans un des tats UNREACHABLE ou DOWN.
notication_failure_criteria
Cette variable est utilise pour dnir les critres qui dterminent quand les notications pour
l'hte dpendant ne doivent pas tre envoyes. Si l'hte matre est dans un des tats d'erreur
que nous prcisons, les notications pour l'hte dpendant ne seront pas envoyes aux contacts.
Les options valides sont une combinaison d'un ou de plusieurs des tat suivants :
o = erreur sur un tat UP
d = erreur sur un tat DOWN
u = erreur sur un tat UNREACHABLE
p = erreur sur un tat d'attente (par exemple l'hte n'a pas encore t contrl)
n (none) : la dpendance de notication n'chouera jamais et les notications de l'hte dpen-
dant seront toujours envoyes.
Si vous prcisez d dans ce champ, les notications pour l'hte dpendant ne seront pas envoyes
quand l'hte matre est dans un tat DOWN.
notication_failure_criteria
Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les
dpendances sont valides. Si cette variable est vide, les dpendances seront considres comme
valides tout le temps.

19.4.12 Dnition d'escalade d'hte

19.4.12.1 Description

Les escalades d'htes sont compltement optionnelles et sont utilises pour escalader les notications
d'un hte particulier. Plus d'informations sur le fonctionnement des escalades peuvent tre trouves
ici.

19.4.12.2 Format de la dnition

Note
Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene hostescalation{
host_name 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

19.4.12.3 Exemple de dnition

define hostescalation {
host_name router-34
first_notification 5
last_notification 8
notification_interval 60
contact_groups all-router-admins
}

19.4.12.4 Description des variables

host_name
La variable est utilise pour identifer le nom court de hte pour lesquel l'escalade doit s'appliquer.
hostgroup_name
Cette variable est utilise pour identier le(s) nom(s) court(s) des groupe(s) d'htes auxquels
doit s'appliquer cette escalade. Plusieurs groupes d'htes peuvent tre spars par des virgules.
Si utilise, l'escalade s'appliquera tous les htes membres des groupes d'htes spcis.
rst_notication
Cette variable est un nombre identiant la premire notication pour laquelle l'escalade est
eective. Par exemple, si vous mettez cette valeur 3, cette escalade sera seulement utilise si
l'hte est dans un tat non-OK depuis susamment longtemps pour qu'une troisime notication
soit envoye.
last_notication
Cette variable est un nombre identiant la dernire notication pour laquelle l'escalade est 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 Dnition des informations tendues d'htes

19.4.13.1 Description

Les entres d'informations tendues d'htes sont utilises la base pour amliorer les vues des CGIs
status, statusmap, statuswrl et extinfo. Elles n'ont aucun eet sur la supervision et sont compltement
optionnelles.

ASTUCE
Depuis Nagios 3.x, toutes les variables contenues dans les dnitions d'informations tendues d'hte
sont aussi disponibles dans les dnitions d'htes .Vous pouvez choisir de dnir ces variables sous
vos dnitions d'htes si cela rend votre conguration plus simple. Des dnitions d'informations
tendues d'hte spares continueront tre supportes pour conserver la compatibilit avec les
anciennes versions.

19.4.13.2 Format de la dnition

Note
Les variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant,
vous devez au moins prciser une variable optionnelle dans chaque dnition pour que ce soit d'une
quelconque utilit.

dene hostextinfo{
host_name 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

19.4.13.3 Exemple de dnition :

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
}

19.4.13.4 Descriptions de variable

host_name
Cette variable est utilise pour identier le nom court de l'hte auquel associes les donnes.
notes
Cette variable est utilise pour prciser une note d'information rattacher l'hte. Si vous avez
prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez
les informations d'un hte spci).
notes_url
Cette variable est utilise pour dnir une URL optionnelle fournissant des informations 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 Dnition des informations tendues de services

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

19.4.14.2 Format de la dnition

Note
Les variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant,
vous devez au moins prciser une variable optionnelle dans chaque dnition pour que ce soit d'une
quelconque utilit.

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
}

19.4.14.3 Exemple de dnition

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
}

19.4.14.4 Descriptions de variable

host_name
Cette variable est utilise pour identier le nom court du service auquel sont associes les
donnes.
service_description
Cette variable est utilise pour identier le nom court du service auquel sont associes les
donnes.
notes
Cette variable est utilise pour prciser une note d'information rattacher au service. Si vous
avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous
regardez les informations de service spci).
notes_url
Cette variable est utilise pour dnir une URL optionnelle fournissant des informations 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

Variables personnalises d'objet

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.

20.2 Principes de base des variables personnalises

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

20.4 Les variables personnalises comme macro

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

20.5 Variables personnalises et hritage

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

Options du chier de conguration des


CGIs

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)

21.1 Exemple de conguration

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 .

21.2 Emplacement du chier de conguration

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.

21.3 Variables du chier de conguration

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

21.3.1 Emplacement du chier de conguration principal

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.

21.3.2 Chemin d'accs physique aux chiers HTML

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

21.3.3 URL d'accs aux pages HTML

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.

21.3.4 Utilisation de l'authentication

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.

0 = Ne pas utiliser l'authentication


1 = Utiliser l'authentication et les autorisations (par dfaut)

21.3.5 Nom d'utilisateur par dfaut


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
146 / 379

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 !

21.3.6 Accs aux informations sur le systme et le processus

Format: authorized_for_system_information=<user1>,<user2>,<usern>
Exemple: authorized_for_system_information=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs 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.

21.3.7 Accs aux commandes du systme/processus

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.

21.3.8 Accs aux informations de conguration

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.

21.3.9 Accs global aux informations sur les htes

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.

21.3.10 Accs global aux commandes des htes

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.

21.3.11 Accs global aux informations sur les services

Format: authorized_for_all_services=<user1>,<user2>,<usern>
Exemple: authorized_for_all_services=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs 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.

21.3.12 Accs global aux commandes des services

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.

21.3.13 Vrouillage des noms d'auteur

Format: lock_author_names=[0/1]
Exemple: lock_author_names=1

Cette option vous autorise restreindre le fait que les utilisateurs puissent changer le nom de l'auteur
quand ils soumettent des commentaires, des acquittements, et une priode de maintenance planie
depuis l'interface web. Quand cette option est active, les utilisateurs peuvent changer le nom de
l'auteur associ la requte.

0 = Autorise les utilisateurs changer les noms d'auteur quand ils soumettent des commandes
1 = Empche les utilisateurs de changer les noms d'auteur quand ils soumettent des commandes
(dfaut)

21.3.14 Image de fond du CGI de cartographie des tats (Statusmap)

Format: statusmap_background_image=<image_file>
Exemple: statusmap_background_image=smbackground.gd2

Cette option permet de 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.

21.3.15 Dessin de la cartographie des tats : valeur par dfaut

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 :

Valeur <layout_number> Mthode de dessin


0 Coordonnes dnies par l'utilisateur
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
149 / 379

Valeur <layout_number> Mthode de dessin


1 Couches imbriques
2 Arbre rduit
3 Arbre quilibr
4 Circulaire
5 Circulaire (avec marque suprieure)
6 Circulaire (sous forme de ballon)

21.3.16 Monde inclus dans le CGI du monde des tats (Statuswrl)

Format: statuswrl_include=<vrml_file>
Exemple: statuswrl_include=myworld.wrl

Cette option permet d'inclure ses propres objets dans le monde VRML 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)

21.3.17 Dessin du monde des tats : valeur par dfaut

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 :

Valeur <layout_number> Mthode de dessin


0 Coordonnes dnies par l'utilisateur
2 Arbre rduit
3 Arbre quilibr
4 Circulaire

21.3.18 Frquence de rafrachissement des CGIs

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 .

21.3.19 Alertes sonores


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
150 / 379

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

21.3.20 Syntaxe Ping

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.

21.3.21 Option d'chappement des balises HTML

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.

21.3.22 URL cible des notes

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.

21.3.23 URL cible d'action

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.

21.3.24 Option d'intgration Splunk

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

21.3.25 URL Splunk

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

Authentication et autorisations dans


les CGIs

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.

22.3 Dclarer des utilisateurs authentis

En partant du principe que vous avez congur votre serveur web comme dcrit dans le guide de
dmarrage rapide ,celui-ci devrait vous demander de vous authentier avant de pouvoir accder aux
CGIs de Nagios.
Au fur et mesure que vous allez ajouter de nouveaux contacts pour recevoir des notications d'htes
et de services, vous souhaiterez certainement leur donner accs l'interface web de Nagios. Vous
pouvez utiliser la commande suivante pour ajouter de nouveaux utilisateurs capables de s'authentier
aux CGIs. Remplacez <username> par le nom d'utilisateur que vous souhaitez ajouter. Dans la plupart
des cas, le nom d'utilisateur devrait correspondre au nom court du contact dni.
#

htpasswd /usr/local/nagios/etc/htpasswd.users <username>


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
153 / 379

22.4 Activer l'authentication/autorisation dans les CGIs

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

Voil, la fonctionnalit d'authentication/autorisation de base est active dans les CGIs.

22.5 Droits d'accs par dfaut aux informations des CGIs

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)

Droit de voir l'tat du service


Droit de voir la conguration du service
Droit de voir l'historique et les notications de ce service
Droit de passer des commandes ce service

Les contacts authentis* ont les droits suivants sur chaque hte dont ils sont un contact (mais pas
sur ceux dont ils ne sont pas un contact)

Droit de voir l'tat de l'hte


Droit de voir la conguration de l'hte
Droit de voir l'historique et les notications de cet hte
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
154 / 379

Droit de passer des commandes cet hte


Droit de voir l'tat de tous les services de cet hte
Droit de voir la conguration de tous les services de cet hte
Droit de voir l'historique et les notications de tous les services de cet hte
Droit de passer des commandes tous les services de cet hte

Il est important de noter que par dfaut, personne n'a le droit de


Voir le chier journal brut via la CGI d'achage du journal
Voir les informations sur le processus de Nagios via le CGI d'informations complmentaires
Passer des commandes Nagios via la CGI de commande
Voir les dnitions des groupes d'htes, contacts, groupes de contacts, priodes, et commandes via
la CGI de conguration
Vous aurez sans doute besoin de ces informations, c'est pourquoi vous devrez vous donner des droits
d'accs supplmentaires (et ventuellement d'autres utilisateurs) comme dcrit ci-dessous

22.6 Donner des droits d'accs supplmentaires aux informa-


tions des CGIs

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

autoris pour les informations systme


autoris pour les commandes systme
autoris pour les informations de conguration
autoris pour tous les htes
autoris pour toutes les commandes aux htes
autoris pour tous les services
autoris pour toutes les commandes aux services

22.7 Autorisations requises par les CGIs

Si les droits d'accs aux diverses informations des CGIs ne vous paraissent pas clairs, lisez la section
Autorisations requises de chaque CGI qui se trouve ici.

22.8 Authentication sur des serveurs web scuriss

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

Vrication de votre conguration

23.1 Vrication de votre conguration

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

Dmarrage et Arrt de Nagios

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.

24.1 Dmarrage de 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

2. Manuellement: Vous pouvez dmarrer le dmon Nagios manuellement en ligne de commandes


avec l'option -d comme ceci :
#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

24.2 Redmarrage de Nagios

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>

24.3 Arrt de Nagios

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

Les Plugins Nagios

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.

25.2 Que sont les plugins ?

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

25.3 Les plugins comme une couche intermdiaire

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.

25.4 Quels plugins existe-il?

Il existe des plugins disponibles actuellement pour contrler de nombreux types dirents de matriels
et de services, y compris :

HTTP, POP3, IMAP, FTP, SSH, DHCP


Charge CPU, espace disque utilis, mmoire utilise, utilisateurs connects
Unix/Linux, Windows, et serveurs Netware
Routeurs et switchs
etc
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
163 / 379

25.5 Obtenir des plugins

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 :

Projet Plugins Nagios : http://nagiosplug.sourceforge.net/


La page de tlchargement du site Nagios : http://www.nagios.org/download/
NagiosExchange.org: http://exchange.nagios.org//

25.6 Comment utiliser le plugin x ?

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

25.7 Plugin API

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

Utilisation des macros dans les com-


mandes

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.

26.2 Substitution des macros

Avant qu'une commande (contrles d'hte et de service, notications, gestionnaires d'vnements,


etc.) soit excute, Nagios va remplacer toutes les macros qu'il trouvera dans la dnition de la com-
mande par les valeurs correspondantes.
Certaines macros peuvent contenir elles-mmes d'autres macros. Celles-ci incluent les macros $HOS-
TNOTES$, $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTES$, $SERVICENOTESURL$, et $SERVICEAC-
TIONURL$ .

26.3 Exemple 1 : La macro d'adresse de l'hte

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

command_line /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w 100.0,90% -c -


200.0,60%
}

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.

26.4 Exemple 2 : Les commandes d'Argument de macros

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$
}

La ligne de commande nale excuter pour le contrle du service sera :


/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 200.0,80% -c 400.0,40%

ASTUCE
Si vous devez passer des points d'exclamations ( !) dans vos arguments de commandes, vous pouvez
faire ainsi en les espaant avec un backslash (\). Si vous devez inclure des backslashes dans vos
arguments de commandes, ils devront aussi tre espacs avec un backslash.

26.5 Macro la demande

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.

Voici des exemples de macros d'hte et de service la demande :

Exemple 26.1 Macro la demande d'hte


$HOSTDOWNTIME:myhost$

Exemple 26.2 Macro la demande de service


$SERVICESTATEID:novellserver:DS Database$

Exemple 26.3 Macro la demande de service, sans le champ d'hte


$SERVICESTATEID::CPU Load$

Les macros la demande sont aussi valables pour les macros des groupes d'htes, des groupes de
services, des contacts et des groupes de contacts. Par exemple :

Exemple 26.4 Macro la demande de contact


$CONTACTEMAIL:john$

Exemple 26.5 Macro la demande de groupe de contacts


$CONTACTGROUPMEMBERS:linux-admins$

Exemple 26.6 Macro la demande de groupe d'htes


$HOSTGROUPALIAS:linux-servers$

Exemple 26.7 Macro la demande de groupe de services


$SERVICEGROUPALIAS:DNS-Cluster$
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
167 / 379

26.6 Les groupes de macros la demande

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$

Remplacez HOSTMACRONAME, SERVICEMACRONAME, et CONTACTMACRONAME avec le nom de macro d'un hte


standard, un service, ou le contact trouv ici. Le dlimiteur que vous spciez est utilis pour sparer
des valeurs de macro pour chaque membre d'un groupe.
Par exemple, la macro suivante retournera une liste d'tats htes spars par des virgules pour les
htes membres du groupe hg1 :
$HOSTSTATEID:hg1:,$
La dnition de cette macro retournera quelque chose ressemblant a :
0,2,1,1,0,0,2

26.7 Les macros de variable personnalise

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.

26.8 Nettoyage des macros

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$

26.9 Macros et variables d'environnement

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.

26.10 Validit des macros

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

Macros standards dans Nagios

Les macros standards disponibles dans Nagios sont listes ci-dessous. Les macros on-demand et les
macros de variables personnalises sont dcrites ici.

27.1 Validit des macros

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 :

1. Les contrles de service


2. Les notications de service
3. Les contrles d'hte
4. Les notications d'hte
5. Les gestionnaires d'vnements de service et/ou le gestionnaire global d'vnements de service
6. Les gestionnaires d'vnements d'hte et/ou le gestionnaire global d'vnements d'hte
7. La commande OCSP
8. La commande OCHP
9. Les commandes de donnes de performance de service
10. Les commandes de donnes de performance d'hte

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

27.2 Tableau de disponibilit des macros

Lgende :

Non la macro n'est pas disponible


Oui la macro est disponible
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
170 / 379

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
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 groupes d'htes :
$HOSTGROUPALIAS$Macros$HOSTGROUPALIAS$>
Oui Oui Oui Oui Oui Oui Oui Oui
5
$HOSTGROUPMEMBERS$Macros$HOSTGROUPMEMBERS$
Oui Oui Oui Oui Oui Oui Oui Oui
5
$HOSTGROUPNOTES$Macros$HOSTGROUPNOTES$
Oui Oui Oui Oui Oui Oui Oui Oui
5
$HOSTGROUPNOTESURL$Macros$HOSTGROUPNOTESURL$>
Oui Oui Oui Oui Oui Oui Oui Oui
5
$HOSTGROUPACTIONURL$Macros$HOSTGROUPACTIONURL$
Oui Oui Oui Oui Oui Oui Oui Oui
5

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 service :
$SERVICEDESC$Macros$SERVICEDESC$
Oui Oui Non Non Oui Non Oui Non
$SERVICEDISPLAYNAME$Macros$SERVICEDISPLAYNAME$
Oui Oui Non Non Oui Non Oui Non
$SERVICESTATE$Macros$SERVICESTATE$
Oui 2 Oui Non Non Oui Non Oui Non
$SERVICESTATEID$Macros$SERVICESTATEID$
Oui 2 Oui Non Non Oui Non Oui Non
$LASTSERVICESTATE$Macros$LASTSERVICESTATE$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICESTATEID$Macros$LASTSERVICESTATEID$
Oui Oui Non Non Oui Non Oui Non
$SERVICESTATETYPE$Macros$SERVICESTATETYPE$
Oui Oui Non Non Oui Non Oui Non
$SERVICEATTEMPT$Macros$SERVICEATTEMPT$
Oui Oui Non Non Oui Non Oui Non
$MAXSERVICEATTEMPTS$Macros$MAXSERVICEATTEMPTS$
Oui Oui Non Non Oui Non Oui Non
$SERVICEISVOLATILE$Macros$SERVICEISVOLATILE$
Oui Oui Non Non Oui Non Oui Non
$SERVICEEVENTID$Macros$SERVICEEVENTID$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICEEVENTID$Macros$LASTSERVICEEVENTID$
Oui Oui Non Non Oui Non Oui Non
$SERVICEPROBLEMID$Macros$SERVICEPROBLEMID$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICEPROBLEMID$Macros$LASTSERVICEPROBLEMID$
Oui Oui Non Non Oui Non Oui Non
$SERVICELATENCY$Macros$SERVICELATENCY$
Oui Oui Non Non Oui Non Oui Non
$SERVICEEXECUTIONTIME$Macros$SERVICEEXECUTIONTIME$
Oui 2 Oui Non Non Oui Non Oui Non
$SERVICEDURATION$Macros$SERVICEDURATION$
Oui Oui Non Non Oui Non Oui Non
$SERVICEDURATIONSEC$Macros$SERVICEDURATIONSEC$
Oui Oui Non Non Oui Non Oui Non
$SERVICEDOWNTIME$Macros$SERVICEDOWNTIME$
Oui Oui Non Non Oui Non Oui Non
$SERVICEPERCENTCHANGE$Macros$SERVICEPERCENTCHANGE$
Oui Oui Non Non Oui Non Oui Non
$SERVICEGROUPNAME$Macros$SERVICEGROUPNAME$
Oui Oui Non Non Oui Non Oui Non
$SERVICEGROUPNAMES$Macros$SERVICEGROUPNAMES$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICECHECK$Macros$LASTSERVICECHECK$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICESTATECHANGE$Macros$LASTSERVICESTATECHANGE$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICEOK$Macros$LASTSERVICEOK$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICEWARNING$Macros$LASTSERVICEWARNING$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICEUNKNOWN$Macros$LASTSERVICEUNKNOWN$
Oui Oui Non Non Oui Non Oui Non
$LASTSERVICECRITICAL$Macros$LASTSERVICECRITICAL$
Oui Oui Non Non Oui Non Oui Non
$SERVICEOUTPUT$Macros$SERVICEOUTPUT$
Oui 2 Oui Non Non Oui Non Oui Non
$LONGSERVICEOUTPUT$Macros$LONGSERVICEOUTPUT$
Oui 2 Oui Non Non Oui Non Oui Non
$SERVICEPERFDATA$Macros$SERVICEPERFDATA$
Oui 2 Oui Non Non Oui Non Oui Non
$SERVICECHECKCOMMAND$Macros$SERVICECHECKCOMMAND$
Oui Oui Non Non Oui Non Oui Non
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
171 / 379

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

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 groupes de services :
$SERVICEGROUPALIAS$Macros$SERVICEGROUPALIAS$
Oui Oui Oui Oui Oui Oui Oui Oui
6
$SERVICEGROUPMEMBERS$Macros$SERVICEGROUPMEMBERS$
Oui Oui Oui Oui Oui Oui Oui Oui
6
$SERVICEGROUPNOTES$Macros$SERVICEGROUPNOTES$
Oui Oui Oui Oui Oui Oui Oui Oui
6
$SERVICEGROUPNOTESURL$Macros$SERVICEGROUPNOTESURL$
Oui Oui Oui Oui Oui Oui Oui Oui
6
$SERVICEGROUPACTIONURL$Macros$SERVICEGROUPACTIONURL$
Oui Oui Oui Oui Oui Oui Oui Oui
6

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 contact :
$CONTACTNAME$Macros$CONTACTNAME$
Non Oui Non Oui Non Non Non Non
$CONTACTALIAS$Macros$CONTACTALIAS$
Non Oui Non Oui Non Non Non Non
$CONTACTEMAIL$Macros$CONTACTEMAIL$
Non Oui Non Oui Non Non Non Non
$CONTACTPAGER$Macros$CONTACTPAGER$
Non Oui Non Oui Non Non Non Non
$CONTACTADDRESSn$Macros$CONTACTADDRESSn$
Non Oui Non Oui Non Non Non Non

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 groupes de contacts :
$CONTACTGROUPALIAS$Macros$CONTACTGROUPALIAS$
Oui Oui Oui Oui Oui Oui Oui Oui
7
$CONTACTGROUPMEMBERS$Macros$CONTACTGROUPMEMBERS$
Oui Oui Oui Oui Oui Oui Oui Oui
7

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 rcapitulatives :

$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
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 notication :
$NOTIFICATIONTYPE$Macros$NOTIFICATIONTYPE$
Non Oui Non Oui Non Non Non Non
$NOTIFICATIONRECIPIENTS$Macros$NOTIFICATIONRECIPIENTS$
Non Oui Non Oui Non Non Non Non
$NOTIFICATIONISESCALATED$Macros$NOTIFICATIONISESCALATED$
Non Oui Non Oui Non Non Non Non
$NOTIFICATIONAUTHOR$Macros$NOTIFICATIONAUTHOR$
Non Oui Non Oui Non Non Non Non
$NOTIFICATIONAUTHORNAME$Macros$NOTIFICATIONAUTHORNAME$
Non Oui Non Oui Non Non Non Non
$NOTIFICATIONAUTHORALIAS$Macros$NOTIFICATIONAUTHORALIAS$
Non Oui Non Oui Non Non Non Non
$NOTIFICATIONCOMMENT$Macros$NOTIFICATIONCOMMENT$
Non Oui Non Oui Non Non Non Non
$HOSTNOTIFICATIONNUMBER$Macros$HOSTNOTIFICATIONNUMBER$
Non Oui Non Oui Non Non Non Non
$HOSTNOTIFICATIONID$Macros$HOSTNOTIFICATIONID$
Non Oui Non Oui Non Non Non Non
$SERVICENOTIFICATIONNUMBER$Macros$SERVICENOTIFICATIONNUMBER$
Non Oui Non Oui Non Non Non Non
$SERVICENOTIFICATIONID$Macros$SERVICENOTIFICATIONID$
Non Oui Non Oui Non Non Non Non
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
172 / 379

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

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 chier :
$MAINCONFIGFILE$Macros$MAINCONFIGFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$STATUSDATAFILE$Macros$STATUSDATAFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$COMMENTDATAFILE$Macros$COMMENTDATAFILE$
Oui Oui Oui Oui Oui Oui Oui Oui5
$DOWNTIMEDATAFILE$Macros$DOWNTIMEDATAFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$RETENTIONDATAFILE$Macros$RETENTIONDATAFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$OBJECTCACHEFILE$Macros$OBJECTCACHEFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$TEMPFILE$Macros$TEMPFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$TEMPPATH$Macros$TEMPPATH$
Oui Oui Oui Oui Oui Oui Oui Oui
$LOGFILE$Macros$LOGFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$RESOURCEFILE$Macros$RESOURCEFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$COMMANDFILE$Macros$COMMANDFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$HOSTPERFDATAFILE$Macros$HOSTPERFDATAFILE$
Oui Oui Oui Oui Oui Oui Oui Oui
$SERVICEPERFDATAFILE$Macros$SERVICEPERFDATAFILE$
Oui Oui Oui Oui Oui Oui Oui Oui

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 diverses :
$PROCESSSTARTTIME$Macros$PROCESSSTARTTIME$
Oui Oui Oui Oui Oui Oui Oui Oui
$EVENTSTARTTIME$Macros$EVENTSTARTTIME$
Oui Oui Oui Oui Oui Oui Oui Oui
$ADMINEMAIL$Macros$ADMINEMAIL$
Oui Oui Oui Oui Oui Oui Oui Oui
$ADMINPAGER$Macros$ADMINPAGER$
Oui Oui Oui Oui Oui Oui Oui Oui
$ARGn$Macros$ARGn$Oui Oui Oui Oui Oui Oui Oui Oui
$USERn$Macros$USERn$
Oui Oui Oui Oui Oui Oui Oui Oui

27.3 Description des macros

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.

Nom d'hte utilis pour l'achage. Cette


$HOSTDISPLAYNAME$ valeur provient du paramtre display_name de
la dnition de l'hte
Nom long/description de l'hte. Cette valeur
provient du paramtre alias de la dnition de
$HOSTALIAS$
l'hte.

Adresse de l'hte. Cette valeur provient du


$HOSTADDRESS$ paramtre address de la dnition de l'hte.

Une chane reprsentant l'tat actuel de l'hte


$HOSTSTATE$ (UP, DOWN, ou UNREACHABLE).

Un nombre correspondant l'tat actuel de


$HOSTSTATEID$ l'hte : 0=UP, 1=DOWN, 2=UNREACHABLE.

Une chane reprsentant le dernier tat de


$LASTHOSTSTATE$ l'hte (UP, DOWN, ou UNREACHABLE).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
173 / 379

Un nombre correspondant au dernier tat de


$LASTHOSTSTATEID$ l'hte : 0=UP, 1=DOWN, 2=UNREACHABLE.

Une chane indiquant le type d'tat actuel du


contrle d'hte (HARD ou SOFT). L'tat est
SOFT lorsque le contrle a renvoy un tat
$HOSTSTATETYPE$ non-OK (non-UP) et va tre ressay. L'tat
est HARD lorsque le contrle d'hte a t
tent le nombre de fois maximum dni.

Le nombre d'essais de contrle d'hte actuel.


Par exemple, si c'est la seconde fois que l'hte
est contrl, ce sera le nombre 2. Le nombre
actuel d'essais n'est rellement utile que pour
$HOSTATTEMPT$ l'criture de gestionnaires d'vnements
d'hte pour des tats SOFT, qui agiraient de
manire spcique selon le nombre de
tentatives.

Le nombre maximum d'essais de contrles


dni pour l'hte actuel. Utile lors de
l'criture de gestionnaire d'vnements d'hte
$MAXHOSTATTEMPST$
pour les tats SOFT qui ont besoin de prendre
une action base sur le numro de l'essai.

Un numro unique associ l'tat actuel de


l'hte. chaque fois qu'un hte (ou un service)
change d'tat, un numro global d'vnement
$HOSTEVENTID$
est incrment de un (1). Si un hte n'a pas
chang d'tat, cette macro gale zro (0).

Le numro unique d'vnement prcdent qui


$LASTHOSTEVENTID$
a t donn un hte.
Un numro unique associ l'tat
problmatique actuel de l'hte. chaque fois
qu'un hte (ou un service) change d'tat de UP
ou OK un tat problmatique, un numro
global d'vnement est incrment de un (1).
Cette macro est dirente de zro si l'hte est
actuellement dans un tat dirent de UP. Les
changements d'tats entre tats dirents de
OK (par exemple DOWN ou UNREACHABLE)
$HOSTPROBLEMID$
n'incrmente pas ce numro unique. Si un
hte est dans l'tat UP, cette macro est gale
zro (0). Combin avec les gestionnaires
d'vnements, cette macro peut tre utilise
pour crer automatiquement des tickets de
support au moment o les htes basculent
pour la premire fois dans un tat
problmatique.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
174 / 379

Le numro unique de problme prcdent qui


a t donn un hte. Combin avec les
gestionnaires d'vnements, cette macro peut
$LASTHOSTPROBLEMID$ tre utilise pour clore automatiquement des
tickets de support au moment o les htes
reviennent dans un tat UP.

Un nombre (rel) indiquant le retard en


secondes par rapport au moment o un
contrle d'hte ordonnanc devait tre
excut. Par exemple, si un contrle tait
ordonnanc 03 :14 :15 et qu'il n'a t
$HOSTLATENCY$
excut qu' 03 :14 :17, la latence de ce
contrle est de 2.0 secondes. Les contrles
d'htes la demande ont une latence de zro
secondes.

un nombre (rel) indiquant le nombre de


secondes qu'a pris l'excution du contrle
$HOSTEXECUTIONTIME$ d'hte (c.--d. le temps pendant lequel le
contrle s'est excut).

Une chane indiquant le temps qu'a pass


l'hte dans sont tat actuel. Le format est XXh
$HOSTDURATION$ YYm ZZs, pour les heures, les minutes et les
secondes.

Un nombre indiquant le nombre de secondes


$HOSTDURATIONSEC$ qu'a pass l'hte dans sont tat actuel.

Un nombre indiquant la profondeur d'arrt


plani pour l'hte. Si cet hte est
actuellement dans une priode d'arrt plani,
$HOSTDOWNTIME$ la valeur sera suprieure zro. Si l'hte n'est
pas en cours d'arrt plani, la valeur sera
zro.

Un nombre (rel) indiquant le pourcentage de


changement d'tat subit par l'hte. Le
$HOSTPERCENTCHANGE$ pourcentage de changement d'tat est utilis
par l'algorithme de dtection d'oscillation.

le nom court du groupe d'htes auquel


appartient cet hte. Cette valeur provient du
paramtre hostgroup_name de la dnition de
$HOSTGROUPNAME$ groupe d'htes. Si l'hte fait partie de plus
d'un groupe d'hte cette macro contiendra le
nom d'un seul de ceux-ci.

Une liste spare par des virgules du nom


court de tous les groupes d'htes auxquels
$HOSTGROUPNAMES$
appartient cet hte.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o le dernier
$LASTHOSTCHECK$
contrle d'hte a eu lieu.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
175 / 379

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o l'tat de
$LASTHOSTSTATECHANGE$
l'hte a chang pour la dernire fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o l'hte a t
$LASTHOSTUP$
vu dans l'tat UP pour la dernire fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o l'hte a t
$LASTHOSTDOWN$
vu dans l'tat DOWN pour la dernire fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o l'hte a t
$LASTHOSTUNREACHABLE$ vu dans l'tat UNREACHABLE pour la
dernire fois.

La premire ligne du texte en sortie du


$HOSTOUTPUT$ dernier contrle d'hte (p. ex. Ping OK).

Le texte complet (en plus de la premire ligne)


qui a t renvoy par le dernier contrle
$LONGHOSTOUTPUT$
d'hte.

Cette macro contient les donnes de


performance qui ont ventuellement t
$HOSTPERFDATA$
renvoyes par le dernier contrle d'hte.

Cette macro contient le nom de la commande


(ainsi que les paramtres qui ont pu lui tre
$HOSTCHECKCOMMAND$
passs) utilise lors du contrle d'hte.

Une chane contenant le nom de l'utilisateur


qui a acquitt le problme de l'hte. Cette
macro n'est valable que dans les notications
$HOSTACKAUTHOR$ 8
dont la macro $NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.

Une chane contenant le nom court du contact


(si applicable) qui a acquitt le problme de
l'hte. Cette macro n'est valable que dans les
$HOSTACKAUTHORNAME$ 8 notications dont la macro
$NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.

Une chane contenant l'alias du contact (si


applicable) qui a acquitt le problme de
l'hte. Cette macro n'est valable que dans les
$HOSTACKAUTHORALIAS$ 8 notications dont la macro
$NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
176 / 379

Une chane contenant le commentaire associ


l'acquittement saisi par l'utilisateur qui a
acquitt le problme de l'hte. Cette macro
$HOSTACKCOMMENT$ 8 n'est valable que dans les notications dont la
macro $NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.

URL d'action associe l'hte. Cette macro


peut contenir d'autres macros (par exemple
$HOSTNAME$), ce qui peut s'avrer pratique
$HOSTACTIONURL$
quand vous souhaitez passer le nom d'hte
une page web.

URL de notes associe l'hte. Cette macro


peut contenir d'autres macros (par exemple
$HOSTNAME$), ce qui peut s'avrer pratique
$HOSTNOTESURL$
quand vous souhaitez passer le nom d'hte
une page web.

URL de notes associe l'hte. Cette macro


peut contenir d'autres macros (par exemple
$HOSTNAME$), ce qui peut s'avrer pratique
$HOSTNOTES$
quand vous souhaitez avoir l'tat d'un hte
spcique dans la description.

$TOTALHOSTSERVICES$ Le nombre total de services associs l'hte.


Le nombre total de services associs l'hte
$TOTALHOSTSERVICESOK$
qui sont dans un tat OK.
Le nombre total de services associs l'hte
$TOTALHOSTSERVICESWARNING$
qui sont dans un tat WARNING.
Le nombre total de services associs l'hte
$TOTALHOSTSERVICESUNKNOWN$
qui sont dans un tat UNKNOWN.
Le nombre total de services associs l'hte
$TOTALHOSTSERVICESCRITICAL$ qui sont dans un tat CRITICAL.

Macros de groupes d'htes : 5


Le nom long/alias soit de 1) du groupe d'htes
pass en argument de la macro la demande
ou soit 2) du groupe d'hte principal associ
l'hte actuel (si non utilis dans le contexte
$HOSTGROUPALIAS$ 5
d'une macro la demande). Cette valeur est
donne par le paramtre alias de la dnition
du groupe d'htes .

Une liste spare par des virgules des htes


appartenant soit 1) au groupe d'htes pass en
argument de la macro la demande ou soit 2)
$HOSTGROUPMEMBERS$ 5 au groupe d'hte principal associ l'hte
actuel (si non utilis dans le contexte d'une
macro la demande).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
177 / 379

Les notes associes avec soit 1) le groupe


d'htes pass en argument de la macro la
demande ou soit 2) le groupe d'hte principal
associ l'hte actuel (si non utilis dans le
$HOSTGROUPNOTES$ 5
contexte d'une macro la demande). Cette
valeur est donne par le paramtre notes de la
dnition du groupe d'htes.

L' URL de notes associe avec soit 1) le


groupe d'htes pass en argument de la macro
la demande ou soit 2) le groupe d'hte
principal associ l'hte actuel (si non utilis
$HOSTGROUPNOTESURL$ 5
dans le contexte d'une macro la demande).
Cette valeur est donne par le paramtre
notes_url de la dnition du groupe d'htes.

L' URL d'action associe avec soit 1) le groupe


d'htes pass en argument de la macro la
demande ou soit 2) le groupe d'hte principal
associ l'hte actuel (si non utilis dans le
$HOSTGROUPACTIONURL$ 5
contexte d'une macro la demande). Cette
valeur est donne par le paramtre action_url
de la dnition du groupe d'htes.

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.

Un nom utilis pour l'achage du service.


Cette valeur provient du paramtre
$SERVICEDISPLAYNAME$
display_name de la dnition du service.

Une chane indiquant l'tat actuel du service


$SERVICESTATE$ (OK, WARNING, UNKNOWN, ou CRITICAL).

Un nombre qui correspond l'tat actuel du


service : 0=OK, 1=WARNING, 2=CRITICAL,
$SERVICESTATEID$
3=UNKNOWN.

Une chane indiquant l'tat prcdent du


service (OK, WARNING, UNKNOWN, ou
$LASTSERVICESTATE$
CRITICAL).

Un nombre qui correspond l'tat prcdent


du service : 0=OK, 1=WARNING,
$LASTSERVICESTATEID$
2=CRITICAL, 3=UNKNOWN.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
178 / 379

Une chane indiquant le type d'tat actuel du


contrle de service (HARD ou SOFT). L'tat
est SOFT quand le contrle de service renvoie
$SERVICESTATETYPE$ un tat non-OK state et va tre ressay.
L'tat est HARD quand le contrle de service a
t tent le nombre de fois maximum dni.

Le nombre actuel d'essais de contrle du


service. Par exemple, si c'est la seconde fois
que le service est contrl, ce sera le nombre
deux. Le nombre actuel d'essais n'est
$SERVICEATTEMPT$ rellement utile que pour l'criture de
gestionnaires d'vnements d'hte pour des
tats SOFT, qui agiraient de manire
spcique selon le nombre de tentatives.

Le nombre maximum d'essais de contrle du


service actuel. Utile pour l'criture de
gestionnaires d'vnements d'hte pour des
$MAXSERVICEATTEMPTS$ tats SOFT, qui agiraient de manire
spcique selon le nombre de tentatives de
contrle de service.

Indique si le service est volatile ou pas : 0 =


$SERVICEISVOLATILE$
non volatile, 1 = volatile.
Un numro unique associ l'tat actuel du
service. chaque fois qu'un service (ou un
hte) change d'tat, un numro global
$SERVICEEVENTID$ d'vnement est incrment de un (1). Si un
service n'a pas chang d'tat, cette macro
gale zro (0).

Le numro unique d'vnement prcdent qui


$LASTSERVICEEVENTID$
a t donn un service.
Un numro unique associ l'tat
problmatique actuel du service. chaque fois
qu'un service (ou un hte) change d'tat de OK
ou UP un tat problmatique, un numro
global d'vnement est incrment de un (1).
Cette macro est dirente de zro si le service
est actuellement dans un tat dirent de OK.
Les changements d'tats entre tats dirents
de OK (par exemple WARNING ou CRITICAL)
$SERVICEPROBLEMID$
n'incrmente pas ce numro unique. Si un
service est dans l'tat OK, cette macro est
gale zro (0). Combin avec les
gestionnaires d'vnements, cette macro peut
tre utilise pour crer automatiquement des
tickets de support au moment o les services
basculent pour la premire fois dans un tat
problmatique.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
179 / 379

Le numro unique de problme prcdent qui


a t donn un service. Combin avec les
gestionnaires d'vnements, cette macro peut
$LASTSERVICEPROBLEMID$ tre utilise pour clore automatiquement des
tickets de support au moment o les services
reviennent dans un tat OK.

Un nombre (rel) indiquant le retard en


secondes par rapport au moment o un
contrle de service ordonnanc devait tre
excut. Par exemple, si un contrle tait
$SERVICELATENCY$
ordonnanc 03 :14 :15 et qu'il n'a t
excut qu' 03 :14 :17, la latence de ce
contrle est de 2.0 secondes.

un nombre (rel) indiquant le nombre de


secondes qu'a pris l'excution du contrle de
$SERVICEEXECUTIONTIME$ service (c.--d. le temps pendant lequel le
contrle s'est excut).

Une chane indiquant le temps qu'a pass le


service dans son tat actuel. Le format est
$SERVICEDURATION$ XXh YYm ZZs, pour les heures, les minutes et
les secondes.

Un nombre indiquant le nombre de secondes


$SERVICEDURATIONSEC$ qu'a pass le service dans son tat actuel.

Un nombre indiquant la profondeur d'arrt


plani pour le service. Si ce service est
actuellement dans une priode d' arrt
$SERVICEDOWNTIME$ plani, la valeur sera suprieure zro. Si le
service n'est pas en cours d'arrt plani, la
valeur sera zro.

Un nombre (rel) indiquant le pourcentage de


changement d'tat subit par le service. Le
$SERVICEPERCENTCHANGE$ pourcentage de changement d'tat est utilis
par l'algorithme de dtection d'oscillation.

le nom court du groupe de services auquel


appartient ce service. Cette valeur provient du
paramtre servicegroup_name de la dnition
$SERVICEGROUPNAME$ de groupe de services. Si le service fait partie
de plus d'un groupe de services cette macro
contiendra le nom d'un seul de ceux-ci.

Une liste spare par des virgules du nom


court de tous les groupes de services auxquels
$SERVICEGROUPNAMES$
appartient ce service.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o le dernier
$LASTSERVICECHECK$
contrle de service a eu lieu.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
180 / 379

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o l'tat du
$LASTSERVICESTATECHANGE$
service a chang pour la dernire fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o le service a
$LASTSERVICEOK$
t vu dans l'tat OK pour la dernire fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o le service a
$LASTSERVICEWARNING$ t vu dans l'tat WARNING pour la dernire
fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o le service a
$LASTSERVICEUNKNOWN$ t vu dans l'tat UNKNOWN pour la dernire
fois.

C'est le moment au format time_t (secondes


coules depuis l'poque UNIX) o le service a
$LASTSERVICECRITICAL$ t vu dans l'tat CRITICAL pour la dernire
fois.

La premire ligne du texte en sortie du


$SERVICEOUTPUT$ dernier contrle de service (p. ex. Ping OK).

Le texte complet (en plus de la premire ligne)


en sortie du dernier contrle de service (p. ex.
$LONGSERVICEOUTPUT$
Ping OK).

Cette macro contient les donnes de


performance qui ont pu tre renvoyes par le
$SERVICEPERFDATA$
dernier contrle de service.

Cette macro contient le nom de la commande


(ainsi que les paramtres qui ont pu lui tre
$SERVICECHECKCOMMAND$
passs) utilise lors du contrle de service.

Une chane contenant le nom de l'utilisateur


qui a acquitt le problme du service. Cette
macro n'est valable que dans les notications
$SERVICEACKAUTHOR$ 8
dont la macro $NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.

Une chane contenant le nom court de


l'utilisateur (si applicable) qui a acquitt le
problme du service. Cette macro n'est
$SERVICEACKAUTHORNAME$ 8 valable que dans les notications dont la
macro $NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
181 / 379

Une chane contenant l'alias de l'utilisateur (si


applicable) qui a acquitt le problme du
service. Cette macro n'est valable que dans les
$SERVICEACKAUTHORALIAS$ 8 notications dont la macro
$NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.

Une chane contenant le commentaire associ


l'acquittement saisi par l'utilisateur qui a
acquitt le problme du service. Cette macro
$SERVICEACKCOMMENT$ 8 n'est valable que dans les notications dont la
macro $NOTIFICATIONTYPE$ vaut
ACKNOWLEDGEMENT.

URL d'action associe au service. Cette valeur


provient du paramtre action_url de la
$SERVICEACTIONURL$ dnition d'informations complmentaires du
service.

URL d'action associe au service. Cette macro


peut contenir d'autres macros (par exemple
$HOSTNAME$ ou $SERVICEDESC$), ce qui peut
$SERVICENOTESURL$
s'avrer pratique quand vous souhaitez passer
le nom d'hte une page web.

URL de notes associe au service. Cette macro


peut contenir d'autres macros (par exemple
$HOSTNAME$ ou $SERVICEDESC$), ce qui peut
$SERVICENOTES$ s'avrer pratique quand vous souhaitez avoir
l'tat d'un service spcique dans la
description.

Macros de groupes de services : 6


Le nom long/alias soit de 1) du groupe de
services pass en argument de la macro la
demande ou soit 2) du groupe de services
principal associ au service actuel (si non
$SERVICEGROUPALIAS$ 6 utilis dans le contexte d'une macro la
demande). Cette valeur est donne par le
paramtre alias de la dnition du groupe de
services.

Une liste spare par des virgules des services


appartenant soit 1) au groupe de services
pass en argument de la macro la demande
$SERVICEGROUPMEMBERS$ 6 ou soit 2) au groupe de services principal
associ au service actuel (si non utilis dans le
contexte d'une macro la demande).
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
182 / 379

Les notes associes soit 1) au groupe de


services pass en argument de la macro la
demande ou soit 2) au groupe de services
principal associ au service actuel (si non
$SERVICEGROUPNOTES$ 6
utilis dans le contexte d'une macro la
demande). Cette valeur provient du paramtre
notes de la dnition du groupe de services.

L'URL de notes associe soit 1) au groupe de


services pass en argument de la macro la
demande ou soit 2) au groupe de services
principal associ au service actuel (si non
$SERVICEGROUPNOTESURL$ 6 utilis dans le contexte d'une macro la
demande). Cette valeur provient du paramtre
notes_url de la dnition du groupe de
services.

L'URL d'action associe soit 1) au groupe de


services pass en argument de la macro la
demande ou soit 2) au groupe de services
principal associ au service actuel (si non
$SERVICEGROUPNOTES$ 6 utilis dans le contexte d'une macro la
demande). Cette valeur provient du paramtre
action_url de la dnition du groupe de
services.

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.

Nom long/description du contact (p. ex. John


Doe) qui est noti. Cette valeur provient du
$CONTACTALIAS$
paramtre alias de la dnition de contact.

Adresse email du contact qui est noti. Cette


valeur provient du paramtre email de la
$CONTACTEMAIL$
dnition de contact.

Numro/adresse du Pager du contact qui est


noti. Cette valeur provient du paramtre
$CONTACTPAGER$
pager de la dnition de contact.

Adresse du contact qui est noti. Chaque


contact peut avoir six adresses direntes (en
plus de son adresse email et de son numro de
pager). Les macros correspondant ces
$CONTACTADDRESSn$ adresses sont $CONTACTADDRESS1$ -
$CONTACTADDRESS6$. Cette valeur provient du
paramtre addressx de la dnition de
contact.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
183 / 379

Le nom court du groupe de contact auquel est


rattach ce contact. Cette valeur provient du
$CONTACTGROUPNAME$ paramtre contactgroup_name de la dnition
de groupes de contacts.

Une liste spare par des virgules des groupes


$CONTACTGROUPNAMES$ de contacts auxquels appartient ce contact.

Macros de groupes de contacts : 5


Le nom long/alias soit 1) du groupe de
contacts pass en argument de la macro la
demande ou soit 2) du groupe de contacts
principal associ au contact actuel (si non
$CONTACTGROUPALIAS$ 7 utilis dans le contexte d'une macro la
demande). Cette valeur est donne par le
paramtre alias de la dnition du groupe de
contacts.

Une liste spare par des virgules de tous les


contacts soit 1) du groupe de contacts pass
en argument de la macro la demande ou soit
$CONTACTGROUPMEMBERS$ 7 2) du groupe de contacts principal associ au
contact actuel (si non utilis dans le contexte
d'une macro la demande).

Macros rcapitulatives :
Cette macro donne le nombre total d'htes qui
$TOTALHOSTSUP$ sont actuellement dans l'tat UP.

Cette macro donne le nombre total d'htes qui


$TOTALHOSTSDOWN$ sont actuellement dans l'tat DOWN.

Cette macro donne le nombre total d'htes qui


$TOTALHOSTSUNREACHABLE$ sont actuellement dans l'tat UNREACHABLE.

Cette macro donne le nombre total d'htes qui


sont actuellement dans l'tat DOWN et qui ne
sont pas en cours de traitement. Un problme
$TOTALHOSTSDOWNUNHANDLED$ d'hte est dit non trait s'il n'est pas acquitt,
ni en cours d'arrt plani, et dont les
contrles sont activs.

Cette macro donne le nombre total d'htes qui


sont actuellement dans l'tat UNREACHABLE
et qui ne sont pas en cours de traitement. Un
$TOTALHOSTSUNREACHABLEUNHANDLED$ problme d'hte est dit non trait s'il n'est pas
acquitt, ni en cours d'arrt plani, et dont
les contrles sont activs.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
184 / 379

Cette macro donne le nombre total d'htes qui


sont actuellement dans l'tat DOWN ou
$TOTALHOSTPROBLEMS$
UNREACHABLE.

Cette macro donne le nombre total d'htes qui


sont actuellement dans l'tat DOWN ou
UNREACHABLE et qui ne sont pas en cours
$TOTALHOSTPROBLEMSUNHANDLED$ de traitement. Un problme d'hte est dit non
trait s'il n'est pas acquitt, ni en cours d'arrt
plani, et dont les contrles sont activs.

Cette macro donne le nombre total de services


$TOTALSERVICESOK$ qui sont actuellement dans l'tat OK.

Cette macro donne le nombre total de services


$TOTALSERVICESWARNING$ qui sont actuellement dans l'tat WARNING.

Cette macro donne le nombre total de services


$TOTALSERVICESCRITICAL$ qui sont actuellement dans l'tat CRITICAL.

Cette macro donne le nombre total de services


$TOTALSERVICESUNKNOWN$ qui sont actuellement dans l'tat UNKNOWN.

Cette macro donne le nombre total de services


qui sont actuellement dans l'tat WARNING et
qui ne sont pas en cours de traitement. Un
$TOTALSERVICESWARNINGUNHANDLED$ problme de service est dit non trait s'il n'est
pas acquitt, ni en cours d'arrt plani, et
dont les contrles sont activs.

Cette macro donne le nombre total de services


qui sont actuellement dans l'tat CRITICAL et
qui ne sont pas en cours de traitement. Un
$TOTALSERVICESCRITICALUNHANDLED$ problme de service est dit non trait s'il n'est
pas acquitt, ni en cours d'arrt plani, et
dont les contrles sont activs.

Cette macro donne le nombre total de services


qui sont actuellement dans l'tat UNKNOWN
et qui ne sont pas en cours de traitement. Un
$TOTALSERVICESUNKNOWNUNHANDLED$ problme de service est dit non trait s'il n'est
pas acquitt, ni en cours d'arrt plani, et
dont les contrles sont activs.

Cette macro donne le nombre total de services


qui sont actuellement dans l'tat WARNING,
$TOTALSERVICEPROBLEMS$
CRITICAL, ou UNKNOWN.

Cette macro donne le nombre total de services


qui sont actuellement dans l'tat WARNING,
CRITICAL, ou UNKNOWN et qui ne sont pas
en cours de traitement. Un problme de
$TOTALSERVICEPROBLEMSUNHANDLED$
service est dit non trait s'il n'est pas acquitt,
ni en cours d'arrt plani, et dont les
contrles sont activs.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
185 / 379

Macros de notication :
Une chane reprsentant le type de
notication envoye (PROBLEM, RECOVERY,
ACKNOWLEDGEMENT, FLAPPINGSTART,
$NOTIFICATIONTYPE$ FLAPPINGSTOP FLAPPINGDISABLED,
DOWNTIMESTART, DOWNTIMEEND ou
DOWNTIMECANCELLED).

Une liste spare par des virgules de tous les


noms courts des contacts qui sont notis
$NOTIFICATIONRECIPIENTS$
pour un hte ou un service.

Un entier indiquant si la notication a t


envoy des contacts normaux pour l'hte ou
le service ou si elle a t escalad. 0 =
$NOTIFICATIONISESCALATED$
Notication normale (non-escalade) , 1 =
Notication escalade.

Une chane contenant le nom de l'utilisateur


qui a crit la notication. Si la macro
$NOTIFICATIONTYPE$ est gale
DOWNTIMESTART ou DOWNTIMEEND, ce
sera le nom de l'utilisateur qui a programm la
maintenance de l'hte ou du service. Si la
macro $NOTIFICATIONTYPE$ est gale
$NOTIFICATIONAUTHOR$ ACKNOWLEDGEMENT, ce sera le nom de
l'utilisateur qui a acquitt le problme de'hte
ou de service. Si la macro
$NOTIFICATIONTYPE$ est gale CUSTOM, ce
sera le nom de l'utilisateur qui a initi la
notication personnalise de l'hte ou du
service.

Une chane contenant le nom court du contact


(si applicable) tel qu'indiqu dans la macro
$NOTIFICATIONAUTHORNAME$
$NOTIFICATIONAUTHOR$.

Une chane contenant l'alias du contact (si


applicable) tel qu'indiqu dans la macro
$NOTIFICATIONAUTHORALIAS$
$NOTIFICATIONAUTHOR$.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
186 / 379

Une chane contenant le commentaire entr


par l'auteur de la notication. Si la macro
$NOTIFICATIONTYPE$ est gale
DOWNTIMESTART ou DOWNTIMEEND, ce
sera le commentaire de l'utilisateur qui a
programm la maintenance de l'hte ou du
service. Si la macro $NOTIFICATIONTYPE$ est
$NOTIFICATIONCOMMENT$ gale ACKNOWLEDGEMENT, ce sera le
commentaire de l'utilisateur qui a acquitt le
problme de'hte ou de service. Si la macro
$NOTIFICATIONTYPE$ est gale CUSTOM, ce
sera le commentaire de l'utilisateur qui a initi
la notication personnalise de l'hte ou du
service.

Le numro courant de la notication de l'hte.


Le numro de notication augmente par
incrment de un (1) chaque fois qu'une
nouvelle notication est envoye pour l'hte
(except pour les acquittements). Le numro
de notication est remis zro quand l'hte
$HOSTNOTIFICATIONNUMBER$ revient l'tat ok (aprs que la notication de
retour la normale soit envoye). Les
acquittements n'incrmentent pas le numro
de notication, pas plus que les notications
qui ont voir avec les oscillations et la
maintenance planie.

Un numro unique qui identie une


notication d'hte. Les numros identiants
de notications sont uniques travers tout le
systme de notications pour les htes et
services. Vous pouvez donc utiliser ce numro
comme cl primaire dans une base de donnes
de notications. Ces numros devraient rester
$HOSTNOTIFICATIONID$ uniques mme aprs redmarrage de Nagios
tant que vous activez l'option de rtention
d'tats. Le numro identiant de notication
est incrment par pas de un (1) chaque fois
qu'une nouvelle notication pour l'hte est
envoye, sans tenir compte du nombre de
contacts notis.

Le numro courant de la notication de


service. Le numro de notication augmente
par incrment de un (1) chaque fois qu'une
nouvelle notication est envoye pour le
service (except pour les acquittements). Le
numro de notication est remis zro quand
$SERVICENOTIFICATIONNUMBER$ le service revient l'tat ok (aprs que la
notication de retour la normale soit
envoye). Les acquittements n'incrmentent
pas le numro de notication, pas plus que les
notications qui ont voir avec les oscillations
et la maintenance planie.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
187 / 379

Un numro unique qui identie une


notication des service. Les numros
identiants de notications sont uniques
travers tout le systme de notications pour
les htes et services. Vous pouvez donc utiliser
ce numro comme cl primaire dans une base
de donnes de notications. Ces numros
$SERVICENOTIFICATIONID$ devraient rester uniques mme aprs
redmarrage de Nagios tant que vous activez
l'option de rtention d'tats. Le numro
identiant de notication est incrment par
pas de un (1) chaque fois qu'une nouvelle
notication pour l'hte est envoye, sans tenir
compte du nombre de contacts notis.

Macros de date/heure :
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 .

Date et heure actuelles (p. ex. 10-13-2000


00 :30 :28). Le format de la date est dni par
$SHORTDATETIME$
le paramtre date_format .

Date du jour (p. ex. 10-13-2000). Le format de


la date est dni par le paramtre
$DATE$
date_format .

$TIME$ Heure actuelle (p. ex. 00 :30 :28).


Moment actuel au format time_t (secondes
$TIMET$
coules depuis l'poque UNIX).
C'est une macro la demande spciale qui
renvoie 1 ou 0 en fonction du fait qu'une heure
donne fait partie ou non d'une priode de
temps prcis. Il y a deux faons d'utiliser
cette macro :
0. $ISVALIDTIME:24x7$ est gale 1si
l'heure courante est valide dans la
$ISVALIDTIME:$ 9 priode de temps 24x7. gale 0 dans le
cas contraire.
0. $ISVALIDTIME:24x7:timestamp$ est
gale 1si l'heure donne par l'argument
timestamp (qui doit tre au format time_t)
est valide dans la priode de temps 24x7.
gale 0 dans le cas contraire.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
188 / 379

C'est une macro la demande spciale qui


renvoie l'heure valide suivante (dans le format
time_t) pour une priode temps spcique. Il y
a deux faons d'utiliser cette macro :
0. $NEXTVALIDTIME:24x7$ renvoie la
prochaine heure valide - depuis et en
incluant l'heure courante - dans la
priode de temps 24x7.

$NEXTVALIDTIME:$ 9 0. $NEXTVALIDTIME:24x7:timestamp$
renvoie la prochaine heure valide - depuis
et en incluant l'heure prcise par
l'argument timestamp (qui doit tre
prcis dans le format time_t - dans la
priode de temps 24x7.
Si une prochaine priode de temps valide ne
peut tre trouve dans la priode de temps
prcise, la valeur d ela macro est gale 0.

Macros de chier :
Emplacement du chier de conguration
$MAINCONFIGFILE$ principal .

Emplacement du journal des tats.


$STATUSDATAFILE$
$COMMENTDATAFILE$ Emplacement du chier de commentaires.
$DOWNTIMEDATAFILE$ Emplacement du chier des arrts planis.
Emplacement du chier de mmorisation des
$RETENTIONDATAFILE$ tats .

Emplacement du chier de cache des objets.


$OBJECTCACHEFILE$
Emplacement du chier temporaire.
$TEMPFILE$
Le dossier prcis dans la variable chemin
$TEMPPATH$ temporaire.

Emplacement du chier journal .


$LOGFILE$
Emplacement du chier de ressources.
$RESOURCEFILE$
Emplacement du chier de commandes
$COMMANDFILE$ externes.

Emplacement du chier de performance des


$HOSTPERFDATAFILE$
htes (s'il est dni).
Emplacement du chier de performance des
$SERVICEPERFDATAFILE$
services (s'il est dni).

Macros diverses :
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
189 / 379

Moment au format time_t (secondes coules


depuis l'poque UNIX) o le processus Nagios
a t (re)dmarr pour la dernire fois. Vous
pouvez en dduire le nombre de secondes
$PROCESSSTARTTIME$ coules depuis le dmarrage (ou
redmarrage) de Nagios, en soustrayant
$PROCESSSTARTTIME$ de
$TIMET$Macros$TIMET$.

Moment au format time_t (secondes coules


depuis l'poque UNIX) o Nagios a commenc
traiter les vnements (contrles, etc.). Vous
pouvez dduire le nombre de secondes qui ont
$EVENTSTARTTIME$
t ncessaires au dmarrage de Nagios en
soustrayant $PROCESSSTARTTIME$ de
$EVENTSTARTTIME$.

Adresse email globale de l'administrateur.


Cette valeur provient du paramtre
$ADMINEMAIL$
admin_email .

Numro/adresse global du pager de


l'administrateur. Cette valeur provient du
$ADMINPAGER$
paramtre admin_pager .

Le n-ime paramtre pass la commande


(notication, gestionnaire d'vnement,
contrle de service, etc.). Nagios gre jusqu'
$ARGn$
32 macros de paramtre (de $ARG1$
$ARG32$).

La nime macro dnie par l'utilisateur. Les


macros utilisateur peuvent tre dnies dans
un ou plusieurs chiers de ressources. Nagios
$USERn$
gre jusqu' 32 macros utilisateur (de $USER1$
$USER32$).

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

Les contrles d'htes

28.1 Introduction

Le fonctionnement de base des contrles d'htes est dcrit ci-aprs

28.2 Quand sont eectus les contrles d'htes ?

Les htes sont contrls par le dmon Nagios :


A intervalles rguliers, tel que dni par les options check_interval et retry_interval dans vos
dnitions d'htes .
A la demande quand un service associ avec l'hte change d'tat.
A la demande, au besoin dans le cadre de la logique accessibilit rseau de l'hte .
Sur demande au besoin des contrles en prvision des dpendances des htes .
Les contrles d'htes planis rgulirement sont optionels. Si vous avez positionnez l'option check-
_interval zro (0), Nagios ne fera pas les contrles d'htes de faon rgulire. Il fera toutefois des
contrles des htes la demande pour les besoins de la supervision.
Les contrles la demande sont eectus lorsqu'un service associ l'hte change d'tat parce que
Nagios a besoin de savoir si l'hte a galement chang d'tat. Les services qui changent d'tat sont
souvent un indicateur du fait que l'hte a peut-tre aussi chang d'tat. Par exemple, si Nagios dtecte
que le service HTTP associ avec un hte vient juste de passer d'un tat CRITICAL un tat OK, cela
peut indiquer que l'hte est redevenu la normale et fonctionne suite un redmarrage.
Les contrles la demande des htes sont aussi eectus dans le cadre de la logique d'accessibilit
de l'hte via le rseau. Nagios est conu pour dtecter les coupures rseau aussi rapidement que
possible, en distinguant un tat DOWN d'un tat UNREACHABLE pour l'hte. Ce sont deux tats trs
dirents et qui peuvent aider rapidement un adminuistrateur localiser la l'origine de la coupure
rseau.
Les contrles la demande peuvent aussi tre eectus dans le cadre de la logique des contrles en
prvision des dpendances des htes . Ces contrles permettent d'assurer que la logique de dpen-
dance soit la plus prcise que possible.

28.3 Les contrles d'htes mis en cache

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.

28.4 Les contrles et les dpendances

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.

28.5 Paralllisation des contrles d'htes

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.

28.6 Les tats d'un hte

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

28.7 Dtermmination de l'tat d'un hte

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.

Rsultat du Plugin Etat pralable de l'Hte


OK UP
WARNING UP ou DOWN*
UNKNOWN DOWN
CRITICAL DOWN

Note
Les retours WARNING signient gnralement que l'hte est UP. Cependant, les retours WARNING sont
interprts pour signier que l'hte est DOWN si l'option use_aggressive_host_checking est active.
Si l'tat de l'hte pralable est DOWN, Nagios va essayer de voir s'il est rellement DOWN ou s'il
est UNREACHABLE. La distinction entre les tats d'htes DOWN et UNREACHABLE est important, car
elle peut permettre aux admministrateurs de determiner l'origine de la coupure rseau rapidement.
Le tableau suivant montre comment Nagios dtermine l'tat nal en fonction de l'tat de l'hte(s)
parent(s). Les parents d'htes sont dnis dans le paramtre parents de la dnition d'hte.

Etat pralable de l'Hte Etat de l'Hte Parent Etat Final de l'Hte


Au moins un des parents est
DOWN DOWN
UP
Tous les parents sont soit
DOWN UNREACHABLE
DOWN soit UNREACHABLE

Plus d'informations sur comment Nagios fait la dirence entre les tats DOWN et UNREACHABLE
peuvent tre trouves ici.

28.8 Changements d'tats d'un hte

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

Les contrles de services

29.1 Introduction

Le fonctionnement basique des contrles de services est dcrit ici

29.2 Quand les contrles de services sont-ils raliss ?

Les services sont contrls par le dmon Nagios :


intervalles rguliers, comme dnit par la variable check_interval et retry_interval dans vos
dnitions de service .
la demande si besoin est pour les contrles en prvision des dpendances des services .
Les contrles la demande sont eectus dans le cadre de la logique des contrles en prvision des
dpendances des services . Ces contrles permettent de garantir que la logique de dpendance soit
la plus prcise possible. Si vous n'utilisez pas les dpendances de service, Nagios ne ralisera aucun
contrle de service la demande.

29.3 Les contrles de service mis en cache

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.

29.4 Les contrles et les dpendances

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

29.5 Paralllisation des contrles de services

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.

29.6 tats des services

Les services qui ont t contrls peuvent avoir un des quatre tats :
OK
WARNING
UNKNOWN
CRITICAL

29.7 Dtermination de l'tat du service

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.

29.8 Changements d'tats des services

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

les contrles actifs

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 le processus Nagios.


Les contrles actifs sont excuts intervalles rguliers

30.2 Comment sont faits les contrles actifs ?


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
197 / 379

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.

30.3 Quand sont excuts les contrles actifs ?

Les contrles actifs sont excuts :


intervalles rguliers, comme dnit dans les options check_interval et retry_interval de vos
dnitions d'htes et de services
la demande quand ncessaire
Les contrles rguliers sont faits intervalles rguliers lorsque le check_interval ou le retry_int-
erval sont dnis dans vos dnitions d'htes et de services, et en fonction du type d'tat dans lequel
se trouve l'hte ou le service. Si l'hte ou le service se trouve dans un tat HARD, il sera activement
contrl intervalles rguliers dnis par l'option check_interval. Si il est dans un tat SOFT, il sera
contrl intervalles dnis par l'option retry_interval.
Les contrles la demande sont faits quand Nagios estime avoir besoin de connatre le dernier tat
d'un hte ou service particulier. Par exemple, quand Nagios dtermine l'accesibilit d'un hte, il va
souvent faire un contrle la demande des htes parents et enfants pour avoir un tat exact de ce
segment particulier de rseau. Les contrles la demande peuvent aussi tre faits par la logique de
contrle prdictif de dpendances pour s'assurer que Nagios a bien les derniers tats disponibles.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
198 / 379

Chapitre 31

Les contrles passifs

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.

31.2 L'utilit du contrle passif

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

31.3 Comment les contrles passifs fonctionnent-ils ?

Ci-dessous, le fonctionnement des contrles passifs en plus dtaill :

1. Une application externe contrle l'tat d'un hte ou un service.


2. L'application externe crit le rsultat du contrle dans le chier des commandes externes.
3. Ensuite, Nagios lit ce chier et place les rsultats dans une queue pour les traiter plus tard. Cette
mme queue est utilise pour aussi bien stocker les rsultats des contrles actifs que passifs.
4. Nagios va excuter priodiquement un vnement collecteur de rsultat et scanner la queue.
Chaque rsultat de services trouv est trait de la mme manire qu'il soit actif ou passif. Nagios
enverra les notications, alertes de log, etc. en fonction du rsultat des contrles.

Le principe des contrles actifs et passifs est similairement le mme. Cela tient en compte de l'int-
gration de l'information des tats partir d'applications externes avec Nagios.

31.4 Autoriser les contrles passifs

Dans l'odre, pour autoriser le contrle passifs dans Nagios, Il faut procder de la manire suivante :

Passer le paramtre accept_passive_service_checks 1.


Passer dans la dnition des htes et des services le paramtre passive_checks_enabled 1

Si vous voulez dsactiver globalement le contrle passifs, passer le paramtre accept_passive_se-


rvice_checks 0.
Si vous voulez dsactiver les contrles passifs pour quelques services ou htes, utilisez le paramtre
passive_checks_enabled dans votre dnition d'hte et/ou service.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
200 / 379

31.5 Soumission d'un rsultat de contrle passif

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.

31.6 Soumission d'un rsultat de contrle passif d'un hte

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

31.7 Les contrles passifs et les tats d'htes

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.

31.8 Soumission des rsultats de contrles passifs provenant


d'htes distants

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 :

L'tat du service ou de l'hte (ex : OK, WARNING, UP, DOWN, etc.)


Le type d'tat dans lequel l'hte ou le service se trouve

Il y a deux types d'tats dans Nagios - les tats SOFT et les tats HARD. Ces types d'tats sont un
lment crucial de la logique de supervision, ils sont utiliss pour dterminer quand les gestionnaires
d'vnements sont excuts et quand les notications sont initialement envoyes.
Ce document dcrit les dirences qu'il existe entre les tats SOFT et HARD, comment ils surviennent,
et ce qu'il se passe lorsqu'ils ont lieu.

32.2 Tentatives de contrle des Services et des htes

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.

32.3 Les tats SOFT

Les tats SOFT surviennent dans les situations suivantes :


Quand le contrle d'un service ou d'un hte retournre un tat non-OK ou non-UP et quand le ser-
vice n'a pas t (re)contrl le nombre de fois spci par le paramtre max_check_attempts des
dnitions des htes ou des services. C'est ce qu'on appelle une erreur SOFT.
Quand un service ou un hte se rtablit suite un tat d'erreur SOFT. Ceci est considr comme un
rtablissement SOFT.
Les choses suivantes se produisent lorsque des htes ou des services rencontrent des changements
d'tat SOFT :

L'tat SOFT est journalis.


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
203 / 379

Les gestionnaires d'vnements sont excuts pour traiter l'tat SOFT.

Les tats SOFT sont seulement journaliss si vous avez activ les options log_service_retries ou
log_host_retries dans le chier de conguration principal.
La seule chose importante qui se passe rellement lors d'un tat SOFT, c'est l'excution des 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.

32.4 Les tats HARD

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:

L'tat HARD est journalis


Les gestionnaires d'vnements sont excuts pour traiter l'tat HARD.
Les contacts sont notis d'un problme ou d'un retour la normale d'un hte ou d'un service.

Les macros $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ ou $SERVICESTATETYPE$Macros$SERVICES


auront la valeur HARD quand les gestionnaires d'vnement seront excuts, ce qui permettra aux
gestionnaires d'vnement de savoir qu'ils doivent eectuer une action corrective. Plus d'informations
sur les gestionnaires d'vnement peuvent tre trouves ici.

32.5 Exemple

Voici un exemple de comment sont dtermins les types d'tat, quand les changement d'tats 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.

Echelle Contrle Type Changement


Etat Notes
de temps # d'tat d'tat
0 1 OK HARD Non Etat initial du service
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
204 / 379

Echelle Contrle Type Changement


Etat Notes
de temps # d'tat d'tat
Premire dtection d'un
tat non-OK. Le
1 1 CRITICAL SOFT Oui gestionnaire d'vnement
s'excute.

Le service continue d'tre


dans un tat non-OK. Le
2 2 WARNING SOFT Oui gestionnaire d'vnement
s'excute.

Le nombre maximum de
tentatives a t atteint, le
service passe dans un tat
HARD. Le gestionnaire
d'vnement s'excute et
3 3 CRITICAL HARD Oui
une notication est
envoye. Le compteur de
tentavive repasse
immdiatement 1.

Le service passe un tat


WARNING HARD. Le
gestionnaire d'vnement
4 1 WARNING HARD Oui
s'excute et une notiaction
du problme est envoye.

Le service se stabilise dans


un tat HARD. Selon
l'intervalle de notication
5 1 WARNING HARD Non spci pour le service,
d'autres notivications
peuvent tre envoyes.

Le service passe un tat


OK HARD. Le gestionnaire
d'vnement s'excute et
6 1 OK HARD Oui
une notication de retour
la normale est envoye.

Le service est toujours OK.


7 1 OK HARD Non
Le service est dtect
comme ayant bascul vers
un tat SOFT non-OK. Le
8 1 UNKNOWN SOFT Oui
gestionnaire d'vnement
s'excute.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
205 / 379

Echelle Contrle Type Changement


Etat Notes
de temps # d'tat d'tat
Le service passe un tat
de retour la normale
SOFT. Le gestionnaire
d'vnement s'excute,
mais aucune notication
n'est envoye, comme ce
9 2 OK SOFT Oui
n'est pas un rel problme.
Le type d'tat est positionn
HARD et le compteur de
tentative est positionn 1
immdiatement aprs.

Service stabilis dans un


10 1 OK HARD Non tat OK.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
206 / 379

Chapitre 33

Les priodes de temps

Note
Ou Est-ce le bon moment ?

33.1 Introduction

Les paramtres concernant les priodes de temps vous permettent de matriser le


fonctionnement logique des dirents aspects de la supervision et de la notication. Par exemple,
vous pouvez restreindre :

Quand les contrles d'htes et de services planis peuvent tre eectus


Quand les notications peuvent tre envoyes
Quand les escalades de notication peuvent tre utilises
Quand les dpendances sont valides

33.2 Les priorits dans les priodes de temps

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 :

Une date prcise dans le calendrier (01/01/2008)


Une date spcique dans un mois quelconque (1er Janvier)
Une date gnrique mensuelle (tous les 15 du mois)
Un jour d'un mois spcique (le 2me Mardi de Dcembre)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
207 / 379

Un jour spcique mensuel (3me Lundi de chaque mois)


Un jour dans la semaine (le Mardi)

Des exemples de paramtres concernant les priodes de temps sont accessibles ici.

33.3 Comment les priodes de temps fonctionnent avec les


contrles des htes et des services

Les dnitions des htes et des services ont un paramtre optionnel check_period qui vous permet
de spcier la priode qui sera utilise pour restreindre les moments o les contrles actifs des htes
ou des services devront tre eectus.
Si vous n'utilisez pas le paramtre check_period pour spcier une priode, Nagios sera capable de
planier les contrles actifs des htes et services aussi souvent qu'il en aura besoin. Il s'agit 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) :

1. Le statut de l'hte ou du service apparatra inchang tout au long de la priode de non-contrle.


2. Les contacts ne seront pas re-notis des problmes avec un hte ou un service durant une
priode de non-contrle.
3. Si un hte ou un service redevient OK pendant une priode de non-contrle, les contacts ne
seront pas immdiatement notis du retour normale.

33.4 Comment fonctionnent les priodes de temps avec les


contacts de notications

En spciant une priode au paramtre notification_period d'une dnition d'un hte ou d'un
service, vous pouvez contrler quand Nagios est autoris envoyer des notications concernant des
problmes ou des retours la normale pour cet hte ou ce service. Lorsqu'une notication pour un hte
doit tre envoye, Nagios s'assure que l'heure actuelle est bien comprise dans la plage horaire 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.

33.5 Comment fonctionnent les priodes de temps avec les es-


calades de notication

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.

33.6 Comment fonctionnent les priodes de temps avec les


dpendances

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

Dtermination de l'tat et de l'acces-


sibilit des htes du rseau

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

34.2 Exemple de rseau

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

34.3 Dnir des relations parents/enfants

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
}

34.4 La logique d'accessibilit des htes en action

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.

34.5 Type de notication DOWN oppos UNREACHABLE

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

J'ai reu de nombreuses questions sur le fonctionnement des notica-


tions. Ce document essaiera d'expliquer exactement quand et comment les notications pour les htes
et les services sont mises, et qui les reoit.
Les escalades de notications sont expliques ici.

35.2 Quand y a-t'il notication ?

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

35.3 Qui est noti ?

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

35.4 Quels sont les ltres traverser avant qu'une notication


ne soit mise ?

Le simple fait qu'une notication d'hte ou de service doit tre mise ne signie pas que des contacts
vont la recevoir. Il y a plusieurs ltres qu'une notication doit traverser avant d'tre juge valable
pour l'mission. Mme alors, des contacts peuvent ne pas la recevoir si leurs ltres de notication ne
le permettent pas. Voyons en dtail les ltres traverser

35.5 Filtre global au programme :

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

35.6 Filtres d'hte et de service :

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

35.7 Filtres de contact :

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 !

35.8 Moyens de notications

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.

35.9 Macro de type de notication

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.

Un service ou un hte s'est rtabli. S'il s'agit


d'une notication de service, cela signie que
le service vient de retourner dans l'tat OK. Si
RECOVERY
c'est une notication d'hte, cela signie que
l'hte vient de reprendre l'tat UP.

Cette notication est lie l'acquittement d'un


problme d'hte ou de service. Les
notications d'acquittement sont gnres via
ACKNOWLEDGEMENT
l'interface web par les contacts de l'hte ou du
service concern.

L'hte ou le service vient de commencer


FLAPPINGSTART osciller.

L'hte ou le service vient de s'arrter


FLAPPINGSTOP d'osciller.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
220 / 379

Valeur Description
L'hte ou le service vient de s'arrter
d'osciller parce que la dtection d'oscillation a
FLAPPINGDISABLED
t dsactive.

L'hte ou le service vient d'entrer dans une


priode de maintenance planie. Les
DOWNTIMESTART
notications suivantes seront supprimes.

L'hte ou le service vient de sortir d'une


priode de maintenance planie. Les
DOWNTIMESTOP notications de problmes peuvent donc
reprendre.

La priode de maintenance planie pour


l'hte ou le service vient d'tre annule. Les
DOWNTIMECANCELLED notications de problmes peuvent donc
reprendre.

35.10 Ressources utiles

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

Informations sur les CGIs

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.

36.2 CGI d'tat

Nom du chier
status.cgi
Description
C'est le CGI le plus important de Nagios. Il vous permet de voir l'tat de tous les htes et de
tous les services superviss. Le CGI d'tat peut produire deux types principaux d'achage - un
aperu de l'tat de tous les groupes d'htes (ou d'un groupe particulier) et une vue dtaille de
tous les services (ou de ceux associs un hte particulier).
Autorisations requises
Si vous tes autoris pour tous les htes vous pouvez voir tous les htes et tous les services.
Si vous tes autoris pour tous les services vous pouvez voir tous les services.
Si vous tes un contact authenti vous pouvez voir tous les htes et tous les services dont
vous tes un contact.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
222 / 379

36.3 CGI de cartographie des tats

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

36.4 CGI d'interface WAP


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
223 / 379

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.

36.5 CGI du monde des tats (VRML)

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

36.6 CGI d'aperu tactique

Nom du chier
tac.cgi
Description
Ce CGI vous donne une vue gnrale de toute l'activit de supervision du rseau. Il vous permet
de reprer rapidement les indisponibilits du rseau, l'tat des htes et des services. Il distingue
les problmes qui ont t traits d'une faon ou d'une autre (par ex. qui ont t acquitts, dont
les notications sont dsactives, etc.) et ceux qui n'ont pas t traits, et qui donc mritent
attention. Trs utile si vous avez beaucoup d'htes/services superviser et que vous ne voulez
consulter qu'un seul cran pour tre averti des problmes.
Autorisations requises
Si vous tes autoris pour tous les htes vous pouvez voir tous les htes et tous les services.
Si vous tes autoris pour tous les services vous pouvez voir tous les services.
Si vous tes un contact authenti vous pouvez voir tous les htes et tous les services dont
vous tes un contact.

36.7 CGI d'indisponibilit du rseau

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.

36.8 CGI de conguration

Nom du chier
config.cgi
Description
Ce CGI permet de visualiser les dnitions d'objets (par ex. htes, groupes d'htes, contacts,
groupes de contacts, priodes, services et commandes) tels que spcis dans vos chier(s) de
conguration des objets.
Autorisations requises
Vous devez avoir l'autorisation d'accs aux informations de conguration pour voir n'importe
quelle information de conguration.

36.9 CGI de commande

Nom du chier
scmd.cgi
Description
Ce CGI permet d'envoyer des commandes au processus de Nagios. Bien que ce CGI accepte
plusieurs arguments, mieux vaut ne pas s'y essayer. La plupart changent selon les rvisions de
Nagios. Utilisez plutt les informations complmentaires des CGIs comme point de dpart pour
envoyer des commandes.
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.

36.10 CGI d'informations complmentaires

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

36.11 CGI du chier journal

Nom du chier
showlog.cgi
Description
Ce CGI ache le chier journal. Si vous avez activ la rotation du journal, vous pouvez voir le
contenu des journaux archivs en utilisant les liens de navigation situs en haut de la page.
Autorisations requises
Vous devez tre autoris pour les informations systme pour voir le chier journal.

36.12 CGI d'historique d'alerte

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.

36.13 CGI des notications

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.

36.14 CGI de tendances

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.

36.15 CGI de rapport de disponibilit

Nom du chier
avail.cgi
Description
Ce CGI permet de crer un rapport sur la disponibilit des htes et des services sur une priode
donne. Pour que ce CGI soit pertinent, vous devez activer la rotation du journal et archiver les
journaux dans le rpertoire dni par la variable log_archive_path .
Autorisations requises
Si vous tes autoris pour tous les htes vous pouvez voir la disponibilit de tous les htes et
services.
Si vous tes autoris pour tous les services vous pouvez voir la disponibilit de tous les services.
Si vous tes un contact authenti vous pouvez voir la disponibilit de tous les services et htes
dont vous tes un contact.

36.16 CGI d'histogramme des alertes


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
230 / 379

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.

36.17 CGI du rcapitulatif des alertes

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.

37.2 Autoriser les commandes externes


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
233 / 379

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

Activer le contrle des commandes externes l'aide de l'option check_external_commands


Rgler la frquence des contrles de commande l'aide de l'option command_check_interval
Prciser l'emplacement du chier de commandes l'aide de l'option command_file .
Congurer les bonnes autorisations pour le rpertoire contenant les chiers de commandes. Des
dtails sur la manire de faire cela se trouvent ici.

37.3 Quand Nagios contrle-t-il les commandes externes ?

A intervalles rguliers prciss par l'option command_check_interval du chier de conguration


principal.
Immdiatement aprs que les gestionnaires d'vnements soient excuts. Cela s'eectue en plus
du cycle rgulier des contrles de commandes externes et sert fournir une action immdiate si un
gestionnaire d'vnement soumet des commandes Nagios.

37.4 L'utilisation des commandes externes

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.

37.5 Format des commandes

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

Les gestionnaires d'vnements sont des commandes optionnelles qui sont


excutes chaque fois qu'un changement d'tat d'un hte ou d'un service a lieu.
Une premire utilit de ces gestionnaires d'vnements rside dans la capacit de Nagios rsoudre
les problmes de manire prventive avant que quelqu'un ne reoive une notication. D'autres utili-
sations possibles des gestionnaires d'vnements sont :

Redmarrer un service en erreur


Crer un nouveau ticket dans un systme de helpdesk
Enregistrer des vnements dans une base de donnes
Reboot d'un hte
etc.

Important
Le reboot d'un hte ayant des problmes de faon automatique par un script ne devrait pas tre
implment la lgre. Considrez les consquences avec exactitude avant d'implmenter
des reboots automatiques. :-)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
235 / 379

38.2 Quand les commandes de gestionnaires d'vnements sont-


elles excutes ?

Les commandes de gestionnaires d'vnements de service et d'hte sont excutes lorsqu'un service
ou un hte :

Est dans un tat d'erreur SOFT


Entre dans un tat d'erreur HARD
Se rtablit aprs un tat d'erreur SOFT ou HARD

Les tats SOFT et HARD sont dcrits en dtails ici.

38.3 Types de gestionnaires d'vnements

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 :

Gestionnaires d'vnements global d'hte


Gestionnaires d'vnements global de service
Gestionnaires d'vnements spcique un hte
Gestionnaires d'vnements spcique un service

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.

38.4 Activation des gestionnaires d'vnements

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.

38.5 Ordre d'excution des gestionnaires d'vnements

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

38.6 criture d'une commande de gestionnaire d'vnements

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.

38.7 Autorisations d'excution des commandes de gestionnaires


d'vnements

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.

38.8 Exemple de gestionnaire d'vnement de service

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

# Call the init script to restart the HTTPD server


/etc/rc.d/init.d/httpd restart
;;
esac
;;

# The HTTP service somehow managed to turn into a hard error without getting -
fixed.
# It should have been restarted by the code above, but for some reason it didn' -
t.
# Let's give it one last try, shall we?
# Note: Contacts have already been notified of a problem with the service at -
this
# point (unless you disabled notifications for this service)
HARD)
echo -n "Restarting HTTP service"
# Call the init script to restart the HTTPD server
/etc/rc.d/init.d/httpd restart
;;
esac
;;
esac
exit 0

Le script donn titre d'exemple ci-dessus essaiera de redmarrer le serveur web sur la machine
locale deux occasions direntes :

Aprs que le service soit essay pour la troisime fois (dans un tat SOFT CRITICAL)
aprs que le service soit tomb dans un tat HARD CRITICAL

Le script devrait en thorie redmarrer le serveur web et rgler le problme avant que le service ne
passe en tat d'erreur HARD, mais nous avons inclus une solution de repli au cas o il ne fonctionne
pas la premire fois. Notez bien que le gestionnaire d'vnement ne sera excut que la premire fois
que le service passe en tat d'erreur HARD. Cela permet d'viter que Nagios ressaie continuellement
de redmarrer le serveur web alors que le service reste dans un tat d'erreur HARD. Vous ne voulez
pas a. :-)
C'est tout ce qu'il y a dire ! Les gestionnaires d'vnements sont simples crire et implmenter,
aussi fates l'essai et voyez ce que vous pouvez en faire.
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

39.2 A quoi servent-ils ?

Les services volatiles sont utiles pour superviser


des choses qui se remettent automatiquement en tat OK chaque fois qu'ils sont contrls
des vnements comme les alertes de scurit qui rclament de l'attention chaque problme (et
pas seulement la premire fois)

39.3 Qu'est-ce que les services volatiles ont de si particulier ?

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)

l'tat non-OK du service est journalis


les contacts reoivent notication du problme (si c'est ce qui doit tre fait).

Note
Les intervalles de notications sont ignors pour les services volatiles.

le gestionnaire d'vnements du service est lanc (s'il a t dni)

Ces vnements ne se produisent normalement que lorsque des services sont dans un tat non-OK
et qu'un changement d'tat hard vient de se produire. En d'autres termes, ils ne se produisent que
la premire fois que le service passe dans un tat non-OK. Si des contrles ultrieurs du service
conduisent au mme tat non-OK, il n'y a aucun changement d'tat hard et aucun des vnements
mentionns ne se reproduit.
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.

39.4 La puissance de deux

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

39.4.1 Conguration de Nagios

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.

39.4.2 Conguration de PortSentry

Modiez votre chier de conguration de PortSentry (portsentry.conf), et dnissez une commande


pour le paramtre KILL_RUN_CMD comme suit :
KILL_RUN_CMD="/usr/local/Nagios/libexec/eventhandlers/submit_check_result host_name 'Port -
Scans' 2 'Port scan from host $TARGET$ on port $PORT$. Host has been firewalled.'"

Assurez-vous de remplacer host_name avec le nom court de l'hte avec lequel le service est associ.

39.4.3 Script de scan de port

Crez un script Shell dans le rpertoire /usr/local/nagios/libexec/eventhandlers que vous ap-


pelez submit_check_result. Le contenu de ce script shell devrait ressembler ceci
#!/bin/sh

# Write a command to the Nagios command file to cause


# it to process a service check result

echocmd="/bin/echo"

CommandFile="/usr/local/nagios/var/rw/nagios.cmd"

# get the current date/time in seconds since UNIX epoch


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
241 / 379

datetime=`date +%s`

# create the command line to add to the command file


cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4"

# append the command to the end of the command file


`$echocmd $cmdline >> $CommandFile`

Que va t'il se passer quand PortSentry dtectera un scan de ports sur la machine dans le futur ?

PortSentry bloque l'hte au niveau pare-feu (C'est une fonction du logiciel PortSentry=
PortSentry excute le script shell submit_check_result pour envoyer le rsultat de ce contrle
passif Nagios
Nagios lit le chier de commande externe et voit le contrle passif de service soumis par PortSentry
Nagios passe le service Port Scans en tat CRITICAL, et envoie des notications aux contacts

Plutt sympa, non ?


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
242 / 379

Chapitre 40

Contrle de la fracheur des rsultats


d'htes et de services

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.

40.2 Comment fonctionne le contrle de la fracheur ?

Nagios contrle rgulirement la fracheur des rsultats de tous les services


dont le contrle de fracheur est activ.

Un seuil de fracheur est calcul pour chaque hte et service.


Pour chaque hte/service, l'heure du dernier contrle est compare avec le seuil de fracheur.
Si l'heure du dernier contrle est suprieure au seuil de fracheur, le rsultat du contrle est con-
sidr comme prim.
Si le rsultat du contrle est dclar prim, Nagios va forcer un contrle actif de l'hte ou du
service en excutant la commande prcise dans la dnition de l'hte ou du service.

ASTUCE
Un contrle actif est excut mme si les contrles actifs sont dsactivs au niveau global ou au
niveau service/hte.
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).

40.3 Activer le contrle de la fracheur

Voici ce dont vous avez besoin pour activer le contrle de la fracheur


Activez le contrle de fracheur par les paramtres check_service_freshness et check_host_fr-
eshness du chier de conguration principal.
Utilisez les paramtres service_freshness_check_interval et host_freshness_check_interv-
al pour indiquer Nagios l'intervalle auquel il doit contrler la fracheur des rsultats d'htes et
de services.
Activer le contrle de la fracheur d'un hte ou d'un service en particulier en passant le paramtre
check_freshness 1 dans le chier de dnition de l'hte ou du service.
Congurez les seuils de fracheur en rglant le paramtre freshness_threshold dans le chier de
dnition de l'hte ou du service.
Congurez le paramtre check_command dans votre chier de dnition d'hte ou de service pour
indiquer la commande valide utiliser pour contrler activement le service ou l'hte lorsque celui-ci
est dclar prim.
Le paramtre check_period dans votre chier de dnition d'hte ou de service est utilis quand Na-
gios doit dterminer lorsqu'un hte ou service doit tre contrl au niveau fracheur, aussi assurez-
vous de le rgler sur une priode de temps valide.

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

check_command no-backup-report ; this command is run only if the service -


results are "stale"
...other options...
}

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.

41.3 Diagramme de rfrence

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

41.4 Serveur central ou serveurs distribus

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

41.5 Obtention des informations de contrle de service partir


de serveurs distribus

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 ?

41.6 Conguration des serveurs distribus

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

La dnition de la commande submit_check_result ressemble ceci :


define command {
command_name submit_check_result
command_line /usr/local/nagios/libexec/eventhandlers/submit_check_result $HOSTNAME$ -
'$SERVICEDESC$' $SERVICESTATE$ '$SERVICEOUTPUT$'
}

Le script shell submit_check_result ressemble cela (remplacez central_server par l'adresse IP du


serveur central) :
#!/bin/sh

# Arguments:
# $1 = host_name (Short name of host that the service is
# associated with)
# $2 = svc_description (Description of the service)
# $3 = state_string (A string representing the status of
# the given service - "OK", "WARNING", "CRITICAL"
# or "UNKNOWN")
# $4 = plugin_output (A text string that should be used
# as the plugin output for the service checks)
#

# Convert the state string to the corresponding return code


return_code=-1

case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
esac
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

/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/local/nagios/bin/ -


send_nsca -H central_server -c /usr/local/nagios/etc/send_nsca.cfg

Le script ci-dessus suppose que vous avez le programme send_nsca et son chier de 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.

41.7 Conguration du serveur central

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 :

L'interface web du serveur central est installe (optionnel, mais recommand)


Sur le serveur central, le paramtre enable_notifications est xe 1. Ceci activera les noti-
cations (optionnel, mais recommand)
Les contrles de service actifs sont dsactivs sur le serveur central (optionnel, mais recommand
voir notes ci-dessous)
Les contrles de commandes externes sont activs sur le serveur central (obligatoire)
Les contrles de service passifs sont activs sur le serveur central (obligatoire)

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 ?

41.8 Problmes avec les contrles passifs

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

41.9 Le contrle de validit des donnes

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.

41.10 Contrles des htes

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

Gestion de panne et redondance pour


la supervision rseau

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

42.3 Exemples de scripts

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 Scnario 1 - Supervision Redondante

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 :

1. Soit le systme Matre faisant fonctionner Nagios ne rpond plus


2. Soit le processus Nagios sur le systme Matre arrte de fonctionner.

42.4.3 Diagramme de topologie rseau

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.

42.4.4 Rglages initiaux du programme

Le systme esclave (systme E) a son paramtre initial de notication enable_notifications ds-


activ, an de lui viter denvoyer des notications autant pour les htes que pour les services. Il faut
aussi sassurer que le systme esclave a son paramtre check_external_commands active. Cest
plutt simple
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
254 / 379

42.4.5 Conguration Initiale

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

La dnition du systme A (dans le chier de conguration du systme E) devrait avoir un ges-


tionnaire dvnement dni. Supposons que le nom du gestionnaire dvnement pour le systme
sappelle handle-master-host-event.
Le chier de conguration sur le systme E devrait avoir un service dni pour surveiller ltat du
processus Nagios sur le systme A. Supposons que vous ayez dni cette vrication de service
pour lancer le plugin check_nagios sur le systme A.
La dnition du service pour la surveillance du processus Nagios sur le systme A devrait tre un
gestionnaire dvnement. Supposons que ce service gestionnaire dvnement soit handle-mast-
er-proc-event.

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

42.4.6 Dnition de commandes de Gestion dEvnements

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.

42.4.7 Scripts de Gestion dEvnements

Ok, regardons quoi ressemble ce script


Gestionnaire dEvnement de systme (handle-master-host-event):
#!/bin/sh
# Only take action on hard host states
case "$2" in
HARD)
case "$1" in
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
255 / 379

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

Gestionnaire dEvnements de Service (handle-master-proc-event):


#!/bin/sh
# Only take action on hard service states
case "$2" in
HARD)
case "$1" in
CRITICAL)
# The master Nagios process is not running!
# We should now become the master host and
# take over the responsibility of monitoring
# the network, so enable notifications
/usr/local/nagios/libexec/eventhandlers/enable_notifications
;;
WARNING)
UNKNOWN)
# The master Nagios process may or may not
# be running.. We won't do anything here, but
# to be on the safe side you may decide you
# want the slave host to become the master in
# these situations
;;
OK)
# The master Nagios process running again!
# We should go back to being the slave host,
# so disable notifications
/usr/local/nagios/libexec/eventhandlers/disable_notifications
;;
esac
;;
esac
exit 0

42.4.8 Que fait ce script pour nous ?

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

Le systme matre (systme A) tombe et le gestionnaire dvnement de systme handle-master-


-host-event est excut.
Le processus Nagios sur le systme matre (systme A) sarrte de fonctionner et le gestionnaire
dvnement du service handle-master-proc-event est excut.
Ds que le processus Nagios sur le systme esclave (systme E) a la notication active, il sera ca-
pable denvoyer des notications quant aux services ou problmes systme ou encore les retours la
normale. A ce moment, le systme E a eectivement pris la responsabilit de notier les contacts des
problmes de systmes et services !
Le processus Nagios sur le systme E retourne son tat desclave quand
Le systme A revient la normale et le gestionnaire dvnement de systme handle-master-ho-
st-event est excut.
Le processus Nagios sur le systme A revient la normale et que le gestionnaire dvnement de
service handle-master-proc-event est excut.
Ds que le processus Nagios sur le systme E est dsactiv, il nenverra plus de notication concernant
les problmes lis aux services et aux systmes ou encore les retours la normale. Ds ce moment,
le systme E a pris la responsabilit de notier les contacts des problmes du processus Nagios sur
le systme A. Tout revient maintenant dans le mme tat que lorsque lon a dmarr !

42.4.9 Dlais

La redondance dans Nagios nest en rien parfaite. Un des nombreux problmes est le dlai entre le
moment o le matre tombe et que lesclave prend le relais. En voici les raisons

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

Vous pouvez minimiser ce dlai en


Sassurant que le processus Nagios sur le systme E (re)vrie un ou plusieurs services avec une
frquence leve. Ceci peut tre fait en utilisant les arguments check_interval et retry_interval
dans chaque dnition de service.
Sassurer que le nombre de re-vrications de la prsence du systme A (sur le systme E) perme-
tte une dtection des problmes lis au systme plus rapidement. Ceci peut tre fait en utilisant
largument max_check_attempts dans la dnition du systme.
Augmenter la frquence de vrication des commandes externes sur le systme E. Ceci peut tre
fait en modiant loption command_check_interval dans le chier de conguration principal.
Quand Nagios revient la normale sur le systme A, il y a aussi un dlai avant que le systme E ne
redevienne esclave. Cest du aux faits suivants

Le temps entre le retour la normale du systme A la fois suivante o le processus Nagios sur le
systme E dtecte le retour la normale.
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

42.4.10 Cas spciaux

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 Supervision en mode haute disponibilit

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

42.5.3 Rglages initiaux du programme

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.

42.5.4 Vrication du processus principal

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.

42.5.5 Cas Supplmentaires

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

Dtection et gestion de l'oscillation


d'tat

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.

43.2 Comment la dtection d'oscillation fonctionne-t-elle ?

Avant d'aller plus loin, permettez-moi de signaler qu'implmenter la dtection de l'oscillation a t


assez dicile. Comment dterminer ce que trop frquemment veut dire concernant les changements
d'tat de tel hte ou service ? La premire fois que je me suis pench sur la dtection de l'oscillation,
j'ai cherch des informations sur la faon dont on peut ou doit procder. Voyant que je n'en trouvais
pas, j'ai dcid de dnir ce qui pourrait tre une solution raisonnable. Les mthodes utilises par
Nagios pour dtecter l'oscillation de l'tat des htes et des services sont dcrites ci-dessous
Chaque fois qu'un contrle de service rsulte dans un tat hard ou un tat de rtablissement soft,
Nagios contrle si le service a commenc ou arrt d'osciller.

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

43.4 Dtection de l'oscillation pour les services

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.

43.5 Dtection de l'oscillation d'hte

La dtection de l'oscillation d'hte fonctionne de manire similaire la dtection d'oscillation de ser-


vice, avec une dirence importante : Nagios essaiera de dterminer : si un hte oscille chaque
contrle de l'tat de l'hte et chaque contrle d'un service associ cet hte.

Si un hte est contrl (activement ou passivement)


L'oscillation d'un hte sera contrle si son tat a chang depuis la dernire dtection d'oscillation
de cet hte ou si son tat n'a pas chang, mais qu'au moins x temps s'est coul depuis la dernire
dtection d'oscillation. Ce temps est gal la moyenne des intervalles de contrles de tous les
services associs avec l'hte.

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

43.6 Seuils de dtection de l'oscillation

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.

Variables spciques aux


Type d'objet Variables Globales
objets
low_host_flap_threshold low_ap_threshold
Hte
high_host_flap_threshold high_ap_threshold
low_service_flap_thresho-
ld
low_ap_threshold
Service high_service_flap_thresh-
high_ap_threshold
old

43.7 Les tats utiliss pour la dtection de l'oscillation

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.

43.8 Gestion de l'oscillation

Quand un service ou un hte commence osciller, Nagios :


1. journalise un message indiquant que le service ou l'hte oscille.
2. ajoute un commentaire non persistant l'hte ou au service indiquant qu'il oscille.
3. envoie une notication de dmarrage de l'tat d'oscillation aux contacts.
4. supprime les notications pour le service ou l'hte concern (c'est l'un des ltre de l'algorithme
de notication)
Quand un service ou un hte s'arrte d'osciller, Nagios :

1. journalise un message indiquant que le service ou l'hte n'oscille plus.


2. supprime le commentaire qui avait t ajout au service ou l'hte lorsqu'il avait commenc
osciller
3. envoie une notication de retour l'tat normal de l'hte ou du service aux contacts.
4. lve le blocage des notications sur le service ou l'hte concern (les notications restant assu-
jetties l'algorithme de notication)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
263 / 379

43.9 Activation de la dtection d'oscillation

Dans l'ordre, pour activer la dtection d'oscillation dans Nagios, il faut :

Passer le paramtre enable_flap_detection 1


Passer le paramtre flap_detection_enabled dans la dnition de votre hte ou service 1

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

Escalades des notications

44.1 Introduction

Nagios supporte l'escalade optionelle des notications envoyes aux con-


tacts pour des services ou htes. Je vais en expliquer rapidement le fonctionnement, bien que cela se
comprenne facilement L'escalade pour les notications d'htes et de services est possible par la
cration de dnition d'escalations d'htes et de d'escalations de services dans votre Object Congu-
ration Overview .

Note
Les exemples que je fournis ci-dessous utilisent tous les dnitions d'escalades, mais les escalades
d'htes fonctionnent sous le mme principe. Except, bien sr, qu'il faut remplacer services par
hosts.

44.2 Quand y a-t-il escalade des notications ?

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.

44.3 Contact Groups

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.

44.4 Recoupement des portes des escalades

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
}

Dans l'exemple ci-dessus:


Les groupes de contact nt-admins et managers reoivent la troisime notication
Les trois groupes de contact reoivent les quatrime et cinquime notications
Seul le groupe de contact on-call-support reoit les notications partir de la sixime notication

44.5 Notications de reprise d'activit

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

44.6 Intervalles de notication

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 l'exemple ci-dessus, il y aurait au maximum 4 notications de problme envoyes propos du


service. Ceci est d au fait que l'intervalle de notication de 0 dans la seconde dnition d'escalade
indique qu'une seule notication doit tre mise ( partir de et en incluant la 4me notication) et
que toutes les notications suivantes doivent tre supprimes. A cause de cela, la troisime dnition
d'escalade du service est sans eet, car il n'y aura jamais plus de quatre notications.

44.7 Restrictions de priode de temps

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

44.8 Restrictions d'tat

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

Les astreintes la demande

45.1 Introduction

Les Administrateurs peuvent souvent tre drangs au


tlphone, les appels de tlphone cellulaire, etc. n'importe quel moment. Personne n'aime tre
rveill 4h00 pour xer un problme. Mais c'est souvent mieux pour rgler le problme dans le milieu
de la nuit, plutt que de voir le visage en colre du patron malheureux quand vous vous promenez
9h le matin suivant.
Pour ces administrateurs chanceux qui peuvent se partager la responsabilit de rpondre aux alertes,
les astreintes la demande est souvent le choix judicieux. Plusieurs administrateurs vont alternative-
ment grer les notications les week-end, les nuits, les vacances, etc.
Nous allons vous montrer comment crer des dnitions de priode de temps pour vous faciliter le plus
possible la rotation de l'astreinte. Ces dnitions ne pourront pas remplacer une intervention humaine
(un administrateur appel est malade, un changement de dernire minute, un lancer de tlphone
dans la rivire), mais ceci permettra d'avoir une installation concordant avec le fonctionnement de
votre planning d'entreprise.

45.2 Scnario 1 : Les vacances et les week-ends

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

2008-03-23 00:00-24:00 ; Easter (2008)


2009-04-12 00:00-24:00 ; Easter (2009)
monday -1 may 00:00-24:00 ; Memorial Day (Last Monday in May)
july 4 00:00-24:00 ; Independence Day
monday 1 september 00:00-24:00 ; Labor Day (1st Monday in September)
thursday 4 november 00:00-24:00 ; Thanksgiving (4th Thursday in November)
december 25 00:00-24:00 ; Christmas
december 31 17:00-24:00 ; New Year's Eve (5pm onwards)
}

Ensuite, dnissons les priodes d'astreinte de John incluant les jours et les nuits de la semaine tout
en excluant les dates qu'il aura dnit pour ces vacances :
define timeperiod {
timeperiod_name 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
}

45.3 Scnario 2 : Jours alterns :

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
}

45.4 Scnario 3 : Semaines alternes

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

2007-08-07 / 14 00:00-24:00 ; Every other Tuesday starting August 7th, 2007


2007-08-08 / 14 00:00-24:00 ; Every other Wednesday starting August 8th, 2007
2007-08-09 / 14 00:00-24:00 ; Every other Thursday starting August 9th, 2007
2007-08-10 / 14 00:00-24:00 ; Every other Friday starting August 10th, 2007
2007-08-11 / 14 00:00-24:00 ; Every other Saturday starting August 11th, 2007
}

Maintenant, vous avez besoin de renseigner ces priodes de temps dans la dnition des contacts
John et Bob :
define contact {
contact_name 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
}

45.5 Scnario 4 : Les jours de vacances

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
}

45.6 Autres scnarios

Il y a une multitude de scnario de priode d'astreintes possible. Le paramtre d'exception de date


dans la dnition de priode de temps est capable de tout et n'importe quelle priode, format de date
dont vous avez besoin. Si vous faites une erreur en crant vos priode de temps, elle sera bnque
pour quelqu'un et moins pour une autre. :-)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
275 / 379

Chapitre 46

Supervision de clusters d'htes et de


services

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.

46.2 Plan d'attaque

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 :

La supervision de chacun des lments du cluster


La supervision du cluster comme une entit globale

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.

46.3 Utilisation du plugin check_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/.

46.4 Supervision de clusters de services

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.

46.5 Supervision de clusters d'htes

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

Dpendances d'htes et de services

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.

47.2 Aperu des dpendances de services

Il y a quelques points qu'il faut savoir concernant la dpendances de services :

1. Un service peut tre dpendant d'un ou plusieurs autres services


2. Un service peut tre dpendant de services qui ne sont pas associs au mme hte
3. Les dpendances de services ne se sont pas hrites ( moins que ce ne soit explicitement sp-
ci)
4. Les dpendances de services permettent de supprimer l'excution de services et de notications
de service selon dirents critres (tats OK, WARNING, UNKNOWN, et/ou CRITICAL)
5. Les dpendances d'un service ne sont seulement valables durant la priode de temps spcie

47.3 Dnition de dpendances 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.

47.4 Exemple de dpendances de services

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
}

47.5 Comment les dpendances d'un service sont testes

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 :

1. Nagios rcupre l'tat courant* du service dont il dpend.


2. Nagios compare l'tat courant du service dont il dpend aux options d'chec soit d'excution soit
de notication dans la dnition de dpendance (selon ce qui adapt).
3. Si l'tat courant du service dont il dpend correspond une des options d'chec, la dpendance
est rpute avoir chou et Nagios sortira de la boucle de vrication des dpendances.
4. Si l'tat courant du service dont il dpend ne correspond aucune des options d'chec de la
dpendance, la dpendance est rpute avoir russi et Nagios continuera avec la prochaine
dpendance.

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

47.6 Dpendances d'excution

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

47.7 Dpendances de notication

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.

47.8 Hritage de dpendance

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

47.9 Dpendances d'htes

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.

Les bases de ce qu'il faut savoir sur les dpendances d'htes :


1. Un hte peut dpendre d'un ou pusieurs htes
2. Les dpendances d'htes ne se sont pas hrites ( moins que ce ne soit explicitement spci)
3. Les dpendances d'htes peuvent dsactiver l'xcution des vrications et notications dans
certains circonstances (tat UP, DOWN, et/ou UNREACHABLE)
4. Les dpendances d'un hte ne sont seulement valable durant la priode de temps spcie

47.10 Exemple de 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

Suivi prcis des changements d'tat

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.

48.2 Principe de fonctionnement

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.

48.3 Dois-je activer le suivi prcis ?

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.

48.4 Comment activer le suivi prcis des changements d'tat ?

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 .

48.5 Dirences entre services volatiles et suivi prcis ?

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

49.2 Les types de donnes de performance

Il existe deux catgories de base de donnes de performance qui peuvent tre obtenues partir de
Nagios :

1. Les donnes de performance relatives au contrle


2. Les donnes de performance relatives au plugin

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

49.3 Les donnes de performance relatives au plugin

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$

Dans l'exemple ci-dessus, la macro $HOSTOUTPUT$ ou $SERVICEOUTPUT$ contiendra


PING ok - Packet loss = 0%, RTA = 0.80 ms

(sans les guillemets) et la macro $HOSTPERFDATA$ ou $SERVICEPERFDATA$ contiendra


percent_packet_loss=0, rta=0.80

(sans les guillemets).


Plusieurs lignes de donnes de performance (comme pour le texte normal de sortie) peuvent tre
transmises par les plugins, comme dcrit dans la documentation sur les !! FIXME !! APIAPIs des plu-
gins .

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.

49.4 Traiter les donnes de performance

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

1. Activer l'option process_performance_data


2. Congurer Nagios pour que les donnes de performance soient crites dans des chiers et/ou
traites directement en excutant des commandes.

Lire la suite pour plus d'informations sur la faon de traiter les donnes de performance en les crivant
des des chiers ou en excutant des commandes.

49.5 Commandes pour traiter les donnes de performance

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.

49.6 crire les donnes de performances dans des chiers

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

Priode de maintenance planie

50.1 Introduction

Nagios vous permet de planier des periodes


de maintenance programme pour les htes et les services que vous monitorez. C'est pratique dans
le cas o vous allez arrter des serveurs pour une mise jour, etc.

50.2 Programmer une maintenance

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

50.3 Maintenance xe ou exible

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 !

50.4 Maintenance dclenche

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"

50.5 Comment les maintenances programmes aectent les


notications

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

50.6 Maintenances programmes qui se superposent

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

Utilisation de l'interprteur Perl in-


tgr

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

Stephen Davies a t le premier contributeur du code de l'interpteur Perl intgr il y a plusieurs


annes. Stanley Hopcroft a t la premire personne implique amliorer le code de l'interprteur
Perl intgr et a comment les avantages et inconvbients de son utilisation. Il a galement donn
plusieurs indices utiles pour crire des plugins Perl qui fonctionnent correctement avec l'interprteur
intgr.
Notez que ePN, tel qu'il est utilis dans cette documentation, fait rfrence l'interprteur Perl int-
gr Nagios [embedded Perl Nagios], ou si vous prfrez, Nagios compil avec un interprteur Perl
intgr.

51.2 Avantages

Parmi les avantages de ePN [embedded Perl Nagios] on compte :


Nagios passera beaucoup moins de temps excuter vos plugins Perl car il n'a plus besoin de crer
un sous-processus [fork] pour lancer le plugin (en chargeant chaque fois l'interprteur Perl). Il
excute maintenant votre plugin grce un appel de librairie.
Il rduit grandement l'impact sur le systme des plugins Perl et/ou vous permet de lancer plus
de contrles en plugin Perl que ce que vous seriez capables autrement. En d'autres termes, vous
tes moins tent d'crire vos plugins en d'autres langages comme C/C++, ou Expect/TCL, qui sont
gnralement considrs comme ayant un cycle de dveloppement plus long que Perl (mme s'ils
tournent a peu prs dix fois plus vite TCL tant une exception).
Si vous n'tes pas un dveloppeur C, vous pouvez quand mme faire beaucoup de choses avec Nagios
en laissant Perl faire le gros du travail, sans que Nagios ne soit trop ralenti. Ceci dit, notez que ePN
n'acclrera pas votre plugin (une fois t le temps de chargement de l'interprteur). Si vous voulez
des plugins plus rapides, alors tournez-vous vers les XSUB Perl (XS), ou C aprs vous tre assur
que votre Perl est propre et que votre algorithme est correct (l'apport de Benchmark.pm n'a pas de
prix pour comparer les performances des lments de langage Perl).
L'utilisation de ePN est un excellent moyen d'en apprendre plus sur Perl.

51.3 Inconvnients

Les inconvnients de ePN [embedded Perl Nagios] ressemblent beaucoup ceux du mod_perl d'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).

51.4 Utilisation de l'interprteur Perl intgr

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.

51.5 Compilation de Nagios avec l'interprteur Perl intgr

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.

51.6 Utilisation spcique de l'interprteur Perl par plugin

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.

51.7 Dveloppement de plugins pour tre utiliss avec Perl in-


tgr Nagios

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.

52.2 Qu'est ce qui peut tre modi ?

Les attributs de check de services suivant peuvent tre modis l'excution :

Commandes de check (et arguments de commandes)


Intervalles de check
Nombre maximal de tentative de check
Priode de contrle
Commande de gestionnaire d'vennement (et arguments de commande)

Les attributs de check d'htes suivants peuvent tre modis pendant l'excution :

Commandes de check (et arguments de commandes)


Intervalles de check
Nombre maximal de tentative de check
Priode de contrle
Commande de gestionnaire d'vennement (et arguments de commande)

Les attributs globaux suivants peuvent tre modis l'excution :


Commandes globales de gestionnaire d'vnnement d'htes (et argumments de commande)
Commandes globales de gestionnaire d'vnnement de services (et argumments de commande)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
299 / 379

52.3 Commandes externes pour le monitoring adaptif

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

Contrles prdictifs de dpendances

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.

53.2 Comment fonctionnent les contrles prdictifs ?

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.

53.3 Activation des contrles prdictifs

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 .

53.4 Contrles mis en cache

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

Mise en cache des contrles

54.1 Introduction

La performance de la supervision de Nagios peut tre amliore de


manire signicative en implmentant l'utilisation des contrles mmoriss. Les contrles mmoriss
permettent Nagios de passer l'excution d'un contrle d'hte ou de service s'il dtermine qu'un
rsultat de contrle relativement rcent a t fait plutt.

54.2 Pour seulement des contrles la demande

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 :

Quand un service associ un hte change d'tat.


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
304 / 379

Quand il est ncessaire de vrier l'accessibilit de l'hte.


Quand il est ncessaire de raliser un contrle prventif des dpendances d'hte .

Et le contrle de service sur demande se produit


Quand il est ncessaire de raliser un contrle prventif des dpendances de service .

Note
moins que vous ne protiez des dpendances de service, Nagios ne sera pas capable d'utiliser des
rsultats de contrles mmoriss an d'amliorer la performance du contrle de service. Ne vous
en inquitez pas - c'est normal. Le contrle mmoris des htes est l o il y a eu une plus grande
amlioration de performance et chacun devrait y voir un avantage.

54.3 Comment a fonctionne ?

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.

54.4 Que cela signie vraiment ?

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.

54.5 Congurations des variables

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 :

La variable cached_host_check_horizon commande le contrle mmoris d'hte.


La variable cached_service_check_horizon commande le contrle mmoris de service.

54.6 Optimisation de l'ecacit du cache.

Dans l'ordre, pour optimiser l'utilisation du cache lors des contrles, vous devez :

Planier rgulirement des contrles de vos htes


Utilisez MRTG pour grapher les statistiques des 1) contrles la demande et 2) des contrles m-
moriss
Ajuster la variable cached_host_check_horizon en fonction de vos besoins.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
306 / 379

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

Transition d'tat passif d'hte

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.

55.2 Direntes vues d'ensemble

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.

Nagios-A voit Router-D comme DOWN et Router-C comme UNREACHABLE


Nagios-B devrait voir Router-C comme DOWN et Router-D comme UNREACHABLE
Nagios-C devrait voir les deux routeurs comme tant DOWN.

Chaque instance Nagios a une vue dirente du rseau. Les serveurs de monitoring de backup ne
doivent pas accepter aveuglement les tats passifs des hotes du serveur de monitoring primaire, ou
ils auront des informations incorrectes sur l'tat actuel du rseau.
Sans la transition de checks passifs d'hte depuis le serveur de monitoring primaire (Nagios-A),
Nagios-C devrait voir Router-D comme UNREACHABLE , alors qu'il est en fait DOWN selon son point
de vue. De la mme manire les tats DOWN/UNREACHABLE ( d'un point de vue de Nagios-A) de
Router-C et Router-D devrait tre inverss d'un point de vue de Nagios-B.

Note
Il y a des situations o vous ne voulez pas que Nagios transite les tats DOWN/UNREACHABLE depuis
une source distante leurs tats corrects d'un point de vue de l'instance locale de Nagios. Par 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

55.3 Activer la transition d'tats

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

Ordonnancement du contrle des ser-


vices et des htes

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

Personnalisation de l'en-tte et du pied


de page des CGIs

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.

57.2 Comment cela fonctionne t'il ?

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.

58.2 Les bases

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

58.3 Variables locales vs Variables hrites

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.

58.4 Enchainement d'hritage

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.

58.5 Utiliser des dnitions incomplte d'objet comme gabarit

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.

58.6 Variables personnalises d'objet

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

L'hte bighost1 va hriter de la variable personnalise de l'hte _customvar1 et _snmp_community,


aussi bien que de leur valeurs respectives de la dnition du generichosttemplate. Le rsultat eectif
est une dnition pourbighost1 qui ressemble a :
define host {
host_name bighost1
address 192.168.1.3
_customvar1 somevalue
_snmp_community public
}

58.7 Annulation de l'hritage de la valeur de la chane

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
}

58.8 Hritage additif de la valeur de la chane

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
}

58.9 Hritage implicite

Normalement vous devez soit explicitement spcier la valeur de la variable dans la dnition d'un
objet, ou bien l'hriter d'un gabarit. Il existe quelques exceptions cette rgle, o Nagios assumera
que vous voulez utiliser une valeur qui vient en fait d'un objet li. Par exemple, la valeur de certaines
variables de service vont tre copies de l'hte auquel le service est associ si vous ne lui spciez
pas le contraire.
Les tableaux suivants listent les variables d'objet qui seront implicitement hrites par des objets lis,
si vous spciez pas explicitement leurs valeurs dans votre dnition d'objet ou dans son gabarit.

Object Type Variable Objet Source implicite


contact_groups dans la
contact_groups dnition d'htes associe
Services
notication_interval dans la
notication_interval dnition d'htes associe

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

58.10 Hritage Implicite/Additive dans les escalades

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

C'est un quivalent beaucoup plus simple que :


define hostescalation {
host_name linux-server
contact_groups linux-admins,management
...
}

58.11 Multiples sources d'hritage

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

#Generic host template


define host {
name generic-host
active_checks_enabled 1
check_interval 10
...
register 0
}

# Development web server template


define host {
name development-server
check_interval 15
notification_options d,u,r
...
register 0
}

# Development web server


define host {
use generic-host,development- -
server
host_name devweb1
...
}

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

58.12 Priorit avec des sources d'hritage multiples

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

Regardez la dnition d'hte


suivant qui se rfre trois
gabarits.
# Development web server
define host {
use 1, 4, 8
host_name devweb1
...
}

Si certains des gabarits hritent


eux-mme de variables/valeurs
de un ou plusieurs autre
gabarits, les rgles de priorit
sont montres droite.
Tests, essais et erreurs vous
aideront mieux comprendre
exactement comment les choses
fonctionnent dans une situation
d'hritage complexe comme
celle-ci :-)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
322 / 379

Chapitre 59

Trucs et astuces gain de temps dans


les dnitions de modles d'objets

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.

59.2 Correspondance avec des expressions rgulires

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.

59.3 Dnitions de service

59.3.1 Htes multiples

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

59.3.2 Tous les htes situs dans de multiples groupes d'htes :

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

59.3.3 Tous les htes :

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

59.3.4 Exclusion d'htes :

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

59.4 Dnitions d'escalade de service

59.4.1 Htes multiples

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

59.4.2 Tous les htes situs dans de multiples groupes d'htes :

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

59.4.3 Tous les htes :

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

59.4.4 Exclusion d'htes :

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

59.4.5 Tous les services d'un mme hte :

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

59.4.6 Services multiples du mme hte :

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

59.4.7 Tous les services de multiples groupes de services :

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

59.5 Dnitions de dpendance de service

59.5.1 Htes multiples

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

59.5.2 Tous les htes situs dans de multiples groupes d'htes :

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

59.5.3 Tous les services d'un mme hte :

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

59.5.4 Services multiples d'un mme hte :

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

59.5.5 Tous les services de multiples groupes de services :

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

59.5.6 Dpendances sur le mme hte :

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

59.6 Dnitions d'escalade d'hte

59.6.1 Htes multiples

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

59.6.2 Tous les htes situs dans de multiples groupes d'htes :

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

59.6.3 Tous les htes :

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

59.6.4 Exclusion d'htes :

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

59.7 Dnitions de dpendance d'hte

59.7.1 Htes multiples

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

59.7.2 Tous les htes situs dans de multiples groupes d'htes :

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

59.8 Groupes d'htes

59.8.1 Tous les htes :

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

Amliorations des performances et


de la scurit
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
332 / 379

Chapitre 60

Considrations sur la scurit

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

60.2 Meilleures pratiques

1. Utilisez un serveur de supervision ddi. Je vous recommande d'installer Nagios sur un


serveur ddi la supervision (et d'autres tches d'administration ventuellement). Protgez
votre serveur de supervision comme si c'tait l'un des plus importants de votre rseau. Maintenez
le nombre de services tourner le plus bas possible et protgez leurs accs avec des wrappers
TCP, des pares-feu, etc. Vu que le serveur Nagios est autoris discuter avec vos serveurs et
peut traverser des pares-feu, autoriser des accs utilisateurs sur votre serveur de supervision
peut reprsenter un risque de scurit. Gardez l'esprit qu'il est plus facile d'obtenir des priv-
ilges root au travers d'un trou de scurit quand vous avez un compte local est disponible sur
une machine.

2. Ne pas faire fonctionner Nagios en tant que root !. Il n'est pas ncessaire d'tre root pour
faire fonctionner Nagios, alors ne le fates pas. Vous pouvez obliger Nagios abandonner des
privilges aprs le lancement et fonctionner avec les droits d'un autre utilisateur/groupe en
utilisant les paramtres nagios_user et nagios_group dans le chier principal de conguration.
Si vous avez besoin d'excuter des gestionnaires d'vnements ou des plugins qui requirent des
accs root, vous pouvez essayer d'utiliser sudo.
3. Verrouillez le rpertoire des rsultats de contrle. Assurez-vous que seul l'utilisateur nagios
le droit de lecture/criture sur le rpertoire des rsultats de contrle. Si d'autres utilisateurs
que nagios (ou root) sont capables d'crire dans ce rpertoire, ils peuvent potentiellement 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.

61.2 Techniques supplmentaires

Authentication plus ardue utilisant la technologie Digest . En suivant Le guide de dmar-


rage rapide , il y a de grandes chances pour que vous utilisiez les fondamentaux d'authentication
Apache . L'authentication basique envoie en texte clair le nom d'utilisateur et le mot de passe
de connexion avec chacune des requtes http. Considrez que d'utiliser la technologie Digest pour
votre authentication s'avre plus scuris car elle s'appuie sur un principe de cryptage de cl MD5
lors du passage des requtes.
Forcer TLS/SSL pour la totalit de votre protocole Web. Apache fournit TLS/SSL par le module
mod_ssl. TLS/SSL fournit un tunnel scuris entre le client et le serveur ce qui prvient le fait
d'couter indiscrtement et de tripoter la cryptographie publickey/privatekey.
Restreindre les accs apache. Cette restriction d'accs Nagios peut tre applique sur une
adresse IP, une plage d'adresse IP ou un sous-rseaux. Si vous avez besoin d'un accs extrieur
votre rseau, vous pouvez utilisez un VPN ou des tunnels SSH
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
337 / 379

61.2.1 L'implantation de l'authentication Digest

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, diter le chier de conguration apache pour Nagios (typiquement /etc/httpd/conf.d/


nagios.conf) en utilisant l'exemple suivant.
## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthType Digest
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/.digest_pw
Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"


<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthType Digest
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/.digest_pw
Require valid-user
</Directory>
## END APACHE CONFIG SNIPPETS

Ensuite, redmarrer le service apache pour que la nouvelle conguration soit prise en compte.
#/etc/init.d/httpd restart

61.2.2 Forcer l'implmentation TLS/SSL

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>

Alias /nagios "/usr/local/nagios/share"


<Directory "/usr/local/nagios/share">
...
SSLRequireSSL
...
</Directory>
## END APACHE CONFIG SNIPPETS

Redmarrage du service Apache pour que la nouvelle conguration prenne eet.


#/etc/init.d/httpd restart

61.2.3 Implmentation de verrous de sous-rseaux IP

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>

Alias /nagios "/usr/local/nagios/share"


<Directory "/usr/local/nagios/share">
...
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>
## END APACHE CONFIG SNIPPET

61.3 Notes importantes

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

L'authentication par Digest n'est pas totalement compatible avec l'authentication de


base .
TLS/SSL a le potentiel pour les attaques man-in-the-middle . Les attaques MITM sont
vulnrables si l'attaquant est oblig de s'imisser entre le serveur et le client tout comme une attaque
par Phishing, l'ISP monitoring ou LAN un certicat de pare-feu arrivant expiration. Lire ci-dessus
la vrication des certicats !
Le contrle d'accs apache seulement le protocole HTTP/HTTPS . Veuillez vous rfrer IPtables
pour verrouiller votre systme avec des rgles de pare-feu.
Trs important, la scurit est un domaine en perptuel mouvement et demande de se
rserver du temps pour la recherche et dveloppement ! Peut-tre en vous inscrivant aux
newsletters comme Security Now ! .
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
340 / 379

Chapitre 62

Rgler Nagios pour des performances


maximales

62.1 Introduction

Vous avez nalement russi installer et lancer Nagios et souhaitez


savoir comment le rgler plus nement. Rgler Nagios pour amliorer ses performances peut tre
ncessaire quand vous commencez superviser un grand nombre (> 1000) d'htes et services. Voici
quelques trucs et astuces pour optimiser Nagios

62.2 Trucs et astuces d'optimisation :

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

4. Frquence de consolidation des rsultats de contrle. La variable check_result_reaper_frequ-


ency dtermine la frquence laquelle Nagios doit vrier la prsence de rsultats de contrles
d'htes et de services qui doivent tre traits. Le temps maximum qu'il doit passer traiter ces
rsultats est dtermin par la variable temps maximum de consolidation (voir ci-dessous). Si votre
frquence de consolidation est trop leve (pas assez frquente), vous pourriez voir apparatre
des latences importantes dans les contrles d'htes et de services.
5. Temps maximum de consolidation. La variable max_check_result_reaper_time dtermine le
temps maximum que le dmon Nagios peut passer traiter les rsultats de contrles d'htes et de
services avant de pouvoir faire autre chose - comme excuter de nouveaux contrles d'htes et de
services. Une valeur trop leve peut donner des latences importantes pour les contrles d'htes
et de services. Si vous rencontrez des problmes de latences leves, ajustez cette variable et
vriez le rsultat de vos rglages. Une nouvelle fois, vous devriez grapher les statistiques avec
MRTG pour pouvoir prendre cette dcision.
6. Ajuster la taille du tampon. Vous pouvez avoir rgler la valeur de l'option external_command_-
buffer_slots . Grapher les statistiques lies au tampon avec MRTG (voir au dessus) est critique
pour pouvoir dterminer les valeurs utiliser pour cette option.
7. Vriez la latence des services pour dterminer la meilleure valeur pour le nombre maximal
de contrles en parallle. Nagios peut restreindre le nombre maximal de contrles de service
excuts en parallle la valeur que vous spciez dans le paramtre max_concurrent_checks
. Cela vous permet de grer la charge que Nagios impose votre hte de supervision, mais cela
peut aussi ralentir le traitement. Si vous notez des latences importantes (> 10 ou 15 secondes)
pour la majorit de vos contrles de service (via le CGI d'informations complmentaires), vous
privez sans doute Nagios des contrles dont il a besoin. Ce n'est pas la faute de Nagios - c'est
la vtre. Dans des conditions idales, tous les contrles de service ont une latence de 0, ce qui
signie qu'ils sont excuts au moment prcis o ils ont t ordonnancs. Ceci dit, il est normal
que certains contrles aient de petites latences. Je recommanderais de doubler la valeur que
propose Nagios pour le nombre minimal de contrles en parallle, fournie lorsque Nagios est
lanc avec le paramtre -s. Continuez augmenter cette valeur tant que la latence moyenne
pour vos services reste assez basse. Vous trouverez plus d'informations sur l'ordonnancement
des contrles de service ici.
8. Utilisez des contrles passifs chaque fois que c'est possible. La surcharge induite par le traite-
ment des rsultats des contrles passifs de service est bien moindre que celle des contrles
actifs normaux, donc prenez cette information en compte si vous supervisez de nombreux ser-
vices. Notez que les contrles passifs de service ne sont rellement utiles que si une application
externe ralise une partie de la supervision ou produit des rapports ; si c'est Nagios qui ralise
tout le travail, ceci ne changera rien.
9. Evitez l'utilisation des plugins interprts. L'utilisation de plugins compils (C/C++, etc.) rduira
signicativement la charge de votre hte de supervision par rapport aux scripts interprts (Perl,
etc.). Si les scripts Perl ou autres sont faciles crire et fonctionnent bien, le fait qu'ils soient
compils/interprts chaque excution peut augmenter considrablement la charge de votre
hte de supervision lorsque vous avez de nombreux contrles de service. Si vous souhaitez utiliser
des plugins Perl, essayez de les compiler en vrais excutables grce perlcc(1) (un utilitaire qui
fait partie de la distribution Perl standard) ou essayez de compiler Nagios avec un interprteur
Perl intgr (voir ci-dessous).
10. Utilisez l'interprteur Perl intgr. Si vous utilisez de nombreux scripts Perl pour les contrles
de service, etc., vous vous apercevrez sans doute qu'en compilant Nagios avec un interprteur
Perl intgr vous acclrez les traitements.
11. Optimisez les commandes de contrle d'hte. Si vous contrlez l'tat des htes avec le plugin
check_ping, vous vous apercevrez que ces contrles se font bien plus vite en les clatant. Plutt
que de spcier une valeur de 1 pour le paramtre max_attempts dans la dnition de l'hte
et de dire au plugin check_ping d'envoyer 10 paquets ICMP l'hte, il est bien plus rapide de
passer max_attempts 10 et de n'envoyer qu'un paquet ICMP chaque fois. Ceci est d au fait
que Nagios peut souvent dterminer l'tat d'un hte aprs n'avoir excut le plugin qu'une fois,
il vaut donc mieux que le premier contrle soit le plus rapide possible. Cette mthode prsente
des inconvnients dans certaines situations (c.--d. que les htes lents rpondre peuvent tre
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
342 / 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

Options de dmarrage rapide

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

Lecture des chiers de conguration


Rsolution des dnitions de gabarits
Recalcul de vos objets (le terme employ par Ethan pour indiquer les direntes oprations im-
pliques est recombobulating)
Duplication des dnitions d'objets
Hritage des proprits d'objets
Classement des dnitions d'objets
Vrication de l'intgrit des relations entre objets
Contrle de rfrences circulaires
et bien plus

Certaines de ces tapes peuvent se rvler consommatrices en temps quand vous avez des 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

63.3 valuation des temps de dmarrage

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

Timing information on object configuration processing is listed


below. You can use this information to see if precaching your
object configuration would be useful.

Object Config Source: Config files (uncached)

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

Timing information on configuration verification is listed below.

CONFIG VERIFICATION TIMES (* = Potential for speedup with -x option)


----------------------------------
Object Relationships: 1.400807 sec
Circular Paths: 54.676622 sec *
Misc: 0.006924 sec
============
TOTAL: 56.084353 sec * = 54.676622 sec (97.5%) estimated savings

Ok, voyons ce qui s'est pass. En regardant les totaux, il a fallu peu prs 11,6 secondes pour calculer
les chiers de conguration et encore 56 secondes pour vrier cette conguration. Cela implique qu'
chaque fois que je vais dmarrer ou redmarrer Nagios, il va se passer presque 68 secondes avant que
Nagios ne commence superviser quoi que ce soit ! C'est inacceptable si je dois redmarrer Nagios
de faon assez rgulire.
Que puis-je faire ? Regardez de nouveau la sortie et vous verrez que Nagios estime qu'il pourrait
gagner 8,4 secondes dans le calcul de la conguration et encore 54,7 secondes pour la vrication de
celle-ci. Au total, Nagios pense qu'il pourrait gagner 63 secondes sur le temps de dmarrage normal
si quelques optimisations taient appliques.
Whoa! De 68 secondes 5 secondes ? Et oui, lisez ceci pour savoir comment faire.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
346 / 379

63.4 Mise en pr-cache des objets de conguration

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.

Quand vous excutez Nagios avec l'option -p,


Nagios va lire vos chiers de conguration, les
calculer et enregistrer le rsultat dans un
chier de pr-cache (spci par le paramtre
precached_object_file ). Ce chier de
conguration pr-cach contiendra les entres
de conguration pr-calcules et sera plus
facile/rapide traiter par Nagios dans le futur.
Vous devez utiliser l'option -p, en mme
temps que l'option -v ou -s, comme indiqu
ci-dessous. Cela permet de s'assurer que votre
conguration est vrie avant que la chier
de pr-cache ne soit cr.

# <:b>/usr/local/nagios/bin/nagios -pv / -
usr/local/nagios/etc/nagios.cfg</b>

La taille de votre chier de pr-cache sera trs


certainement suprieure la somme de la
taille de vos chiers d'objets de conguration.
C'est normal et ainsi pens.

Une fois que le chier de pr-cache a t cr,


vous pouvez dmarrer Nagios et lui indiquer
d'utiliser ce chier plutt que d'utiliser les
chiers d'objets de conguration en utilisant
l'argument -u la ligne de commande.
# <:b>/usr/local/nagios/bin/nagios -ud / -
usr/local/nagios/etc/nagios.cfg</b>

Important
Si vous avez modi vos chiers de
conguration, vous devrez revrier et
recacher vos chiers de conguration
avant de pouvoir redmarrer Nagios. Si
vous ne le fates pas, Nagios va 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

63.5 Passer outre les tests de rfrences circulaires

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.

63.6 Tout mettre ensemble

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

2. Arrtez Nagios s'il est en cours d'excution.


3. Dmarrez Nagios comme ceci de faon utiliser le chier de pr-cache et ne pas faire le
contrle des rfrences circulaires.
# /usr/local/nagios/bin/nagios -uxd /usr/local/nagios/etc/nagios.cfg

4. l'avenir, quand vous modiez vos chiers de conguration originaux et que vous avez besoin
de redmarrer Nagios pour appliquer ces modications, rptez l'tape 1 pour revrier votre
conguration et regnrer le chier de pr-cache. Une fois ceci fait, vous pouvez redmarrer
Nagios partir de l'interface web ou en envoyant un signal SIGHUP. Si vous ne regnrez pas le
chier de pr-cache, Nagios continuera utiliser votre ancienne conguration parce qu'il la lit
depuis le chier de pr-cache plutt que depuis les chiers de conguration sources.
5. Et voil ! Apprciez la vitesse accrue de dmarrage.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
348 / 379

Chapitre 64

Trucs et astuces pour les installations


de grande dimension

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

Quand vous activez l'option use_large_installation_tweaks dans votre chier de conguration


Nagios, plusieurs choses changent dans le fonctionnement du dmon Nagios :

1. Pas de macros de rsum dans les variables d'environnement - les macros de rsum ne seront
pas disponibles comme variables d'environnement. Calculer les valeurs de ces macros peut 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.

65.2 Instructions d'utilisation

Vous pouvez lancer l'utilitaire nagiostats avec l'option --help pour avoir les informations d'utilisation.

65.3 Achage intelligible

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

CURRENT STATUS DATA


------------------------------------------------------
Status File: /usr/local/nagios/var/status.dat
Status File Age: 0d 0h 0m 9s
Status File Version: 3.0prealpha-05202006

Program Running Time: 0d 5h 20m 39s


Nagios PID: 10119
Used/High/Total Command Buffers: 0 / 0 / 64
Used/High/Total Check Result Buffers: 0 / 7 / 512

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

Services Passively Checked: 1


Total Service State Change: 0.000 / 78.950 / 1.026 %
Active Service Latency: 0.000 / 4.272 / 0.561 sec
Active Service Execution Time: 0.000 / 60.007 / 2.066 sec
Active Service State Change: 0.000 / 78.950 / 1.037 %
Active Services Last 1/5/15/60 min: 4 / 68 / 91 / 91
Passive Service State Change: 0.000 / 0.000 / 0.000 %
Passive Services Last 1/5/15/60 min: 0 / 0 / 0 / 0
Services Ok/Warn/Unk/Crit: 58 / 16 / 0 / 21
Services Flapping: 1
Services In Downtime: 0

Total Hosts: 24
Hosts Checked: 24
Hosts Scheduled: 24
Hosts Actively Checked: 24
Host Passively Checked: 0
Total Host State Change: 0.000 / 9.210 / 0.384 %
Active Host Latency: 0.000 / 0.446 / 0.219 sec
Active Host Execution Time: 1.019 / 10.034 / 2.764 sec
Active Host State Change: 0.000 / 9.210 / 0.384 %
Active Hosts Last 1/5/15/60 min: 5 / 22 / 24 / 24
Passive Host State Change: 0.000 / 0.000 / 0.000 %
Passive Hosts Last 1/5/15/60 min: 0 / 0 / 0 / 0
Hosts Up/Down/Unreach: 18 / 4 / 2
Hosts Flapping: 0
Hosts In Downtime: 0

Active Host Checks Last 1/5/15 min: 9 / 52 / 164


Scheduled: 4 / 23 / 75
On-demand: 3 / 23 / 69
Cached: 2 / 6 / 20
Passive Host Checks Last 1/5/15 min: 0 / 0 / 0
Active Service Checks Last 1/5/15 min: 9 / 80 / 244
Scheduled: 9 / 80 / 244
On-demand: 0 / 0 / 0
Cached: 0 / 0 / 0
Passive Service Checks Last 1/5/15 min: 0 / 0 / 0

External Commands Last 1/5/15 min: 0 / 0 / 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.

65.4 Intgration MRTG

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

Grapher les informations de perfor-


mance avec MRTG

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 :

Assurer le bon fonctionnement de Nagios


Localiser les problmes dans le processus de supervision
Observer la performance des impacts des changements dans votre conguration de Nagios

66.2 Exemple de conguration MRTG

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.

66.3 Exemples de graphiques

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

Les contrles actifs des htes - Ce graphique


montre comment les contrles actifs d'htes
(rguliers et sur demande) ont eu lieu au cours du
temps. Utiles pour la comprhension :
Des contrles d'hte
Des contrles de prdiction de dpendance d'hte
Des contrles mis en cache

Les contrles actifs des services - Ce graphique


montre comment les contrles des services actifs
(rguliers et sur demande) ont eu lieu au cours du
temps. Utiles pour la comprhension :
Des contrles de service
Des contrles de prdiction de dpendance de
service
Des contrles mis en cache

Les contrles d'htes et de services mis en cache -


Ce graphique montre comment les contrles
d'htes et de services mis en cache ont eu lieu dans
le temps. Utiles pour la comprhension :
Des contrles mis en cache
Des contrles de prdiction de dpendance d'hte
et de service
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
354 / 379

Les contrles passifs des services - Ce graphique


montre comment les contrles des services passifs
ont eu lieu au cours du temps. Utiles pour la
comprhension :
Des contrles passifs

Les htes/services actifs contrls - Ce graphique


montre combien (d'un nombre total de) d'hte et de
services ont t contrls activement dans le
temps. Utiles pour la comprhension :
Des contrles actifs

Les htes/services passifs contrls - Ce graphique


montre combien (d'un nombre total de) d'hte et de
services ont t contrls passivement dans le
temps. Utiles pour la comprhension :
Des contrles passifs
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
355 / 379

La latence et le temps d'excution d'un contrle de


service - Ce graphique montre la latence moyenne
et le temps moyen de l'excution d'un contrle de
service dans le temps. Utiles pour la
comprhension :
Des contrles de service
De l'optimisation des performances
Une forte latence persistente peut tre l'indication
qu'une ou plusieurs des variables suivantes a/ont
besoin d'tre modie(s) :
max_concurrent_checks
check_result_reaper_frequency
max_check_result_reaper_time

Le taux moyen de changement d'tat des services -


Ce graphique montre le pourcentage moyen de
changement d'tat (une valeur de la volatilit) des
services au cours du temps, ventils par les
services qui ont t contrls en dernier activement
ou passivement. Utiles pour la comprhension :
Dtection d'oscillation

La latence et le temps d'excution d'un contrle


d'un hte - Ce graphique montre la latence
moyenne et le temps moyen de l'excution d'un
contrle d'hte dans le temps. Utiles pour la
comprhension :
Des contrles d'hte
De l'optimisation des performances
Une forte latence persistente peut tre l'indication
qu'une ou plusieurs des variables suivantes a/ont
besoin d'tre modie(s) :
max_concurrent_checks
check_result_reaper_frequency
max_check_result_reaper_time

Le taux moyen de changement d'tat des htes - Ce


graphique montre le pourcentage moyen de
changement d'tat (une valeur de la volatilit) des
htes au cours du temps, ventils par les htes qui
ont t contrls en dernier activement ou
passivement. Utiles pour la comprhension :
Flap detection
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
356 / 379

Les commandes externes - Ce graphique montre


comment les commandes externes ont t traites
par le dmon Nagios dans le temps. A moins que
vous traitiez un grand nombre de commandes
externes (comme dans le cas d'une architecture de
supervision distribue), ce graphique semble rester
vide. La supervision des commandes externes peut
tre utile pour la cromprehension des impacts de :
Des contrles passifs
La supervision distribue
Redondance/Basculement en cas de panne de la
supervision

Les tampons de Commandes Externes - Ce


graphique montre comment les emplacements
mmoire des tampon de commandes externes sont
utiliss dans le temps. Si le nombre des tampons
utiliss est proche du nombre de tampons
disponibles, il semblerait qu'il faille augmenter le
nombre d'emplacement mmoire pour les tampons
de commandes externes. Chaque emplacement
mmoire d'un tampon peut contenir une commande
externe. Les tampons sont utiliss pour garder
temporairement en mmoire les commandes
externes du moment o elles ont t lues partir
du chier de commandes externes jusqu' ce
qu'elles soient traites par le dmon Nagios.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
357 / 379

Huitime partie

Intgration avec d'autres logiciels


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
358 / 379

Chapitre 67

Vue gnrale de l'intgration

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.

67.2 Les points d'intgration


Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
359 / 379

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 :

Les contrles passifs


Les commandes externes

Pour envoyer des tats, donnes de performance ou des notications de Nagios vers des appplications
externes, regardez les documentations suivantes sur :

Le gestionnaire d'vnements
Les commandes OCSP et OCHP
Les donnes de performance
Les notications

67.3 Exemples d'intgration

J'ai document quelques exemples d'intgration de Nagios avec des applications tierces :

Intgration d'un TCP Wrapper


Intgration de UCD-SNMP (statut de job Arcserve)
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
360 / 379

Chapitre 68

Intgration des interruptions SNMP

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

Intgration d'un TCP Wrapper

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.

69.2 Dnition du Service

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

Il est important de noter que


1. le service l'option volatile active. Cette option est active parce que nous voulons qu'une
notication soit gnre pour toutes les alertes survenant.
2. Notez galement que les contrles actifs sont dsactivs pour ce service, alors que les contrles
passifs sont activs
3. Le max_check_attempts 1 signie que ce service enverra des alertes ds son premier change-
ment d'tat.

69.3 Conguration du TCP Wrapper

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.

69.4 criture du script

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

/bin/echo -e "$1\t$2\t$3\t$4\n" | /usr/local/nagios/bin/send_nsca monitor -c /usr/local/ -


nagios/etc/send_nsca.cfg

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

API pour les plugins Nagios

71.1 Autres Ressources

Si vous cherchez crire vos propres plugins pour Nagios, soyez srs d'avoir visiter ces autres
ressources :

Le site ociel Nagios plugin project


Le site ociel des grandes lignes du developpement des plugins Nagios

71.2 Vue d'ensemble du plugin

Les scripts et excutables doivent faire deux choses (au minimum) an d'tre considrs comme plu-
gins Nagios

Sortir avec une des direntes valeurs de retour possibles


Retourner au moins une ligne de texte vers le STDOUT

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.

71.3 Code de retour

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.

Code de retour du plugin Etat du service Etat de l'hte


0 OK UP
UP ou
1 WARNING
DOWN/UNREACHABLE*
2 CRITICAL DOWN/UNREACHABLE
3 UNKNOWN DOWN/UNREACHABLE
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
369 / 379

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.

71.4 Spcications pour la sortie du plugin

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.

71.5 Exemples de sorties de plugin

Voyons quelques exemples de sorties de plugin possibles


Cas 1 : Une ligne en sortie (texte seulement)
Imaginons que notre plugin ne retourne qu'une seule ligne de texte en sortie, cela ressemblerait
ceci :
DISK OK - free space: / 3326 MB (56%);

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

DISK OK - free space: / 3326 MB (56%);|/=2643MB;5948;5958;0;5968/ 15272 MB (77%);/boot 68 -


MB (69%);/home 69357 MB (27%);/var/log 819 MB (84%);|/boot=68MB;88;93;0;98/home=69357 -
MB;253404;253409;0;253414 /var/log=818MB;970;975;0;980

Si le plugin est utilis pour eectuer un contrle de service, la partie en rouge de la premire ligne du
message de sortie du plugin ( gauche du sparateur 'pipe') sera crite dans la macro $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 :

Vous pouvez choisir de ne pas retourner de donnes de performance


Vous pouvez retourner des donnes de performances seulement sur la premire ligne
Vous pouvez retourner des donnes de performance seulement sur les lignes suivantes (aprs la
premire)
Vous pouvez retourner des donnes de performance aussi bien sur la premire ligne que les suiv-
antes (comme montr si dessous)

71.6 Restriction de longueur de message de sortie de plugin

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.

71.8 Plugins Perl

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

Dveloppement de plugins pour tre


utiliss avec Perl intgr Nagios

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.

72.2 Public vis

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)

Gnrez toujours un achage


Utilisez use utils et importez ce qui en est export ($TIMEOUT %ERRORS &print_revision &sup-
port)
Jetez un il sur la faon dont sont crits les plugins Perl standards, comme par exemple :
Quittez toujours avec une valeur $ERRORS{CRITICAL}, $ERRORS{OK}, etc.
Utilisez getopt pour lire les paramtres de la ligne de commande
Grez les dpassements de dlai
Appelez print_usage (que vous fournissez) quand il n'y a pas de paramtre la commande
Utilisez des noms de paramtres standard (par exemple H 'host', V 'version')
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
372 / 379

72.4 Ce que vous devez faire quand vous crivez un plugin Perl
pour ePN

1. <DATA> ne peut pas tre utilis ; utilisez ici des documents la place, par exemple :
my $data = <<DATA;
portmapper 100000
portmap 100000
sunrpc 100000
rpcbind 100000
rstatd 100001
rstat 100001
rup 100001
..
DATA

%prognum = map { my($a, $b) = split; ($a, $b) } split(/\n/, $data) ;

2. BEGIN Les blocks ne fonctionneront pas comme vous l'attendez. Il vaut mieux les viter.
3. Assurez-vous de la parfaite propret du code la compilation, comme par exemple

utilisez use strict


utilisez perl -w (les autres paramtres (notamment T) ne sont d'aucune aide)
utilisez perl -c

4. Evitez les variables de porte lexicale (my) dclares globalement comme moyen de passer des
variable aux fonctions. En fait ceci est fatal si la fonction est appele par le plugin plus d'une fois
lorsque le contrle est excut. Ces fonctions se comportent comme des encapsulations [closures]
qui verrouillent les variables lexicales globales sur leur premire valeur lors des appels suivants
la fonction. Si toutefois votre variable globale est en lecture seule (une structure de donnes
complexe par exemple), ce n'est pas un problme. Ce que Bekman recommande en remplacement
est une des solutions suivantes :

faites une fonction anonyme et appelez-la travers une rfrence au code, par exemple :
remplacez ceci par

my $x = 1 ; my $x = 1 ;
sub a { .. Process $x } $a_cr = sub { Process $x } ;
. .
. .
a ; &$a_cr ;
$x = 2 $x = 2 ;
a ; &$a_cr ;

# les encapsulations anonymes reprennent __toujours__ la valeur lexicale courante

mettez la variable globale et la fonction qui l'utilise dans leur propre paquetage [package]
(comme objet ou module)
passez les variables aux fonctions comme rfrences ou alias (\$lex_var or $_[n])
remplacez les variables lexicales par des variables globales au paquetage et excluez les des
objections faites par 'use strict' en dclarant 'use vars qw(global1 global2 ..)'

5. Sachez o trouvez plus d'informations.


Vous pouvez obtenir des informations utiles des indices habituels (les livres O'Reilly, plus Object
Oriented Perl de Damien Conways) mais pour les bonnes rponses dans ce contexte commencez
par le guide du mod_perl de Stas Bekman sur http://perl.apache.org/guide/.
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
373 / 379

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

Ce glossaire, lexique dnit les termes utiliss dans la documentation.

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

$LASTSERVICESTATE$, 5, 177 $SERVICESTATEID$, 177


$LASTSERVICEUNKNOWN$, 180 $SERVICESTATETYPE$, 178
$LASTSERVICEWARNING$, 180 $SERVICESTATE$, 177
$LOGFILE$, 188 $SHORTDATETIME$, 187
$LONGDATETIME$, 187 $STATUSDATAFILE$, 188
$LONGHOSTOUTPUT$, 4, 9, 175 $TEMPFILE$, 188
$LONGSERVICEOUTPUT$, 4, 9, 180, 370 $TEMPPATH$, 4, 188
$MAINCONFIGFILE$, 188 $TIMET$, 187
$MAXHOSTATTEMPTS$, 5, 173 $TIME$, 187
$MAXSERVICEATTEMPTS$, 5, 178 $TOTALHOSTPROBLEMSUNHANDLED$, 184
$NEXTVALIDTIME:$, 5, 188 $TOTALHOSTPROBLEMS$, 184
$NOTIFICATIONAUTHORALIAS$, 5, 185, 190 $TOTALHOSTSDOWNUNHANDLED$, 183
$NOTIFICATIONAUTHORNAME$, 5, 185, $TOTALHOSTSDOWN$, 183
190 $TOTALHOSTSERVICESCRITICAL$, 5, 176
$NOTIFICATIONAUTHOR$, 5, 185, 190 $TOTALHOSTSERVICESOK$, 5, 176
$NOTIFICATIONCOMMENT$, 5, 186, 190 $TOTALHOSTSERVICESUNKNOWN$, 5, 176
$NOTIFICATIONISESCALATED$, 5, 185 $TOTALHOSTSERVICESWARNING$, 5, 176
$NOTIFICATIONRECIPIENTS$, 5, 185 $TOTALHOSTSERVICES$, 5, 176
$NOTIFICATIONTYPE$, 7, 175, 176, 180, $TOTALHOSTSUNREACHABLEUNHANDLED$,
181, 185, 186 183
$OBJECTCACHEFILE$, 188 $TOTALHOSTSUNREACHABLE$, 183
$PROCESSSTARTTIME$, 189 $TOTALHOSTSUP$, 183
$RESOURCEFILE$, 188 $TOTALSERVICEPROBLEMSUNHANDLED$,
$RETENTIONDATAFILE$, 188 184
$SERVICEACKAUTHORALIAS$, 11, 181 $TOTALSERVICEPROBLEMS$, 184
$SERVICEACKAUTHORNAME$, 11, 180 $TOTALSERVICESCRITICALUNHANDLED$,
$SERVICEACKAUTHOR$, 98, 180 184
$SERVICEACKCOMMENT$, 98, 181 $TOTALSERVICESCRITICAL$, 184
$SERVICEACTIONURL$, 5, 164, 181 $TOTALSERVICESOK$, 184
$SERVICEATTEMPT$, 178 $TOTALSERVICESUNKNOWNUNHANDLED$,
$SERVICECHECKCOMMAND$, 180 184
$SERVICEDESC$, 177, 181 $TOTALSERVICESUNKNOWN$, 184
$SERVICEDISPLAYNAME$, 5, 177 $TOTALSERVICESWARNINGUNHANDLED$,
$SERVICEDOWNTIME$, 179 184
$SERVICEDURATIONSEC$, 179 $TOTALSERVICESWARNING$, 184
$SERVICEDURATION$, 179 $USERn$, 66, 129, 189, 334
$SERVICEEVENTID$, 4, 11, 178 MRTG, 48, 51, 72, 305--307, 340, 342, 349, 350,
$SERVICEEXECUTIONTIME$, 179 352
$SERVICEGROUPALIAS$, 181
$SERVICEGROUPMEMBERS$, 181 N
$SERVICEGROUPNAMES$, 11, 179 Nagios, 198--202
$SERVICEGROUPNAME$, 179 NRPE, 41, 334, 366
$SERVICEGROUPNOTESURL$, 182 NSCA, 201, 247, 342, 361, 366
$SERVICEGROUPNOTES$, 182
$SERVICEISVOLATILE$, 5, 178 O
$SERVICELATENCY$, 179 openSUSE, 22, 25
$SERVICENOTESURL$, 5, 164, 181
P
$SERVICENOTES$, 5, 164, 181
Paramtres de conguration
$SERVICENOTIFICATIONID$, 4, 11, 187
retry_interval, 9
$SERVICENOTIFICATIONNUMBER$, 5, 186
Plugins
$SERVICEOUTPUT$, 98, 180, 289, 334, 369,
check_by_ssh, 41, 366
370
check_cluster, 276, 277
$SERVICEPERCENTCHANGE$, 179
check_dns, 276
$SERVICEPERFDATAFILE$, 188
check_dummy, 244, 251
$SERVICEPERFDATA$, 98, 180, 288, 289,
check_fping, 342
334, 369, 370
check_ftp, 56
$SERVICEPROBLEMID$, 5, 178
Ed. Franaise Docbook
Documentation Nagios Version
3.x Document de Travail
379 / 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

You might also like