Anda di halaman 1dari 406

Documentation Nagios Version 3.

Ed. Franaise Docbook Document de Travail i

Documentation Nagios Version 3.x

Ed. Franaise Docbook

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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, servicemarks, registered trademarks, and registered servicemarks mentioned herein may be the property of their respective owner(s). The information contained herein is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Nagios is licensed under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify Nagios under certain conditions. Read the 'LICENSE' le in the Nagios distribution or read the online version of the license for more details. Nagios is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 HTML vers Docbook et relecture version 3.x

Sbastien Guilbaud

6 mars 2011

Transformation HTML vers Docbook, traduction et relecture version 3.x

Olivier Jan

6 mars 2011

Traduction version 3.x

Romuald Fronteau

6 mars 2011

Traduction et relecture version 3.x

Guillaume Halbitte

6 mars 2011

Traduction version 3.x

David Gunault

6 mars 2011

Traduction version 3.x

Dimitri Druelle

6 mars 2011

Relecture version 3.x

Sylvain Faure

6 mars 2011

Relecture version 3.x

Pascal Martin

6 mars 2011

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail iv

SUIVI DU DOCUMENT INDICE 3 DATE 2009-10-05 MODIFICATIONS Premire version beta franaise docbook Premire version beta docbook NOM oj, rf, gh, dg, dd

2008-11-28

sg, oj

2008-11-13

Premire version

eg

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail v

Table des matires

propos

1
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 3 3 4 4 4 4 4 5 6 6 6 6 7 7 7 7 7 8 8 9 9 9

1 propos de Nagios 1.1 1.2 1.3 1.4 1.5 1.6 Qu'est-ce que c'est ?

Pr-requis au niveau du systme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Remerciements

Tlchargement de la dernire version Support

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Quoi de neuf dans Nagios 3 2.1 Historique des changements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Modications et nouvelles fonctionnalits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.2 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Priode de maintenance planie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 tat de conservation des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.6 Dtection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.7 Commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.8 Donnes d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.9 Perl intgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.10Supervision adaptative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.11Notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.12Dnitions d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.13Hritage d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.14Amliorations des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.15Message retour d'un plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.16Contrles de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.17Contrles d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail vi

2.2.18Contrles de la fracheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.19IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.20Priodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.21Module de courtage d'vnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.22Interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.23Information de dbogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.24Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Problmes connus 3.1 Problmes connus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 10 10 10 10 11 11 13 13

II

Dmarrage

14
15 16 16 16 17 17 17 18 18 18 19 19 19 19 20 20 20 21 22 22 22 23 23 23 24

4 Conseils aux dbutants 5 Guides d'installation rapide 5.1 Guides d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Modications post installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Guide de dmarrage rapide Fedora 6.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.7 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10Modiez les rglages SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.12Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13Termin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Guide de dmarrage rapide openSUSE 7.1 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.2 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.6 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail vii

7.7 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.9 Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24 24 24 25 26 26 26 27 27 27 28 28 28 29 29 29 30 30 31 31 33 33 33 34 34 34 35 36 38 39 40 40 40 42 42

7.10Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Guide de dmarrage rapide Ubuntu 8.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.3 Crez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Tlchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 Personnalisation de la conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.7 Conguration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 8.9 Dmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.10Connexion l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8.11Autres Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Mise jour de Nagios 9.1 Mise jour depuis une version 3.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Mise jour depuis une version 2.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Mise jour depuis une installation par RPM 10 Supervision des machines Windows 10.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6Installation de l'agent Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.8Protection par mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.9Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Supervision des machines Linux/Unix 11.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Supervision des serveurs Netware 12.1Ressources externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail viii

13 Supervision des imprimantes rseaux 13.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.7Redmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Supervision des routeurs et des switchs. 14.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4Ce qui est dj fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6Conguration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.7Supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.8Supervision des paquets perdus et de la RTA . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.9Supervision de l'information d'tat SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10 upervision de la bande passante/trac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 14.11 edmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R 15 Supervision des services publiquement disponibles 15.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2Plugins pour la supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3Cration d'une dnition d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4Cration d'une dnition de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5Supervision HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6Supervision FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.7Supervision SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8Supervision SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9Supervision POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.10 upervision IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 15.11 edmarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R

43 43 44 44 44 44 45 46 47 47 48 48 48 49 49 49 50 50 51 52 53 53 54 54 54 55 56 56 57 57 58 59

III

Congurer Nagios

60
61 61 61 62 62 63

16 Survol de la conguration 16.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2Fichier de conguration principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3Fichier de conguration des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4Fichier de dnition des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.5Fichier de conguration des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail ix

17 Options du chier de conguration principal 17.1Conguration d'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2Emplacement du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3Variables du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.1 log_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.2 cfg_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.3 cfg_dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.4 object_cache_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.5 precached_object_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.6 resource_le 17.3.7 temp_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64 64 64 64 64 65 65 65 66 66 66 66 67 67 67 67 67 68 68 69 69 70 71 71 71 71 72 72 72 73 73 73 73 74 74 74 75 75 75

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.8 temp_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.9 status_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.10 status_update_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.11 nagios_user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.12 nagios_group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.13 enable_notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.14 execute_service_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.15 accept_passive_service_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.16 execute_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.17 accept_passive_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.18 enable_event_handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.19 log_rotation_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.20 log_archive_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.21 check_external_commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.22 command_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.23 command_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.24 external_command_buer_slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.25 lock_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.26 retain_state_information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.27 state_retention_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.28 retention_update_interval

17.3.29 use_retained_program_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.30 use_retained_scheduling_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.31 Masques d'attribut conserv pour hte et service . . . . . . . . . . . . . . . . . . . . 17.3.32 Masque d'attributs conservs du processus . . . . . . . . . . . . . . . . . . . . . . .

17.3.33 Masques d'attribut conserv de contact . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.34 use_syslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.35 log_notications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail x

17.3.36 log_service_retries 17.3.37 log_host_retries

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76 76 76 77 77 77 78 78 78 78 79 79 79 80 80 80 81 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 85 86 86 86 87 87 87

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.38 log_event_handlers

17.3.39 log_initial_states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.40 log_external_commands 17.3.41 log_passive_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.42 global_host_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.43 global_service_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.44 sleep_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.45 service_inter_check_delay_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.46 max_service_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.47 service_interleave_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.48 max_concurrent_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.49 check_result_reaper_frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.50 max_check_result_reaper_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.51 check_result_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.52 max_check_result_le_age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.53 host_inter_check_delay_method 17.3.54 max_host_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.55 interval_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.56 auto_reschedule_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.57 auto_rescheduling_interval 17.3.58 auto_rescheduling_window

17.3.59 use_aggressive_host_checking 17.3.60 translate_passive_host_checks

17.3.61 passive_host_checks_are_soft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.62 enable_predictive_host_dependency_checks . . . . . . . . . . . . . . . . . . . . . . . 17.3.63 enable_predictive_service_dependency_checks . . . . . . . . . . . . . . . . . . . . .

17.3.64 cached_host_check_horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.65 cached_service_check_horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.66 use_large_installation_tweaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.67 free_child_process_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.68 child_processes_fork_twice 17.3.69 enable_environment_macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.70 enable_ap_detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.71 low_service_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.72 high_service_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.73 low_host_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.74 high_host_ap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xi

17.3.75 soft_state_dependencies 17.3.76 service_check_timeout

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87 88 88 88 88 89 89 89 90 90 90 90 91 91 91 92 92 92 92 93 93 93 93 94 94 94 94 95 95 95 96 96 96 96 96 97 97 97 98

17.3.77 host_check_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.78 event_handler_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.79 notication_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.80 ocsp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.81 ochp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.82 perfdata_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.83 obsess_over_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.84 ocsp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.85 obsess_over_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.86 ochp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.87 process_performance_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.88 host_perfdata_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.89 service_perfdata_command 17.3.90 host_perfdata_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.91 service_perfdata_le

17.3.92 host_perfdata_le_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.93 service_perfdata_le_template 17.3.94 host_perfdata_le_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.95 service_perfdata_le_mode

17.3.96 host_perfdata_le_processing_interval

17.3.97 service_perfdata_le_processing_interval . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.98 host_perfdata_le_processing_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.99 service_perfdata_le_processing_command

17.3.100 check_for_orphaned_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.101 check_for_orphaned_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.102 check_service_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.103 service_freshness_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.104 check_host_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.105 host_freshness_check_interval 17.3.106 additional_freshness_latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.107 enable_embedded_perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.108 use_embedded_perl_implicitly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.109 date_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.110 use_timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.111 illegal_object_name_chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.112 illegal_macro_output_chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17.3.113 use_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xii

17.3.114 use_true_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.115 admin_email 17.3.116 admin_pager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98 98 99 99 99

17.3.117 event_broker_options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.118 broker_module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.10 Dnition d'escalade de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

19.4.10.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 D 19.4.10.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 F 19.4.10.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 E

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xiv

19.4.10.4 escription des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 D 19.4.11 Dnitions de dpendance d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

19.4.11.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 D 19.4.11.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 F 19.4.11.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 E 19.4.11.4 escription des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 D 19.4.12 Dnition d'escalade d'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 19.4.12.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 D 19.4.12.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 F 19.4.12.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 E 19.4.12.4 escription des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 D 19.4.13 Dnition des informations tendues d'htes . . . . . . . . . . . . . . . . . . . . . . 137

19.4.13.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 D 19.4.13.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 F 19.4.13.3 xemple de dnition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 E 19.4.13.4 escriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 D 19.4.14 Dnition des informations tendues de services . . . . . . . . . . . . . . . . . . . . 139 19.4.14.1 escription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 D 19.4.14.2ormat de la dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 F 19.4.14.3 xemple de dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 E 19.4.14.4 escriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 D 20 Variables personnalises d'objet 142

20.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 20.2Principes de base des variables personnalises . . . . . . . . . . . . . . . . . . . . . . . . . . 142 20.3Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 20.4Les variables personnalises comme macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 20.5Variables personnalises et hritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 21 Options du chier de conguration des CGIs 144

21.1Exemple de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 21.2Emplacement du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 21.3Variables du chier de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 21.3.1 Emplacement du chier de conguration principal . . . . . . . . . . . . . . . . . . . 145 21.3.2 Chemin d'accs physique aux chiers HTML . . . . . . . . . . . . . . . . . . . . . . . 145 21.3.3 URL d'accs aux pages HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

21.3.4 Utilisation de l'authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 21.3.5 Nom d'utilisateur par dfaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

21.3.6 Accs aux informations sur le systme et le processus . . . . . . . . . . . . . . . . . 146

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xv

21.3.7 Accs aux commandes du systme/processus 21.3.8 Accs aux informations de conguration

. . . . . . . . . . . . . . . . . . . . . . 146

. . . . . . . . . . . . . . . . . . . . . . . . . 146 . . . . . . . . . . . . . . . . . . . . . . . 147

21.3.9 Accs global aux informations sur les htes

21.3.10 Accs global aux commandes des htes . . . . . . . . . . . . . . . . . . . . . . . . . . 147 21.3.11 Accs global aux informations sur les services . . . . . . . . . . . . . . . . . . . . . . 147 21.3.12 Accs global aux commandes des services . . . . . . . . . . . . . . . . . . . . . . . . 147 21.3.13 Vrouillage des noms d'auteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

21.3.14 Image de fond du CGICGI de cartographie des tats (Statusmap) . . . . . . . . . . 148 21.3.15 Dessin de la cartographie des tats : valeur par dfaut . . . . . . . . . . . . . . . . 148 . . . . . . . . . . . . . . 149

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

21.3.17 Dessin du monde des tats : valeur par dfaut . . . . . . . . . . . . . . . . . . . . . . 149 21.3.18 Frquence de rafrachissement des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . 149 21.3.19 Alertes sonores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 21.3.20 Syntaxe Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

21.3.21 Option d'chappement des balises HTML . . . . . . . . . . . . . . . . . . . . . . . . . 150 21.3.22 URL cible des notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 21.3.23 URL cible d'action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 21.3.24 Option d'intgration Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 21.3.25 URL Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 22 Authentication et autorisations dans les CGIs 152

22.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 . . . . . . . . . . . . . . . . . . . . . . . . 154

22.8 Authentication sur des serveurs web scuriss

IV

Dmarrage de Nagios

156
157

23 Vrication de votre conguration

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xvi

Les bases

160
161

25 Les Plugins Nagios

25.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 25.2Que sont les plugins ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 25.3Les plugins comme une couche intermdiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 25.4Quels plugins existe-il? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

25.5Obtenir des plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 25.6Comment utiliser le plugin x ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 25.7 Plugin API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 26 Utilisation des macros dans les commandes 164

26.1Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 26.2Substitution des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 26.3Exemple 1 : La macro d'adresse de l'hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 26.4Exemple 2 : Les commandes d'Argument de macros . . . . . . . . . . . . . . . . . . . . . . 165

26.5Macro la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 26.6Les groupes de macros la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 26.7Les macros de variable personnalise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

26.8Nettoyage des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 26.9Macros et variables d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 26.10 alidit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 V 27 Macros standards dans Nagios 169

27.1Validit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 27.2Tableau de disponibilit des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 27.3Description des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 27.4Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 28 Les contrles d'htes 191

28.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 28.2Quand sont eectus les contrles d'htes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 28.3Les contrles d'htes mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 28.4Les contrles et les dpendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 28.5Paralllisation des contrles d'htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

28.6Les tats d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 28.7Dtermmination de l'tat d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 28.8Changements d'tats d'un hte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 206

33 Les priodes de temps

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 essources utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 R 36 Informations sur les CGIs 221

36.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 36.2 CGI d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 36.3 CGI de cartographie des tats 36.4 CGI d'interface WAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

36.5 CGI du monde des tats (VRML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 36.6 CGI d'aperu tactique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

36.7 CGI d'indisponibilit du rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 36.8 CGI de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

36.9 CGI de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 36.10 CGI d'informations complmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

36.11 CGI du chier journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 36.12 CGI d'historique d'alerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 36.13 CGI des notications 36.14 CGI de tendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

36.15 CGI de rapport de disponibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 36.16 CGI d'histogramme des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 36.17 CGI du rcapitulatif des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xix

VI

Thmes avancs

231
232

37 Commandes externes

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

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 245

41 Supervision distribue

41.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 41.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 41.3Diagramme de rfrence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 41.4Serveur central ou serveurs distribus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 41.5Obtention des informations de contrle de service partir de serveurs distribus 41.6Conguration des serveurs distribus . . . . 247

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ontrles des htes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 C 42 Gestion de panne et redondance pour la supervision rseau 252

42.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 42.2Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 42.3Exemples de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 42.4 Scnario 1 - Supervision Redondante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

42.4.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.3Diagramme de topologie rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.4Rglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 42.4.5Conguration Initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 42.4.6Dnition de commandes de Gestion dEvnements . . . . . . . . . . . . . . . . . . . 254 42.4.7Scripts de Gestion dEvnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 42.4.8Que fait ce script pour nous ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 42.4.9Dlais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 42.4.10 as spciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 C 42.5 Supervision en mode haute disponibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

42.5.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.3Rglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.4Vrication du processus principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 42.5.5Cas Supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 43 Dtection et gestion de l'oscillation d'tat 259

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 270

45 Les astreintes la demande

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

46 Supervision de clusters d'htes et de services

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

47 Dpendances d'htes et de services

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

48.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 48.2Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 48.3Dois-je activer le suivi prcis ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 48.4Comment activer le suivi prcis des changements d'tat ? . . . . . . . . . . . . . . . . . . . 287 48.5Dirences entre services volatiles et suivi prcis ? . . . . . . . . . . . . . . . . . . . . . . . 287 48.6Inconvnients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 51.2Avantages 294

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

52.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 52.2Qu'est ce qui peut tre modi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 52.3Commandes externes pour le monitoring adaptif . . . . . . . . . . . . . . . . . . . . . . . . . 299 53 Contrles prdictifs de dpendances 300

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

54.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 54.2Pour seulement des contrles la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 54.3Comment a fonctionne ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 54.4Que cela signie vraiment ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 54.5Congurations des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 54.6Optimisation de l'ecacit du cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.10 Hritage Implicite/Additive dans les escalades 58.11 Multiples sources d'hritage . . . . . . . . . . . . . . . . . . . . . . . . . 319

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

58.12 riorit avec des sources d'hritage multiples . . . . . . . . . . . . . . . . . . . . . . . . . . 320 P 59 Trucs et astuces gain de temps dans les dnitions de modles d'objets 322

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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
332

60 Considrations sur la scurit 60.1 Introduction

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 336

60.2 Meilleures pratiques

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

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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
358

67 Vue gnrale de l'intgration

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

68 Intgration des interruptions SNMP

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xxvi

IX

Complments Nagios

364
365

70 Addons Nagios

70.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 70.2 NRPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

70.3 NSCANSCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 70.4 NDOUtils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

Dveloppement

367
368

71 API pour les plugins Nagios

71.1Autres Ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 71.2Vue d'ensemble du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 71.3Code de retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368

71.4Spcications pour la sortie du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 71.5Exemples de sorties de plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 71.6Restriction de longueur de message de sortie de plugin . . . . . . . . . . . . . . . . . . . . 370

71.7Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 71.8Plugins Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 72 Dveloppement de plugins pour tre utiliss avec Perl intgr Nagios 371

72.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 72.2Public vis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 72.3Les choses que vous devriez faire quand vous dveloppez un plugin Perl (ePN ou pas) . 371

72.4Ce que vous devez faire quand vous crivez un plugin Perl pour ePN . . . . . . . . . . . . 372 73 Glossaire 74 Index 375 377

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail xxvii

Liste des exemples


26.1Macro 26.2Macro 26.3Macro 26.4Macro 26.5Macro 26.6Macro 26.7Macro la la la la la la la demande demande demande demande demande demande demande d'hte . . . . . . . . . . . . . . . . de service . . . . . . . . . . . . . de service, sans le champ d'hte de contact . . . . . . . . . . . . . de groupe de contacts . . . . . . de groupe d'htes . . . . . . . . . de groupe de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 166 166 166 166 166 166

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 1 / 379

Premire partie

propos

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 systmes unix. Parmi ses fonctionallits, Nagios inclut : La surveillance des services rseaux (SMTP, POP3, HTTP, NTP, PING, etc.) La surveillance des ressources des htes (charge processeur, utilisation des disques, etc.) Un systme simple de plugins permettant aux utilisateurs de dvelopper facilement leurs propres vrications de services Des contrles parallles des services La possibilit de dnir la hirarchie du rseau en utilisant des htes parents, ce qui permet la dtection et la distinction entre htes l'arrt et htes injoignables. Des notications des contacts quand un hte ou un service a un problme et quand celui-ci est rsolu (via email, pager, sms, ou par tout autre mthode dnie par l'utilisateur) La capacit dnir des gestionnaires d'vnements permettant une rsolution proactive des problmes. La rotation automatique des chiers journaux Le support pour mettre en uvre des serveurs de supervision redondants Une interface web optionnelle permettant de voir l'tat courant du rseau, l'historique des notications et problmes, le chier journal, etc.

1.2

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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 publie par la Free Software Foundation . Cela vous donne la permission lgale de copier, distribuer et/ou de modier Nagios sous certaines conditions. Veuillez vous reporter au chier 'LICENSE' de la distribution Nagios ou la version en ligne pour plus de dtails. Nagios est fourni TEL QUE sans AUCUNE GARANTIE D'AUCUNE SORTE, sans mme une garantie implicite de COMMERCIABILITE ou DE CONFORMITE A UNE UTILISATION PARTICULIERE.

1.4

Remerciements

De nombreuses personnes ont contribues Nagios, soit en signalant des bugs, soit en suggrant des amliorations, soit en crivant des plugins, etc. Une liste de quelques-uns des nombreux contributeurs au dveloppement de Nagios se trouve sur http://www.nagios.org/.

1.5

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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$

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 $SERVICEACTIONURL$. Les macros sont normalement disponibles comme variables d'environnement quand les contrles, gestionnaires d'vnements, notications et autres commandes sont excutes. Ceci est plutt consommateur de ressources CPU. Dans les installations o Nagios gre un nombre important d'htes et de services, vous devrez alors dsactiver cette fonctionnalit l'aide de l'option enable_environment_macros . Des informations sur les macros peuvent tre trouves ici.

2.2.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 conguration principal). Les informations concernant les arrts programms courants et retenus sont maintenant stockes respectivement dans les chiers status le et retention le .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 6 / 379

2.2.4 Commentaires
Les commentaires de services et d'htes ne sont plus stocks dans leur propre chier (prcdemment spci l'aide d'un paramtre comment_file dans le chier de conguration principal). Les commentaires courant et retenus sont maintenant stocks respectivement dans le chier statut et le chier de rtention. Les commentaires d'acquittement qui sont marqus comme non persistents sont maintenant supprims quand l'acquittement est fait. Ils taient prcdemment automatiquement supprims au redmarrage de nagios, ce qui n'tait pas idal.

2.2.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 redmarrages 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'oscillation 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 externes 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 commandes 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 antrieures la version 2.x avaient cette option dsactive par dfaut.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 7 / 379

2.2.8 Donnes d'tat


Les informations d'tat de contact (Horaire de dernires notication, notication actives/dsactives, 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 fonctionnent 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 $NOTIFICATIONTYPE$ sera positionne sur FLAPPINGDISABLED. Les notications peuvent maintenant tre envoyes lors de l'entre/sortie dans une priode de maintenance planie et tre annules pour les htes et services. La macro $NOTIFICATIONTYPE$ sera positionne respectivement sur DOWNTIMESTART, DOWNTIMEEND, ou DOWNTIMECANCELLED. Pour recevoir des notications sur les vnements de maintenance planie, prcisez s ou downtime dans les options de notications de contact, d'hte et/ou de service. Vous pouvez trouver plus d'informations sur les notications au chapitre les concernant (Notications )

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.

Documentation Nagios Version 3.x

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

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 grandement 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'objets (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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 services. Hourra ! L'API a t mise jour pour supporter plusieurs lignes tout en conservant une compatibilit antrieure avec les plugins plus anciens. Les lignes supplmentaires de message (aprs la premire ligne) sont maintenant stockes dans les nouvelles macros $LONGHOSTOUTPUT$ et $LONGSERVICEOUTPUT$. 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 maximale 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 cidessous). 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 Nagios 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 signicativement 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 installations comprenant de nombreux htes et services. Les rsultats de contrles sont maintenant transfrs en crivant dans le dossier prcis par l'option check_result_path . Les chiers plus vieux que l'option max_check_result_file_age seront dtruits dnitivement et sans aucun traitement supplmentaire.

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 peuttre 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 changements d'tats d'htes et services. Les IDs uniques sont rendus accessibles par l'usage des macros suivantes : $HOSTNOTIFICATIONID$ $SERVICENOTIFICATIONID$ $HOSTEVENTID$ $SERVICEEVENTID$ $LASTHOSTEVENTID$ $LASTSERVICEEVENTID$. Nouvelles macros - Quelques autres nouvelles macros ont t ajoutes. Ceci inclut $HOSTGROUPNAMES$ $SERVICEGROUPNAMES$ $HOSTACKAUTHORNAME$ $HOSTACKAUTHORALIAS$ $SERVICEACKAUTHORNAME$ $SERVICEACKAUTHORALIAS$ Frquence de reaper - L'ancienne variable service_reaper_frequency a t renomme en check_result_reaper_frequency puisqu'elle est dsormais galement utilise pour traiter les rsultats de contrles d'htes. Temps maximal de reaper - Une nouvelle variable max_check_result_reaper_time a t ajoute pour limiter le temps d'excution d'un vnement reaper.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'exclamation ( !) dans vos arguments de commandes en le faisant prcder d'un backslash (\). Les backslashs doivent tre galement tre prcds d'un backslash si vous avez besoin d'en utiliser dans vos arguments de commandes Sortie de commandes systme multi-lignes - Nagios va maintenant lire plusieurs lignes de sortie pour les commandes systme qu'il excute (scripts de notication, etc.) ; et ce jusqu' 4KiB. C'est la mme limite que le message retour de plugin mentionn plus tt. Les sorties de commandes systme ne sont pas directement traites par Nagios, mais le support en est assur. Meilleure information de planication - Des informations plus prcises sont donnes quand Nagios est excut avec le -s argument de ligne de commande. Cette information peut tre utilise pour rduire le temps de (re)dmarrage de Nagios. Mises jour agrges du chier d'tat - L'ancienne option aggregate_status_updates a t enleve. Toutes les mises jour du chier de statut sont maintenant agrges un intervalle minimum de 1 seconde. Nouveau mode de chier de donnes de performance -Une nouvelle option p a t ajoute aux options host_perfdata_file_mode et service_perfdata_file_mode . Ce nouveau mode ouvre un chier en lecture/criture non exclusive, ce qui est utile pour les chiers tubes. Dcalage de fuseau horaire - Une nouvelle option, use_timezone , a t ajoute an de vous permettre de dmarrer des instances de nagios situes dans des fuseaux horaires autres que le fuseau local.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'ordonnancement qui survient quand vous souhaitez utiliser des priodes de temps conjoitement des paramtres d'exclusion. Il survient quand Nagios Core essaye de rordonnancer le prochain contrle. Dans ce cas, la logique d'ordonnancement est peut ordonnancer de faon incorrecte le prochain contrle en le positionnant beaucoup plus loin dans le futur qu'il ne devrait l'tre. Dans les faits, il court-circuite la logique d'exclusion ; alors qu'il devrait pouvoir placer le contrle plus tt en utilisant les exceptions. Solution de contournement imparfaite : N'utilisez pas de priodes de temps qui excluent d'autres priodes de temps pour vos plages de contrle des htes/services. Un correctif est en cours prparation, et sera certainement inclus dans la version 3.4.x.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 14 / 379

Deuxime partie

Dmarrage

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 demander 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/.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.) , ,

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 fonctionneront 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 yum yum yum install install install install httpd gcc glibc glibc-common gd gd-devel

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 versions de Nagios et des plugins Nagios taient respectivement la 3.0.3 et la 1.4.11.
# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz # wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -1.4.11.tar.gz

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 make make make install install-init install-config install-commandmode

Ne dmarrez pas Nagios maintenant - Il reste quelques manipulations faire

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 adapte, 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 supervisez 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 documentation. Mme si Nagios est dj congur pour envoyer des notications par courrier lectronique, 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 systme pour qu'il envoie des courriers lectroniques vers des adresses extrieures. Plus d'informations sur les notications ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.) , ,

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 continuer. 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 versions de Nagios et des plugins Nagios taient respectivement la 3.0.2 et la 1.4.11.
# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz # wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -1.4.11.tar.gz

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 make make make install install-init install-config 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supervisez 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 administrateur 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 NagiosCommunity.org wiki pour les instructions spciques sur la conguration de votre systme openSUSE pour envoyer des messages lectroniques vers des adresses externes.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 fonctionneront 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, occupation 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 versions de Nagios et des plugins Nagios taient respectivement la 3.0.2 et la 1.4.11.
# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz # wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -1.4.11.tar.gz

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 make make make install install-init install-config 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supervisez 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 mofdications.
$ sudo /etc/init.d/nagios restart

La conguration des notications par courrier lectronique est en dehors du champ de cettte documentation. Rfrez-vous la documentation de votre systme, recherchez sur le web, ou regardez sur le wiki NagiosCommunity.org pour des instructions spciques sur la faon de congurer votre systme Ubuntu pour qu'il envoie des courriers lectroniques vers des adresses extrieures.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 envisager ds que possible de mettre jour votre Nagios. Les nouvelles versions contiennent habituellement 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 $HOSTNOTIFICATIONNUMBER$Macros$HOSTNOTIFICATIONNUMBER$ et $SERVICENOTIFICATIONNUMBER$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 Section17.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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 endroits. Soyez srs d'avoir correctement sauvegard vos chiers Nagios critiques avant de supprimer les packages RPM ou APT originaux, vous ne pourrez pas revenir en arrire si vous rencontrez des problmes.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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, contentezvous 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dnitions pour l'hte Windows. Ce chier de conguration contient dj un exemple de dnitions d'hte, de groupe d'htes et de service. Pour la *premire* machine Windows que vous supervisez, vous pouvez simplement modier les dnitions d'exemples d'hte et de service dans ce chier plutt que d'en crer de nouvelles.

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 conguration) pour indiquer Nagios de superviser dirents aspects de la machine Windows. Si c'est votre *premire* machine Windows, vous pouvez simplement modier les dnitions exemples de services dans windows.cfg. Note Remplacez winserver dans les dnitions d'exemples ci-dessous par le nom que vous avez prcis dans le paramtre de la dnition de l'hte que vous venez d'ajouter.

Ajoutez la dnition de service suivante pour contrler la version du addon NSClient++ tournant sur le serveur Windows. Cela devient utile quand il s'agit de mettre jour des serveurs Windows vers une nouvelle version du addon, en vous permettant de dterminer quelles sont les machines Windows ncessitant une mise jour vers la dernire version de NSClient++.
define service { use host_name service_description check_command } generic-service winserver NSClient++ Version check_nt!CLIENTVERSION

Ajoutez la dnition de service suivante pour superviser le temps coul depuis le dernier re/dmarrage du serveur Windows.
define service { use host_name service_description check_command } generic-service winserver Uptime check_nt!UPTIME

Ajoutez la dnition de service suivante pour superviser la charge CPU du serveur Windows et gnrer une alerte CRITICAL si la charge CPU des 5 dernires minutes est gale 90% ou plus ou une alerte WARNING si la charge CPU des 5 dernires minutes est gale 80% ou plus.
define service { use host_name service_description check_command } generic-service winserver CPU Load check_nt!CPULOAD!-l 5,80,90

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 38 / 379

Ajoutez la dnition de service suivante pour superviser l'utilisation de la mmoire du serveur Windows et gnrer une alerte CRITICAL si l'utilisation de la mmoire est gale 90% ou plus ou une alerte WARNING si l'utilisation de la mmoire est gale 80% ou plus.
define service { use host_name service_description check_command } generic-service winserver Memory Usage check_nt!MEMUSE!-w 80 -c 90

Ajoutez la dnition de service suivante pour superviser l'espace utilis du disque C :\ du serveur Windows et gnrer une alerte CRITICAL si l'espace utilis du disque est gale 90% ou plus ou une alerte WARNING si l'espace utilis du disque est gale 80% ou plus.
define service { use host_name service_description check_command } generic-service winserver C:\ Drive Space check_nt!USEDDISKSPACE!-l c -w 80 -c 90

Ajoutez la dnition de service suivante pour superviser l'tat du service W3SVC et gnrer une alerte CRITICAL si ce service est arrt.
define service { use host_name service_description check_command } generic-service winserver W3SVC check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

Ajoutez la dnition de service suivante pour superviser l'tat du processus Explorer.exe et gnrer une alerte CRITICAL si ce processus ne tourne pas.
define service { use host_name service_description check_command } generic-service winserver Explorer check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

Voil pour le moment. Vous avez ajout des services simples qui devraient tre superviss sur les machines Windows. Enregistrez le chier de conguration.

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 command_line } check_nt $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.) peuvent tre superviss de faon simple en suivant la documentation sur la Supervision des services publiquement disponibles. Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t installs si vous avez suivi le guide rapide.

11.2 Vue globale


Note [Ce document n'a pas t termin. Je vous recommande de lire la documentation sur le addon NRPENRPE pour les instructions sur la faon de superviser des serveurs distants Linux/Unix.]

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supervision si vous superviser des centaines ou milliers de services. La charge de travail supplmentaire pour crer/dtruire les connexions SSH est la cause de ceci.

Une autre faon commune de superviser des htes distants Linux/Unix est d'utiliser l'addon NRPENRPE. NRPE vous permet d'excuter des plugins sur les htes distants Linux/Unix. C'est utile si vous devez superviser les attributs/ressources locaux comme l'utilisation disque, la charge CPU, l'utilisation mmoire, etc. sur une hte distant.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 permettent de superviser l'tat de toutes imprimantes compatibles JetDirect avec SNMP activ. Le plugin est capable de dtecter les tats suivants de l'imprimante : Bourrage papier Plus de papier Imprimante hors ligne Intervention requise Toner presque vide Mmoire insusante Porte ouverte Le plateau de sortie papier est plein Et bien d'autres Note Ces instructions impliquent que vous ayez install Nagios comme prcis dans le guide rapide. Les exemples de conguration ci-dessous font rfrence aux objets de conguration dnis dans les chiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont t installs si vous avez suivi le guide rapide.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 netsnmp-utils installs sur votre systme. Assurez-vous que le plugin soit prsent dans /usr/local/ nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-snmp-utils et recompilez/rinstallez les plugins Nagios.

13.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser une nouvelle imprimante rseau. Les voici : 1. Procdez aux pr-requis ncessaires la premire fois 2. Crez de nouvelles dnitions d'hte et service pour la supervision de l'imprimante 3. Redmarrez le dmon Nagios

13.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, contentezvous 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dfinitions pour l'imprimante. Ce chier de conguration contient dj un exemple de dnitions d'hte, de groupe d'htes et de service. Pour la *premire* imprimante que vous supervisez, vous pouvez simplement modier les dnitions d'exemples d'hte et de service dans ce chier plutt que d'en crer de nouvelles.

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 host_name alias address hostgroups } generic-printer ; Inherit default values from a template hplj2605dn ; The name we're giving to this printer HP LaserJet 2605dn ; A longer name associated with the printer 192.168.1.30 ; IP address of the printer allhosts ; Host groups this printer is associated with

Vous pouvez ajouter maintenant quelques dnitions de services (dans le mme chier de conguration) pour superviser dirents aspects de votre imprimante. Si c'est la *premire* imprimante que vous supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans printer.cfg. Note Remplacez hplj2605dn dans les exemples de dnitions ci-dessous par le nom que vous avez renseign dans le paramtre host_name que vous venez d'ajouter dans la dnition d'hte.

Ajoutez cette dnition de service pour pouvoir superviser l'tat de l'imprimante. Le service utilise le plugin check_hpjd pour vrier l'tat de l'imprimante toutes les 10 minutes par dfaut. La communaut SNMP utilise dans cet exemple pour interroger l'imprimante est public.
define service { use host_name with service_description check_command normal_check_interval generic-service hplj2605dn ; Inherit values from a template ; The name of the host the service is associated -

Printer Status ; The service description check_hpjd!-C public ; The command used to monitor the service 10 ; Check the service every 10 minutes under normal conditions

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 46 / 379

retry_check_interval is determined }

; Re-check the service every minute until its final/hard state -

Ajoutez la dnition de service suivante pour pinger l'imprimante toutes les 10 minutes par dfaut. C'est utile pour superviser le RTA, les paquets perdus et la connectivit rseau.
define service { use host_name service_description check_command normal_check_interva retry_check_interval } generic-service hplj2605dn PING check_ping!3000.0,80%!5000.0,100% 10 1

Enregistrez le chier.

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 conguration 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 netsnmp-utils installs sur votre systme. Assurez-vous que le plugin soit prsent dans /usr/local/ nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-snmp-utils et recompilez/rinstallez les plugins Nagios.

14.3 tapes
Il y a plusieurs tapes suivre pour pouvoir superviser un nouveau routeur ou switch. Les voici : 1. Procdez aux pr-requis ncessaires la premire fois 2. Crez de nouvelles dnitions d'hte et service pour la supervision du priphrique. 3. Redmarrez le dmon Nagios

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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, contentezvous de suivre les directions prcises ci-dessous et vous pourrez superviser vos routeurs/switchs rseaux en un rien de temps.

14.5 Pr-requis
La premire fois que vous congurez Nagios pour superviser un switch rseau, vous avez un peu plus de travail faire. Souvenez-vous, vous n'avez le faire que pour le *premier* switch superviser. ditez le chier de conguration principal de Nagios.
#vi /usr/local/nagios/etc/nagios.cfg

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 dfinitions pour les routeurs et les switchs. Ce chier de conguration contient dj un exemple de denitions d'hte et de service. Pour le *premier* routeur/switch que vous supervisez, vous pouvez simplement modier les dnitions d'exemple d'hte et de service dans ce chier plutt que d'en crer de nouvelles.

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 *premier* que vous supervisez, vous pouvez simplement modier l'exemple de dnition d'hte dans switch.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropries pour votre switch.
define host { use host_name alias address hostgroups } generic-switch ; Inherit default values from a template linksys-srw224p ; The name we're giving to this switch Linksys SRW224P Switch ; A longer name associated with the switch 192.168.1.253 ; IP address of the switch allhosts,switches ; Host groups this switch is associated with

14.7 Supervision des services


Vous pouvez ajouter maintenant quelques dnitions de services (dans le mme chier de conguration) 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 { use host_name service_description check_command normal_check_interval retry_check_interval }

generic-service linksys-srw224p PING check_ping!200.0,20%!600.0,60% 5 1

1 2 3 4 5 6

O O O O O O

1 2 3 4 5 6

O O O O O O

Hrite des valeurs dnies dans le gabarit Le nom de l'hte et du service associ La description du service La commande utiliser pour superviser le service Contrle le service toutes les 5 minutes en conditions normales Recontrle le service toutes les minutes jusqu' ce que son tat nal/hard soit dtermin

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

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 host_name service_description check_command } generic-service ; Inherit values from a template linksys-srw224p Uptime check_snmp!-C public -o sysUpTime.0

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 host_name service_description check_command } generic-service ; Inherit values from a template linksys-srw224p Port 1 Link Status check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB

Dans l'exemple ci-dessus, -o ifOperStatus.1 fait rfrence OID pour l'tat oprationnel du port 1 sur le switch. L'option -r 1 indique au plugin check_snmp de retourner un tat OK si 1 est trouv dans la rponse SNMP (1 indique que le port est up) et CRITICAL sinon. L'option -m RFC1213-MIB est optionnel et indique la MIB utiliser parmi celles installes sur votre systme et peut aider acclrer les choses. Voil pour l'exemple de supervision avec SNMP. Il y a des millions de choses qui peuvent tre supervises par SNMP, aussi est-ce vous dcider ce que dont vous avez besoin et ce que vous souhaitez superviser. Bonne chance ! ASTUCE Vous pouvez trouver les OIDs qui peuvent superviss sur un switch en excutant la commande suivante (remplacez 192.168.1.253 par l'adresse IP de votre switch) : snmpwalk -v1 -c public 192.168.1.253 -m ALL .1

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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, POP3, 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 routeurs/switchs pour avoir plus d'information sur la faon de superviser des services avec le protocole SNMP.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 conguration ou ajoute un existant. Voil quoi pourrait ressembler la dnition de l'hte remotehost:
define host { use host_name alias address hostgroups } generic-host remotehost Some Remote Host 192.168.1.50 allhosts ; ; ; ; ; Inherit default values from a template The name we're giving to this host A longer name associated with the host IP address of the host 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 .

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 command_name command_line } check_http check_http $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 host_name service_description check_command } generic-service ; Inherit default values from a template remotehost HTTP check_http

Cette simple dnition de service va superviser le service HTTP fonctionnant sur remotehost. Ce service gnrera des alertes si le sereur web ne rpond pas dans les 10 secondes ou si la rponse contient un code d'erreur HTTP (403, 404, etc.). C'est tout ce dont vous avez besoin pour une supervision basique. Plutt simple, non ? ASTUCE Pour des possibilits plus avances de supervision, utilisez le plugin check_http manuellement avec --help comme argument de la ligne de commande pour voir toutes les options que peut vous fournir ce plugin. Cette syntaxe --help fonctionne avec tous les plugins couverts par cette documentation.

Une dnition plus avance pour superviser le service HTTP est donne ci-dessous. Cette dnition de service va vrier que l'adresse URI /download/index.php contient la chane de caractres latestversion.tar.gz. Une erreur sera produite si la chane n'est pas trouve, si l'URI n'est pas valable, ou si le serveur web met plus de 5 secondes rpondre.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost Product Download Link check_http!-u /download/index.php -t 5 -s "latest-version.tar.gz"

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 command_line } check_ftp $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$

Une dnition simple de service pour superviser un serveur FTP sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost FTP check_ftp

Cette dnition de service va superviser le service FTP et gnrer des alertes si le serveur FTP ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur FTP en coute sur le port 1023 de remotehost. Une alerte sera mise si le serveur ne rpond pas dans les 5 secondes ou si la rponse que fait le serveur ne contient pas la chane de caractre Pure-FTPd [TLS].
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost Special FTP check_ftp!-p 1023 -t 5 -e "Pure-FTPd [TLS]"

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 command_line } check_ssh $USER1$/check_ssh $ARG1$ $HOSTADDRESS$

Une dnition simple de service pour superviser un serveur SSH sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SSH check_ssh

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SSH Version Check check_ssh!-t 5 -r "OpenSSH_4.2"

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 command_line } check_smtp $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$

Une dnition simple de service pour superviser un serveur SMTP sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SMTP check_smtp

Cette dnition de service va superviser le service SMTP et gnrer des alertes si le serveur SMTP ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur SMTP et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si la rponse du serveur ne contient pas la chane de caractres mygreatmailserver.com.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost SMTP Response Check check_smtp!-t 5 -e "mygreatmailserver.com"

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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 58 / 379

define command { command_name command_line }

check_pop $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$

Une dnition simple de service pour superviser un serveur POP3 sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost POP3 check_pop

Cette dnition de service va superviser le service POP3 et gnrer des alertes si le serveur POP3 ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le serveur POP3 et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si la rponse du serveur ne contient pas la chane de caractres mygreatmailserver.com.
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost POP3 Response Check check_pop!-t 5 -e "mygreatmailserver.com"

15.10 Supervision IMAP


Le plugin check_imap peut tre utilis pour superviser le service IMAP4 sur vos serveurs de messagerie. Le chier commands.cfg une dnition de commande pour utiliser le plugin check_imap qui ressemble ceci :
define command { command_name command_line } check_imap $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$

Une dnition simple de service pour superviser un serveur IMAP4 sur remotehost devrait ressembler ceci :
define service { use host_name service_description check_command } generic-service ; Inherit default values from a template remotehost IMAP check_imap

Cette dnition de service va superviser le service IMAP4 et gnrer des alertes si le serveur IMAP ne rpond pas dans les 10 secondes. Une dnition de service plus avance est donne ci-dessous. Ce service va vrier le service IMAP4 et gnrer une alerte si le serveur ne rpond pas dans les 5 secondes ou si la rponse du serveur ne contient pas la chane de caractres mygreatmailserver.com.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 59 / 379

define service { use host_name service_description check_command }

generic-service ; Inherit default values from a template remotehost IMAP4 Response Check 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 60 / 379

Troisime partie

Congurer Nagios

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commence vos aventures de conguration. La documentation du chier de conguration principal se trouve ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'avantage de ces chiers est de pouvoir y mettre des donnes sensibles de conguration (comme des mots de passe) qui ne seront pas accessibles travers les CGIs. Vous pouvez dnir un ou plusieurs chiers optionnels de ressources avec le paramtre resource_file dans le chier de conguration principal.

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 principal, 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 conguration de Nagios

17.3.1 Fichier journal

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supervision. 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'objet 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 prtraite, 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 couramment 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 protger 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. Rfrezvous au chier resource.cfg d'exemple situ la racine de la distribution de Nagios, pour voir comment 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 68 / 379

Note Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Notications dsactives 1 = Notications actives (dfaut)

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 utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Ne pas 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Ne pas accepter les contrles passifs de services 1 = Accepter les contrles passifs de services (dfaut)

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 utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Ne pas 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>

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dsactiviez l'option use_retained_program_state. Si vous voulez changer cette variable alors que la mmorisation d'tat est active (ainsi que l'option use_retained_program_state), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : Note Note : si vous avez activ la Section17.3.26,Nagios ignorera ce paramtre au (re)dmarrage, et utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Ne pas accepter les contrles passifs d'htes 1 = Accepter les contrles passifs d'htes (dfaut)

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 utilisera sa dernire valeur connue (telle qu'elle est stocke dans le Section17.3.27 ), moins que vous ne dsactiviez l'option Section17.3.29 .Si vous voulez changer cette variable alors que la mmorisation d'tat est active, (ainsi que l'option Section17.3.29 ), vous devrez passer par la commande externe approprie, ou la changer travers l'interface web. Les valeurs possibles de cette variable sont : 0 = Gestionnaire d'vnements dsactiv 1 = Gestionnaire d'vnements activ (dfaut)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commandes 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commandes 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dmarrages. 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 enregistres 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 redmarrages. Au dmarrage, Nagios positionnera l'tat initial des services et des htes partir des informations 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 sauvegarder 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, normalement sauvegardes par del les redmarrages du programme si la mmorisation d'tat est active, on trouve les Section17.3.13 , la Section17.3.70 ,Section17.3.18 ,Section17.3.14 ,ou Section17.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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 pourcentage) de services ou d'htes, je vous recommande de dsactiver cette option lorsque vous redmarrez 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 76 / 379

Cette variable dtermine si les messages de notication sont journaliss ou non. Si vous avez de nombreux contacts ou des problmes frquents sur les services, le chier journal va rapidement grossir. Utilisez cette option pour viter de journaliser les notications faites aux contacts. 0 = Don't log notications 1 = Log notications

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 tentatives 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 situation 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 journalisation des tentatives de contrle permet de dboguer Nagios ou de tester les gestionnaires d'vnements. 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 journalises. 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dnition 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 service. 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 dfinition 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'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] 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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 vrication 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 paralllisation 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 comprendre 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 consolidation 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 rsultats 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 informations de rsultats de contrles dans le rpertoire de stockages des rsultats .Les rsultats dpassant 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 contrls) 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 mthode 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 vrication 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 vrication 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 VERSIONS 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 VERSIONS 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>

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 rordonnancement automatique. Seules les vrications d'htes et de services qui doivent avoir lieu durant les prochaines N secondes seront aectes par le rordonnancement. Cette option n'a d'eet que si l'Section17.3.56 est active. La valeur par dfaut est de 180 secondes (3 minutes).

AVERTISSEMENT ATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VERSIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEU DE LES AMELIORER, SI ELLE EST MAL UTILISEE.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 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 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 considrablement 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 contrle de service soit considr comme courant. Le cache d'tat de service (Pour les contrles de services 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 excute 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 mmoire 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'oscillation 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 temporairement 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 mmorisation des tats ), moins que vous ne dsactiviez l'option use_retained_program_state. Si vous voulez changer cette option alors que la mmorisation d'tat est active (ainsi que l'option use_retained_program_state), vous devrez passer par la commande externe approprie ou l'interface web. 0 = Ne pas activer la dtection d'oscillation (dfaut) 1 = Activer la dtection d'oscillation

17.3.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 affecte), lisez ceci.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 affecte), 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dpassement 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'vnement. 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 vraiment. 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 gestionnaire 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>

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 89 / 379

Exemple notification_timeout=60 C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de notication. Si une commande de notication dpasse cette limite elle sera tue et une alerte sera journalise. Il existe la confusion la plus totale (NdT : toute ressemblance avec des phrases prcdentes serait purement intentionnelle :-) ) sur ce que cette option fait vraiment. Elle est l comme dernier rempart, pour tuer les plugins qui se comporte mal ou ne se sont pas termins correctement. Il faut le positionner une valeur haute (quelque chose comme 60s), de manire ce que tout contrle ait le temps de se terminer avant cette limite. Si la notication prend plus de temps pour s'excuter, Nagios la tuera, pensant que c'est un processus ayant des problmes d'excution.

17.3.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 remonte 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 traitement des donnes lies aux performance d'un hte ou de traitement des donnes lies aux performances d'un service .Si une commande dpasse cette limite, elle sera tue et une alerte sera journalise.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commande 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 supervision rpartie. Le temps d'excution maximal de cette commande est dtermin par la variable Section17.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 commande 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 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 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supervision rpartie. Le temps d'excution maximal de cette commande est dtermin par la variable Section17.3.81 .Vous trouverez plus d'informations sur la supervision rpartie ici. Cette commande n'est excute que si l'option de Section17.3.85 est active et que si le paramtre obsess_over_host dans la dnition de l'hte l'est aussi.

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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$HOSTEXECUTIONTIME$\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$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$ 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'vnements. 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 vnements, mais dont les rsultats n'ont pas t remonts depuis longtemps. Comme aucun rsultat n'a t remonte pour cet hte, il n'est pas rordonnanc dans la le d'vnements. Cela peut causer l'arrt des contrles de l'hte. Normalement, c'est un phnomne trs rare il peut se produire si un utilisateur ou un processus extrieur a tu le processus utilis pour excuter le contrle de l'hte. Si cette option est active et que Nagios s'aperoit qu'un rsultat de contrle de l'hte particulier ne revient pas, il journalisera un message d'erreur, et rordonnancera le contrle de l'hte. Si vous constatez que certains contrles de l'hte semblent n'tre jamais rordonnancs, activez cette option et cherchez dans les journaux, des messages concernant des htes orphelins. 0 = Ne pas contrler les contrles d'htes orphelins 1 = Contrler les contrles d'htes orphelins (dfaut)

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 donnes 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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 97 / 379

Option us euro iso8601 strict-iso8601

Format de sortie MM/DD/YYYY HH :MM :SS DD/MM/YYYY HH :MM :SS YYYY-MM-DD HH :MM :SS YYYY-MM-DDTHH:MM:SS

Exemple 06/30/2002 03 :15 :00 30/06/2002 03 :15 :00 2002-06-30 03 :15 :00 2002-06-30T03:15:00

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 commandes. 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 problmes de scurit. Les macros suivantes sont dbarrasses des caractres spcis dans l'option :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 expressions 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$.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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, ensuite, 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/ndomod.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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 surveillance 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 beaucoup 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 importants pour les htes sont les suivants : Les htes sont en gnral des composants physiques sur le rseau (serveurs, ordinateurs de bureau, routeurs, switchs, imprimantes, etc.). Les htes ont une adresse (une adresse IP ou MAC par exemple). Les htes ont un ou plusieurs services qui leur sont associs. Les htes peuvent avoir des relations de type parent/enfant avec d'autres htes, reprsentant souvent les connexions relles entre ces htes, qui sont utilises dans la logique de rupture de la continuit du rseau .

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 lectronique, 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 familiarisez avec l'hritage des objets une fois que vous aurez lu la documentation prsente ci-dessous, du fait que cela permet une maintenance des dnitions d'objets beaucoup plus facile que sans. Lisez aussi les trucs et astuces pour les objets qui orent des raccourcis pour des tches de conguration qui seraient autrement ingrates. Note Quand vous crez et/ou ditez des chiers de conguration, gardez ceci l'esprit : 1. Les lignes qui commencent par le caractre '#' sont des commentaires et ne sont pas traites 2. Les noms de variables sont sensibles la casse

19.2

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 conguration. Les objets de conguration concerns sont indiqus par une astrisque (*). La raison de ce comportement est que Nagios prend les valeurs contenues dans le chier de rtention d'tat plutt que celles contenues dans les chiers de conguration, condition d'avoir activ la rtention d'tats au niveau global du programme et que la valeur de la variable soit change pendant l'excution du programme par une commande externe. Une faon de contourner le problme est de dsactiver la rtention des informations direntes de l'tat en utilisant la variable retain_nonstatus_information dans les dnitions d'htes, de services et de contacts. Dsactiver cette variable permettra Nagios de prendre les valeurs de vos chiers de conguration comme valeurs initiales plutt que du chier de rtention d'tats au moment du (re)dmarrage.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 alias display_name address parents

host_name alias display_name address host_names

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 108 / 379

hostgroups check_command initial_state max_check_attempts check_interval retry_interval active_checks_enabled passive_checks_enabled check_period obsess_over_host check_freshness freshness_threshold event_handler event_handler_enabled low_ap_threshold high_ap_threshold ap_detection_enabled ap_detection_options process_perf_data retain_status_information retain_nonstatus_information contacts contact_groups notication_interval rst_notication_delay notication_period notication_options notications_enabled stalking_options notes notes_url action_url icon_image icon_image_alt vrml_image statusmap_image 2d_coords 3d_coords }

hostgroup_names command_name [o,d,u] # # # [0/1] [0/1] timeperiod_name [0/1] [0/1] # command_name [0/1] # # [0/1] [o,d,u] [0/1] [0/1] [0/1] contacts contact_groups # # timeperiod_name [d,u,r,f,s] [0/1] [o,d,u] note_string url url image_le alt_string image_le image_le x_coord,y_coord x_coord,y_coord,z_coord

19.4.1.3 Exemple de dnition


define host { host_name alias address parents check_command check_interval retry_interval max_check_attempts check_period process_perf_data retain_nonstatus_information contact_groups

bogus-router Bogus Router #1 192.168.1.254 server-backbone check-host-alive 5 1 5 24x7 0 0 router-admins

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 109 / 379

notification_interval notification_period notification_options }

30 24x7 d,u,r

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

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

display_name Cette variables est utilise pour acher un nom dirent l'achage dans l'interface web pour cet hte. Si non prcise, la valeur par dfaut est prise depuis la variable host_name. Note Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.

parents Cette variable est utilise pour dnir une liste spare par des virgules de noms courts reprsentant les htes parents de cet hte en particulier. Les htes parents sont typiquement des routeurs, des pare-feux, etc qui se trouvent sur la route entre le serveur de supervision et les htes superviser. Un routeur, switch, etc qui se trouve le plus prs de l'hte superviser est considr comme le parent de cet hte. Lisez le document Dterminer l'tat et l'accessibilit du rseau des htes situ ici pour plus d'informations. Si l'hte appartient au mme segment rseau que le serveur de supervision (sans routeur intermdiaire, etc.), alors l'hte est considr comme membre du rseau local et il n'aura pas d'hte parent. Laissez cette valeur vide si l'hte n'a pas

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'informations sur cette valeur peut tre trouve dans la documentation sur l'ordonnancement des contrles . active_checks_enabled* Cette variable est utilise pour dnir si les contrles actifs (soit rguliers soit la demande) sont possibles pour cet hte. Valeurs : 0 = contrles d'hte actif dsactivs, 1 = contrles d'hte actif activs. passive_checks_enabled * Cette variable est utilise pour dnir si les contrles passifs sont possibles pour cet hte. Valeurs : 0 = contrles d'hte passif dsactivs, 1 = contrles d'hte passif activs.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 rtention d'tats en utilisant la variable retain_state_information . Valeur : 0 = rtention des donnes direntes des tats dsactive, 1 = rtention des donnes direntes des tats active.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 renotier un contact que ce service est toujours down ou innacessible. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Sivous mettez cette valeur 0, Nagios ne re-notiera pas les contacts des problmes pour cet hte - une seule notication de problme sera envoye. rst_notication_delay Cette variable est utilise pour prciser le nombre d'units de temps attendre avant d'envoyer la premire notication quand un hte passe dans un tat non-UP Sauf si vous avez chang la . variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Si vous mettez cette valeur 0, Nagios commencera envoyer des notications immdiatement. notication_period Cette variable est utilise pour prciser le nom court des priodes de temps pendant lesquelles les notications d'vnements sont envoyes aux contacts de cet hte. Si cet hte passe en tat down, inaccessible ou qu'il revient la normale hors d'une priode de temps prcise, aucune notication ne sera envoye. notication_options Cette variable est utilise pour dterminer quand les notications pour un hte doivent tre envoyes. Les options valides sont une combinaison d'un ou de plusieurs des tats suivants : d = envois de notications sur tat DOWN, u = envois de notications sur tat UNREACHABLE, r = envois de notications sur tat OK, f = envois de notication quand un hte commence ou arrte d'osciller, et s = envois de notications quand une priode de maintenance planie commence ou nit. Si vous mettez d,r dans ce champ, les notications seront seulement envoyes quand l'hte passera en tat DOWN et quand il sortira de cet tat DOWN (retour la normale). notications_enabled * Cette variable est utlise pour dterminer si les notications pour cet hte sont actives ou non. Valeurs : 0 = notications pour l'hte dsactives, 1 = notications pour l'hte actives. talking_options Cette variable est utilise pour dterminer quelle mmorisation d'tats est utilise pour l'hte. Les options valides sont une combinaison d'un ou ou de plusieurs des tats suivants : o = mmorisation des tats UP d = mmorisation des tats DOWN et u = mmorisation des tats UN, REACHABLE. Plus d'informations sur la mmorisation d'tats peuvent tre trouves ici. notes Cette variable est utilise pour prciser une note d'information rattacher l'hte. Si vous avez prcise une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations d'un hte spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur l'hte. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 113 / 379

tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer l'hte. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilis. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer l'hte. Cette image sera ache dans plusieurs endroits des CGIs. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/ share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. vrml_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer l'hte. Cette image sera utilise comme fond de carte pour l'hte spci dans le CGI statuswrl. Au contraire de l'image utilise dans la variable <icon_image>, celle-ci ne devrait pas avoir d'attribut de transparence. Si c'est le cas, le rendu de l'hte sera un peu bizarre. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). statusmap_image Cette variable est utlise pour dnir le nom d'une image associer l'hte dans le CGI statusmap. Vous pouvez utiliser une image au format JPEG, PNG ou GIF si vous voulez, mais je vous recommande vivement d'utiliser le format d'image GD2 pour ne pas perdre de temps CPU en calcul (comme c'est le cas avec les autres formats) quand vous gnrez la carte d'tats. Les images GD2 peuvent tre cres partir d'image PNG en utilisant l'utilitaire pngtogd2 fourni avec la librairie gd de Thomas Boutell. Les images au format GD2 doivent tre cres dans un format non compress toujours pour minimiser la charge CPU au moment de charger la carte rseau. Le rendu de l'image sera maximal si vous utilisez une taille de 40x40 pixels. Vous pouvez laisser cette option vide si vous n'utilisez pas le CGI de carte d'tats. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). 2d_coords Cette variable est utilise pour dnir les coordonnes utiliser pour l'hte dans le CGI statusmap. Les coordonnes doivent tre donnes en entier positif car correpsondant aux pixels dans l'image gnre. Le dpart de la carte (0,0) se trouve dans le coin suprieur gauche de l'image et s'tend en positif dans la direction x ( droite) partir du haut de l'image et en positif dans la direction y (bas) partir du bord gauche de l'image. Pour rfrence, la taille des icnes es thabituellement de 40x40 pixels (le texte prend un peu d'espace supplmentaire). Les coordonnes que vous prcisez ici sont pour le coin suprieur gauche de l'icne de l'hte dessiner. Note Ne vous inquitez pas du nombre maximal de coordonnes que vous pouvez utliser ici. Le CGI va automatiquement calculer les dimensions maximales de l'image qu'il cre en se basant sur les plus grandes valeurs x et y que vous avez prcis.

3d_coords Cette variable est utilise pour dnir les coordonnes de l'hte utiliser dans le CGI statuswrl. Les coordonnes peuvent tre des nombres positifs ou ngatifs. Le dpart du dessin est

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 alias members hostgroup_members notes notes_url action_url }

hostgroup_name alias hosts hostgroups note_string url url

19.4.2.3 Exemple de dnition


define hostgroup { hostgroup_name alias members }

novell-servers Novell Servers 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 alternative (ou en complment) la variable hostgroups dans les dnitions d'htes .

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supplmentaires sur le groupe d'htes. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de groupe d'htes) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer aux groupes d'htes. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations du groupe d'htes) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/).

19.4.3

Dnition de service

19.4.3.1 Description Une dnition de service est utilise pour identier un service qui fonctionne sur cet hte. le terme service est utilis de faon gnrale. Cela peut dsigner un service qui fonctionne sur l'hte (POP SM, TP, HTTP, etc.) ou tout autre type de mtrique associ l'hte (rponse au ping, nombre d'utilisateurs connects, espace disque dur libre, etc.). Les dirents arguments d'une dnition de service sont prciss ci-dessous. 19.4.3.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene service{ host_name hostgroup_name service_description display_name servicegroups is_volatile check_command initial_state max_check_attempts check_interval

host_name hostgroup_name service_description display_name servicegroup_names [0/1] command_name [o,w,u,c] # #

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 116 / 379

retry_interval active_checks_enabled passive_checks_enabled check_period obsess_over_service check_freshness freshness_threshold event_handler event_handler_enabled low_ap_threshold high_ap_threshold ap_detection_enabled ap_detection_options process_perf_data retain_status_information retain_nonstatus_information notication_interval rst_notication_delay notication_period notication_options notications_enabled contacts contact_groups stalking_options notes notes_url action_url icon_image icon_image_alt }

# [0/1] [0/1] timeperiod_name [0/1] [0/1] # command_name [0/1] # # [0/1] [o,w,c,u] [0/1] [0/1] [0/1] # # timeperiod_name [w,u,c,r,f,s] [0/1] contacts contact_groups [o,w,u,c] note_string url url image_le alt_string

19.4.3.3 Exemple de dnition


define service { host_name service_description check_command max_check_attempts check_interval retry_interval check_period notification_interval notification_period notification_options contact_groups }

linux-server check-disk-sda1 check-disk!/dev/sda1 5 5 3 24x7 30 24x7 w,c,r 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service tourne ou avec lequel il est associ. Plusieurs groupes d'htes doivent tre spars par des virgules. service_description Cette variable est utilise pour dnir la description du service et peut contenir des espaces, des dashes et des colons (les semi-colons, apostrophes et guillements doivent tre proscrits). Deux services associs un mme hte ne peuvent pas avoir la mme description. Les services sont uniquement identis par leurs variables host_name et service_description. display_name Cette variable est utilise pour dnir un nom dirent acher dans l'interface web pour ce service. Si non prcis, la valeur par dfaut est prise depuis la variable service_description. Note Les CGIs actuels n'utilise pas cette option, mais les futurs versions de l'interface le feront.

servicegroups Cette variable est utilise pour identier le(s) nom(s) court(s) des groupe(s) de services auxquels appartient ce service. Plusieurs groupes de services peuvent tre spars par des virgules. Cette variable peut tre utilise comme alternative la variable members des dnitions de groupes de services . is_volatile Cette variable est utilise pour prciser si un service doit tre considr comme volatile. Les services ne sont normalement pas volatiles. Plus d'informations sur les services volatiles et en quoi ils dirent des services normaux peuvent tre trouves ici. Valeur : 0 = service non volatile, 1 = service volatile. check_command Cette variable est utilise pour prciser le nom court d'une commande utiliser pour contrler l'tat du service. Le temps maximal d'excution d'une commande de contrle de service est contrl par l'option service_check_timeout . initial_state Par dfaut, Nagios part du principe que tous les services sont en tat OK au dmarrage. Vous pouvez modier l'tat de dpart d'un service en utilisant cette variable. Les options valides : o = OK w = WARNING u = UNKNOWN c = CRITICAL. max_check_attempts Cette variable est utilise pour dnir le nombre de fois que Nagios va ressayer la commande de contrle de service dans le cas o celle-ci renvoie une tat dirent de OK. Mettre la valeur 1 fera que Nagios gnrera une alerte sans recontrler le service. check_interval Ce paramtre est utilis pour dnir le nombre d'units de temps attendre avant d'ordonnancer le contrle rgulier suivant du service. Les contrles rguliers sont ceux qui sont excuts quand un service est dans un tat OK ou non-OK mais qu'il a dj t recontrl le nombre de fois prcis dans la variable max_check_attempts. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cette valeur peuvent tre trouves dans la documentation sur l'ordonnancement des contrles . retry_interval Ce paramtre est utilis pour dnir le nombre d'units de temps attendre avant d'ordonnancer un nouveau contrle du service. Les services sont recontrls l'intervalle de ressai quand ils

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'explications sur la faon d'crire des scripts pour grer les vnements. Le temps maximal d'excution d'une commande de gestion d'vnements est contrl par l'option event_handler_timeout . event_handler_enabled * Cette variable est utilise pour dterminer si le gestionnaire d'vnements est activ ou non pour ce service. Valeurs : 0= disable service event handler 1= enable service event handler. low_ap_threshold Cette variable est utilise pour prciser le seuil bas de dtection d'oscillation pour ce service. Plus d'informations sur la dtection d'ocillations se trouvent ici. Si vous mettez cette variable 0, la valeur prcise avec low_host_flap_threshold au niveau global du logiciel sera utilise. high_ap_threshold Cette variable est utilise pour prciser le seuil haut de dtection d'oscillation pour ce service. Plus d'informations sur la dtection d'ocillations se trouvent ici. Si vous mettez cette variable 0, la valeur prcise avec low_host_flap_threshold au niveau global du logiciel sera utilise. ap_detection_enabled * Cette variable est utilise pour dterminer si la dtection d'oscillation est active ou non pour ce service. Plus d'informations sur la dtection d'ocillations se trouvent ici. Valeurs :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 renotier un contact que ce service est tojours dans un tat non-OK. Sauf si vous avez chang la variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Si vous mettez cette valeur 0, Nagios ne re-notiera pas les contacts des problmes pour cet hte - une seule notication de problme sera envoye. rst_notication_delay Cette variable est utilise pour prciser le nombre d'units de temps attendre avant d'envoyer la premire notication quand un service passe dans un tat non-UP Sauf si vous avez chang la . variable interval_length de sa valeur par dfaut qui est 60, ce nombre signie des minutes. Si vous mettez cette valeur 0, Nagios commencera envoyer des notications immdiatement. notication_period Cette variable est utilise pour prciser le nom court des priodes de temps pendant lesquelles les notications d'vnements sont envoyes aux contacts de ce service. Aucune notication ne sera envoye hors couverture d'une priode de temps. notication_options Cette variable est utilise pour dterminer quand les notications pour ce service doivent tre envoyes. Les options valides sont une combinaison de l'un ou plusieurs des tats suivants : w = envois de notications sur tat WARNING u = envois de notications sur tat UNKNOWN c = envois de notications sur tat CRITICAL r = envois de notications sur tat OK

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 termine n (none) en option, aucune notication ne sera envoye. Si vous ne prcisez aucune option de notication, Nagios va partir du principe que les notications doivent tre envoyes pour tout changement d'tat possible. Si vous prcisez w,r dans ce champ, les notications seront envoyes uniquement quand le service passera en tat WARNING ou qu'il sortira de cet tat WARNING. notications_enabled * Cette variable est utlise pour dterminer si les notications pour ce service sont actives ou non. Valeurs : 0= notications sur les services dsactives 1= notications sur les services actives contacts C'est une liste des noms courts des contacts qui devraient tre notis quand il y a des problmes (ou retours la normale) avec ce service. Plusieurs contacts peuvent tre spars par des virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous ne souhaitez pas congurer des groupes de contacts. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition de service. contact_groups C'est une liste des noms courts des groupes de contacts qui devraient tre notis quand il y a des problmes (ou retours la normale) avec ce service. Plusieurs groupes de contacts peuvent tre spars par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition de service. stalking_options Cette variable est utilise pour dterminer quelle mmorisation d'tats est utilise pour le service. Les options valides sont une combinaison d'un ou ou de plusieurs des tats suivants : o= mmorisation sur tats OK w= mmorisation sur tats WARNING u= mmorisation sur tats UNKNOWN c= mmorisation sur tats CRITICAL Plus d'informations sur la mmorisation d'tats peuvent tre trouves ici. notes Cette variable est utilise pour prciser une note d'information rattacher au service. Si vous avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations du service spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur le service. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de l'hte) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgibin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un service, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer au service. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations du service) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'attribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans les CGIs status, extended information et statusmap.

19.4.4

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 alias members servicegroup_members notes notes_url action_url }

servicegroup_name alias services servicegroups note_string url url

19.4.4.3 Exemple de dnition


define servicegroup { servicegroup_name alias members }

dbservices Database Services 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 servicegroups dans les dnitions de service. Le format de la variable members est le suivant (notez que le nom de l'hte doit prcder le nom/description du service) :
members=<host1>,<service1>,<host2>,<service2>,,<hostn>,<servicen>

servicegroup_members Cette variable optionnelle peut tre utilise pour inclure des services depuis des sous-groupes dans ce groupe de services. Prcisez une liste spare par des virgules de noms courts d'autres groupes de services inclure dans ce groupe. notes Cette variable est utilise pour prciser une note d'information rattacher au groupe de service. Si vous avez prcis une note ici, vous la verrez dans le CGI des informations tendues (quand vous regardez les informations d'un groupe de services spci). notes_url Cette variable est utilise pour dnir une URL optionnelle fournissant des informations supplmentaires sur le groupe de services. Si vous prcisez une URL, vous verrez une icne de dossier rouge dans les CGIs (quand vous regardez les informations de groupe de services) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires appliquer au groupe de services. Si vous prcisez une URL, vous verrez une icne splat rouge dans les CGIs (quand vous regardez les informations du groupe de services) qui renverra vers l'URL prcise ici. N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/).

19.4.5

Dnition de contact

19.4.5.1 Description La dnition de contact est utilise pour identifer quelqu'un qui doit tre contact dans le cas de problmes sur votre rseau. Les dirents arguments d'une dnition de contact sont dcrits ci-dessous. 19.4.5.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene contact{ contact_name alias contactgroups host_notications_enabled service_notications_enabled

contact_name alias contactgroup_names [0/1] [0/1]

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 123 / 379

host_notication_period service_notication_period host_notication_options service_notication_options host_notication_commands service_notication_commands email pager addressx can_submit_commands retain_status_information retain_nonstatus_information }

timeperiod_name timeperiod_name [d,u,r,f,s,n] [w,u,c,r,f,s,n] command_name command_name email_address pager_number ou pager_email_gateway additional_contact_address [0/1] [0/1] [0/1]

19.4.5.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 $CONTACTNAME$ contiendra cette valeur. alias Cette variable est utilise pour dnir un nom long ou une description identiant le contact. Dans les bonnes circonstances, la macro $CONTACTNAME$ contiendra cette valeur. Si non prcise, la variable contact_name sera utilise comme alias. contactgroups Cette variable est utilise pour identier le(s) nom(s) court(s) des groupes de contacts auxquels appartient ce contact. Plusieurs noms de groupes doivent tre spars par des virgules. Cette variable peut tre utilise comme alternative (ou en complment) la variable members des dnitions de groupes de contacts. host_notications_enabled Cette variable est utilise pour dterminer si un contact recevra ou non des notications propos des problmes d'htes et des retours la normale. Valeurs : 0= Envois des notications dsactivs

Documentation Nagios Version 3.x

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 galement tre une adresse email de passerelle mail/pager (par exemple pagejoe@pagenet.com). En fonction de la faon dont vous avez congur les commandes de notications, cela peut tre utilis pour envoyer une alerte par pager au contact. Dans les bonnes circonstances, la macro $CONTACTPAGER$ contiendra cette valeur. addressx Les variables address sont utilises pour dnir des adresses supplmentaires pour le contact. Ces adresses peuvent tre n'importe quoi - numro de tlphone mobile, adresse de messagerie instantane, etc. En fonction de la faon dont vous avez congur les commandes de notications, cela peut tre utilis pour envoyer une alerte au contact. Il est possible de dnir jusqu' six adresses en utilisant ces variables (address1 jusqu' address6). La macro $CONTACTADDRESSx$ contiendra cette valeur. can_submit_commands Cette variable est utilise pour dterminer si le contact peut ou non excuter des commandes externes Nagios depuis les CGIs. Valeurs : 0= ne pas autoriser le contact soumettre des commandes 1= autoriser le contact soumettre des commandes. retain_status_information Cette variable est utlise pour dterminer si les informations relatives aux tats du contact sont conserves ou non aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0= rtention des donnes d'tats dsactive 1= rtention des donnes d'tats active retain_nonstatus_information Cette variable est utlise pour dterminer si les informations direntes des tats du contact sont conserves aprs redmarrage du programme. C'est seulement utile si vous avez activ la rtention d'tats en utilisant la variable retain_state_information . Valeur : 0= rtention des donnes autres que celles d'tats dsactive 1= rtention des donnes autres que celles d'tats active

19.4.6

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 126 / 379

dene contactgroup{ contactgroup_name alias members contactgroup_members }

contactgroup_name alias contacts contactgroups

19.4.6.3 Exemple de dnition :


define contactgroup { contactgroup_name alias members }

novell-admins Novell Administrators 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 considres comme valides pour les notications et les contrles de services. Cela consiste en plages horaires dnies pour chaque jour de la semaine qui tournent une fois la semaine nie. Dirents types d'exceptions aux heurs normales de la semaine sont supportes : jours de la semaine en particulier, jours de mois gnraux tous les mois, jours de certains mois et dates de calendrier. 19.4.7.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.

dene timeperiod{ timeperiod_name

timeperiod_name

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 127 / 379

alias [weekday] [exception] exclusion }

alias timeranges timeranges [timeperiod1,timeperiod2,,timeperiodn]

19.4.7.3 Exemples de dnitions


define timeperiod { timeperiod_name alias sunday monday tuesday wednesday thursday friday saturday } define timeperiod { timeperiod_name alias 1999-01-28 monday 3 day 2 february 10 february -1 friday -2 thursday }

nonworkhours Non-Work Hours 00:00-24:00 ; Every 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-09:00,17:00-24:00 ; 00:00-24:00 ; Every

Sunday of every week Every Monday of every week Every Tuesday of every week Every Wednesday of every week Every Thursday of every week Every Friday of every week Saturday of every week

misc-single-days Misc Single Days 00:00-24:00 ; January 28th, 1999 00:00-24:00 ; 3rd Monday of every month 00:00-24:00 ; 2nd day of every month 00:00-24:00 ; February 10th of every year 00:00-24:00 ; Last day in February of every year 00:00-24:00 ; 2nd to last Friday of every month -1 november 00:00-24:00 ; Last Thursday in November of every year

define timeperiod { timeperiod_name misc-date-ranges alias Misc Date Ranges 2007-01-01 - 2008-02-01 00:00-24:00 ; monday 3 - thursday 4 00:00-24:00 ; day 1 - 15 00:00-24:00 ; day 20 - -1 00:00-24:00 ; july 10 - 15 00:00-24:00 ; april 10 - may 15 00:00-24:00 ; tuesday 1 april - friday 2 may 00:00-24:00 May of every year } define timeperiod { timeperiod_name misc-skip-ranges alias Misc Skip Ranges 2007-01-01 - 2008-02-01 / 3 00:00-24:00 February 1st, 2008 2008-04-01 / 7 00:00-24:00 continuing forever) monday 3 - thursday 4 / 2 00:00-24:00 Thursday of every month day 1 - 15 / 5 00:00-24:00 of every month july 10 - 15 / 2 00:00-24:00 th of every year

January 1st, 2007 to February 1st, 2008 3rd Monday to 4th Thursday of every month 1st to 15th day of every month 20th to the last day of every month July 10th to July 15th of every year April 10th to May 15th of every year ; 1st Tuesday in April to 2nd Friday in -

; Every 3 days from January 1st, 2007 to ; Every 7 days from April 1st, 2008 ( -

; Every other day from 3rd Monday to 4th ; Every 5 days from the 1st to the 15th day

; Every other day from July 10th to July 15

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 estil important de comprendre comment ils interagissent les uns les autres. Plus d'informations sur ceci peuvent tre trouves dans la documentation sur les priodes de temps. exclusion Cette variable est utilise pour prciser les noms courts de d'autres priodes de temps dont les plages horaires doivent tre exclues de cette priode de temps. Plusieurs priodes de temps peuvent tre prcises en les sparant par des virgules.

19.4.8

Dnition de commande

19.4.8.1 Description Une dnition de commande n'est rien d'autre que a. Elle dnit une commande. les commandes qui peuvent tre dnies sont les contrles de services, les notications de services, les gestionnaires d'vnements de services, les contrles d'htes, les notications d'htes et les gestionnaires d'vnements d'htes. Les dnitions de commandes peuvent contenir des timeperiods mais vous devez vous assurez de n'utiliser que les macros valides dans le contexte o sera utilise la commande. Plus d'informations sur les macros disponibles et quand elles sont valides peuvent tre trouves ici. Les dirents arguments d'une dnition de commande sont indiqus ci-dessous. 19.4.8.2 Format de la dnition Note Les variables en rouge sont requises alors que celles en noir sont optionnelles.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 129 / 379

dene command{ command_name command_line }

command_name command_line

19.4.8.3 Exemple de dnition


define command { command_name command_line }

check_pop /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 commande est utilise pour les contrles d'htes et de services, les notications ou les gestionnaires d'vnements .Avant que la commande ne soit excute, toutes les macros valides sont remplaces par leurs valeurs respectives. Regardez la documentation des macros pour dterminer quand vous pouvez utiliser direntes macros. Notez que la ligne de commande n'est pas entoure par des guillemets. galement noter que si vous souhaitez passer le signe ($) sur la ligne de commande, vous devez le protger avec un autre signe dollar. Note Vous devriez ne pas inclure de point virgule ( ;) dans la variable command_line parce que tout ce qui se trouvera aprs sera considr comme commentaire de chier de conguration. Vous pouvez contourner cette limitation en initialisant une macro utilisateur $USERn$Macros$USERn$ dans votre chier de ressource avec un point virgule et en rfrenant ensuite cette macro $USERn$ dans la variable command_line la place du point virgule.

Si vous souhaitez passer des arguments aux commandes pendant l'excution, vous pouvez utiliser les macros $ARGn$Macros$ARGn$ dans la variable command_line de la dnition de commande et ensuite sparer chaque argument du nom de la commande (et pour sparer chaque argument) avec le symbole du point d'exclamation ( !) dans les variables de dnitions (commande de contrle d'hte, commande de gestionnaire d'vnements, etc.) qui rfrencent cette commande. Plus d'informations sur la faon dont sont traits les arguments de commande au moment de leur excution peuvent tre trouves dans la documentation sur les macros.

19.4.9

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 services. Les dpendances de services sont optionnelles et sont principalement destines aux utilisateurs avancs qui ont des installations de supervision complexes. Plus d'informations sur le focntionnement des dpendances de services ( lire absolument !) peuvent tre trouves ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 quelconque utilit.

dene servicedependency{ dependent_host_name dependent_hostgroup_name dependent_service_description host_name hostgroup_name service_description inherits_parent execution_failure_criteria notication_failure_criteria dependency_period }

host_name hostgroup_name service_description host_name hostgroup_name service_description [0/1] [o,w,u,c,p,n] [o,w,u,c,p,n] timeperiod_name

19.4.9.3 Exemple de dnition


define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria }

WWW1 Apache Web Server WWW1 Main Web Site n 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dpendant seront toujours envoyes. Si vous prcisez w dans ce champ, les notications pour le service dpendant ne seront pas envoyes si le service matre est dans un tat WARNING. dependency_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les dpendances sont valides. Si cette variable est vide, les dpendances seront considres comme valides tout le temps.

19.4.10

Dnition d'escalade de service

19.4.10.1 Description Les escalades de services sont compltement optionnelles et sont utilises pour escalader les notications d'un service particulier. Plus d'informations sur le fonctionnement des escalades peuvent tre trouves ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 hostgroup_name service_description contacts contact_groups rst_notication last_notication notication_interval escalation_period escalation_options }

host_name hostgroup_name service_description contacts contactgroup_name # # # timeperiod_name [w,u,c,r]

19.4.10.3 Exemple de dnition


define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups }

nt-3 Processor Load 4 0 30 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 peuvent tre spars par des virgules. La variable hostgroup_name peut tre utilise la place ou en conjonction avec la variable host_name. service_description Cette variable est utilise pour identier la description du service pour lequel s'applique l'escalade. rst_notication Cette variable est un nombre identiant la premire notication pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur 3, cette escalade sera seulement utilise si le service est dans un tat non-OK depuis susamment longtemps pour qu'une troisime notication soit envoye. last_notication Cette variable est un nombre identiant la dernire notication pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur 5, cette escalade ne sera pas utilise si plus de cinq notications ont t envoyes pour le service. Mettre cette valeur 0 prcise de continuer utiliser cette escalade sans n (peu importe le nombre de notications envoyes).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade de service. notication_interval Cette variable est utilise pour dterminer l'intervalle auquel envoyer les notications pendant que l'escalade est valide. Si vous prcisez une valeur de 0 pour cet intervalle, Nagios va envoyer la premire notication quand la dnition d'escalade est valide mais prendra soin de ne plus envoyer aucune notication de problme pour l'hte. Les notications sont renvoyes quand l'hte revient la normale. Utile si vous souhaitez arrter l'envoi des notications aprs un certain temps. Note Si de multiples entres d'escalade pour un hte se chevauchent sur une ou plusieurs plages de notications, le plus petit des intervalles de notication pour toutes les escalades sera utilis.

escalation_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les escalades sont valides. Si cette variable est vide, les escalades seront considres comme valides tout le temps. escalation_options Cette variable est utilise pour dnir les critres qui dterminent si une escalade de service doit tre utilis. L'escalade est seulement utilise si le service est dans un des tats prciss dans cette variable. Si cette variable n'est pas prcise dans la dnition d'escalade de service, l'escalade est considre comme valide pendant l'ensemble des tats du service. Les options valides sont une combinaison de l'un ou de plusieurs de ces tats : r = escalade sur un tat OK (retour la normale) w = escalade sur un tat WARNING u = escalade sur un tat UNKNOWN c = escalade sur un tat CRITICAL Si vous prcisez w dans ce champ, l'escalade sera seulement utilise quand le service est en tat WARNING.

19.4.11

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dependent_hostgroup_name host_name hostgroup_name inherits_parent execution_failure_criteria notication_failure_criteria dependency_period }

host_name hostgroup_name host_name hostgroup_name [0/1] [o,d,u,p,n] [o,d,u,p,n] timeperiod_name

19.4.11.3 Exemple de dnition


define hostdependency { host_name dependent_host_name notification_failure_criteria }

WWW1 DBASE1 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_hostgroup_name peut tre utilise la place ou en conjonction avec la variable dependent_host_name. host_name Cette variable est utilise pour identier la description d'un hte dont on dpend (aussi appel hte matre). Plusieurs htes peuvent tre spars par des virgules. hostgroup_name Cette variable est utilise pour identier le(s) nom(s) court(s) de groupes d'htes dont on dpend (aussi appel hte matre). Plusieurs groupes d'htes peuvent tre spars par des virgules. La variable hostgroup_name peut tre utilise la place ou en conjonction avec la variable host_name. inherits_parent Cette variable indique si la dpendance hrite des dpendances de l'hte dont on dpend (aussi appel hte matre). En d'autres termes, si l'hte matre est dpendant de plusieurs autres htes et qu'une des ces dpendances choue, alors cette dpendance chouera galement. execution_failure_criteria Cette variable est utilise pour prciser les critres qui dterminent quand l'hte dpendant ne doit pas tre contrl activement. Si l'hte matre est dans un tat d'erreur que nous prcisons, l'hte dpendant ne sera pas contrl activement. Les options valides sont une combinaison d'un ou de plusieurs des tat suivants (les options multiples sont spares par des virgules).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dpendant seront toujours envoyes. Si vous prcisez d dans ce champ, les notications pour l'hte dpendant ne seront pas envoyes quand l'hte matre est dans un tat DOWN. notication_failure_criteria Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle les dpendances sont valides. Si cette variable est vide, les dpendances seront considres comme valides tout le temps.

19.4.12

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 hostgroup_name contacts contact_groups rst_notication last_notication notication_interval escalation_period escalation_options }

host_name hostgroup_name contacts contactgroup_name # # # timeperiod_name [d,u,r]

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 136 / 379

19.4.12.3 Exemple de dnition


define hostescalation { host_name first_notification last_notification notification_interval contact_groups }

router-34 5 8 60 all-router-admins

19.4.12.4 Description des variables host_name La variable est utilise pour identifer le nom court de hte pour lesquel l'escalade doit s'appliquer. hostgroup_name Cette variable est utilise pour identier le(s) nom(s) court(s) des groupe(s) d'htes auxquels doit s'appliquer cette escalade. Plusieurs groupes d'htes peuvent tre spars par des virgules. Si utilise, l'escalade s'appliquera tous les htes membres des groupes d'htes spcis. rst_notication Cette variable est un nombre identiant la premire notication pour laquelle l'escalade est eective. Par exemple, si vous mettez cette valeur 3, cette escalade sera seulement utilise si l'hte est dans un tat non-OK depuis susamment longtemps pour qu'une troisime notication soit envoye. last_notication Cette variable est un nombre identiant la dernire notication pour laquelle l'escalade est effective. Par exemple, si vous mettez cette valeur 5, cette escalade ne sera pas utilise si plus de cinq notications ont t envoyes pour l'hte. Mettre cette valeur 0 prcise de continuer utiliser cette escalade sans n (peu importe le nombre de notications envoyes). contacts C'est une liste de noms courts de contacts notier chaque fois qu'il y a des problmes (ou des retours la normale) avec cet hte. Plusieurs contacts peuvent tre prciss en les sparant par des virgules. Utile si vous souhaitez envoyer des notications vers quelques personnes et que vous ne souhaitez pas congurer des groupes de contacts .Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade d'hte. contact_groups C'est une liste de noms courts de groupes de contacts notier chaque escalade de l'hte. Plusieurs groupes de contacts peuvent tre prciss en les sparant par des virgules. Vous devez prciser au moins un contact ou un groupe de contacts dans chaque dnition d'escalade d'hte. notication_interval Cette variable est utilise pour dterminer l'intervalle auquel envoyer les notications pendant que l'escalade est valide. Si vous prcisez une valeur de 0 pour cet intervalle, Nagios va envoyer la premire notication quand la dnition d'escalade est valide mais prendra soin de ne plus envoyer aucune notication de problme pour l'hte. Les notications sont renvoyes quand l'hte revient la normale. Utile si vous souhaitez arrter l'envoi des notications aprs un certain temps. Note Si de multiples entres d'escalade pour un hte se chevauchent sur une ou plusieurs plages de notications, le plus petit des intervalles de notication pour toutes les escalades sera utilis.

escalation_period Cette variable est utilise pour prciser le nom court d'une priode de temps pendant laquelle

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 notes notes_url action_url icon_image icon_image_alt vrml_image statusmap_image 2d_coords 3d_coords }

host_name note_string url url image_le alt_string image_le image_le x_coord,y_coord x_coord,y_coord,z_coord

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 supplmentaires sur l'hte. Si vous prcisez une URL, vous verrez un lien indiquant Extra Host Notes dans le CGI extended information (quand vous regardez les informations de l'hte). N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc. action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires sur l'hte. Si vous prcisez une URL, vous verrez un lien indiquant Extra Host Actions dans le CGI extended information (quand vous regardez les informations de l'hte). N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer cet hte. Cette image sera ache dans les CGIs status et extended information. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/ local/nagios/share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans les CGIs status, extended information et statusmap. vrml_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer cet hte. Cette image sera utilise comme fond de carte pour l'hte spci dans le CGI statuswrl. Au contraire de l'image utilise dans la variable <icon_image>, celle-ci ne devrait pas avoir d'attribut de transparence. Si c'est le cas, le rendu de l'hte sera un peu bizarre. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 139 / 379

statusmap_image Cette variable est utlise pour dnir le nom d'une image associer l'hte dans le CGI statusmap. Vous pouvez utiliser une image au format JPEG, PNG ou GIF si vous voulez, mais je vous recommande vivement d'utiliser le format d'image GD2 pour ne pas perdre de temps CPU en calcul (comme c'est le cas avec les autres formats) quand vous gnrez la carte d'tats. Les images GD2 peuvent tre cres partir d'image PNG en utilisant l'utilitaire pngtogd2 fourni avec la librairie gd de Thomas Boutell. Les images au format GD2 doivent tre cres dans un format non compress toujours pour minimiser la charge CPU au moment de charger la carte rseau. Le rendu de l'image sera maximal si vous utilisez une taille de 40x40 pixels. Vous pouvez laisser cette option vide si vous n'utilisez pas le CGI de carte d'tats. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos). 2d_coords Cette variable est utilise pour dnir les coordonnes utiliser pour l'hte dans le CGI statusmap. Les coordonnes doivent tre donnes en entier positif car correpsondant aux pixels dans l'image gnre. Le dpart de la carte (0,0) se trouve dans le coin suprieur gauche de l'image et s'tend en positif dans la direction x ( droite) partir du haut de l'image et en positif dans la direction y (bas) partir du bord gauche de l'image. Pour rfrence, la taille des icnes est habituellement de 40x40 pixels (le texte prend un peu d'espace supplmentaire). Les coordonnes que vous prcisez ici sont pour le coin suprieur gauche de l'icne de l'hte dessiner. Note Ne vous inquitez pas du nombre maximal de coordonnes que vous pouvez utliser ici. Le CGI va automatiquement calculer les dimensions maximales de l'image qu'il cre en se basant sur les plus grandes valeurs x et y que vous avez prcis.

3d_coords Cette variable est utilise pour dnir les coordonnes de l'hte utiliser dans le CGI statuswrl. Les coordonnes peuvent tre des nombres positifs ou ngatifs. Le dpart du dessin est (0.0,0.0,0.0). Pour rfrence, la taille des cubes pour les htes est de 0,5 units de chaque ct (les textes prennent un plus d'espace). Les coordonnes que vous utilisez sont le centre du cube de l'hte.

19.4.14

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 dnitions d'informations tendues de service spares continueront tre supportes pour conserver la compatibilit avec les anciennes versions.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service_description notes notes_url action_url icon_image icon_image_alt }

host_name service_description note_string url url image_le 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 supplmentaires sur le service. Si vous prcisez une URL, vous verrez un lien indiquant Extra Service Notes dans le CGI extended information (quand vous regardez les informations du service). N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). Peut tre utile si vous souhaitez mettre disposition d'autres quipes de support les informations dtailles d'un hte, les moyens de contacts utiliser en cas d'urgence, etc.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 141 / 379

action_url Cette variable est utilise pour dnir une URL optionnelle fournissant des actions supplmentaires sur le service. Si vous prcisez une URL, vous verrez un lien indiquant Extra Service Actions dans le CGI extended information (quand vous regardez les informations du service). N'importe quelle URL valide peut tre utilise. Si vous pensez utiliser des chemins relatifs, le chemin de base sera le mme que celui utilis pour accder aux CGIs (par exemple /cgi-bin/nagios/). icon_image Cette variable est utilise pour dnir le nom d'une image au format GIF, PNG ou JPG associer l'hte. Cette image sera ache dans plusieurs endroits des CGIs. Le rendu de l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des htes sont censes se trouver dans le sous-rpertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/ share/images/logos). icon_image_alt Cette variable est utilise pour dnir une chane de caractres optionnelle utiliser dans l'attribut ALT de l'image prcise par l'argument <icon_image>. L'attribut ALT peut tre utilis dans les CGIs status, extended information et statusmap.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'infrasctructure. 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 informations 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'environnement 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 143 / 379

define host { host_name _mac_address _rack_number ... }

linuxserver 00:06:5B:A6:AD:AA ; <-- Custom MAC_ADDRESS variable R32 ; <-- Custom RACK_NUMBER variable

define service { host_name description _SNMP_community _TechContact ... } define contact { contact_name _AIM_username _YahooID ... }

linuxserver Memory Usage public ; <-- Custom SNMP_COMMUNITY variable Jane Doe ; <-- Custom TECHCONTACT variable

john john16 john32

; <-- Custom AIM_USERNAME variable ; <-- 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'environnement. Pour viter tous conits de noms parmi les variables personnalises de dirents types d'objets, Nagios ajoute _HOST, _SERVICE ou _CONTACT au dbut des variables personnalises d'htes, de services 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 respectives pour les variables personnalises dnies dans l'exemple prcdent. Type d'objet Hte Hte Service Service Contact Contact

Nom de la Nom de la macro Variable d'environnement variable MAC_ADDRESS $_HOSTMAC_ADDRESS$ NAGIOS__HOSTMAC_ADDRESS RACK_NUMBER $_HOSTRACK_NUMBER$ NAGIOS__HOSTRACK_NUMBER SNMP_COMMUNITY $_SERVICESNMP_COMMUNITY$ NAGIOS__SERVICESNMP_COMMUNITY TECHCONTACT $_SERVICETECHCONTACT$ NAGIOS__SERVICETECHCONTACT AIM_USERNAME $_CONTACTAIM_USERNAME$ NAGIOS__CONTACTAIM_USERNAME YAHOOID $_CONTACTYAHOOID$ NAGIOS__CONTACTYAHOOID

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 145 / 379

21.3.1
Format: Exemple:

Emplacement du chier de conguration principal


main_config_file=<file_name> 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
Format: Exemple:

Chemin d'accs physique aux chiers HTML


physical_html_path=<path> 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
Format: Exemple:

URL d'accs aux pages HTML


url_html_path=<path> url_html_path=/nagios

Si, lors de l'accs Nagios via un navigateur web, vous pointez sur une URL du type http://www.myhost.com/nagios, cette variable doit avoir pour valeur /nagios. En fait, il s'agit de la partie contenant le chemin d'accs aux pages HTML de Nagios dans l'URL utilise pour accder aux pages HTML de Nagios.

21.3.4
Format: Exemple:

Utilisation de l'authentication
use_authentication=<0/1> use_authentication=1

Cette option dtermine si les CGIs utiliseront l'authentication et les autorisations pour dterminer les informations et les commandes auxquelles les utilisateurs auront accs. Je vous recommande vivement d'utiliser l'authentication dans les CGIs. Si vous choisissez de ne pas le faire, assurez-vous de supprimer le CGI de commande pour empcher les utilisateurs non autoriss d'envoyer des commandes Nagios. Ce CGI ne devrait pas envoyer de commandes Nagios si l'authentication est dsactive, mais deux prcautions valent mieux qu'une. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations dans les CGIs ici. 0 = Ne pas utiliser l'authentication 1 = Utiliser l'authentication et les autorisations (par dfaut)

21.3.5

Nom d'utilisateur par dfaut

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 146 / 379

Format: Exemple:

default_user_name=<username> default_user_name=guest

Cette variable dnit un nom d'utilisateur par dfaut pour accder aux CGIs. Ainsi les utilisateurs d'un domaine scuris (i.e., derrire un rewall) peuvent accder aux CGIs sans avoir s'authentier auprs du serveur web. Vous pouvez choisir cette fonctionnalit pour viter le recours l'authentication de base si vous n'utilisez pas un serveur web scuris, car l'authentication de base transmet les mots de passe en clair sur Internet. Important Ne dnissez pas un utilisateur par dfaut moins que vous n'utilisiez un serveur web scuris et que vous soyez sr que tous ceux qui ont accs aux CGIs ont t authentis d'une manire ou d'une autre ! Si vous dnissez cette variable, ceux qui ne se sont pas authentis auprs du serveur web hriteront de tous les droits que vous donnez cet utilisateur !

21.3.6
Format: Exemple:

Accs aux informations sur le systme et le processus


authorized_for_system_information=<user1>,<user2>,<usern> authorized_for_system_information=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir les informations sur le systme et le processus dans les CGIs d'informations complmentaires. Les utilisateurs de cette liste ne sont pas automatiquement autoriss passer des commandes systme/processus. Si vous voulez que des utilisateurs puissent aussi passer ces commandes, il faut les ajouter la variable authorized_for_system_commands. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations des CGIs ici.

21.3.7
Format: Exemple:

Accs aux commandes du systme/processus


authorized_for_system_commands=<user1>,<user2>,<usern> 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 authorized_for_system_information. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations des CGI ici.

21.3.8
Format: Exemple:

Accs aux informations de conguration


authorized_for_configuration_information=<user1>,<user2>,<usern> authorized_for_configuration_information=nagiosadmin

C'est une liste de noms d'utilisateurs authentis, spars par des virgules, qui peuvent voir les informations lies la conguration via le CGI de conguration. Les utilisateurs de cette liste peuvent voir les informations sur tous les htes congurs, les groupes d'htes, les services, les contacts, les

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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
Format: Exemple:

Accs global aux informations sur les htes


authorized_for_all_hosts=<user1>,<user2>,<usern> 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 automatiquement autoriss voir les informations de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autoriss envoyer des commandes aux htes ou aux services. Si vous voulez que des utilisateurs puissent aussi envoyer des commandes, il faut les ajouter la variable authorized_for_all_host_commands. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations des CGIs ici.

21.3.10
Format: Exemple:

Accs global aux commandes des htes


authorized_for_all_host_commands=<user1>,<user2>,<usern> 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
Format: Exemple:

Accs global aux informations sur les services


authorized_for_all_services=<user1>,<user2>,<usern> 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 autoriss voir les informations de tous les htes. Les utilisateurs de cette liste ne sont pas automatiquement autoriss envoyer des commandes tous les services. Si vous voulez que des utilisateurs puissent aussi envoyer des commandes, il faut les ajouter la variable authorized_for_all_service_commands. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations des CGIs ici.

21.3.12
Format: Exemple:

Accs global aux commandes des services


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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 automatiquement autoriss voir l'tat ou la conguration de tous les services. Si vous voulez que des utilisateurs puissent aussi voir ces informations, il faut les ajouter la variable authorized_for_all_services. Vous trouverez plus d'informations sur la faon de congurer l'authentication et les autorisations des CGIs ici.

21.3.13
Format: Exemple:

Vrouillage des noms d'auteur


lock_author_names=[0/1] 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
Format: Exemple:

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


statusmap_background_image=<image_file> statusmap_background_image=smbackground.gd2

Cette option permet de spcier une image qui sera utilise comme fond d'image dans le CGI de cartographie des tats si vous utilisez la mthode de dessin des coordonnes dnies par l'utilisateur. L'image de fond n'est disponible dans aucune autre mthode. Il est suppos que l'image est situe dans le chemin des images HTML ( c.a.d /usr/local/nagios/share/images). Ce chemin est automatiquement dtermin en ajoutant /images au chemin dni dans le paramtre physical_html_path. Note Cette image peut tre au format GIF, JPEG, PNG, ou GD2. Cependant, le format GD2 (de prfrence en format non compress) est recommand, en raison de la faible charge CPU requise quand le CGI gnre l'image.

21.3.15
Format: Exemple:

Dessin de la cartographie des tats : valeur par dfaut


default_statusmap_layout=<layout_number> 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> 0 Mthode de dessin Coordonnes dnies par l'utilisateur

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 149 / 379

Valeur <layout_number> 1 2 3 4 5 6

Mthode de dessin Couches imbriques Arbre rduit Arbre quilibr Circulaire Circulaire (avec marque suprieure) Circulaire (sous forme de ballon)

21.3.16
Format: Exemple:

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


statuswrl_include=<vrml_file> 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 navigateur VRML)

21.3.17
Format: Exemple:

Dessin du monde des tats : valeur par dfaut


default_statuswrl_layout=<layout_number> 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> 0 2 3 4 Mthode de dessin Coordonnes dnies par l'utilisateur Arbre rduit Arbre quilibr Circulaire

21.3.18
Format: Exemple:

Frquence de rafrachissement des CGIs


refresh_rate=<rate_in_seconds> 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 150 / 379

host_unreachable_sound=<sound_file> host_down_sound=<sound_file> service_critical_sound=<sound_file> service_warning_sound=<sound_file> service_unknown_sound=<sound_file> host_unreachable_sound=hostu.wav host_down_sound=hostd.wav Exemples: service_critical_sound=critical.wav service_warning_sound=warning.wav service_unknown_sound=unknown.wav Formats: Cette option vous permet de spcier un chier audio jouer dans votre navigateur lorsqu'il y a des problmes dans le CGI d'tat. En cas de problmes multiples, le chier audio jou est celui du problme le plus critique. Un problme est considr comme le plus critique lorsqu'un ou plusieurs htes sont inaccessibles, alors qu'il est le moins critique lorsqu'un ou plusieurs services sont dans un tat inconnu (voyez l'ordre dans l'exemple ci-dessus). Les chiers audios sont censs se trouver dans le sous-rpertoire media/ de votre rpertoire HTML (i.e. /usr/local/nagios/share/media).

21.3.20
Format: Exemple:

Syntaxe Ping
ping_syntax=<command> ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

Cette option dnit quelle syntaxe doit tre utilise quand on veut tester un hte avec ping travers l'interface WAP en utilisant le CGI statuswml .Vous devez inclure le chemin complet vers le chier binaire excutable de ping, ainsi que les paramtres passs la commande. La macro $HOSTADDRESS$ est remplace par l'adresse de l'hte avant que la commande ne soit excute.

21.3.21
Format: Exemple:

Option d'chappement des balises HTML


escape_html_tags=[0/1] 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
Format: Exemple:

URL cible des notes


notes_url_target=[target] 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
Format: Exemple:

URL cible d'action


action_url_target=[target] action_url_target=_blank

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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
Format: Exemple:

Option d'intgration Splunk


enable_splunk_integration=[0/1] 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, historique d'alerte, dtail d'hte/service, etc.). Utile si vous essayez de rechercher pourquoi un problme particulier est survenu. Pour plus d'informations sur Splunk, visitez http://www.splunk.com/.

21.3.25
Format: Exemple:

URL Splunk
splunk_url=<path> splunk_url=http://127.0.0.1:8000/

Cette option est utilise pour dnir l'URL de base de votre interface Splunk. Cet URL est utilis par les CGIs pour crer les liens si l'option enable_splunk_integration est active.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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>

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commandes auxquelles les utilisateurs peuvent accder. Pour cela la variable use_authentication du chier de conguration des CGIs doit tre positionne une valeur dirente de zro. Par exemple :
use_authentication=1

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/autorisation est active ? Donnes des CGIs Information sur l'tat des htes Information sur la conguration des htes Historique des htes Notications des htes Commandes des htes Information sur l'tat des services Information sur la conguration des services Historique des services Notications des services Commandes des services Toutes informations de conguration Information sur le systme/processus Commandes systme/processus Contacts authentis* Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Autres utilisateurs authentis* Non Non Non Non Non Non Non Non Non Non Non Non Non

Les contacts authentis* ont les droits suivants sur chaque service dont ils sont un contact (mais pas sur ceux dont ils ne sont pas un contact) Droit de voir l'tat du service Droit de voir la conguration du service Droit de voir l'historique et les notications de ce service Droit de passer des commandes ce service Les contacts authentis* ont les droits suivants sur chaque hte dont ils sont un contact (mais pas sur ceux dont ils ne sont pas un contact) Droit de voir l'tat de l'hte Droit de voir la conguration de l'hte Droit de voir l'historique et les notications de cet hte

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 informations 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 suivantes autoris pour les informations systme autoris pour les commandes systme autoris pour les informations de conguration autoris pour tous les htes autoris pour toutes les commandes aux htes autoris pour tous les services autoris pour toutes les commandes aux services

22.7

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 transmet les mots de passe en clair sur Internet.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 !

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 156 / 379

Quatrime partie

Dmarrage de Nagios

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 conguration. 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'erreurs au fur et mesure que les donnes de conguration sont vries. Si vous avez le moindre message d'erreur, vous aurez besoin d'diter vos chiers de conguration pour rgler le problme. Les messages de warning peuvent en gnral tre ignors sans problme car ce sont seulement des recommandations et non des obligations. Une fois que vous avez vri vos chiers de conguration et rgl toutes les erreurs, vous pouvez continuer et (re)dmarrer Nagios.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 communes 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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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>

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 160 / 379

Cinquime partie

Les bases

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 superviser avec Nagios. Il existe dj plein de plugins qui ont t crs pour superviser des ressources basiques comme la charge processeur, l'espace disque utils, les statistiques de la commande ping, etc. Si vous voulez superviser autre chose, reportez-vous la documentation nomme crire ses plugins et crez les vtres. C'est trs simple ! L'inconvnient de ce type d'architecture de plugin est le fait que Nagios n'a absolument aucune ide de ce que vous supervisez. Vous pourriez superviser les statistiques du trac rseau, les taux d'erreur de donnes, la temprature ambiante, la tension du CPU, la vitesse du ventilateur, la charge du processeur, l'espace disque, ou la capacit de votre super_fantastique grille-pain griller parfaitement votre pain le matin Nagios ne comprend pas les spcicits de ce qui est supervis. Les plugins seulement savent exactement ce qu'ils contrlent et comment eectuer ces contrles.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 informations sur comment dvelopper vos propres plugins ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 164 / 379

Chapitre 26

Utilisation des macros dans les commandes


26.1 Macros
Une des fonctionalits disponibles dans Nagios est la possibilit d'utiliser des macros [NdT : macrocommandes] 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 commande par les valeurs correspondantes. Certaines macros peuvent contenir elles-mmes d'autres macros. Celles-ci incluent les macros $HOSTNOTES$, $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTES$, $SERVICENOTESURL$, et $SERVICEACTIONURL$ .

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 address check_command ... } define command { command_name linuxbox 192.168.1.2 check_ping

check_ping

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 165 / 379

command_line 200.0,60% }

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

La ligne de commande nale, aprs substitution, qui sera excute pour le contrle de l'hte ressemblera ceci : /usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 100.0,90% -c 200.0,60% Ce qui est beau c'est que vous pouvez utilisez une simple commande de contrle pour un nombre illimit d'htes. Chaque hte va tre contrl avec cette mme commande parce que chaque adresse de vos htes seront automatiquement soumis pendant l'excution de votre commande.

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 service_description check_command ... } linuxbox PING 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 command_line $ARG2$ } check_ping /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c -

La ligne de commande nale excuter pour le contrle du service sera : /usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 200.0,80% -c 400.0,40% ASTUCE Si vous devez passer des points d'exclamations ( !) dans vos arguments de commandes, vous pouvez faire ainsi en les espaant avec un backslash (\). Si vous devez inclure des backslashes dans vos arguments de commandes, ils devront aussi tre espacs avec un backslash.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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$

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 address _MACADDRESS ... } linuxbox 192.168.1.1 00:01:02:03:04:05

La variable _MACADDRESS serait disponible dans une macro appele $_HOSTMACADDRESS$. Plus d'informations sur les variables personnalises d'objets et comment les utiliser dans des macros peuvent tre trouves ici.

26.8 Nettoyage des macros


Les valeurs de certaines macros sont dpouilles des mtacaractres du shell potentiellement dangereux, 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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 directement 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 correspondantes (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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 Oui la macro n'est pas disponible la macro est disponible

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 170 / 379

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications

Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui

Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui

Donnes de performance d'hte Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Non Non Oui Oui Oui Oui Oui Oui Oui Oui

Macros d'hte : 3 $HOSTNAME$Macros$HOSTNAME$ Oui Oui Oui $HOSTDISPLAYNAME$Macros$HOSTDISPLAYNAME$ Oui Oui Oui $HOSTALIAS$Macros$HOSTALIAS$ Oui Oui Oui $HOSTADDRESS$Macros$HOSTADDRESS$ Oui Oui Oui $HOSTSTATE$Macros$HOSTSTATE$ Oui Oui Oui 1 $HOSTSTATEID$Macros$HOSTSTATEID$ Oui Oui Oui 1 $LASTHOSTSTATE$Macros$LASTHOSTSTATE$ Oui Oui Oui $LASTHOSTSTATEID$Macros$LASTHOSTSTATEID$ Oui Oui Oui $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ Oui Oui Oui 1 $HOSTATTEMPT$Macros$HOSTATTEMPT$Oui Oui Oui $MAXHOSTATTEMPST$Macros$MAXHOSTATTEMPTS$ Oui Oui Oui $HOSTEVENTID$Macros$HOSTEVENTID$ Oui Oui Oui $LASTHOSTEVENTID$Macros$LASTHOSTEVENTID$ Oui Oui Oui $HOSTPROBLEMID$Macros$HOSTPROBLEMID$ Oui Oui Oui $LASTHOSTPROBLEMID$Macros$LASTHOSTPROBLEMID$ Oui Oui Oui $HOSTLATENCY$Macros$HOSTLATENCY$Oui Oui Oui $HOSTEXECUTIONTIME$Macros$HOSTEXECUTIONTIME$ Oui Oui Oui 1 $HOSTDURATION$Macros$HOSTDURATION$ Oui Oui Oui $HOSTDURATIONSEC$Macros$HOSTDURATIONSEC$ Oui Oui Oui $HOSTDOWNTIME$Macros$HOSTDOWNTIME$ Oui Oui Oui $HOSTPERCENTCHANGE$Macros$HOSTPERCENTCHANGE$ Oui Oui Oui $HOSTGROUPNAME$Macros$HOSTGROUPNAME$ Oui Oui Oui $HOSTGROUPNAMES$Macros$HOSTGROUPNAMES$ Oui Oui Oui $LASTHOSTCHECK$Macros$LASTHOSTCHECK$ Oui Oui Oui $LASTHOSTSTATECHANGE$Macros$LASTHOSTSTATECHANGE$ Oui Oui Oui $LASTHOSTUP$Macros$LASTHOSTUP$ Oui Oui Oui $LASTHOSTDOWN$Macros$LASTHOSTDOWN$ Oui Oui Oui $LASTHOSTUNREACHABLE$Macros$LASTHOSTUNREACHABLE$ Oui Oui Oui $HOSTOUTPUT$Macros$HOSTOUTPUT$ Oui Oui Oui 1 $LONGHOSTOUTPUT$Macros$LONGHOSTOUTPUT$ Oui Oui Oui 1 $HOSTPERFDATA$Macros$HOSTPERFDATA$ Oui Oui Oui 1 $HOSTCHECKCOMMAND$Macros$HOSTCHECKCOMMAND$ Oui Oui Oui $HOSTACKAUTHOR$Macros$HOSTACKAUTHOR$ Non Non Non 8 $HOSTACKAUTHORNAME$Macros$HOSTACKAUTHORNAME$ Non Non Non 8 $HOSTACKAUTHORALIAS$Macros$HOSTACKAUTHORALIAS$ Non Non Non 8 $HOSTACKCOMMENT$Macros$HOSTACKCOMMENT$ Non Non Non 8 $HOSTACTIONURL$Macros$HOSTACTIONURL$ Oui Oui Oui $HOSTNOTESURL$Macros$HOSTNOTESURL$ Oui Oui Oui $HOSTNOTES$Macros$HOSTNOTES$ Oui Oui Oui $TOTALHOSTSERVICES$Macros$TOTALHOSTSERVICES$ Oui Oui Oui $TOTALHOSTSERVICESOK$Macros$TOTALHOSTSERVICESOK$ Oui Oui Oui $TOTALHOSTSERVICESWARNING$Macros$TOTALHOSTSERVICESWARNING$ Oui Oui Oui $TOTALHOSTSERVICESUNKNOWN$Macros$TOTALHOSTSERVICESUNKNOWN$ Oui Oui Oui $TOTALHOSTSERVICESCRITICAL$Macros$TOTALHOSTSERVICESCRITICAL$ Oui Oui Oui

Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications

Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui

Donnes de performance de service Oui Oui Oui Oui Oui

Donnes de performance d'hte Oui Oui Oui Oui Oui

Macros de groupes d'htes : $HOSTGROUPALIAS$Macros$HOSTGROUPALIAS$> Oui Oui 5 $HOSTGROUPMEMBERS$Macros$HOSTGROUPMEMBERS$ Oui Oui 5 $HOSTGROUPNOTES$Macros$HOSTGROUPNOTES$ Oui Oui 5 $HOSTGROUPNOTESURL$Macros$HOSTGROUPNOTESURL$> Oui Oui 5 $HOSTGROUPACTIONURL$Macros$HOSTGROUPACTIONURL$ Oui Oui 5

Oui Oui Oui Oui Oui

Oui Oui Oui Oui Oui

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non

Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non

Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Donnes de performance d'hte Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non

Macros de service : $SERVICEDESC$Macros$SERVICEDESC$ Oui Oui Non $SERVICEDISPLAYNAME$Macros$SERVICEDISPLAYNAME$ Oui Oui Non $SERVICESTATE$Macros$SERVICESTATE$Oui Oui 2 Non $SERVICESTATEID$Macros$SERVICESTATEID$ Oui 2 Oui Non $LASTSERVICESTATE$Macros$LASTSERVICESTATE$ Oui Oui Non $LASTSERVICESTATEID$Macros$LASTSERVICESTATEID$ Oui Oui Non $SERVICESTATETYPE$Macros$SERVICESTATETYPE$ Oui Oui Non $SERVICEATTEMPT$Macros$SERVICEATTEMPT$ Oui Oui Non $MAXSERVICEATTEMPTS$Macros$MAXSERVICEATTEMPTS$ Non Oui Oui $SERVICEISVOLATILE$Macros$SERVICEISVOLATILE$ Oui Oui Non $SERVICEEVENTID$Macros$SERVICEEVENTID$ Oui Oui Non $LASTSERVICEEVENTID$Macros$LASTSERVICEEVENTID$ Oui Oui Non $SERVICEPROBLEMID$Macros$SERVICEPROBLEMID$ Oui Oui Non $LASTSERVICEPROBLEMID$Macros$LASTSERVICEPROBLEMID$ Oui Oui Non $SERVICELATENCY$Macros$SERVICELATENCY$ Oui Oui Non $SERVICEEXECUTIONTIME$Macros$SERVICEEXECUTIONTIME$ Oui 2 Oui Non $SERVICEDURATION$Macros$SERVICEDURATION$ Oui Oui Non $SERVICEDURATIONSEC$Macros$SERVICEDURATIONSEC$ Oui Oui Non $SERVICEDOWNTIME$Macros$SERVICEDOWNTIME$ Oui Oui Non $SERVICEPERCENTCHANGE$Macros$SERVICEPERCENTCHANGE$ Oui Oui Non $SERVICEGROUPNAME$Macros$SERVICEGROUPNAME$ Oui Oui Non $SERVICEGROUPNAMES$Macros$SERVICEGROUPNAMES$ Oui Oui Non $LASTSERVICECHECK$Macros$LASTSERVICECHECK$ Oui Oui Non $LASTSERVICESTATECHANGE$Macros$LASTSERVICESTATECHANGE$ Oui Oui Non $LASTSERVICEOK$Macros$LASTSERVICEOK$ Oui Oui Non $LASTSERVICEWARNING$Macros$LASTSERVICEWARNING$ Oui Oui Non $LASTSERVICEUNKNOWN$Macros$LASTSERVICEUNKNOWN$ Non Oui Oui $LASTSERVICECRITICAL$Macros$LASTSERVICECRITICAL$ Oui Oui Non $SERVICEOUTPUT$Macros$SERVICEOUTPUT$ Oui 2 Oui Non $LONGSERVICEOUTPUT$Macros$LONGSERVICEOUTPUT$ Oui 2 Oui Non $SERVICEPERFDATA$Macros$SERVICEPERFDATA$ Oui 2 Oui Non $SERVICECHECKCOMMAND$Macros$SERVICECHECKCOMMAND$ Oui Oui Non

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 171 / 379

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications Non Non Non Non Non Non Non

Gestionnaire d'vnements de service et OCSP Non Non Non Non Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non Non Non

Donnes de performance de service Non Non Non Non Oui Oui Oui

Donnes de performance d'hte Non Non Non Non Non Non Non

$SERVICEACKAUTHOR$Macros$SERVICEACKAUTHOR$ Non Oui Non 8 $SERVICEACKAUTHORNAME$Macros$SERVICEACKAUTHORNAME$ Non Oui Non 8 $SERVICEACKAUTHORALIAS$Macros$SERVICEACKAUTHORALIAS$ Non Oui Non 8 $SERVICEACKCOMMENT$Macros$SERVICEACKCOMMENT$ Non Oui Non 8 $SERVICEACTIONURL$Macros$SERVICEACTIONURL$ Oui Oui Non $SERVICENOTESURL$Macros$SERVICENOTESURL$ Oui Oui Non $SERVICENOTES$Macros$SERVICENOTES$ Oui Oui Non

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications

Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui

Donnes de performance de service Oui Oui Oui Oui Oui

Donnes de performance d'hte Oui Oui Oui Oui Oui

Macros de groupes de services : $SERVICEGROUPALIAS$Macros$SERVICEGROUPALIAS$ Oui Oui 6

Oui

Oui Oui Oui Oui Oui

$SERVICEGROUPMEMBERS$Macros$SERVICEGROUPMEMBERS$ Oui Oui Oui 6 $SERVICEGROUPNOTES$Macros$SERVICEGROUPNOTES$ Oui Oui Oui 6 $SERVICEGROUPNOTESURL$Macros$SERVICEGROUPNOTESURL$ Oui Oui Oui 6 $SERVICEGROUPACTIONURL$Macros$SERVICEGROUPACTIONURL$ Oui Oui Oui 6

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications Oui Oui Oui Oui Oui

Gestionnaire d'vnements de service et OCSP Non Non Non Non Non

Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non

Donnes de performance de service Non Non Non Non Non

Donnes de performance d'hte Non Non Non Non Non

Macros de contact : $CONTACTNAME$Macros$CONTACTNAME$ Non Oui $CONTACTALIAS$Macros$CONTACTALIAS$ Non Oui $CONTACTEMAIL$Macros$CONTACTEMAIL$ Non Oui $CONTACTPAGER$Macros$CONTACTPAGER$ Non Oui $CONTACTADDRESSn$Macros$CONTACTADDRESSn$ Non Oui

Non Non Non Non Non

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications

Gestionnaire d'vnements de service et OCSP Oui Oui

Gestionnaire d'vnements d'hte et OCHP Oui Oui

Donnes de performance de service Oui Oui

Donnes de performance d'hte Oui Oui

Macros de groupes de contacts : $CONTACTGROUPALIAS$Macros$CONTACTGROUPALIAS$ Oui Oui 7

Oui

Oui Oui

$CONTACTGROUPMEMBERS$Macros$CONTACTGROUPMEMBERS$ Oui Oui Oui 7

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications

Gestionnaire d'vnements de service et OCSP

Gestionnaire d'vnements d'hte et OCHP

Donnes de performance de service

Donnes de performance d'hte

Macros rcapitulatives : $TOTALHOSTSUP$Macros$TOTALHOSTSUP$ Oui Oui 4 10 $TOTALHOSTSDOWN$Macros$TOTALHOSTSDOWN$ Oui Oui 4 10 Oui Oui Oui 4 Oui 4 Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

$TOTALHOSTSUNREACHABLE$Macros$TOTALHOSTSUNREACHABLE$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTSDOWNUNHANDLED$Macros$TOTALHOSTSDOWNUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTSUNREACHABLEUNHANDLED$Macros$TOTALHOSTSUNREACHABLEUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTPROBLEMS$Macros$TOTALHOSTPROBLEMS$ Oui Oui 4 Oui Oui 4 10 $TOTALHOSTPROBLEMSUNHANDLED$Macros$TOTALHOSTPROBLEMSUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESOK$Macros$TOTALSERVICESOK$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESWARNING$Macros$TOTALSERVICESWARNING$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESCRITICAL$Macros$TOTALSERVICESCRITICAL$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESUNKNOWN$Macros$TOTALSERVICESUNKNOWN$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESWARNINGUNHANDLED$Macros$TOTALSERVICESWARNINGUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESCRITICALUNHANDLED$Macros$TOTALSERVICESCRITICALUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICESUNKNOWNUNHANDLED$Macros$TOTALSERVICESUNKNOWNUNHANDLED$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICEPROBLEMS$Macros$TOTALSERVICEPROBLEMS$ Oui Oui 4 Oui Oui 4 10 $TOTALSERVICEPROBLEMSUNHANDLED$Macros$TOTALSERVICEPROBLEMSUNHANDLED$ Oui Oui 4 Oui Oui 4 10

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements de service et OCSP Non Non Non Non Non Non Non Non Non Non Non

Gestionnaire d'vnements d'hte et OCHP Non Non Non Non Non Non Non Non Non Non Non

Donnes de performance de service Non Non Non Non Non Non Non Non Non Non Non

Donnes de performance d'hte Non Non Non Non Non Non Non Non Non Non Non

Macros de notication : $NOTIFICATIONTYPE$Macros$NOTIFICATIONTYPE$ Non Oui Non $NOTIFICATIONRECIPIENTS$Macros$NOTIFICATIONRECIPIENTS$ Non Oui Non $NOTIFICATIONISESCALATED$Macros$NOTIFICATIONISESCALATED$ Non Oui Non $NOTIFICATIONAUTHOR$Macros$NOTIFICATIONAUTHOR$ Non Oui Non $NOTIFICATIONAUTHORNAME$Macros$NOTIFICATIONAUTHORNAME$ Non Oui Non $NOTIFICATIONAUTHORALIAS$Macros$NOTIFICATIONAUTHORALIAS$ Non Oui Non $NOTIFICATIONCOMMENT$Macros$NOTIFICATIONCOMMENT$ Non Oui Non $HOSTNOTIFICATIONNUMBER$Macros$HOSTNOTIFICATIONNUMBER$ Non Oui Non $HOSTNOTIFICATIONID$Macros$HOSTNOTIFICATIONID$ Non Oui Non $SERVICENOTIFICATIONNUMBER$Macros$SERVICENOTIFICATIONNUMBER$ Non Oui Non $SERVICENOTIFICATIONID$Macros$SERVICENOTIFICATIONID$ Non Oui Non

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 172 / 379

Macro Name

Service Checks

Service Notications Service Notications

Host Checks

Host Notications Host Notications Oui Oui Oui Oui Oui Oui Oui

Macro Name

Service Checks

Host Checks

Gestionnaire d'vnements de service et OCSP Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui Oui

Donnes de performance de service Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui

Donnes de performance d'hte Donnes de performance d'hte Oui Oui Oui Oui Oui Oui Oui

Macros de date/heure : $LONGDATETIME$Macros$LONGDATETIME$ Oui Oui $SHORTDATETIME$Macros$SHORTDATETIME$ Oui Oui $DATE$Macros$DATE$ Oui Oui $TIME$Macros$TIME$ Oui Oui $TIMET$Macros$TIMET$ Oui Oui $ISVALIDTIME:$Macros$ISVALIDTIME:$ Oui Oui 9 $NEXTVALIDTIME:$Macros$NEXTVALIDTIME:$ Oui Oui 9

Oui Oui Oui Oui Oui Oui Oui

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Donnes de performance de service Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Donnes de performance d'hte Oui Oui Oui5 Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Macros de chier : $MAINCONFIGFILE$Macros$MAINCONFIGFILE$ Oui Oui $STATUSDATAFILE$Macros$STATUSDATAFILE$ Oui Oui $COMMENTDATAFILE$Macros$COMMENTDATAFILE$ Oui Oui $DOWNTIMEDATAFILE$Macros$DOWNTIMEDATAFILE$ Oui Oui $RETENTIONDATAFILE$Macros$RETENTIONDATAFILE$ Oui Oui $OBJECTCACHEFILE$Macros$OBJECTCACHEFILE$ Oui Oui $TEMPFILE$Macros$TEMPFILE$ Oui Oui $TEMPPATH$Macros$TEMPPATH$ Oui Oui $LOGFILE$Macros$LOGFILE$ Oui Oui $RESOURCEFILE$Macros$RESOURCEFILE$ Oui Oui $COMMANDFILE$Macros$COMMANDFILE$ Oui Oui $HOSTPERFDATAFILE$Macros$HOSTPERFDATAFILE$ Oui Oui $SERVICEPERFDATAFILE$Macros$SERVICEPERFDATAFILE$ Oui Oui

Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui

Macro Name

Service Checks

Service Notications

Host Checks

Host Notications Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements de service et OCSP Oui Oui Oui Oui Oui Oui

Gestionnaire d'vnements d'hte et OCHP Oui Oui Oui Oui Oui Oui

Donnes de performance de service Oui Oui Oui Oui Oui Oui

Donnes de performance d'hte Oui Oui Oui Oui Oui Oui

Macros diverses : $PROCESSSTARTTIME$Macros$PROCESSSTARTTIME$ Oui Oui $EVENTSTARTTIME$Macros$EVENTSTARTTIME$ Oui Oui $ADMINEMAIL$Macros$ADMINEMAIL$ Oui Oui $ADMINPAGER$Macros$ADMINPAGER$ Oui Oui $ARGn$Macros$ARGn$ Oui Oui $USERn$Macros$USERn$ Oui Oui

Oui Oui Oui Oui Oui Oui

27.3 Description des macros


Macros d'hte : 3 $HOSTNAME$ Nom court de l'hte (par exemple biglinuxbox). Cette valeur provient du paramtre host_name de la dnition de l'hte. Nom d'hte utilis pour l'achage. Cette 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 l'hte. Adresse de l'hte. Cette valeur provient du paramtre address de la dnition de l'hte. Une chane reprsentant l'tat actuel de l'hte (UP DOWN, ou UNREACHABLE). , Un nombre correspondant l'tat actuel de l'hte : 0=UP 1=DOWN, 2=UNREACHABLE. , Une chane reprsentant le dernier tat de l'hte (UP DOWN, ou UNREACHABLE). ,

$HOSTDISPLAYNAME$

$HOSTALIAS$

$HOSTADDRESS$

$HOSTSTATE$

$HOSTSTATEID$

$LASTHOSTSTATE$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 173 / 379

$LASTHOSTSTATEID$

Un nombre correspondant au dernier tat de l'hte : 0=UP 1=DOWN, 2=UNREACHABLE. , Une chane indiquant le type d'tat actuel du contrle d'hte (HARD ou SOFT). L'tat est SOFT lorsque le contrle a renvoy un tat non-OK (non-UP) et va tre ressay. L'tat est HARD lorsque le contrle d'hte a t tent le nombre de fois maximum dni. Le nombre d'essais de contrle d'hte actuel. Par exemple, si c'est la seconde fois que l'hte est contrl, ce sera le nombre 2. Le nombre actuel d'essais n'est rellement utile que pour l'criture de gestionnaires d'vnements d'hte pour des tats SOFT, qui agiraient de manire spcique selon le nombre de tentatives. Le nombre maximum d'essais de contrles dni pour l'hte actuel. Utile lors de l'criture de gestionnaire d'vnements d'hte pour les tats SOFT qui ont besoin de prendre une action base sur le numro de l'essai. Un numro unique associ l'tat actuel de l'hte. chaque fois qu'un hte (ou un service) change d'tat, un numro global d'vnement est incrment de un (1). Si un hte n'a pas chang d'tat, cette macro gale zro (0). Le numro unique d'vnement prcdent qui a t donn un hte. Un numro unique associ l'tat problmatique actuel de l'hte. chaque fois qu'un hte (ou un service) change d'tat de UP ou OK un tat problmatique, un numro global d'vnement est incrment de un (1). Cette macro est dirente de zro si l'hte est actuellement dans un tat dirent de UP Les . changements d'tats entre tats dirents de OK (par exemple DOWN ou UNREACHABLE) n'incrmente pas ce numro unique. Si un hte est dans l'tat UP cette macro est gale , zro (0). Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour crer automatiquement des tickets de support au moment o les htes basculent pour la premire fois dans un tat problmatique.

$HOSTSTATETYPE$

$HOSTATTEMPT$

$MAXHOSTATTEMPST$

$HOSTEVENTID$

$LASTHOSTEVENTID$

$HOSTPROBLEMID$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 174 / 379

$LASTHOSTPROBLEMID$

Le numro unique de problme prcdent qui a t donn un hte. Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour clore automatiquement des tickets de support au moment o les htes reviennent dans un tat UP . Un nombre (rel) indiquant le retard en secondes par rapport au moment o un contrle d'hte ordonnanc devait tre excut. Par exemple, si un contrle tait ordonnanc 03 :14 :15 et qu'il n'a t excut qu' 03 :14 :17, la latence de ce contrle est de 2.0 secondes. Les contrles d'htes la demande ont une latence de zro secondes. un nombre (rel) indiquant le nombre de secondes qu'a pris l'excution du contrle d'hte (c.--d. le temps pendant lequel le contrle s'est excut). Une chane indiquant le temps qu'a pass l'hte dans sont tat actuel. Le format est XXh YYm ZZs, pour les heures, les minutes et les secondes. Un nombre indiquant le nombre de secondes qu'a pass l'hte dans sont tat actuel. Un nombre indiquant la profondeur d'arrt plani pour l'hte. Si cet hte est actuellement dans une priode d'arrt plani, la valeur sera suprieure zro. Si l'hte n'est pas en cours d'arrt plani, la valeur sera zro. Un nombre (rel) indiquant le pourcentage de changement d'tat subit par l'hte. Le pourcentage de changement d'tat est utilis par l'algorithme de dtection d'oscillation. le nom court du groupe d'htes auquel appartient cet hte. Cette valeur provient du paramtre hostgroup_name de la dnition de groupe d'htes. Si l'hte fait partie de plus d'un groupe d'hte cette macro contiendra le nom d'un seul de ceux-ci. Une liste spare par des virgules du nom court de tous les groupes d'htes auxquels appartient cet hte. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le dernier contrle d'hte a eu lieu.

$HOSTLATENCY$

$HOSTEXECUTIONTIME$

$HOSTDURATION$

$HOSTDURATIONSEC$

$HOSTDOWNTIME$

$HOSTPERCENTCHANGE$

$HOSTGROUPNAME$

$HOSTGROUPNAMES$

$LASTHOSTCHECK$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 175 / 379

$LASTHOSTSTATECHANGE$

C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'tat de l'hte a chang pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'hte a t vu dans l'tat UP pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'hte a t vu dans l'tat DOWN pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'hte a t vu dans l'tat UNREACHABLE pour la dernire fois. La premire ligne du texte en sortie du dernier contrle d'hte (p. ex. Ping OK). Le texte complet (en plus de la premire ligne) qui a t renvoy par le dernier contrle d'hte. Cette macro contient les donnes de performance qui ont ventuellement t renvoyes par le dernier contrle d'hte. Cette macro contient le nom de la commande (ainsi que les paramtres qui ont pu lui tre passs) utilise lors du contrle d'hte. Une chane contenant le nom de l'utilisateur qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant le nom court du contact (si applicable) qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant l'alias du contact (si applicable) qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT.

$LASTHOSTUP$

$LASTHOSTDOWN$

$LASTHOSTUNREACHABLE$

$HOSTOUTPUT$

$LONGHOSTOUTPUT$

$HOSTPERFDATA$

$HOSTCHECKCOMMAND$

$HOSTACKAUTHOR$ 8

$HOSTACKAUTHORNAME$ 8

$HOSTACKAUTHORALIAS$ 8

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 176 / 379

$HOSTACKCOMMENT$ 8

Une chane contenant le commentaire associ l'acquittement saisi par l'utilisateur qui a acquitt le problme de l'hte. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. URL d'action associe l'hte. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$), ce qui peut s'avrer pratique quand vous souhaitez passer le nom d'hte une page web. URL de notes associe l'hte. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$), ce qui peut s'avrer pratique quand vous souhaitez passer le nom d'hte une page web. URL de notes associe l'hte. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$), ce qui peut s'avrer pratique quand vous souhaitez avoir l'tat d'un hte spcique dans la description. Le nombre total de services associs Le nombre total de services associs qui sont dans un tat OK. Le nombre total de services associs qui sont dans un tat WARNING. Le nombre total de services associs qui sont dans un tat UNKNOWN. Le nombre total de services associs qui sont dans un tat CRITICAL. l'hte. l'hte l'hte l'hte l'hte

$HOSTACTIONURL$

$HOSTNOTESURL$

$HOSTNOTES$

$TOTALHOSTSERVICES$ $TOTALHOSTSERVICESOK$ $TOTALHOSTSERVICESWARNING$ $TOTALHOSTSERVICESUNKNOWN$ $TOTALHOSTSERVICESCRITICAL$

Macros de groupes d'htes : 5 Le nom long/alias soit de 1) du groupe d'htes pass en argument de la macro la demande ou soit 2) du groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre alias de la dnition du groupe d'htes . Une liste spare par des virgules des htes appartenant soit 1) au groupe d'htes pass en argument de la macro la demande ou soit 2) au groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande).

$HOSTGROUPALIAS$ 5

$HOSTGROUPMEMBERS$ 5

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 177 / 379

$HOSTGROUPNOTES$ 5

Les notes associes avec soit 1) le groupe d'htes pass en argument de la macro la demande ou soit 2) le groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre notes de la dnition du groupe d'htes. L' URL de notes associe avec soit 1) le groupe d'htes pass en argument de la macro la demande ou soit 2) le groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre notes_url de la dnition du groupe d'htes. L' URL d'action associe avec soit 1) le groupe d'htes pass en argument de la macro la demande ou soit 2) le groupe d'hte principal associ l'hte actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre action_url de la dnition du groupe d'htes.

$HOSTGROUPNOTESURL$ 5

$HOSTGROUPACTIONURL$ 5

Macros de service : Le nom long/description du service (p. ex. Main Website ). Cette valeur provient du paramtre description de la dnition du service. Un nom utilis pour l'achage du service. Cette valeur provient du paramtre display_name de la dnition du service. Une chane indiquant l'tat actuel du service (OK, WARNING, UNKNOWN, ou CRITICAL). Un nombre qui correspond l'tat actuel du service : 0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN. Une chane indiquant l'tat prcdent du service (OK, WARNING, UNKNOWN, ou CRITICAL). Un nombre qui correspond l'tat prcdent du service : 0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN.

$SERVICEDESC$

$SERVICEDISPLAYNAME$

$SERVICESTATE$

$SERVICESTATEID$

$LASTSERVICESTATE$

$LASTSERVICESTATEID$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 178 / 379

$SERVICESTATETYPE$

Une chane indiquant le type d'tat actuel du contrle de service (HARD ou SOFT). L'tat est SOFT quand le contrle de service renvoie un tat non-OK state et va tre ressay. L'tat est HARD quand le contrle de service a t tent le nombre de fois maximum dni. Le nombre actuel d'essais de contrle du service. Par exemple, si c'est la seconde fois que le service est contrl, ce sera le nombre deux. Le nombre actuel d'essais n'est rellement utile que pour l'criture de gestionnaires d'vnements d'hte pour des tats SOFT, qui agiraient de manire spcique selon le nombre de tentatives. Le nombre maximum d'essais de contrle du service actuel. Utile pour l'criture de gestionnaires d'vnements d'hte pour des tats SOFT, qui agiraient de manire spcique selon le nombre de tentatives de contrle de service. Indique si le service est volatile ou pas : 0 = non volatile, 1 = volatile. Un numro unique associ l'tat actuel du service. chaque fois qu'un service (ou un hte) change d'tat, un numro global d'vnement est incrment de un (1). Si un service n'a pas chang d'tat, cette macro gale zro (0). Le numro unique d'vnement prcdent qui a t donn un service. Un numro unique associ l'tat problmatique actuel du service. chaque fois qu'un service (ou un hte) change d'tat de OK ou UP un tat problmatique, un numro global d'vnement est incrment de un (1). Cette macro est dirente de zro si le service est actuellement dans un tat dirent de OK. Les changements d'tats entre tats dirents de OK (par exemple WARNING ou CRITICAL) n'incrmente pas ce numro unique. Si un service est dans l'tat OK, cette macro est gale zro (0). Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour crer automatiquement des tickets de support au moment o les services basculent pour la premire fois dans un tat problmatique.

$SERVICEATTEMPT$

$MAXSERVICEATTEMPTS$

$SERVICEISVOLATILE$

$SERVICEEVENTID$

$LASTSERVICEEVENTID$

$SERVICEPROBLEMID$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 179 / 379

$LASTSERVICEPROBLEMID$

Le numro unique de problme prcdent qui a t donn un service. Combin avec les gestionnaires d'vnements, cette macro peut tre utilise pour clore automatiquement des tickets de support au moment o les services reviennent dans un tat OK. Un nombre (rel) indiquant le retard en secondes par rapport au moment o un contrle de service ordonnanc devait tre excut. Par exemple, si un contrle tait ordonnanc 03 :14 :15 et qu'il n'a t excut qu' 03 :14 :17, la latence de ce contrle est de 2.0 secondes. un nombre (rel) indiquant le nombre de secondes qu'a pris l'excution du contrle de service (c.--d. le temps pendant lequel le contrle s'est excut). Une chane indiquant le temps qu'a pass le service dans son tat actuel. Le format est XXh YYm ZZs, pour les heures, les minutes et les secondes. Un nombre indiquant le nombre de secondes qu'a pass le service dans son tat actuel. Un nombre indiquant la profondeur d'arrt plani pour le service. Si ce service est actuellement dans une priode d' arrt plani, la valeur sera suprieure zro. Si le service n'est pas en cours d'arrt plani, la valeur sera zro. Un nombre (rel) indiquant le pourcentage de changement d'tat subit par le service. Le pourcentage de changement d'tat est utilis par l'algorithme de dtection d'oscillation. le nom court du groupe de services auquel appartient ce service. Cette valeur provient du paramtre servicegroup_name de la dnition de groupe de services. Si le service fait partie de plus d'un groupe de services cette macro contiendra le nom d'un seul de ceux-ci. Une liste spare par des virgules du nom court de tous les groupes de services auxquels appartient ce service. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le dernier contrle de service a eu lieu.

$SERVICELATENCY$

$SERVICEEXECUTIONTIME$

$SERVICEDURATION$

$SERVICEDURATIONSEC$

$SERVICEDOWNTIME$

$SERVICEPERCENTCHANGE$

$SERVICEGROUPNAME$

$SERVICEGROUPNAMES$

$LASTSERVICECHECK$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 180 / 379

$LASTSERVICESTATECHANGE$

C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o l'tat du service a chang pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat OK pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat WARNING pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat UNKNOWN pour la dernire fois. C'est le moment au format time_t (secondes coules depuis l'poque UNIX) o le service a t vu dans l'tat CRITICAL pour la dernire fois. La premire ligne du texte en sortie du dernier contrle de service (p. ex. Ping OK). Le texte complet (en plus de la premire ligne) en sortie du dernier contrle de service (p. ex. Ping OK). Cette macro contient les donnes de performance qui ont pu tre renvoyes par le dernier contrle de service. Cette macro contient le nom de la commande (ainsi que les paramtres qui ont pu lui tre passs) utilise lors du contrle de service. Une chane contenant le nom de l'utilisateur qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant le nom court de l'utilisateur (si applicable) qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT.

$LASTSERVICEOK$

$LASTSERVICEWARNING$

$LASTSERVICEUNKNOWN$

$LASTSERVICECRITICAL$

$SERVICEOUTPUT$

$LONGSERVICEOUTPUT$

$SERVICEPERFDATA$

$SERVICECHECKCOMMAND$

$SERVICEACKAUTHOR$ 8

$SERVICEACKAUTHORNAME$ 8

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 181 / 379

$SERVICEACKAUTHORALIAS$ 8

Une chane contenant l'alias de l'utilisateur (si applicable) qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. Une chane contenant le commentaire associ l'acquittement saisi par l'utilisateur qui a acquitt le problme du service. Cette macro n'est valable que dans les notications dont la macro $NOTIFICATIONTYPE$ vaut ACKNOWLEDGEMENT. URL d'action associe au service. Cette valeur provient du paramtre action_url de la dnition d'informations complmentaires du service. URL d'action associe au service. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$ ou $SERVICEDESC$), ce qui peut s'avrer pratique quand vous souhaitez passer le nom d'hte une page web. URL de notes associe au service. Cette macro peut contenir d'autres macros (par exemple $HOSTNAME$ ou $SERVICEDESC$), ce qui peut s'avrer pratique quand vous souhaitez avoir l'tat d'un service spcique dans la description.

$SERVICEACKCOMMENT$ 8

$SERVICEACTIONURL$

$SERVICENOTESURL$

$SERVICENOTES$

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

$SERVICEGROUPALIAS$ 6

$SERVICEGROUPMEMBERS$ 6

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 182 / 379

$SERVICEGROUPNOTES$ 6

Les notes associes soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur provient du paramtre notes de la dnition du groupe de services. L'URL de notes associe soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur provient du paramtre notes_url de la dnition du groupe de services. L'URL d'action associe soit 1) au groupe de services pass en argument de la macro la demande ou soit 2) au groupe de services principal associ au service actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur provient du paramtre action_url de la dnition du groupe de services.

$SERVICEGROUPNOTESURL$ 6

$SERVICEGROUPNOTES$ 6

Macros de contact : Nom court du contact (p. ex. jdoe) qui est noti pour un problme d'hte ou de service. Cette valeur provient du paramtre contact_name de la dnition de contact. Nom long/description du contact (p. ex. John Doe) qui est noti. Cette valeur provient du paramtre alias de la dnition de contact. Adresse email du contact qui est noti. Cette valeur provient du paramtre email de la dnition de contact. Numro/adresse du Pager du contact qui est noti. Cette valeur provient du paramtre pager de la dnition de contact. Adresse du contact qui est noti. Chaque contact peut avoir six adresses direntes (en plus de son adresse email et de son numro de pager). Les macros correspondant ces adresses sont $CONTACTADDRESS1$ $CONTACTADDRESS6$. Cette valeur provient du paramtre addressx de la dnition de contact.

$CONTACTNAME$

$CONTACTALIAS$

$CONTACTEMAIL$

$CONTACTPAGER$

$CONTACTADDRESSn$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 183 / 379

$CONTACTGROUPNAME$

Le nom court du groupe de contact auquel est rattach ce contact. Cette valeur provient du paramtre contactgroup_name de la dnition de groupes de contacts. Une liste spare par des virgules des groupes de contacts auxquels appartient ce contact.

$CONTACTGROUPNAMES$

Macros de groupes de contacts : 5 Le nom long/alias soit 1) du groupe de contacts pass en argument de la macro la demande ou soit 2) du groupe de contacts principal associ au contact actuel (si non utilis dans le contexte d'une macro la demande). Cette valeur est donne par le paramtre alias de la dnition du groupe de contacts. Une liste spare par des virgules de tous les contacts soit 1) du groupe de contacts pass en argument de la macro la demande ou soit 2) du groupe de contacts principal associ au contact actuel (si non utilis dans le contexte d'une macro la demande).

$CONTACTGROUPALIAS$ 7

$CONTACTGROUPMEMBERS$ 7

Macros rcapitulatives : $TOTALHOSTSUP$ Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat UP . Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat UNREACHABLE. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN et qui ne sont pas en cours de traitement. Un problme d'hte est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat UNREACHABLE et qui ne sont pas en cours de traitement. Un problme d'hte est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs.

$TOTALHOSTSDOWN$

$TOTALHOSTSUNREACHABLE$

$TOTALHOSTSDOWNUNHANDLED$

$TOTALHOSTSUNREACHABLEUNHANDLED$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 184 / 379

$TOTALHOSTPROBLEMS$

Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN ou UNREACHABLE. Cette macro donne le nombre total d'htes qui sont actuellement dans l'tat DOWN ou UNREACHABLE et qui ne sont pas en cours de traitement. Un problme d'hte est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat OK. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING. Cette macro donne le nombre total de services qui sont actuellement dans l'tat CRITICAL. Cette macro donne le nombre total de services qui sont actuellement dans l'tat UNKNOWN. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat CRITICAL et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat UNKNOWN et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING, CRITICAL, ou UNKNOWN. Cette macro donne le nombre total de services qui sont actuellement dans l'tat WARNING, CRITICAL, ou UNKNOWN et qui ne sont pas en cours de traitement. Un problme de service est dit non trait s'il n'est pas acquitt, ni en cours d'arrt plani, et dont les contrles sont activs.

$TOTALHOSTPROBLEMSUNHANDLED$

$TOTALSERVICESOK$

$TOTALSERVICESWARNING$

$TOTALSERVICESCRITICAL$

$TOTALSERVICESUNKNOWN$

$TOTALSERVICESWARNINGUNHANDLED$

$TOTALSERVICESCRITICALUNHANDLED$

$TOTALSERVICESUNKNOWNUNHANDLED$

$TOTALSERVICEPROBLEMS$

$TOTALSERVICEPROBLEMSUNHANDLED$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 185 / 379

Macros de notication : Une chane reprsentant le type de notication envoye (PROBLEM, RECOVERY, ACKNOWLEDGEMENT, FLAPPINGSTART, FLAPPINGSTOP FLAPPINGDISABLED, DOWNTIMESTART, DOWNTIMEEND ou DOWNTIMECANCELLED). Une liste spare par des virgules de tous les noms courts des contacts qui sont notis pour un hte ou un service. Un entier indiquant si la notication a t envoy des contacts normaux pour l'hte ou le service ou si elle a t escalad. 0 = Notication normale (non-escalade) , 1 = Notication escalade. Une chane contenant le nom de l'utilisateur qui a crit la notication. Si la macro $NOTIFICATIONTYPE$ est gale DOWNTIMESTART ou DOWNTIMEEND, ce sera le nom de l'utilisateur qui a programm la maintenance de l'hte ou du service. Si la macro $NOTIFICATIONTYPE$ est gale ACKNOWLEDGEMENT, ce sera le nom de l'utilisateur qui a acquitt le problme de'hte ou de service. Si la macro $NOTIFICATIONTYPE$ est gale CUSTOM, ce sera le nom de l'utilisateur qui a initi la notication personnalise de l'hte ou du service. Une chane contenant le nom court du contact (si applicable) tel qu'indiqu dans la macro $NOTIFICATIONAUTHOR$. Une chane contenant l'alias du contact (si applicable) tel qu'indiqu dans la macro $NOTIFICATIONAUTHOR$.

$NOTIFICATIONTYPE$

$NOTIFICATIONRECIPIENTS$

$NOTIFICATIONISESCALATED$

$NOTIFICATIONAUTHOR$

$NOTIFICATIONAUTHORNAME$

$NOTIFICATIONAUTHORALIAS$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 186 / 379

$NOTIFICATIONCOMMENT$

Une chane contenant le commentaire entr par l'auteur de la notication. Si la macro $NOTIFICATIONTYPE$ est gale DOWNTIMESTART ou DOWNTIMEEND, ce sera le commentaire de l'utilisateur qui a programm la maintenance de l'hte ou du service. Si la macro $NOTIFICATIONTYPE$ est gale ACKNOWLEDGEMENT, ce sera le commentaire de l'utilisateur qui a acquitt le problme de'hte ou de service. Si la macro $NOTIFICATIONTYPE$ est gale CUSTOM, ce sera le commentaire de l'utilisateur qui a initi la notication personnalise de l'hte ou du service. Le numro courant de la notication de l'hte. Le numro de notication augmente par incrment de un (1) chaque fois qu'une nouvelle notication est envoye pour l'hte (except pour les acquittements). Le numro de notication est remis zro quand l'hte revient l'tat ok (aprs que la notication de retour la normale soit envoye). Les acquittements n'incrmentent pas le numro de notication, pas plus que les notications qui ont voir avec les oscillations et la maintenance planie. Un numro unique qui identie une notication d'hte. Les numros identiants de notications sont uniques travers tout le systme de notications pour les htes et services. Vous pouvez donc utiliser ce numro comme cl primaire dans une base de donnes de notications. Ces numros devraient rester uniques mme aprs redmarrage de Nagios tant que vous activez l'option de rtention d'tats. Le numro identiant de notication est incrment par pas de un (1) chaque fois qu'une nouvelle notication pour l'hte est envoye, sans tenir compte du nombre de contacts notis. Le numro courant de la notication de service. Le numro de notication augmente par incrment de un (1) chaque fois qu'une nouvelle notication est envoye pour le service (except pour les acquittements). Le numro de notication est remis zro quand le service revient l'tat ok (aprs que la notication de retour la normale soit envoye). Les acquittements n'incrmentent pas le numro de notication, pas plus que les notications qui ont voir avec les oscillations et la maintenance planie.

$HOSTNOTIFICATIONNUMBER$

$HOSTNOTIFICATIONID$

$SERVICENOTIFICATIONNUMBER$

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 187 / 379

$SERVICENOTIFICATIONID$

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

Macros de date/heure : $LONGDATETIME$ Date et heure actuelles (p. ex. Fri Oct 13 00 :30 :28 CDT 2000). Le format de la date est dni par le paramtre date_format . Date et heure actuelles (p. ex. 10-13-2000 00 :30 :28). Le format de la date est dni par le paramtre date_format . Date du jour (p. ex. 10-13-2000). Le format de la date est dni par le paramtre date_format . Heure actuelle (p. ex. 00 :30 :28). Moment actuel au format time_t (secondes coules depuis l'poque UNIX). C'est une macro la demande spciale qui renvoie 1 ou 0 en fonction du fait qu'une heure donne fait partie ou non d'une priode de temps prcis. Il y a deux faons d'utiliser cette macro : 0. $ISVALIDTIME:24x7$ est gale 1si l'heure courante est valide dans la priode de temps 24x7. gale 0 dans le cas contraire. 0. $ISVALIDTIME:24x7:timestamp$ est gale 1si l'heure donne par l'argument timestamp (qui doit tre au format time_t) est valide dans la priode de temps 24x7. gale 0 dans le cas contraire.

$SHORTDATETIME$

$DATE$ $TIME$ $TIMET$

$ISVALIDTIME:$ 9

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 : $MAINCONFIGFILE$ $STATUSDATAFILE$ $COMMENTDATAFILE$ $DOWNTIMEDATAFILE$ $RETENTIONDATAFILE$ $OBJECTCACHEFILE$ $TEMPFILE$ $TEMPPATH$ $LOGFILE$ $RESOURCEFILE$ $COMMANDFILE$ $HOSTPERFDATAFILE$ $SERVICEPERFDATAFILE$ Emplacement du chier de conguration principal . Emplacement du journal des tats. Emplacement du chier de commentaires. Emplacement du chier des arrts planis. Emplacement du chier de mmorisation des tats . Emplacement du chier de cache des objets. Emplacement du chier temporaire. Le dossier prcis dans la variable chemin temporaire. Emplacement du chier journal . Emplacement du chier de ressources. Emplacement du chier de commandes externes. Emplacement du chier de performance des htes (s'il est dni). Emplacement du chier de performance des services (s'il est dni).

Macros diverses :

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 189 / 379

$PROCESSSTARTTIME$

Moment au format time_t (secondes coules depuis l'poque UNIX) o le processus Nagios a t (re)dmarr pour la dernire fois. Vous pouvez en dduire le nombre de secondes coules depuis le dmarrage (ou redmarrage) de Nagios, en soustrayant $PROCESSSTARTTIME$ de $TIMET$Macros$TIMET$. Moment au format time_t (secondes coules depuis l'poque UNIX) o Nagios a commenc traiter les vnements (contrles, etc.). Vous pouvez dduire le nombre de secondes qui ont t ncessaires au dmarrage de Nagios en soustrayant $PROCESSSTARTTIME$ de $EVENTSTARTTIME$. Adresse email globale de l'administrateur. Cette valeur provient du paramtre admin_email . Numro/adresse global du pager de l'administrateur. Cette valeur provient du paramtre admin_pager . Le n-ime paramtre pass la commande (notication, gestionnaire d'vnement, contrle de service, etc.). Nagios gre jusqu' 32 macros de paramtre (de $ARG1$ $ARG32$). La nime macro dnie par l'utilisateur. Les macros utilisateur peuvent tre dnies dans un ou plusieurs chiers de ressources. Nagios gre jusqu' 32 macros utilisateur (de $USER1$ $USER32$).

$EVENTSTARTTIME$

$ADMINEMAIL$

$ADMINPAGER$

$ARGn$

$USERn$

27.4 Notes
1 Ces macros ne sont pas valables pour l'hte auquel elles sont associes lorsque cet hte est en cours de contrle (c.--d. qu'elles n'ont pas de sens, car elles ne sont pas encore dtermines). 2 Ces macros ne sont pas valables pour le service auquel elles sont associes lorsque ce service est en cours de contrle (c.--d. qu'elles n'ont pas de sens, car elles ne sont pas encore dtermines). 3 Quand des macros d'hte sont utilises dans des commandes relatives un service (c.--d. les notications de service, les gestionnaires d'vnements, etc.) elles font rfrence l'hte auquel est associ le service. 4 Quand les macros rcapitulatives d'hte et de service sont utilises dans des commandes de notication, les totaux sont ltrs pour ne prendre en compte que les htes et les services autoriss ce contact (c.--d. les htes et les services congurs pour lui envoyer des notications). 5 Ces macros sont habituellement associes avec le groupe primaire d'htes auquel appartient l'hte actuel. Elles peuvent donc tre considres comme des macros d'htes dans la plupart des cas. Cependant, ces macros ne sont pas valables dans le cas de macros d'hte la demande. la place, elles

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 $NOTIFICATIONAUTHOR$, $NOTIFICATIONAUTHORNAME$, $NOTIFICATIONAUTHORALIAS$ ou $NOTIFICATIONCOMMENT$. 9 Ces macros sont seulement valables dans le cas de macros la demande. Vous devez fournir un argument supplmentaire pour les utiliser. Ces macros ne sont pas disponibles comme variables d'environnement. 10 Les macros de statistiques ne sont pas disponibles comme variables d'environnement si l'option use_large_installation_tweaks est active, car elles sont plutt grosses consommatrices de CPU lors de leurs calculs.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dpendance 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'utilisation des contrles mis en cache, qui permettent Nagios de ne pas excuter un contrle d'hte s'il

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 peuvent 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 performance. 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 OK WARNING UNKNOWN CRITICAL Etat pralable de l'Hte UP UP ou DOWN* DOWN 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 DOWN DOWN

Etat de l'Hte Parent Au moins un des parents est UP Tous les parents sont soit DOWN soit UNREACHABLE

Etat Final de l'Hte DOWN 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 (oscillants). 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 dtecter 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'informations sur les dpendances sont disponibles ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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, UNKNOWN, 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ?

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_interval 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 interruptions 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'intgration 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_service_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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ignorera tous les rsultats de contrles pour les services qui n'ont pas t congur avant son dernier (re)dmarrage.

ASTUCE Un exemple de script shell sur comment soumettre un contrle passif de service Nagios se trouve dans la documentation des services volatiles.

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'informations sur son fonctionnement ici. Note Les contrles passifs des htes sont normalement traits en tats HARD, moins que l'option passive_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 supervision, j'ai dvelopp un agent du nom NSCANSCA. L'agent NSCA se compose d'un dmon tournant sur le serveur Nagios et un client qui est excut par les htes distants. Le dmon coutera toutes les connexions des htes distants, excutera quelques validations fondamentales sur les rsultats lui tant soumis et crira ensuite les rsultats des contrles directement dans le chier de commandes externes (comme dcrit au-dessus). Plus de renseignements sur l'agent NSCA peuvent tre trouvs ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 gestionnaires d'vnements. L'utilisation des gestionaires d'vnements peut tre particulirement utile si vous voulez essayer et rsoudre un problme de faon proactive avant qu'il ne se transforme en tat HARD. Les macros $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ ou $SERVICESTATETYPE$Macros$SER auront alors la valeur SOFT quand les gestionnaires d'vnement seront excuts, ce qui permettra aux gestionnaires d'vnements de savoir quand ils devront prendre des mesures correctives. Plus d'informations sur les gestionnaires d'vnements sont disponibles ici.

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 surviennent, et quand les gestionnaires d'vnements sont excuts et les notications sont envoyes. Le tableau ci-dessous montre les contrles conscutifs dans le temps. Le max_check_attempt du service contrl est positionn 3. Echelle de temps 0 Contrle # 1 Etat OK Type d'tat HARD Changement Notes d'tat Non Etat initial du service

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 204 / 379

Echelle de temps

Contrle #

Etat

Type d'tat

CRITICAL

SOFT

Changement Notes d'tat Premire dtection d'un tat non-OK. Le Oui gestionnaire d'vnement s'excute. Le service continue d'tre dans un tat non-OK. Le gestionnaire d'vnement s'excute. Le nombre maximum de tentatives a t atteint, le service passe dans un tat HARD. Le gestionnaire d'vnement s'excute et une notication est envoye. Le compteur de tentavive repasse immdiatement 1. Le service passe un tat WARNING HARD. Le gestionnaire d'vnement s'excute et une notiaction du problme est envoye. Le service se stabilise dans un tat HARD. Selon l'intervalle de notication spci pour le service, d'autres notivications peuvent tre envoyes. Le service passe un tat OK HARD. Le gestionnaire d'vnement s'excute et une notication de retour la normale est envoye. Le service est toujours OK. Le service est dtect comme ayant bascul vers un tat SOFT non-OK. Le gestionnaire d'vnement s'excute.

WARNING

SOFT

Oui

CRITICAL

HARD

Oui

WARNING

HARD

Oui

WARNING

HARD

Non

OK

HARD

Oui

OK

HARD

Non

UNKNOWN SOFT

Oui

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 205 / 379

Echelle de temps

Contrle #

Etat

Type d'tat

OK

SOFT

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

10

OK

HARD

Non

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 essentiellement d'une priode de surveillance de type 24x7. Spcier une plage horaire dans le paramtre check_period vous permet de restreindre Nagios planier les contrles actifs rguliers des htes ou des services. Quand Nagios va tenter de replanier un contrle d'hte ou de service, il va s'assurer que le prochain contrle tombe bien dans la plage horaire dnie. Si ce n'est pas le cas, Nagios va ajuster l'heure du prochain contrle pour qu'elle concide avec la prochaine heure valide dans la plage horaire spcie. Ce qui signie que l'hte ou le service ne sera contrl nouveau que dans plusieurs heures, jours, semaines, etc. Note Les contrles la demande et les contrles passifs ne sont pas restreints par la plage horaire spcie dans le paramtre check_period. Seuls des contrles rguliers actifs sont concerns.

Sauf si vous avez une bonne raison de ne pas le faire, je vous conseille de surveiller tous les htes et les services en utilisant des plages horaires qui couvrent une priode de temps 24x7. Si vous ne le faites pas, vous pouvez rencontrer certains problmes au cours de ces priodes de non-contrle (lorsque l'on ne se trouve pas dans la plage horaire dnie) : 1. Le statut de l'hte ou du service apparatra inchang tout au long de la priode de non-contrle. 2. Les contacts ne seront pas re-notis des problmes avec un hte ou un service durant une priode de non-contrle. 3. Si un hte ou un service redevient OK pendant une priode de non-contrle, les contacts ne seront pas immdiatement notis du retour normale.

33.4 Comment fonctionnent les priodes de temps avec les contacts de notications
En spciant une priode au paramtre notification_period d'une dnition d'un hte ou d'un service, vous pouvez contrler quand Nagios est autoris envoyer des notications concernant des problmes ou des retours la normale pour cet hte ou ce service. Lorsqu'une notication pour un hte doit tre envoye, Nagios s'assure que l'heure actuelle est bien comprise dans la plage horaire notification_period valide. Si c'est une heure valide, alors Nagios essayera de notier chaque contact du problme ou du retour la normale. Vous pouvez aussi utiliser les priodes pour contrler quand seront envoyes les notications individuellement chaque contact. En utilisant les paramtres service_notification_period and host_notification_period dans la dnition d'un contact, vous serez en mesure de dnir une plage

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 escalades de notication
Les escalades de notication des htes et services ont un paramtre optionnel nomm escalation_period qui vous permet de spcier une plage horaire o l'escalade sera valide et pourra tre utilise. Si vous n'utilisez pas le paramtre escalation_period dans la dnition de l'escalalde, l'escalade sera considre comme valide tout le temps. Si vous spciez une plage horaire pour le paramtre escalation_period, Nagios utilisera dnition de l'escalade seulement pendant cette plage horaire.

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 dependency_period, Nagios utilisera la dnition de la dpendance seulement pendant cette plage horaire.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 209 / 379

Chapitre 34

Dtermination de l'tat et de l'accessibilit 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 UNREACHABLE. Ces deux tats sont compltement dirents (mais en relation) et peuvent vous aider rapidement trouver la cause profonde de problmes rseaux. Voici comment fonctionne la logique d'accessibilit 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 supervisez l'ensemble des htes (serveurs, routeurs, switchs, etc.) gurant sur le diagramme. Nagios est install et fonctionne sur le serveur Nagios.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 superviss, 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 paquet 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 parent/enfant pour cet exemple :
define host { host_name } define host { host_name parents } define host { host_name parents } Nagios ; <-- The local host has no parent - it is the topmost host

Switch1 Nagios

Web Switch1

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 212 / 379

define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents } define host { host_name parents }

FTP Switch1

Router1 Switch1

Switch2 Router1

Wkstn1 Switch2

HPLJ2605 Switch2

Router2 Router1

somewebsite.com Router2

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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-

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 216 / 379

Chapitre 35

Notications
35.1 Introduction

J'ai reu de nombreuses questions sur le fonctionnement des notications. Ce document essaiera d'expliquer exactement quand et comment les notications pour les htes et les services sont mises, et qui les reoit. Les escalades de notications sont expliques ici.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_notifications 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 notications 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 envoyes 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 dfinition d'hte et de service comporte un paramtre notification_period qui spcie quelle priode contient les heures de notication valides pour cet hte ou service. Si le moment o la notication apparat n'est pas dans une plage valide de la priode spcie, personne n'est contact. Dans le cas contraire, la notication est passe au ltre suivant

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dfinition de contact comprend des paramtres qui dterminent si les notications de service peuvent tre mises pour les tats WARNING, CRITICAL, et RECOVERY. Chaque dnition de contact contient galement des options qui dterminent si les notications d'htes peuvent tre mises lorsqu'un hte passe dans les tats DOWN, UNREACHABLE, ou RECOVERY. Si la notication d'hte ou de service ne remplit pas ces conditions, les contacts ne recevront pas de notication. Dans le cas contraire, la notication est passe au prochain ltre Note Les notications concernant les rtablissement d'htes et de services ne sont mises que si une notication a t envoye l'apparition du problme. Cela n'a pas de sens de recevoir une notication de rtablissement pour un problme dont vous n'aviez pas connaissance

Le dernier ltre passer pour chaque contact concerne la priode. Chaque dnition de contact comprend un paramtre notification_period qui spcie la priode durant laquelle on peut envoyer des notications ce contact. Si l'heure laquelle la notication est faite n'est pas comprise dans la plage de temps de la priode spcie, le contact ne recevra pas la notication. Dans le cas contraire, le contact la reoit !

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,

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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-enun. Si les contrles de service taient intgrs dans le cur de Nagios, il serait trs dicile pour les utilisateurs d'ajouter de nouvelles mthodes de contrle, de modier celles qui existent, etc. Les notications fonctionnent de la mme manire. Il y a mille et une faons d'envoyer des notications et de nombreux modules ont dj t dvelopps pour faire le sale boulot, alors pourquoi rinventer la roue, et vous contenter d'un pneu de vlo ? Il est bien plus facile de dlguer une application externe (c.--d. un simple script ou un systme de messagerie complet) ce travail complexe. Des modules de messagerie qui peuvent traiter les notications pour les pagers ou les tlphones portables sont lists ci-dessous, dans la section des ressources.

35.9 Macro de type de notication


Lorsque vous bricolez vos commandes de notication, vous devez prendre en compte le type de notication 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 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 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 l'interface web par les contacts de l'hte ou du service concern. L'hte ou le service vient de commencer osciller. L'hte ou le service vient de s'arrter d'osciller.

PROBLEM

RECOVERY

ACKNOWLEDGEMENT

FLAPPINGSTART

FLAPPINGSTOP

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 220 / 379

Valeur FLAPPINGDISABLED

Description L'hte ou le service vient de s'arrter d'osciller parce que la dtection d'oscillation a t dsactive. L'hte ou le service vient d'entrer dans une priode de maintenance planie. Les notications suivantes seront supprimes. L'hte ou le service vient de sortir d'une priode de maintenance planie. Les notications de problmes peuvent donc reprendre. La priode de maintenance planie pour l'hte ou le service vient d'tre annule. Les notications de problmes peuvent donc reprendre.

DOWNTIMESTART

DOWNTIMESTOP

DOWNTIMECANCELLED

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 logiciels 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 commande de notication. Si vous cherchez envoyer des messages votre pager ou votre tlphone portable sans email, jetez un coup d'il aux applications suivantes. Elles peuvent tre utilises en conjonction avec Nagios pour envoyer une notication via un modem quand un problme arrive. De cette faon, vous n'tes pas dpendant de l'email pour mettre des notications (gardez l'esprit que l'email peut *ne pas* fonctionner s'il y a des problmes rseau). Je n'ai pas personnellement essay ces applications, mais certains m'ont dit l'avoir fait avec succs Gnokii (logiciel SMS pour contacter des tlphones Nokia via le rseau GSM) QuickPage (logiciel de pager alphanumrique) Sendpage (logiciel de pager) SMS Client (outil en ligne de commande pour envoyer des messages aux pagers et aux tlphones portables)

Si vous dsirez une mthode atypique, vous pouvez essayer de vous amuser avec les alertes sonores. Si vous voulez des alertes sonores sur le serveur de supervision (avec voix synththique), essayez Festival [Anglais]. Si vous voulez les recevoir sur une autre machine, testez le Network Audio System (NAS) (NAS) [Anglais] et rplay [Anglais].

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ncessaires pour accder chacun d'eux. Par dfaut, les CGIs ne fonctionnent que si vous vous tes authentis 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 bibliothque GD de Thomas Boutell (version 1.6.3 ou plus) pour crer une image au format PNG de l'agencement de votre rseau. Les coordonnes utilises pour dessiner chaque hte (ainsi que les jolies icnes facultatives) sont extraites des dnitions d' htes. Si vous souhaitez plutt laisser le CGI dessiner automatiquement les coordonnes pour vous, utilisez le paramtre default_statusmap_layout pour spcier l'algorithme utiliser. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes. Si vous tes un contact authenti vous pouvez voir les htes dont vous tes un contact. Note Les utilisateurs qui ne sont pas autoriss voir un hte particulier verront un nud nomm unknown la place. Je suis conscient qu'ils ne devraient rien voir du tout, mais a n'a aucun sens de gnrer la carte si vous ne pouvez pas voir les dpendances entre les htes

36.4

CGI d'interface WAP

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 appareil WAP (i.e. un tlphone portable compatible Internet), vous pouvez accder aux informations d'tat alors que vous tes en dplacement. Les vues disponibles comprennent le rsum par groupe d'htes, l'aperu par groupe d'htes, le dtail d'un hte, le dtail d'un service, tous les problmes, et les problmes non pris en compte. Vous pouvez de plus dsactiver les notications et les contrles et acquitter des problmes depuis votre portable. Plutt cool, non ? Autorisations requises Si vous tes autoris pour les informations systme vous pouvez voir les informations sur le processus de Nagios. Si vous tes autoris pour tous les htes vous pouvez voir tous les htes et tous les services. Si vous tes autoris pour tous les services vous pouvez voir tous les services. Si vous tes un contact authenti vous pouvez voir les donnes d'tat de tous les htes et services dont vous tes un contact.

36.5

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 automatiquement les coordonnes pour vous, utilisez le paramtre default_statusmap_layout pour spcier l'algorithme utiliser. Il vous faudra un navigateur VRML (comme Cortona, Cosmo Player ou WorldView) install sur votre systme pour pouvoir visualiser ce modle. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir tous les htes. Si vous tes un contact authenti vous pouvez voir les htes dont vous tes un contact. Note Les utilisateurs qui ne sont pas autoriss voir un hte particulier verront un nud nomm unknown la place. Je suis conscient qu'ils ne devraient rien voir du tout, mais a n'a aucun sens de gnrer la carte si vous ne pouvez pas voir les dpendances entre les htes

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 responsables de ruptures de lien. Ceci est particulirement utile sur les grands rseaux pour identier rapidement la cause d'un problme. Les htes sont tris selon la gravit de la rupture dont ils sont responsables.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commandes tous les services. Si vous tes un contact authenti vous pouvez envoyer des commandes tous les htes et services dont vous tes un contact. Note Si vous avez choisi de ne pas utiliser l'authentication dans les CGIs, ce CGI ne permettra personne d'envoyer des commandes Nagios, et ce dans votre propre intrt. Je suggre dans ce cas de supprimer le CGI.

36.10

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 processus de Nagios. Si vous tes autoris pour tous les htes vous pouvez voir les informations complmentaires de tous les htes et de tous les services. Si vous tes autoris pour tous les services vous pouvez voir les informations complmentaires de tous les services. Si vous tes un contact authenti vous pouvez voir les informations complmentaires de tous les htes et de tous les services dont vous tes un contact.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 diffrents types d'alertes sur les services et les htes, tous les types d'alertes, etc.). Si vous avez activ la rotation du journal, vous pouvez voir l'historique contenu dans les journaux archivs en utilisant les liens de navigation situs en haut de la page. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir l'historique de tous les htes et de tous les services. Si vous tes autoris pour tous les services vous pouvez voir l'historique de tous les services.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'afchage est un sous-ensemble de ce que produit le CGI du chier journal. Vous pouvez ltrer l'achage pour n'obtenir que certains types de problmes (i.e. notications relatives aux services, aux htes, envoyes des contacts spciques, etc). Si vous avez activ la rotation du journal, vous pouvez voir les notications contenues dans les journaux archivs en utilisant les liens de navigation situs en haut de la page. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir les notications de tous les htes et tous les services. Si vous tes autoris pour tous les services vous pouvez voir les notications de tous les services. Si vous tes un contact authenti vous pouvez voir les notications relatives tous les htes et tous les services dont vous tes un contact.

36.14

CGI de tendances

Nom du chier

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 bibliothque GD de Thomas Boutell (version 1.6.3 ou plus) pour crer l'image des tendances. Autorisations requises Si vous tes autoris pour tous les htes vous pouvez voir les histogrammes de tous les htes et services. Si vous tes autoris pour tous les services vous pouvez voir les histogrammes de tous les services. Si vous tes un contact authenti vous pouvez voir les histogrammes de tous les services et htes dont vous tes un contact.

36.17

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 231 / 379

Sixime partie

Thmes avancs

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commande 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 233 / 379

Par dfaut, Nagios ne contrle, ni ne traite les commandes externes. Si vous voulez autoriser le traitement des commandes externes, il faut eectuer les actions suivantes Activer le contrle des commandes externes l'aide de l'option check_external_commands Rgler la frquence des contrles de commande l'aide de l'option command_check_interval Prciser l'emplacement du chier de commandes l'aide de l'option command_file . Congurer les bonnes autorisations pour le rpertoire contenant les chiers de commandes. Des dtails sur la manire de faire cela se trouvent ici.

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 pendant 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 commande externe au chier de commande. Les valeurs pour les arguments command_id et command_arguments dpendent de la commande qui sera soumise Nagios. Un listing complet des commandes externes qui peuvent tre utilises (ainsi que des exemples d'utilisation) sont en ligne l'adresse suivante : http://www.nagios.org/developerinfo/externalcommands/

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 utilisations possibles des gestionnaires d'vnements sont : Redmarrer un service en erreur Crer un nouveau ticket dans un systme de helpdesk Enregistrer des vnements dans une base de donnes Reboot d'un hte etc. Important Le reboot d'un hte ayant des problmes de faon automatique par un script ne devrait pas tre implment la lgre. Considrez les consquences avec exactitude avant d'implmenter des reboots automatiques. :-)

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 235 / 379

38.2 Quand les commandes de gestionnaires d'vnements sontelles 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 service, 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 utilisant 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'excute 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 gestionnaires 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 sousrpertoire contrib/eventhandlers/ de la distribution Nagios. Quelques uns de ces scripts d'exemple dmontrent l'utilisation des commandes externes pour mettre en place des environnements de supervision redonds et distribus.

38.7 Autorisations d'excution des commandes de gestionnaires d'vnements


Les commandes de gestionnaires d'vnements s'excuteront normalement avec les mmes permissions 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 service HTTP. Je supposerai galement que vous avez donn l'option max_check_attempts du service une valeur suprieure ou gale 4 (i.e le service est contrl 4 fois avant qu'on ne considre qu'il a un rel problme). Un exemple de dnition (avec uniquement les champs concerns) ressemblerait ceci
define service { host_name service_description max_check_attempts event_handler ... } somehost HTTP 4 restart-httpd

Une fois que le service a t dni avec un gestionnaire d'vnement, nous devons dnir le gestionnaire d'vnement comme une commande. Un exemple de dnition de commande pour restart-https

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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)"

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 appelez 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ?

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 distribue 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 considr comme prim. Si le rsultat du contrle est dclar prim, Nagios va forcer un contrle actif de l'hte ou du service en excutant la commande prcise dans la dnition de l'hte ou du service. ASTUCE Un contrle actif est excut mme si les contrles actifs sont dsactivs au niveau global ou au niveau service/hte.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_freshness du chier de conguration principal. Utilisez les paramtres service_freshness_check_interval et host_freshness_check_interval 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 Nagios doit dterminer lorsqu'un hte ou service doit tre contrl au niveau fracheur, aussi assurezvous 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 -

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 244 / 379

check_command no-backup-report results are "stale" ...other options... }

; this command is run only if the service -

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 246 / 379

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 congurer 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 comment 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 complmentaire 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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 renvoie les rsultats de tous les contrles de service Nagios. Nous pourrions utiliser les gestionnaires d'vnements pour envoyer les changements de l'tat d'un service, mais cela ne fait pas l'aaire. An d'obliger le serveur distribu envoyer tous les rsultats des contrles de service, il faut autoriser l'option de remonte de contrle de service dans le chier de conguration principal et permettre qu'une commande ocsp soit lance aprs chaque contrle de service. Nous utiliserons cette commande ocsp pour envoyer les rsultats de tous les contrles de service au serveur central, en utilisant le client send_nsca et le dmon nsca (comme dcrit ci-dessus) pour grer la transmission. Pour mener tout cela bien, il faut dnir la commande ocsp de cette faon :
ocsp_command=submit_check_result

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 conguration (send_nsca.cfg) placs respectivement dans les rpertoires /usr/local/nagios/bin/ et /usr/ local/nagios/etc/. C'est tout ! Nous venons de congurer avec succs un hte distant sur lequel tourne Nagios pour agir comme un serveur de supervision distribu. Voyons maintenant ce qui se passe exactement avec le serveur distribu et comment il envoie des rsultats de contrle de service Nagios (les tapes soulignes ci-dessous correspondent aux numros du schma de rfrence ci-dessus) : 1. Aprs que le serveur distribu a termin l'excution d'un contrle de service, il excute la commande dnie par la variable ocsp_command . Dans notre exemple, c'est le script /usr/local/ nagios/libexec/eventhandlers/submit_check_result. Remarquez que la dnition de la commande submit_check_result a envoy quatre lments d'information au script : le nom de l'hte auquel le service est associ, la description du service, le code de retour du contrle de service, et la sortie du plugin de contrle du service. 2. Le script submit_check_result envoie dans un tube [pipe] l'information du contrle de service (nom de l'hte, description, code de retour et sortie) au programme client send_nsca. 3. Le programme send_nsca transmet l'information de contrle de service au dmon nsca qui se trouve sur le serveur de supervision central. 4. Le dmon nsca du serveur central prend l'information de contrle de service et l'crit dans le chier de commande externe pour qu'elle soit reprise ultrieurement par Nagios. 5. Le processus Nagios du serveur central lit le chier de commande externe et analyse l'information de contrle de service provenant du serveur de supervision distribu.

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 notications (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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 globale en mettant le paramtre execute_service_checks 0. Si vous utilisez le serveur central pour superviser activement quelques services par lui-mme (sans l'intervention des serveurs distribus), l'option enable_active_checks de chaque dnition de service pour les services dont les rsultats sont fournis par les htes distribus doit tre positionne 0. Ceci empchera Nagios de vrier activement ces services. Il est important que vous dsactiviez soit tous les contrles de service pour l'ensemble du logiciel, soit l'option enable_active_checks dans la dnition de tout service surveill par un serveur distribu. Cela assure que les contrles de service actifs ne sont jamais excuts en temps normal. Les services continueront tre ordonnancs leur intervalle de contrle normal (3 minutes, 5 minutes, etc), mais ils ne seront jamais excuts. Cette boucle de r-ordonnancement continuera aussi longtemps que Nagios tourne. Je vais expliquer bientt pourquoi ce type de fonctionnement Et voil ! Facile, non ?

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 freshness_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_threshold, Nagios calculera un seuil partir de la valeur des options normal_check_interval ou de

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 command_line stale" } service-fige /usr/local/nagios/libexec/check_dummy 2 "CRITICAL: Service results are -

Quand Nagios dtecte que les rsultats sont gs et lance la commande service_ge, le plugin check_dummy est excut et le service passe dans un tat critique. Ceci dclenchera l'envoi de notications, donc vous saurez nalement qu'il y a un problme.

41.10 Contrles des htes


Maintenant, vous savez comment obtenir des rsultats de contrles passifs depuis des serveurs distribus. 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 cidessus). 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 problmes si : 1. Soit le systme Matre faisant fonctionner Nagios ne rpond plus 2. Soit le processus Nagios sur le systme Matre arrte de fonctionner.

42.4.3 Diagramme de topologie rseau


Le diagramme ci-dessous montre une conguration rseau trs simple. Pour ce scnario, je vais supposer 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 dsactiv, 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 gestionnaire 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-master-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 exemples 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 capable denvoyer des notications quant aux services ou problmes systme ou encore les retours la normale. A ce moment, le systme E a eectivement pris la responsabilit de notier les contacts des problmes de systmes et services ! Le processus Nagios sur le systme E retourne son tat desclave quand Le systme A revient la normale et le gestionnaire dvnement de systme handle-master-host-event est excut. Le processus Nagios sur le systme A revient la normale et que le gestionnaire dvnement de service handle-master-proc-event est excut. Ds que le processus Nagios sur le systme E est dsactiv, il nenverra plus de notication concernant les problmes lis aux services et aux systmes ou encore les retours la normale. Ds ce moment, le systme E a pris la responsabilit de notier les contacts des problmes du processus Nagios sur le systme A. Tout revient maintenant dans le mme tat que lorsque lon a dmarr !

42.4.9 Dlais
La redondance dans Nagios nest en rien parfaite. Un des nombreux problmes est le dlai entre le moment o le matre tombe et que lesclave prend le relais. En voici les raisons L intervalle entre la rupture du systme matre et la premire fois que le systme esclave dtecte le problme. Le temps quil faut pour vrier que le systme matre a rellement un problme (en utilisant une nouvelle fois la commande check dun service ou dun systme sur le systme esclave) Le temps entre lexcution du gestionnaire dvnement et la fois suivante o Nagios va vrier la prsence dune commande externe Vous pouvez minimiser ce dlai en Sassurant que le processus Nagios sur le systme E (re)vrie un ou plusieurs services avec une frquence leve. Ceci peut tre fait en utilisant les arguments check_interval et retry_interval dans chaque dnition de service. Sassurer que le nombre de re-vrications de la prsence du systme A (sur le systme E) permette une dtection des problmes lis au systme plus rapidement. Ceci peut tre fait en utilisant largument max_check_attempts dans la dnition du systme. Augmenter la frquence de vrication des commandes externes sur le systme E. Ceci peut tre fait en modiant loption command_check_interval dans le chier de conguration principal. Quand Nagios revient la normale sur le systme A, il y a aussi un dlai avant que le systme E ne redevienne esclave. Cest du aux faits suivants Le temps entre le retour la normale du systme A la fois suivante o le processus Nagios sur le systme E dtecte le retour la normale. L intervalle entre lexcution du gestionnaire dvnement sur le systme E et la fois suivante o le processus Nagios sur le systme E vrie la prsence de commandes externes Les intervalles exacts entre le transfert des responsabilits de supervision dpendent du nombre de services dnis, lintervalle auquel les services sont vris, et un peu de chance. A tous niveaux, cest mieux que rien.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 diffrences avec le systme prcdent scnario 1).

42.5.2 Buts
Le but principal de la gestion de panne est davoir le processus Nagios sur le systme esclave en hibernation tant que le processus Nagios sur le systme maitre fonctionne. Si le processus sur le systme matre arrte de fonctionner (ou si le systme tombe), le processus Nagios sur le systme esclave commence tout surveiller. Bien que la mthode dcrite dans la partie scnario 1 permette de continuer recevoir la notication si le systme maitre tombe, il y a quelques piges. Le plus gros problme est que le systme esclave surveille les mmes systmes que le maitre au mme moment ! Ceci peut causer des problmes de trac excessif et charger les machines surveilles si vous avez beaucoup de services dnis. Voici une manire de contourner ce problme

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 scnario 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 transitoires 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 marquent les moments o des changements d'tats sont survenus.

Le contenu du tableau d'historique des tats est parcouru (depuis le plus ancien rsultat jusqu'au plus rcent) pour dterminer le pourcentage total de changements d'tat survenus durant les 21 derniers contrles du service. Un changement d'tat survient quand un tat archiv est dirent de l'tat archiv qui le prcde immdiatement dans le tableau. Comme nous conservons les rsultats des 21 derniers contrles de service dans le tableau, il y a 20 changements d'tat possibles. La dtection d'oscillation utilise une logique qui est bas sur un pourcentage de changement d'tat pour le service. C'est une mesure de variation du service. Les services qui ne changent jamais d'tat auront 0% de changement, quant aux services qui n'arrteront pas de changer d'tat, il approcheront du 100%. Bons nombres de services auront un pourcentage se situant entre ces 2 valeurs. Il parat vident que les changements d'tat les plus rcent ont plus de poids que les anciens, si bien qu'il nous faut recalculer le pourcentage total de changements d'tat du service selon une espce de courbe Pour simplier, j'ai dcid d'utiliser un rapport linaire entre le temps et la pondration pour le calcul de ce pourcentage. Les fonctions de dtection de l'oscillation sont conues actuellement pour que le changement d'tat le plus rcent possible pse 50% plus lourd que le plus ancien. L'image suivante montre combien le poids des changements d'tat rcents est suprieur celui des anciens lors du calcul du pourcentage total de changements d'tat d'un service particulier.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 261 / 379

Prenons un rapide exemple de dtection de l'oscillation. L'image ci-dessus montre le tableau d'historique des rsultats de contrle d'un service particulier. Les rsultats les plus anciens sont gauche et les plus rcents droite. Nous voyons dans cet exemple qu'il y a eu au total 7 changements d'tat (en t3, t4, t5, t9, t12, t16, et t19). Sans pondration des changements d'tat en fonction du temps, cela nous donnerait un total de 35% de changements d'tat : (7 changements d'tat / un maximum possible de 20) * 100 = 35% Quand on applique la pondration en fonction du moment d'apparition, le pourcentage est de moins de 35%. C'est logique dans la mesure o la plupart des changements d'tats sont plutt anciens. Disons que le pourcentage pondr est nalement de 31% Ainsi donc, que signient 31% de changements d'tats ? H bien, si le service n'oscillait pas auparavant et que 31% est suprieur ou gal la valeur spcie par le paramtre high_service_ap_threshold de la dnition du service, Nagios considre que le service vient de commencer osciller. Si le service oscillait auparavant et que 31% est infrieur ou gal la valeur spcie par le paramtre low_service_ap_threshold de la dnition du service, Nagios considre que le service vient de s'arrter d'osciller. Si aucune de ces deux conditions n'est remplie, Nagios ne fait rien de plus concernant le service, car soit il n'oscille pas, soit il oscille toujours

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

43.5 Dtection de l'oscillation d'hte


La dtection de l'oscillation d'hte fonctionne de manire similaire la dtection d'oscillation de service, 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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. Type d'objet Hte Variables Globales low_host_flap_threshold high_host_flap_threshold low_service_flap_threshold high_service_flap_threshold Variables spciques aux objets low_ap_threshold high_ap_threshold low_ap_threshold high_ap_threshold

Service

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 assujetties l'algorithme de notication)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_detection 0. Si vou voulez dsactiver cette option pour quelques htes ou services, utilisez le paramtre flap_detection_enabled dans la dnition de vos htes et services pour faire a.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 264 / 379

Chapitre 44

Escalades des notications


44.1 Introduction

Nagios supporte l'escalade optionelle des notications envoyes aux contacts pour des services ou htes. Je vais en expliquer rapidement le fonctionnement, bien que cela se comprenne facilement L'escalade pour les notications d'htes et de services est possible par la cration de dnition d'escalations d'htes et de d'escalations de services dans votre Object Conguration Overview . Note Les exemples que je fournis ci-dessous utilisent tous les dnitions d'escalades, mais les escalades d'htes fonctionnent sous le mme principe. Except, bien sr, qu'il faut remplacer services par hosts.

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


Les notications sont chelonnes si et seulement si une ou plusieurs dnitions d'escalade correspondent 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 service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 90 nt-admins,managers

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 265 / 379

define serviceescalation{ host_name service_description first_notification last_notification notification_interval contact_groups }

webserver HTTP 6 10 60 nt-admins,managers,everyone

Remarquez qu'il y a des trous dans les dnitions d'escalade de notication. En particulier, les notications 1 et 2 ne sont pas prises en compte par les escalades, ni celles au-del de 10. Pour la premire et la seconde notication, de mme que pour celles au-del de la dixime, le groupe de contacts par dfaut prcis dans la dnition de service est utilis. Dans tous les exemples que j'utiliserai, je considrerai que le groupe de contacts par dfaut des dnitions de service s'appelle nt-admins.

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 service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 90 nt-admins,managers

webserver HTTP 6 0 60 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 premires notications de service aient t envoyes. Le groupe de contact managers apparat d'abord dans la dnition d'escalade la plus basse - il reoit sa premire notication lorsque la troisime notication de problme est envoye. Nous voulons que le groupe managers continue de recevoir des notications si le problme persiste aprs cinq notications, il fait donc partie de la plus haute dnition d'escalade.

44.4 Recoupement des portes des escalades


Les dnitions d'escalade de notication peuvent avoir des portes qui se recoupent. Prenons l'exemple suivant :

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 266 / 379

define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups }

webserver HTTP 3 5 20 nt-admins,managers

webserver HTTP 4 0 30 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 service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 20 nt-admins,managers

webserver HTTP 4 0 30 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 45 nt-admins,managers

webserver HTTP 6 0 60 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'exemple suvant :
define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation{ host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 45 nt-admins,managers

webserver HTTP 4 0 60 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } define serviceescalation { host_name service_description first_notification last_notification notification_interval contact_groups } webserver HTTP 3 5 45 nt-admins,managers

webserver HTTP 3 5 45 nt-admins,managers

webserver HTTP 7 0 30 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 pourrait 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 toujours 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 alternativement grer les notications les week-end, les nuits, les vacances, etc. Nous allons vous montrer comment crer des dnitions de priode de temps pour vous faciliter le plus possible la rotation de l'astreinte. Ces dnitions ne pourront pas remplacer une intervention humaine (un administrateur appel est malade, un changement de dernire minute, un lancer de tlphone dans la rivire), mais ceci permettra d'avoir une installation concordant avec le fonctionnement de votre planning d'entreprise.

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 timeperiod_name january 1 holidays holidays 00:00-24:00

; New Year's Day

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 271 / 379

2008-03-23 2009-04-12 monday -1 may july 4 monday 1 september thursday 4 november december 25 december 31 }

00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 17:00-24:00

; ; ; ; ; ; ; ;

Easter (2008) Easter (2009) Memorial Day (Last Monday in May) Independence Day Labor Day (1st Monday in September) Thanksgiving (4th Thursday in November) Christmas New Year's Eve (5pm onwards)

Ensuite, dnissons les priodes d'astreinte de John incluant les jours et les nuits de la semaine tout en excluant les dates qu'il aura dnit pour ces vacances :
define timeperiod { timeperiod_name monday tuesday wednesday thursday friday exclude } john-oncall 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 holidays ; Exclude holiday dates/times defined elsewhere

Nous pouvons rfrencer cette priode de temps dans la dnition du contact John :
define contact{ contact_name ... host_notification_period service_notification_period } john john-oncall john-oncall

Dnissons une nouvelle priode de temps pour les astreintes de Bob incluant le week-end et les dates dnies dans la priode de temps holidays:
define timeperiod { timeperiod_name friday saturday use } bob-oncall 00:00-24:00 00:00-24:00 holidays ; Also include holiday date/times defined elsewhere

Nous pouvons rfrencer cette priode de temps dans la dnition du contact Bob :
define contact{ contact_name ... host_notification_period service_notification_period } bob bob-oncall bob-oncall

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 ressemberait ceci :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ... host_notification_period service_notification_period } john john-oncall 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 2007-07-29 / 14 2007 2007-07-30 / 14 2007-07-31 / 14 2007-08-01 / 14 2007-08-02 / 14 2007-08-03 / 14 2007-08-04 / 14 } john-oncall 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, July 29th, 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 ; ; ; ; ; ; Every Every Every Every Every Every other other other other other other Monday starting July 30th, 2007 Tuesday starting July 31st, 2007 Wednesday starting August 1st, 2007 Thursday starting August 2nd, 2007 Friday starting August 3rd, 2007 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 -

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 273 / 379

2007-08-07 2007-08-08 2007-08-09 2007-08-10 2007-08-11 }

/ / / / /

14 14 14 14 14

00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00

; ; ; ; ;

Every Every Every Every Every

other other other other other

Tuesday starting August 7th, 2007 Wednesday starting August 8th, 2007 Thursday starting August 9th, 2007 Friday starting August 10th, 2007 Saturday starting August 11th, 2007

Maintenant, vous avez besoin de renseigner ces priodes de temps dans la dnition des contacts John et Bob :
define contact { contact_name ... host_notification_period service_notification_period } john john-oncall john-oncall

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 monday tuesday wednesday thursday friday exclude } john-oncall 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 john-out-of-office; Exclude dates/times John is out

Nous pouvons rfrencer cette priode de temps dans la dnition du contact John :

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 274 / 379

define contact { contact_name ... host_notification_period service_notification_period }

john john-oncall 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 ... host_notification_period service_notification_period } bob bob-oncall 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. :-)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 (clustering), 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 consulter 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commande que vous venez juste de crer comme commande de contrle de cluster. L'exemple suivant

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 spci) 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 dpendance 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } Host B Service D Host C Service F o w,u

Host B Service E Host C Service F n w,u,c

Host B Service C Host C Service F w c

Les autres dnitions de dpendances dcrites dans l'image prcdente s'criraient comme suit :

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 281 / 379

define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria } define servicedependency { host_name service_description dependent_host_name dependent_service_description execution_failure_criteria notification_failure_criteria }

Host A Service A Host B Service D u n

Host A Service B Host B Service E w,u c

Host B Service C Host B Service E n 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 .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 282 / 379

47.6 Dpendances d'excution


Les dpendances d'excution permettent de limiter les vrications de service actives .Les vrications 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'algorithme 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 service_description dependent_host_name Host B Service D Host C

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 283 / 379

dependent_service_description execution_failure_criteria notification_failure_criteria inherits_parent }

Service F o n 1

Comme le paramtre inherits_parent est activ, la dpendance entre les services A et D sera teste quand la dpendance entre les services F et D le sera. Les dpendances peuvent avoir de multiples niveaux d'hritage. Si la dnition de dpendance entre A et D avait le paramtre inherits_parent activ, et que le service A tait dpendant d'un autre service (appelons-le service G), le service F serait dpendant des services D, A, et G (et le serait potentiellement avec chacun selon des critres dirents).

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dependent_host_name notification_failure_criteria } define hostdependency { host_name dependent_host_name notification_failure_criteria } Host A Host C d

Host B Host C d,u

Comme pour les dpendances de services, les dpendances d'htes ne sont pas hrites. Dans l'exemple de cette image, vous pouvez voir que l'hte C n'hrite pas des dpendances de l'hte B. Pour que C soit dpendant de A, une autre dnition d'hte doit tre prcise. Les dpendances de notications d'htes marchent d'une manire similaire celles de services. Si toutes les notications de dpendance d'un hte russissent, Nagios enverra les notications comme l'accoutume. Si ne serait-ce qu'une de ces dpendances choue, Nagios supprimera temporairement toutes les notications pour cet hte (dpendant). Par la suite, les dpendances russiront nouveau. Nagios recommencera alors envoyer les notications de manire habituelle. Vous trouverez ici plus d'informations sur la l'algorithme de notication.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service 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 : Message de sortie de Contrle : grappe RAID optimale grappe RAID optimale Grappe RAID dgrade (1 disque hors d'usage, 1 disque de secours en cours de reconstruction) Journalis avec le suivi prcis des changements d'tat -

Contrle du Service # :

tat du Service :

Journalis normalement

x x+1

OK OK

x+2

WARNING

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 286 / 379

Contrle du Service # :

tat du Service :

Message de sortie de Contrle : Grappe RAID dgrade (2 disques hors d'usage, 1 disque de secours mis en ligne, 1 disque de secours en cours de reconstruction) Grappe RAID dgrade (3 disque hors d'usage, 2 disque de secours mis en ligne) Grappe RAID hors d'usage Grappe RAID hors d'usage Grappe RAID hors d'usage

Journalis normalement

Journalis avec le suivi prcis des changements d'tat

x+3

CRITICAL

x+4

CRITICAL

x+5 x+6 x+7

CRITICAL CRITICAL CRITICAL

Vu cette squence de contrles, vous devriez seulement voir deux entres dans vos journaux, concernant cette catastrophe. La premire arrivera X+2 quand le service basculera de l'tat OK l'tat WARNING. Le deuxime arrivera (trop tard), au moment du passage de WARNING CRITICAL. Vous pouriez avoir envie, pour une raison quelconque, d'avoir un historique complet de cet accident dans vos journaux. Peut-tre pour expliquer votre patron comment tout cela est arriv soudainement, ou aller en rire au bar du coin devant quelques coups boire . Ceci dit, si le suivi prcis avait t activ pour les tats CRITICAL, les tats x+4 et x+5 auraient t enregistrs en plus de x+2 et x+3. Pourquoi ? parce que dans ce cas-l, Nagios aurait examin les message mis pour vrier s'ils diraient des prcdents. Si le message mis change alors que l'tat ne change pas, le message sera quand mme enregistr. Un exemple similaire peut tre donn avec un service qui contrle un serveur web. Si le plugin check_http retourne d'abord un WARNING sur une erreur 404, puis ensuite des WARNING cause d'une suite de caractres manquants sur la page, vous pouvez avoir envie de le savoir. Si vous n'avez pas activ le suivi prcis, seul le premier WARNING (celui de l'erreur 404) sera enregistr dans les logs et vous n'aurez aucune ide (en analysant les logs archivs) que les WARNING suivants ne sont pas ds une erreur 404, mais plutt une suite de caractres manquants de la page web retourne.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_options 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 dclenchements d'actions sur vnements. Le suivi prcis des changements d'tat ne sert que pour la journalisation.

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'excution 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 rapport 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 contrles qui sont eectus. Les macros $HOSTEXECUTIONTIME$Macros$HOSTEXECUTIONTIME$ et $SERVICEEXECUTIONTIME$Macros$SERVICEEXECUTIONTIME$ peuvent tre utilises pour determiner le nombre de secondes qu'aura dur un contrle d'hte ou de service et les macros $HOSTLATENCY$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 contrler 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'utilisateurs 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 $SERVICEPERFDATA$Macros$SERVICEPERFDATA$. Lire la suite pour plus d'informations sur la faon dont les plugins peuvent retourner les donnes de performance Nagios an de les stocker dans les macros $HOSTPERFDATA$ and $SERVICEPERFDATA$.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 $SERVICEOUTPUT$ (Cela dpend si le pllugin est utilis pour le contrle d'un hte ou d'un service). Les plugins peuvent renvoyer des donnes de performance dans leur message normal de sortie, un texte clair (lisible par l'homme) habituellement suivi du caractre 'pipe' (|), et d'une chane contenant une ou plusieurs donnes de performance. Prenons le plugin check_ping comme exemple et supposons qu'il a t congur pour retourner le pourcentage de paquets perdus et la moyenne des aller-retour comme donnes de performance. Un exemple de sortie du plugin pourrait ressembler ceci :
PING ok - Packet loss = 0%, RTA = 0.80 ms | percent_packet_loss=0, rta=0.80

Quand Nagios rencontre ce type de format pour le message de de sortie du plugin, il le scindera en deux parties : 1. Tout ce qui est situ avant le caratre 'pipe' ( | ) est considr comme le message de sortie normal du plugin et sera alors stock selon le cas dans les macros $HOSTOUTPUT$ ou $SERVICEOUTPUT$ 2. Tout ce qui est situ aprs le caractre 'pipe' ( | ) est considr comme tant les donnes de performance du plugin et seront stockes selon le cas dans les macros $HOSTPERFDATA$ ou $SERVICEPERFDATA$ Dans l'exemple ci-dessus, la macro $HOSTOUTPUT$ ou $SERVICEOUTPUT$ contiendra
PING ok - Packet loss = 0%, RTA = 0.80 ms

(sans les guillemets) 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 plugins . Note Le dmon Nagios ne traite pas directement les donnes de performance des plugins, du coup il ne sait pas vraiment quoi elles ressemblent. Il n'y a pas vraiment de limites inhrentes au format ou au contenu des donnes de performance. Toutefois, si vous utilisez un module externe pour traiter les donnes de performance (par exemple PerfParse), le module attend que le plugin renvoie les donnes de performance dans un format spcique. Vriez la documentation du module pour plus d'information.

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 :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_command , 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_template . 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_perfdata_file_processing_command et service_perfdata_file_processing_command . L'intervalle laquelle ces commandes sont excutes sont rgies par les options host_perfdata_file_processing_interval et service_perfdata_file_processing_interval , respectivement.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 commentaire 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 commentaire. Pas mal, hein ?

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'intervalle 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 notications 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 294 / 379

Chapitre 51

Utilisation de l'interprteur Perl intgr


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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 295 / 379

Sans l'interprteur Perl intgr, Nagios excute les plugins Perl (et non Perl) en crant un sousprocessus [fork] pour lancer les plugins comme commande externe. Quand l'interprteur Perl intgr est utilis, Nagios peut simplement excuter les plugins Perl en faisant un simple appel la librairie. ASTUCE L'interprteur Perl intgr fonctionne avec n'importe quel script Perl que nagios est capable d'excuter - pas seulement les plugins. Cette documentation dcrit l'interprteur Perl intgr en relation avec les plugins utiliss pour les contrles d'htes et de services, mais ceci s'applique aux autres types de scripts Perl que vous pourriez utiliser pour les autres types de commandes (ex scripts de notications, scripts de gestion d'vnements, etc.).

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

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

51.3 Inconvnients
Les inconvnients de ePN [embedded Perl Nagios] ressemblent beaucoup ceux du mod_perl d'Apache (i.e. Apache avec un interprteur Perl intgr) par rapport l'Apache standard : Un programme Perl qui fonctionne parfaitement avec Nagios standard peut ne pas fonctionner avec ePN. Il vous faudra peut-tre modier vos plugins pour qu'ils tournent. Les plugins Perl sont plus diciles dboguer sous ePN qu'avec un Nagios standard. Votre ePN aura une plus grande taille (empreinte mmoire) qu'un Nagios standard.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dtermine 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 conguration (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 --with-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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 intgr Nagios
Les informations pour dvelopper des plugins utilisant l'interprteur Perl intgr peuvent tre trouves ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'excution. Je ferai rfrence cette fonctionnalit comme monitoring adaptif. Veuillez noter que la fonctionnalit de monitoring adaptif prsente dans nagios ne sera pas vraiment utile 99% des utilisateurs, mais elle vous permet de raliser des choses assez lgantes.

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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 soumettre Nagios la commande externe approprie via le chier de commandes externes. Le tableau cidessous 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 relations 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 performance 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 programms 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 estce bien la ralit ? Bien sr que non. La abilit de l'information d'un rsultat diminue avec le temps. Un haut ccient de cache require que vous ayez considr que vos rsultats sont rests inchangs depuis un long moment. Les choses peuvent changer rapidement dans certains scnario du rseau. Vous n'avez aucune garantie qu'un serveur sera toujours oprationnel 30 secondes plus tard. Il y a un change - Fiabilit contre rapidit. Si vous mettez une valeur du cycle de contrle du cache trop haute, vous risquez de voir la abilit de votre supervision en ptir. Nagios dterminera nalement l'tat correct de tous les htes et des services, mme si les rsultats des contrls mmoriss peuvent s'avrer obsoltes. Nagios travaillera seulement avec les renseignements incorrects pour une priode courte. Les priodes mme courtes de renseignements de statut douteux peuvent s'avrer nuisantes pour les administrateurs car il est possible qu'ils reoivent des notications pour des problmes qui n'ont pas exists trs longtemps. Il y a pas de valeur par dfaut pour le cycle de mise en cache des contrles ou de ccient acceptable pour chaque utilisateur de Nagios. Certains vont prfrer une priode de temps et un ccient bas alors que d'autres prfreront voir ces paramtres la hausse. Certains utilisateurs peuvent mme dsactiver l'option du cache pour avoir une abilit s'approchant des 100%. Tester direntes priodes de temps, et voir leur eet est le seul moyen pour un utilisateur de trouver la bonne valeur adapte sa situation. Plus d'informations sur ce paramtrage vous est dtaill ci-dessous.

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 mmoriss Ajuster la variable cached_host_check_horizon en fonction de vos besoins.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 exemple dans un environnment de monitoring distribu, vous pouvez vouloir que l'instance centrale de Nagios connaisse comment les instances distribues voient leurs parties respectives du rseau

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 310 / 379

Chapitre 56

Ordonnancement du contrle des services 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 particulirement 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'excution 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'extension .cgi. Par exemple, l'en-tte et le bas de page pour le CGI rsum des alertes [alert summary] (summary.cgi) devrait tre appel summary-header.ssi et summary-footer.ssi, respectivement. L'utilisation des en-ttes et bas de pages personnaliss sont optionnels. Utilisez-les si vous le dsirez. De mme pour les en-ttes et pieds de page spciques. C'est comme vous voulez.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 check_command notification_options max_check_attempts name } define host { host_name max_check_attempts use } bighost1 check-host-alive d,u,r 5 hosttemplate1

bighost2 3 hosttemplate1

Vous remarquerez que la dnition de l'hte bighost1 a t dnie comme ayant hosttemplate1 comme nom de gabarit. La dnition de l'hte bighost2 utilise la dnition de bighost1 comme gabarit. Une fois que Nagios traite les donnes, le rsultat de la dnition de l'hte bighost2 sera quivalent cette dnition :
define host { host_name check_command notification_options max_check_attempts } bighost2 check-host-alive d,u,r 3

Vous pouvez voir que les variables check_command et notification_options sont hrites du gabarit.( o l'hte bighost1 a t dni). Cependant, les variables host_name et max_check_attempts n'ont pas t hrites du gabarit car elles sont dnies localement. N'oubliez pas que les variables dnies localement surchargent les variables qui devraient normalement tre hrites du gabarit. C'est un concept assez facile comprendre. ASTUCE Si vous voulez qu'une variable d'une chane locale soit concatne avec la valeur d'une chane hrite, vous pouvez le faire. Pour plus de renseignements sur comment raliser a, lisez plus bas.

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 check_command notification_options max_check_attempts name } bighost1 check-host-alive d,u,r 5 hosttemplate1

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 315 / 379

define host { host_name max_check_attempts use name } define host { host_name use }

bighost2 3 hosttemplate1 hosttemplate2

bighost3 hosttemplate2

Vous remarquerez que la dnition de l'hte bighost3 hrite des variables de la dnition de l'hte bighost2, qui lui-mme hrite des variables de la dnition de l'hte bighost1. Une fois que Nagios a trait ces donnes de conguration, le rsultat de la dnition de ces htes est quivalent :
define host { host_name check_command notification_options max_check_attempts } define host { host_name check_command notification_options max_check_attempts } define host { host_name check_command notification_options max_check_attempts } bighost1 check-host-alive d,u,r 5

bighost2 check-host-alive d,u,r 3

bighost3 check-host-alive d,u,r 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 notification_options max_check_attempts name register } define host { check-host-alive d,u,r 5 generichosttemplate 0

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 316 / 379

host_name address use } define host { host_name address use }

bighost1 192.168.1.3 generichosthosttemplate

bighost2 192.168.1.4 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 address check_command notification_options max_check_attempts } define host { host_name address check_command notification_options max_check_attempts } bighost1 192.168.1.3 check-host-alive d,u,r 5

bighost2 192.168.1.4 check-host-alive d,u,r 5

Enn, utiliser une dnition de gabarit pour les variables par dfaut vous fera gagner beaucoup de temps. Cela vous vitera aussi beaucoup de maux de tte ultrieurs si vous voulez changer la valeur par dfaut d'une variable pour un grand nombre d'htes.

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 _snmp_community name register } define host { host_name address use somevalue ; <-- Custom host variable public ; <-- Custom host variable generichosttemplate 0

bighost1 192.168.1.3 generichosthosttemplate

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 address _customvar1 _snmp_community } bighost1 192.168.1.3 somevalue 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 name register } define host { host_name address event_handler use } my-event-handler-command generichosttemplate 0

bighost1 192.168.1.3 null 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 address } bighost1 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 name register all-servers generichosttemplate 0

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 318 / 379

} define host { host_name hostgroups use }

linuxserver1 +linux-servers,web-servers generichosthosttemplate

Dans ce cas, l'hte linuxserver1 va ajouter la valeur de sa variable hostgroups local, celui du generichosttemplate. Le rsultat eectif de la dnition de linuxserver1 est le suivant :
define host { host_name hostgroups } linuxserver1 all-servers,linux-servers,web-servers

58.9

Hritage implicite

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

notication_period

contact_groups Escalade d'htes notication_interval

escalation_period

contact_groups Escalade de Services notication_interval

escalation_period

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 contact_groups ... } linux-server 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 320 / 379

#Generic host template define host { name active_checks_enabled check_interval ... register }

generic-host 1 10 0

# Development web server template define host { name development-server check_interval 15 notification_options d,u,r ... register 0 } # Development web server define host { use server host_name ... }

generic-host,developmentdevweb1

Dans l'exemple ci-dessous, devweb1 hrite de variables/valeurs provenant de deux sources : generic-host et development-server. Vous noterez qu'une variable check_interval est dnie dans les deux sources. Puisque generic-host tait le premier gabarit spci dans les paramtres de devweb1, sa valeur pour la variable check_interval est hrite par l'hte devweb1. Aprs l'hritage, la dnition eective de devweb1 est la suivante : # Development web server
define host { host_name active_checks_enabled check_interval notification_options ... } devweb1 1 10 d,u,r

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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 :-)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 multiples noms d'htes et/ou de groupes d'htes dans les dnitions, vous permettant de copier la dntion de l'objet dans de multiples htes ou services. Je vais parcourir sparement chaque type d'objet permettant cette fonctionnalit. Pour commencer, les types d'objets concerns sont les suivants : Services Escalades de service Dpendances de service Escalades d'hte Dpendances d'hte Groupes d'htes

Les types d'objets qui ne sont pas lists ci-dessus (par exexmple les priodes de temps, les commandes) ne supportent pas les fonctionnalits que je vais vous dcrire maintenant.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 SOMESERVICE 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 hostgroup_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 congurations, 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 congurations. 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 ... }

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 hostgroup_name service_description other service directives } HOST1,HOST2,!HOST3,!HOST4,...,HOSTN HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,...,HOSTGROUPN SOMESERVICE ...

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 host_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 intervalle 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/description 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.).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 hostgroup_name HOSTGROUPN service_description other escalation directives } HOST1,HOST2,!HOST3,!HOST4,...,HOSTN HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,..., SOMESERVICE ...

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 dnition 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 remplacement la fois dans les paramtres host_name et service_description. Cela va crer une escalade 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 dnition 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 ... }

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 SERVICEGROUPN. 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 HOST3 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/description, 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 ... }

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 dependent_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_servicegroup_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, SERVICE3 et SERVICE4 sur HOST1 seront dpendants la fois de SERVICE1 et SERVICE2 sur HOST1. De faon identique, SERVICE3 et SERVICE4 sur HOST2 seront dpendants la fois de SERVICE1 et SERVICE2 sur HOST2.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 HOST1 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 ... }

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'exemple 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 conguration, 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 330 / 379

define hostgroup { hostgroup_name HOSTGROUP1 members * other hostgroup directives ... }

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 331 / 379

Septime partie

Amliorations des performances et de la scurit

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 systmes. Dans certains cas, le serveur Nagios a besoin d'tre autoris traverser des pares-feu pour pouvoir contrler des serveurs distants. Dans la plupart des cas, il est autoris interroger ces serveurs distants pour diverses informations. Les serveurs de supervision ont toujours besoin d'un certain niveau de conance pour pouvoir interroger des serveurs distants. Ceci reprsente un risque potentiel d'attaque avec une porte drobe intressante vers vos autres systmes. Un ataquant peut se rendre la vie plus facile en attaquant d'abord votre systme de supervision avant de rebondir sur les autres. Ceci est particulirmeent vrai dans le cas o vous utilisez des cls partages SSH pour superviser les systmes distants. Si un intrus a la possibilit de soumettre des rsultats de contrles ou des commandes externes au dmon Nagios, il a la possibilit de soumettre des donnes de supervision errones, de vous rendre fou avec des notications errones, ou de faire en sorte que des gestionnaires d'vnements soient dclenchs. Si vous avez des scripts de gestion d'vnements qui redmarrent des services, allumage et extinction lectrique, etc. cela peut devenir problmatique. Un autre champ de possibilits pour les intrus est de snier les donnes de supervision (information d'tat) au moment o elle transite sur le rseau. Si les canaux de communication ne sont pas chirs, les attaquants peuvent accder des informations importantes en regardant vos informations de supervision. Prenez la situation suivante en exemple : Un ataquant capture vos donnes de supervision sur le rseau pendant une priode de temps et analyse la charge habituelle des CPUs et disques de vos systmes en comparaison du nombre d'utilisateurs connects dessus. L'attaquant est donc en mesure de dterminer le meilleur moment pour compromettre un systme et utiliser ses ressources (CPU, etc.) sans tre dcouvert. Voici quelques trucs pour vous aider garder vos systmes scuriss quand vous implmentez une solution de supervision base sur Nagios

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 privilges root au travers d'un trou de scurit quand vous avez un compte local est disponible sur une machine.

2. Ne pas faire fonctionner Nagios en tant que root !. Il n'est pas ncessaire d'tre root pour faire fonctionner Nagios, alors ne le fates pas. Vous pouvez obliger Nagios abandonner des privilges aprs le lancement et fonctionner avec les droits d'un autre utilisateur/groupe en utilisant les paramtres nagios_user et nagios_group dans le chier principal de conguration. Si vous avez besoin d'excuter des gestionnaires d'vnements ou des plugins qui requirent des accs root, vous pouvez essayer d'utiliser sudo. 3. Verrouillez le rpertoire des rsultats de contrle. Assurez-vous que seul l'utilisateur nagios le droit de lecture/criture sur le rpertoire des rsultats de contrle. Si d'autres utilisateurs que nagios (ou root) sont capables d'crire dans ce rpertoire, ils peuvent potentiellement envoyer des rsultats de contrles errones au dmon Nagios. Cela pourrait vous valoir quelques dsagrments comme des notications errones ou des problmes de scurit (gestionnaires d'vnements dclenchs).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 (habituellement nobody, http, apache2 ou www-data) puissent crire dans le chier des commandes. Si vous avez install Nagios sur une machine ddie la supervision et aux tches d'administration qui n'a pas de comptes publics, cela devrait aller. Si vous l'avez install sur une machine publique ou multi-utilisateurs (pas recommand), autoriser l'utilisateur du serveur web peut tre un problme de scurit. Aprs tout, vous ne souhaitez pas que n'importe quel utilisateur du systme puisse contrler Nagios partir du chier des commandes externes. Dans ce cas, je vous suggre de donner les droits uniquement l'utilisateur nagios et d'utiliser quelque chose comme CGI Wrap pour faire fonctionner les CGIs avec l'utilisateur nagios plutt que nobody. 5. Authentication requise pour les CGIs. Je vous recommande fortement de protger l'accs aux CGIs par une authentication. Ceci fait, lisez la documentation sur les droits par dfaut dont disposent les contacts autoriss et n'accordez qu'exceptionnellement une autorisation des contacts spciques. Les instructions pour la conguration des droits se trouvent ici. Si vous dsactivez l'authentication pralable l'accs aux CGIs par la commande use_authentication dans le chier de conguration des CGIs, le CGI de commande refusera d'crire la moindre commande dans le chier des commandes externes. De toutes faons, vous ne souhaitez pas que tout le monde puisse contrler votre Nagios ? 6. Implmentez les mesures renforces de scurit des GCIs. Je vous recommande chaudement de considrer l'implmentation des mesures de scurit pour les CGIs comme indiqu ici. Ces mesures peuvent aider s'assurer que l'utilisateur/mot de passe que vous utilisez pour accder l'interface web de Nagios ne puissent intercepter par de tierces parties. 7. Utilisez les chemins complets dans la dnition des commandes. Lorsque vous dnissez des commandes, assurez-vous d'avoir bien prcis le chemin d'accs complet de tous les scripts ou binaires que vous excutez. 8. Cachez les informations sensibles l'aide des macros $ARGn$. Les CGIs parcourent le chier de conguration principal et le(s) chier(s) de conguration des objets, n'y laissez donc pas d'informations sensibles (noms d'utilisateur, mots de passe, etc.). Si vous avez besoin de prciser un mot de passe ou un nom d'utilisateur dans une dnition de commande, utilisez $USERn$ macro pour le cacher. $USERn$ Les macros $USERn$ sont dnies dans un ou plusieurs chiers de ressources. Les CGIs ne parcourant pas les chiers de ressources, vous pouvez leur donner des permissions beaucoup plus restrictives (600 ou 660). Consultez le chier resource.cfg dans la distribution de base de Nagios, il vous donnera un exemple de dnition de la macro $USERn$. 9. liminez les caractres dangereux des macros. Utilisez le paramtre illegal_macro_output_chars pour ltrer les caractres dangereux des chanes issues des macros $HOSTOUTPUT$, $SERVICEOUTPUT$, $HOSTPERFDATA$ et $SERVICEPERFDATA$ avant qu'elles ne soient utilises pour des notications, etc. Des caractres dangereux peuvent tre tout caractre qui peut tre interprt par un shell, ouvrant ainsi un trou de scurit. Un bon exemple est la prsence de la quote inverse ( ) dans $HOSTOUTPUT$, $SERVICEOUTPUT$, $HOSTPERFDATA$, et/ou $SERVICEPERFDATA$ qui pourrait permettre un attaquant d'excuter un commande arbitraire comme l'utilisateur nagios (une autre bonne raison pour ne pas excuter Nagios avec l'utilisateur root). 10. Scurisez l'accs aux agents distants. Assurez-vous d'avoir verrouiller l'accs aux agents (NRPE, NSClient, SNMP, etc.) sur les sytmes distants en utilisant des pares-feu, des listes d'accs, etc. Vous ne voulez pas que n'importe qui soit capable d'interroger vos systmes sur leurs tats. Cette information peut tre utilise par un attaquant pour excuter des gestionnaires d'vnements distants ou pour dterminer une fentre de temps pour une attaque discrte.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 335 / 379

11. Scurisez vos canaux de communication. Assurez-vous d'avoir chir les canaux de communication entre vos dirents serveurs Nagios et entre Nagios et les agents de supervision quand cela est possible. Vous ne voulez pas que quelqu'un puisse snier les informations d'tats lorsqu'elles transitent sur le rseau. Ces informations peuvent tre utilises par un attaquant pour dterminer un intervalle de temps pour une attaque discrte.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'environnement Nagios. Ce qui va venir ne doit pas tre pris comme la nalit de toute approche la scurit. Au lieu de cela, considrez ce qui suit comme une introduction certaines des techniques que vous pouvez utiliser pour grer la scurit de votre systme. Comme toujours, vous devrez faire vos recherches et utiliser les meilleures techniques disponibles. Traitez votre serveur de Supervision comme si c'tait l'lment le plus important dans votre rseau et vous en serez rcompenss.

61.2 Techniques supplmentaires


Authentication plus ardue utilisant la technologie Digest . En suivant Le guide de dmarrage 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 SSLRequireSSL aux deux instructions pour les rpertoires sbin et share.
## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 from 10.0.0.0/255.255.255.0 Allow from 10.0.0.0/24 ... </Directory> ## END APACHE CONFIG SNIPPET

# Allow single IP addresses # Allow network/netmask pair # Allow network/nnn CIDR spec

61.3 Notes importantes


L'authentication Digest envoie les donnes en clair mais pas votre nom d'utilisateur ni votre mot de passe .

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ! .

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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_large_installation_tweaks peut vous donner de meilleures performances. Lisez plus d'informations 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 fonctionnalit. Vous pouvez empcher de rendre les macros disponibles comme variables d'environnement en utilisant l'option enable_environment_macros .

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 341 / 379

4. Frquence de consolidation des rsultats de contrle. La variable check_result_reaper_frequency dtermine la frquence laquelle Nagios doit vrier la prsence de rsultats de contrles d'htes et de services qui doivent tre traits. Le temps maximum qu'il doit passer traiter ces rsultats est dtermin par la variable temps maximum de consolidation (voir ci-dessous). Si votre frquence de consolidation est trop leve (pas assez frquente), vous pourriez voir apparatre des latences importantes dans les contrles d'htes et de services. 5. Temps maximum de consolidation. La variable max_check_result_reaper_time dtermine le temps maximum que le dmon Nagios peut passer traiter les rsultats de contrles d'htes et de services avant de pouvoir faire autre chose - comme excuter de nouveaux contrles d'htes et de services. Une valeur trop leve peut donner des latences importantes pour les contrles d'htes et de services. Si vous rencontrez des problmes de latences leves, ajustez cette variable et vriez le rsultat de vos rglages. Une nouvelle fois, vous devriez grapher les statistiques avec MRTG pour pouvoir prendre cette dcision. 6. Ajuster la taille du tampon. Vous pouvez avoir rgler la valeur de l'option external_command_buffer_slots . Grapher les statistiques lies au tampon avec MRTG (voir au dessus) est critique pour pouvoir dterminer les valeurs utiliser pour cette option. 7. Vriez la latence des services pour dterminer la meilleure valeur pour le nombre maximal de contrles en parallle. Nagios peut restreindre le nombre maximal de contrles de service excuts en parallle la valeur que vous spciez dans le paramtre max_concurrent_checks . Cela vous permet de grer la charge que Nagios impose votre hte de supervision, mais cela peut aussi ralentir le traitement. Si vous notez des latences importantes (> 10 ou 15 secondes) pour la majorit de vos contrles de service (via le CGI d'informations complmentaires), vous privez sans doute Nagios des contrles dont il a besoin. Ce n'est pas la faute de Nagios - c'est la vtre. Dans des conditions idales, tous les contrles de service ont une latence de 0, ce qui signie qu'ils sont excuts au moment prcis o ils ont t ordonnancs. Ceci dit, il est normal que certains contrles aient de petites latences. Je recommanderais de doubler la valeur que propose Nagios pour le nombre minimal de contrles en parallle, fournie lorsque Nagios est lanc avec le paramtre -s. Continuez augmenter cette valeur tant que la latence moyenne pour vos services reste assez basse. Vous trouverez plus d'informations sur l'ordonnancement des contrles de service ici. 8. Utilisez des contrles passifs chaque fois que c'est possible. La surcharge induite par le traitement des rsultats des contrles passifs de service est bien moindre que celle des contrles actifs normaux, donc prenez cette information en compte si vous supervisez de nombreux services. Notez que les contrles passifs de service ne sont rellement utiles que si une application externe ralise une partie de la supervision ou produit des rapports ; si c'est Nagios qui ralise tout le travail, ceci ne changera rien. 9. Evitez l'utilisation des plugins interprts. L'utilisation de plugins compils (C/C++, etc.) rduira signicativement la charge de votre hte de supervision par rapport aux scripts interprts (Perl, etc.). Si les scripts Perl ou autres sont faciles crire et fonctionnent bien, le fait qu'ils soient compils/interprts chaque excution peut augmenter considrablement la charge de votre hte de supervision lorsque vous avez de nombreux contrles de service. Si vous souhaitez utiliser des plugins Perl, essayez de les compiler en vrais excutables grce perlcc(1) (un utilitaire qui fait partie de la distribution Perl standard) ou essayez de compiler Nagios avec un interprteur Perl intgr (voir ci-dessous). 10. Utilisez l'interprteur Perl intgr. Si vous utilisez de nombreux scripts Perl pour les contrles de service, etc., vous vous apercevrez sans doute qu'en compilant Nagios avec un interprteur Perl intgr vous acclrez les traitements. 11. Optimisez les commandes de contrle d'hte. Si vous contrlez l'tat des htes avec le plugin check_ping, vous vous apercevrez que ces contrles se font bien plus vite en les clatant. Plutt que de spcier une valeur de 1 pour le paramtre max_attempts dans la dnition de l'hte et de dire au plugin check_ping d'envoyer 10 paquets ICMP l'hte, il est bien plus rapide de passer max_attempts 10 et de n'envoyer qu'un paquet ICMP chaque fois. Ceci est d au fait que Nagios peut souvent dterminer l'tat d'un hte aprs n'avoir excut le plugin qu'une fois, il vaut donc mieux que le premier contrle soit le plus rapide possible. Cette mthode prsente des inconvnients dans certaines situations (c.--d. que les htes lents rpondre peuvent tre

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 342 / 379

considrs comme hors service), mais vous aurez des contrles d'hte plus rapides si vous l'utilisez. Vous pouvez aussi utiliser un plugin plus rapide (c.--d. check_fping) dans le paramtre host_check_command plutt que check_ping. 12. Planiez une vrication rgulire des htes. La planication rgulire de contrles d'htes peut donner un gain de performance Nagios. Cela est d la faon dont la logique de cache des contrles fonctionne (voir ci-dessous). Avant Nagios 3, la planication rgulire des contrles d'htes pouvait avoir un impact trs ngatif sur les performances. Ce n'est plus le cas puisque les contrles d'htes sont excuts en parallle - tout comme les services. Pour planier des contrles rguliers pour un hte, mettez le paramtre check_interval de la dnition d'hte une valeur suprieure 0. 13. Activer le cache pour les contrles d'htes. compter de Nagios 3, les contrles d'htes la demande peuvent bncier de cache. Les contrles d'htes la demande sont dclenchs quand Nagios dtecte un changement d'tat sur un service. Ces contrles sont excuts parce que Nagios veut savoir si l'htes associ au service a chang d'tat. En activant le cache pour les contrles d'htes, vous pouvez gagner en performance. Dans certains cas, Nagios peut tre capable d'utiliser l'tat mise en cache d'un hte, plutt que de rellement excuter le contrle. Cela peut acclrer les choses et rduire la charge du serveur de supervision. Pour mettre en place le cache des contrles d'htes, vous devez ordonnancer des contrles rguliers de vos htes (voir plus haut). Plus d'informations sur le cache pour les contrles d'htes peut tre trouv ici. 14. N'utilisez pas le contrle agressif des htes. Sauf si Nagios a du mal identier les rtablissements d'hte, je recommanderais de ne pas activer le paramtre use_aggressive_host_checking . Quand cette option est dsactive, les contrles s'excutent beaucoup plus vite, acclrant le traitement des rsultats de contrles de service. Cependant, les rtablissements d'htes peuvent tre manqus en certaines circonstances lorsque l'option est dsactive. Par exemple, si un hte se rtablit et que tous les services associs cet hte restent dans un tat non-OK (et ne bagotent pas entre dirents tats non-OK), Nagios peut ne pas voir que l'hte s'est rtabli. Certains utilisateurs peuvent avoir besoin d'activer cette option, mais ce n'est pas le cas pour la majorit, et je recommanderais de ne pas l'utiliser si vous n'en avez pas expressment besoin 15. Augmentez l'intervalle de vrication des commandes externes. Si vous grez beaucoup de commandes externes (p. ex. des vrications passives dans une supervision distribue), vous devrez probablement aecter -1 au paramtre command_check_interval . Cela forcera Nagios vrier les commandes externes aussi souvent que possible. C'est important parce que la plupart des systmes ont une petite taille de tampon pour les tubes de redirections [NdT : pipe] (c.--d. 4 Ko). Les tampons sont utiliss pour conserver les commandes externes lues depuis le chier de commandes externes (par un thread spar) avant d'tre traites par le dmon Nagios. Si celui-ci reoit beaucoup de remontes de contrles passifs, vous pouvez aboutir une situation o le tampon est toujours plein. Le rsultat est que les processus enfant (scripts externes, dmon NSCA, etc.)sont bloqus quand ils essayent d'crire dans le chier de commandes externes. Je vous recommande fortement de grapher le tampon pour les tubes de redirections en utilisant MRTG et l'utilitaire nagiostats comme dcrit ici de faon voir la consommation moyenne du tampon pour les tubes de redirections de votre installation Nagios. 16. Optimisez le matriel pour des performances maximales.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 conguration matrielle va aecter directement les performances de votre systme d'exploitation, et donc celles de Nagios. L'amlioration principale que vous puissiez raliser concerne les disques durs. La vitesse du processeur et la mmoire aectent bien videmment les performances, mais les accs disque seront votre goulet d'tranglement le plus frquent. Ne stockez pas les plugins, le journal des tats, etc. sur des disques lents (c.--d. des vieux disques IDE ou des montages NFS). Si vous en avez, utilisez des disques UltraSCSI ou des disques IDE rapides. Une remarque importante pour les utilisateurs de IDE/Linux : bien des installations de Linux n'essaient pas d'optimiser les accs au disque. Si vous ne changez pas les paramtres d'accs au disque (en utilisant un utilitaire comme hdparm), vous perdrez beaucoup des fonctionnalits amliorant la vitesse des nouveaux disques IDE.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 impliques est recombobulating) Duplication des dnitions d'objets Hritage des proprits d'objets Classement des dnitions d'objets Vrication de l'intgrit des relations entre objets Contrle de rfrences circulaires et bien plus Certaines de ces tapes peuvent se rvler consommatrices en temps quand vous avez des congurations importantes ou complexes. Existe t'il un moyen d'acclrer une de ces tapes ? Oui !

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ---------------------------------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 (* = Potential for precache savings with -u option)

* * * * * * * * *

* = 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 continuer utiliser votre ancienne conguration parce qu'il la lit dsormais depuis le chier de pr-cache plutt que depuis vos chiers de conguration sources.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'option de conguration use_large_installation_tweaks . Activer cette option permet Nagios d'utiliser 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 devenir assez consommateur de temps dans des installations de grande dimension, aussi elles ne sont pas disponibles quand cette option est active. Les macros de rsum resteront disponibles comme toutes les macros si vous les passez en argument de vos scripts. 2. Nettoyage de la mmoire dirent - Habituellement, Nagios va librer tout l'espace mmoire allou aux processus enfants avant de les terminer. C'est certainement la meilleure faon de faire, mais cela n'est pas utile dans la plupart des installations parce que la plupart des OS prennent soin de librer la mmoire alloue quand les processus se terminent. 3. Moins de fork() - Habituellement, Nagios va fork() deux fois quand il excute un contrle d'hte et de service. Cela permet (1) d'avoir une plus grande rsistance contre les plugins qui provoquent des segfault et (2) permet l'OS de grer le nettoyage du processus parent quand il se termine. Le fork() supplmentaire n'est pas forcment ncessaire, aussi est-il ignor quand vous activez cette option. Le rsultat est que c'est Nagios lui-mme qui va nettoyer les processus enfants quand ils se terminent (au lieu de laisser ce boulot l'OS). Cette fonction devrait permettre de rduire de faon signicative la charge du serveur Nagios.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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'emplacement de votre chier de conguration principal comme ceci :[nagios@lanman ~]# /usr/local/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 Nagios PID: Used/High/Total Used/High/Total Time: 0d 5h 20m 39s 10119 Command Buffers: 0 / 0 / 64 Check Result Buffers: 0 / 7 / 512

Total Services: 95 Services Checked: 94 Services Scheduled: 91 Services Actively Checked: 94

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 Scheduled: 4 On-demand: 3 Cached: 2 Passive Host Checks Last 1/5/15 min: 0 Active Service Checks Last 1/5/15 min: 9 Scheduled: 9 On-demand: 0 Cached: 0 Passive Service Checks Last 1/5/15 min: 0 / / / / / / / / / / 52 / 164 23 / 75 23 / 69 6 / 20 0 / 0 80 / 244 80 / 244 0 / 0 0 / 0 0 / 0

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 processus 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 reprsentes 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 statistiques de performance de Nagios peuvent tre trouves ici.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 351 / 379

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 352 / 379

Chapitre 66

Grapher les informations de performance 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 performance 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 357 / 379

Huitime partie

Intgration avec d'autres logiciels

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 suivantes sur : Les contrles passifs Les commandes externes Pour envoyer des tats, donnes de performance ou des notications de Nagios vers des appplications externes, regardez les documentations suivantes sur : Le gestionnaire d'vnements Les commandes OCSP et OCHP Les donnes de performance Les notications

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)

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 rejetes par un TCP wrapper (encapsuleur TCP). Ces explications supposent que l'hte pour lequel vous gnrez ces alertes (i.e. l'hte sur lequel vous utilisez le TCP wrappers) n'est pas le mme hte que celui sur lequel Nagios est install. Si vous souhaitez gnrer des alertes sur l'hte Nagios, vous aurez besoin de faire quelques modications l'exemple que je vous propose. Je suppose galement que vous avez install le dmon nsca sur la machine de surpervision et le client NSCA (send_nsca) sur la machine qui gnre les alertes TCP wrappers. Il y a quelques pr-requis savoir : 1. Vous tes maintenant familiariser avec Chapitre31 et comment les utiliser. 2. Vous tes maintenant familiariser avec Volatile Services et comment les utiliser. 3. L'hte avec lequel vous allez gnrer des alertes est une machine distance que l'on appellera restorm. Si vous voulez gnrer les alertes TCP Wrapper sur le mme hte que votre serveur de supervision, il faudra adapter vos besoins les exemples ci-dessous. 4. Vous avez install NSCANSCA sur votre serveur de supervision et le client NSCA (send_nsca) sur la machine distance qui enverra des alertes TCP Wrapper.

69.2 Dnition du Service


Si vous ne l'avez pas encore fait, crez une dnition d'hte pour l'hte superviser (restorm).

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 service_description is_volatile active_checks_enabled passive_checks_enabled max_check_attempts check_command ... } firestorm TCP Wrappers 1 0 1 1 check_none

Il est important de noter que 1. le service l'option volatile active. Cette option est active parce que nous voulons qu'une notication soit gnre pour toutes les alertes survenant. 2. Notez galement que les contrles actifs sont dsactivs pour ce service, alors que les contrles passifs sont activs 3. Le max_check_attempts 1 signie que ce service enverra des alertes ds son premier changement d'tat.

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 364 / 379

Neuvime partie

Complments Nagios

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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/.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 367 / 379

Dixime partie

Dveloppement

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 plugins 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 0 1 2 3 Etat du service OK WARNING CRITICAL UNKNOWN Etat de l'hte UP UP ou DOWN/UNREACHABLE* DOWN/UNREACHABLE DOWN/UNREACHABLE

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 plugins 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 sortie du plugin ( gauche du sparateur 'pipe') sera crite dans la macro $SERVICEOUTPUT$ et la partieorangedu message de sortie du plugin ( droite du sparateur 'pipe' ) sera crite dans la macro $SERVICEPERFDATA$ . Cas 3 : Plusieurs lignes de sortie (texte et donnes de performance) Un plugin peut optionnellement retourner plusieurs lignes de texte et de donnes de performance, comme suit :

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 $SERVICEOUTPUT$. Les parties oranges de la premire ligne et suivantes seront concatnes (avec des espaces) et seront stockes dans la macro $SERVICEPERFDATA$. es parties bleues de la 2me la 5me ligne du message de sortie du plugin seront concatnes (avec comme sparateur le caractre 'nouvelle ligne' [ ] ) et seront stockes dans la macro $LONGSERVICEOUTPUT$. Le contenu nal de chaque macro est list ci-dessous: Macro $SERVICEOUTPUT$ $SERVICEPERFDATA$ $LONGSERVICEOUTPUT$

Valeur DISK OK - free space : / 3326 MB (56%) ; /=2643MB;5948;5958;0;5968/boot=68MB;88;93;0;98 / 15272 MB (77%) ;\n/boot 68 MB (69%) ;\n/var/log 819 MB (84%) ;

Dans le cas de plusieurs lignes en sortie, vous disposez des options suivantes pour retourner les donnes de performance : Vous pouvez choisir de ne pas retourner de donnes de performance Vous pouvez retourner des donnes de performances seulement sur la premire ligne Vous pouvez retourner des donnes de performance seulement sur les lignes suivantes (aprs la premire) Vous pouvez retourner des donnes de performance aussi bien sur la premire ligne que les suivantes (comme montr si dessous)

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

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 documentation 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 langage 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 &support) Jetez un il sur la faon dont sont crits les plugins Perl standards, comme par exemple : Quittez toujours avec une valeur $ERRORS{CRITICAL}, $ERRORS{OK}, etc. Utilisez getopt pour lire les paramtres de la ligne de commande Grez les dpassements de dlai Appelez print_usage (que vous fournissez) quand il n'y a pas de paramtre la commande Utilisez des noms de paramtres standard (par exemple H 'host', V 'version')

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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/.

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 probablement d au point 4 ci-dessus. 7. Soyez prt dboguer en : ayant un ePN de test ajoutant des instructions print votre plugin pour acher la valeur des variables sur STDERR (STDOUT ne peut pas tre utilis) ajoutant des instructions print p1.pl pour acher ce qu'ePN pense qu'est votre plugin avant d'essayer de le lancer (vi) lanant l'ePN en avant-plan (probablement en conjonction avec les recommandations prcdentes) utilisant le module Deparse sur votre plugin pour voir comment l'analyseur syntaxique l'a optimis, et ce que l'interprteur reoit rellement (voir Constants in Perl de Sean M. Burke, The Perl Journal, automne 2001)
perl -MO::Deparse <votre_programme>

8. Sachez qu'ePN transforme votre plugin lui aussi, et si tout le reste a chou essayez de dboguer la version transforme. Comme vous pouvez le constater ci-dessous p1.pl rcrit votre plugin comme une fonction appel 'hndlr' dans le paquetage nomm Embed : :<quelque-chose-ayant-rapport-avec-le-nom-dechier-de-votre-plugin>. Votre plugin attend peut-tre des paramtres de la ligne de commande dans @ARGV, donc pl.pl assigne galement @_ @ARGV. Ceci son tour est valu et si eval remonte une erreur (qu'elle soit syntaxique ou d'excution), le plugin est jet dehors. La copie d'cran suivante montre comment un ePN de test a transform le plugin check_rpc avant d'essayer de l'excuter. Seule une petite partie du code du plugin est montre ici, car nous ne nous intressons qu'aux transformations que l'ePN lui fait subir). Les transformations sont aches en rouge :
package main; use subs 'CORE::GLOBAL::exit'; sub CORE::GLOBAL::exit { die "ExitTrap: $_[0] (Embed::check_5frpc)"; } package Embed::check_5frpc; sub hndlr { shift(@_); @ARGV=@_; #! /usr/bin/perl -w # # check_rpc plugin for Nagios # # usage: # check_rpc host service # # Check if an rpc serice is registered and running # using rpcinfo - $proto $host $prognum 2>&1 |"; # # Use these hosts.cfg entries as examples # # command[check_nfs]=/some/path/libexec/check_rpc $HOSTADDRESS$ nfs # service[check_nfs]=NFS;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_rpc

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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).

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 375 / 379

Chapitre 73

Glossaire
Ce glossaire, lexique dnit les termes utiliss dans la documentation.

A
Addon Un addon est un logiciel prvu pour fonctionner avec Nagios et qui en tend les possibilits, fonctionnalits.

C
Contact Le contact permet de dterminer qui est prvenu lors d'un problme sur un hte ou un service

H
Hte Un hte est tout lment actif du rseau dont l'tat peut tre dni (up, down,unreachable). Gnralement, tout lment actif du rseau possdant une addresse IP est considr comme hte.

N
NRPE Voir "Nagios Remote Plugin Executor". Nagios Remote Plugin Executor (NRPE) NRPE est le composant de Nagios qui permet de dclencher une prise de mesure active sur un hte distant. C'est un lment de supervision de type actif.

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 376 / 379

P
Plugin Un plugin est un script crit dans n'importe quel langage capable de renvoyer Nagios un tat, un indicateur.

S
Service Au sens Nagios du terme, un service est....

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 377 / 379

Chapitre 74

Index
A API, 9, 10 C CGI, 2, 7, 10, 20, 31, 61--63, 65--67, 97, 109, 112, 113, 115, 117, 120--122, 125, 137-141, 144--148, 150--155, 221--230, 232, 233, 311, 312, 334, 336, 338 D Debian, 30, 31 F Fedora, 17, 20, 26 M Macros $ADMINEMAIL$, 98, 189 $ADMINPAGER$, 189 $ARGn$, 165, 189, 334 $COMMANDFILE$, 188 $COMMENTDATAFILE$, 188 $CONTACTADDRESSn$, 182 $CONTACTALIAS$, 182 $CONTACTEMAIL$, 125, 182 $CONTACTGROUPALIAS$, 5, 183 $CONTACTGROUPMEMBERS$, 5, 183 $CONTACTGROUPNAMES$, 5, 183 $CONTACTGROUPNAME$, 5, 183 $CONTACTNAME$, 123, 182 $CONTACTPAGER$, 125, 182 $DATE$, 187 $DOWNTIMEDATAFILE$, 188 $EVENTSTARTTIME$, 5, 189 $HOSTACKAUTHORALIAS$, 11, 175 $HOSTACKAUTHORNAME$, 11, 175 $HOSTACKAUTHOR$, 98, 175 $HOSTACKCOMMENT$, 98, 176 $HOSTACTIONURL$, 5, 164, 176 $HOSTADDRESS$, 109, 150, 172 $HOSTALIAS$, 109, 172 $HOSTATTEMPT$, 173 $HOSTCHECKCOMMAND$, 175 $HOSTDISPLAYNAME$, 5, 172 $HOSTDOWNTIME$, 174 $HOSTDURATIONSEC$, 174 $HOSTDURATION$, 174 $HOSTEVENTID$, 4, 11, 173 $HOSTEXECUTIONTIME$, 174 $HOSTGROUPACTIONURL$, 177 $HOSTGROUPALIAS$, 176 $HOSTGROUPMEMBERS$, 176 $HOSTGROUPNAMES$, 11, 174 $HOSTGROUPNAME$, 174 $HOSTGROUPNOTESURL$, 177 $HOSTGROUPNOTES$, 177 $HOSTLATENCY$, 174 $HOSTNAME$, 109, 172, 176, 181 $HOSTNOTESURL$, 5, 164, 176 $HOSTNOTES$, 5, 164, 176 $HOSTNOTIFICATIONID$, 4, 11, 186 $HOSTNOTIFICATIONNUMBER$, 5, 186 $HOSTOUTPUT$, 98, 175, 289, 334 $HOSTPERCENTCHANGE$, 174 $HOSTPERFDATAFILE$, 188 $HOSTPERFDATA$, 98, 175, 288, 289, 334 $HOSTPROBLEMID$, 5, 173 $HOSTSTATEID$, 172 $HOSTSTATETYPE$, 173 $HOSTSTATE$, 172 $ISVALIDTIME:$, 5, 187 $LASTHOSTCHECK$, 174 $LASTHOSTDOWN$, 175 $LASTHOSTEVENTID$, 5, 11, 173 $LASTHOSTPROBLEMID$, 5, 174 $LASTHOSTSTATECHANGE$, 175 $LASTHOSTSTATEID$, 5, 173 $LASTHOSTSTATE$, 5, 172 $LASTHOSTUNREACHABLE$, 175 $LASTHOSTUP$, 175 $LASTSERVICECHECK$, 179 $LASTSERVICECRITICAL$, 180 $LASTSERVICEEVENTID$, 5, 11, 178 $LASTSERVICEOK$, 180 $LASTSERVICEPROBLEMID$, 5, 179 $LASTSERVICESTATECHANGE$, 180 $LASTSERVICESTATEID$, 5, 177

Documentation Nagios Version 3.x

Ed. Franaise Docbook Document de Travail 378 / 379

$LASTSERVICESTATE$, 5, 177 $LASTSERVICEUNKNOWN$, 180 $LASTSERVICEWARNING$, 180 $LOGFILE$, 188 $LONGDATETIME$, 187 $LONGHOSTOUTPUT$, 4, 9, 175 $LONGSERVICEOUTPUT$, 4, 9, 180, 370 $MAINCONFIGFILE$, 188 $MAXHOSTATTEMPTS$, 5, 173 $MAXSERVICEATTEMPTS$, 5, 178 $NEXTVALIDTIME:$, 5, 188 $NOTIFICATIONAUTHORALIAS$, 5, 185, 190 $NOTIFICATIONAUTHORNAME$, 5, 185, 190 $NOTIFICATIONAUTHOR$, 5, 185, 190 $NOTIFICATIONCOMMENT$, 5, 186, 190 $NOTIFICATIONISESCALATED$, 5, 185 $NOTIFICATIONRECIPIENTS$, 5, 185 $NOTIFICATIONTYPE$, 7, 175, 176, 180, 181, 185, 186 $OBJECTCACHEFILE$, 188 $PROCESSSTARTTIME$, 189 $RESOURCEFILE$, 188 $RETENTIONDATAFILE$, 188 $SERVICEACKAUTHORALIAS$, 11, 181 $SERVICEACKAUTHORNAME$, 11, 180 $SERVICEACKAUTHOR$, 98, 180 $SERVICEACKCOMMENT$, 98, 181 $SERVICEACTIONURL$, 5, 164, 181 $SERVICEATTEMPT$, 178 $SERVICECHECKCOMMAND$, 180 $SERVICEDESC$, 177, 181 $SERVICEDISPLAYNAME$, 5, 177 $SERVICEDOWNTIME$, 179 $SERVICEDURATIONSEC$, 179 $SERVICEDURATION$, 179 $SERVICEEVENTID$, 4, 11, 178 $SERVICEEXECUTIONTIME$, 179 $SERVICEGROUPALIAS$, 181 $SERVICEGROUPMEMBERS$, 181 $SERVICEGROUPNAMES$, 11, 179 $SERVICEGROUPNAME$, 179 $SERVICEGROUPNOTESURL$, 182 $SERVICEGROUPNOTES$, 182 $SERVICEISVOLATILE$, 5, 178 $SERVICELATENCY$, 179 $SERVICENOTESURL$, 5, 164, 181 $SERVICENOTES$, 5, 164, 181 $SERVICENOTIFICATIONID$, 4, 11, 187 $SERVICENOTIFICATIONNUMBER$, 5, 186 $SERVICEOUTPUT$, 98, 180, 289, 334, 369, 370 $SERVICEPERCENTCHANGE$, 179 $SERVICEPERFDATAFILE$, 188 $SERVICEPERFDATA$, 98, 180, 288, 289, 334, 369, 370 $SERVICEPROBLEMID$, 5, 178

$SERVICESTATEID$, 177 $SERVICESTATETYPE$, 178 $SERVICESTATE$, 177 $SHORTDATETIME$, 187 $STATUSDATAFILE$, 188 $TEMPFILE$, 188 $TEMPPATH$, 4, 188 $TIMET$, 187 $TIME$, 187 $TOTALHOSTPROBLEMSUNHANDLED$, 184 $TOTALHOSTPROBLEMS$, 184 $TOTALHOSTSDOWNUNHANDLED$, 183 $TOTALHOSTSDOWN$, 183 $TOTALHOSTSERVICESCRITICAL$, 5, 176 $TOTALHOSTSERVICESOK$, 5, 176 $TOTALHOSTSERVICESUNKNOWN$, 5, 176 $TOTALHOSTSERVICESWARNING$, 5, 176 $TOTALHOSTSERVICES$, 5, 176 $TOTALHOSTSUNREACHABLEUNHANDLED$, 183 $TOTALHOSTSUNREACHABLE$, 183 $TOTALHOSTSUP$, 183 $TOTALSERVICEPROBLEMSUNHANDLED$, 184 $TOTALSERVICEPROBLEMS$, 184 $TOTALSERVICESCRITICALUNHANDLED$, 184 $TOTALSERVICESCRITICAL$, 184 $TOTALSERVICESOK$, 184 $TOTALSERVICESUNKNOWNUNHANDLED$, 184 $TOTALSERVICESUNKNOWN$, 184 $TOTALSERVICESWARNINGUNHANDLED$, 184 $TOTALSERVICESWARNING$, 184 $USERn$, 66, 129, 189, 334 MRTG, 48, 51, 72, 305--307, 340, 342, 349, 350, 352 N Nagios, 198--202 NRPE, 41, 334, 366 NSCA, 201, 247, 342, 361, 366 O openSUSE, 22, 25 P Paramtres de conguration retry_interval, 9 Plugins check_by_ssh, 41, 366 check_cluster, 276, 277 check_dns, 276 check_dummy, 244, 251 check_fping, 342 check_ftp, 56

Documentation Nagios Version 3.x

Ed. Franaise Docbook 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 ,

Anda mungkin juga menyukai