406
Documentation Nagios Version 3.x Ed. Française Docbook Document de Travail i Documentation Nagios Version 3.x Ed. Française Docbook

fr_FR.nagios-3.x-beta-8

Embed Size (px)

Citation preview

Page 1: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

i

Documentation Nagios Version 3.x

Ed. Française Docbook

Page 2: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

ii

Copyright © 1999-2007 Ethan Galstad, Nagios Enterprises

Nagios and the Nagios logo are registered trademarks of Ethan Galstad. All other trademarks, service-marks, registered trademarks, and registered servicemarks mentioned herein may be the property oftheir respective owner(s). The information contained herein is provided AS IS with NO WARRANTYOF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FORA PARTICULAR PURPOSE.

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

Page 3: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

iii

INDEXATION DU DOCUMENT

TITRE :

Documentation Nagios Version 3.x

ACTION NOM DATE SIGNATURE

RÉDIGÉ PAR Ethan Galstad 6 mars 2011

TransformationHTML versDocbook et

relecture version3.x

SébastienGuilbaud

6 mars 2011

TransformationHTML versDocbook,

traduction etrelecture version

3.x

Olivier Jan 6 mars 2011

Traductionversion 3.x

RomualdFronteau

6 mars 2011

Traduction etrelecture version

3.x

GuillaumeHalbitte

6 mars 2011

Traductionversion 3.x

David Guénault 6 mars 2011

Traductionversion 3.x

Dimitri Druelle 6 mars 2011

Relectureversion 3.x

Sylvain Faure 6 mars 2011

Relectureversion 3.x

Pascal Martin 6 mars 2011

Page 4: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

iv

SUIVI DU DOCUMENT

INDICE DATE MODIFICATIONS NOM

3 2009-10-05 Première version beta françaisedocbook

oj, rf, gh, dg, dd

2 2008-11-28 Première version beta docbook sg, oj

1 2008-11-13 Première version eg

Page 5: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

v

Table des matières

I À propos 1

1 À propos de Nagios 21.1 Qu'est-ce que c'est ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Pré-requis au niveau du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.5 Téléchargement de la dernière version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.6 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Quoi de neuf dans Nagios 3 42.1 Historique des changements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Modifications et nouvelles fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.2 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.3 Période de maintenance planifiée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.4 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.5 État de conservation des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.6 Détection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.7 Commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.8 Données d'état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.9 Perl intégré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.10Supervision adaptative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.11Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.12Définitions d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.13Héritage d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.14Améliorations des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.15Message retour d'un plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.16Contrôles de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.17Contrôles d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Page 6: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

vi

2.2.18Contrôles de la fraîcheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.19IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.20Périodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.21Module de courtage d'événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.22Interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.23Information de débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.24Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Problèmes connus 133.1 Problèmes connus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

II Démarrage 14

4 Conseils aux débutants 15

5 Guides d'installation rapide 165.1 Guides d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2 Modifications post installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 Guide de démarrage rapide Fedora 176.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.2 Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.3 Créez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186.4 Téléchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186.6 Personnalisation de la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.7 Configuration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 196.9 Démarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.10Modifiez les réglages SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.11Connexion à l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.12Autres Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.13Terminé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7 Guide de démarrage rapide openSUSE 227.1 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227.2 Créez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227.3 Téléchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.4 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.5 Personnalisation de la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.6 Configuration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Page 7: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

vii

7.7 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 247.8 Démarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247.9 Connexion à l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247.10Autres Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

8 Guide de démarrage rapide Ubuntu 268.1 Ce que vous allez obtenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.2 Paquetages requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.3 Créez un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.4 Téléchargez Nagios et les Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.5 Compilez et installez Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.6 Personnalisation de la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.7 Configuration de l'interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.8 Compilation et installation des Plugins Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . 288.9 Démarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.10Connexion à l'interface Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.11Autres Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

9 Mise à jour de Nagios 309.1 Mise à jour depuis une version 3.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.2 Mise à jour depuis une version 2.x de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . 319.3 Mise à jour depuis une installation par RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

10Supervision des machines Windows 3310.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3310.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3310.3Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3410.4Ce qui est déjà fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3410.5Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3410.6Installation de l'agent Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3510.7Configuration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3610.8Protection par mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3810.9Redémarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

11Supervision des machines Linux/Unix 4011.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4011.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

12Supervision des serveurs Netware 4212.1Ressources externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Page 8: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

viii

13Supervision des imprimantes réseaux 4313.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4313.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.3Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.4Ce qui est déjà fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.5Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.6Configuration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4513.7Redémarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

14Supervision des routeurs et des switchs. 4714.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4714.2Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4814.3Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4814.4Ce qui est déjà fait pour vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4814.5Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4914.6Configuration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4914.7Supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4914.8Supervision des paquets perdus et de la RTA . . . . . . . . . . . . . . . . . . . . . . . . . . . 5014.9Supervision de l'information d'état SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5014.10Supervision de la bande passante/trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5114.11Redémarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

15Supervision des services publiquement disponibles 5315.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5315.2Plugins pour la supervision des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5415.3Création d'une définition d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5415.4Création d'une définition de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5415.5Supervision HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5515.6Supervision FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5615.7Supervision SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5615.8Supervision SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5715.9Supervision POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5715.10Supervision IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5815.11Redémarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

III Configurer Nagios 60

16Survol de la configuration 6116.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6116.2Fichier de configuration principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6116.3Fichier de configuration des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6216.4Fichier de définition des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6216.5Fichier de configuration des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Page 9: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

ix

17Options du fichier de configuration principal 6417.1Configuration d'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6417.2Emplacement du fichier de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6417.3Variables du fichier de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

17.3.1 log_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6417.3.2 cfg_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6517.3.3 cfg_dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6517.3.4 object_cache_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6517.3.5 precached_object_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6617.3.6 resource_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6617.3.7 temp_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6617.3.8 temp_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6617.3.9 status_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6717.3.10status_update_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6717.3.11nagios_user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6717.3.12nagios_group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6717.3.13enable_notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6717.3.14execute_service_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6817.3.15accept_passive_service_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6817.3.16execute_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6917.3.17accept_passive_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6917.3.18enable_event_handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7017.3.19log_rotation_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7117.3.20log_archive_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7117.3.21check_external_commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7117.3.22command_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7117.3.23command_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7217.3.24external_command_buffer_slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7217.3.25lock_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7217.3.26retain_state_information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7317.3.27state_retention_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7317.3.28retention_update_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7317.3.29use_retained_program_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7317.3.30use_retained_scheduling_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7417.3.31Masques d'attribut conservé pour hôte et service . . . . . . . . . . . . . . . . . . . . 7417.3.32Masque d'attributs conservés du processus . . . . . . . . . . . . . . . . . . . . . . . 7417.3.33Masques d'attribut conservé de contact . . . . . . . . . . . . . . . . . . . . . . . . . . 7517.3.34use_syslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7517.3.35log_notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Page 10: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

x

17.3.36log_service_retries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7617.3.37log_host_retries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7617.3.38log_event_handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7617.3.39log_initial_states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7717.3.40log_external_commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7717.3.41log_passive_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7717.3.42global_host_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7817.3.43global_service_event_handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7817.3.44sleep_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7817.3.45service_inter_check_delay_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7817.3.46max_service_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7917.3.47service_interleave_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7917.3.48max_concurrent_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7917.3.49check_result_reaper_frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8017.3.50max_check_result_reaper_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8017.3.51check_result_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8017.3.52max_check_result_file_age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8117.3.53host_inter_check_delay_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8117.3.54max_host_check_spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8117.3.55interval_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8117.3.56auto_reschedule_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8217.3.57auto_rescheduling_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8217.3.58auto_rescheduling_window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8217.3.59use_aggressive_host_checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8317.3.60translate_passive_host_checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8317.3.61passive_host_checks_are_soft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8317.3.62enable_predictive_host_dependency_checks . . . . . . . . . . . . . . . . . . . . . . . 8417.3.63enable_predictive_service_dependency_checks . . . . . . . . . . . . . . . . . . . . . 8417.3.64cached_host_check_horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8417.3.65cached_service_check_horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8517.3.66use_large_installation_tweaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8517.3.67free_child_process_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8517.3.68child_processes_fork_twice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8517.3.69enable_environment_macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8617.3.70enable_flap_detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8617.3.71low_service_flap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8617.3.72high_service_flap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8717.3.73low_host_flap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8717.3.74high_host_flap_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Page 11: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xi

17.3.75soft_state_dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8717.3.76service_check_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8817.3.77host_check_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8817.3.78event_handler_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8817.3.79notification_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8817.3.80ocsp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8917.3.81ochp_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8917.3.82perfdata_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8917.3.83obsess_over_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9017.3.84ocsp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9017.3.85obsess_over_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9017.3.86ochp_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9017.3.87process_performance_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9117.3.88host_perfdata_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9117.3.89service_perfdata_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9117.3.90host_perfdata_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9217.3.91service_perfdata_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9217.3.92host_perfdata_file_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9217.3.93service_perfdata_file_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9217.3.94host_perfdata_file_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9317.3.95service_perfdata_file_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9317.3.96host_perfdata_file_processing_interval . . . . . . . . . . . . . . . . . . . . . . . . . . 9317.3.97service_perfdata_file_processing_interval . . . . . . . . . . . . . . . . . . . . . . . . . 9317.3.98host_perfdata_file_processing_command . . . . . . . . . . . . . . . . . . . . . . . . . 9417.3.99service_perfdata_file_processing_command . . . . . . . . . . . . . . . . . . . . . . . 9417.3.100check_for_orphaned_services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9417.3.101check_for_orphaned_hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9417.3.102check_service_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9517.3.103service_freshness_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9517.3.104check_host_freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9517.3.105host_freshness_check_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9617.3.106additional_freshness_latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9617.3.107enable_embedded_perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9617.3.108use_embedded_perl_implicitly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9617.3.109date_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9617.3.110use_timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9717.3.111illegal_object_name_chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9717.3.112illegal_macro_output_chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9717.3.113use_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Page 12: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xii

17.3.114use_true_regexp_matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9817.3.115admin_email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9817.3.116admin_pager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9917.3.117event_broker_options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9917.3.118broker_module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9917.3.119debug_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10017.3.120debug_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10017.3.121debug_verbosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10017.3.122max_debug_file_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

18Survol de la configuration des objets 10218.1Que sont les données des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10218.2Où sont définies les données des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10218.3Comment définir les données des objets ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10318.4 Explication des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

18.4.1Hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10318.4.2Groupes d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10318.4.3Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10418.4.4Groupes de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10418.4.5Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10418.4.6Groupes de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10418.4.7Périodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10518.4.8Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

19Définitions d'objet 10619.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10619.2 Notes sur la rétention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10619.3Fichiers exemple de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10719.4Types d'objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

19.4.1 Définition d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10719.4.1.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10719.4.1.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10719.4.1.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10819.4.1.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

19.4.2 Définition de groupe d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11419.4.2.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11419.4.2.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11419.4.2.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11419.4.2.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Page 13: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xiii

19.4.3 Définition de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11519.4.3.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11519.4.3.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11519.4.3.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11619.4.3.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

19.4.4 Définition de groupe de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12119.4.4.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12119.4.4.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12119.4.4.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12119.4.4.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

19.4.5 Définition de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12219.4.5.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12219.4.5.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12219.4.5.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12319.4.5.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

19.4.6 Définition de groupe de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12519.4.6.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12519.4.6.2Format de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12519.4.6.3Exemple de définition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12619.4.6.4Description des variables : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

19.4.7 Définition de période de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12619.4.7.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12619.4.7.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12619.4.7.3Exemples de définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12719.4.7.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

19.4.8 Définition de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12819.4.8.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12819.4.8.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12819.4.8.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12919.4.8.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

19.4.9 Définition de dépendance de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12919.4.9.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12919.4.9.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13019.4.9.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13019.4.9.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

19.4.10Définition d'escalade de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13119.4.10.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13119.4.10.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13219.4.10.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Page 14: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xiv

19.4.10.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13219.4.11Définitions de dépendance d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

19.4.11.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13319.4.11.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13419.4.11.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13419.4.11.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

19.4.12Définition d'escalade d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13519.4.12.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13519.4.12.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13519.4.12.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13619.4.12.4Description des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

19.4.13Définition des informations étendues d'hôtes . . . . . . . . . . . . . . . . . . . . . . 13719.4.13.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13719.4.13.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13719.4.13.3Exemple de définition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13819.4.13.4Descriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

19.4.14Définition des informations étendues de services . . . . . . . . . . . . . . . . . . . . 13919.4.14.1Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13919.4.14.2Format de la définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14019.4.14.3Exemple de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14019.4.14.4Descriptions de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

20Variables personnalisées d'objet 14220.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14220.2Principes de base des variables personnalisées . . . . . . . . . . . . . . . . . . . . . . . . . . 14220.3Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14220.4Les variables personnalisées comme macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14320.5Variables personnalisées et héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

21Options du fichier de configuration des CGIs 14421.1Exemple de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14421.2Emplacement du fichier de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14421.3Variables du fichier de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

21.3.1 Emplacement du fichier de configuration principal . . . . . . . . . . . . . . . . . . . 14521.3.2 Chemin d'accès physique aux fichiers HTML . . . . . . . . . . . . . . . . . . . . . . . 14521.3.3 URL d'accès aux pages HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14521.3.4 Utilisation de l'authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14521.3.5 Nom d'utilisateur par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14521.3.6 Accès aux informations sur le système et le processus . . . . . . . . . . . . . . . . . 146

Page 15: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xv

21.3.7 Accès aux commandes du système/processus . . . . . . . . . . . . . . . . . . . . . . 14621.3.8 Accès aux informations de configuration . . . . . . . . . . . . . . . . . . . . . . . . . 14621.3.9 Accès global aux informations sur les hôtes . . . . . . . . . . . . . . . . . . . . . . . 14721.3.10Accès global aux commandes des hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . 14721.3.11Accès global aux informations sur les services . . . . . . . . . . . . . . . . . . . . . . 14721.3.12Accès global aux commandes des services . . . . . . . . . . . . . . . . . . . . . . . . 14721.3.13Vérouillage des noms d'auteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14821.3.14Image de fond du CGICGI de cartographie des états (Statusmap) . . . . . . . . . . 14821.3.15Dessin de la cartographie des états : valeur par défaut . . . . . . . . . . . . . . . . 14821.3.16Monde inclus dans le CGI du monde des états (Statuswrl) . . . . . . . . . . . . . . 14921.3.17Dessin du monde des états : valeur par défaut . . . . . . . . . . . . . . . . . . . . . . 14921.3.18Fréquence de rafraîchissement des CGIs . . . . . . . . . . . . . . . . . . . . . . . . . 14921.3.19Alertes sonores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14921.3.20Syntaxe Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15021.3.21Option d'échappement des balises HTML . . . . . . . . . . . . . . . . . . . . . . . . . 15021.3.22URL cible des notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15021.3.23URL cible d'action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15021.3.24Option d'intégration Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15121.3.25URL Splunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

22Authentification et autorisations dans les CGIs 15222.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15222.2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15222.3 Déclarer des utilisateurs authentifiés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15222.4 Activer l'authentification/autorisation dans les CGIs . . . . . . . . . . . . . . . . . . . . . . 15322.5 Droits d'accès par défaut aux informations des CGIs . . . . . . . . . . . . . . . . . . . . . . 15322.6 Donner des droits d'accès supplémentaires aux informations des CGIs . . . . . . . . . . . 15422.7 Autorisations requises par les CGIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15422.8 Authentification sur des serveurs web sécurisés . . . . . . . . . . . . . . . . . . . . . . . . 154

IV Démarrage de Nagios 156

23Vérification de votre configuration 15723.1Vérification de votre configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

24Démarrage et Arrêt de Nagios 15824.1Démarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15824.2Redémarrage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15824.3Arrêt de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Page 16: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xvi

V Les bases 160

25Les Plugins Nagios 16125.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16125.2Que sont les plugins ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16125.3Les plugins comme une couche intermédiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 16225.4Quels plugins existe-il? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16225.5Obtenir des plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16325.6Comment utiliser le plugin x ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16325.7 Plugin API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

26Utilisation des macros dans les commandes 16426.1Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16426.2Substitution des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16426.3Exemple 1 : La macro d'adresse de l'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16426.4Exemple 2 : Les commandes d'Argument de macros . . . . . . . . . . . . . . . . . . . . . . 16526.5Macro à la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16526.6Les groupes de macros à la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16726.7Les macros de variable personnalisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16726.8Nettoyage des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16726.9Macros et variables d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16826.10Validité des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

27Macros standards dans Nagios 16927.1Validité des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16927.2Tableau de disponibilité des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16927.3Description des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17227.4Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

28Les contrôles d'hôtes 19128.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19128.2Quand sont effectués les contrôles d'hôtes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19128.3Les contrôles d'hôtes mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19128.4Les contrôles et les dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19228.5Parallélisation des contrôles d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19228.6Les états d'un hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19228.7Détermmination de l'état d'un hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19328.8Changements d'états d'un hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Page 17: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xvii

29Les contrôles de services 19429.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19429.2Quand les contrôles de services sont-ils réalisés ? . . . . . . . . . . . . . . . . . . . . . . . . 19429.3Les contrôles de service mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19429.4Les contrôles et les dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19429.5Parallélisation des contrôles de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19529.6États des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19529.7Détermination de l'état du service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19529.8Changements d'états des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

30les contrôles actifs 19630.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19630.2Comment sont faits les contrôles actifs ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19630.3Quand sont exécutés les contrôles actifs ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

31Les contrôles passifs 19831.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19831.2L'utilité du contrôle passif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19831.3Comment les contrôles passifs fonctionnent-ils ? . . . . . . . . . . . . . . . . . . . . . . . . . 19931.4Autoriser les contrôles passifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19931.5Soumission d'un résultat de contrôle passif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20031.6Soumission d'un résultat de contrôle passif d'un hôte . . . . . . . . . . . . . . . . . . . . . . 20031.7Les contrôles passifs et les états d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20131.8Soumission des résultats de contrôles passifs provenant d'hôtes distants . . . . . . . . . . 201

32Types d'états 20232.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20232.2Tentatives de contrôle des Services et des hôtes . . . . . . . . . . . . . . . . . . . . . . . . . 20232.3Les états SOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20232.4Les états HARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20332.5Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

33Les périodes de temps 20633.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20633.2Les priorités dans les périodes de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20633.3Comment les périodes de temps fonctionnent avec les contrôles des hôtes et des services 20733.4Comment fonctionnent les périodes de temps avec les contacts de notifications . . . . . . 20733.5Comment fonctionnent les périodes de temps avec les escalades de notification . . . . . . 20833.6Comment fonctionnent les périodes de temps avec les dépendances . . . . . . . . . . . . . 208

Page 18: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xviii

34Détermination de l'état et de l'accessibilité des hôtes du réseau 20934.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20934.2Exemple de réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20934.3Définir des relations parents/enfants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21034.4La logique d'accessibilité des hôtes en action . . . . . . . . . . . . . . . . . . . . . . . . . . . 21234.5Type de notification DOWN opposé à UNREACHABLE . . . . . . . . . . . . . . . . . . . . . 214

35Notifications 21635.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21635.2Quand y a-t'il notification ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21635.3Qui est notifié ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21635.4Quels sont les filtres à traverser avant qu'une notification ne soit émise ? . . . . . . . . . . 21735.5Filtre global au programme : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21735.6Filtres d'hôte et de service : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21735.7Filtres de contact : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21835.8Moyens de notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21835.9Macro de type de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21935.10Ressources utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

36Informations sur les CGIs 22136.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22136.2 CGI d'état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22136.3 CGI de cartographie des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22236.4 CGI d'interface WAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22236.5 CGI du monde des états (VRML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22336.6 CGI d'aperçu tactique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22436.7 CGI d'indisponibilité du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22436.8 CGI de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22536.9 CGI de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22536.10CGI d'informations complémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22636.11CGI du fichier journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22736.12CGI d'historique d'alerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22736.13CGI des notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22836.14CGI de tendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22836.15CGI de rapport de disponibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22936.16CGI d'histogramme des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22936.17CGI du récapitulatif des alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

Page 19: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xix

VI Thèmes avancés 231

37Commandes externes 23237.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23237.2Autoriser les commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23237.3Quand Nagios contrôle-t-il les commandes externes ? . . . . . . . . . . . . . . . . . . . . . . 23337.4L'utilisation des commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23337.5Format des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

38Gestionnaires d'événements 23438.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23438.2Quand les commandes de gestionnaires d'événements sont-elles exécutées ? . . . . . . . 23538.3Types de gestionnaires d'événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23538.4Activation des gestionnaires d'événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23538.5Ordre d'exécution des gestionnaires d'événements . . . . . . . . . . . . . . . . . . . . . . . 23538.6Écriture d'une commande de gestionnaire d'événements . . . . . . . . . . . . . . . . . . . . 23638.7Autorisations d'exécution des commandes de gestionnaires d'événements . . . . . . . . . 23638.8 Exemple de gestionnaire d'événement de service . . . . . . . . . . . . . . . . . . . . . . . . 236

39Services volatiles 23939.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23939.2A quoi servent-ils ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23939.3Qu'est-ce que les services volatiles ont de si particulier ? . . . . . . . . . . . . . . . . . . . . 23939.4La puissance de deux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

39.4.1Configuration de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24039.4.2Configuration de PortSentry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24039.4.3Script de scan de port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

40Contrôle de la fraîcheur des résultats d'hôtes et de services 24240.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24240.2Comment fonctionne le contrôle de la fraîcheur ? . . . . . . . . . . . . . . . . . . . . . . . . 24240.3Activer le contrôle de la fraîcheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24340.4Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

41Supervision distribuée 24541.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24541.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24541.3Diagramme de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24541.4Serveur central ou serveurs distribués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24741.5Obtention des informations de contrôle de service à partir de serveurs distribués . . . . 24741.6Configuration des serveurs distribués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Page 20: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xx

41.7Configuration du serveur central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24941.8Problèmes avec les contrôles passifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25041.9Le contrôle de validité des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25041.10Contrôles des hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

42Gestion de panne et redondance pour la supervision réseau 25242.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25242.2Pré-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25242.3Exemples de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25242.4 Scénario 1 - Supervision Redondante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

42.4.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25342.4.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25342.4.3Diagramme de topologie réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25342.4.4Réglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25342.4.5Configuration Initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25442.4.6Définition de commandes de Gestion d’Evènements . . . . . . . . . . . . . . . . . . . 25442.4.7Scripts de Gestion d’Evènements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25442.4.8Que fait ce script pour nous ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25542.4.9Délais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25642.4.10Cas spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

42.5 Supervision en mode haute disponibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25742.5.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25742.5.2Buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25742.5.3Réglages initiaux du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25742.5.4Vérification du processus principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25742.5.5Cas Supplémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

43Détection et gestion de l'oscillation d'état 25943.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25943.2Comment la détection d'oscillation fonctionne-t-elle ? . . . . . . . . . . . . . . . . . . . . . . 25943.3Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26043.4Détection de l'oscillation pour les services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26143.5Détection de l'oscillation d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26143.6Seuils de détection de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26143.7Les états utilisés pour la détection de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . 26243.8Gestion de l'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26243.9Activation de la détection d'oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Page 21: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxi

44Escalades des notifications 26444.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26444.2Quand y a-t-il escalade des notifications ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26444.3Contact Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26544.4Recoupement des portées des escalades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26544.5Notifications de reprise d'activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26644.6Intervalles de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26744.7Restrictions de période de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26844.8Restrictions d'état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

45Les astreintes à la demande 27045.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27045.2Scénario 1 : Les vacances et les week-ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27045.3Scénario 2 : Jours alternés : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27145.4Scénario 3 : Semaines alternées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27245.5Scénario 4 : Les jours de vacances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27345.6Autres scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

46Supervision de clusters d'hôtes et de services 27546.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27546.2Plan d'attaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27546.3Utilisation du plugin check_cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27646.4Supervision de clusters de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27646.5Supervision de clusters d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

47Dépendances d'hôtes et de services 27947.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27947.2Aperçu des dépendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27947.3Définition de dépendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27947.4Exemple de dépendances de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27947.5Comment les dépendances d'un service sont testées . . . . . . . . . . . . . . . . . . . . . . 28147.6Dépendances d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28247.7Dépendances de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28247.8Héritage de dépendance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28247.9Dépendances d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28347.10Exemple de dépendances d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

48Suivi précis des changements d'état 28548.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28548.2Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28548.3Dois-je activer le suivi précis ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28648.4Comment activer le suivi précis des changements d'état ? . . . . . . . . . . . . . . . . . . . 28748.5Différences entre services volatiles et suivi précis ? . . . . . . . . . . . . . . . . . . . . . . . 28748.6Inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Page 22: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxii

49Données de performance 28849.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28849.2Les types de données de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28849.3Les données de performance relatives au plugin . . . . . . . . . . . . . . . . . . . . . . . . . 28949.4Traiter les données de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28949.5Commandes pour traiter les données de performance . . . . . . . . . . . . . . . . . . . . . . 29049.6Écrire les données de performances dans des fichiers . . . . . . . . . . . . . . . . . . . . . . 290

50Période de maintenance planifiée 29150.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29150.2Programmer une maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29150.3Maintenance fixe ou flexible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29250.4Maintenance déclenchée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29250.5Comment les maintenances programmées affectent les notifications . . . . . . . . . . . . . 29250.6Maintenances programmées qui se superposent . . . . . . . . . . . . . . . . . . . . . . . . . 293

51Utilisation de l'interpréteur Perl intégré 29451.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29451.2Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29551.3Inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29551.4Utilisation de l'interpréteur Perl intégré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29651.5Compilation de Nagios avec l'interpréteur Perl intégré . . . . . . . . . . . . . . . . . . . . . 29651.6Utilisation spécifique de l'interpréteur Perl par plugin . . . . . . . . . . . . . . . . . . . . . 29651.7Développement de plugins pour être utilisés avec Perl intégré à Nagios . . . . . . . . . . . 297

52Supervision adaptative 29852.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29852.2Qu'est ce qui peut être modifié? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29852.3Commandes externes pour le monitoring adaptif . . . . . . . . . . . . . . . . . . . . . . . . . 299

53Contrôles prédictifs de dépendances 30053.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30053.2Comment fonctionnent les contrôles prédictifs ? . . . . . . . . . . . . . . . . . . . . . . . . . 30053.3Activation des contrôles prédictifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30153.4Contrôles mis en cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

54Mise en cache des contrôles 30354.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30354.2Pour seulement des contrôles à la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30354.3Comment ça fonctionne? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30454.4Que cela signifie vraiment ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30454.5Configurations des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30554.6Optimisation de l'efficacité du cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Page 23: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxiii

55Transition d'état passif d'hôte 30855.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30855.2Différentes vues d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30855.3Activer la transition d'états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

56Ordonnancement du contrôle des services et des hôtes 31056.1 À faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

57Personnalisation de l'en-tête et du pied de page des CGIs 31157.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31157.2Comment cela fonctionne t'il ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

58Héritage d'objet 31358.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31358.2Les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31358.3Variables locales vs Variables héritées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31458.4Enchainement d'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31458.5Utiliser des définitions incomplète d'objet comme gabarit . . . . . . . . . . . . . . . . . . . 31558.6Variables personnalisées d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31658.7 Annulation de l'héritage de la valeur de la chaîne . . . . . . . . . . . . . . . . . . . . . . . 31758.8 Héritage additif de la valeur de la chaîne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31758.9 Héritage implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31858.10Héritage Implicite/Additive dans les escalades . . . . . . . . . . . . . . . . . . . . . . . . . 31958.11Multiples sources d'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31958.12Priorité avec des sources d'héritage multiples . . . . . . . . . . . . . . . . . . . . . . . . . . 320

59 Trucs et astuces gain de temps dans les définitions de modèles d'objets 32259.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32259.2Correspondance avec des expressions régulières . . . . . . . . . . . . . . . . . . . . . . . . 32259.3 Définitions de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

59.3.1Hôtes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32359.3.2Tous les hôtes situés dans de multiples groupes d'hôtes : . . . . . . . . . . . . . . . 32359.3.3Tous les hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32359.3.4Exclusion d'hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

59.4 Définitions d'escalade de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32459.4.1Hôtes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32459.4.2Tous les hôtes situés dans de multiples groupes d'hôtes : . . . . . . . . . . . . . . . 32459.4.3Tous les hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32459.4.4Exclusion d'hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32559.4.5Tous les services d'un même hôte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Page 24: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxiv

59.4.6Services multiples du même hôte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32559.4.7Tous les services de multiples groupes de services : . . . . . . . . . . . . . . . . . . . 326

59.5 Définitions de dépendance de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32659.5.1Hôtes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32659.5.2Tous les hôtes situés dans de multiples groupes d'hôtes : . . . . . . . . . . . . . . . 32659.5.3Tous les services d'un même hôte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32759.5.4Services multiples d'un même hôte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32759.5.5Tous les services de multiples groupes de services : . . . . . . . . . . . . . . . . . . . 32759.5.6 Dépendances sur le même hôte : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

59.6 Définitions d'escalade d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32859.6.1Hôtes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32859.6.2Tous les hôtes situés dans de multiples groupes d'hôtes : . . . . . . . . . . . . . . . 32859.6.3Tous les hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32859.6.4Exclusion d'hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

59.7 Définitions de dépendance d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32959.7.1Hôtes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32959.7.2Tous les hôtes situés dans de multiples groupes d'hôtes : . . . . . . . . . . . . . . . 329

59.8 Groupes d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32959.8.1Tous les hôtes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

VII Améliorations des performances et de la sécurité 331

60Considérations sur la sécurité 33260.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33260.2 Meilleures pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

61Amélioration de l'authentification et de la Sécurité des CGIs 33661.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33661.2Techniques supplémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

61.2.1L'implantation de l'authentification Digest . . . . . . . . . . . . . . . . . . . . . . . . . 33761.2.2Forcer l'implémentation TLS/SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33761.2.3Implémentation de verrous de sous-réseaux IP . . . . . . . . . . . . . . . . . . . . . . 338

61.3Notes importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

62Régler Nagios pour des performances maximales 34062.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34062.2Trucs et astuces d'optimisation : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

Page 25: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxv

63Options de démarrage rapide 34463.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34463.2Arrière-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34463.3Évaluation des temps de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34563.4Mise en pré-cache des objets de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 34663.5Passer outre les tests de références circulaires . . . . . . . . . . . . . . . . . . . . . . . . . . 34763.6Tout mettre ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

64Trucs et astuces pour les installations de grande dimension 34864.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34864.2Effets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

65Utilisation de Nagiostats 34965.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34965.2Instructions d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34965.3Affichage intelligible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34965.4Intégration à MRTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

66Grapher les informations de performance avec MRTG 35266.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35266.2Exemple de configuration MRTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35266.3Exemples de graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

VIII Intégration avec d'autres logiciels 357

67Vue générale de l'intégration 35867.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35867.2Les points d'intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35867.3Exemples d'intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

68Intégration des interruptions SNMP 36068.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

69Intégration d'un TCP Wrapper 36169.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36169.2Définition du Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36169.3Configuration du TCP Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36269.4Écriture du script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36269.5Finition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

Page 26: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxvi

IX Compléments à Nagios 364

70Addons Nagios 36570.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36570.2 NRPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36570.3 NSCANSCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36670.4 NDOUtils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

X Développement 367

71API pour les plugins Nagios 36871.1Autres Ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36871.2Vue d'ensemble du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36871.3Code de retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36871.4Spécifications pour la sortie du plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36971.5Exemples de sorties de plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36971.6Restriction de longueur de message de sortie de plugin . . . . . . . . . . . . . . . . . . . . 37071.7Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37071.8Plugins Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

72Développement de plugins pour être utilisés avec Perl intégré à Nagios 37172.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37172.2Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37172.3Les choses que vous devriez faire quand vous développez un plugin Perl (ePN ou pas) . 37172.4Ce que vous devez faire quand vous écrivez un plugin Perl pour ePN . . . . . . . . . . . . 372

73Glossaire 375

74Index 377

Page 27: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

xxvii

Liste des exemples

26.1Macro à la demande d'hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16626.2Macro à la demande de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16626.3Macro à la demande de service, sans le champ d'hôte . . . . . . . . . . . . . . . . . . . . . . 16626.4Macro à la demande de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16626.5Macro à la demande de groupe de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16626.6Macro à la demande de groupe d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16626.7Macro à la demande de groupe de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

Page 28: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

1 / 379

Première partie

À propos

Page 29: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

2 / 379

Chapitre 1

À propos de Nagios

1.1 Qu'est-ce que c'est?

Nagios est une application de supervision système et réseau. Il contrôle les hôtes et services que vousspécifiez et émet des alertes quand les choses vont mal ou qu'elles reviennent à la normale.Nagios a été développé pour fonctionner sur Linux, mais devrait fonctionner sur la plupart des sys-tèmes unix.Parmi ses fonctionallités, Nagios inclut :– La surveillance des services réseaux (SMTP, POP3, HTTP, NTP, PING, etc.)– La surveillance des ressources des hôtes (charge processeur, utilisation des disques, etc.)– Un système simple de plugins permettant aux utilisateurs de développer facilement leurs propresvérifications de services

– Des contrôles parallèles des services– La possibilité de définir la hiérarchie du réseau en utilisant des hôtes parents, ce qui permet ladétection et la distinction entre hôtes à l'arrêt et hôtes injoignables.

– Des notifications des contacts quand un hôte ou un service a un problème et quand celui-ci est résolu(via email, pager, sms, ou par tout autre méthode définie par l'utilisateur)

– La capacité à définir des gestionnaires d'événements permettant une résolution proactive des prob-lèmes.

– La rotation automatique des fichiers journaux– Le support pour mettre en œuvre des serveurs de supervision redondants– Une interface web optionnelle permettant de voir l'état courant du réseau, l'historique des notifica-tions et problèmes, le fichier journal, etc.

1.2 Pré-requis au niveau du système

Le seul pré-requis pour le fonctionnement de Nagios est une machine fonctionnant sous Linux (ou unevariante Unix) et un compilateur C - si vous désirez le compiler vous-même -. Il faudra également queTCP/IP soit configuré, car la plupart des vérifications de services seront faites par le réseau.Vous n'êtes pas obligé d'utiliser les CGIs inclus avec Nagios. Toutefois, si vous vous décidez à lesutiliser, vous devrez avoir les composants logiciels suivants installés…

1. Un serveur web (de préférence Apache)2. La librairie GD de Thomas Boutell en version 1.6.3 ou supérieure (requis par les CGIs statusmapet trends)

Page 30: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

3 / 379

1.3 Licence

Nagios est licencié sous les termes de la version 2 de la GNU General Public License telle que pub-liée par la Free Software Foundation . Cela vous donne la permission légale de copier, distribueret/ou de modifier Nagios sous certaines conditions. Veuillez vous reporter au fichier 'LICENSE' de ladistribution Nagios ou à la version en ligne pour plus de détails.Nagios est fourni TEL QUE sans AUCUNE GARANTIE D'AUCUNE SORTE, sans même une garantieimplicite de COMMERCIABILITE ou DE CONFORMITE A UNE UTILISATION PARTICULIERE.

1.4 Remerciements

De nombreuses personnes ont contribuées à Nagios, soit en signalant des bugs, soit en suggérant desaméliorations, soit en écrivant des plugins, etc. Une liste de quelques-uns des nombreux contributeursau développement de Nagios se trouve sur http://www.nagios.org/.

1.5 Téléchargement de la dernière version

Vous pouvez vérifier la publication de nouvelles versions de Nagios sur http://www.nagios.org/.

1.6 Support

Options de support

Page 31: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

4 / 379

Chapitre 2

Quoi de neuf dans Nagios 3

ImportantAssurez vous de lire la documentation et la FAQ sur nagios.org avant de poser des questionssur les mailing lists.

2.1 Historique des changements

L'historique des changements deNagios peut être trouvé en ligne sur http://www.nagios.org/development/-changelog.php ou dans le fichier Changelog situé à la racine de la distribution basée sur les sources.

2.2 Modifications et nouvelles fonctionnalités

2.2.1 Documentation

– Mise à jour de la documentation - J'avance doucement dans la réécriture de la plupart de ladocumentation. Cela va prendre du temps, car (1) il y a beaucoup de documentation et (2) écrirede la documentation n'est pas mon passe temps favori. Il faut s'attendre à ce que certaines portionsde la documentation n'évoluent pas pendant un bon moment. J'espère que les modifications que jeréalise vont clarifier et rendre plus abordables certaines choses pour les nouveaux utilisateurs etles utilisateurs occasionnels de Nagios.

2.2.2 Macros

– Nouvelles macros - De nouvelles macros ont été ajoutées :– $TEMPPATH$– $LONGHOSTOUTPUT$– $LONGSERVICEOUTPUT$– $HOSTNOTIFICATIONID$– $SERVICENOTIFICATIONID$– $HOSTEVENTID$– $SERVICEEVENTID$

Page 32: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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é ajoutées :– $ISVALIDTIME:$– $NEXTVALIDTIME:$

– Macros supprimées - L'ancienne macro $NOTIFICATIONNUMBER$ a été désapprouvée au bénéficedes nouvelles macros $HOSTNOTIFICATIONNUMBER$ et $SERVICENOTIFICATIONNUMBER$.

– Modifications - Les macros $HOSTNOTES$ et $SERVICENOTES$ contiennent maintenant elles-mêmesdes macros, celles-ci sont : $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTESURL$ et $SERVICE-ACTIONURL$.

– Les macros sont normalement disponibles comme variables d'environnement quand les contrôles,gestionnaires d'événements, notifications et autres commandes sont exécutées. Ceci est plutôt con-sommateur de ressources CPU. Dans les installations où Nagios gère un nombre important d'hôteset de services, vous devrez alors désactiver cette fonctionnalité à l'aide de l'option enable_envir-onment_macros .

– Des informations sur les macros peuvent être trouvées ici.

2.2.3 Période de maintenance planifiée

– Les informations concernant les arrêts programmés ne sont plus stockées dans leur propre fichierde configuration (précédemment définies par le paramètre downtime_file dans le fichier de con-figuration principal). Les informations concernant les arrêts programmés courants et retenus sontmaintenant stockées respectivement dans les fichiers status file et retention file .

Page 33: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

6 / 379

2.2.4 Commentaires

– Les commentaires de services et d'hôtes ne sont plus stockés dans leur propre fichier (précédem-ment spécifié à l'aide d'un paramètre comment_file dans le fichier de configuration principal). Lescommentaires courant et retenus sont maintenant stockés respectivement dans le fichier statut etle fichier de rétention.

– Les commentaires d'acquittement qui sont marqués comme non persistents sont maintenant sup-primés quand l'acquittement est fait. Ils étaient précédemment automatiquement supprimés auredémarrage de nagios, ce qui n'était pas idéal.

2.2.5 État de conservation des données

– Les informations d'état des contacts individuels sont dorénavant conservées à chaque redémarrage.– Les ID de commentaires et de mise en maintenance sont maintenant conservés entre les redémar-rages et doivent être uniques tant que les données de rétention ne sont pas supprimées ou ignorées

– Ajout des variables retained_host_attribute_mask et retained_service_attribute_mask permettant decontrôler quels attributs d'hôte/service sont conservés entre chaque redémarrage.

– Ajout des variables retained_process_host_attribute_mask et retained_process_service_attribute_maskafin de contrôler quels attributs de processus sont conservés entre chaque redémarrage.

– Ajout des variables retained_contact_host_attribute_mask et retained_contact_service_attribute_maskafin de contrôler quels attributs de contact sont conservés entre chaque redémarrage.

2.2.6 Détection d'oscillation

– Ajout de le paramètre flap_detection_options aux définitions d'hôte et de service vous permettantde spécifier quels états d'hôte/service doivent être utilisés par la logique de détection d'oscillation(par défaut tous les états sont utilisés).

– L'historique des pourcentages de changement d'état est maintenant conservé même si la détectiond'oscillation est désactivée.

– Les oscillations sont immédiatement vérifiées sur les hôtes et les services quand la détection d'oscil-lation est activée globalement.

– Les hôtes et services en train d'osciller quand la détection d'oscillation est globalement désactivéesont maintenants loggés.

– De plus amples informations concernant la détection d'oscillation peut être trouvées au chapitreDétection et gestion de l'oscillation d'état

2.2.7 Commandes externes

– L'ajout d'une nouvelle commande externe, PROCESS_FILE, permet le traitement de commandes ex-ternes placées dans un fichier. Utile pour traiter de larges quantités de contrôles passifs retournantde grandes quantités de données, ou pour scripter des commandes. De plus amples informationspeuvent être trouvées ici.

– Les commandes personnalisées doivent maintenant être soumises par Nagios. Les noms des com-mandes personnalisées sont préfixées par un underscore (_) et ne sont pas traitées en interne parle démon Nagios. Elle devraient, malgré tout, être traitées par un module NEB chargé.

– L'option check_external_commands est maintenant activée par défaut, ce qui signifie que Nagiosest configuré d'origine pour vérifier les commandes externes. Toutes les versions de Nagios an-térieures à la version 2.x avaient cette option désactivée par défaut.

Page 34: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

7 / 379

2.2.8 Données d'état

– Les informations d'état de contact (Horaire de dernières notification, notification activées/désac-tivées, etc.) sont maintenant sauvegardées dans les fichiers de statut et de rétention, bien quecelles-ci ne soient pas traitées par les CGIs.

2.2.9 Perl intégré

– Ajout des variables enable_embedded_perl et use_embedded_perl_implicitly afin de contrôlerl'utilisation de l'interpréteur Perl intégré.

– Les scripts/plugins Perl peuvent maintenant explicitement signaler à Nagios s'ils doivent, ou non,être exécutés par l'interpréteur Perl intégré. Cela est utile si vous avez des scripts qui ne fonction-nent pas bien avec l'interpréteur Perl intégré.

– De plus amples informations à propos de ces nouvelles options peuvent être trouvées ici.

2.2.10 Supervision adaptative

– La planification des vérifications pour les hôtes et les services peut maintenant être modifiée à lavolée à 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 Notifications

– L'option first_notification_delay a été rajoutée à la définition des hôtes et des services afind'introduire un délai entre le moment où un problème survient sur un hôte/service et le momentoù la première notification est envoyée. Dans les versions précédentes, vous deviez utiliser desconfigurations complexes avec des escalades pour réaliser cela. Cette fonctionnalité est maintenantaccessible au commun des mortels.

– Les notifications sont maintenant envoyées pour les hôtes/services qui oscillent quand la détectiond'oscillations est désactivée au niveau hôte, service ou globalement. Dans ce cas, la macro $NOTI-FICATIONTYPE$ sera positionnée sur FLAPPINGDISABLED.

– Les notifications peuvent maintenant être envoyées lors de l'entrée/sortie dans une période de main-tenance planifiée et être annulées pour les hôtes et services. La macro $NOTIFICATIONTYPE$ sera po-sitionnée respectivement sur DOWNTIMESTART, DOWNTIMEEND, ou DOWNTIMECANCELLED. Pour recevoirdes notifications sur les événements de maintenance planifiée, précisez s ou downtime dans lesoptions de notifications de contact, d'hôte et/ou de service.

– Vous pouvez trouver plus d'informations sur les notifications au chapitre les concernant (Notifica-tions )

2.2.12 Définitions d'objet

– Des dépendances de services peuvent maintenant être créées afin de facilement définir les mêmedépendances de services sur un ou plusieurs hôtes. (Plus d'information ici. )

– Les définitions étendues d'hôte et de service (respectivement hostextinfo et serviceextinfo) ontété abondonnées. Toutes les valeurs des définitions étendues ont été intégrées dans les définitionsd'hôte et de service. Nagios 3 continuera à lire et traiter les anciennes définitions étendues, maisjournalisera un warning. Les versions futures de Nagios (4.x et postérieures) ne supporteront plusdes définitions étendues séparées.

Page 35: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

8 / 379

– Les variables hostgroup_members, servicegroup_members, et contactgroup_members ont été ajoutéesrespectivement aux définitions de groupes d'hôtes, de groupes de services et de groupes de con-tacts. Cela permet d'inclure des hôtes, services ou contacts de sous-groupes dans vos définitions degroupes.

– Les variables notes , notes_url, et action_url ont été ajoutées aux définitions de groupes d'hôteset de groupes de services.

– Les définitions de contact ont les nouvelles variables host_notifications_enabled, service_not-ifications_enabled et can_submit_commands pour mieux contrôler les notifications et déterminers'il est possible ou pas de passer des commandes depuis l'interface web.

– Les dépendances d'hôte et de service supportent désormais une variable optionnelle dependenc-y_period. Elle permet de limiter les périodes de temps pendant lesquelles les dépendances sontvalides.

– La variable parallelize dans les définitions de services est abandonnée et n'est plus utilisée. Tousles services sont contrôlés en parallèle dans Nagios 3.

– Il n'y a plus aucune limite de longueur de nom d'hôte ou de description de services.– Les expressions régulières étendues sont désormais utilisées si vous activez l'option de configurationuse_regexp_matching Les expressions régulières de base sont seulement utilisées dans certainesvariables de définitions d'objets qui contiennent *,?, + ou \..

– Une nouvelle variable initial_state a été ajoutée aux définitions d'hôtes et de services, de façonà préciser à Nagios l'état dans lequel un hôte ou un service doit démarrer plutôt que UP ou OK (quireste le comportement par défaut).

2.2.13 Héritage d'objet

– Vous pouvez désormais hériter des variables/valeurs d'objet de plusieurs modèles en précisantplus d'un nom de modèle dans la variable use des définitions d'objets. Cela permet des réglagesd'héritage particulièrement puissants (et complexes). (En savoir plus )

– Les services héritent désormais des groupes de contacts, des intervalles de notifications et despériodes de notifications de l'hôte auxquels ils sont associés si non précisé au niveau du service.(En savoir plus )

– Les escalades d'hôtes et de services héritent désormais des groupes de contacts, des intervalles denotifications et des périodes d'escalades de l'hôte ou du service auxquels ils sont associés si nonprécisé ailleurs. (En savoir plus )

– Les variables de chaines dans les définitions d'hôtes, de services et de contacts peuvent désormaisne pas être héritées en précisant la valeur null (sans les guillemets) pour la valeur de la variable.(En savoir plus )

– La plupart des variables de chaînes dans les définitions locales d'objets peuvent désormais êtreajoutées aux valeurs de chaines dont elles héritent. C'est plutôt utile sur des grandes installations.(En savoir plus)

2.2.14 Améliorations des performances

– Ajout de la possibilité de mettre en cache à l'avance les fichiers d'objets de configuration et d'exclurela détection de chemin circulaire du processus de vérification de configuration. Cela peut grande-ment améliorer le temps de démarrage de Nagios comprenant de nombreux hôtes et services ! Ensavoir plus ici.

– Une nouvelle option use_large_installation_tweaks a été ajoutée qui devrait permettre d'améliorerles performances sur les Nagios comprenant de nombreux hôtes et services. En savoir plus ici.

– Un nombre d'améliorations internes ont été faites sur la façon dont Nagios traite les relations d'ob-jets (par exemple hôte et service) et les structures de données internes. Ces améliorations devraientdonner un gain de vitesse sur les installations comprenant de nombreux hôtes et services.

Page 36: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

9 / 379

– Une nouvelle option external_command_buffer_slots a été ajoutée pour permettre de facilementdimensionner Nagios dans des installations comprenant de nombreux hôtes et services. Pour obtenirles meilleurs résultats, vous devriez utiliser MRTG pour grapher l'usage que fait Nagios des slotsde buffer dans le temps.

2.2.15 Message retour d'un plugin

– Le message retour d'un plugin peut désormais être multi-ligne pour les contrôles d'hôtes et de ser-vices. Hourra ! L'API a été mise à jour pour supporter plusieurs lignes tout en conservant une com-patibilité antérieure avec les plugins plus anciens. Les lignes supplémentaires de message (aprèsla première ligne) sont maintenant stockées dans les nouvelles macros $LONGHOSTOUTPUT$ et $LO-NGSERVICEOUTPUT$.

– La longueur maximale d'un message retour de plugin a été augmentée à 4K (à la place d'environ250 bits dans les versions précédentes). Cette limite de 4K a été choisie arbitrairement de façon àprotéger Nagios de plugins partant en vrille et lui renvoyant trop de données.

– Vous pouvez trouver plus d'informations sur les plugins, les sorties multi-lignes et la longueur max-imale d'un message retour ici.

2.2.16 Contrôles de service

– Nagios contrôle désormais par défaut les services orphelins.– Ajout d'une nouvelle option enable_predictive_service_dependency_checks pour contrôler siNagios va initier ou non un contrôle prédictif de service dont celui-ci dépend (dans les définitionsde dépendances). Les contrôles prédictifs aide à s'assurer que la logique de dépendance est aussiprécise que possible.

– Un nouvelle fonctionnalité de cache pour les contrôles de services a été mise en œuvre. Elle peutsignificativement améliorer les performances pour pas mal de monde. Plutôt que d'exécuter unplugin pour contrôler l'état d'un service, Nagios peut souvent utiliser un résultat de contrôle mis encache à la place. Vous pouvez trouver plus d'informations sur cette fonctionnalité ici.

2.2.17 Contrôles d'hôte

– Les contrôles d'hôtes sont désormais parallélisés ! Les contrôles d'hôtes étaient effectués en série,ce qui impliquait un holdup majeur en termes de performance. Plus maintenant ! (En savoir plus )

– Les réessais de contrôles d'hôtes sont maintenant gérés comme ceux des services. Tout ça pourdire que les définitions d'hôtes ont un nouveau paramètre retry_interval qui précise le temps àattendre avant de faire un nouvel essai de contrôle sur l'hôte. ;-)

– Les contrôles d'hôtes réguliers ne grèvent plus les performances. Au contraire, ils peuvent aiderà améliorer les performances grâce à la nouvelle logique de mise en cache des contrôles (voir ci-dessous).

– Ajout d'une nouvelle option check_for_orphaned_hosts pour activer ou non les contrôles d'hôtesorphelins. C'est maintenant nécessaire puisque les contrôles d'hôtes fonctionnent en parallèle.

– Ajout d'une nouvelle option enable_predictive_host_dependency_checks pour contrôler si Na-gios va initier ou non un contrôle prédictif pour les hôtes dont celui-ci dépend (dans les définitionsde dépendances). Les contrôles prédictifs aide à s'assurer que la logique de dépendance est aussiprécise que possible. (En savoir plus )

– Un nouvelle fonctionnalité de cache pour les contrôles d'hôte a été implémentée ce qui peut signi-ficativement améliorer les performances pour pas mal de monde. Plutôt que d'exécuter un pluginpour contrôler l'état d'un hôte, Nagios peut souvent utiliser un résultat de contrôle mis en cache àla place. Vous pouvez trouver plus d'informations sur cette fonctionnalité ici.

Page 37: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

10 / 379

– Les contrôles passifs d'hôtes qui ont un résultat DOWN ou UNREACHABLE peuvent désormais êtreautomatiquement traduit dans l'état approprié du point de vue de l'instance Nagios qui les reçoit.C'est particulièrement utile dans les installations distribuées et redondantes. Vous pouvez trouverplus d'informations sur la traduction d'état pour les contrôles passifs d'hôtes ici.

– Les contrôles passifs d'hôtes placent normalement celui-ci dans un état HARD. Ceci peut désormaisêtre changé en activant l'option passive_host_checks_are_soft

2.2.18 Contrôles de la fraîcheur

– Une nouvelle option additional_freshness_latency a été ajoutée pour permettre de préciser lenombre de secondes qui devraient être ajoutées à n'importe quel seuil de fraîcheur d'hôte ou deservice automatiquement calculé par Nagios.

2.2.19 IPC

– Le mécanisme IPC utilisé qui permet de transférer les résultats de contrôles d'hôtes/services enretour au démon Nagios depuis les processus (grand)enfant a changé ! Cela devrait permettre deréduire la charge/latence induite par le traitement de nombreux contrôles passifs dans des instal-lations comprenant de nombreux hôtes et services.

– Les résultats de contrôles sont maintenant transférés en écrivant dans le dossier précisé par l'op-tion check_result_path . Les fichiers plus vieux que l'option max_check_result_file_age serontdétruits définitivement et sans aucun traitement supplémentaire.

2.2.20 Périodes de temps

– Les périodes de temps ont finalement été étendues pour accepter les exceptions, les sauts de dates(tous les 3 jours), etc. Cela devrait aider lors de la définition de périodes de notifications pour lesrotations de pager.

– Vous pouvez trouver plus d'informations sur les nouvelles variables de périodes de temps ici et ici.

2.2.21 Module de courtage d'événements

– Mise à jour de la version de l'API NEB– Modification du callback pour le statut adaptatif des données du programme– Ajout d'un callback pour le statut adaptif des données de contact– Ajout de callbacks de pré-contrôle pour les hôtes et services pour permettre aux modules d'annuler/-modifier les contrôles internes d'hôtes/services.

2.2.22 Interface web

– Les résumés de groupes d'hôtes et de services montrent maintenant les successions de problèmesimportants/pas importants comme dans le CGI tac.

– Quelques changements mineurs dans l'organisation des vues de détail d'hôte et service ont étéopérées dans le CGI extinfo.

– De nouvelles statistiques de contrôle ont été ajoutées à l'écran Performance Info.– Ajout des options d'intégration de Splunk dans plusieurs CGIs. L'intégration est contrôlée par lesoptions enable_splunk_integration et splunk_url du fichier de configuration des CGIs.

Page 38: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

11 / 379

– Ajout des nouvelles options notes_url_target et action_url_target pour contrôler dans quel cadre(frame) s'ouvrent les liens de notes et d'action.

– Ajout de la nouvelle option lock_author_names pour prévenir la modification du noms des auteurssoumettant des commentaires, des prises en compte et des périodes de maintenance planifiée.

2.2.23 Information de débogage

– Les options de compilation DEBUGx disponible dans le script de configuration ont été enlevées.– Les informations de débogage peuvent désormais être écrites dans un fichier journal séparé, quiest automatiquement renouvelé dès que sa taille atteint une limite définie par l'utilisateur. Celadevrait grandement faciliter le débogage puisqu'il n'y a plus besoin de recompiler Nagios. Le supportcomplet de ce mode a été ajouté pendant le début de la phase de développement, aussi n'est-il peut-être pas complet quand vous l'essayerez.

– Les variables qui modifient 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é ajoutée pour préciserun répertoire temporaire que Nagios peut utiliser.

– ID unique attribué par événement et notification -Un ID unique est maintenant assigné àchaque notification d'hôte et de service. Un autre ID unique est également assigné aux change-ments d'états d'hôtes et services. Les IDs uniques sont rendus accessibles par l'usage des macrossuivantes :– $HOSTNOTIFICATIONID$– $SERVICENOTIFICATIONID$– $HOSTEVENTID$– $SERVICEEVENTID$– $LASTHOSTEVENTID$– $LASTSERVICEEVENTID$.

– Nouvelles macros - Quelques autres nouvelles macros ont été ajoutées. Ceci inclut– $HOSTGROUPNAMES$– $SERVICEGROUPNAMES$– $HOSTACKAUTHORNAME$– $HOSTACKAUTHORALIAS$– $SERVICEACKAUTHORNAME$– $SERVICEACKAUTHORALIAS$

– Fréquence de reaper - L'ancienne variable service_reaper_frequency a été renommée en chec-k_result_reaper_frequency puisqu'elle est désormais également utilisée pour traiter les résultatsde contrôles d'hôtes.

– Temps maximal de reaper - Une nouvelle variable max_check_result_reaper_time a été ajoutéepour limiter le temps d'exécution d'un événement reaper.

Page 39: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

12 / 379

– Intervalles fractionnés - Les intervalles fractionnés de notifications et d'hôtes (par exemple 3.5minutes) sont maintenant supportés dans les définitions d'hôtes, de services, d'escalades d'hôtes etde services.

– Échappement des arguments de commande - Vous pouvez maintenant utiliser le point d'ex-clamation ( !) dans vos arguments de commandes en le faisant précéder d'un backslash (\). Lesbackslashs doivent être également être précédés d'un backslash si vous avez besoin d'en utiliserdans vos arguments de commandes

– Sortie de commandes systèmemulti-lignes - Nagios va maintenant lire plusieurs lignes de sortiepour les commandes système qu'il exécute (scripts de notification, etc.) ; et ce jusqu'à 4KiB. C'est lamême limite que le message retour de plugin mentionné plus tôt. Les sorties de commandes systèmene sont pas directement traitées par Nagios, mais le support en est assuré.

– Meilleure information de planification - Des informations plus précises sont données quandNagios est exécuté avec le -s argument de ligne de commande. Cette information peut être utiliséepour réduire le temps de (re)démarrage de Nagios.

– Mises à jour agrégées du fichier d'état - L'ancienne option aggregate_status_updates a été en-levée. Toutes les mises à jour du fichier de statut sont maintenant agrégées à un intervalle minimumde 1 seconde.

– Nouveau mode de fichier de données de performance -Une nouvelle option p a été ajoutée auxoptions host_perfdata_file_mode et service_perfdata_file_mode . Ce nouveau mode ouvre unfichier en lecture/écriture non exclusive, ce qui est utile pour les fichiers tubes.

– Décalage de fuseau horaire - Une nouvelle option, use_timezone , a été ajoutée afin de vouspermettre de démarrer des instances de nagios situées dans des fuseaux horaires autres que lefuseau local.

Page 40: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

13 / 379

Chapitre 3

Problèmes connus

3.1 Problèmes connus

1. Périodes de tempsExclusions dans les contrôles d'hôtes/services - Il y a un problème dans la logique d'ordon-nancement qui survient quand vous souhaitez utiliser des périodes de temps conjoitement àdes paramètres d'exclusion. Il survient quand Nagios Core essaye de réordonnancer le prochaincontrôle. Dans ce cas, la logique d'ordonnancement est peut ordonnancer de façon incorrecte leprochain contrôle en le positionnant beaucoup plus loin dans le futur qu'il ne devrait l'être. Dansles faits, il court-circuite la logique d'exclusion ; alors qu'il devrait pouvoir placer le contrôle plustôt en utilisant les exceptions. Solution de contournement imparfaite : N'utilisez pas de périodesde temps qui excluent d'autres périodes de temps pour vos plages de contrôle des hôtes/services.Un correctif est en cours préparation, et sera certainement inclus dans la version 3.4.x.

Page 41: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

14 / 379

Deuxième partie

Démarrage

Page 42: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

15 / 379

Chapitre 4

Conseils aux débutants

Félicitations pour avoir choisi d'essayer Nagios ! Nagios est plutôt puissant et flexible mais peut de-mander pas mal de travail pour être configuré de la façon qui vous convient. Une fois que vous serezfamilier avec sa façon de fonctionner, vous ne voudrez plus vous en passer :-) Voici quelques élémentsimportants à garder en mémoire pour ceux qui commencent avec Nagios :

1. Relax - il y a en a pour un moment. N'espérez pas voir les choses fonctionner comme vous lesouhaitez du premier coup. Ce n'est pas aussi facile. Mettre en place Nagios peut demander pasmal de travail - en partie à cause du nombre d'options proposées par Nagios et en partie parceque vous devez savoir ce que vous souhaitez superviser sur votre réseau (et comment le faire aumieux).

2. Utilisez les guides d'installation rapide. Le guide d'installation rapide est conçu pour aiderles nouveaux utilisateurs à démarrer le plus rapidement possible avec une installation basique deNagios. En moins de 20 minutes, vous pouvez avoir installé et configuré Nagios pour superviservotre machine locale. Une fois ceci fait, vous pouvez apprendre à configurer Nagios pour en faireplus.

3. Lisez la documentation. Nagios est suffisament difficile à configurer lorsque vous avez unebonne connaissance de son fonctionnement et donc quasiment impossible si vous ne possédez pasces connaissances. Soyez certain d'avoir lu la documentation (particulièrement les sections surla Configuration de Nagios et Les Fondamentaux). Gardez sous la main les sujets plus complexespour quand vous aurez bien compris les fondamentaux.

4. Demandez de l'aide aux autres. Si vous avez lu la documentation, passé en revue les fichiersd'exemples de configurations, et que vous avez toujours des problèmes, envoyez un messagedécrivant vos problèmes à la liste de diffusion nagios-users. Vu la montagne de travail que j'aià faire pour ce projet, je suis incapable de répondre à la plupart des questions qui me sontdirectement posées, aussi votre meilleur source d'aide reste la liste de diffusion. Si vous avez biencherché et que vous fournissez une bonne description des problèmes rencontrés, il y a de forteschances que quelqu'un vous donne des pistes pour faire fonctionner les choses correctement.Plus d'informations sur comment s'abonner à la liste de diffusion ou comment rechercher dansles archives de la liste sont disponibles sur http://www.nagios.org/support/.

Page 43: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

16 / 379

Chapitre 5

Guides d'installation rapide

NoteCes guides sont prévus pour vous fournir les instructions simples sur la façon d'installer Nagios depuisle code source et d'avoir la supervision de votremachine locale prête enmoins de 20minutes. Aucuneoption d'installation avancée n'est abordée ici - juste les notions basiques qui fonctionneront pour95% des utilisateurs qui veulent démarrer.

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 netrouvez pas de guide rapide pour un OS particulier ? Écrivez-en un et posez le sur le wiki à l'attentiondes autres !Si vous installez Nagios sur un système d'exploitation qui n'est pas dans la liste ci-dessus, lisez le guiderapide Fedora pour une vue générale de ce qu'il y a à faire. Les noms de commandes, chemin d'accès,etc. varient selon les différents systèmes d'exploitation/distributions, vous aurez donc certainement àtriturer un peu les docs d'installation pour votre cas particulier.

5.2 Modifications post installation

Une fois queNagios est installé et fonctionne correctement, il ne fait aucun doute que vous souhaiterezsuperviser plus que votre seule machine locale. Parcourez les documentations suivantes pour voircomment superviser autre chose…

– Superviser des machines Windows– Superviser des machines Linux/Unix– Superviser des serveurs Netware– Superviser des routeurs/switchs– Supervision d'imprimantes réseaux– Superviser des services disponibles publiquement (HTTP, FTP, SSH, etc.)

Page 44: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

17 / 379

Chapitre 6

Guide de démarrage rapide Fedora

NoteCe guide est prévu pour vous fournir les instructions simples sur la façon d'installer Nagios depuisle code source sur Fedora et d'avoir la supervision de votre machine locale prête en moins de 20minutes. Aucune option d'installation avancée n'est abordée ici - juste les notions basiques qui fonc-tionneront pour 95% des utilisateurs qui veulent démarrer.Ces instructions ont été écrites en se basant sur une installation standard de la distribution FedoraCore 6.

6.1 Ce que vous allez obtenir

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

– Nagios et les plugins seront installés dans l'arborescence du répertoire /usr/local/nagios– Nagios sera configuré pour superviser quelques aspects du système local (charge CPU, occupationdisque, etc.)

– L'interface web de Nagios sera accessible à http://localhost/nagios/

6.2 Pré-requis

Vous aurez besoin d'un accès root sur la machine pour quelques passages de l'installationAssurez-vous d'avoir installé les paquets suivants sur votre installation Fedora avant de continuer.

– Apache– Compilateur GCC– librairies de développement GD

Vous pouvez utiliser yum pour installer ces paquets en utilisant les commandes suivantes (en tant queroot) :

# yum install httpd# yum install gcc# yum install glibc glibc-common# yum install gd gd-devel

Page 45: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

18 / 379

6.3 Créez un compte utilisateur

Passez sur le compte root.$ su -l

Créez un utilisateur nagios et attribuez lui un mot de passe.# /usr/sbin/useradd -m nagios# passwd nagios

Créez 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 Téléchargez Nagios et les Plugins.

Créez un répertoire pour stocker les téléchargements.# mkdir ~/downloads# cd ~/downloads

Téléchargez à la fois l'archive du code source deNagios et des plugins Nagios (visitez http://www.nagios.org/-download/ pour les liens vers les dernières versions). Au moment de la rédaction, les dernières ver-sions de Nagios et des plugins Nagios étaient respectivement la 3.0.3 et la 1.4.11.

# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz# wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -

-1.4.11.tar.gz

6.5 Compilez et installez Nagios

Extraire le code source de Nagios de l'archive.# cd ~/downloads# tar xzf nagios-3.0.2.tar.gz# cd nagios-3.0.2

Exécutez le script de configuration de Nagios en lui passant le nom du groupe que vous venez justede créer comme suit :

# ./configure --with-command-group=nagcmd

Compilez le code source de Nagios.# make all

Installez les binaires, les scripts de démarrage, les fichiers de configuration fournis en exemple etréglez les permissions sur le dossier des commandes externes.

# make install# make install-init# make install-config# make install-commandmode

Ne démarrez pas Nagios maintenant - Il reste quelques manipulations à faire…

Page 46: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

19 / 379

6.6 Personnalisation de la configuration

Les exemples de fichiers de configuration ont été installés dans le répertoire /usr/local/nagios/etc.Ces fichiers d'exemple devraient suffire pour commencer avec Nagios. Vous n'aurez qu'une chose àmodifier avant de pouvoir commencer…Éditez le fichier de configuration /usr/local/nagios/etc/objects/contacts.cfg avec votre éditeurde texte préféré et changez l'adresse de courrier électronique associée avec la définition de contactnagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.

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

6.7 Configuration de l'interface web

Installez le fichier de configuration web Nagios dans le répertoire Apache conf.d.# make install-webconf

Créez un compte nagiosadmin pour la connexion à l'interface web de Nagios. Souvenez-vous du motde passe que vous avez attribué à ce compte - Vous en aurez besoin plus tard.

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Redémarrez Apache pour que les nouveaux réglages prennent effet.# 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 Démarrage de Nagios

Ajouter Nagios à la liste des services système et démarrer le automatiquement au démarrage dusystème.

# chkconfig --add nagios# chkconfig nagios on

Vérifier les exemples de fichiers de configuration de Nagios.

Page 47: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

20 / 379

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

S'il n'y a pas d'erreur, démarrer Nagios.# service nagios start

6.10 Modifiez les réglages SELinux

Fedora est fourni avec SELinux (Security Enhanced Linux) installé et en mode Enforcing par défaut.Cela peut engendrer des messages Internal Server Error quand vous essayez d'accéder aux CGIs deNagios.Vérifiez si SELinux est en mode Enforcing.

# getenforce

Réglez SELinux sur le mode Permissif.# setenforce 0

Pour rendre le changement permanent, vous allez devoir modifier ces réglages dans /etc/selinux/config et redémarrer.Plutôt que de passer SELinux en mode permissif ou de le désactiver, vous pouvez utiliser la commandesuivante pour exécuter 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 façon d'utiliser les CGIs Nagios en mode Enforcing avec une police adap-tée, 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. Ilvous sera demandé un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spécifié plustôt.http://localhost/nagios/Cliquez sur le lien Service Detail de la barre de navigation pour voir les détails de ce que vous super-visez sur votre machine locale. Nagios va prendre quelques minutes pour contrôler l'ensemble desservices de votre machine du fait que les contrôles sont répartis dans le temps.

6.12 Autres Modifications

Assurez-vous que les règles du pare-feu de la machine sont configurées pour autoriser l'accès auserveur web si vous souhaitez accéder à distance à l'interface de Nagios.La configuration des notifications par courrier électronique est en dehors du champ de cettte docu-mentation. Même si Nagios est déjà configuré pour envoyer des notifications par courrier électron-ique, votre système peut très bien ne pas avoir de système de messagerie correctement installé ouconfiguré. Référez-vous à la documentation de votre système, recherchez sur le web, ou regardez surle wiki NagiosCommunity.org pour des instructions spécifiques sur la façon de configurer votre sys-tème pour qu'il envoie des courriers électroniques vers des adresses extérieures. Plus d'informationssur les notifications ici.

Page 48: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

21 / 379

6.13 Terminé

Félicitations! Vous avez installé Nagios avec succès. Votre voyage dans l'univers de la supervisoinne fait que commencer. Vous aurez sans nul doute envie de superviser plus que votre seule machinelocale, 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.)

Page 49: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

22 / 379

Chapitre 7

Guide de démarrage rapide openSUSE

NoteCe guide est prévu pour vous fournir les instructions simples sur la façon d'installer Nagios depuisle code source sur openSUSE et d'avoir la supervision de votre machine locale prête en moins de20 minutes. Aucune option d'installation avancée n'est abordée ici - juste les notions basiques quifonctionneront pour 95% des utilisateurs qui veulent démarrer.Ces instructions ont été écrites en se basant sur une installation openSUSE 10.2.

7.1 Paquetages requis

Assurez-vous d'avoir installé les paquetages suivants sur votre installation openSUSE avant de con-tinuer. Vous pouvez utiliser la commande yast pour installer des paquetages sur openSUSE.

1. apache22. librairies de développement C/C++

7.2 Créez un compte utilisateur

Passez sur le compte root.$ su -l

Créez un utilisateur nagios et attribuez-lui un mot de passe.# /usr/sbin/useradd -m nagios# passwd nagios

Créez un nouveau groupe nagios. Ajoutez l'utilisateur nagios au groupe.# /usr/sbin/groupadd nagios# /usr/sbin/usermod -G nagios nagios

Créez 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

Page 50: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

23 / 379

7.3 Téléchargez Nagios et les Plugins.

Créez un répertoire pour stocker les téléchargements.# mkdir ~/downloads# cd ~/downloads

Téléchargez à la fois l'archive du code source deNagios et des plugins Nagios (visitez http://www.nagios.org/-download/ pour les liens vers les dernières versions). Au moment de la rédaction, les dernières ver-sions de Nagios et des plugins Nagios étaient respectivement la 3.0.2 et la 1.4.11.

# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz# wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -

-1.4.11.tar.gz

7.4 Compilez et installez Nagios

Extraire le code source de Nagios de l'archive.# cd ~/downloads# tar xzf nagios-3.0.2.tar.gz# cd nagios-3.0.2

Exécutez le script de configuration de Nagios en lui passant le nom du groupe que vous venez justede créer comme suit :

# ./configure --with-command-group=nagcmd

Compilez le code source de Nagios.# make all

Installez les binaires, les scripts de démarrage, les fichiers de configuration fournis en exemple etréglez les permissions sur le dossier des commandes externes.

# make install# make install-init# make install-config# make install-commandmode

Ne démarrez pas Nagios maintenant - Il y a encore beaucoup à faire avant…

7.5 Personnalisation de la configuration

Les exemples de fichiers de configuration ont été installés dans le répertoire /usr/local/nagios/etc.Ces fichiers d'exemple devraient suffire pour commencer avec Nagios. Vous n'aurez qu'une chose àmodifier avant de pouvoir commencer…Éditez le fichier de configuration /usr/local/nagios/etc/objects/contacts.cfg avec votre éditeurde texte préféré et changez l'adresse de courrier électronique associée avec la définition de contactnagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.

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

Page 51: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

24 / 379

7.6 Configuration de l'interface web

Installez le fichier de configuration web de Nagios dans le répertoire conf.d d'Apache.# make install-webconf

Créez un compte nagiosadmin pour la connexion à l'interface web de Nagios. Retenez le mot de passeque vous attribuez à ce compte - vous en aurez besoin plus tard.

# htpasswd2 -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Redémarrez Apache pour que les nouveaux réglages prennent effet.# 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 Démarrage de Nagios

Ajoutez Nagios à la liste des services système et démarrer le automatiquement au démarrage dusystème.

# chkconfig --add nagios# chkconfig nagios on

Vérifiez les exemples de fichiers de configuration de Nagios.# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, démarrer 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. Ilvous sera demandé un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spécifié plustôt.http://localhost/nagios/Cliquez sur le lien Service Detail de la barre de navigation pour voir les détails de ce que vous super-visez sur votre machine locale. Nagios va prendre quelques minutes pour contrôler l'ensemble desservices de votre machine du fait que les contrôles sont répartis dans le temps.

Page 52: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

25 / 379

7.10 Autres Modifications

Assurez-vous que les règles du pare-feu de la machine sont configurées pour autoriser l'accès auserveur web si vous souhaitez accéder à distance à l'interface de Nagios.Vous pouvez faire ceci :1. Ouvrez le centre de contrôle2. Sélectionnez le menu Ouvrir Réglages Administrateur pour ouvrir le centre de contrôle adminis-trateur YaST

3. Sélectionnez Pare-feu dans la catégorie Sécurité et Utilisateurs4. Cliquez l'option Services Autorisés dans la fenêtre de configuration du pare-feu5. Ajoutez Serveur HTTP à la liste des services autorisés de la Zone Externe6. Cliquez Suivant et Accepter pour activer les nouveaux réglages du pare-feu

La configuration des notifications par courrier électronique sort du cadre de cette documentation.Veuillez vous référer à votre documentation système, rechercher sur le web, ou consulter le Na-giosCommunity.org wiki pour les instructions spécifiques sur la configuration de votre système open-SUSE pour envoyer des messages électroniques vers des adresses externes.

Page 53: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

26 / 379

Chapitre 8

Guide de démarrage rapide Ubuntu

NoteCe guide est prévu pour vous fournir les instructions simples sur la façon d'installer Nagios depuisle code source sur Ubuntu et d'avoir la supervision de votre machine locale prête en moins de 20minutes. Aucune option d'installation avancée n'est abordée ici - juste les notions basiques qui fonc-tionneront pour 95% des utilisateurs qui veulent démarrer.Ces instructions ont été écrites en se basant sur une installation standard de la distribution Fedora6.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 fin :1. Nagios et les plugins seront installés dans l'arborescence du répertoire /usr/local/nagios2. Nagios sera configuré pour superviser quelques aspects du système local (charge CPU, occupa-tion disque, etc.)

3. L'interface web de Nagios sera accessible à http ://localhost/nagios/

8.2 Paquetages requis

Assurez-vous d'avoir installé les paquets suivants sur votre installation Ubuntu avant de continuer.

1. Apache 22. Compilateur GCC et librairies de développement3. librairies de développement GD

Vous pouvez utiliser apt-get pour installer ces paquets en exécutant 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

Page 54: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

27 / 379

8.3 Créez un compte utilisateur

Passez sur le compte root.$ sudo -s

Créez 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 récentes), vous devrez également ajouterun groupe nagios (il n'est pas créé par défaut). Vous devriez pouvoir éviter cette manipulation sur laversion desktop de Ubuntu.

# /usr/sbin/groupadd nagios# /usr/sbin/usermod -G nagios nagios

Créez 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 Téléchargez Nagios et les Plugins.

Créez un répertoire pour stocker les téléchargements.# mkdir ~/downloads# cd ~/downloads

Téléchargez à la fois l'archive du code source deNagios et des plugins Nagios (visitez http://www.nagios.org/-download/ pour les liens vers les dernières versions). Au moment de la rédaction, les dernières ver-sions de Nagios et des plugins Nagios étaient respectivement la 3.0.2 et la 1.4.11.

# wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz# wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins -

-1.4.11.tar.gz

8.5 Compilez et installez Nagios

Extraire le code source de Nagios de l'archive.# cd ~/downloads# tar xzf nagios-3.0.2.tar.gz# cd nagios-3.0.2

Exécutez le script de configuration de Nagios en lui passant le nom du groupe que vous venez justede créer comme suit :

# ./configure --with-command-group=nagcmd

Compilez le code source de Nagios.

Page 55: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

28 / 379

# make all

Installez les binaires, les scripts de démarrage, les fichiers de configuration fournis en exemple etréglez les permissions sur le dossier des commandes externes.

# make install# make install-init# make install-config# make install-commandmode

Ne démarrez pas Nagios maintenant - Il y a encore beaucoup à faire avant…

8.6 Personnalisation de la configuration

Les exemples de fichiers de configuration ont été installés dans le répertoire /usr/local/nagios/etc.Ces fichiers d'exemple devraient suffire pour commencer avec Nagios. Vous n'aurez qu'une chose àmodifier avant de pouvoir commencer…Éditez le fichier de configuration /usr/local/nagios/etc/objects/contacts.cfg avec votre éditeurde texte préféré et changez l'adresse de courrier électronique associée avec la définition de contactnagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.

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

8.7 Configuration de l'interface web

Installez le fichier de configuration web Nagios dans le répertoire Apache conf.d.# make install-webconf

Créez un compte nagiosadmin pour la connexion à l'interface web de Nagios. Retenez le mot de passeque vous attribuez à ce compte - vous en aurez besoin plus tard.

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Redémarrez Apache pour que les nouveaux réglages prennent effet.# /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

Page 56: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

29 / 379

8.9 Démarrage de Nagios

Configurez Nagios pour qu'il s'exécute automatiquement au démarrage du système.# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Vérifiez les exemples de fichiers de configuration de Nagios.# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, démarrez 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. Ilvous sera demandé un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spécifié plustôt.http://localhost/nagios/Cliquez sur le lien Service Detail de la barre de navigation pour voir les détails de ce que vous super-visez sur votre machine locale. Nagios va prendre quelques minutes pour contrôler l'ensemble desservices de votre machine du fait que les contrôles sont répartis dans le temps.

8.11 Autres Modifications

Si vous souhaitez recevoir des notifications par courrier électronique des alertes Nagios, vous devezinstaller le paquet mailx (Postfix).

$ sudo apt-get install mailx

Vous devez éditer les commandes de courrier électronique Nagios qui peuvent être trouvées dans/usr/local/nagios/etc/objects/commands.cfg et remplacer toutes les références à /bin/mail en/usr/bin/mail. Une fois ceci fait, vous devez redémarrer Nagios pour prendre en compte ces mofdifi-cations.

$ sudo /etc/init.d/nagios restart

La configuration des notifications par courrier électronique est en dehors du champ de cettte doc-umentation. Référez-vous à la documentation de votre système, recherchez sur le web, ou regardezsur le wiki NagiosCommunity.org pour des instructions spécifiques sur la façon de configurer votresystème Ubuntu pour qu'il envoie des courriers électroniques vers des adresses extérieures.

Page 57: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

30 / 379

Chapitre 9

Mise à jour de Nagios

9.1 Mise à jour depuis une version 3.x de Nagios

Dès que des versions alpha, beta, ou stable de Nagios sont sorties, vous pouvez sérieusement envis-ager dès que possible de mettre à jour votre Nagios. Les nouvelles versions contiennent habituelle-ment des corrections de bugs critiques, du coup, il est important de rester à jour. Si vous avez déjàinstallé Nagios à partir du code source tel que décrit dans le Guides d'installation rapide, vous pouvezinstaller les nouvelles versions de Nagios 3.x facilement. Vous n'avez même pas besoin d'un accès rootpour le faire, tout ce qui doit être fait en tant que root a été fait lors de l'instalation initiale. Voici leprocessus de mise à niveau…Assurez-vous d'avoir une bonne sauvegarde de votre installation de Nagios existante ainsi que desfichiers de configuration. Si quelque chose se passe mal ou ne fonctionne pas, ce qui vous permettrade revenir à votre ancienne version.Devenez l'utilisateur nagios. Les utilisateurs de Debian/Ubuntu devront utiliser sudo -s nagios.$ su -l nagios

Téléchargez le code source de la dernière version de Nagios (visitez http://www.nagios.org/download/pour avoir le lien vers la dernière 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

Exécutez le script de configuration de Nagios, en passant le nom du groupe utilisé pour contrôler lespermissions du fichiers 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 fichiers deconfiguration ne seront pas écrasés par cette étape.$ make install

Page 58: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

31 / 379

Vérifiez votre configuration 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 difficile de faire la mise à niveau de Nagios 2.x à Nagios 3. La mise à jourest essentiellement la même que celle qui est décrite ci-dessus pour la mise à niveau d'une version3.x. Cependant, vous allez avoir à changer un peu vos fichiers de configuration pour qu'ils soienttotalement compatibles avec Nagios 3 :

– L'ancienne variable service_reaper_frequency dans le fichier de configuration princpal a étérenommée en check_result_reaper_frequency .

– L'ancienne macro $NOTIFICATIONNUMBER$ a été remplacée par les deux nouvelles macros $HOST-NOTIFICATIONNUMBER$Macros$HOSTNOTIFICATIONNUMBER$ et $SERVICENOTIFICATION-NUMBER$Macros$SERVICENOTIFICATIONNUMBER$.

– L'ancien paramètre parallelize des définitions de services est maintenant devenue obsolète etn'est plus utilisé, du fait que les contrôles de services se font désormais en parallèle.

– L'ancienne option aggregate_status_updates a été supprimée. Toutes les mises à jour du fichierde statut sont maintenant regroupées dans un intervalle de temps minimum d'une seconde.

– Les définitions étendues des hôtes et des services sont devenues obsolètes. Elles sont tout de mêmelues et traitées par Nagios, mais il est recommandé de déplacer les paramètres situés dans cesfichiers de définitions vers les définitions des hôtes et des services, respectivement.

– L'ancienne variable du fichier downtime_file dans le fichier de configuration principal n'est plusutilisée, les entrées correspondant aux arrêts planifiés sont maintenant sauvegardées dans le Sec-tion 17.3.27. Pour garder les entrées concernant les arrêts programmés, arrêtez Nagios 2.x etajoutez le contenu de l'ancien fichier d'arrêts programmés au fichier de rétention.

– L'ancienne variable du fichier comment_file dans le fichier de configuration principal n'est plusutilisé, les commentaires sont maintenant sauvegardés dans le Section 17.3.27. Pour garder lesanciens commentaires, arrêtez Nagios 2.x et ajoutez le contenu de l'ancien fichier de commentairesau fichier de rétention.

Soyez-sûrs d'avoir lu la section Chapitre 2 de la documentation. Celle-ci décrit tous les changementsqui ont été appliqués au code de Nagios 3 depuis la dernière version stable de Nagios 2.x. Nagios 3 aquelque peu changé, soyez-sûrs de l'avoir lu.

9.3 Mise à jour depuis une installation par RPM

Si vous avez actuellement une installation de Nagios basée sur des packages RPM Debian/Ubuntu ouAPT et que vous souhaitez passer à une installation de Nagios à partir du code source officiel, voici laméthode à suivre :

1. Sauvegardez votre installation de Nagios existante– Les fichiers de configuration– Le fichier de configuration principal (normalement nommé nagios.cfg)– Le fichier de configuration des ressources (normalement nommé resource.cfg)– Le fichier de configuration des CGIs (normalement nommé cgi.cfg)

Page 59: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

32 / 379

– Tous les autres fichiers de définition d'objets– Le fichier de rétention (normalement nommé retention.dat)– Le fichier de log en cours de Nagios (normalement nommé nagios.log)– Les fichiers de log Nagios archivés

2. Désinstallez les packages RPM ou APT originaux3. Installez Nagios depuis les sources en suivant le Guides d'installation rapide4. Restaurez vos fichiers originaux de configuration Nagios, de rétention et de logs5. Vérifiez votre configuration et démarrez Nagios

NoteDifférents packages RPM ou APT peuvent installer Nagios de façons différentes et à différents en-droits. Soyez sûrs d'avoir correctement sauvegardé vos fichiers Nagios critiques avant de supprimerles packages RPM ou APT originaux, vous ne pourrez pas revenir en arrière si vous rencontrez desproblèmes.

Page 60: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

33 / 379

Chapitre 10

Supervision des machines Windows

NoteCe document décrit la façon dont vous pouvez superviser les attributs et services privés de machinesWindows comme :– Utilisation mémoire– Charge CPU– Utilisation disque– État des services– Processus en cours d'exécution– etc.

10.1 Introduction

Les services rendus publics qui sont fournis par des machines Windows (HTTP, FTP, POP3, etc.) peuventêtre supervisés de façon simple en suivant la documentation sur la supervision des services publicsdisponibles .

NoteCes instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Lesexemples de configuration ci-dessous font référence aux objets de configuration définis dans lesfichiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont été installé si vous avez suivi leguide rapide.

10.2 Vue globale

Page 61: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

34 / 379

Superviser des attributs et services privés sur une machine Windows requiert l'installation d'un agentsur celle-ci. Cet agent agit comme un proxy entre les plugins Nagios qui font la supervision et le serviceou l'attribut sur la machine Windows. Sans installation d'agent sur la machine Windows, Nagios seraitincapable de superviser le moindre attributs ou services privés de la machine Windows.Pour cet exemple, nous allons installer l'addon NSClient++ sur la machine Windows et utiliser leplugin check_nt pour communiquer avec NSCLient++. Le plugin check_nt devrait déjà ê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 dechanger un peu les commandes et les définitions de services, etc. Pour faire simple, je ne couvriraisque 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. Procéder aux pré-requis nécessaires la première fois2. Installez un agent de supervision sur la machine Windows3. Créez de nouvelles définitions d'hôte et de service pour superviser la machine Windows4. Redémarrez le démon Nagios

10.4 Ce qui est déjà fait pour vous

Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pourvous :– Une définition de commande check_nt a été ajouté au fichier commands.cfg. Cela permet d'utiliserle plugin check_nt pour superviser les services Windows.

– Un gabarit d'hôte serveurWindows (appelé windows-server) a déjà été créé dans le fichier templates.cfg. Cela permet d'ajouter de nouvelles définitions d'hôtes Windows de façon simple.

Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou en créez de nouvellespour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre d'avoir unemeilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos machines Windowsen un rien de temps.

10.5 Pré-requis

La première fois que vous configurez Nagios pour superviser une machine Windows, vous avez un peuplus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour la *première* machine Windowsà superviser.Éditez le fichier de configuration principal de Nagios.#vi /usr/local/nagios/etc/nagios.cfg

Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :#cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Page 62: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

35 / 379

Enregistrez le fichier et quittez.Qu'avez-vous fait ? Vous avez dit à Nagios de regarder dans le fichier /usr/local/nagios/etc/objects/windows.cfg pour y trouver des définitions d'objets additionnels. C'est là que vous ajouterez des défi-nitions pour l'hôteWindows. Ce fichier de configuration contient déjà un exemple de définitions d'hôte,de groupe d'hôtes et de service. Pour la *première* machine Windows que vous supervisez, vous pou-vez simplement modifier les définitions d'exemples d'hôte et de service dans ce fichier plutôt que d'encréer de nouvelles.

10.6 Installation de l'agent Windows

Avant de pouvoir superviser les attributs et services privés des machines Windows, vous allez devoirinstaller 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 coursd'une installation simple de NSClient++ ainsi que pour la configuration de Nagios pour superviserune machine Windows.

1. Téléchargez la dernière version stable de NSClient++ depuis http://sourceforge.net/projects/-nscplus

2. Dézippez les fichiers de NSClient++ dans un nouveau répertoire C:\NSClient++3. Ouvrez une fenêtre de commande et déplacez-vous dans le répertoire C:\NSClient++4. Installez le service système NSClient++ avec la commande suivante :

C:\> nsclient++ /install

5. Installez le module NSClient++ pour la barre des tâches 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 lacase correspondante si ce n'est déjà fait.

Page 63: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

36 / 379

7. Éditez le fichier NSC.INI (situé dans le répertoire C:\NSClient++) et effectuez les changementssuivants :

– Décommentez tous les modules listés dans la section [modules], exceptés CheckWMI.dll etRemoteConfiguration.dll

– Exigez optionnellement un mot de passe des clients en remplaçant l'option password dans lasection [Settings].

– Décommentez l'option allowed_hosts dans la section [Settings]. Ajoutez l'adresse IP du serveurNagios à cette ligne, ou laisser vide pour autoriser n'importe quel hôte à se connecter.

– Assurez-vous que l'option port dans la section [NSClient] soit décommentée et réglée sur'12489' (le port par défaut).

8. Démarrez le service NSClient++ avec la commande suivante :C:\> nsclient++ /start

9. Si l'installation est correcte, une nouvelle icône devrait apparaître dans votre barre des tâches.Ce sera un cercle jaune avec un 'M' noir à l'intérieur.

10. Bravo! Le serveur Windows peut désormais être ajouté à la configuration de Nagios…

10.7 Configuration de Nagios

Il est temps maintenant de définir quelques définitions d'objets dans vos fichiers de configurationNagios pour pouvoir superviser la nouvelle machine Windows.Ouvrez le fichier windows.cfg pour édition.

Page 64: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

37 / 379

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

Ajouter une nouvelle définition d'hôte pour la machineWindows que vous souhaitez superviser. Si c'estla *première* que vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôtedans windows.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropriéespour votre machine Windows.define host {

use windows-server ; Inherit default values from a Windows server template ( -make sure you keep this line!)

host_name winserveralias My Windows Serveraddress 192.168.1.2

}

Bien. Maintenant vous pouvez ajouter quelques définitions de services (dans le même fichier de con-figuration) pour indiquer à Nagios de superviser différents aspects de la machine Windows. Si c'estvotre *première* machine Windows, vous pouvez simplement modifier les définitions exemples deservices dans windows.cfg.

NoteRemplacez winserver dans les définitions d'exemples ci-dessous par le nom que vous avez précisédans le paramètre de la définition de l'hôte que vous venez d'ajouter.

Ajoutez la définition de service suivante pour contrôler la version du addon NSClient++ tournant surle serveur Windows. Cela devient utile quand il s'agit de mettre à jour des serveurs Windows versune nouvelle version du addon, en vous permettant de déterminer quelles sont les machines Windowsnécessitant une mise à jour vers la dernière version de NSClient++.define service {

use generic-servicehost_name winserverservice_description NSClient++ Versioncheck_command check_nt!CLIENTVERSION

}

Ajoutez la définition de service suivante pour superviser le temps écoulé depuis le dernier re/démar-rage du serveur Windows.define service {

use generic-servicehost_name winserverservice_description Uptimecheck_command check_nt!UPTIME

}

Ajoutez la définition de service suivante pour superviser la charge CPU du serveurWindows et générerune alerte CRITICAL si la charge CPU des 5 dernières minutes est égale à 90% ou plus ou une alerteWARNING si la charge CPU des 5 dernières minutes est égale à 80% ou plus.define service {

use generic-servicehost_name winserverservice_description CPU Loadcheck_command check_nt!CPULOAD!-l 5,80,90

}

Page 65: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

38 / 379

Ajoutez la définition de service suivante pour superviser l'utilisation de la mémoire du serveur Win-dows et générer une alerte CRITICAL si l'utilisation de la mémoire est égale à 90% ou plus ou unealerte WARNING si l'utilisation de la mémoire est égale à 80% ou plus.define service {

use generic-servicehost_name winserverservice_description Memory Usagecheck_command check_nt!MEMUSE!-w 80 -c 90

}

Ajoutez la définition de service suivante pour superviser l'espace utilisé du disque C :\ du serveurWindows et générer une alerte CRITICAL si l'espace utilisé du disque est égale à 90% ou plus ou unealerte WARNING si l'espace utilisé du disque est égale à 80% ou plus.define service {

use generic-servicehost_name winserverservice_description C:\ Drive Spacecheck_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90

}

Ajoutez la définition de service suivante pour superviser l'état du service W3SVC et générer une alerteCRITICAL si ce service est arrêté.define service {

use generic-servicehost_name winserverservice_description W3SVCcheck_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

}

Ajoutez la définition de service suivante pour superviser l'état du processus Explorer.exe et générerune alerte CRITICAL si ce processus ne tourne pas.define service {

use generic-servicehost_name winserverservice_description Explorercheck_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

}

Voilà pour le moment. Vous avez ajouté des services simples qui devraient être supervisés sur lesmachines Windows. Enregistrez le fichier de configuration.

10.8 Protection par mot de passe

Si vous avez précisé un mot de passe dans le fichier de configuration de NSClient++ de la machineWindows, vous aurez besoin de modifier la définition de commande check_nt pour inclure le mot depasse. Ouvrez le fichier commands.cfg pour édition.#vi /usr/local/nagios/etc/commands.cfg

Modifiez la définition de la commande check_nt pour inclure l'argument -s <PASSWORD> (oùPASSWORD est le mot de passe précisé sur la machine Windows) comme suit :define command {

command_name check_ntcommand_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$

}

Page 66: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

39 / 379

Enregistrez le fichier de configuration.

10.9 Redémarrage de Nagios

Vous en avez terminé avec la configuration de Nagios, et vous allez devoir vérifier les fichiers deconfiguration et redémarrer Nagios .Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmesde configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processusde vérification ne se déroule sans erreur !

Page 67: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

40 / 379

Chapitre 11

Supervision desmachines Linux/Unix

NoteCe document décrit la façon dont vous pouvez superviser les attributs et services privés de serveursLinux/UNIX comme :– Charge CPU– Memory usage– Utilisation disque– Utilisateurs connectés– Processus en cours d'exécution– etc.

11.1 Introduction

Les services rendus publics qui sont fournis par des serveurs Linux (HTTP, FTP, SSH, SMTP, etc.) peu-vent être supervisés de façon simple en suivant la documentation sur la Supervision des servicespubliquement disponibles.

NoteCes instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Lesexemples de configuration ci-dessous font référence aux objets de configuration définis dans lesfichiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont été installés si vous avez suivi leguide rapide.

11.2 Vue globale

Note[Ce document n'a pas été terminé. Je vous recommande de lire la documentation sur le addon NR-PENRPE pour les instructions sur la façon de superviser des serveurs distants Linux/Unix.]

Page 68: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

41 / 379

Il y a plusieurs façons de superviser les attributs ou des serveurs distants Linux/Unix. Une est d'utiliserdes clés partagées SSH et le plugin check_by_ssh pour exécuter de splugins sur les serveurs distants.Cette méthode n'est pas abordée ici, mais peut amener une grande charge sur le serveur de super-vision si vous superviser des centaines ou milliers de services. La charge de travail supplémentairepour créer/détruire les connexions SSH est la cause de ceci.

Une autre façon commune de superviser des hôtes distants Linux/Unix est d'utiliser l'addon NRPEN-RPE. NRPE vous permet d'exécuter des plugins sur les hôtes distants Linux/Unix. C'est utile si vousdevez superviser les attributs/ressources locaux comme l'utilisation disque, la charge CPU, l'utilisa-tion mémoire, etc. sur une hôte distant.

Page 69: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

42 / 379

Chapitre 12

Supervision des serveurs Netware

IntroductionCe document fournit les informations sur la façon de superviser des serveurs Novell Netware.

12.1 Ressources externes

Vous pouvez trouver de la documentation sur la façon de superviser des serveurs Netware avec Nagiossur le site Novell's Cool Solutions, couvrant :

– MRTGEXT: module NLM pour MRTG et Nagios– Nagios: Outil de supervision des hôtes et services– Nagios et NetWare : Supervision basée sur SNMP– Supervision de l'état du pilote DirXML/IDM avec Nagios– Contrôle de l'authentification NDS Login avec Nagios– Supervision de la queue d'impression NDPS/iPrint par Nagios– Plugin check_gwiaRL pour Nagios 2.0

ASTUCEQuand vous visitez le site Novell's Cool Solutions, faîtes une recherche sur Nagios pour trouver plusd'articles et de composants logiciels relatifs à la supervision.

Merci à Christian Mies , Rainer Brunold , et aux autres pour leurs contributions à la documentationsur Nagios et Netware, aux extensions, etc. sur le site de Novell !

Page 70: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

43 / 379

Chapitre 13

Supervision des imprimantes réseaux

NoteCe document décrit la façon de superviser l'état d'imprimantes réseaux. Plus particulièrement, lesimprimantes HP qui ont une carte interne/externe JetDirect, ou toute autres imprimantes (comme laTroy PocketPro 100S ou la Netgear PS101) supportant le protocole JetDirect.

13.1 Introduction

Le plugin check_hpjd (qui fait partie de la distribution des plugins standards Nagios) vous permet-tent de superviser l'état de toutes imprimantes compatibles JetDirect avec SNMP activé. Le plugin estcapable de détecter les états suivants de l'imprimante :

– Bourrage papier– Plus de papier– Imprimante hors ligne– Intervention requise– Toner presque vide– Mémoire insuffisante– Porte ouverte– Le plateau de sortie papier est plein– Et bien d'autres…

NoteCes instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Lesexemples de configuration ci-dessous font référence aux objets de configuration définis dans lesfichiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont été installés si vous avez suivi leguide rapide.

Page 71: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

44 / 379

13.2 Vue globale

Superviser l'état d'une imprimante réseau est simple. Les imprimantes compatibles JetDirect ont engénéral SNMP activé, ce qui permet à Nagios de les superviser en utilisant le plugin check_hpjd.Le plugin check_hpjd sera compilé et installé seulement si vous avez les paquets net-snmp et net-snmp-utils installés sur votre système. Assurez-vous que le plugin soit présent dans /usr/local/nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-snmp-utils et re-compilez/réinstallez les plugins Nagios.

13.3 Étapes

Il y a plusieurs étapes à suivre pour pouvoir superviser une nouvelle imprimante réseau. Les voici :

1. Procédez aux pré-requis nécessaires la première fois2. Créez de nouvelles définitions d'hôte et service pour la supervision de l'imprimante3. Redémarrez le démon Nagios

13.4 Ce qui est déjà fait pour vous

Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pourvous :– Une définition de commande check_hpjd a déjà été créé dans le fichier commands.cfg. Cela permetd'utiliser le plugin check_hpjd pour superviser des imprimantes réseaux.

– Un gabarit d'hôte de type imprimante (nommé generic-printer) a déjà été créé dans le fichiertemplates.cfg. Cela vous permet de rajouter des définitions d'hôtes de type imprimante de façonsimple.

Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou en créer de nouvellespour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre d'avoir unemeilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos imprimantes réseauxen un rien de temps.

13.5 Pré-requis

La première fois que vous configurez Nagios pour superviser une imprimante réseau, vous avez unpeu plus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour la *première* imprimanteà superviser.

Page 72: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

45 / 379

Éditez le fichier de configuration principal de Nagios.#vi /usr/local/nagios/etc/nagios.cfg

Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :#cfg_file=/usr/local/nagios/etc/objects/printer.cfg

Enregistrez le fichier et quittez.Qu'avez-vous fait ? Vous avez dit à Nagios de regarder dans le fichier /usr/local/nagios/etc/objects/printer.cfg pour y trouver des définitions d'objets additionnels. C'est là que vous ajouterez des déf-initions pour l'imprimante. Ce fichier de configuration contient déjà un exemple de définitions d'hôte,de groupe d'hôtes et de service. Pour la *première* imprimante que vous supervisez, vous pouvezsimplement modifier les définitions d'exemples d'hôte et de service dans ce fichier plutôt que d'encréer de nouvelles.

13.6 Configuration de Nagios

Vous allez devoir créer quelques définitions d'objets pour pouvoir superviser une nouvelle imprimante.Éditez le fichier printer.cfg.# vi /usr/local/nagios/etc/objects/printer.cfg

Ajouter une nouvelle définition d'hôte pour l'imprimante réseau que vous souhaitez superviser. Si c'estla *première* que vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôtedans printer.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropriéespour votre imprimante.define host {

use generic-printer ; Inherit default values from a templatehost_name hplj2605dn ; The name we're giving to this printeralias HP LaserJet 2605dn ; A longer name associated with the printeraddress 192.168.1.30 ; IP address of the printerhostgroups allhosts ; Host groups this printer is associated with

}

Vous pouvez ajouter maintenant quelques définitions de services (dans le même fichier de configura-tion) pour superviser différents aspects de votre imprimante. Si c'est la *première* imprimante quevous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôte dans printer.cfg.

NoteRemplacez hplj2605dn dans les exemples de définitions ci-dessous par le nom que vous avez ren-seigné dans le paramètre host_name que vous venez d'ajouter dans la définition d'hôte.

Ajoutez cette définition de service pour pouvoir superviser l'état de l'imprimante. Le service utilise leplugin check_hpjd pour vérifier l'état de l'imprimante toutes les 10 minutes par défaut. La commu-nauté SNMP utilisée dans cet exemple pour interroger l'imprimante est public.define service {

use generic-service ; Inherit values from a templatehost_name hplj2605dn ; The name of the host the service is associated -

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

Page 73: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

46 / 379

retry_check_interval 1 ; Re-check the service every minute until its final/hard state -is determined

}

Ajoutez la définition de service suivante pour pinger l'imprimante toutes les 10 minutes par défaut.C'est utile pour superviser le RTA, les paquets perdus et la connectivité réseau.define service {

use generic-servicehost_name hplj2605dnservice_description PINGcheck_command check_ping!3000.0,80%!5000.0,100%normal_check_interva 10retry_check_interval 1

}

Enregistrez le fichier.

13.7 Redémarrage de Nagios

Une fois que vous avez ajouté les définitions d'hôte et de service au fichier printer.cfg, vous êtesprêt à commencer la supervision de l'imprimante. Pour cela, vous aurez besoin de vérifier votre con-figuration et de redémarrer Nagios.Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmesde configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processusde vérification ne se déroule sans erreur !

Page 74: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

47 / 379

Chapitre 14

Supervision des routeurs et des switchs.

NoteCe document décrit la façon dont vous pouvez superviser des routeurs et switchs réseaux. Quelquesswitchs et hubs bon marché non manageables n'ont pas d'adresse IP et sont invisibles sur votreréseau, il n'y a donc aucun moyen de les superviser. Les routeurs et switchs plus chers ont uneadresse assignée et peuvent donc être supervisés en les pingant ou en utilisant SNMP pour interrogerles informations de statut.

14.1 Introduction

Je vais décrire la façon dont vous pouvez superviser les choses suivantes sur vos switchs, hubs etrouteurs :

– Paquet perdu, temps moyen de parcours (round trip average)– Information d'état SNMP– Trafic / bande passante consommée

NoteCes instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Lesexemples de configuration ci-dessous font référence aux objets de configuration définis dans lesfichiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont été installé si vous avez suivi leguide rapide.

Page 75: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

48 / 379

14.2 Vue globale

La supervision des switchs et routeurs peut au choix être simple ou plus évoluée suivant le typed'équipements que vous souhaitez superviser. Dans le cas où ce sont des composants critiques devotre infrastrcuture, vous voudrez sans aucun doute les superviser d'une façon au moins basique.Les switchs et les routeurs peuvent facilement être supervisés en les pingant pour déterminer lenombre de paquets perdus, RTA, etc. Si votre switch supporte SNMP, vous pouvez superviser l'état desports, etc. avec le plugin check_snmp et la bande passante avec check_mrtgtraf plugin (si vousutilisez MRTG).Le plugin check_snmp sera compilé et installé seulement si vous avez les paquets net-snmp et net-snmp-utils installés sur votre système. Assurez-vous que le plugin soit présent dans /usr/local/nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-snmp-utils et re-compilez/réinstallez les plugins Nagios.

14.3 Étapes

Il y a plusieurs étapes à suivre pour pouvoir superviser un nouveau routeur ou switch. Les voici :

1. Procédez aux pré-requis nécessaires la première fois2. Créez de nouvelles définitions d'hôte et service pour la supervision du périphérique.3. Redémarrez le démon Nagios

14.4 Ce qui est déjà fait pour vous

Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pourvous :– Deux définitions de commandes (check_snmp et check_local_mrtgtraf) ont été ajoutées au fichiercommands.cfg. Elles vous permettent d'utiliser les plugins check_snmp et check_mrtgtraf poursuperviser les routeurs réseaux.

– Un gabarit d'hôte de type switch (nommé generic-switch) a déjà été créé dans le fichier templates.cfg. Cela vous permet de rajouter des définitions d'hôtes de type routeur/switch de façon simple.

Page 76: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

49 / 379

Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou en créer de nouvellespour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre d'avoir unemeilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos routeurs/switchsréseaux en un rien de temps.

14.5 Pré-requis

La première fois que vous configurez Nagios pour superviser un switch réseau, vous avez un peu plusde travail à faire. Souvenez-vous, vous n'avez à le faire que pour le *premier* switch à superviser.Éditez le fichier de configuration principal de Nagios.#vi /usr/local/nagios/etc/nagios.cfg

Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :#cfg_file=/usr/local/nagios/etc/objects/switch.cfg

Enregistrez le fichier et quittez.Qu'avez-vous fait ? Vous avez dit à Nagios de regarder dans le fichier /usr/local/nagios/etc/objects/switch.cfg pour y trouver des définitions d'objets additionnels. C'est là que vous ajouterez des déf-initions pour les routeurs et les switchs. Ce fichier de configuration contient déjà un exemple dedefinitions d'hôte et de service. Pour le *premier* routeur/switch que vous supervisez, vous pouvezsimplement modifier les définitions d'exemple d'hôte et de service dans ce fichier plutôt que d'en créerde nouvelles.

14.6 Configuration de Nagios

Vous allez devoir créer quelques définitions d'objets pour pouvoir superviser un nouveau routeur/switch.Éditez le fichier switch.cfg.#vi /usr/local/nagios/etc/objects/switch.cfg

Ajouter une nouvelle définition d'hôte pour le switch que vous souhaitez superviser. Si c'est le *pre-mier* que vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôte dansswitch.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropriées pourvotre switch.define host {

use generic-switch ; Inherit default values from a templatehost_name linksys-srw224p ; The name we're giving to this switchalias Linksys SRW224P Switch ; A longer name associated with the switchaddress 192.168.1.253 ; IP address of the switchhostgroups allhosts,switches ; Host groups this switch is associated with

}

14.7 Supervision des services

Vous pouvez ajouter maintenant quelques définitions de services (dans le même fichier de config-uration) pour superviser différents aspects de votre switch. Si c'est le *premier* switch que voussupervisez, vous pouvez simplement modifier l'exemple de définition d'hôte dans switch.cfg.

Page 77: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

50 / 379

NoteRemplacez linksys-srw224p dans les exemples de définitions ci-dessous par le nom que vous avezrenseigné dans le paramètre host_name que vous venez d'ajouter dans la définition d'hôte.

14.8 Supervision des paquets perdus et de la RTA

Ajoutez cette définition de service pour pouvoir superviser les paquets perdus et le temps moyen deréponse entre le serveur Nagios et le switch toutes les 5 minutes en conditions normales.

define service {use generic-service y1

host_name linksys-srw224p y2

service_description PING y3

check_command check_ping!200.0,20%!600.0,60% y4

normal_check_interval 5 y5

retry_check_interval 1 y6

}

y1 Hérite des valeurs définies dans le gabarity2 Le nom de l'hôte et du service associéy3 La description du servicey4 La commande à utiliser pour superviser le servicey5 Contrôle le service toutes les 5 minutes en conditions normalesy6 Recontrôle le service toutes les minutes jusqu'à ce que son état final/hard soit déterminé

Le service sera :– CRITICAL si le temps de réponsemoyen (RTA) est plus élevé que 600millisecondes ou que le nombrede paquets perdus est égal ou supérieur à 60%

– WARNING si le RTA est supérieur à 200ms ou que le nombre de paquets perdus est égal ou supérieurà 20%

– OK si le RTA est inférieur à 200 ms et que le nombre de paquets perdus est inférieur à 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 leplugin check_snmp. Sinon, sautez cette section.Ajoutez la définition de service suivante pour superviser le temps écoulé depuis la mise sous tensionde votre switch.define service {

use generic-service ; Inherit values from a templatehost_name linksys-srw224pservice_description Uptimecheck_command check_snmp!-C public -o sysUpTime.0

}

Page 78: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

51 / 379

Dans le paramètre check_command de la définition de service ci-dessus, le -C public indique au pluginque le nom de communauté SNMP à utiliser est public et que -o sysUpTime.0 indique que l' OID doitêtre contrôlé.Si vous souhaitez vous assurer qu'un port/interface particulier du switch est dans un état up, vouspouvez ajouter une définition de service comme celle-ci:define service {

use generic-service ; Inherit values from a templatehost_name linksys-srw224pservice_description Port 1 Link Statuscheck_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB

}

Dans l'exemple ci-dessus, -o ifOperStatus.1 fait référence à OID pour l'état opérationnel du port 1sur le switch.L'option -r 1 indique au plugin check_snmp de retourner un état OK si 1 est trouvé dans la réponseSNMP (1 indique que le port est up) et CRITICAL sinon.L'option -m RFC1213-MIB est optionnel et indique la MIB à utiliser parmi celles installées sur votresystème et peut aider à accélérer les choses.Voilà pour l'exemple de supervision avec SNMP. Il y a des millions de choses qui peuvent être super-visées par SNMP, aussi est-ce à vous décider ce que dont vous avez besoin et ce que vous souhaitezsuperviser. Bonne chance !

ASTUCEVous pouvez trouver les OIDs qui peuvent supervisés sur un switch en exécutant la commandesuivante (remplacez 192.168.1.253 par l'adresse IP de votre switch) : snmpwalk -v1 -c public192.168.1.253 -m ALL .1

14.10 Supervision de la bande passante/trafic

Si vous supervisez l'usage de la bande passante de vos switchs et routeurs en utilisant MRTG , vouspouvez utiliser Nagios pour alerter quand les valeurs dépassent un seuil que vous spécifiez. Le plugincheck_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 fichier où MRTG stockeses données, ainsi que les seuils, etc. Dans mon exemple, je supervise un des ports d'un switch Linksys.Le fichier de log de MRTG est stocké dans /var/lib/mrtg/192.168.1.253_1.log. Voici la définitionde service que j'utilise pour superviser les données de bande passante stockées dans ce fichier…define service {

use generic-service ; Inherit values from a templatehost_name linksys-srw224pservice_description Port 1 Bandwidth Usagecheck_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 passée à la commande check_local_mrtgtrafindique au plugin dans quel fichier de log MRTG il doit aller lire.L'option AVG indique qu'il doit utiliser des statistiques basées sur la moyene de la bande passante.Les arguments 1000000,2000000 sont les seuils de warning (en bytes) pour le taux de trafic entrant.Les arguments 5000000,5000000 sont des seuils critiques (en bytes) pour le taux de trafic sortant. L'10 option indique au plugin de renvoyer un état CRITICAL si le fichier de log MRTG est plus vieux que10 minutes (il devrait être mis à jour toutes les 5 minutes).Enregistrez le fichier.

Page 79: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

52 / 379

14.11 Redémarrage de Nagios

Une fois que vous avez ajouté les nouvelles définitions d'hôte et de service dans le fichier switch.cfg,vous êtes prêt à démarrer la supervision d'un routeur/switch. Pour cela, vous aurez besoin de vérifiervotre configuration et redémarrez Nagios.Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmesde configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processusde vérification ne se déroule sans erreur !

Page 80: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

53 / 379

Chapitre 15

Supervision des services publiquementdisponibles

NoteCe document décrit la façon de superviser des services, applications et protocoles rendus disponiblespubliquement. Par public j'entends les services qui sont accessibles à travers le réseau - que ce soitvotre réseau local ou plus grand avec Internet. Les exemples de ce type de services incluent HTTP, PO-P3, IMAP, FTP, and SSH. Il y a beaucoup plus de services publics que ce que vous utilisez probablementau quotidien. Ces services et applications, ainsi que les protocoles sous-jacents, peuvent en généralêtre supervisés avec Nagios sans nécessiter d'accès spéciaux.

15.1 Introduction

Les services privés, à l'opposé, ne peuvent pas être supervisés par Nagios sans agent intermédiaire dequelque type. Les exemples de services privés associés à des hôtes sont des choses comme la chargeCPU, l'utilisation mémoire, l'utilisation du disque, le nombre d'utilisateurs connectés, des informationssur les processus, etc. Ces services privés ou attributs d'hôtes ne sont en général pas exposés àun client externe. Cette situation requiert qu'un agent intermédiaire de supervision soit installé surchacun des hôtes dont vous avez besoin de superviser ce type d'informations. Plus d'information surla supervision des services privés attachés à des hôtes de différents types peut être trouvée dans ladocumentation à :

– Superviser des machines Windows– Superviser des serveurs Netware– Superviser des machines Linux/Unix

ASTUCEVous trouverez occasionnellement que cette information sur les services et applications privéspeut être supervisée avec SNMP. L'agent SNMP vous permet de superviser à distance l'informationd'hôte normalement privée (et inaccessible). Jetez un œil sur la documentation Supervision des rou-teurs/switchs pour avoir plus d'information sur la façon de superviser des services avec le protocoleSNMP.

Page 81: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

54 / 379

NoteCes instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Lesexemples de configuration ci-dessous font référence aux objets de configuration définis dans lesfichiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont été installés si vous avez suivi leguide rapide.

15.2 Plugins pour la supervision des services

Quand vous avez besoin de superviser un service, application, protocole particulier, les chances sontgrandes qu'un plugin existe pour le faire. La distribution officielle des plugins Nagios fournit desplugins qui peuvent être utilisés pour contrôler une grande variété de services et protocoles. Il ya aussi toute une collection de plugins qui peut être trouvée dans le sous répertoire contrib/ de ladistribution des plugins. Le site NagiosExchange.org héberge aussi de nombreux plugins additionnelsécrits par des utilisateurs, n'hésitez pas à y tenter votre chance.Si vous ne parvenez pas à trouver un plugin approprié pour superviser ce dont vous avez besoin, vouspouvez toujours écrire le vôtre. Les plugins sont faciles à écrire, ne vous laissez donc pas effrayer parcette idée. Lisez la documentation sur le développement de plugins pour plus d'informations.Je vais passer en revue la supervision de services basiques que vous aurez probablement à faire tôt autard. Chacun de ces services peut être supervisé en utilisant un des plugins compris dans la ditributionNagios. Allons-y…

15.3 Création d'une définition d'hôte

Avant de pouvoir superviser un service, vous devez d'abord définir un host associé à ce service. Vouspouvez mettre les définitions d'hôtes dans n'importe quel fichier de configuration spécifié avec leparamètre cfg_file ou les mettre dans un dossier précisé par le paramètre cfg_dir . Si vous avezdéjà créé une définition d'hôte, vous pouvez passer cette étape.Pour cet exemple, disons que vous souhaitez superviser une variété de services sur un hôte distant.Appelons cet hôte remotehost. La définition de l'hôte peut être mise dans son propre fichier de config-uration ou ajoutée à un existant. Voilà à quoi pourrait ressembler la définition de l'hôte remotehost:define host {

use generic-host ; Inherit default values from a templatehost_name remotehost ; The name we're giving to this hostalias Some Remote Host ; A longer name associated with the hostaddress 192.168.1.50 ; IP address of the hosthostgroups allhosts ; Host groups this host is associated with

}

Maintenant qu'une définition d'hôte a été ajoutée pour l'hôte à superviser, nous pouvons commencerà définir les services qui doivent être contrôlés. Comme pour la définition de l'hôte, les définitions deservices peuvent être mises dans n'importe quel fichier de configuration.

15.4 Création d'une définition de service

Pour chaque service à superviser, vous devez créer un service dans Nagios associé à la définitiond'hôte que vous avez juste créé. Vous pouvez mettre des définitions de services dans n'importe quelfichier de configuration précisé par le paramètre cfg_file ou dans n'importe quel dossier précisépar le paramètre cfg_dir .

Page 82: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

55 / 379

Quelques exemples de définitions de services pour superviser des services publics communs (HTTP,FTP, etc.) sont donnés 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 vôtre oucelui de quelqu'un d'autre. Le plugin check_http est juste fait pour ça. Il fonctionne avec le protocoleHTTP et peut superviser un temps de réponse, des codes d'erreurs, des chaînes de caractères dans laréponse HTML, des certificats de serveurs, et beaucoup plus encore.Le fichier commands.cfg contient une définition de commande pour utiliser le plugin check_http. Ilressemble à ceci :define command {

name check_httpcommand_name check_httpcommand_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$

}

Une définition simple de service pour superviser un service HTTP sur la machine remotehost pourraitressembler à ceci :define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description HTTPcheck_command check_http

}

Cette simple définition de service va superviser le service HTTP fonctionnant sur remotehost. Ce ser-vice génèrera des alertes si le sereur web ne répond pas dans les 10 secondes ou si la réponse con-tient un code d'erreur HTTP (403, 404, etc.). C'est tout ce dont vous avez besoin pour une supervisionbasique. Plutôt simple, non?

ASTUCEPour des possibilités plus avancées de supervision, utilisez le plugin check_httpmanuellement avec--help comme argument de la ligne de commande pour voir toutes les options que peut vous fournirce plugin. Cette syntaxe --help fonctionne avec tous les plugins couverts par cette documentation.

Une définition plus avancée pour superviser le service HTTP est donnée ci-dessous. Cette définition deservice va vérifier que l'adresse URI /download/index.php contient la chaîne de caractères latest-version.tar.gz. Une erreur sera produite si la chaîne n'est pas trouvée, si l'URI n'est pas valable, ou sile serveur web met plus de 5 secondes à répondre.define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description Product Download Linkcheck_command check_http!-u /download/index.php -t 5 -s "latest-version.tar.gz"

}

Page 83: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

56 / 379

15.6 Supervision FTP

Quand vous avez besoin de superviser des serveurs FTP, vous pouvez utiliser le plugin check_ftp. Lefichier commands.cfg une définition de commande pour utiliser le plugin check_ftp qui ressemble àceci :define command {

command_name check_ftpcommand_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$

}

Une définition simple de service pour superviser un serveur FTP sur remotehost devrait ressembler àceci :define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description FTPcheck_command check_ftp

}

Cette définition de service va superviser le service FTP et générer des alertes si le serveur FTP nerépond pas dans les 10 secondes.Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur FTP enécoute sur le port 1023 de remotehost. Une alerte sera émise si le serveur ne répond pas dans les 5secondes ou si la réponse que fait le serveur ne contient pas la chaîne de caractère Pure-FTPd [TLS].define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description Special FTPcheck_command check_ftp!-p 1023 -t 5 -e "Pure-FTPd [TLS]"

}

15.7 Supervision SSH

Quand vous avez besoin de superviser des serveurs SSH, vous pouvez utiliser le plugin check_ssh.Le fichier commands.cfg contient une définition de commande pour utiliser le plugin check_ssh quiressemble à ceci :define command {

command_name check_sshcommand_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$

}

Une définition simple de service pour superviser un serveur SSH sur remotehost devrait ressembler àceci :define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description SSHcheck_command check_ssh

}

Page 84: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

57 / 379

Cette définition de service va superviser le service SSH et générer des alertes si le serveur ne répondpas dans les 10 secondes.Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur SSHet générer une alerte si le serveur ne répond pas dans les 5 secondes ou si le numéro de version necorrespond pas à OpenSSH_4.2.define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description SSH Version Checkcheck_command check_ssh!-t 5 -r "OpenSSH_4.2"

}

15.8 Supervision SMTP

Le plugin check_smtp peut être utilisé pour superviser vos serveurs demessagerie. Le fichier commands.cfg une définition de commande pour utiliser le plugin check_smtp qui ressemble à ceci :define command {

command_name check_smtpcommand_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$

}

Une définition simple de service pour superviser un serveur SMTP sur remotehost devrait ressemblerà ceci :define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description SMTPcheck_command check_smtp

}

Cette définition de service va superviser le service SMTP et générer des alertes si le serveur SMTP nerépond pas dans les 10 secondes.Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur SMTPet générer une alerte si le serveur ne répond pas dans les 5 secondes ou si la réponse du serveur necontient pas la chaîne de caractères mygreatmailserver.com.define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description SMTP Response Checkcheck_command check_smtp!-t 5 -e "mygreatmailserver.com"

}

15.9 Supervision POP3

Le plugin check_pop peut être utilisé pour superviser le service POP3 de vos serveurs de messagerie.Le fichier commands.cfg une définition de commande pour utiliser le plugin check_pop qui ressembleà ceci :

Page 85: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

58 / 379

define command {command_name check_popcommand_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$

}

Une définition simple de service pour superviser un serveur POP3 sur remotehost devrait ressemblerà ceci :define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description POP3check_command check_pop

}

Cette définition de service va superviser le service POP3 et générer des alertes si le serveur POP3 nerépond pas dans les 10 secondes.Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur POP3et générer une alerte si le serveur ne répond pas dans les 5 secondes ou si la réponse du serveur necontient pas la chaîne de caractères mygreatmailserver.com.define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description POP3 Response Checkcheck_command check_pop!-t 5 -e "mygreatmailserver.com"

}

15.10 Supervision IMAP

Le plugin check_imap peut être utilisé pour superviser le service IMAP4 sur vos serveurs de mes-sagerie. Le fichier commands.cfg une définition de commande pour utiliser le plugin check_imap quiressemble à ceci :define command {

command_name check_imapcommand_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$

}

Une définition simple de service pour superviser un serveur IMAP4 sur remotehost devrait ressemblerà ceci :define service {

use generic-service ; Inherit default values from a templatehost_name remotehostservice_description IMAPcheck_command check_imap

}

Cette définition de service va superviser le service IMAP4 et générer des alertes si le serveur IMAP nerépond pas dans les 10 secondes.Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le service IMAP4et générer une alerte si le serveur ne répond pas dans les 5 secondes ou si la réponse du serveur necontient pas la chaîne de caractères mygreatmailserver.com.

Page 86: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

59 / 379

define service {use generic-service ; Inherit default values from a templatehost_name remotehostservice_description IMAP4 Response Checkcheck_command check_imap!-t 5 -e "mygreatmailserver.com"

}

15.11 Redémarrage de Nagios

Une fois que vous avez ajouté les définitions du nouvel hôte et du service à vos fichiers de configurationd'objets, vous êtes prêt à démarrer la supervision de ceux-ci. Pour cela, vous devez vérifier votreconfiguration et redémarrer Nagios.Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmesde configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processusde vérification ne se déroule sans erreur !

Page 87: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

60 / 379

Troisième partie

Configurer Nagios

Page 88: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

61 / 379

Chapitre 16

Survol de la configuration

16.1 Introduction

Il va falloir créer et éditer plusieurs fichiers de configuration avant de pouvoir surveiller quoique cesoit. Soyez patient ! La configuration de Nagios peut prendre du temps, surtout si vous êtes nouvelutilisateur. Quand vous aurez compris comment fonctionne les choses, vous ne regretterez pas letemps passé. :-)

NoteDes fichiers exemples de configuration sont installés dans le répertoire /usr/local/nagios/etc/,si vous avez suivi le guide de démarrage rapide .

16.2 Fichier de configuration principal

Le fichier de configuration principal contient un certain nombre de paramètres qui affectent lamanièredont Nagios fonctionne. Ce fichier est lu par le processus Nagios et par les CGI. C'est ici que com-mence vos aventures de configuration.La documentation du fichier de configuration principal se trouve ici.

Page 89: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

62 / 379

16.3 Fichier de configuration des ressources

Les fichiers des ressources sont utilisés pour stocker les macros définies par les utilisateurs. L'avan-tage de ces fichiers est de pouvoir y mettre des données sensibles de configuration (comme des motsde passe) qui ne seront pas accessibles à travers les CGIs.Vous pouvez définir un ou plusieurs fichiers optionnels de ressources avec le paramètre resource_-file dans le fichier de configuration principal.

16.4 Fichier de définition des objets

Les fichiers de définitions des objets définissent les hôtes, services, groupes d'hôtes, contacts, groupesde contacts, commandes, etc. C'est là que vous définissez les choses que vous souhaitez surveiller etcomment vous désirez le faire.Vous pouvez définir un ou plusieurs fichiers de définitions des objets avec les paramètres cfg_fileet/ou cfg_dir dans le fichier de configuration principal.Une introduction aux définitions d'objets et à la façon dont ils sont en relation les uns les autres peutêtre consultée ici.

Page 90: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

63 / 379

16.5 Fichier de configuration des CGIs

Le fichier de configuration des CGIs contient un certain nombre de paramètres qui affectent le modede fonctionnement des CGIs. Il contient également une référence au fichier de configuration princi-pal, de façon à ce que les CGIs sachent comment est configuré Nagios et où trouver les objets deconfiguration.La documentation du fichier de configuration des CGIs se trouve ici.

Page 91: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

64 / 379

Chapitre 17

Options du fichier de configuration prin-cipal

NoteGardez à l'esprit ce qui suit quand vous créez/éditez des fichiers de configuration :– Les lignes qui commencent par le caractère '#' sont des commentaires et ne sont pas traitées– Les noms des variables doivent commencer au début de la ligne - ne mettez pas d'espace avantle nom

– Les noms des variables respectent la casse (majuscule/minuscule)

17.1 Configuration d'exemple

ASTUCEUn fichier de configuration d'exemple (/usr/local/nagios/etc/nagios.cfg) est installé pour vousquand suivez le Guides d'installation rapide

17.2 Emplacement du fichier de configuration

Le fichier de configuration principal est habituellement nommé nagios.cfg et situé dans le répertoire/usr/local/nagios/etc/.

17.3 Variables du fichier de configuration

Vous allez trouver ci-dessous la description de chacune des options du fichier principal de configura-tion de Nagios…

17.3.1 Fichier journal

Page 92: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

65 / 379

Formatlog_file=<nom_de_fichier>

Exemplelog_file=/usr/local/nagios/var/nagios.log

Cette variable détermine le chemin d'accès au fichier journal principal de Nagios. Elle doit être lapremière variable définie dans le fichier de configuration, car Nagios essaiera d'enregistrer à cetendroit les erreurs découvertes dans le reste du fichier. Si vous avez activé la rotation des journaux,ce fichier sera automatiquement archivé et remplacé chaque heure, jour, semaine et mois.

17.3.2 Fichier de configuration des objets

Formatcfg_file=<nom_de_fichier>

Exemplecfg_file=/usr/local/nagios/etc/hosts.cfg

Cette variable détermine les fichiers de configuration des objets que Nagios doit utiliser pour la su-pervision. Ces fichiers contiennent les définitions pour les hôtes, groupes d'hôtes, contacts, groupesde contacts, services, commandes etc… Vous pouvez éclater votre fichier de configuration des objetsen plusieurs fichiers que vous inclurez, pour leur traitement, en ajoutant un paramètre cfg_file=pour chacun d'eux.

17.3.3 Répertoire des fichiers de configuration des objets

Formatcfg_dir=<nom_de_répertoire>

Exemplecfg_dir=/usr/local/nagios/etc/commands

Cette directive est utilisée pour spécifier un répertoire qui contient les fichiers de configuration d'ob-jet que Nagios doit utiliser pour la supervision. Tous les fichiers contenus dans le répertoire avecune extension cfg sont traitées comme objet config. En outre, Nagios procède de manière récursivetous les fichiers de config dans les sous-répertoires du répertoire que vous spécifiez ici. Vous pouvezéclater votre fichier de configuration des objets dans plusieurs répertoires que vous inclurez, pourleur traitement, en ajoutant une directive cfg_dir= pour chacun d'eux.

17.3.4 Fichier de cache des objets

Formatobject_cache_file=<nom_de_fichier>

Exempleobject_cache_file=/usr/local/nagios/var/objects.cache

Cette variable est utilisée pour indiquer l'emplacement d'un fichier qui contiendra une copie en cachedes définitions des objets .Ce fichier cache est (re)créé à chaque (re)démarrage de Nagios et est utilisépar les CGIs. Il permet d'accélérer le cache des fichiers de configuration pour les CGIs, et vous permetde modifier les fichiers de configuration des objets, pendant que Nagios tourne, sans que l'affichagedes CGIs soit modifié.

Page 93: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

66 / 379

17.3.5 Fichier de pré-cache des objets

Formatprecached_object_file=<nom_du_fichier>

Exempleprecached_object_file=/usr/local/nagios/var/objects.precache

Cette variable est utilisée pour indiquer l'emplacement d'un fichier qui va contenir une copie pré-traitée, pré-cachée du fichier de configuration des objets .Ce fichier peut améliorer de façon drastiqueles temps de démarrage de Nagios dans des installations complexes ou de grande dimension. Lisezplus d'informations sur la façon d'améliorer les temps de démarrage ici.

17.3.6 Fichier de ressources

Formatresource_file=<file_name>

Exempleresource_file=/usr/local/nagios/etc/resource.cfg

Le fichier de ressources optionnel qui contient des définitions de macros du type $USERn$. Les macros$USERn$ permettent de stocker des noms d'utilisateurs, des mots de passe, et les éléments couram-ment utilisés dans les commandes (comme les chemins d'accès). Les CGIs ne lisent pas les fichiersde ressources, si bien que vous pouvez y mettre des droits d'accès restrictifs (600 ou 660) pour pro-téger les données sensibles. Vous pouvez inclure de nombreux fichiers de ressources en ajoutant desparamètres resource_file au fichier de configuration principal - Nagios les traitera tous. Référez-vous au fichier resource.cfg d'exemple situé à la racine de la distribution de Nagios, pour voir com-ment utiliser les macros $USERn$.

17.3.7 Fichier temporaire

Formattemp_file=<file_name>

Exempletemp_file=/usr/local/nagios/var/nagios.tmp

C'est un fichier que Nagios crée périodiquement durant la mise à jour des commentaires de données,des données d'état etc… Il est supprimé quand il n'est plus nécessaire.

17.3.8 Répertoire temporaire

Formattemp_path=<dir_name>

Exempletemp_path=/tmp

C'est un répertoire que Nagios peut utiliser comme espace scratch pour créer des fichiers temporairesutilisés durant le processus de supervision. Vous pouvez exécuter tmpwatch, ou un outil similaire surce réperoire pour effacer les fichiers plus vieux de 24 heures.

Page 94: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

67 / 379

17.3.9 Fichier d'états (journal des états)

Formatstatus_file=<file_name>

Exemplestatus_file=/usr/local/nagios/var/status.dat

C'est le fichier utilisé par Nagios, pour stocker l'état courant de tous les services supervisés. L'étatde tous les hôtes et leurs services associés, est également enregistré dans ce fichier. Ce fichier estutilisé par le CGI d'état pour afficher l'état courant de la supervision dans l'interface web. Les CGIsdoivent avoir le droit d'accéder en lecture à ce fichier, pour fonctionner correctement. Ce fichier estsupprimé à l'arrêt de Nagios, et recréé au démarrage.

17.3.10 Intervalle de mise à jour des états agrégés

Formatstatus_update_interval=<seconds>

Exemplestatus_update_interval=15

Cette variable, détermine la fréquence (en secondes), à laquelle Nagios mettra à jour les donnéesd'état dans le Section 17.3.9 .L'intervalle minimal est de une seconde.

17.3.11 L'utilisateur de Nagios

Formatnagios_user=<username/UID>

Exemplenagios_user=nagios

Ceci détermine quel utilisateur doit être le propriétaire du processus de Nagios. Après le démarragedu programme, et avant toute supervision, Nagios abandonnera ses privilèges effectifs, et se lancerasous cet utilisateur. Vous pouvez donner un nom d'utilisateur ou un UID.

17.3.12 Groupe de Nagios

Formatnagios_group=<groupname/GID>

Exemplenagios_group=nagios

Ceci détermine quel groupe doit être propriétaire du processus de Nagios. Après le démarrage duprogramme, et avant toute supervision, Nagios abandonnera ses privilèges effectifs et se lancerasous ce groupe. Vous pouvez donner un nom de groupe ou un GID.

17.3.13 Option des notifications

Formatenable_notifications=<0/1>

Exempleenable_notifications=1

Cette option détermine si Nagios envoie ou non une notification quand il (re)démarre. Si cette optionest désactivée, Nagios n'enverra aucune notification, quel que soit l'hôte ou le service.

Page 95: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

68 / 379

NoteNote : si vous avez activé la Section 17.3.26,Nagios ignorera ce paramètre au (re)démarrage, et utilis-era sa dernière valeur connue (telle qu'elle est stockée dans le Section 17.3.27 ), à moins que vousne désactiviez l'option Section 17.3.29 .Si vous voulez changer cette variable alors que la mémori-sation d'état est activée, (ainsi que l'option Section 17.3.29 ), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

– 0 = Notifications désactivées– 1 = Notifications activées (défaut)

17.3.14 Option d'exécution des contrôles de service

Formatexecute_service_checks=<0/1>

Exempleexecute_service_checks=1

Cette option détermine, si Nagios effectuera les contrôles des services lorsqu'il (re)démarrera. Sicette option est désactivée, Nagios n'effectuera aucun contrôle de service, et restera dans un modede sommeil (il peut quand même recevoir les contrôles passifs à moins qu'ils ne soient désactivés).Cette option est surtout utile pour définir des serveurs de supervision de secours, comme l'explique ladocumentation sur la redondance, ou pour mettre en place un environnement de supervision répartie.Note : si vous avez activé la mémorisation d'état, Nagios ignorera ce paramètre au (re)démarrage, etutilisera sa dernière valeur connue (telle qu'elle est stockée dans le fichier de mémorisation d'état),à moins que vous ne désactiviez l'option use_retained_program_state. Si vous voulez changer cettevariable, alors que la mémorisation d'état est activée (ainsi que l'option use_retained_program_state),vous devrez passer par la commande externe appropriée, ou la changer à travers l'interface web. Lesvaleurs possibles de cette variable sont :

NoteNote : si vous avez activé la Section 17.3.26,Nagios ignorera ce paramètre au (re)démarrage, et utilis-era sa dernière valeur connue (telle qu'elle est stockée dans le Section 17.3.27 ), à moins que vousne désactiviez l'option Section 17.3.29 .Si vous voulez changer cette variable alors que la mémori-sation d'état est activée, (ainsi que l'option Section 17.3.29 ), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

– 0 = Ne pas exécuter les contrôles de services– 1 = Exécuter les contrôles de services (défaut)

17.3.15 Option d'acceptation des contrôles passifs de service

Formataccept_passive_service_checks=<0/1>

Exempleaccept_passive_service_checks=1

Cette option détermine si Nagios accepte les contrôles passifs de service quand il (re)démarrera. Sicette option est désactivée, Nagios n'acceptera aucun contrôle passif de service. Note : si vous avezactivé la mémorisation d'état, Nagios ignorera ce paramètre au (re)démarrage et utilisera sa dernièrevaleur connue (telle qu'elle est stockée dans le fichier de mémorisation d'état), à moins que vous ne

Page 96: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

69 / 379

désactiviez l'option use_retained_program_state. Si vous voulez changer cette variable alors que lamémorisation d'état est activée (ainsi que l'option use_retained_program_state), vous devrez passerpar la commande externe appropriée ou la changer à travers l'interface web. Les valeurs possibles decette variable sont :

NoteNote : si vous avez activé la Section 17.3.26,Nagios ignorera ce paramètre au (re)démarrage, et utilis-era sa dernière valeur connue (telle qu'elle est stockée dans le Section 17.3.27 ), à moins que vousne désactiviez l'option Section 17.3.29 .Si vous voulez changer cette variable alors que la mémori-sation d'état est activée, (ainsi que l'option Section 17.3.29 ), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

– 0 = Ne pas accepter les contrôles passifs de services– 1 = Accepter les contrôles passifs de services (défaut)

17.3.16 Option d'exécution des contrôles d'hôtes

Formatexecute_host_checks=<0/1>

Exempleexecute_host_checks=1

Cette option détermine si Nagios effectuera les contrôles des hôtes - à la demande ou de manièrerégulière - lorsqu'il (re)démarrera. Si cette option est désactivée, Nagios n'effectuera aucun contrôlesur les hôtes et restera dans un mode de sommeil (il peut quand même recevoir les contrôles passifsd'hôtes à moins qu'ils ne soient désactivés). Cette option est surtout utile pour définir des serveursde supervision de secours, comme l'explique la documentation sur la redondance, ou pour mettreen place un environnement de supervision répartie. Note : si vous avez activé la mémorisation d'é-tat, Nagios ignorera ce paramètre au (re)démarrage, et utilisera sa dernière valeur connue (tellequ'elle est stockée dans le fichier de mémorisation d'état), à moins que vous ne désactiviez l'optionuse_retained_program_state. Si vous voulez changer cette variable alors que la mémorisation d'é-tat est activée (ainsi que l'option use_retained_program_state), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

NoteNote : si vous avez activé la Section 17.3.26,Nagios ignorera ce paramètre au (re)démarrage, et utilis-era sa dernière valeur connue (telle qu'elle est stockée dans le Section 17.3.27 ), à moins que vousne désactiviez l'option Section 17.3.29 .Si vous voulez changer cette variable alors que la mémori-sation d'état est activée, (ainsi que l'option Section 17.3.29 ), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

– 0 = Ne pas exécuter les contrôles d'hôtes– 1 = Exécuter les contrôles d'hôtes (défaut)

17.3.17 Option d'acceptation des contrôles passifs d'hôte

Formataccept_passive_host_checks=<0/1>

Page 97: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

70 / 379

Exempleaccept_passive_host_checks=1

Cette option détermine si Nagios accepte les contrôles passifs d'hôte quand il (re)démarrera. Si cetteoption est désactivée, Nagios n'acceptera aucun contrôle passif d'hôte. Note : si vous avez activé lamémorisation d'état, Nagios ignorera ce paramètre au (re)démarrage, et utilisera sa dernière valeurconnue (telle qu'elle est stockée dans le fichier de mémorisation d'état), à moins que vous ne dés-activiez l'option use_retained_program_state. Si vous voulez changer cette variable alors que la mé-morisation d'état est activée (ainsi que l'option use_retained_program_state), vous devrez passer parla commande externe appropriée, ou la changer à travers l'interface web. Les valeurs possibles decette variable sont :

NoteNote : si vous avez activé la Section 17.3.26,Nagios ignorera ce paramètre au (re)démarrage, et utilis-era sa dernière valeur connue (telle qu'elle est stockée dans le Section 17.3.27 ), à moins que vousne désactiviez l'option Section 17.3.29 .Si vous voulez changer cette variable alors que la mémori-sation d'état est activée, (ainsi que l'option Section 17.3.29 ), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

– 0 = Ne pas accepter les contrôles passifs d'hôtes– 1 = Accepter les contrôles passifs d'hôtes (défaut)

17.3.18 Option de gestion d'événement

Formatenable_event_handlers=<0/1>

Exempleenable_event_handlers=1

Cette option détermine si Nagios activera les gestionnaires d'événement quand il (re)démarrera.Si cette option est désactivée, Nagios ne lancera aucun gestionnaire d'événement lié aux hôtes ouaux services. Note : si vous avez activé la mémorisation d'état, Nagios ignorera ce paramètre au(re)démarrage, et utilisera sa dernière valeur connue (telle qu'elle est stockée dans le fichier demémorisation d'état), à moins que vous ne désactiviez l'option use_retained_program_state. Si vousvoulez changer cette variable alors que lamémorisation d'état est activée (ainsi que l'option use_retained_program_state),vous devrez passer par la commande externe appropriée ou la changer à travers l'interface web. Lesvaleurs possibles de cette variable sont :

NoteNote : si vous avez activé la Section 17.3.26,Nagios ignorera ce paramètre au (re)démarrage, et utilis-era sa dernière valeur connue (telle qu'elle est stockée dans le Section 17.3.27 ), à moins que vousne désactiviez l'option Section 17.3.29 .Si vous voulez changer cette variable alors que la mémori-sation d'état est activée, (ainsi que l'option Section 17.3.29 ), vous devrez passer par la commandeexterne appropriée, ou la changer à travers l'interface web. Les valeurs possibles de cette variablesont :

– 0 = Gestionnaire d'événements désactivé– 1 = Gestionnaire d'événements activé (défaut)

Page 98: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

71 / 379

17.3.19 Méthode de rotation du journal

Formatlog_rotation_method=<n/h/d/w/m>

Exemplelog_rotation_method=d

C'est la méthode de rotation que vous voulez que Nagios utilise pour le fichier journal. Les valeurspossibles de cette variable sont :

– n = Aucune [None] (ne pas effectuer de rotation sur le journal - par défaut)– h = Toutes les heures [Hourly] (effectuer une rotation du journal au début de chaque heure)– d = Tous les jours [Daily] (effectuer une rotation du journal à minuit chaque jour)– w = Toutes les semaines [Weekly] (effectuer une rotation du journal à minuit le samedi)– m = Tous les mois [Monthly] (effectuer une rotation du journal à minuit le dernier jour du mois)

17.3.20 Chemin d'accès aux archives du journal

Formatlog_archive_path=<path>

Exemplelog_archive_path=/usr/local/nagios/var/archives/

C'est le répertoire où Nagios doit enregistrer les fichiers journaux ayant fait l'objet d'une rotation.Cette option est ignorée si vous n'avez pas activé la rotation du journal .

17.3.21 Option de contrôle des commandes externes

Formatcheck_external_commands=<0/1>

Exemplecheck_external_commands=1

Cette option détermine si Nagios va vérifier le contenu du Section 17.3.23 à la recherche de comman-des à exécuter. Cette option doit être activée si vous avez prévu d'utiliser le CGI de commande pourenvoyer des commandes via l'interface web. Des programmes tiers peuvent également envoyer descommandes à Nagios en écrivant dans le fichier de commande, sous réserve que les droits nécessairesà l'accès au fichier aient été donnés, comme le souligne cette FAQ. Vous trouverez plus d'informationssur les commandes externes ici.

– 0 = Ne pas vérifier les commandes externes– 1 = Vérifier les commandes externes (défaut)

17.3.22 Intervalle entre les contrôles des commandes externes

Formatcommand_check_interval=<xxx>[s]

Exemplecommand_check_interval=1

Si vous spécifiez un nombre suivi d'un s (par exemple 30s), c'est le nombre de secondes qui sépareradeux contrôles de commandes externes. Si vous ne mettez pas de s, c''est le nombre d'unités detemps à laisser entre deux contrôles de commandes externes. Si vous n'avez pas modifié la valeur delaSection 17.3.55 qui est par défaut de 60, ce nombre représente des minutes.

Page 99: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

72 / 379

NoteNote : en mettant cette valeur à -1, Nagios contrôlera les commandes externes aussi souvent quepossible. Chaque fois que Nagios contrôle les commandes externes, il lit et traite toutes les com-mandes présentes dans le Section 17.3.23 avant de passer à d'autres tâches. Vous trouverez plusd'informations sur les commandes externes ici.

17.3.23 Fichier de commandes externes

Formatcommand_file=<file_name>

Exemplecommand_file=/usr/local/nagios/var/rw/nagios.cmd

C'est le fichier que Nagios lit à la recherche de commandes externes. Le CGI de commande écrit lescommandes dans ce fichier. Des programmes tiers peuvent écrire dans ce fichier sous réserve qu'ilsaient les droits d'accès comme il est décrit ici. Le fichier de commandes externes est implémenté sousforme d'un tube nommé [named pipe] (FIFO), qui est créé quand Nagios démarre et supprimé lorsqu'ils'arrête. Pour plus d'informations sur les commandes externes, lisez ceci.

17.3.24 Mémoire tampon des commandes externes

Formatexternal_command_buffer_slots=<#>

Exempleexternal_command_buffer_slots=512

NoteC'est une option avancée.

Cette option détermine le nombre de slots tampon que Nagios va réserver pour mettre en cacheles commandes externes qui ont été lues depuis le fichier de commandes externes par un processusenfant (worker thread) mais qui n'ont pas encore été traité par le processus principal (main thread) dudémon Nagios. Chaque slot peut gérer une commande externe, ce qui fait que cette option déterminele nombre de commandes externes qui peuvent être mis en tampon. Pour des installations où vousavez besoin de traiter un nombre important de contrôles passifs (comme dans les environnementsdistribués), vous aurez peut-être besoin d'augmenter ce nombre. Vous devriez considérer l'utilisationde MRTG pour grapher l'usage que fait Nagios des tampons de commande externe. Vous pouvez enapprendre davantage sur la façon de configurer les graphes ici.

17.3.25 Fichier verrou

Formatlock_file=<file_name>

Exemplelock_file=/tmp/nagios.lock

C'est l'emplacement du fichier verrou qu'utilise Nagios quand il est lancé en tant que démon (i.e.démarré avec l'argument -d ). Ce fichier contient l'identifiant du processus (PID) de Nagios.

Page 100: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

73 / 379

17.3.26 Option de mémorisation de l'état

Formatretain_state_information=<0/1>

Exempleretain_state_information=1

Cette option détermine si Nagios doit mémoriser l'état des hôtes et des services entre deux démar-rages. Si vous activez cette option, vous devez donnez une valeur à la variable Section 17.3.27 .Unefois l'option activée, Nagios enregistrera toutes les informations concernant l'état des hôtes et desservices avant de s'arrêter (ou de redémarrer) et il relira les informations d'état préalablement en-registrées quand il redémarrera.

– 0 = Ne pas conserver les informations de statuts– 1 = Conserver les informations de statuts (défaut)

17.3.27 Fichier de mémorisation de l'état

Formatstate_retention_file=<file_name>

Exemplestate_retention_file=/usr/local/nagios/var/retention.dat

C'est le fichier utilisé par Nagios pour mémoriser l'état des hôtes et des services entre les redémar-rages. Au démarrage, Nagios positionnera l'état initial des services et des hôtes à partir des informa-tions contenues dans ce fichier, puis commencera la supervision. Ce fichier est supprimé dès sa lectureeffectuée. Pour que Nagios mémorise l'état des hôtes et des services, vous devez activer l'option deSection 17.3.26 .

17.3.28 Intervalle de mise à jour des états mémorisés

Formatretention_update_interval=<minutes>

Exempleretention_update_interval=60

Cette variable détermine la fréquence (en minutes) à laquelle Nagios va automatiquement sauveg-arder les données de mémorisation en situation normale. Si vous donnez une valeur de 0, Nagiosne sauvegardera pas les données mémorisées à intervalles réguliers, mais avant de s'arrêter ou deredémarrer. Si vous avez désactivé la mémorisation des états (grâce à l'option Section 17.3.26 ), cettevariable est sans effet.

17.3.29 Option d'utilisation des états mémorisés du programme

Formatuse_retained_program_state=<0/1>

Exempleuse_retained_program_state=1

Cette option détermine si Nagios positionnera diverses variables d'état du programme à partir desvaleurs enregistrées dans le fichier de mémorisation. Parmi ces variables d'état du programme, nor-malement sauvegardées par delà les redémarrages du programme si la mémorisation d'état est ac-tivée, on trouve les Section 17.3.13 , la Section 17.3.70 ,Section 17.3.18 ,Section 17.3.14 ,ou Sec-tion 17.3.15 .Si vous n'avez pas activé la Section 17.3.26 ,cette option est sans effet.

– 0 = Ne pas conserver les informations de statuts de programme– 1 = Conserver les informations de statuts de programme (défaut)

Page 101: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

74 / 379

17.3.30 Option d'utilisation des états mémorisés de l'ordonnanceur

Formatuse_retained_scheduling_info=<0/1>

Exempleuse_retained_scheduling_info=1

Cette option détermine si Nagios va garder les informations d'ordonnancement (prochain lancementde vérification pour chaque service), lorsqu'il redémarre. Si vous ajoutez un grand nombre (ou pour-centage) de services ou d'hôtes, je vous recommande de désactiver cette option lorsque vous redé-marrez Nagios, car ceci peut biaiser la répartition initiale des services. Dans le cas contraire, vousvoudrez probablement laisser cette option active.

– 0 = Ne pas conserver les informations d'ordonnancement– 1 = Conserver les informations d'ordonnancement (défaut)

17.3.31 Masques d'attribut conservé pour hôte et service

Formatretained_host_attribute_mask=<number>

Exempleretained_host_attribute_mask=0

Formatretained_service_attribute_mask=<number>

Exempleretained_service_attribute_mask=0

AVERTISSEMENTC'est une fonction avancée. Vous aurez besoin de lire le code source de Nagios pour utilisercette option de façon efficace.

Ces options détermine quels sont les attributs d'hôtes et services qui ne seront PAS conservés entreles redémarrages du programme. Les valeurs pour ces options sont au niveau du bit (bitwise) ET lesvaleurs spécifiées par les définitions de MODATTR_ dans le fichier du code source include/common.h.Par défaut, tous les attributs d'hôtes et services sont conservés.

17.3.32 Masque d'attributs conservés du processus

Formatretained_process_host_attribute_mask=<number>

Exempleretained_process_host_attribute_mask=0

Formatretained_process_service_attribute_mask=<number>

Exempleretained_process_service_attribute_mask=0

AVERTISSEMENTC'est une fonction avancée. Vous aurez besoin de lire le code source de Nagios pour utilisercette option de façon efficace.

Page 102: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

75 / 379

Ces options déterminent quels sont les attributs de processus qui ne seront PAS conservés entreles redémarrages du programme. Il y a deux masques parce qu'il y a souvent des attributs séparésqui peuvent être changés pour les hôtes et services. Par exemple, les contrôles d'hôtes peuvent êtredésactivés au niveau du programme, alors que les services restent eux activés. Les valeurs pour cesoptions sont au niveau du bit (bitwise) ET les valeurs spécifiées par les définitions de MODATTR_dans le fichier du code source include/common.h. Par défaut, tous les attributs de processus sontconservés.

17.3.33 Masques d'attribut conservé de contact

Formatretained_contact_host_attribute_mask=<number>

Exempleretained_contact_host_attribute_mask=0

Formatretained_contact_service_attribute_mask=<number>

Exempleretained_contact_service_attribute_mask=0

AVERTISSEMENTC'est une fonction avancée. Vous aurez besoin de lire le code source de Nagios pour utilisercette option de façon efficace.

Ces options déterminent quels sont les attributs de contact qui ne seront PAS conservés entre lesredémarrages du programme. Il y a deux masques parce qu'il y a souvent des attributs séparés quipeuvent être changés pour les contacts d'hôtes et de services. Les valeurs pour ces options sont auniveau du bit (bitwise) ET les valeurs spécifiées par les définitions de MODATTR_ dans le fichier ducode source include/common.h. Par défaut, tous les attributs de contact sont conservés.

17.3.34 Option de journalisation dans Syslog

Formatuse_syslog=<0/1>

Exempleuse_syslog=1

Cette option détermine si les messages doivent être journalisés via l'utilitaire système Syslog. Lesvaleurs possibles sont :

– 0 = Don't use syslog facility– 1 = Use syslog facility

17.3.35 Option de journalisation des notifications

Formatlog_notifications=<0/1>

Exemplelog_notifications=1

Page 103: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

76 / 379

Cette variable détermine si les messages de notification sont journalisés ou non. Si vous avez de nom-breux contacts ou des problèmes fréquents sur les services, le fichier journal va rapidement grossir.Utilisez cette option pour éviter de journaliser les notifications faites aux contacts.

– 0 = Don't log notifications– 1 = Log notifications

17.3.36 Option de journalisation de tentatives de contrôle de service

Formatlog_service_retries=<0/1>

Exemplelog_service_retries=1

Cette option détermine si les tentatives répétées de contrôle d'un service sont journalisées. Ces tenta-tives ont lieu lorsqu'un service retourne un état différent de OK, mais que vous avez configuré Nagiospour essayer plus d'une fois avant de considérer cela comme une erreur. Les services dans cette sit-uation sont dits en état soft. La journalisation des tentatives de contrôle permet de déboguer Nagiosou de tester les gestionnaires d'événements.

– 0 = Don't log service check retries– 1 = Log service check retries

17.3.37 Option de journalisation de tentatives de contrôle d'hôte

Formatlog_host_retries=<0/1>

Exemplelog_host_retries=1

Cette option détermine si les tentatives répétées de contrôle d'un hôte sont journalisées. La journali-sation des tentatives de contrôle permet de déboguer Nagios ou de tester les gestionnaires d'événe-ments.

– 0 = Don't log host check retries– 1 = Log host check retries

17.3.38 Option de journalisation des gestions d'événement

Formatlog_event_handlers=<0/1>

Exemple

Cette option détermine si les gestions d'événements liés aux hôtes ou aux services sont journal-isées. Les gestionnaires d'événements sont des commandes optionnelles qu'on peut lancer lors duchangement d'état d'un hôte ou d'un service. La journalisation des gestions d'événements permet dedéboguer Nagios ou de tester les scripts de gestion d'événements.

– 0 = Don't log event handlers– 1 = Log event handlers

Page 104: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

77 / 379

17.3.39 Option de journalisation des états initiaux

Formatlog_initial_states=<0/1>

Exemplelog_initial_states=1

Cette variable détermine si Nagios forcera la journalisation de tous les états initiaux des hôtes et desservices, même si leur état est OK. Les états initiaux ne sont normalement journalisés que s'il y a unproblème lors du premier contrôle. Cette option peut se révéler utile si vous utilisez une applicationtierce qui lit le journal pour en tirer des statistiques à long terme pour les hôtes et services.

– 0 = Ne pas journaliser les états initiaux (défaut)– 1 = Journaliser les états initiaux

17.3.40 Option de journalisation des commandes externes

Formatlog_external_commands=<0/1>

Exemplelog_external_commands=1

Cette variable détermine si Nagios journalisera les commandes externes reçues via le fichier descommandes externes .

NoteNote : cette option ne détermine pas si les contrôles passifs de service (qui sont une variante descommandes externes) sont journalisés. Pour définir la journalisation des contrôles passifs de service,utilisez l'option de journalisation des contrôles passifs de service.

– 0 = Ne pas journaliser les commandes externes– 1 = Journaliser les commandes externes (défaut)

17.3.41 Option de journalisation des contrôles passifs

Formatlog_passive_checks=<0/1>

Exemplelog_passive_checks=1

Cette variable détermine si Nagios journalisera les contrôles passifs d'hôte ou de service reçus via lefichier de commandes externes .Si vous mettez en place un environnement de supervision réparti ousi vous souhaitez utiliser fréquemment un grand nombre de contrôles passifs, vous pouvez désactivercette option pour éviter au journal de trop grossir.

– 0 = Ne pas journaliser les contrôles passifs– 1 = Journaliser les contrôles passifs (défaut)

Page 105: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

78 / 379

17.3.42 Gestionnaire global des événements relatifs aux hôtes

Formatglobal_host_event_handler=<command>

Exempleglobal_host_event_handler=log-host-event-to-db

Cette option détermine un gestionnaire d'événement appelé à chaque changement d'état d'un hôte.Il s'exécute juste avant le gestionnaire d'événement particulier à l'hôte que vous avez précisé demanière optionnelle dans la définition de l'hôte. L'argument commande est le nom court d'une défi-nition de commande qui se trouve dans votre Object Configuration Overview. Le temps d'exécutionmaximal de cette commande est déterminé par la variable event_handler_timeout . Vous trouverezplus d'informations sur les gestionnaires d'événements ici

17.3.43 Gestionnaire global des événements relatifs aux services

Formatglobal_service_event_handler=<command>

Exempleglobal_service_event_handler=log-service-event-to-db

Cette option détermine un gestionnaire d'événement appelé à chaque changement d'état d'un ser-vice. Il s'exécute juste avant le gestionnaire d'événement particulier à l'hôte que vous avez précisé demanière optionnelle dans la définition du service. L'argument commande est le nom court d'une déf-inition de commande qui se trouve dans votre Object Configuration Overview. Le temps d'exécutionmaximal de cette commande est déterminé par la variable event_handler_timeout . Vous trouverezplus d'informations sur les gestionnaires d'événements ici.

17.3.44 Temps de sommeil entre les contrôles

Formatsleep_time=<seconds>

Exemplesleep_time=1

C'est le nombre de secondes pendant lequel Nagios va sommeiller avant de vérifier si le prochaincontrôle de service ou d'hôte en file d'attente doit être exécuté. Notez que Nagios ne s'endormiraqu'après avoir liquidé les contrôles de services en retard dans la file.

17.3.45 Méthode de délai inter-contrôles de services

Formatservice_inter_check_delay_method=<n/d/s/x.xx>

Exempleservice_inter_check_delay_method=s

Cette option détermine comment les contrôles de service sont initialement répartis dans la file d'at-tente. L'option de calcul débrouillard [smart] du délai (par défaut), demande à Nagios de calculer unintervalle moyen entre les contrôles, et d'ordonnancer les contrôles initiaux de tous les services à cetintervalle, ce qui permet d'éviter les pics d'utilisation du processeur. Il n'est pas recommandé d'utiliserla méthode sans délai [no delay] à moins que vous ne vouliez tester la parallélisation des contrôles deservice. En effet, cette méthode ordonnance tous les contrôles en même temps. L'exécution de tousles contrôles en parallèle va provoquer d'importants pics d'utilisation du processeur. Vous obtiendrezplus d'informations sur la façon dont cette variable affecte l'ordonnancement des contrôles de serviceici. Ses valeurs possibles sont :

Page 106: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

79 / 379

– n = Ne pas utiliser de délai [no delay] - ordonnancer le lancement de toutes les contrôles maintenant(i.e. en même temps !)

– d = Utiliser un délai irréfléchi [dumb] d'1 seconde entre les contrôles de service– s = Utiliser un calcul de délai débrouillard [smart] pour répartir également les contrôles de service(par défaut)

– x.xx = Utiliser le délai fourni de x.xx secondes

17.3.46 Délai maximum de répartition des contrôles initiaux de services

Formatmax_service_check_spread=<minutes>

Exemplemax_service_check_spread=30

Cette option détermine le temps maximum (en minutes) entre le démarrage de Nagios et la vérifi-cation de tous les services qui sont ordonnancés régulièrement. Cette option va automatiquementajuster le délai inter-contrôles de services (si nécessaire) pour s'assurer que les contrôles initiauxdes services vont s'effectuer dans le temps imparti. En général, cette option n'a pas d'effet si l'optionSection 17.3.30 est activée. La valeur par défaut est de 30 (minutes).

17.3.47 Délai maximum de répartition des contrôles initiaux de services

Formatservice_interleave_factor=<s|x>

Exempleservice_interleave_factor=s

Cette variable détermine comment les contrôles de service sont entrelacés. L'entrelacement permetune distribution plus égale des contrôles de service, une charge réduite sur les hôtes distants, etune détection globalement plus rapide des problèmes liés aux hôtes. Avec l'introduction de la paral-lélisation des contrôles de service, les hôtes distants peuvent se retrouver bombardés de contrôles sil'entrelacement n'est pas activé. Ceci peut entrainer l'échec de contrôles ou des résultats incorrects sil'hôte distant est surchargé de requêtes. Mettre une valeur de 1 est équivalent à ne pas entrelacer lescontrôles de service (c'est le mode de fonctionnement des versions de Nagios antérieures à la version0.0.5). Mettez une valeur de s (débrouillard)[smart]) pour que le calcul du facteur d'entrelacementsoit automatique, à moins que vous ayez une bonne raison de la changer. Le meilleur moyen de com-prendre le fonctionnement du facteur d'entrelacement est d'observer le CGI d'état (vue détaillée) aumoment où Nagios vient de démarrer. Vous verrez comment les contrôles sont faits au fur et à mesureque les résultats apparaissent. Vous trouverez plus d'informations sur l'entrelacement ici.

– x = Un nombre supérieur ou égal à 1 détermine le facteur d'entrelacement à utiliser. Une valeur de1 revient à ne pas entrelacer les contrôles de service.

– s = Utiliser un calcul débrouillard du facteur d'entrelacement (par défaut)

17.3.48 Nombre maximal de contrôles de service simultanés

Formatmax_concurrent_checks=<max_checks>

Exemplemax_concurrent_checks=20

Page 107: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

80 / 379

Cette option détermine le nombre maximal de contrôles de service pouvant tourner en parallèle àun instant donné. Une valeur de 1 empêche la parallélisation. Une valeur de 0 (par défaut) n'imposeaucune restriction sur le nombre de contrôles simultanés. Vous ajusterez cette valeur en fonctiondes capacités de la machine sur laquelle tourne Nagios, car elle impacte directement la charge dusystème (processeur, mémoire, etc.). Vous trouverez plus d'informations sur le nombre de contrôlesde services que vous devriez autoriser ici.

17.3.49 Fréquence de consolidation des résultats de contrôle

Formatcheck_result_reaper_frequency=<fréquence_en_secondes>

Exemplecheck_result_reaper_frequency=5

Cette option vous permet de contrôler la fréquence en secondes des événements de consolidation. Lesévénements de consolidation traitent les résultats des contrôles d'hôtes et de services dont l'exécutionest terminée. Ces événements constituent le cœur de la logique de supervision de Nagios.

17.3.50 Temps maximum de consolidation des résultats de contrôle

Formatmax_check_result_reaper_time=<secondes>

Exemplemax_check_result_reaper_time=30

Cette option vous permet de contrôler le temps maximum en secondes que doit prendre une consol-idation des résultats de contrôles d'hôte et de service. Les événements de consolidation traitent lesrésultats de contrôle d'hôtes et de services qui sont terminés. Si il y a une grande quantité de résul-tats à traiter, les événements de collecte peuvent mettre beaucoup de temps à se terminer, ce quidécale d'autant l'exécution de nouveaux contrôles d'hôtes et de services. Cette variable vous permetde limiter le temps que prend un événement de consolidation avant de rendre la main à Nagios pourd'autres traitements de la logique de supervision.

17.3.51 Répertoire de stockage des résultats de contrôle

Formatcheck_result_path=<path>

Exemplecheck_result_path=/var/spool/nagios/checkresults

Cette option détermine quel répertoire Nagios utilisera pour stocker temporairement les résultatsde contrôle. Ce répertoire ne doit pas stocker d'autres fichiers, car Nagios efface le contenu de cerépertoire de manière récurrente (voir l'option Section 17.3.52 pour plus d'informations).

NoteAssurez vous qu'une seule instance de Nagios n'est qu'accès à ce répertoire. Si plusieurs instancesattaquent cemême répertoire, vous allez rencontrer des problèmes car il est possible que lamauvaiseinstance de Nagios prélève des résultats ne la concernant pas !

Page 108: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

81 / 379

17.3.52 L'age maximum du fichier de résultat de contrôle

Formatmax_check_result_file_age=<seconds>

Exemplemax_check_result_file_age=3600

Cette option détermine le temps maximum en seconde que Nagios peut considérer trouver des infor-mations de résultats de contrôles dans le répertoire de stockages des résultats .Les résultats dépas-sant ce temps limite, ils seront effacés par Nagios et ne pourront plus être exploités. En utilisant lavaleur zéro (0) pour cette option, Nagios exploitera chaque fichiers de contrôle.

17.3.53 Méthode de délai inter-contrôles d'hôtes

Formathost_inter_check_delay_method=<n/d/s/x.xx>

Exemplehost_inter_check_delay_method=s

Cette option détermine comment les contrôles d'hôtes (pour les hôtes qui sont régulièrement con-trôlés) sont initialement répartis dans la file d'attente. L'option de calcul débrouillard [smart] du délai(par défaut) demande à Nagios de calculer un intervalle moyen entre les contrôles et d'ordonnancerles contrôles initiaux de tous les services à cet intervalle, ce qui permet d'éviter les pics d'utilisation duprocesseur. Il n'est pas recommandé d'utiliser la méthode sans délai [no delay]. En effet, cette méth-ode ordonnance tous les contrôles en même temps. Vous obtiendrez plus d'informations sur la façondont cette variable affecte l'ordonnancement des contrôles d'hôte ici. Ses valeurs possibles sont :

– n = Ne pas utiliser de délai [no delay] - ordonnancer le lancement de tous les contrôles maintenant(i.e. en même temps !)

– d = Utiliser un délai irréfléchi [dumb] d'1 seconde entre les contrôles d'hôte– s = Utiliser un calcul de délai débrouillard [smart] pour répartir également les contrôles d'hôte (pardéfaut)

– x.xx = Utiliser le délai fourni de x.xx secondes

17.3.54 Délai maximum de répartition des contrôles initiaux d'hôtes

Formatmax_host_check_spread=<minutes>

Exemplemax_host_check_spread=30

Cette option détermine le temps maximum (en minutes) entre le démarrage de Nagios et la vérifica-tion de tous les hôtes qui sont contrôlés régulièrement. Cette option va automatiquement ajuster ledélai inter-contrôles d'hôtes (si nécessaire) pour s'assurer que les contrôles initiaux des services vonts'effectuer dans le temps imparti. En général, cette option n'a pas d'effet si l'option d'utilisation desétats mémorisés de l'ordonnanceur est activée. La valeur par défaut est de 30 (minutes).

17.3.55 Valeur de l'intervalle de temps

Formatinterval_length=<seconds>

Exempleinterval_length=60

Page 109: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

82 / 379

C'est le nombre de secondes que contient une unité de temps utilisée dans la file d'ordonnancement,les re-notifications, etc. Les unités de temps sont utilisées dans le fichier de configuration des objetspour déterminer la fréquence d'exécution des contrôles de service, la fréquence de re-notificationd'un contact, etc.

ImportantLa valeur par défaut de cette variable est 60, ce qui veut dire qu'une unité de temps de 1 dansle fichier de configuration des hôtes vaut 60 secondes (1 minute). Je n'ai pas vraiment testéd'autres valeurs pour cette variable, donc vous la modifierez à vos risques et périls !

17.3.56 Option de réordonnancement automatique

Formatauto_reschedule_checks=<0/1>

Exempleauto_reschedule_checks=1

Cette option détermine si Nagios va essayer de ré-ordonnancer automatiquement les services de véri-fication actifs des hôtes et services pour les lisser dans le temps. Ceci peut aider à distribuer la chargesur le serveur de surveillance car il va essayer de conserver un delta de temps cohérent entre deuxvérifications. La contrainte étant que l'ordonnancement sera plus strict.

AVERTISSEMENTATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VER-SIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEUDE LES AMELIORER, SI ELLE EST MAL UTILISEE.

17.3.57 Intervalle de réordonnancement automatique

Formatauto_rescheduling_interval=<seconds>

Exempleauto_rescheduling_interval=30

Cette option détermine la fréquence (en secondes) de réordonnancement automatique. Cette optionn'a d'effet que si l'option de réordonnancement automatique est active. La valeur par défaut est de 30secondes.

AVERTISSEMENTATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VER-SIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEUDE LES AMELIORER, SI ELLE EST MAL UTILISEE.

17.3.58 Fenêtre de réordonnancement automatique

Formatauto_rescheduling_window=<seconds>

Page 110: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

83 / 379

Exempleauto_rescheduling_window=180

Cette option détermine la fenêtre de temps (en seconde) sur laquelle Nagios va porter le réordon-nancement automatique. Seules les vérifications d'hôtes et de services qui doivent avoir lieu durantles prochaines N secondes seront affectées par le réordonnancement. Cette option n'a d'effet que sil'Section 17.3.56 est active. La valeur par défaut est de 180 secondes (3 minutes).

AVERTISSEMENTATTENTION : CETTE OPTION EST EXPERIMENTALE ET PEUT ETRE SUPPRIMEE DANS LES VER-SIONS ULTERIEURES. ACTIVER CETTE OPTION PEUT DEGRADER LES PERFORMANCES AU LIEUDE LES AMELIORER, SI ELLE EST MAL UTILISEE.

17.3.59 Option de contrôle agressif des hôtes

Formatuse_aggressive_host_checking=<0/1>

Exempleuse_aggressive_host_checking=0

[NdT] : cette option comporte deux g à aggressive depuis la version 2. Elle n'en comprenait qu'unauparavant.Nagios essaye d'être plus malin dans la façon et le moment de contrôler l'état des hôtes.En général, désactiver cette option permet à Nagios d'être un peu plus malin et de faire les contrôlesplus vite. Activer cette option revient à ralentir le contrôle des hôtes, mais peut améliorer la sûreté defonctionnement. A moins que Nagios ne parvienne pas à détecter le rétablissement d'un de vos hôtes,je vous suggère de ne pas activer cette option.

– 0 = Contrôle aggressif d'hôte désactivé (défaut)– 1 = Contrôle aggressif d'hôte activé

17.3.60 Option de traduction des contrôles d'hôte passif

Formattranslate_passive_host_checks=<0/1>

Exempletranslate_passive_host_checks=1

Cette option détermine si Nagios peut traduire ou non l'état DOWN/UNREACHABLE d'un contrôlepassif en l'état correct en considérant un point de vue d'une instance Nagios locale. Cette option peuts'avérer vraiment utile lors d'installation de type distribuée. Plus d'informations sur la traductiond'état passif peuvent être trouvés ici.

– 0 = Désactiver la traduction (défaut)– 1 = Activer la traduction

17.3.61 Option de status (FIXME?) des contrôle passifs d'hôte

Formatpassive_host_checks_are_soft=<0/1>

Exemplepassive_host_checks_are_soft=1

Page 111: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

84 / 379

Cette option détermine si en effet Nagios traitera les contrôles d'hôte passif en états HARD ou SOFT.Par défaut, les résultats de contrôles passif sont considérés en état HARD. Vous pouvez changer cecien activant cette option.

– 0 = Les controles d'hôte passifs sont HARD– 1 = Les contrôles d'hôte passifs sont SOFT

17.3.62 Option de contrôles prédictifs de dépendances d'hôte

Formatenable_predictive_host_dependency_checks=<0/1>

Exempleenable_predictive_host_dependency_checks=1

Cette option détermine si Nagios exécutera ou non des contrôles prédictifs sur les hôtes dépendant(comme définit dans dépendance d'hôtes) d'un hôte particulier quand celui ci change d'état. Les con-trôles prédictifs permettent de s'assurer que la logique de dépendance est aussi précise que possible.Plus d'informations sur le fonctionnement des contrôles prédictifs peuvent être trouvées ici– 0 = Désactiver les contrôles prédictifs– 1 = Activer les contrôles prédictifs (par défaut)

17.3.63 Option de contrôle prédictif de dépendance de service

Formatenable_predictive_service_dependency_checks=<0/1>

Exempleenable_predictive_service_dependency_checks=1

Cette option détermine si Nagios exécutera ou non des contrôles prédictifs sur les services dépendants(comme défini dans dépendance de service) d'un service particulier quand celui ci change d'état.Les contrôles prédictifs permettent de s'assurer que la logique de dépendance est aussi précise quepossible. Plus d'informations sur le fonctionnement des contrôles prédictifs peuvent être trouvées iciFIXME– 0 = Désactiver les contrôles prédictifs– 1 = Activer les contrôles prédictifs (par défaut)

17.3.64 FIXME Cached Host Check Horizon

Formatcached_host_check_horizon=<seconds>

Exemplecached_host_check_horizon=15

Cette option détermine le temps maximum (en secondes) pour que l'état d'un précédent contrôled'hôte soit considéré comme courant. Le cache d'état d'hôtes (du point de vue des contrôles d'hôtesqui ont été effectués plus récemment que le temps spécifié par cette valeur) peut améliorer consid-érablement les performances pour les contrôles d'hôtes. Une valeur trop élevée pour cette option peutse traduire par des états d'hôtes (temporairement) éronnés, alors qu'une valeur trop basse se traduirapar un écroulement des performances pour les contrôles d'hôtes. Utiliser la valeur 0 pour désactiverle cache de contrôle des hôtes. Plus d'informations concernant le cache des contrôles peuvent êtretrouvées ici.

Page 112: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

85 / 379

17.3.65 FIXME Cached Service Check Horizon

Formatcached_service_check_horizon=<seconds>

Exemplecached_service_check_horizon=15

Cette option permet de définir le temps maximum (en secondes) pour que l'état d'un précédent con-trôle de service soit considéré comme courant. Le cache d'état de service (Pour les contrôles de ser-vices qui sont effectués en avance par rapport à l'intervalle spécifié par cette valeur) peut améliorerla performance des contrôles quand un nombre important de dépendances de services est utilisé.Une valeur trop haute pour cette option se soldera par une manque de précision dans la logique dedépendance des services. Positionnez cette valeur à 0 si vous voulez désactiver le cache de contrôlede service. Plus d'informations sur le cache de contrôles peuvent être trouvées ici.

17.3.66 Option d'optimisations pour les gros périmètres

Formatuse_large_installation_tweaks=<0/1>

Exempleuse_large_installation_tweaks=0

Cette option détermine si Nagios utilisera différents raccourcis pour améliorer les performances. Cesraccourcis font perdre quelques fonctionnalités, mais ils apportent de gros gains sur des périmètresimportants. Plus d'informations sur ces optimisations quand vous activez cette option peuvent êtretrouvées ici.

– 0 = Ne pas utiliser les optimisations (par défaut)– 1 = Utiliser les optimisations

17.3.67 Option de gestion de la mémoire des processus enfants

Formatfree_child_process_memory=<0/1>

Exemplefree_child_process_memory=0

Cette option permet de déterminer si Nagios libérera la mémoire utilisée par les processus enfantquand il seront arrivés en fin de traitement. Par défaut, Nagios libère la mémoire. Ce

– 0 = Ne pas libérer la mémoire– 1 = Libérer la mémoire

17.3.68 Forker les processus enfant en double

Formatchild_processes_fork_twice=<0/1>

Exemplechild_processes_fork_twice=0

Cette option détermine si nagios doit forker ou non en double les processus enfants quand il exé-cute des contrôle d'hôte et de service. Par défaut, Nagios fork en double. Cependant, si l'optionuse_large_installation_tweaks est activée, il ne fera qu'un fork. En déclarant cette option dans votrefichier de configuration, vous avez la possibilité de changer ce comportement.

– 0 = Fork() une fois– 1 = Fork() en double

Page 113: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

86 / 379

17.3.69 Activation des macros d'environnement

Formatenable_environment_macros=<0/1>

Exempleenable_environment_macros=0

Cette option détermine si oui ou non le démon Nagios peut considérer toutes les macros standardcomme des variables d'environnements pour vos contrôles, notifications, déclencheur d'événement,etc… Dans de grands périmètres de production, ceci peut être problématique car une utilisation mé-moire et CPU supplémentaire 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 (défaut)

17.3.70 Option de détection de l'oscillation d'un service ou d'un hôte[flap]

Formatenable_flap_detection=<0/1>

Exempleenable_flap_detection=0

Cette option détermine si Nagios essaiera de détecter les hôtes et les services qui oscillent. L'oscilla-tion apparaît lorsqu'un hôte ou un service change d'état trop fréquemment, causant l'émission d'unemontagne de notifications. Quand Nagios détecte qu'un hôte ou un service oscille, il supprime tem-porairement les notifications pour cet hôte/service jusqu'à ce qu'il arrête d'osciller.

AttentionLa détection de l'oscillation est encore au stade expérimental, utilisez donc cette fonctionnalitéavec prudence ! Pour plus d'informations sur la détection et la gestion des oscillations, lisezceci.

NoteNote : si vous avez activé la mémorisation d'état ,Nagios ignorera cette option à son (re)démarrageet utilisera la dernière valeur connue (telle qu'elle est enregistrée dans le fichier de mémorisa-tion des états ), à moins que vous ne désactiviez l'option use_retained_program_state. Si vousvoulez changer cette option alors que la mémorisation d'état est activée (ainsi que l'optionuse_retained_program_state), vous devrez passer par la commande externe appropriée ou l'inter-face web.

– 0 = Ne pas activer la détection d'oscillation (défaut)– 1 = Activer la détection d'oscillation

17.3.71 Seuil inférieur d'oscillation d'un service

Formatlow_service_flap_threshold=<percent>

Exemplelow_service_flap_threshold=25.0

Cette option permet de donner le seuil inférieur pour la détection de l'oscillation d'un service. Pourplus d'informations sur la détection et la gestion des oscillations (et comment cette variable les af-fecte), lisez ceci.

Page 114: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

87 / 379

17.3.72 Seuil supérieur d'oscillation d'un service

Formathigh_service_flap_threshold=<percent>

Exemplehigh_service_flap_threshold=50.0

Cette option permet de donner le seuil supérieur pour la détection de l'oscillation d'un service. Pourplus d'informations sur la détection et la gestion des oscillations (et comment cette variable les af-fecte), lisez ceci.

17.3.73 Seuil inférieur d'oscillation d'un hôte

Formatlow_host_flap_threshold=<percent>

Exemplelow_host_flap_threshold=25.0

Cette option permet de donner le seuil inférieur pour la détection de l'oscillation d'un hôte. Pour plusd'informations sur la détection et la gestion des oscillations (et comment cette variable les affecte),lisez ceci.

17.3.74 Seuil supérieur d'oscillation d'un hôte

Formathigh_host_flap_threshold=<percent>

Exemplehigh_host_flap_threshold=50.0

Cette option permet de donner le seuil supérieur pour la détection de l'oscillation d'un hôte. Pour plusd'informations sur la détection et la gestion des oscillations (et comment cette variable les affecte),lisez ceci.

17.3.75 Option de dépendance soft des services

Formatsoft_state_dependencies=<0/1>

Exemplesoft_state_dependencies=0

Cette option détermine si Nagios utilisera les informations d'état soft des services lors du contrôledes dépendances de service. En temps normal, Nagios n'utilise que le dernier état hard du servicelors du contrôle des dépendances. Si vous voulez utiliser le tout dernier état (que ce soit un état detype hard ou soft), activez cette option.

– 0 = Ne pas utiliser les états soft de dépendances (défaut)– 1 = Utiliser les états soft de dépendances

Page 115: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

88 / 379

17.3.76 Dépassement de délai du contrôle de service

Formatservice_check_timeout=<seconds>

Exempleservice_check_timeout=60

C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un contrôle de service.Si le contrôle dépasse cette limite, il est tué et un état CRITICAL est retourné. Une erreur de dépasse-ment de délai est également journalisée.Il existe la confusion la plus totale sur ce que cette option fait vraiment. Elle est là comme dernierrempart, pour tuer les plugins qui se comportent mal, ou ne se sont pas terminés correctement. Il fautla positionner à une valeur haute (quelque chose comme 60s), de manière à ce que tout contrôle ait letemps de se terminer avant cette limite. Si le contrôle du service prend plus de temps pour s'exécuter,Nagios le tuera, pensant que c'est un processus ayant des problèmes d'exécution.

17.3.77 Dépassement de délai du contrôle d'hôte

Formathost_check_timeout=<seconds>

Exemplehost_check_timeout=60

C'est le nombre maximal de secondes pendant lesquelles Nagios laissera tourner un contrôle d'hôte.Si le contrôle dépasse cette limite, il est tué et un état CRITICAL est retourné, et l'hôte sera supposéêtre dans l'état DOWN. Une erreur de dépassement de délai est également journalisée.Il existe également la confusion la plus totale sur ce que cette option fait vraiment. Elle est là commedernier rempart, pour tuer les plugin qui se comportent mal ou ne se sont pas terminés correctement.Il faut la positionner à une valeur haute (quelque chose comme 60s), de manière à ce que tout contrôleait le temps de se terminer avant cette limite. Si le contrôle de l'hôte prend plus de temps pours'exécuter, Nagios le tuera, pensant que c'est un processus ayant des problèmes d'exécution.

17.3.78 Dépassement de délai de contrôle du gestionnaire d'événement

Formatevent_handler_timeout=<seconds>

Exempleevent_handler_timeout=60

C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner un gestionnaire d'événe-ment. Si un gestionnaire d'événement dépasse cette limite il sera tué et une alerte sera journalisée.Il existe là aussi, comme précédemment, la confusion la plus totale sur ce que cette option fait vrai-ment. Elle est là comme dernier rempart, pour tuer les plugins qui se comportent mal ou ne se sontpas terminés correctement. Il faut le positionner à une valeur haute (quelque chose comme 60s), demanière à ce que tout contrôle ait le temps de se terminer avant cette limite. Si le contrôle du ges-tionnaire d'événement prend plus de temps pour s'exécuter, Nagios le tuera, pensant que c'est unprocessus ayant des problèmes d'exécution.

17.3.79 Dépassement de délai de notification

Formatnotification_timeout=<seconds>

Page 116: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

89 / 379

Exemplenotification_timeout=60

C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de no-tification. Si une commande de notification dépasse cette limite elle sera tuée et une alerte sera jour-nalisée.Il existe la confusion la plus totale (NdT : toute ressemblance avec des phrases précédentes seraitpurement 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 terminés correctement. Il faut le position-ner à une valeur haute (quelque chose comme 60s), de manière à ce que tout contrôle ait le temps dese terminer avant cette limite. Si la notification prend plus de temps pour s'exécuter, Nagios la tuera,pensant que c'est un processus ayant des problèmes d'exécution.

17.3.80 Dépassement de délai de la commande de remontée de contrôle deservice

Formatocsp_timeout=<seconds>

Exempleocsp_timeout=5

C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de re-montée de contrôle de service .Si une commande dépasse cette limite, elle sera tuée et une alertesera journalisée.

17.3.81 Dépassement de délai de la commande de remontée de contrôled'hôte

Formatochp_timeout=<seconds>

Exempleochp_timeout=5

C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une ochp_command. Siune commande dépasse cette limite, elle sera tuée et une alerte sera journalisée.

17.3.82 Dépassement de délai de la commande de traitement des donnéesliées aux performances

Formatperfdata_timeout=<seconds>

Exempleperfdata_timeout=5

C'est le nombre maximal de secondes pendant lequel Nagios laissera tourner une commande de traite-ment des données liées aux performance d'un hôte ou de traitement des données liées aux perfor-mances d'un service .Si une commande dépasse cette limite, elle sera tuée et une alerte sera journal-isée.

Page 117: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

90 / 379

17.3.83 Option de remontée de contrôle de service

Formatobsess_over_services=<0/1>

Exempleobsess_over_services=1

Cette variable détermine si Nagios remontera les résultats de contrôles de service et lancera la com-mande de remontée de contrôle de service que vous avez définie. Je sais que c'est un drôle de nom[en anglais obsessive compulsive service processor], mais c'est tout ce qui m'est venu à l'esprit. Cetteoption est utile dans le cadre de la supervision répartie .Si vous ne faites pas de supervision répartie,n'activez pas cette option.

– 0 = Ne pas obsess sur les services (défaut)– 1 = Obsess sur les services

17.3.84 Commande de remontée de contrôle de service

Formatocsp_command=<command>

Exempleocsp_command=obsessive_service_handler

Cette option définit la commande à lancer après chaque contrôle de service, ce qui peut être utile dansune supervision répartie. Elle est exécutée après les éventuelles commandes de gestion d'événementou de notification. L'argument commande est le nom court d'une définition de commande que vousavez définie dans le fichier de configuration des hôtes. Cette option sert dans le cadre de la supervi-sion répartie. Le temps d'exécution maximal de cette commande est déterminé par la variable Sec-tion 17.3.80 .Vous trouverez plus d'informations sur la supervision répartie ici. Cette commande estseulement exécutée que si la variable Section 17.3.83 est entièrement activée et que si le paramètreobsess_over_service dans la définition du service l'est aussi.

17.3.85 Option de remontée de contrôle d'hôte

Formatobsess_over_hosts=<0/1>

Exempleobsess_over_hosts=1

Cette variable détermine si Nagios remontera les résultats de contrôles d'hôtes et lancera la com-mande de remontée de contrôle d'hôte que vous avez définie. Je sais que c'est un drôle de nom [enanglais obsessive compulsive host processor], mais c'est tout ce qui m'est venu à l'esprit. Cette op-tion est utile dans le cadre de la supervision répartie. Si vous ne faites pas de supervision répartie,n'activez pas cette option.

– 0 = Ne pas obsess sur les hôtes (défaut)– 1 = Obsess sur les hôtes

17.3.86 Commande de remontée de contrôle d'hôte

Formatochp_command=<command>

Exempleochp_command=obsessive_host_handler

Page 118: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

91 / 379

Cette option définit la commande à lancer après chaque contrôle d'hôte, ce qui peut être utile dansune supervision répartie. Elle est exécutée après les éventuelles commandes de gestion d'événementou de notification. L'argument commande est le nom court d'une définition de commande que vousavez définie dans le fichier de configuration des hôtes. Cette option sert dans le cadre de la supervi-sion répartie. Le temps d'exécution maximal de cette commande est déterminé par la variable Sec-tion 17.3.81 .Vous trouverez plus d'informations sur la supervision répartie ici. Cette commande n'estexécutée que si l'option de Section 17.3.85 est activée et que si le paramètre obsess_over_host dansla définition de l'hôte l'est aussi.

17.3.87 Option de traitement des données liées aux performances

Formatprocess_performance_data=<0/1>

Exempleprocess_performance_data=1

Cette valeur détermine si Nagios traitera les données liées aux performances des contrôles d'hôtes etde services.

– 0 = Ne pas traiter les données de performance (défaut)– 1 = Traiter les données de performance

17.3.88 Commande de performance liée aux hôtes

Formathost_perfdata_command=<command>

Exemplehost_perfdata_command=process-host-perfdata

Cette option vous permet de spécifier une commande qui sera lancée après chaque vérification d'hôtepour traiter les données de performance qui peuvent être retournées après la vérification. L'argumentcommande est le nom court d'une définition de commande que vous avez définie dans le fichier deconfiguration des objets. Cette commande est exécutée si l'option de Section 17.3.87 est activée et sile paramètre process_perf_data ([NdT] : traitement des données de performance) dans la définitionde l'hôte l'est aussi.

17.3.89 Commande de performance liée aux services

Formatservice_perfdata_command=<command>

Exempleservice_perfdata_command=process-service-perfdata

Cette option vous permet de spécifier une commande qui sera lancée après chaque vérification deservice pour traiter les données de performance qui peuvent être retournées après la vérification.L'argument commande est le nom court d'une définition de commande que vous avez définie dans lefichier de configuration des objets. Cette commande est exécutée si l'option de traitement des donnéesde performance est activée et si le paramètre process_perf_data ([NdT] : traitement des données deperformance) est activé dans la définition du service. Cette commande est seulement exécuté que sila variable Section 17.3.83 est entièrement activée et que si le paramètre process_perf_data dansla définition du service l'est aussi.

Page 119: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

92 / 379

17.3.90 Fichier de performance des hôtes

Formathost_perfdata_file=<file_name>

Exemplehost_perfdata_file=/usr/local/nagios/var/host-perfdata.dat

Cette option vous permet de spécifier un fichier dans lequel les données de performance vont êtreécrites après chaque vérification d'hôte. Les données seront écrites dans ce fichier comme spécifiédans le Section 17.3.92 .Les données ne seront écrites que si l'option de Section 17.3.87 est activée etsi le paramètre process_perf_data ([NdT] : traitement des données de performance) est activé dansla définition de l'hôte. process_perf_data que si le paramètre dans la définition de l'hôte l'est aussi.

17.3.91 Fichier de performance des services

Formatservice_perfdata_file=<file_name>

Exempleservice_perfdata_file=/usr/local/nagios/var/service-perfdata.dat

Cette option vous permet de spécifier un fichier dans lequel les données de performance vont êtreécrites après chaque vérification de service. Les données seront écrites dans ce fichier comme spécifiédans le Section 17.3.93 .Les données ne seront écrites que si l'option de Section 17.3.87 est activée etsi le paramètre process_perf_data ([NdT] : traitement des données de performance) est activé dansla définition du service. Cette commande est seulement exécuté que si la variable Section 17.3.83est entièrement activée et que si le paramètre process_perf_data dans la définition du service l'estaussi.

17.3.92 Patron du fichier de performance des hôtes

Formathost_perfdata_file_template=<template>

Exemplehost_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONT-IME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$

Cette option détermine ce qui va être écrit (et comment) dans le fichier de performance des hôtes .Lepatron peut contenir des macros, des caractères spéciaux (\t pour une tabulation, \r un retour charriot,\n pour un retour à la ligne). Un retour à la ligne est ajouté après chaque écriture des données deperformance.

17.3.93 Patron du fichier de performance des services

Formatservice_perfdata_file_template=<template>

Exempleservice_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICED-ESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDAT-A$

Cette option détermine ce qui va être écrit (et comment) dans le fichier de performance des services.Le patron peut contenir des macros, des caractères spéciaux (\t pour une tabulation, \r un retourcharriot, \n pour un retour à la ligne). Un retour à la ligne est ajouté après chaque écriture desdonnées de performance.

Page 120: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

93 / 379

17.3.94 Mode d'ouverture du fichier de performance des hôtes

Formathost_perfdata_file_mode=<mode>

Exemplehost_perfdata_file_mode=a

Cette option détermine si le fichier de performance des hôtes est ouvert en mode écrasement ou ajout.A moins que le fichier ne soit un tube nommé [named pipe], vous voudrez certainement utiliser l'optionpar défaut ajout.

– a = Ouvrir le fichier en mode ajout [append] (par défaut)– w = Ouvrir le fichier en mode écrasement [write]– p = Ouvrir le fichier en mode lecture / écriture en mode non-bloquant.

17.3.95 Mode d'ouverture du fichier de performance des services

Formatservice_perfdata_file_mode=<mode>

Exempleservice_perfdata_file_mode=a

Cette option détermine si le fichier de performance des services est ouvert en mode écrasement ouajout. A moins que le fichier ne soit un tube nommé [named pipe], vous voudrez certainement utiliserl'option par défaut ajout.

– a = Ouvrir le fichier en mode ajout [append] (par défaut)– w = Ouvrir le fichier en mode écrasement [write]– p = Ouvrir le fichier en mode lecture / écriture en mode non-bloquant.

17.3.96 Intervalle de traitement du fichier de performance des hôtes

Formathost_perfdata_file_processing_interval=<seconds>

Exemplehost_perfdata_file_processing_interval=0

Cette option vous permet de spécifier l'intervalle (en secondes) entre deux traitements du fichier deperformance des hôtes par la commande de performance liée aux hôtes .Une valeur de 0 signifie quele traitement n'aura pas lieu de manière régulière.

17.3.97 Intervalle de traitement du fichier de performance des services

Formatservice_perfdata_file_processing_interval=<seconds>

Exempleservice_perfdata_file_processing_interval=0

Cette option vous permet de spécifier l'intervalle (en secondes) entre deux traitements du fichier deperformance des services par la commande de performance liée aux services .Une valeur de 0 signifieque le traitement n'aura pas lieu de manière régulière.

Page 121: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

94 / 379

17.3.98 Commande de traitement du fichier de performance des hôtes

Formathost_perfdata_file_processing_command=<command>

Exemplehost_perfdata_file_processing_command=process-host-perfdata-file

Cette option vous permet de définir la commande qui sera exécutée pour le traîtement du fichier deperformance des hôtes .L'argument commande est le nom court d'une définition de commande quevous avez définie dans le fichier de configuration des objets. L'intervalle entre deux traitements estindiqué par l'intervalle de traitement du fichier de performance des hôtes .

17.3.99 Commande de traitement du fichier de performance des services

Formatservice_perfdata_file_processing_command=<command>

Exempleservice_perfdata_file_processing_command=process-service-perfdata-file

Cette option vous permet de définir la commande qui sera exécutée pour le traîtement du fichier deperformance des services .L'argument commande est le nom court d'une définition de commande quevous avez définie dans le fichier de configuration des objets. L'intervalle entre deux traitements estindiqué par Section 17.3.97 .

17.3.100 Option de vérification des contrôles de service orphelins

Formatcheck_for_orphaned_services=<0/1>

Exemplecheck_for_orphaned_services=1

Cette option vous permet d'activer ou désactiver la vérification des contrôles de service orphelins.Les contrôles de service orphelins sont des contrôles ayant été exécutés et supprimés de la file desévénements, mais dont les résultats n'ont pas été remontés depuis longtemps.Comme aucun résultat n'a été remontée pour ce service, il n'est pas réordonnancé dans la file d'événe-ments. Cela peut causer l'arrêt des contrôles du service. Normalement, c'est un phénomène très rare- il peut se produire si un utilisateur ou un processus extérieur a tué le processus utilisé pour exécuterle contrôle de service.Si cette option est activée et que Nagios s'aperçoit qu'un résultat de contrôle de service particulierne revient pas, il journalisera un message d'erreur, et réordonnancera le contrôle de service. Si vousconstatez que certains contrôles de service semblent n'être jamais réordonnancés, activez cette optionet cherchez dans les journaux, des messages concernant des services orphelins.

– 0 = Ne pas contrôler les contrôles de services orphelins– 1 = Ccontrôler les contrôles de services orphelins (défaut)

17.3.101 Option de vérification des contrôles d'hôtes orphelins

Formatcheck_for_orphaned_hosts=<0/1>

Exemplecheck_for_orphaned_hosts=1

Page 122: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

95 / 379

Cette option vous permet d'activer ou désactiver la vérification des contrôles d'hôte orphelins. Lescontrôles d'hôte orphelins sont des contrôles ayant été exécutés et supprimés de la file des événe-ments, mais dont les résultats n'ont pas été remontés depuis longtemps.Comme aucun résultat n'a été remontée pour cet hôte, il n'est pas réordonnancé dans la file d'événe-ments. Cela peut causer l'arrêt des contrôles de l'hôte. Normalement, c'est un phénomène très rare -il peut se produire si un utilisateur ou un processus extérieur a tué le processus utilisé pour exécuterle contrôle de l'hôte.Si cette option est activée et que Nagios s'aperçoit qu'un résultat de contrôle de l'hôte particulierne revient pas, il journalisera un message d'erreur, et réordonnancera le contrôle de l'hôte. Si vousconstatez que certains contrôles de l'hôte semblent n'être jamais réordonnancés, activez cette optionet cherchez dans les journaux, des messages concernant des hôtes orphelins.

– 0 = Ne pas contrôler les contrôles d'hôtes orphelins– 1 = Contrôler les contrôles d'hôtes orphelins (défaut)

17.3.102 Option de contrôle de la validité des données d'un service

Formatcheck_service_freshness=<0/1>

Exemplecheck_service_freshness=0

Cette option détermine si Nagios va contrôler ou non périodiquement la validité des données d'unservice. L'activation de cette option aide à contrôler que les contrôles de service passifs sont reçusen temps et en heure. On peut trouver plus d'informations sur cette option ici.

– 0 = Ne pas contrôler la validité des services– 1 = Contrôler la validité des services (défaut)

17.3.103 Intervalle de contrôle de la validité des données d'un service

Formatservice_freshness_check_interval=<seconds>

Exempleservice_freshness_check_interval=60

Cette option détermine l'intervalle de temps (en secondes) entre deux contrôles de validité des don-nées d'un service. Si vous avez désactivé ce service, avec l'option de contrôle de validité des donnéesd'un service ,cette option n'a pas d'effet. Vous pouvez trouver plus d'informations sur ce service ici.

17.3.104 Option du contrôle de la validité des données d'un hôte

Formatcheck_host_freshness=<0/1>

Exemplecheck_host_freshness=0

Cette option détermine si Nagios va contrôler ou non périodiquement la validité des données d'unhôte. L'activation de cette option aide à contrôler que les contrôles passifs des hôtes sont reçus entemps et en heure. On peut trouver plus d'informations sur cette option ici.

– 0 = Ne pas contrôler la validité des hôtes– 1 = Contrôler la validité des hôtes (défaut)

Page 123: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

96 / 379

17.3.105 Intervalle de contrôle de la validité des données d'un hôte

Formathost_freshness_check_interval=<seconds>

Exemplehost_freshness_check_interval=60

Cette option détermine l'intervalle de temps (en secondes) entre deux contrôles de validité des don-nées d'un hôte. Si vous avez désactivé ce service, avec l'option de contrôle de validité des donnéesd'un hôte ,cette option n'a pas d'effet. Vous pouvez trouver plus d'informations sur ce service ici.

17.3.106 Option du seuil de fraîcheur supplémentaire de la latence

Formatadditional_freshness_latency=<#>

Exempleadditional_freshness_latency=15

Cette option détermine le nombres de secondes que Nagios ajoutera pour qu'un hôte ou un service serafraichisse (Ce n'est pas déterminé nativement par l'utilisateur). Vous trouverez plus d'informationsici.

17.3.107 Activation de l'interpréteur Perl incorporé

Formatenable_embedded_perl=<0/1>

Exempleenable_embedded_perl=1

Cette option détermine ou non si l'interpréteur Perl est activé dans le cœur du programme. Nagiosdoit être compilé en précisant cette option pour que ce paramétrage soit opérationnel. Vous trouverezplus d'informations à ce sujet ici.

17.3.108 Interpréteur Perl incorporé FIXME implicite

Formatuse_embedded_perl_implicitly=<0/1>

Exempleuse_embedded_perl_implicitly=1

Cette option détermine si oui ou non l'interpréteur Perl sera utilisé lors d'utilisation de plugins/scriptsperl. Nagios doit être compilé en précisant cette option pour que ce paramétrage soit opérationnel.Vous trouverez plus d'informations à ce sujet ici.

17.3.109 Format de la date

Formatdate_format=<option>

Exempledate_format=us

Cette option spécifie le format de date que Nagios utilisera dans l'interface web. Les options possiblessont :

Page 124: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

97 / 379

Option Format de sortie Exempleus MM/DD/YYYY HH :MM :SS 06/30/2002 03 :15 :00euro DD/MM/YYYY HH :MM :SS 30/06/2002 03 :15 :00iso8601 YYYY-MM-DD HH :MM :SS 2002-06-30 03 :15 :00strict-iso8601 YYYY-MM-DDTHH:MM:SS 2002-06-30T03:15:00

17.3.110 Option de plage horaire

Formatuse_timezone=<tz>

Exempleuse_timezone=US/Mountain

Cette option vous autorise à définir la plage horaire par défaut à l'instance Nagios. Ceci est trèsutile si vous possédez plusieurs instances Nagios tournant sur le même serveur, mais avec différenteslocalités associées. Si vous ne spécifiez rien, Nagios prend celle du système par défaut.

NoteSi vous utilisez cette option de plage horaire personnalisée, vous allez devoir modifier des paramètresdans les fichiers de configurations d'Apache concernant les CGIs comme dans l'exemple suivant :

<Directory "/usr/local/nagios/sbin/">SetEnv TZ "US/Mountain"...

</Directory>

17.3.111 Caractères illégaux dans les noms d'objets

Formatillegal_object_name_chars=<chars...>

Exempleillegal_object_name_chars= ~!$%ˆ&*"|'<>?,()=

Cette option vous permet de spécifier quels sont les caractères illégaux dans les noms d'objets, telsqu'hôtes, services et autres. Nagios vous autorisera la plupart des caractères dans les définitionsd'objets, mais je recommande de ne pas utiliser les caractères ci-dessus. Le faire vous expose à desproblèmes dans l'interface web, les notifications de commandes, etc.

17.3.112 Caractères illégaux dans la sortie des macros

Formatillegal_macro_output_chars=<chars...>

Exempleillegal_macro_output_chars= ~$ˆ&"|'<>

Cette option vous permet de spécifier les caractères illégaux qui seront filtrés dans les macros, avantqu'elles ne soient utilisées dans les notifications, les gestionnaires d'événements et autres comman-des. Ceci n'affecte pas les macros utilisées dans les contrôles des services ou des hôtes. Vous pouvezchoisir de ne pas filtrer les caractères donnés en exemple ci-dessus, mais je vous le le déconseille.Quelques uns d'entre eux sont interprétés par le shell ( par exemple, le ) et peuvent poser des prob-lèmes de sécurité. Les macros suivantes sont débarrassées des caractères spécifiés dans l'option :

Page 125: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

98 / 379

– $HOSTOUTPUT$– $HOSTPERFDATA$– $HOSTACKAUTHOR$– $HOSTACKCOMMENT$– $SERVICEOUTPUT$– $SERVICEPERFDATA$– $SERVICEACKAUTHOR$– $SERVICEACKCOMMENT$

17.3.113 Option de concordance par expressions rationnelles

Formatuse_regexp_matching=<0/1>

Exempleuse_regexp_matching=0

Cette option détermine si les paramètres dans vos définitions d'objet seront traités comme des ex-pressions rationnelles. Vous pouvez trouver plus d'informations sur ce service ici.

– 0 = Ne pas utiliser les concordances par expressions rationnelles (par défaut)– 1 = Utiliser les concordances par expressions rationnelles

17.3.114 Option de concordance systématique par expressions rationnelles

Formatuse_true_regexp_matching=<0/1>

Exempleuse_true_regexp_matching=0

Si vous avez activé la concordance par expression rationnelle, cette option va déterminer quand lesparamètres vont être traités comme des expressions rationnelles : * Si cette option est désactivée(par défaut), les paramètres seront traités comme des expression rationnelles uniquement si ellescontiennent un *, ?, +, ou un \ … * Si cette option est activée, toutes les paramètres seront traitéscomme des expressions rationnelles. Faîtes très attention lorsque vous activez cette option ! Pourplus 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

Formatadmin_email=<email_address>

[email protected]

C'est l'adresse mail de l'administrateur local de la machine (i.e. celle sur laquelle Nagios tourne).Cette valeur peut être utilisée dans les commandes de notification grâce à la macro $ADMINEMAIL$.

Page 126: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

99 / 379

17.3.116 Pager de l'administrateur

Formatadmin_pager=<pager_number_or_pager_email_gateway>

[email protected]

C'est le numéro du pager (ou la passerelle pager-email) de l'administrateur de la machine locale(i.e. celle sur laquelle Nagios tourne). Le numéro ou l'adresse de pager peut être utilisé dans lescommandes de notification grâce à la macro $ADMINPAGER$ .

17.3.117 Options du courtier d'événement

Formatevent_broker_options=<#>

Exempleevent_broker_options=-1

Cette option contrôle que les données (si plusieurs) seront envoyées au courtier d'événement et, en-suite, chargées dans le module du courtier d'événement. Il s'agit d'une option avancée. Dans le doute,ne transportez rien (si vous n'utilisez aucun modules) ou choisissez de tout transporter (si vous utilisezdes modules). Les valeurs possibles sont les suivantes :

– 0 = Rien transporter– -1 = Tout transporter– # = Regardez la définition de BROKER_* dans le code source (include/broker.h) pour d'autresvaleurs qui pourront être définies pour plus tard

17.3.118 Les modules événementiels

Formatbroker_module=<modulepath> [moduleargs]

Exemplebroker_module=/usr/local/nagios/bin/ndomod.o cfg_file=/usr/local/nagios/etc/ndom-od.cfg

Ce paramètre est particulièrement utilisé pour que le module événementiel soit chargé au démarragede Nagios. On peut utiliser plusieurs de ces mêmes paramètres si l'on veut en charger plusieurs. Lesarguments passés au module seront séparés par un espace.

AVERTISSEMENTNe PAS écraser les modules pendant qu'ils sont utilisés par Nagios ou Nagios plantera enaffichant des SEGFAULT. C'est un bogue/limite de la fonction dlopen(), du noyau, et/ou dufilesystem. Et peut-être de Nagios…

La manière la plus sûre de mettre à jour un module est l'une des méthodes suivantes :

– Stoppez Nagios, remplacez le fichier du module, redémarrez Nagios– Durant que Nagios tourne… Effacez le fichier original du module, mettre à la place le nouveaufichier, redémarrez Nagios

Page 127: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

100 / 379

17.3.119 Fichier de débogage

Formatdebug_file=<file_name>

Exempledebug_file=/usr/local/nagios/var/nagios.debug

Cette option détermine si oui ou non Nagios peut écrire des informations de débogage. La précisiondes informations que Nagios écrit dépend des options debug_level et debug_verbosity. Vous pouvezautomatiquement gérer la rotation du fichier de débogage en fonction de sa taille en utilisant l'optionSection 17.3.122

17.3.120 Niveau de débogage

Formatdebug_level=<#>

Exempledebug_level=24

Cette option détermine quel type d'information Nagios doit écrire dans Section 17.3.119.Les valeurspossibles sont les suivantes :

– -1 = Tout logguer– 0 = Ne rien logguer (par défaut)– 1 = Les informations des fonctions d'I/O– 2 = Les informations liées à la configuration– 4 = Les informations liées aux exécutions– 8 = Les informations liées aux planificationx des événements– 16 = Les informations liées aux hôtes et aux services– 32 = Les informations sur les notifications– 64 = Les informations liées au courtier d'événement

17.3.121 Verbosité du mode de débogage

Formatdebug_verbosity=<#>

Exempledebug_verbosity=1

Cette option détermine la quantité d'information de débogage que Nagios doit écrire dans le fichierde débogage .

– 0 = Information de base– 1 = Information plus détaillée (par défaut)– 2 = Information très détaillée

Page 128: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

101 / 379

17.3.122 Taille maximale du fichier de débogage

Formatmax_debug_file_size=<#>

Exemplemax_debug_file_size=1000000

Cette option détermine la taille maximum (en octets) du fichier de débogage .Si le fichier dépasse lataille que vous avez indiqué, il sera renommé avec une extension en .old. Si le fichier .old existe déjà,il sera automatiquement effacé. Cette option vous permet de garder un contrôle sur l'espace disqueque Nagios prend quand il se trouve en mode de débogage.

Page 129: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

102 / 379

Chapitre 18

Survol de la configuration des objets

18.1 Que sont les données des objets?

Les objets représentent l'ensemble de tous les éléments entrants en compte dans la logique de surveil-lance et de notification. Les types de défintions d'objet sont les suivants :

– Services– Groupes de services– Hôtes– Groupes d'hôtes– Contacts– Groupes de contacts– Commandes– Périodes de temps– Escalades de notifications– Dépendances d'exécution et de notification

Plus d'informations sur les types d'objets et comment ils interagissent les uns avec les autres peutêtre trouvée ci-dessous.

18.2 Où sont définies les données des objets?

Les données des objets sont définies dans un ou plusieurs fichiers de configuration que vous déclarezen utilisant les paramètres cfg_file et/ou cfg_dir dans le fichier de configuration principal.

ASTUCEQuand vous suivez le guide de démarrage rapide ,plusieurs fichiers exemple de configuration d'objetssont installés dans le dossier /usr/local/nagios/etc/objects/. Vous pouvez utiliser ces fichiersd'exemple pour voir comme fonctionne l'héritage entre objets et pour apprendre comment définirvos propres définitions d'objets.

Page 130: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

103 / 379

18.3 Comment définir les données des objets?

Les définitions des objets se font à travers un système de gabarit qui vous permet une gestion beau-coup plus aisée de vos fichiers de configuration sur le long terme. Les informations de base sur lafaçon de définir les objets dans vos fichier de configuration se trouvent ici.Quand vous serez plus familier avec les définitions d'objets, vous devriez approfondir le concept enlisant l'héritage d'objet. Ce document vous permet de rendre votre configuration plus pérenne dansle futur. Les utilisateurs occasionnels peuvent utiliser les fonctions avancées des définitions d'objetscomme indiqué dans la documentation à trucs et astuces sur les objets.

18.4 Explication des objets

Quelques uns des objets de configuration les plus importants sont expliqués en détail ci-dessous…

18.4.1 Hôtes

Les Hôtes sont un des objets les plus importants dans la logique de supervision. Les attributs impor-tants pour les hôtes sont les suivants :– Les hôtes sont en général des composants physiques sur le réseau (serveurs, ordinateurs de bureau,routeurs, switchs, imprimantes, etc.).

– Les hôtes ont une adresse (une adresse IP ou MAC par exemple).– Les hôtes ont un ou plusieurs services qui leur sont associés.– Les hôtes peuvent avoir des relations de type parent/enfant avec d'autres hôtes, représentant sou-vent les connexions réelles entre ces hôtes, qui sont utilisées dans la logique de rupture de la con-tinuité du réseau .

18.4.2 Groupes d'hôtes

Les Groupes d'Hôtes permettent de regrouper un ou plusieurs hôtes ensemble. Les groupes d'hôtespeuvent vous rendre la vue d'état plus facile pour plusieurs hôtes en relation dans l'interface web deNagios (1) et simplifient votre configuration (2) par l'utilisation de trucs et astuces sur les objets .

Page 131: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

104 / 379

18.4.3 Services

Les Services sont un des objets les plus importants dans la logique de supervision. Les services sontassociés à un hôte et peuvent être :

– Des attributs d'hôtes (charge CPU, utilisation disque, temps écoulé depuis le dernier (re)démarrage,etc.).

– Des services fournis par l'hôte (HTTP, POP3, FTP, SSH, etc.)– D'autres choses associés à un hôte (DNS enregistrements, etc.)

18.4.4 Groupes de services

Les Groupes de Services permettent de regrouper un ou plusieurs services ensemble. Les groupesde services peuvent vous rendre la vue d'état plus facile pour plusieurs services en relation dansl'interface web de Nagios (1) et simplifient votre configuration (2) par l'utilisation de trucs et astucessur les objets .

18.4.5 Contacts

Les Contacts sont les personnes impliquées dans le processus de notification :

– Les contacts peuvent avoir un ou plusieurs moyens de notification (mobile, pager, courrier électron-ique, messagerie instantanée, etc.)

– Les contacts reçoivent des notifications pour les hôtes 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 groupesde contacts peuvent vous aider à définir de façon plus simple qui doit être notifié quand surviennentdes problèmes sur un hôte ou un service.

Page 132: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

105 / 379

18.4.7 Périodes de temps

Les Périodes de temps sont utilisées pour contrôler :

– Quand les hôtes et services sont supervisés– Quand les contacts reçoivent des notifications

La documentation des périodes de temps se trouve ici.

18.4.8 Commandes

Les Commandes sont utilisées pour indiquer à Nagios quels programmes, scripts, etc. il doit exécuterpour assurer :

– Contrôles d'hôtes et de services– Notifications– Gestionnaires d'événements– Et plus…

Page 133: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

106 / 379

Chapitre 19

Définitions d'objet

19.1 Introduction

Une des fonctionnalités du format de configuration des objets de Nagios est que vous pouvez créerdes définitions d'objets qui héritent leurs propriétés d'autres objets de configuration. Une explicationsur le fonctionnement de l'héritage peut être trouvée ici. Je recommande vivement que vous vous fa-miliarisez avec l'héritage des objets une fois que vous aurez lu la documentation présentée ci-dessous,du fait que cela permet une maintenance des définitions d'objets beaucoup plus facile que sans. Lisezaussi les trucs et astuces pour les objets qui offrent des raccourcis pour des tâches de configurationqui seraient autrement ingrates.

NoteQuand vous créez et/ou éditez des fichiers de configuration, gardez ceci à l'esprit :1. Les lignes qui commencent par le caractère '#' sont des commentaires et ne sont pas traitées2. Les noms de variables sont sensibles à la casse

19.2 Notes sur la rétention

Il est important de noter que plusieurs variables dans les définitions d'hôtes, de services et de contactspeuvent ne pas être prise en compte par Nagios quand vous les changez dans les fichiers de config-uration. Les objets de configuration concernés sont indiqués par une astérisque (*). La raison de cecomportement est que Nagios prend les valeurs contenues dans le fichier de rétention d'état plutôtque celles contenues dans les fichiers de configuration, à condition d'avoir activé la rétention d'étatsau niveau global du programme et que la valeur de la variable soit changée pendant l'exécution duprogramme par une commande externe.Une façon de contourner le problème est de désactiver la rétention des informations différentes del'état en utilisant la variable retain_nonstatus_information dans les définitions d'hôtes, de serviceset de contacts. Désactiver cette variable permettra à Nagios de prendre les valeurs de vos fichiersde configuration comme valeurs initiales plutôt que du fichier de rétention d'états au moment du(re)démarrage.

Page 134: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

107 / 379

19.3 Fichiers exemple de configuration

NoteDes exemples de fichiers de configuration sont installés dans le répertoire /usr/local/nagios/etc/quand vous suivez le guide d'installation rapide .

19.4 Types d'objets

Définitions d'hôtesDéfinitions de groupes d'hôtesDéfinitions de servicesDéfinitions de groupes de servicesDéfinitions de contactsDéfinitions de groupes de contactsDéfinitions de périodes de tempsDéfinitions de commandesDéfinitions de dépendances de servicesDéfinitions d'escalades de servicesDéfinitions de dépendances d'hotesDéfinitions d'escalades d'hôtesDéfinitions d'informations étendues d'hôtesDéfinitions d'informations étendues de services

19.4.1 Définition d'hôte

19.4.1.1 Description

Une définition d'hôte est utilisé pour définir un serveur physique, une station de travail, un composant,etc. qui est installé sur votre réseau.

19.4.1.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define host{host_name host_namealias aliasdisplay_name display_nameaddress addressparents host_names

Page 135: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

108 / 379

hostgroups hostgroup_namescheck_command command_nameinitial_state [o,d,u]max_check_attempts #check_interval #retry_interval #active_checks_enabled [0/1]passive_checks_enabled [0/1]check_period timeperiod_nameobsess_over_host [0/1]check_freshness [0/1]freshness_threshold #event_handler command_nameevent_handler_enabled [0/1]low_flap_threshold #high_flap_threshold #flap_detection_enabled [0/1]flap_detection_options [o,d,u]process_perf_data [0/1]retain_status_information [0/1]retain_nonstatus_information [0/1]contacts contactscontact_groups contact_groupsnotification_interval #first_notification_delay #notification_period timeperiod_namenotification_options [d,u,r,f,s]notifications_enabled [0/1]stalking_options [o,d,u]notes note_stringnotes_url urlaction_url urlicon_image image_fileicon_image_alt alt_stringvrml_image image_filestatusmap_image image_file2d_coords x_coord,y_coord3d_coords x_coord,y_coord,z_coord}

19.4.1.3 Exemple de définition

define host {host_name bogus-routeralias Bogus Router #1address 192.168.1.254parents server-backbonecheck_command check-host-alivecheck_interval 5retry_interval 1max_check_attempts 5check_period 24x7process_perf_data 0retain_nonstatus_information 0contact_groups router-admins

Page 136: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

109 / 379

notification_interval 30notification_period 24x7notification_options d,u,r

}

19.4.1.4 Description des variables

host_nameCette variable est utilisée pour définir le nom court identifiant l'hôte. Ce nom est utilisé dansles définitions de groupes d'hôtes et de services pour faire référence à cet hôte en particulier.Les hôtes peuvent avoir plusieurs services (qui sont supervisés) associés à eux. Bien utilisée, lamacro $HOSTNAME$ contiendra ce nom court.

aliasCette variable est utilisée pour définir un nom long ou une description identifiant l'hôte. Celapermet d'identifier plus facilement un hôte en particulier. Bien utilisée, la macro $HOSTALIAS$contiendra cet alias/description.

addressCette variable est utilisée pour définir l'adresse de l'hôte. Normalement, c'est une adresse IP,même si cela pourrait être ce que vous voulez (au moins tant que cela peut être utilisé pourcontrôler l'état d'un hôte). Vous pouvez utiliser le FQDN pour identifier l'hôte plutôt que sonadresse IP, mais avec des problèmes possibles si les services DNS ne sont pas disponibles. Bienutilisée, la macro $HOSTADDRESS$ contiendra cette adresse.

NoteLe nom de l'hôte sera utilisé comme adresse si vous ne précisez pas de variable adresse dansla définition de l'hôte.

AttentionUne petite mise en garde néanmoins sur le fait de le faire - si le service DNS tombe,la plupart de vos contrôles de services seront en erreur parce que les plugins serontincapbles de résoudre le nom de l'hôte.

display_nameCette variables est utilisée pour afficher un nom différent à l'affichage dans l'interface web pourcet hôte. Si non précisée, la valeur par défaut est prise depuis la variable host_name.

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

parentsCette variable est utilisée pour définir une liste séparée par des virgules de noms courts représen-tant les hôtes parents de cet hôte en particulier. Les hôtes parents sont typiquement des routeurs,des pare-feux, etc… qui se trouvent sur la route entre le serveur de supervision et les hôtes àsuperviser. Un routeur, switch, etc… qui se trouve le plus près de l'hôte à superviser est consid-éré comme le parent de cet hôte. Lisez le document Déterminer l'état et l'accessibilité du réseaudes hôtes situé ici pour plus d'informations. Si l'hôte appartient au même segment réseau quele serveur de supervision (sans routeur intermédiaire, etc.), alors l'hôte est considéré commemembre du réseau local et il n'aura pas d'hôte parent. Laissez cette valeur vide si l'hôte n'a pas

Page 137: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

110 / 379

d'hôte parent (par exemple si il est sur le même segment réseau que le serveur Nagios). L'ordredans lequel vous précisez les hôtes parents n'a pas d'effet sur la façon dont sont supervisés leschoses.

hostgroupsCette variable est utilisée pour identifier le(s) nom(s) court(s) des groupes d'hôtes auxquelsappartient cet hôte. Plusieurs noms de groupes doivent être séparés par des virgules. Cettevariable peut être utilisée comme alternative (ou en complément) à la variable members desdéfinitions de groupes d'hôtes .

check_commandCette variable est utilisée pour identifier le nom court de la commande à utiliser pour contrôler sil'hôte répond ou non. Typiquement, cette commande essayera de pinguer l'hôte pour voir s'il estvivant. La commande doit retourner un état OK (0) ou Nagios pensera que l'hôte ne répond pas.Si vous laissez cette variable vide, cet hôte ne sera pas contrôlé activement. Du coup, Nagiospartira certainement du principe que cet hôte répond (il peut être indiqué en état PENDINGdans l'interface web). C'est utile si vous supervisez des imprimantes ou des équipements quisont fréquemment éteints. Le temps maximal d'exécution de la commande peut être contrôlé parl'option host_check_timeout .

initial_statePar défaut, Nagios part du prinicipe que tous les hôtes sont dans un état UP au démarrage. Vouspouvez préciser l'état intitial souhaité de l'hôte avec cette variable. Les options valables sont : o= UP, d = DOWN, et u = UNREACHABLE.

max_check_attemptsCette variable peut être utilisée pour définir le nombre de fois que Nagios va tenter d'exécuterla commande de contrôle d'hôte si elle retourne un état différent de OK. Mettre cette valeur à 1indique à Nagios de générer une alerte sans réessayer de contrôler l'hôte.

NoteSi vous ne souhaitez pas contrôler l'état de l'hôte, vous devez quand même placer cette variableà une valeure minimale de 1. Pour court-circuiter le contrôle de l'hôte, laissez simplement videl'option check_command.

check_intervalCette variable est utilisée pour définir le nombre d'unités de temps entre les contrôles réguliersd'un hôte. Sauf si vous avez changé la variable interval_length de sa valeur par défaut qui est60, ce nombre indique des minutes. Plus d'informations sur cette valeur peut être trouvée dansla documentation sur l'ordonnancement des contrôles .

retry_intervalCe paramètre est utilisé pour définir le nombre d'unités de temps à attendre avant d'ordonnancerun nouveau contrôle des hôtes. Les hôtes sont recontrôlés à l'intervalle de réessai quand ils sontpassés dans un état non UP. Une fois que l'hôte à été recontrôlé le nombre de fois précisé dansmax_check_attempts sans changement d'état, il sera contrôlé à nouveau sur une fréquencenormale telle que définie dans la valeur check_interval. Sauf si vous avez changé la variableinterval_length de sa valeur par défaut qui est 60, ce nombre indique des minutes. Plus d'in-formations sur cette valeur peut être trouvée dans la documentation sur l'ordonnancement descontrôles .

active_checks_enabled*Cette variable est utilisée pour définir si les contrôles actifs (soit réguliers soit à la demande)sont possibles pour cet hôte. Valeurs : 0 = contrôles d'hôte actif désactivés, 1 = contrôles d'hôteactif activés.

passive_checks_enabled *Cette variable est utilisée pour définir si les contrôles passifs sont possibles pour cet hôte.Valeurs : 0 = contrôles d'hôte passif désactivés, 1 = contrôles d'hôte passif activés.

Page 138: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

111 / 379

check_periodCette variable est utilisée pour définir le nom court de la période de temps pendant laquellepeuvent se dérouler les contrôles actifs de cet hôte.

obsess_over_host *Cette variable est utilisée pour définir si les contrôles pour cet hôte seront ou non obsessed enutilisant la commande ochp_command .

check_freshness *Cette variable est utilisée pour définir si les contrôle de fraîcheur sont possibles pour cet hôte.Valeurs : 0 = contrôles de la fraîcheur désactivés, 1 = contrôles de la fraîcheur activés.

freshness_thresholdCette variable est utilisée pour définir le seuil de fraîcheur (en secondes) de cet hôte. Si vousmettez cette valeur à 0, Nagios va automatiquement déterminer un seuil de fraîcheur à utiliser.

event_handlerCette variable est utilisée pour préciser le nom court d'une commande à exécuter à chaquechangement d'état de l'hôte (par exemple quand il n'est plus disponible ou qu'il redevient disponible).Lisez la documentation sur les gestionnaires d'événenements pour plus d'explications sur la façond'écrire des scripts pour gérer les événements. Le temps maximal d'exécution d'une commandede gestion d'événements est contrôlé par l'option event_handler_timeout .

event_handler_enabled *Cette variable est utilisée pour déterminer si le gestionnaire d'événements est activé ou non pourun hôte. Valeurs : 0 = gestionnaire d'événements d'hôte désactivé, 1 = gestionnaire d'événementsd'hôte activé

low_flap_thresholdCette variable est utilisée pour préciser le seuil bas de détection d'oscillation pour l'hôte. Plusd'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à 0, lavaleur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

high_flap_thresholdCette variable est utilisée pour préciser le seuil haut de détection d'oscillation pour l'hôte. Plusd'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à 0, lavaleur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

flap_detection_enabled *Cette variable est utilisée pour déterminer si la détection d'oscillation est activée ou non pourl'hôte. Plus d'informations sur la détection d'ocillations se trouvent ici. Valeurs : 0 = détectiond'ocillation pour l'hôte désactivée, 1 = détection d'ocillation pour l'hôte activée.

flap_detection_optionsCette variable est utilisée pour déterminer quels états d'hôte seront utilisés pour la logique dedétection d'oscillations .Les options valides sont une combinaison d'un ou plusieurs états parmiles suivants : o = états UP, d = états DOWN, u = états UNREACHABLE.

process_perf_data *Cette variable est utlisée pour déterminer si le traitement des données de performance est activéou non pour l'hôte. Valeurs : 0 = traitement des données de performance désactivé, 1 = traitementdes données de performance activé.

retain_status_informationCette variable est utlisée pour déterminer si les informations relatives aux états de l'hôte sontconservées ou non après redémarrage du programme. C'est seulement utile si vous avez activéla rétention d'états en utilisant la variable retain_state_information . Valeur : 0 = rétentiondes données d'états désactivée, 1 = rétention des données d'états activée.

retain_nonstatus_informationCette variable est utlisée pour déterminer si les informations différentes des états de l'hôte sontconservées après redémarrage du programme. C'est seulement utile si vous avez activé la ré-tention d'états en utilisant la variable retain_state_information . Valeur : 0 = rétention desdonnées différentes des états désactivée, 1 = rétention des données différentes des états activée.

Page 139: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

112 / 379

contactsC'est une liste des noms courts des contacts qui devraient être notifiés quand quand il y a desproblèmes (ou retours à la normale) avec cet hôte. Plusieurs contacts peuvent être séparés pardes virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes et quevous ne souhaitez pas configurer des groupes de contacts .Vous devez préciser au moins uncontact ou un groupe de contacts dans chaque définition d'hôte.

contact_groupsC'est une liste des noms courts des groupes de contacts qui devraient être notifiés quand quand ily a des problèmes (ou retours à la normale) avec cet hôte. Plusieurs groupes de contacts peuventêtre séparés par des virgules. Vous devez préciser au moins un contact ou un groupe de contactsdans chaque définition d'hôte.

notification_intervalCette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant de re-notifier un contact que ce service est toujours down ou innacessible. Sauf si vous avez changé lavariable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes.Sivous mettez cette valeur à 0, Nagios ne re-notifiera pas les contacts des problèmes pour cethôte - une seule notification de problème sera envoyée.

first_notification_delayCette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant d'envoyerla première notification quand un hôte passe dans un état non-UP. Sauf si vous avez changé lavariable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes. Sivous mettez cette valeur à 0, Nagios commencera à envoyer des notifications immédiatement.

notification_periodCette variable est utilisée pour préciser le nom court des périodes de temps pendant lesquellesles notifications d'événements sont envoyées aux contacts de cet hôte. Si cet hôte passe en étatdown, inaccessible ou qu'il revient à la normale hors d'une période de temps précisée, aucunenotification ne sera envoyée.

notification_optionsCette variable est utilisée pour déterminer quand les notifications pour un hôte doivent êtreenvoyées. Les options valides sont une combinaison d'un ou de plusieurs des états suivants : d =envois de notifications sur état DOWN, u = envois de notifications sur état UNREACHABLE, r =envois de notifications sur état OK, f = envois de notification quand un hôte commence ou arrêted'osciller, et s = envois de notifications quand une période de maintenance planifiée commenceou finit.Si vous mettez d,r dans ce champ, les notifications seront seulement envoyées quand l'hôtepassera en état DOWN et quand il sortira de cet état DOWN (retour à la normale).

notifications_enabled *Cette variable est utlisée pour déterminer si les notifications pour cet hôte sont activées ou non.Valeurs : 0 = notifications pour l'hôte désactivées, 1 = notifications pour l'hôte activées.

talking_optionsCette variable est utilisée pour déterminer quelle mémorisation d'états est utilisée pour l'hôte.Les options valides sont une combinaison d'un ou ou de plusieurs des états suivants : o = mé-morisation des états UP, d = mémorisation des états DOWN et u = mémorisation des états UN-REACHABLE. Plus d'informations sur la mémorisation d'états peuvent être trouvées ici.

notesCette variable est utilisée pour préciser une note d'information à rattacher à l'hôte. Si vous avezprécisée une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardezles informations d'un hôte spécifié).

notes_urlCette variable est utilisée pour définir une URL optionnelle fournissant des informations supplé-mentaires sur l'hôte. Si vous précisez une URL, vous verrez une icône de dossier rouge dans lesCGIs (quand vous regardez les informations de l'hôte) qui renverra vers l'URL précisée ici. N'im-porte quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le cheminde base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut

Page 140: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

113 / 379

être utile si vous souhaitez mettre à disposition d'autres équipes de support les informations dé-taillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_urlCette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémen-taires à appliquer à l'hôte. Si vous précisez une URL, vous verrez une icône splat rouge dans lesCGIs (quand vous regardez les informations de l'hôte) qui renverra vers l'URL précisée ici. N'im-porte quelle URL valide peut être utilisé. Si vous pensez utiliser des chemins relatifs, le cheminde base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_imageCette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associerà l'hôte. Cette image sera affichée dans plusieurs endroits des CGIs. Le rendu de l'image seramaximal si celle-ci est au format 40x40 pixels. Les images des hôtes sont censées se trouver dansle sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_altCette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'at-tribut ALT de l'image précisée par l'argument <icon_image>.

vrml_imageCette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer àl'hôte. Cette image sera utilisée comme fond de carte pour l'hôte spécifié dans le CGI statuswrl.Au contraire de l'image utilisée dans la variable <icon_image>, celle-ci ne devrait pas avoird'attribut de transparence. Si c'est le cas, le rendu de l'hôte sera un peu bizarre. Les images deshôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML(par exemple /usr/local/nagios/share/images/logos).

statusmap_imageCette variable est utlisée pour définir le nom d'une image à associer à l'hôte dans le CGI sta-tusmap. Vous pouvez utiliser une image au format JPEG, PNG ou GIF si vous voulez, mais jevous recommande vivement d'utiliser le format d'image GD2 pour ne pas perdre de temps CPUen calcul (comme c'est le cas avec les autres formats) quand vous générez la carte d'états. Lesimages GD2 peuvent être créées à partir d'image PNG en utilisant l'utilitaire pngtogd2 fourniavec la librairie gd de Thomas Boutell. Les images au format GD2 doivent être créées dans unformat non compressé toujours pour minimiser la charge CPU au moment de charger la carteréseau. Le rendu de l'image sera maximal si vous utilisez une taille de 40x40 pixels. Vous pouvezlaisser cette option vide si vous n'utilisez pas le CGI de carte d'états. Les images des hôtes sontcensées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple/usr/local/nagios/share/images/logos).

2d_coordsCette variable est utilisée pour définir les coordonnées à utiliser pour l'hôte dans le CGI sta-tusmap. Les coordonnées doivent être données en entier positif car correpsondant aux pixelsdans l'image générée. Le départ de la carte (0,0) se trouve dans le coin supérieur gauche del'image et s'étend en positif dans la direction x (à droite) à partir du haut de l'image et en positifdans la direction y (bas) à partir du bord gauche de l'image. Pour référence, la taille des icôneses thabituellement de 40x40 pixels (le texte prend un peu d'espace supplémentaire). Les coor-données que vous précisez ici sont pour le coin supérieur gauche de l'icône de l'hôte à dessiner.

NoteNe vous inquiétez pas du nombre maximal de coordonnées que vous pouvez utliser ici. Le CGIva automatiquement calculer les dimensions maximales de l'image qu'il créée en se basant surles plus grandes valeurs x et y que vous avez précisé.

3d_coordsCette variable est utilisée pour définir les coordonnées de l'hôte à utiliser dans le CGI sta-tuswrl. Les coordonnées peuvent être des nombres positifs ou négatifs. Le départ du dessin est

Page 141: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

114 / 379

(0.0,0.0,0.0). Pour référence, la taille des cubes pour les hôtes est de 0,5 unités de chaque côté(les textes rennent un plus d'espace). Les coordonnées que vous utilisez sont le centre du cubede l'hôte.

19.4.2 Définition de groupe d'hôtes

19.4.2.1 Description

Une définition de groupe d'hôtes est utilisée pour grouper un ou plusieurs hôtes ensemble de façon àsimplifier la configuration avec les trucs et astuces sur les objets ou pour des besoins de visualisationdans les CGIs.

19.4.2.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define hostgroup{hostgroup_name hostgroup_namealias aliasmembers hostshostgroup_members hostgroupsnotes note_stringnotes_url urlaction_url url}

19.4.2.3 Exemple de définition

define hostgroup {hostgroup_name novell-serversalias Novell Serversmembers netware1,netware2,netware3,netware4

}

19.4.2.4 Description des variables

hostgroup_nameCette variable est utilisée pour définir le nom court à utiliser pour identifier le groupe d'hôtes.

aliasCette variable est utilisée pour définir un nom long ou une description à utiliser pour identifierle groupe d'hôtes. Ceci est fourni pour vous permettre d'identifier plus facilement un grouped'hôtes en particulier.

membersC'est une liste de noms courts d' hôtes qui doivent faire partie de ce groupe. Plusieurs nomsd'hôtes peuvent être séparés par des virgules. Cette variable peut être utilisée comme une alter-native (ou en complément) à la variable hostgroups dans les définitions d'hôtes .

Page 142: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

115 / 379

hostgroup_membersCette variable optionnelle peut être utilisée pour inclure des hôtes depuis des sous-groupes dansce groupe d'hôtes. Précisez une liste séparée par des virgules de noms courts d'autres groupesd'hôtes à inclure dans ce groupe.

notesCette variable est utilisée pour préciser une note d'information à rattacher à l'hôte. Si vous avezprécisée une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardezles informations d'un hôte spécifié).

notes_urlCette variable est utilisée pour définir une URL optionnelle fournissant des informations sup-plémentaires sur le groupe d'hôtes. Si vous précisez une URL, vous verrez une icône de dossierrouge dans les CGIs (quand vous regardez les informations de groupe d'hôtes) qui renverra versl'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser deschemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par ex-emple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes desupport les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence,etc.

action_urlCette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémen-taires à appliquer aux groupes d'hôtes. Si vous précisez une URL, vous verrez une icône splatrouge dans les CGIs (quand vous regardez les informations du groupe d'hôtes) qui renverra versl'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser deschemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (parexemple /cgi-bin/nagios/).

19.4.3 Définition de service

19.4.3.1 Description

Une définition de service est utilisée pour identifier un service qui fonctionne sur cet hôte. le termeservice est utilisé de façon générale. Cela peut désigner un service qui fonctionne sur l'hôte (POP, SM-TP, HTTP, etc.) ou tout autre type de métrique associé à l'hôte (réponse au ping, nombre d'utilisateursconnectés, espace disque dur libre, etc.). Les différents arguments d'une définition de service sontprécisés ci-dessous.

19.4.3.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define service{host_name host_namehostgroup_name hostgroup_nameservice_description service_descriptiondisplay_name display_nameservicegroups servicegroup_namesis_volatile [0/1]check_command command_nameinitial_state [o,w,u,c]max_check_attempts #check_interval #

Page 143: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

116 / 379

retry_interval #active_checks_enabled [0/1]passive_checks_enabled [0/1]check_period timeperiod_nameobsess_over_service [0/1]check_freshness [0/1]freshness_threshold #event_handler command_nameevent_handler_enabled [0/1]low_flap_threshold #high_flap_threshold #flap_detection_enabled [0/1]flap_detection_options [o,w,c,u]process_perf_data [0/1]retain_status_information [0/1]retain_nonstatus_information [0/1]notification_interval #first_notification_delay #notification_period timeperiod_namenotification_options [w,u,c,r,f,s]notifications_enabled [0/1]contacts contactscontact_groups contact_groupsstalking_options [o,w,u,c]notes note_stringnotes_url urlaction_url urlicon_image image_fileicon_image_alt alt_string}

19.4.3.3 Exemple de définition

define service {host_name linux-serverservice_description check-disk-sda1check_command check-disk!/dev/sda1max_check_attempts 5check_interval 5retry_interval 3check_period 24x7notification_interval 30notification_period 24x7notification_options w,c,rcontact_groups linux-admins

}

19.4.3.4 Description des variables :

host_nameCette variable est utilisée pour préciser le nom court de(s) l'hôte(s) sur lequel le service tourneou avec lequel il est associé. Plusieurs hôtes doivent être séparés par des virgules.

Page 144: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

117 / 379

hostgroup_nameCette variable est utilisée pour préciser le nom court de(s) groupe(s) d'hôtes sur lequel le ser-vice tourne ou avec lequel il est associé. Plusieurs groupes d'hôtes doivent être séparés par desvirgules.

service_descriptionCette variable est utilisée pour définir la description du service et peut contenir des espaces, desdashes et des colons (les semi-colons, apostrophes et guillements doivent être proscrits). Deuxservices associés à un même hôte ne peuvent pas avoir la même description. Les services sontuniquement identifiés par leurs variables host_name et service_description.

display_nameCette variable est utilisée pour définir un nom différent à afficher dans l'interface web pour ceservice. Si non précisé, la valeur par défaut est prise depuis la variable service_description.

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

servicegroupsCette variable est utilisée pour identifier le(s) nom(s) court(s) des groupe(s) de services auxquelsappartient ce service. Plusieurs groupes de services peuvent être séparés par des virgules. Cettevariable peut être utilisée comme alternative à la variable members des définitions de groupesde services .

is_volatileCette variable est utilisée pour préciser si un service doit être considéré comme volatile. Lesservices ne sont normalement pas volatiles. Plus d'informations sur les services volatiles et enquoi ils différent des services normaux peuvent être trouvées ici. Valeur : 0 = service non volatile,1 = service volatile.

check_commandCette variable est utilisée pour préciser le nom court d'une commande à utiliser pour contrôlerl'état du service. Le temps maximal d'exécution d'une commande de contrôle de service est con-trôlé par l'option service_check_timeout .

initial_statePar défaut, Nagios part du principe que tous les services sont en état OK au démarrage. Vouspouvez modifier l'état de départ d'un service en utilisant cette variable. Les options valides :– o = OK– w = WARNING– u = UNKNOWN– c = CRITICAL.

max_check_attemptsCette variable est utilisée pour définir le nombre de fois que Nagios va réessayer la commandede contrôle de service dans le cas où celle-ci renvoie une état différent de OK. Mettre la valeurà 1 fera que Nagios générera une alerte sans recontrôler le service.

check_intervalCe paramètre est utilisé pour définir le nombre d'unités de temps à attendre avant d'ordonnancerle contrôle régulier suivant du service. Les contrôles réguliers sont ceux qui sont exécutés quandun service est dans un état OK ou non-OKmais qu'il a déjà été recontrôlé le nombre de fois précisédans la variable max_check_attempts. Sauf si vous avez changé la variable interval_lengthde sa valeur par défaut qui est 60, ce nombre indique des minutes. Plus d'informations sur cettevaleur peuvent être trouvées dans la documentation sur l'ordonnancement des contrôles .

retry_intervalCe paramètre est utilisé pour définir le nombre d'unités de temps à attendre avant d'ordonnancerun nouveau contrôle du service. Les services sont recontrôlés à l'intervalle de réessai quand ils

Page 145: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

118 / 379

sont passés dans un état non UP. Une fois que le service à été réessayé le nombre de fois pré-cisé dans la variable max_check_attempts sans changement d'état, il sera contrôlé à nouveausur une fréquence normale telle que définie dans la valeur check_interval. Sauf si vous avezchangé la variable interval_length de sa valeur par défaut qui est 60, ce nombre indique desminutes. Plus d'informations sur cette valeur peuvent être trouvées dans la documentation surl'ordonnancement des contrôles .

active_checks_enabled*Cette variable est utilisée pour déterminer si les contrôles actifs sont activés ou non pour ceservice. Valeurs :– 0= disable active service checks– 1= enable active service checks.

passive_checks_enabled *Cette variable est utilisée pour déterminer si les contrôles passifs sont activés ou non pour ceservice. Valeurs :– 0= disable passive service checks– 1= enable passive service checks.

check_periodCette variable est utilisée pour préciser le nom court de la période de temps pendant laquelle lescontrôles actifs sont possibles.

obsess_over_service *Cette variable est utilisée pour déterminer si les contrôles de ce service seront ou non obsesseden utilisant la commande ocsp_command .

check_freshness *Cette variable est utilisée pour déterminer si les contrôles de fraîcheur sont activés ou non pource service. Valeurs :– 0= disable freshness checks– 1= enable freshness checks

freshness_thresholdCette variable est utilisée pour définir le seuil de fraîcheur (en secondes) de ce service. Si vousmettez cette valeur à 0, Nagios va automatiquement déterminer un seuil de fraîcheur à utiliser.

event_handlerCette variable est utilisée pour préciser le nom court d'une commande à exécuter à chaquechangement d'état du service (par exemple quand il n'est plus disponible ou qu'il redevientdisponible). Lisez la documentation sur les gestionnaires d'événenements pour plus d'explica-tions sur la façon d'écrire des scripts pour gérer les événements. Le temps maximal d'exécutiond'une commande de gestion d'événements est contrôlé par l'option event_handler_timeout .

event_handler_enabled *Cette variable est utilisée pour déterminer si le gestionnaire d'événements est activé ou non pource service. Valeurs :– 0= disable service event handler– 1= enable service event handler.

low_flap_thresholdCette variable est utilisée pour préciser le seuil bas de détection d'oscillation pour ce service.Plus d'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à0, la valeur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

high_flap_thresholdCette variable est utilisée pour préciser le seuil haut de détection d'oscillation pour ce service.Plus d'informations sur la détection d'ocillations se trouvent ici. Si vous mettez cette variable à0, la valeur précisée avec low_host_flap_threshold au niveau global du logiciel sera utilisée.

flap_detection_enabled *Cette variable est utilisée pour déterminer si la détection d'oscillation est activée ou non pour ceservice. Plus d'informations sur la détection d'ocillations se trouvent ici. Valeurs :

Page 146: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

119 / 379

– 0= disable service flap detection– 1= enable service flap detection.

flap_detection_optionsCette variable est utilisée pour déterminer quels états de service seront utilisés pour la logique dedétection d'oscillations .Les options valides sont une combinaison d'un ou plusieurs états parmiles suivants :– o = états OK– w = états WARNING– c = états CRITICAL– u = états UNKNOWN.

process_perf_data *Cette variable est utlisée pour déterminer si le traitement des données de performance est activéou non pour ce service. Valeurs :– 0= traitement des données de performance désactivé– 1= traitement des données de performance activé

retain_status_informationCette variable est utlisée pour déterminer si les informations relatives aux états de service sontconservées ou non après redémarrage du programme. C'est seulement utile si vous avez activéla rétention d'états en utilisant la variable retain_state_information . Valeur :– 0= rétention des données d'états désactivée– 1= rétention des données d'états activée

retain_nonstatus_informationCette variable est utlisée pour déterminer si les informations différentes des états de servicesont conservées après redémarrage du programme. C'est seulement utile si vous avez activé larétention d'états en utilisant la variable retain_state_information . Valeur :– 0= rétention des données autres que celles d'états désactivée– 1= rétention des données autres que celles d'états activée

notification_intervalCette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant de re-notifier un contact que ce service est tojours dans un état non-OK. Sauf si vous avez changé lavariable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes.Si vous mettez cette valeur à 0, Nagios ne re-notifiera pas les contacts des problèmes pour cethôte - une seule notification de problème sera envoyée.

first_notification_delayCette variable est utilisée pour préciser le nombre d'unités de temps à attendre avant d'envoyerla première notification quand un service passe dans un état non-UP. Sauf si vous avez changé lavariable interval_length de sa valeur par défaut qui est 60, ce nombre signifie des minutes. Sivous mettez cette valeur à 0, Nagios commencera à envoyer des notifications immédiatement.

notification_periodCette variable est utilisée pour préciser le nom court des périodes de temps pendant lesquellesles notifications d'événements sont envoyées aux contacts de ce service. Aucune notification nesera envoyée hors couverture d'une période de temps.

notification_optionsCette variable est utilisée pour déterminer quand les notifications pour ce service doivent êtreenvoyées. Les options valides sont une combinaison de l'un ou plusieurs des états suivants :– w = envois de notifications sur état WARNING– u = envois de notifications sur état UNKNOWN– c = envois de notifications sur état CRITICAL– r = envois de notifications sur état OK

Page 147: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

120 / 379

– f = envois de notifications quand le service commence ou s'arrête d'osciller– s = envois de notifications quand une période de maintenance planifiée commence ou se ter-mine

– n (none) en option, aucune notification ne sera envoyée. Si vous ne précisez aucune option denotification, Nagios va partir du principe que les notifications doivent être envoyées pour toutchangement d'état possible.

Si vous précisez w,r dans ce champ, les notifications seront envoyées uniquement quand le ser-vice passera en état WARNING ou qu'il sortira de cet état WARNING.

notifications_enabled *Cette variable est utlisée pour déterminer si les notifications pour ce service sont activées ounon. Valeurs :– 0= notifications sur les services désactivées– 1= notifications sur les services activées

contactsC'est une liste des noms courts des contacts qui devraient être notifiés quand il y a des prob-lèmes (ou retours à la normale) avec ce service. Plusieurs contacts peuvent être séparés par desvirgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes et que vousne souhaitez pas configurer des groupes de contacts. Vous devez préciser au moins un contactou un groupe de contacts dans chaque définition de service.

contact_groupsC'est une liste des noms courts des groupes de contacts qui devraient être notifiés quand il y ades problèmes (ou retours à la normale) avec ce service. Plusieurs groupes de contacts peuventêtre séparés par des virgules. Vous devez préciser au moins un contact ou un groupe de contactsdans chaque définition de service.

stalking_optionsCette variable est utilisée pour déterminer quelle mémorisation d'états est utilisée pour le ser-vice. Les options valides sont une combinaison d'un ou ou de plusieurs des états suivants :– o= mémorisation sur états OK– w= mémorisation sur états WARNING– u= mémorisation sur états UNKNOWN– c= mémorisation sur états CRITICALPlus d'informations sur la mémorisation d'états peuvent être trouvées ici.

notesCette variable est utilisée pour préciser une note d'information à rattacher au service. Si vousavez précisé une note ici, vous la verrez dans le CGI des informations étendues (quand vousregardez les informations du service spécifié).

notes_urlCette variable est utilisée pour définir une URL optionnelle fournissant des informations sup-plémentaires sur le service. Si vous précisez une URL, vous verrez une icône de dossier rougedans les CGIs (quand vous regardez les informations de l'hôte) qui renverra vers l'URL préciséeici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relat-ifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes de supportles informations détaillées d'un service, les moyens de contacts à utiliser en cas d'urgence, etc.

action_urlCette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémen-taires à appliquer au service. Si vous précisez une URL, vous verrez une icône splat rouge dans lesCGIs (quand vous regardez les informations du service) qui renverra vers l'URL précisée ici. N'im-porte quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le cheminde base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

Page 148: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

121 / 379

icon_imageCette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associerau service. Cette image sera affichée dans les CGIs status et extended information. Le rendude l'image sera maximal si celle-ci est au format 40x40 pixels. Les images des services sontcensées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple/usr/local/nagios/share/images/logos).

icon_image_altCette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'at-tribut ALT de l'image précisée par l'argument <icon_image>. L'attribut ALT peut être utilisé dansles CGIs status, extended information et statusmap.

19.4.4 Définition de groupe de services

19.4.4.1 Description

Une définition de groupe d'hôtes est utilisée pour grouper un ou plusieurs services ensemble de façonà simplifier la configuration avec les trucs et astuces sur les objets ou pour des besoins de visualisationdans les CGIs.

19.4.4.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define servicegroup{servicegroup_name servicegroup_namealias aliasmembers servicesservicegroup_members servicegroupsnotes note_stringnotes_url urlaction_url url}

19.4.4.3 Exemple de définition

define servicegroup {servicegroup_name dbservicesalias Database Servicesmembers ms1,SQL Server,ms1,SQL Serverc Agent,ms1,SQL DTC

}

19.4.4.4 Description des variables :

servicegroup_nameCette variable est utilisée pour définir un nom court pour identifier le groupe de services.

aliasCette variable est utilisée pour définir un nom long ou une description identifiant le groupe deservices. Cela permet d'identifier plus facilement un groupe de services en particulier.

Page 149: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

122 / 379

membersC'est une liste de noms courts de service (et le nom des hôtes correspondants) qui doivent fairepartie de ce groupe. Plusieurs noms d'hôtes et de services peuvent être séparés par des virgules.Cette variable peut être utilisée comme une alternative (ou en complément) à la variable service-groups dans les définitions de service. Le format de la variable members est le suivant (notez quele nom de l'hôte doit précéder le nom/description du service) :members=<host1>,<service1>,<host2>,<service2…>,,<hostn>,<servicen>

servicegroup_membersCette variable optionnelle peut être utilisée pour inclure des services depuis des sous-groupesdans ce groupe de services. Précisez une liste séparée par des virgules de noms courts d'autresgroupes de services à inclure dans ce groupe.

notesCette variable est utilisée pour préciser une note d'information à rattacher au groupe de service.Si vous avez précisé une note ici, vous la verrez dans le CGI des informations étendues (quandvous regardez les informations d'un groupe de services spécifié).

notes_urlCette variable est utilisée pour définir une URL optionnelle fournissant des informations supplé-mentaires sur le groupe de services. Si vous précisez une URL, vous verrez une icône de dossierrouge dans les CGIs (quand vous regardez les informations de groupe de services) qui renverravers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliser deschemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs (par ex-emple /cgi-bin/nagios/). Peut être utile si vous souhaitez mettre à disposition d'autres équipes desupport les informations détaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence,etc.

action_urlCette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémen-taires à appliquer au groupe de services. Si vous précisez une URL, vous verrez une icône splatrouge dans les CGIs (quand vous regardez les informations du groupe de services) qui renverravers l'URL précisée ici. N'importe quelle URL valide peut être utilisée. Si vous pensez utiliserdes chemins relatifs, le chemin de base sera le même que celui utilisé pour accéder aux CGIs(par exemple /cgi-bin/nagios/).

19.4.5 Définition de contact

19.4.5.1 Description

La définition de contact est utilisée pour identifer quelqu'un qui doit être contacté dans le cas de prob-lèmes sur votre réseau. Les différents arguments d'une définition de contact sont décrits ci-dessous.

19.4.5.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define contact{contact_name contact_namealias aliascontactgroups contactgroup_nameshost_notifications_enabled [0/1]service_notifications_enabled [0/1]

Page 150: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

123 / 379

host_notification_period timeperiod_nameservice_notification_period timeperiod_namehost_notification_options [d,u,r,f,s,n]service_notification_options [w,u,c,r,f,s,n]host_notification_commands command_nameservice_notification_commands command_nameemail email_addresspager pager_number ou pager_email_gatewayaddressx additional_contact_addresscan_submit_commands [0/1]retain_status_information [0/1]retain_nonstatus_information [0/1]}

19.4.5.3 Exemple de définition

define contact {contact_name jdoealias John Doehost_notifications_enabled 1service_notifications_enabled 1service_notification_period 24x7host_notification_period 24x7service_notification_options w,u,c,rhost_notification_options d,u,rservice_notification_commands notify-by-emailhost_notification_commands host-notify-by-emailemail [email protected] [email protected] [email protected] 555-555-5555can_submit_commands 1

}

19.4.5.4 Description des variables

contact_nameCette variable est utilisée pour définir un nom court pour identifer le contact. Ceci est référencédans les définitions de groupes de contacts .Dans les bonnes circonstances, la macro $CONTACT-NAME$ contiendra cette valeur.

aliasCette variable est utilisée pour définir un nom long ou une description identifiant le contact. Dansles bonnes circonstances, la macro $CONTACTNAME$ contiendra cette valeur. Si non précisée, lavariable contact_name sera utilisée comme alias.

contactgroupsCette variable est utilisée pour identifier le(s) nom(s) court(s) des groupes de contacts auxquelsappartient ce contact. Plusieurs noms de groupes doivent être séparés par des virgules. Cettevariable peut être utilisée comme alternative (ou en complément) à la variable members desdéfinitions de groupes de contacts.

host_notifications_enabledCette variable est utilisée pour déterminer si un contact recevra ou non des notifications à proposdes problèmes d'hôtes et des retours à la normale. Valeurs :– 0= Envois des notifications désactivés

Page 151: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

124 / 379

– 1= Envois des notifications activésservice_notifications_enabled

Cette variable est utilisée pour déterminer si un contact recevra ou non des notifications à proposdes problèmes de services et des retours à la normale. Valeurs :– 0= Envois des notifications désactivés– 1= Envois des notifications activés

host_notification_periodCette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle uncontact peut être notifié des problèmes d'hôtes et des retours à la normale. Vous pouvez penserà ceci comme une heure d'appel du contact pour les notifications d'hôtes. Lisez la documentationsur les périodes de temps pour plus d'informations sur le fonctionnement de celles-ci et sur lesproblèmes pouvant survenir en cas d'utilisation incorrecte de celles-ci.

service_notification_periodCette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelleun contact peut être notifié des problèmes de services et des retours à la normale. Vous pou-vez penser à ceci comme une heure d'appel du contact pour les notifications de services. Lisezla documentation sur les périodes de temps pour plus d'informations sur le fonctionnement decelles-ci et sur les problèmes pouvant survenir en cas d'utilisation incorrecte de celles-ci.

host_notification_commandsCette variable est utilisée pour préciser les noms courts de commandes à utiliser pour notifierle contact des problèmes d'hôtes et des retours à la normale. Plusieurs notifications peuventêtre séparés par des virgules. Toutes les commandes de notification sont exécutées quand lescontacts ont besoin d'être notifiés. Le durée maximale d'exécution de la commande est contrôléepar l'option notification_timeout .

host_notification_optionsCette variable est utilisée pour définir les états d'hôtes pour lesquels des notifications peuventêtre envoyées à ce contact. Les options valides sont une combinaison d'un ou de plusieurs desétats suivants :– d= notification sur les hôtes en états DOWN– u= notification sur les hôtes en états UNREACHABLE– r= notification quand un hôte retourne à la normale (états UP)– f= notification quand un hôte commence ou s'arrête d'osciller,– s= envoi de notifications quand un hôte ou service entre ou sort de période de maintenanceplanifiée.Si vous précisez n (null) comme option, le contact ne recevra aucun type de notificationsd'hôtes.

service_notification_optionsCette variable est utilisée pour définir les états de services pour lesquels des notifications peuventêtre envoyées à ce contact. Les options valides sont une combinaison d'un ou de plusieurs desétats suivants :– w= notification sur états WARNING de service– u= notification sur états UNKNOWN de service– c= notification sur états CRITICAL de service– r= notification sur états OK– f= notification quand le service commence et s'arrête d'osciller.– n= (none) : Le contact ne recevra aucun type de notifications de services

service_notification_commandsCette variable est utilisée pour préciser les noms courts de commandes à utiliser pour notifierle contact des problèmes de services et des retours à la normale. Plusieurs commandes de no-tifications peuvent être séparées par des virgules. Toutes les commandes de notification sontexécutées quand les contacts ont besoin d'être notifiés. Le durée maximale d'exécution de lacommande est contrôlée par l'option notification_timeout .

Page 152: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

125 / 379

emailCette variable est utilisée pour définir une adresse email pour le contact. En fonction de la façondont vous avez configuré les commandes de notifications, cela peut être utilisé pour envoyer unealerte par email au contact. Dans les bonnes circonstances, la macro $CONTACTEMAIL$ contiendracette valeur.

pagerCette variable est utilisée pour définir une adresse de pager pour le contact. Cela peut égale-ment être une adresse email de passerelle mail/pager (par exemple [email protected]). Enfonction de la façon dont vous avez configuré les commandes de notifications, cela peut êtreutilisé pour envoyer une alerte par pager au contact. Dans les bonnes circonstances, la macro$CONTACTPAGER$ contiendra cette valeur.

addressxLes variables address sont utilisées pour définir des adresses supplémentaires pour le contact.Ces adresses peuvent être n'importe quoi - numéro de téléphone mobile, adresse de messagerieinstantanée, etc. En fonction de la façon dont vous avez configuré les commandes de notifications,cela peut être utilisé pour envoyer une alerte au contact. Il est possible de définir jusqu'à sixadresses en utilisant ces variables (address1 jusqu'à address6). La macro $CONTACTADDRESSx$contiendra cette valeur.

can_submit_commandsCette variable est utilisée pour déterminer si le contact peut ou non exécuter des commandesexternes à Nagios depuis les CGIs. Valeurs :– 0= ne pas autoriser le contact à soumettre des commandes– 1= autoriser le contact à soumettre des commandes.

retain_status_informationCette variable est utlisée pour déterminer si les informations relatives aux états du contact sontconservées ou non après redémarrage du programme. C'est seulement utile si vous avez activéla rétention d'états en utilisant la variable retain_state_information . Valeur :– 0= rétention des données d'états désactivée– 1= rétention des données d'états activée

retain_nonstatus_informationCette variable est utlisée pour déterminer si les informations différentes des états du contactsont conservées après redémarrage du programme. C'est seulement utile si vous avez activé larétention d'états en utilisant la variable retain_state_information . Valeur :– 0= rétention des données autres que celles d'états désactivée– 1= rétention des données autres que celles d'états activée

19.4.6 Définition de groupe de contacts

19.4.6.1 Description

Une définition de groupe de contacts est utilisée pour grouper un ou plusieurs contacts ensemble defaçon à envoyer les notifications pour des problèmes et des retours à la normale.

19.4.6.2 Format de définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

Page 153: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

126 / 379

define contactgroup{contactgroup_name contactgroup_namealias aliasmembers contactscontactgroup_members contactgroups}

19.4.6.3 Exemple de définition :

define contactgroup {contactgroup_name novell-adminsalias Novell Administratorsmembers jdoe,rtobert,tzach

}

19.4.6.4 Description des variables :

contactgroup_nameCette variable est un nom court utilisé pour identifier le groupe de contacts.

aliasCette variable est utilisée pour définir un nom long ou une description identifiant le groupe decontacts.

membersC'est une liste de noms courts de contact qui doivent faire partie de ce groupe. Plusieurs nomsde contacts peuvent être séparés par des virgules. Cette variable peut être utilisée comme unealternative (ou en complément) à la variable contactgroups dans les définitions de contact .

contactgroup_membersCette variable optionnelle peut être utilisée pour inclure des contacts depuis des sous-groupesdans ce groupe de contacts. Précisez une liste séparée par des virgules de noms courts d'autresgroupes de contacts à inclure dans ce groupe.

19.4.7 Définition de période de temps

19.4.7.1 Description

Une période de temps est une liste de plages horaires comprises sur plusieurs jours qui sont con-sidérées comme valides pour les notifications et les contrôles de services. Cela consiste en plageshoraires définies pour chaque jour de la semaine qui tournent une fois la semaine finie. Différentstypes d'exceptions aux heurs normales de la semaine sont supportées : jours de la semaine en partic-ulier, jours de mois généraux à tous les mois, jours de certains mois et dates de calendrier.

19.4.7.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define timeperiod{timeperiod_name timeperiod_name

Page 154: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

127 / 379

alias alias[weekday] timeranges[exception] timerangesexclusion [timeperiod1,timeperiod2,…,timeperiodn]

}

19.4.7.3 Exemples de définitions

define timeperiod {timeperiod_name nonworkhoursalias Non-Work Hourssunday 00:00-24:00 ; Every Sunday of every weekmonday 00:00-09:00,17:00-24:00 ; Every Monday of every weektuesday 00:00-09:00,17:00-24:00 ; Every Tuesday of every weekwednesday 00:00-09:00,17:00-24:00 ; Every Wednesday of every weekthursday 00:00-09:00,17:00-24:00 ; Every Thursday of every weekfriday 00:00-09:00,17:00-24:00 ; Every Friday of every weeksaturday 00:00-24:00 ; Every Saturday of every week

}

define timeperiod {timeperiod_name misc-single-daysalias Misc Single Days1999-01-28 00:00-24:00 ; January 28th, 1999monday 3 00:00-24:00 ; 3rd Monday of every monthday 2 00:00-24:00 ; 2nd day of every monthfebruary 10 00:00-24:00 ; February 10th of every yearfebruary -1 00:00-24:00 ; Last day in February of every yearfriday -2 00:00-24:00 ; 2nd to last Friday of every monththursday -1 november 00:00-24:00 ; Last Thursday in November of every year

}

define timeperiod {timeperiod_name misc-date-rangesalias Misc Date Ranges2007-01-01 - 2008-02-01 00:00-24:00 ; January 1st, 2007 to February 1st, 2008monday 3 - thursday 4 00:00-24:00 ; 3rd Monday to 4th Thursday of every monthday 1 - 15 00:00-24:00 ; 1st to 15th day of every monthday 20 - -1 00:00-24:00 ; 20th to the last day of every monthjuly 10 - 15 00:00-24:00 ; July 10th to July 15th of every yearapril 10 - may 15 00:00-24:00 ; April 10th to May 15th of every yeartuesday 1 april - friday 2 may 00:00-24:00 ; 1st Tuesday in April to 2nd Friday in -

May of every year}

define timeperiod {timeperiod_name misc-skip-rangesalias Misc Skip Ranges2007-01-01 - 2008-02-01 / 3 00:00-24:00 ; Every 3 days from January 1st, 2007 to -

February 1st, 20082008-04-01 / 7 00:00-24:00 ; Every 7 days from April 1st, 2008 ( -

continuing forever)monday 3 - thursday 4 / 2 00:00-24:00 ; Every other day from 3rd Monday to 4th -

Thursday of every monthday 1 - 15 / 5 00:00-24:00 ; Every 5 days from the 1st to the 15th day -

of every monthjuly 10 - 15 / 2 00:00-24:00 ; Every other day from July 10th to July 15 -

th of every year

Page 155: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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_nameCette variable est un nom court utilisé pour identifer la période de temps.

aliasCette variable est utilisée pour définir un nom long ou une description identifiant la période detemps.

[weekday]Les variables de jours de la semaine ( sunday à saturday )sont des listes séparées par des virgulesde périodes de temps valides pour un jour particulier de la semaine. Notez qu'il y a sept joursdifférents pour lesquels vous pouvez définir des périodes de temps (dimanche à lundi). Chaquepériode de temps est sous la forme HH :MM-HH:MM, où les heures sont indiquées sur 24heures. Par exemple, 00 :15-24:00 indique 12 :15am le matin pour ce jour jusqu'à 12 :00amminuit (une période de temps total de 23 heures 45 minutes). Si vous souhaitez exclure un jourentier de la période de temps, il suffit simplement de ne pas l'inclure dans la définition de lapériode de temps.

[exception]Vous pouvez préciser plusieurs types différents d'exceptions au planning habituel de rotationdes semaines. Les exceptions peuvent prendre différentes formes comme un seul jour d'un moisparticulier ou de tous les mois, une seule semaine d'un mois ou des dates de calendrier. Vouspouvez aussi préciser une plage de jours/dates et même préciser de sauter des intervalles pourobtenir un fonctionnement du type tous les trois jours entre ces dates .Plutôt que de lister tousles formats possibles pour les exceptions, je vais vous laisser regarder les quelques exemplesde définitions de périodes de temps ci-dessus pour voir ce qui est possible. ;-) Les jours de lasemaine et d'autres types d'exceptions ont tous des niveaux différents de précédence, aussi est-il important de comprendre comment ils interagissent les uns les autres. Plus d'informations surceci peuvent être trouvées dans la documentation sur les périodes de temps.

exclusionCette variable est utilisée pour préciser les noms courts de d'autres périodes de temps dont lesplages horaires doivent être exclues de cette période de temps. Plusieurs périodes de tempspeuvent être précisées en les séparant par des virgules.

19.4.8 Définition de commande

19.4.8.1 Description

Une définition de commande n'est rien d'autre que ça. Elle définit une commande. les commandesqui peuvent être définies sont les contrôles de services, les notifications de services, les gestionnairesd'événements de services, les contrôles d'hôtes, les notifications d'hôtes et les gestionnaires d'événe-ments d'hôtes. Les définitions de commandes peuvent contenir des timeperiods mais vous devez vousassurez de n'utiliser que les macros valides dans le contexte où sera utilisée la commande. Plus d'infor-mations sur les macros disponibles et quand elles sont valides peuvent être trouvées ici. Les différentsarguments d'une définition de commande sont indiqués ci-dessous.

19.4.8.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

Page 156: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

129 / 379

define command{command_name command_namecommand_line command_line}

19.4.8.3 Exemple de définition

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

}

19.4.8.4 Description des variables

command_nameCette variable est un nom court utilisé pour identifier la commande. Ceci est référencé dans lesdéfinitions de contact, d'hôte et de service (dans les variables notification, check et eventhandler) entre autres .

command_lineCette variable est utilisée pour définir ce qui est réellement exécuté par Nagios quand la com-mande est utilisée pour les contrôles d'hôtes et de services, les notifications ou les gestionnairesd'événements .Avant que la commande ne soit exécutée, toutes les macros valides sont rem-placées par leurs valeurs respectives. Regardez la documentation des macros pour déterminerquand vous pouvez utiliser différentes macros. Notez que la ligne de commande n'est pas en-tourée par des guillemets. Également à noter que si vous souhaitez passer le signe ($) sur laligne de commande, vous devez le protéger avec un autre signe dollar.

NoteVous devriez ne pas inclure de point virgule ( ;) dans la variable command_line parce que toutce qui se trouvera après sera considéré comme commentaire de fichier de configuration. Vouspouvez contourner cette limitation en initialisant unemacro utilisateur $USERn$Macros$USERn$dans votre fichier de ressource avec un point virgule et en référençant ensuite cette macro $U-SERn$ dans la variable command_line à la place du point virgule.

Si vous souhaitez passer des arguments aux commandes pendant l'exécution, vous pouvez utiliserles macros $ARGn$Macros$ARGn$ dans la variable command_line de la définition de commandeet ensuite séparer chaque argument du nom de la commande (et pour séparer chaque argument)avec le symbole du point d'exclamation ( !) dans les variables de définitions (commande de con-trôle d'hôte, commande de gestionnaire d'événements, etc.) qui référencent cette commande.Plus d'informations sur la façon dont sont traités les arguments de commande au moment deleur exécution peuvent être trouvées dans la documentation sur les macros.

19.4.9 Définition de dépendance de service

19.4.9.1 Description

Les dépendances de services sont une fonctionnalité avancée de Nagios qui permet de supprimer desnotifications et des contrôles actifs de services en se basant sur l'état d'un ou de plusieurs autres ser-vices. Les dépendances de services sont optionnelles et sont principalement destinées aux utilisateursavancés qui ont des installations de supervision complexes. Plus d'informations sur le focntionnementdes dépendances de services (à lire absolument !) peuvent être trouvées ici.

Page 157: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

130 / 379

19.4.9.2 Format de la définition

NoteLes variables indiquées en rouge sont obligatoires alors que celles en noires sont optionnelles. Detoute façon, vous devez préciser au moins un type de critère pour que la définition soit d'une quel-conque utilité.

define servicedependency{dependent_host_name host_namedependent_hostgroup_name hostgroup_namedependent_service_description service_descriptionhost_name host_namehostgroup_name hostgroup_nameservice_description service_descriptioninherits_parent [0/1]execution_failure_criteria [o,w,u,c,p,n]notification_failure_criteria [o,w,u,c,p,n]dependency_period timeperiod_name}

19.4.9.3 Exemple de définition

define servicedependency {host_name WWW1service_description Apache Web Serverdependent_host_name WWW1dependent_service_description Main Web Siteexecution_failure_criteria nnotification_failure_criteria w,u,c

}

19.4.9.4 Description des variables

dependent_hostCette variable est utilisée pour identifier le(s) nom(s) court(s) d'hôte(s) sur lequel tourne leservice dépendant où avec lequel il est associé. Plusieurs hôtes peuvent être séparés par desvirgules. Laissez cette variable vide peut être utilisé pour créer des dépendances sur le mêmehôte.

dependent_hostgroupCette variable est utilisée pour identifier le(s) nom(s) court(s) de groupe(s) d'hôtes sur lesquelstourne le service dépendant où avec lesquels il est associé. Plusieurs groupes d'hôtes peuventêtre séparés par des virgules. La variable dependent_hostgroup peut être utilisée à la place ouen conjonction avec la variable dependent_host.

dependent_service_descriptionCette variable est utilisée pour identifier la description d'un service dépendant.

host_nameCette variable est utilisée pour identifier le(s) nom(s) court(s) d'hôte(s) sur lequel tourne leservice dont on dépend (aussi appelé service maître) où avec lequel il est associé. Plusieurshôtes peuvent être séparés par des virgules.

Page 158: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

131 / 379

hostgroup_nameCette variable est utilisée pour identifier le(s) nom(s) court(s) de groupe(s) d'hôtes sur lequeltourne le service dont on dépend (aussi appelé service maître) où avec lequel il est associé.Plusieurs groupes hôtes peuvent être séparés par des virgules. La variable hostgroup_name peutêtre utilisé à la place ou en conjonction avec la variable host_name.

service_descriptionCette variable est utilisée pour identifier la description du service dont on dépend (aussi appeléservice maître).

inherits_parentCette variable indique si la dépendance hérite des dépendances du service dont on dépend (aussiappelé service maître). En d'autres termes, si le service maître est dépendant de plusieurs autresservices et qu'une des ces dépendances échoue, alors cette dépendance échouera également.

execution_failure_criteriaCette variable est utilisée pour péciser les critères qui déterminent quand le service dépendantne doit pas être contrôlé activement. Si le service maître est dans un état d'erreur que nousprécisons, le service dépendant ne sera pas contrôlé activement. Les options valides sont unecombinaison d'un ou de plusieurs des état suivants (les options multiples sont séparées par desvirgules).– 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é vérifié).– n (none) : la dépendance d'exécution n'échouera jamais et les contrôles du service dépendantseront toujours faits activement (si d'autres conditions permettent de le faire).

Si vous précisez o,c,u dans ce champ, le service dépendant ne sera pas contrôlé activement si leservice maître est dans un des états OK, CRITICAL ou UNKNOWN.

notification_failure_criteriaCette variable est utilisée pour définir les critères qui déterminent quand les notifications pourle service dépendant ne doivent pas être envoyées. Si le service maître est dans un des étatsd'erreur que nous précisons, les notifications pour le service dépendants ne seront pas envoyéesaux 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é vérifié).– n (none) : la dépendance de notification n'échouera jamais et les notifications du service dépen-dant seront toujours envoyées.

Si vous précisez w dans ce champ, les notifications pour le service dépendant ne seront pasenvoyées si le service maître est dans un état WARNING.

dependency_periodCette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle lesdépendances sont valides. Si cette variable est vide, les dépendances seront considérées commevalides tout le temps.

19.4.10 Définition d'escalade de service

19.4.10.1 Description

Les escalades de services sont complètement optionnelles et sont utilisées pour escalader les notifi-cations d'un service particulier. Plus d'informations sur le fonctionnement des escalades peuvent êtretrouvées ici.

Page 159: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

132 / 379

19.4.10.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define serviceescalation{host_name host_namehostgroup_name hostgroup_nameservice_description service_descriptioncontacts contactscontact_groups contactgroup_namefirst_notification #last_notification #notification_interval #escalation_period timeperiod_nameescalation_options [w,u,c,r]}

19.4.10.3 Exemple de définition

define serviceescalation {host_name nt-3service_description Processor Loadfirst_notification 4last_notification 0notification_interval 30contact_groups all-nt-admins,themanagers

}

19.4.10.4 Description des variables

host_nameLa variable est utilisée pour identifer le(s) nom(s) court(s) de(s) hôte(s) pour lesquel(s) l'escaladede service doit s'appliquer ou auquel(s) il est associé.

hostgroup_nameLa variable est utilisée pour identifer le(s) nom(s) court(s) des groupe(s) d'hôtes pour lesquel(s)l'escalade de service doit s'appliquer ou auquel(s) il est associé. Plusieurs groupes d'hôtes peu-vent être séparés par des virgules. La variable hostgroup_name peut être utilisée à la place ouen conjonction avec la variable host_name.

service_descriptionCette variable est utilisée pour identifier la description du service pour lequel s'applique l'escalade.

first_notificationCette variable est un nombre identifiant la première notification pour laquelle l'escalade est ef-fective. Par exemple, si vous mettez cette valeur à 3, cette escalade sera seulement utilisée si leservice est dans un état non-OK depuis suffisamment longtemps pour qu'une troisième notifica-tion soit envoyée.

last_notificationCette variable est un nombre identifiant la dernière notification pour laquelle l'escalade est ef-fective. Par exemple, si vous mettez cette valeur à 5, cette escalade ne sera pas utilisée si plus decinq notifications ont été envoyées pour le service. Mettre cette valeur à 0 précise de continuerà utiliser cette escalade sans fin (peu importe le nombre de notifications envoyées).

Page 160: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

133 / 379

contactsC'est une liste de noms courts de contacts à notifier à chaque fois qu'il y a des problèmes (ou desretours à la normale) avec ce service. Plusieurs contacts peuvent être précisés en les séparantpar des virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes etque vous ne souhaitez pas configurer des groupes de contacts. Vous devez préciser au moins uncontact ou un groupe de contacts dans chaque définition d'escalade de service.

contact_groupsC'est une liste de noms courts de groupes de contacts à notifier à chaque fois que ce serviceest escaladé. Plusieurs groupes de contacts peuvent être précisés en les séparant par des vir-gules. Vous devez préciser au moins un contact ou un groupe de contacts dans chaque définitiond'escalade de service.

notification_intervalCette variable est utilisée pour déterminer l'intervalle auquel envoyer les notifications pendantque l'escalade est valide. Si vous précisez une valeur de 0 pour cet intervalle, Nagios va envoyerla première notification quand la définition d'escalade est valide mais prendra soin de ne plus en-voyer aucune notification de problème pour l'hôte. Les notifications sont renvoyées quand l'hôterevient à la normale. Utile si vous souhaitez arrêter l'envoi des notifications après un certaintemps.

NoteSi de multiples entrées d'escalade pour un hôte se chevauchent sur une ou plusieurs plages denotifications, le plus petit des intervalles de notification pour toutes les escalades sera utilisé.

escalation_periodCette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelleles escalades sont valides. Si cette variable est vide, les escalades seront considérées commevalides tout le temps.

escalation_optionsCette variable est utilisée pour définir les critères qui déterminent si une escalade de servicedoit être utilisé. L'escalade est seulement utilisée si le service est dans un des états précisésdans cette variable. Si cette variable n'est pas précisée dans la définition d'escalade de service,l'escalade est considérée comme valide pendant l'ensemble des états du service. Les optionsvalides 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 CRITICALSi vous précisez w dans ce champ, l'escalade sera seulement utilisée quand le service est en étatWARNING.

19.4.11 Définitions de dépendance d'hôte

19.4.11.1 Description

Les dépendances de services sont une fonctionnalité avancée de Nagios qui permet de supprimerdes notifications et des contrôles actifs d'hôtes en se basant sur l'état d'un ou de plusieurs autreshôtes. Les dépendances d'hôtes sont optionnelles et sont principalement destinées aux utilisateursavancés qui ont des installations de supervision complexes. Plus d'informations sur le focntionnementdes dépendances de services (à lire absolument !) peuvent être trouvées ici.

Page 161: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

134 / 379

19.4.11.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define hostdependency{dependent_host_name host_namedependent_hostgroup_name hostgroup_namehost_name host_namehostgroup_name hostgroup_nameinherits_parent [0/1]execution_failure_criteria [o,d,u,p,n]notification_failure_criteria [o,d,u,p,n]dependency_period timeperiod_name}

19.4.11.3 Exemple de définition

define hostdependency {host_name WWW1dependent_host_name DBASE1notification_failure_criteria d,u

}

19.4.11.4 Description des variables

dependent_host_nameCette variable est utilisée pour identifier la description d'un hôte dépendant. Plusieurs hôtespeuvent être séparés par des virgules.

dependent_hostgroup_nameCette variable est utilisée pour identifier le(s) nom(s) court(s) de groupes d'hôtes dépendants.Plusieurs groupes d'hôtes peuvent être séparés par des virgules. La variable dependent_hostg-roup_name peut être utilisée à la place ou en conjonction avec la variable dependent_host_name.

host_nameCette variable est utilisée pour identifier la description d'un hôte dont on dépend (aussi appeléhôte maître). Plusieurs hôtes peuvent être séparés par des virgules.

hostgroup_nameCette variable est utilisée pour identifier le(s) nom(s) court(s) de groupes d'hôtes dont on dépend(aussi appelé hôte maître). Plusieurs groupes d'hôtes peuvent être séparés par des virgules. Lavariable hostgroup_name peut être utilisée à la place ou en conjonction avec la variable host_-name.

inherits_parentCette variable indique si la dépendance hérite des dépendances de l'hôte dont on dépend (aussiappelé hôte maître). En d'autres termes, si l'hôte maître est dépendant de plusieurs autres hôteset qu'une des ces dépendances échoue, alors cette dépendance échouera également.

execution_failure_criteriaCette variable est utilisée pour préciser les critères qui déterminent quand l'hôte dépendant nedoit pas être contrôlé activement. Si l'hôte maître est dans un état d'erreur que nous précisons,l'hôte dépendant ne sera pas contrôlé activement. Les options valides sont une combinaison d'unou de plusieurs des état suivants (les options multiples sont séparées par des virgules).

Page 162: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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'hôte n'a pas encore été contrôlé)– n (none) : la dépendance d'exécution n'échouera jamais et les contrôles de l'hôte dépendantseront toujours faits activement (si d'autres conditions permettent de le faire).

Si vous précisez u,d dans ce champ, l'hôte dépendant ne sera pas contrôlé activement si l'hôtemaître est dans un des états UNREACHABLE ou DOWN.

notification_failure_criteriaCette variable est utilisée pour définir les critères qui déterminent quand les notifications pourl'hôte dépendant ne doivent pas être envoyées. Si l'hôte maître est dans un des états d'erreurque nous précisons, les notifications pour l'hôte dépendant ne seront pas envoyées 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'hôte n'a pas encore été contrôlé)– n (none) : la dépendance de notification n'échouera jamais et les notifications de l'hôte dépen-dant seront toujours envoyées.

Si vous précisez d dans ce champ, les notifications pour l'hôte dépendant ne seront pas envoyéesquand l'hôte maître est dans un état DOWN.

notification_failure_criteriaCette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle lesdépendances sont valides. Si cette variable est vide, les dépendances seront considérées commevalides tout le temps.

19.4.12 Définition d'escalade d'hôte

19.4.12.1 Description

Les escalades d'hôtes sont complètement optionnelles et sont utilisées pour escalader les notificationsd'un hôte particulier. Plus d'informations sur le fonctionnement des escalades peuvent être trouvéesici.

19.4.12.2 Format de la définition

NoteLes variables en rouge sont requises alors que celles en noir sont optionnelles.

define hostescalation{host_name host_namehostgroup_name hostgroup_namecontacts contactscontact_groups contactgroup_namefirst_notification #last_notification #notification_interval #escalation_period timeperiod_nameescalation_options [d,u,r]}

Page 163: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

136 / 379

19.4.12.3 Exemple de définition

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

}

19.4.12.4 Description des variables

host_nameLa variable est utilisée pour identifer le nom court de hôte pour lesquel l'escalade doit s'appliquer.

hostgroup_nameCette variable est utilisée pour identifier le(s) nom(s) court(s) des groupe(s) d'hôtes auxquelsdoit s'appliquer cette escalade. Plusieurs groupes d'hôtes peuvent être séparés par des virgules.Si utilisée, l'escalade s'appliquera à tous les hôtes membres des groupes d'hôtes spécifiés.

first_notificationCette variable est un nombre identifiant la première notification pour laquelle l'escalade esteffective. Par exemple, si vous mettez cette valeur à 3, cette escalade sera seulement utilisée sil'hôte est dans un état non-OK depuis suffisamment longtemps pour qu'une troisième notificationsoit envoyée.

last_notificationCette variable est un nombre identifiant la dernière notification pour laquelle l'escalade est ef-fective. Par exemple, si vous mettez cette valeur à 5, cette escalade ne sera pas utilisée si plusde cinq notifications ont été envoyées pour l'hôte. Mettre cette valeur à 0 précise de continuer àutiliser cette escalade sans fin (peu importe le nombre de notifications envoyées).

contactsC'est une liste de noms courts de contacts à notifier à chaque fois qu'il y a des problèmes (oudes retours à la normale) avec cet hôte. Plusieurs contacts peuvent être précisés en les séparantpar des virgules. Utile si vous souhaitez envoyer des notifications vers quelques personnes etque vous ne souhaitez pas configurer des groupes de contacts .Vous devez préciser au moins uncontact ou un groupe de contacts dans chaque définition d'escalade d'hôte.

contact_groupsC'est une liste de noms courts de groupes de contacts à notifier à chaque escalade de l'hôte.Plusieurs groupes de contacts peuvent être précisés en les séparant par des virgules. Vous devezpréciser au moins un contact ou un groupe de contacts dans chaque définition d'escalade d'hôte.

notification_intervalCette variable est utilisée pour déterminer l'intervalle auquel envoyer les notifications pendantque l'escalade est valide. Si vous précisez une valeur de 0 pour cet intervalle, Nagios va envoyerla première notification quand la définition d'escalade est valide mais prendra soin de ne plus en-voyer aucune notification de problème pour l'hôte. Les notifications sont renvoyées quand l'hôterevient à la normale. Utile si vous souhaitez arrêter l'envoi des notifications après un certaintemps.

NoteSi de multiples entrées d'escalade pour un hôte se chevauchent sur une ou plusieurs plages denotifications, le plus petit des intervalles de notification pour toutes les escalades sera utilisé.

escalation_periodCette variable est utilisée pour préciser le nom court d'une période de temps pendant laquelle

Page 164: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

137 / 379

les escalades sont valides. Si cette variable est vide, les escalades seront considérées commevalides tout le temps.

escalation_optionsCette variable est utilisée pour définir les critères qui déterminent si une escalade d'hôte doitêtre utilisée. L'escalade est seulement utilisée si l'hôte est dans un des états précisés dans cettevariable. Si cette variable n'est pas précisée dans la définition d'escalade d'un hôte, l'escaladeest considérée comme valide pendant l'ensemble des états du service. Les options valides sontune 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 UNREACHABLESi vous précisez d dans ce champ, l'escalade sera seulement utilisée quand l'hôte est dans unétat DOWN.

19.4.13 Définition des informations étendues d'hôtes

19.4.13.1 Description

Les entrées d'informations étendues d'hôtes sont utilisées à la base pour améliorer les vues des CGIsstatus, statusmap, statuswrl et extinfo. Elles n'ont aucun effet sur la supervision et sont complètementoptionnelles.

ASTUCEDepuis Nagios 3.x, toutes les variables contenues dans les définitions d'informations étendues d'hôtesont aussi disponibles dans les définitions d'hôtes .Vous pouvez choisir de définir ces variables sousvos définitions d'hôtes si cela rend votre configuration plus simple. Des définitions d'informationsétendues d'hôte séparées continueront à être supportées pour conserver la compatibilité avec lesanciennes versions.

19.4.13.2 Format de la définition

NoteLes variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant,vous devez au moins préciser une variable optionnelle dans chaque définition pour que ce soit d'unequelconque utilité.

define hostextinfo{host_name host_namenotes note_stringnotes_url urlaction_url urlicon_image image_fileicon_image_alt alt_stringvrml_image image_filestatusmap_image image_file2d_coords x_coord,y_coord3d_coords x_coord,y_coord,z_coord}

Page 165: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

138 / 379

19.4.13.3 Exemple de définition :

define hostextinfo {host_name netware1notes This is the primary Netware file servernotes_url http://webserver.localhost.localdomain/hostinfo.pl?host=netware1icon_image novell40.pngicon_image_alt IntranetWare 4.11vrml_image novell40.pngstatusmap_image novell40.gd22d_coords 100,2503d_coords 100.0,50.0,75.0

}

19.4.13.4 Descriptions de variable

host_nameCette variable est utilisée pour identifier le nom court de l'hôte auquel associées les données.

notesCette variable est utilisée pour préciser une note d'information à rattacher à l'hôte. Si vous avezprécisé une note ici, vous la verrez dans le CGI des informations étendues (quand vous regardezles informations d'un hôte spécifié).

notes_urlCette variable est utilisée pour définir une URL optionnelle fournissant des informations supplé-mentaires sur l'hôte. Si vous précisez une URL, vous verrez un lien indiquant Extra Host Notesdans le CGI extended information (quand vous regardez les informations de l'hôte). N'importequelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin debase sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peutêtre utile si vous souhaitez mettre à disposition d'autres équipes de support les informationsdétaillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

action_urlCette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémen-taires sur l'hôte. Si vous précisez une URL, vous verrez un lien indiquant Extra Host Actionsdans le CGI extended information (quand vous regardez les informations de l'hôte). N'importequelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le chemin debase sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_imageCette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associerà cet hôte. Cette image sera affichée dans les CGIs status et extended information. Le rendu del'image sera maximal si celle-ci est au format 40x40 pixels. Les images des hôtes sont censéesse trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_altCette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'at-tribut ALT de l'image précisée par l'argument <icon_image>. L'attribut ALT peut être utilisé dansles CGIs status, extended information et statusmap.

vrml_imageCette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associer àcet hôte. Cette image sera utilisée comme fond de carte pour l'hôte spécifié dans le CGI statuswrl.Au contraire de l'image utilisée dans la variable <icon_image>, celle-ci ne devrait pas avoird'attribut de transparence. Si c'est le cas, le rendu de l'hôte sera un peu bizarre. Les images deshôtes sont censées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML(par exemple /usr/local/nagios/share/images/logos).

Page 166: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

139 / 379

statusmap_imageCette variable est utlisée pour définir le nom d'une image à associer à l'hôte dans le CGI sta-tusmap. Vous pouvez utiliser une image au format JPEG, PNG ou GIF si vous voulez, mais jevous recommande vivement d'utiliser le format d'image GD2 pour ne pas perdre de temps CPUen calcul (comme c'est le cas avec les autres formats) quand vous générez la carte d'états. Lesimages GD2 peuvent être créées à partir d'image PNG en utilisant l'utilitaire pngtogd2 fourniavec la librairie gd de Thomas Boutell. Les images au format GD2 doivent être créées dans unformat non compressé toujours pour minimiser la charge CPU au moment de charger la carteréseau. Le rendu de l'image sera maximal si vous utilisez une taille de 40x40 pixels. Vous pouvezlaisser cette option vide si vous n'utilisez pas le CGI de carte d'états. Les images des hôtes sontcensées se trouver dans le sous-répertoire logos/ de votre dossier d'images HTML (par exemple/usr/local/nagios/share/images/logos).

2d_coordsCette variable est utilisée pour définir les coordonnées à utiliser pour l'hôte dans le CGI sta-tusmap. Les coordonnées doivent être données en entier positif car correpsondant aux pixelsdans l'image générée. Le départ de la carte (0,0) se trouve dans le coin supérieur gauche del'image et s'étend en positif dans la direction x (à droite) à partir du haut de l'image et en positifdans la direction y (bas) à partir du bord gauche de l'image. Pour référence, la taille des icônesest habituellement de 40x40 pixels (le texte prend un peu d'espace supplémentaire). Les coor-données que vous précisez ici sont pour le coin supérieur gauche de l'icône de l'hôte à dessiner.

NoteNe vous inquiétez pas du nombre maximal de coordonnées que vous pouvez utliser ici. Le CGIva automatiquement calculer les dimensions maximales de l'image qu'il créée en se basant surles plus grandes valeurs x et y que vous avez précisé.

3d_coordsCette variable est utilisée pour définir les coordonnées de l'hôte à utiliser dans le CGI sta-tuswrl. Les coordonnées peuvent être des nombres positifs ou négatifs. Le départ du dessin est(0.0,0.0,0.0). Pour référence, la taille des cubes pour les hôtes est de 0,5 unités de chaque côté(les textes prennent un plus d'espace). Les coordonnées que vous utilisez sont le centre du cubede l'hôte.

19.4.14 Définition des informations étendues de services

19.4.14.1 Description

Les entrées d'informations étendues de services sont utilisées à la base pour améliorer les vues desCGIs status et extinfo. Elles n'ont aucun effet sur la supervision et sont complètement optionnelles.

ASTUCEDepuis Nagios 3.x, toutes les variables contenues dans les définitions d'informations étendues deservice sont aussi disponibles dans les définitions de services .Vous pouvez choisir de définir cesvariables sous vos définitions de services si cela rend votre configuration plus simple. Des défini-tions d'informations étendues de service séparées continueront à être supportées pour conserver lacompatibilité avec les anciennes versions.

Page 167: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

140 / 379

19.4.14.2 Format de la définition

NoteLes variables en rouge sont obligatoires alors que celles en noires sont optionnelles. Cependant,vous devez au moins préciser une variable optionnelle dans chaque définition pour que ce soit d'unequelconque utilité.

define serviceextinfo{host_name host_nameservice_description service_descriptionnotes note_stringnotes_url urlaction_url urlicon_image image_fileicon_image_alt alt_string}

19.4.14.3 Exemple de définition

define serviceextinfo {host_name linux2service_description Log Anomaliesnotes Security-related log anomalies on secondary Linux servernotes_url http://webserver.localhost.localdomain/serviceinfo.pl?host=linux2 -

&service=Log+Anomaliesicon_image security.pngicon_image_alt Security-Related Alerts

}

19.4.14.4 Descriptions de variable

host_nameCette variable est utilisée pour identifier le nom court du service auquel sont associées lesdonnées.

service_descriptionCette variable est utilisée pour identifier le nom court du service auquel sont associées lesdonnées.

notesCette variable est utilisée pour préciser une note d'information à rattacher au service. Si vousavez précisé une note ici, vous la verrez dans le CGI des informations étendues (quand vousregardez les informations de service spécifié).

notes_urlCette variable est utilisée pour définir une URL optionnelle fournissant des informations supplé-mentaires sur le service. Si vous précisez une URL, vous verrez un lien indiquant Extra ServiceNotes dans le CGI extended information (quand vous regardez les informations du service). N'im-porte quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le cheminde base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/). Peutêtre utile si vous souhaitez mettre à disposition d'autres équipes de support les informations dé-taillées d'un hôte, les moyens de contacts à utiliser en cas d'urgence, etc.

Page 168: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

141 / 379

action_urlCette variable est utilisée pour définir une URL optionnelle fournissant des actions supplémen-taires sur le service. Si vous précisez une URL, vous verrez un lien indiquant Extra Service Ac-tions dans le CGI extended information (quand vous regardez les informations du service). N'im-porte quelle URL valide peut être utilisée. Si vous pensez utiliser des chemins relatifs, le cheminde base sera le même que celui utilisé pour accéder aux CGIs (par exemple /cgi-bin/nagios/).

icon_imageCette variable est utilisée pour définir le nom d'une image au format GIF, PNG ou JPG à associerà l'hôte. Cette image sera affichée dans plusieurs endroits des CGIs. Le rendu de l'image seramaximal si celle-ci est au format 40x40 pixels. Les images des hôtes sont censées se trouver dansle sous-répertoire logos/ de votre dossier d'images HTML (par exemple /usr/local/nagios/share/images/logos).

icon_image_altCette variable est utilisée pour définir une chaîne de caractères optionnelle à utiliser dans l'at-tribut ALT de l'image précisée par l'argument <icon_image>. L'attribut ALT peut être utilisé dansles CGIs status, extended information et statusmap.

Page 169: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

142 / 379

Chapitre 20

Variables personnalisées d'objet

20.1 Introduction

Les utilisateurs demandent souvent que de nouvelles variables puissent être ajoutées aux définitionsd'hôtes, de services et de contacts. Ceci inclut des variables comme la communauté du protocole SNMPl'adresse MAC, le nom d'utilisateur AIM, le numéro Skype ou une simple adresse. Le problème que jevois à faire ça est que Nagios devient alors moins générique et plus spécifique à un type d'infrasctruc-ture. Nagios a été prévu pour être flexible, ce qui sous-entend que les choses doivent être pensées defaçon générique. Par exemple, les définitions d'hôtes dans Nagios ont une variable générique addressqui peut contenir n'importe quoi ; de la simple adresse IP à l'adresse complète de type FQDN; quoiquesoit d'approprié à l'utilisateur.Pourtant, il y a bien un besoin pour les administrateurs d'avoir la possibilité de stocker des informa-tions à propos des composants de leur infrastructure dans la configuration de Nagios sans imposerun ensemble de variables spécifiques pour les autres. Nagios essaie de solutionner ce problème enautorisant les utilisateurs à définir des variables personnalisées dans leurs définitions d'objets. Lesvariables personnalisées permettent aux utilisateurs de définir des propriétés supplémentaires pourleurs hôtes, services et définitions de contacts et d'utiliser leurs valeurs dans les notifications, lesgestionnaires d'événements et les contrôles d'hôtes et de services.

20.2 Principes de base des variables personnalisées

Il y a quelques points importants que vous devriez connaître sur les variables personnalisées :

– Les noms de variables personnalisées doivent commencer par un underscore (_) pour prévenir toutconflit avec les variables standards.

– Les noms de variables personnalisées sont insensibles à la casse– Les variables personnalisées sont héritées des gabarits d'objets comme n'importe quelle variablestandard

– Les scripts peuvent référencer des valeurs de variables personnalisées avec les variables d'environ-nement et les macros

20.3 Exemples

Voici un exemple de la façon dont peuvent être définies les variables personnalisées dans différentstypes de définitions d'objets

Page 170: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

143 / 379

define host {host_name linuxserver_mac_address 00:06:5B:A6:AD:AA ; <-- Custom MAC_ADDRESS variable_rack_number R32 ; <-- Custom RACK_NUMBER variable...

}

define service {host_name linuxserverdescription Memory Usage_SNMP_community public ; <-- Custom SNMP_COMMUNITY variable_TechContact Jane Doe ; <-- Custom TECHCONTACT variable

...}

define contact {contact_name john_AIM_username john16 ; <-- Custom AIM_USERNAME variable_YahooID john32 ; <-- Custom YAHOOID variable...

}

20.4 Les variables personnalisées comme macro

Les variables personnalisées peuvent être référencées dans des scripts et exécutables que Nagiosutilisent pour exécuter les contrôles, notifications, etc… en utilisant les macros ou variables d'envi-ronnement.Pour éviter tous conflits de noms parmi les variables personnalisées de différents types d'objets, Na-gios ajoute _HOST, _SERVICE ou _CONTACT au début des variables personnalisées d'hôtes, de ser-vices et de contacts des macros et des variables d'environnement. Le tableau ci-dessous montre lacorrespondance entre les variables personnalisées et leur macro ou variable d'environnement respec-tives pour les variables personnalisées définies dans l'exemple précédent.

Typed'objet

Nom de lavariable Nom de la macro Variable d'environnement

Hôte MAC_ADDRESS $_HOSTMAC_ADDRESS$ NAGIOS__HOSTMAC_ADDRESSHôte RACK_NUMBER $_HOSTRACK_NUMBER$ NAGIOS__HOSTRACK_NUMBERService SNMP_COMMUNITY$_SERVICESNMP_COMMUNITY$NAGIOS__SERVICESNMP_COMMUNITYService TECHCONTACT $_SERVICETECHCONTACT$ NAGIOS__SERVICETECHCONTACTContact AIM_USERNAME $_CONTACTAIM_USERNAME$NAGIOS__CONTACTAIM_USERNAMEContact YAHOOID $_CONTACTYAHOOID$ NAGIOS__CONTACTYAHOOID

20.5 Variables personnalisées et héritage

Les variables personnalisées d'objets peuvent être héritées comme n'importe quelle variable standardd'hôte, de service ou de contact.

Page 171: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

144 / 379

Chapitre 21

Options du fichier de configuration desCGIs

NoteLors de la création et/ou l'édition des fichiers de configuration, gardez ce qui suit à l'esprit :– Les lignes commençant par le caractère '#' sont considérées comme des commentaires et ne sontdonc pas traitées

– Les noms des variables doivent commencer au début de la ligne - ne mettez pas d'espace avantle nom

– Les noms des variables respectent la casse (majuscule/minuscule)

21.1 Exemple de configuration

ASTUCEUn exemple de fichier de configuration 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 fichier de configuration

Par défaut, Nagios s'attend à trouver le fichier de configuration des CGIs sous le nom cgi.cfg dansle répertoire de configuration avec le fichier de configuration principal .Si vous changez le nom oul'emplacement du fichier, vous devez configurer Apache pour qu'il passe une variable d'environnementnommée NAGIOS_CGI_CONFIG (contenant l'emplacement correct du fichier) aux CGIs de Nagios. Voirla configuration d'Apache pour plus de détails.

21.3 Variables du fichier de configuration

Ci-dessous, vous trouverez les descriptions de chaque option de configuration du fichier principal deNagios…

Page 172: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

145 / 379

21.3.1 Emplacement du fichier de configuration principal

Format: main_config_file=<file_name>Exemple: main_config_file=/usr/local/nagios/etc/nagios.cfg

Cette option détermine le chemin d'accès à votre fichier de configuration principal .Les CGIs doiventsavoir où trouver ce fichier pour récupérer les informations de configuration, l'état courant des hôteset des services, etc.

21.3.2 Chemin d'accès physique aux fichiers HTML

Format: physical_html_path=<path>Exemple: physical_html_path=/usr/local/nagios/share

C'est le chemin du répertoire physique de votre serveur où sont stockés les fichiers HTML de Nagios.Nagios suppose que la documentation et les images (utilisées par les CGIs) sont stockées dans dessous-répertoires nommés respectivement docs/ et images/.

21.3.3 URL d'accès aux pages HTML

Format: url_html_path=<path>Exemple: url_html_path=/nagios

Si, lors de l'accès à Nagios via un navigateur web, vous pointez sur une URL du type http://www.my-host.com/nagios, cette variable doit avoir pour valeur /nagios. En fait, il s'agit de la partie contenantle chemin d'accès aux pages HTML de Nagios dans l'URL utilisée pour accéder aux pages HTML deNagios.

21.3.4 Utilisation de l'authentification

Format: use_authentication=<0/1>Exemple: use_authentication=1

Cette option détermine si les CGIs utiliseront l'authentification et les autorisations pour déterminerles informations et les commandes auxquelles les utilisateurs auront accès. Je vous recommande vive-ment d'utiliser l'authentification dans les CGIs. Si vous choisissez de ne pas le faire, assurez-vousde supprimer le CGI de commande pour empêcher les utilisateurs non autorisés d'envoyer des com-mandes à Nagios. Ce CGI ne devrait pas envoyer de commandes à Nagios si l'authentification estdésactivée, mais deux précautions valent mieux qu'une. Vous trouverez plus d'informations sur lafaçon de configurer l'authentification et les autorisations dans les CGIs ici.

– 0 = Ne pas utiliser l'authentification– 1 = Utiliser l'authentification et les autorisations (par défaut)

21.3.5 Nom d'utilisateur par défaut

Page 173: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

146 / 379

Format: default_user_name=<username>Exemple: default_user_name=guest

Cette variable définit un nom d'utilisateur par défaut pour accéder aux CGIs. Ainsi les utilisateursd'un domaine sécurisé (i.e., derrière un firewall) peuvent accéder aux CGIs sans avoir à s'authentifierauprès du serveur web. Vous pouvez choisir cette fonctionnalité pour éviter le recours à l'authentifi-cation de base si vous n'utilisez pas un serveur web sécurisé, car l'authentification de base transmetles mots de passe en clair sur Internet.

ImportantNe définissez pas un utilisateur par défaut à moins que vous n'utilisiez un serveur web sécuriséet que vous soyez sûr que tous ceux qui ont accès aux CGIs ont été authentifiés d'une manièreou d'une autre ! Si vous définissez cette variable, ceux qui ne se sont pas authentifiés auprèsdu serveur web hériteront de tous les droits que vous donnez à cet utilisateur !

21.3.6 Accès aux informations sur le système et le processus

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

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir les infor-mations sur le système et le processus dans les CGIs d'informations complémentaires. Les utilisateursde cette liste ne sont pas automatiquement autorisés à passer des commandes système/processus. Sivous voulez que des utilisateurs puissent aussi passer ces commandes, il faut les ajouter à la vari-able authorized_for_system_commands. Vous trouverez plus d'informations sur la façon de configurerl'authentification et les autorisations des CGIs ici.

21.3.7 Accès aux commandes du système/processus

Format: authorized_for_system_commands=<user1>,<user2>,…<usern>Exemple: authorized_for_system_commands=nagiosadmin

C'est une liste de nom d'utilisateurs authentifiés, séparés par des virgules, qui peuvent passer descommandes système/processus via le CGI de commande. Les utilisateurs de cette liste ne sont pasautomatiquement autorisés à visualiser les informations sur le système et le processus. Si vous voulezque des utilisateurs puissent visualiser ces informations aussi, il faut les ajouter à la variable autho-rized_for_system_information. Vous trouverez plus d'informations sur la façon de configurer l'authen-tification et les autorisations des CGI ici.

21.3.8 Accès aux informations de configuration

Format: authorized_for_configuration_information=<user1>,<user2>,…<usern>Exemple: authorized_for_configuration_information=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir les in-formations liées à la configuration via le CGI de configuration. Les utilisateurs de cette liste peuventvoir les informations sur tous les hôtes configurés, les groupes d'hôtes, les services, les contacts, les

Page 174: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

147 / 379

groupes de contacts, les périodes, et les commandes. Vous trouverez plus d'informations sur la façonde configurer l'authentification et les autorisations dans les CGI ici.

21.3.9 Accès global aux informations sur les hôtes

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

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir l'étatet la configuration de tous les hôtes. Les utilisateurs de cette liste sont également automatique-ment autorisés à voir les informations de tous les services. Les utilisateurs de cette liste ne sontpas automatiquement autorisés à envoyer des commandes aux hôtes ou aux services. Si vous voulezque des utilisateurs puissent aussi envoyer des commandes, il faut les ajouter à la variable autho-rized_for_all_host_commands. Vous trouverez plus d'informations sur la façon de configurer l'authen-tification et les autorisations des CGIs ici.

21.3.10 Accès global aux commandes des hôtes

Format: authorized_for_all_host_commands=<user1>,<user2>,…<usern>Exemple: authorized_for_all_host_commands=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent envoyer descommandes à tous les hôtes via le CGI de commande. Les utilisateurs de cette liste sont égalementautomatiquement autorisés à envoyer des commandes à tous les services. Les utilisateurs de cetteliste ne sont pas automatiquement autorisés à voir l'état ou la configuration de tous les hôtes ouservices. 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 façon de configurerl'authentification et les autorisations des CGIs ici.

21.3.11 Accès global aux informations sur les services

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

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir l'état etla configuration de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement au-torisés à voir les informations de tous les hôtes. Les utilisateurs de cette liste ne sont pas automatique-ment autorisés à envoyer des commandes à tous les services. Si vous voulez que des utilisateurs puis-sent aussi envoyer des commandes, il faut les ajouter à la variable authorized_for_all_service_commands.Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations desCGIs ici.

21.3.12 Accès global aux commandes des services

Format: authorized_for_all_service_commands=<user1>,<user2>,<user3>,…<usern>Exemple: authorized_for_all_service_commands=nagiosadmin

Page 175: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

148 / 379

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent envoyer descommandes à tous les services via le CGI de commande. Ils ne sont pas non plus automatiquementautorisés à envoyer des commandes aux hôtes. Les utilisateurs de cette liste ne sont pas automatique-ment autorisés à voir l'état ou la configuration de tous les services. Si vous voulez que des utilisateurspuissent aussi voir ces informations, il faut les ajouter à la variable authorized_for_all_services. Voustrouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGIsici.

21.3.13 Vérouillage des noms d'auteur

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

Cette option vous autorise à restreindre le fait que les utilisateurs puissent changer le nom de l'auteurquand ils soumettent des commentaires, des acquittements, et une période de maintenance planifiéedepuis l'interface web. Quand cette option est activée, les utilisateurs peuvent changer le nom del'auteur associé à la requête.

– 0 = Autorise les utilisateurs à changer les noms d'auteur quand ils soumettent des commandes– 1 = Empêche les utilisateurs de changer les noms d'auteur quand ils soumettent des commandes(défaut)

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

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

Cette option permet de spécifier une image qui sera utilisée comme fond d'image dans le CGI de car-tographie des états si vous utilisez la méthode de dessin des coordonnées définies par l'utilisateur.L'image de fond n'est disponible dans aucune autre méthode. Il est supposé que l'image est situéedans le chemin des images HTML ( c.a.d /usr/local/nagios/share/images). Ce chemin est automa-tiquement déterminé en ajoutant /images au chemin défini dans le paramètre physical_html_path.

NoteCette image peut être au format GIF, JPEG, PNG, ou GD2. Cependant, le format GD2 (de préférenceen format non compressé) est recommandé, en raison de la faible charge CPU requise quand le CGIgénère l'image.

21.3.15 Dessin de la cartographie des états : valeur par défaut

Format: default_statusmap_layout=<layout_number>Exemple: default_statusmap_layout=4

Cette option définit la méthode de dessin utilisée par défaut par le CGI de cartographie des états .Lesvaleurs autorisées sont :

Valeur <layout_number> Méthode de dessin0 Coordonnées définies par l'utilisateur

Page 176: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

149 / 379

Valeur <layout_number> Méthode de dessin1 Couches imbriquées2 Arbre réduit3 Arbre équilibré4 Circulaire5 Circulaire (avec marque supérieure)6 Circulaire (sous forme de ballon)

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

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

Cette option permet d'inclure ses propres objets dans le monde VRML généré. Elle suppose que lefichier est situé dans le chemin défini par le paramètre physical_html_path.

NoteCe fichier doit être un monde VRML valide (c.a.d que vous devez pouvoir le visualiser avec un navi-gateur VRML)

21.3.17 Dessin du monde des états : valeur par défaut

Format: default_statuswrl_layout=<layout_number>Exemple: default_statuswrl_layout=4

Cette option définit la méthode utilisée par défaut pour dessiner le monde VRML avec le CGI concerné(Statusvrml) .Les options autorisées sont :

Valeur <layout_number> Méthode de dessin0 Coordonnées définies par l'utilisateur2 Arbre réduit3 Arbre équilibré4 Circulaire

21.3.18 Fréquence de rafraîchissement des CGIs

Format: refresh_rate=<rate_in_seconds>Exemple: refresh_rate=90

Cette option vous permet de spécifier le délai en secondes entre deux rafraîchissements de page dansles CGI d'état, de cartographie des états, et d'informations complémentaires .

21.3.19 Alertes sonores

Page 177: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

150 / 379

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

Exemples:host_unreachable_sound=hostu.wav host_down_sound=hostd.wavservice_critical_sound=critical.wav service_warning_sound=warning.wavservice_unknown_sound=unknown.wav

Cette option vous permet de spécifier un fichier audio à jouer dans votre navigateur lorsqu'il y ades problèmes dans le CGI d'état. En cas de problèmes multiples, le fichier audio joué est celui duproblème le plus critique. Un problème est considéré comme le plus critique lorsqu'un ou plusieurshôtes 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 fichiers audios sont censés se trouver dansle sous-répertoire media/ de votre répertoire HTML (i.e. /usr/local/nagios/share/media).

21.3.20 Syntaxe Ping

Format: ping_syntax=<command>Exemple: ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

Cette option définit quelle syntaxe doit être utilisée quand on veut tester un hôte avec ping à traversl'interface WAP en utilisant le CGI statuswml .Vous devez inclure le chemin complet vers le fichierbinaire exécutable de ping, ainsi que les paramètres passés à la commande. La macro $HOSTADDRESS$est remplacée par l'adresse de l'hôte avant que la commande ne soit exécutée.

21.3.21 Option d'échappement des balises HTML

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

Cette option détermine si les balises HTML contenues dans le message retour des plugins de serviceset d'hôtes doivent être ou non échappées dans les CGI. Si vous activez cette option, votre messageretour de plugin ne peut pas contenir de liens hypertexte.

21.3.22 URL cible des notes

Format: notes_url_target=[target]Exemple: notes_url_target=_blank

Cette option détermine le nom du cadre cible dans lequel doit être affiché les URL des notes. Lesoptions acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.

21.3.23 URL cible d'action

Format: action_url_target=[target]Exemple: action_url_target=_blank

Page 178: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

151 / 379

Cette option détermine le nom du cadre cible dans lequel doit être affiché les URL d'action. Les optionsacceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.

21.3.24 Option d'intégration Splunk

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

Cette option détermine si la fonctionnalité d'intégration avec Splunk est activée dans l'interface web.Si activée, il vous sera présenté un lien Splunk It à divers endroits dans les CGIs (fichier journal, his-torique d'alerte, détail d'hôte/service, etc.). Utile si vous essayez de rechercher pourquoi un problèmeparticulier est survenu. Pour plus d'informations sur Splunk, visitez http://www.splunk.com/.

21.3.25 URL Splunk

Format: splunk_url=<path>Exemple: splunk_url=http://127.0.0.1:8000/

Cette option est utilisée pour définir l'URL de base de votre interface Splunk. Cet URL est utilisé parles CGIs pour créer les liens si l'option enable_splunk_integration est activée.

Page 179: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

152 / 379

Chapitre 22

Authentification et autorisations dansles CGIs

22.1 Introduction

Cette documentation décrit la façon dont les CGIs de Nagios décident de qui a le droit de voir lesinformations de configuration et d'état et de qui a le droit de soumettre des commandes au démonNagios depuis l'interface web.

22.2 Définitions

Avant de continuer, il est important de bien comprendre le sens et la différence entre des utilisateursauthentifiés et des contacts authentifiés :

– Un utilisateur authentifié est quelqu'un qui s'est authentifié auprès du serveur web avec un nomd'utilisateur et un mot de passe, et à qui le serveur web a donné accès à l'interface web de Nagios.

– Un contact authentifié est un utilisateur authentifié dont le nom correspond à celui d'une définitionde contact du fichier de configuration.

22.3 Déclarer des utilisateurs authentifiés

En partant du principe que vous avez configuré votre serveur web comme décrit dans le guide dedémarrage rapide ,celui-ci devrait vous demander de vous authentifier avant de pouvoir accéder auxCGIs de Nagios.Au fur et à mesure que vous allez ajouter de nouveaux contacts pour recevoir des notifications d'hôteset de services, vous souhaiterez certainement leur donner accès à l'interface web de Nagios. Vouspouvez utiliser la commande suivante pour ajouter de nouveaux utilisateurs capables de s'authentifieraux CGIs. Remplacez <username> par le nom d'utilisateur que vous souhaitez ajouter. Dans la plupartdes cas, le nom d'utilisateur devrait correspondre au nom court du contact défini.

#

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

Page 180: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

153 / 379

22.4 Activer l'authentification/autorisation dans les CGIs

Maintenant il s'agit de s'assurer que les CGIs sont configurés pour filtrer les informations et les com-mandes auxquelles les utilisateurs peuvent accéder. Pour cela la variable use_authentication du fichierde configuration des CGIs doit être positionnée à une valeur différente de zéro. Par exemple :use_authentication=1

Voilà, la fonctionnalité d'authentification/autorisation de base est activée dans les CGIs.

22.5 Droits d'accès par défaut aux informations des CGIs

Quels sont les droits d'accès aux CGIs par défaut quand la fonctionnalité d'authentification/autorisa-tion est activée ?

Données des CGIs Contacts authentifiés* Autres utilisateursauthentifiés*

Information sur l'état deshôtes Oui NonInformation sur laconfiguration des hôtes Oui NonHistorique des hôtes Oui NonNotifications des hôtes Oui NonCommandes des hôtes Oui NonInformation sur l'état desservices Oui NonInformation sur laconfiguration des services Oui NonHistorique des services Oui NonNotifications des services Oui NonCommandes des services Oui NonToutes informations deconfiguration Non NonInformation sur lesystème/processus Non NonCommandessystème/processus Non Non

Les contacts authentifiés* ont les droits suivants sur chaque service dont ils sont un contact (mais passur ceux dont ils ne sont pas un contact)…

– Droit de voir l'état du service– Droit de voir la configuration du service– Droit de voir l'historique et les notifications de ce service– Droit de passer des commandes à ce service

Les contacts authentifiés* ont les droits suivants sur chaque hôte dont ils sont un contact (mais passur ceux dont ils ne sont pas un contact)…

– Droit de voir l'état de l'hôte– Droit de voir la configuration de l'hôte– Droit de voir l'historique et les notifications de cet hôte

Page 181: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

154 / 379

– Droit de passer des commandes à cet hôte– Droit de voir l'état de tous les services de cet hôte– Droit de voir la configuration de tous les services de cet hôte– Droit de voir l'historique et les notifications de tous les services de cet hôte– Droit de passer des commandes à tous les services de cet hôte

Il est important de noter que par défaut, personne n'a le droit de…– Voir le fichier journal brut via la CGI d'affichage du journal– Voir les informations sur le processus de Nagios via le CGI d'informations complémentaires– Passer des commandes à Nagios via la CGI de commande– Voir les définitions des groupes d'hôtes, contacts, groupes de contacts, périodes, et commandes viala CGI de configuration

Vous aurez sans doute besoin de ces informations, c'est pourquoi vous devrez vous donner des droitsd'accès supplémentaires (et éventuellement à d'autres utilisateurs) comme décrit ci-dessous…

22.6 Donner des droits d'accès supplémentaires aux informa-tions des CGIs

Vous pouvez donner aux contacts authentifiés et autres utilisateurs authentifiés des droits d'accès àd'autres informations des CGIs en les ajoutant à diverses variables d'autorisation dans le fichier deconfiguration des CGIs .Je m'aperçois que ces variables ne permettent pas d'être très précis dans lesautorisations, mais c'est mieux que rien.Des droits supplémentaires peuvent être accordés aux utilisateurs en les ajoutant aux variables suiv-antes…

– autorisé pour les informations système– autorisé pour les commandes système– autorisé pour les informations de configuration– autorisé pour tous les hôtes– autorisé pour toutes les commandes aux hôtes– autorisé pour tous les services– autorisé pour toutes les commandes aux services

22.7 Autorisations requises par les CGIs

Si les droits d'accès aux diverses informations des CGIs ne vous paraissent pas clairs, lisez la sectionAutorisations requises de chaque CGI qui se trouve ici.

22.8 Authentification sur des serveurs web sécurisés

Si votre serveur web se trouve dans un domaine sécurisé (par exemple derrière un firewall) ou si vousutilisez SSL, vous pouvez définir un utilisateur par défaut pour accéder aux CGIs. C'est le rôle de lavariable default_user_name du fichier de configuration des CGIs .En définissant un nom d'utilisateurpar défaut, vous pouvez autoriser les utilisateurs à accéder aux CGIs sans qu'ils ne s'authentifientauprès du serveur web. Ceci vous permet d'éviter d'utiliser l'authentification web de base, qui trans-met les mots de passe en clair sur Internet.

Page 182: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

155 / 379

ImportantNe définissez pas d'utilisateur par défaut, à moins que vous n'utilisiez un serveur web sécuriséet que vous soyez sûr que les utilisateurs qui accèdent aux CGIs ont été authentifiés d'unemanière ou d'une autre ! Si vous utilisez cette variable, un utilisateur non authentifié hériterades droits de cet utilisateur par défaut !

Page 183: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

156 / 379

Quatrième partie

Démarrage de Nagios

Page 184: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

157 / 379

Chapitre 23

Vérification de votre configuration

23.1 Vérification de votre configuration

Vous devriez vérifier votre configuration à chaque fois que vous modifiez votre fichier de configura-tion. C'est important de le faire avant de (re)démarrer Nagios, car Nagios ne démarrera pas si votreconfiguration contient des erreurs.Afin de vérifier votre configuration, exécutez Nagios en ligne de commandes avec l'option -v commesuit :

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

Si vous avez oublié de saisir certaines données critiques ou avez des choses mal configurées, Nagiosvous indiquera par des messages de warning ou d'erreur l'endroit du problème. Habituellement, lesmessages d'erreurs indiquent la ligne de la configuration qui semble poser problème. Souvent, Nagiosva quitter la vérification avant démarrage et revenir à la ligne de commande dès qu'il aura indiquéla première erreur rencontrée. C'est ainsi fait pour qu'une erreur ne déclenche pas une cascade d'er-reurs au fur et à mesure que les données de configuration sont vérifiées. Si vous avez le moindremessage d'erreur, vous aurez besoin d'éditer vos fichiers de configuration pour régler le problème.Les messages de warning peuvent en général être ignorés sans problème car ce sont seulement desrecommandations et non des obligations.Une fois que vous avez vérifié vos fichiers de configuration et réglé toutes les erreurs, vous pouvezcontinuer et (re)démarrer Nagios.

Page 185: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

158 / 379

Chapitre 24

Démarrage et Arrêt de Nagios

Il y a plus d'une façon de démarrer, arrêter et redémarrer Nagios. Voici quelques-unes des plus com-munes …

ASTUCESoyez toujours sûrs d'avoir vérifié votre configuration avant de (re)démarrer Nagios.

24.1 Démarrage de Nagios

1. Init Script : Le moyen le plus facile pour démarrer Nagios est d'utiliser l'init script comme ceci :#/etc/rc.d/init.d/nagios start

2. Manuellement: Vous pouvez démarrer le démon Nagios manuellement en ligne de commandesavec l'option -d comme ceci :

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

24.2 Redémarrage de Nagios

Redémarrer/recharger est nécessaire lorsque vous modifiez vos fichiers de configuration et que vousvoulez que ces changements prennent effet.

1. Init Script : Le moyen le plus facile pour redémarrer le démon Nagios est d'utiliser le script dedémarrage comme ceci :

#/etc/rc.d/init.d/nagios reload

2. L'interface Web : Vous pouvez redémarrer Nagios au travers de l'interface web en cliquant surle lien Process Info et en choisissant l'option Restart the Nagios process :

Page 186: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

159 / 379

3. Manuellement: Vous pouvez redémarrer le processus Nagios en lui envoyant un signal SIGHUPcomme ceci :

#kill -HUP <nagios_pid>

24.3 Arrêt de Nagios

1. Script de démarrage : Le moyen le plus facile pour arrêter le démon Nagios est d'utiliser le scriptde démarrage comme ceci :

#/etc/rc.d/init.d/nagios stop

2. L'interface Web : Vous pouvez arrêter Nagios via l'interface web en cliquant sur le lien ProcessInfo et en choisissant l'option Shutdown the Nagios process :

3. Manuellement: Vous pouvez arrêter le processus Nagios en lui envoyant un signal SIGTERMcomme ceci :

#kill <nagios_pid>

Page 187: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

160 / 379

Cinquième partie

Les bases

Page 188: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

161 / 379

Chapitre 25

Les Plugins Nagios

25.1 Introduction

Comme pas mal d'autres outils de supervision, Nagios n'intègre aucun mécanisme pour contrôlerl'état des hôtes et services sur votre réseau. Du coup, Nagios délègue à des programmes externes(appelés plugins) tout le sale boulot.

25.2 Que sont les plugins?

Les plugins sont des programmes compilés ou des scripts (Perl, shell, etc.) qui peuvent être exécutéspar une ligne de commande pour contrôler l'état d'un hôte ou d'un service. Nagios utilise le résultatdes plugins pour déterminer le statut actuel des hôtes ou services sur le réseau.Nagios exécutera un plugin seulement lorsqu'il sera nécessaire de vérifier le statut d'un service oud'un hôte. Le plugin fait quelque chose (notez le sens très général du terme) pour effectuer le contrôleet renvoie simplement le résultat à Nagios. Nagios traitera les résultats qu'il aura reçu du pluginet prendra les mesures nécessaires (en exécutant des gestionnaires d'événements, en envoyant desnotifications, etc.).

Page 189: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

162 / 379

25.3 Les plugins comme une couche intermédiaire

Les plugins sont comme une couche intermédiaire entre le ordonnancement de contrôle présent dansle démon Nagios et les services ou hôtes à superviser.L'avantage de ce type d'architecture de plugin est que vous pouvez superviser à peu près tout ce quevous voulez. Si vous pouvez automatiser le procédé de contrôle de quelque-chose, vous pouvez le su-perviser avec Nagios. Il existe déjà plein de plugins qui ont été créés pour superviser des ressourcesbasiques 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 nommée écrire ses plu-gins et créez les vôtres. C'est très simple !L'inconvénient de ce type d'architecture de plugin est le fait que Nagios n'a absolument aucune idéede ce que vous supervisez. Vous pourriez superviser les statistiques du trafic réseau, les taux d'erreurde données, la température ambiante, la tension du CPU, la vitesse du ventilateur, la charge du pro-cesseur, l'espace disque, ou la capacité de votre super_fantastique grille-pain à griller parfaitementvotre pain le matin… Nagios ne comprend pas les spécificités de ce qui est supervisé. Les pluginsseulement savent exactement ce qu'ils contrôlent et comment effectuer ces contrôles.

25.4 Quels plugins existe-il?

Il existe des plugins disponibles actuellement pour contrôler de nombreux types différents dematérielset de services, y compris :

– HTTP, POP3, IMAP, FTP, SSH, DHCP– Charge CPU, espace disque utilisé, mémoire utilisée, utilisateurs connectés– Unix/Linux, Windows, et serveurs Netware– Routeurs et switchs– etc…

Page 190: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

163 / 379

25.5 Obtenir des plugins

Les plugins ne sont pas distribués avec Nagios, mais vous pouvez télécharger les plugins officielsNagios et d'autres plugins supplémentaires créés et soutenus par les utilisateurs Nagios aux adressessuivantes :

– Projet Plugins Nagios : http://nagiosplug.sourceforge.net/– La page de téléchargement 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 affichent des informations basiques d'usage quand vous les exécutez enutilisant -h ou --help en ligne de commandes. Par exemple, si vous voulez savoir comment le plugincheck_http fonctionne ou quelles options il accepte, vous pouvez essayer d'exécuter la commandesuivante : ./check_http --help

25.7 Plugin API

Vous pouvez trouver des informations sur les aspects techniques des plugins, ainsi que des informa-tions sur comment développer vos propres plugins ici.

Page 191: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

164 / 379

Chapitre 26

Utilisation des macros dans les com-mandes

26.1 Macros

Une des fonctionalités disponibles dans Nagios est la possibilité d'utiliser des macros [NdT : macro-commandes] dans les définitions de commandes. Avant d'exécuter une commande, Nagios remplaceratoutes les macros dans celle-ci par les valeurs correspondantes. Cela vous permet de définir quelquescommandes génériques que vous manipulerez à votre guise.

26.2 Substitution des macros

Avant qu'une commande (contrôles d'hôte et de service, notifications, gestionnaires d'événements,etc.) soit exécutée, Nagios va remplacer toutes les macros qu'il trouvera dans la définition de la com-mande par les valeurs correspondantes.Certaines macros peuvent contenir elles-mêmes d'autres macros. Celles-ci incluent les macros $HOS-TNOTES$, $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTES$, $SERVICENOTESURL$, et $SERVICEAC-TIONURL$ .

26.3 Exemple 1 : La macro d'adresse de l'hôte

Quand vous utilisez des macros d'hôte et de service dans les définitions de commandes, elles fontréférence aux valeurs de l'hôte ou du service pour lequel s'exécute la commande. Prenons un exemple.Supposons que nous ayons une définition d'hôte et une commande check_ping définies de la manièresuivante :define host {

host_name linuxboxaddress 192.168.1.2check_command check_ping...

}

define command {command_name check_ping

Page 192: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

165 / 379

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

}

La ligne de commande finale, après substitution, qui sera exécutée pour le contrôle de l'hôte ressem-blera à ceci :/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 100.0,90% -c 200.0,60%

Ce qui est beau c'est que vous pouvez utilisez une simple commande de contrôle pour un nombreillimité d'hôtes. Chaque hôte va être contrôlé avec cette même commande parce que chaque adressede vos hôtes seront automatiquement soumis pendant l'exécution de votre commande.

26.4 Exemple 2 : Les commandes d'Argument de macros

Vous pouvez aussi passer des paramètres aux commandes, ce qui est pratique si vous voulez avoir desdéfinitions de commandes plus génériques. Les paramètres sont spécifiés dans la définition de l'objet(c.-à-d. de l'hôte ou du service), en les séparant du nom de la commande par des points d'exclamation( !) comme ceci :define service {

host_name linuxboxservice_description PINGcheck_command check_ping!200.0,80%!400.0,40%...

}

Dans l'exemple ci-dessus, la commande de contrôle du service a deux paramètres (auxquels on faitréférence 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 définition d'hôte ci-dessus et une commandecheck_ping définie comme ceci :define command {

command_name check_pingcommand_line /usr/local/nagios/libexec/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c -

$ARG2$}

La ligne de commande finale à exécuter pour le contrôle du service sera :/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 200.0,80% -c 400.0,40%

ASTUCESi vous devez passer des points d'exclamations ( !) dans vos arguments de commandes, vous pouvezfaire ainsi en les espaçant avec un backslash (\). Si vous devez inclure des backslashes dans vosarguments de commandes, ils devront aussi être espacés avec un backslash.

26.5 Macro à la demande

Normalement, quand vous utilisez des macros d'hôte ou de service dans les définitions de commandes,elles font référence aux valeurs de l'hôte ou du service pour lequel s'exécute la commande. Par ex-emple, si la commande de contrôle d'un hôte s'exécute pour l'hôte appelé linuxbox, toutes les macrosd'hôte listées dans le tableau ci-après font référence aux valeurs de cet hôte (linuxbox).

Page 193: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

166 / 379

Si vous souhaitez faire référence aux valeurs d'un autre hôte ou service dans une commande (pourlequel ne s'exécute pas la commande), vous pouvez utiliser ce qu'on appellle des macros à la demande.Lesmacros à la demande ressemblent auxmacros normales, mis à part qu'elle contiennent l'identifiantde l'hôte ou du service où aller chercher leur valeur. Voici la syntaxe de base pour les macros à lademande :

– $HOSTMACRONAME:host_name$– $SERVICEMACRONAME:host_name:service_description$

Remplacez HOSTMACRONAME et SERVICEMACRONAME avec le nom d'une des macros standard d'hôte oude service trouvé ici.Notez que le nom de la macro est séparé de l'identifiant de l'hôte ou du service par deux points ( :).Pour les macros de service à la demande, l'identifiant du service est composé d'un nom d'hôte et d'unedescription de service - qui sont séparés par deux point ( :) également.

ASTUCELe service de macros à la demande peut contenir un champ de nom d'hôte vide. Dans ce cas, le nomde l'hôte est automatiquement associé dès que le service est utilisé.

Voici des exemples de macros d'hôte et de service à la demande :

Exemple 26.1 Macro à la demande d'hôte$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'hôte$SERVICESTATEID::CPU Load$

Les macros à la demande sont aussi valables pour les macros des groupes d'hôtes, des groupes deservices, 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'hôtes$HOSTGROUPALIAS:linux-servers$

Exemple 26.7 Macro à la demande de groupe de services$SERVICEGROUPALIAS:DNS-Cluster$

Page 194: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 hôtes, ou les services dansun groupe spécifique en utilisant un format spécial dans votre déclaration de macro à la demande.Vous le faites en vous référant à un groupe d'hôte spécifique, un groupe de service, ou le nom dugroupe 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 hôtestandard, un service, ou le contact trouvé ici. Le délimiteur que vous spécifiez est utilisé pour séparerdes valeurs de macro pour chaque membre d'un groupe.Par exemple, la macro suivante retournera une liste d'états hôtes séparés par des virgules pour leshôtes membres du groupe hg1 :$HOSTSTATEID:hg1:,$

La définition de cette macro retournera quelque chose ressemblant à ça :0,2,1,1,0,0,2

26.7 Les macros de variable personnalisée

N'importe laquelle des variables d'objet personnalisées que vous spécifiez dans la définition de l'hôte,du service, ou du contact est aussi disponible comme macro. La macro de variable personnalisée estappelée comme suit :

– $_HOSTvarname$– $_SERVICEvarname$– $_CONTACTvarnaem$

Prenez la définition d'hôte suivante avec une variable personnalisée appelée _MACADDRESS …define host {

host_name linuxboxaddress 192.168.1.1_MACADDRESS 00:01:02:03:04:05...

}

La variable _MACADDRESS serait disponible dans une macro appelée $_HOSTMACADDRESS$. Plus d'infor-mations sur les variables personnalisées d'objets et comment les utiliser dans des macros peuventêtre trouvées ici.

26.8 Nettoyage des macros

Les valeurs de certaines macros sont dépouillées des métacaractères du shell potentiellement dan-gereux, avant d'être remplacées dans la commande à exécuter. Les caractères qui seront supprimésdans les macros sont définis par le paramètre illegal_macro_output_chars. Ce nettoyage s'appliqueaux macros suivantes :

Page 195: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 variablesd'environnement. Cela signifie que les scripts lancés par Nagios (c.-à-d. les commandes de contrôle deservice et d'hôte, les commandes de notification, etc...) peuvent faire référence à ces macros directe-ment en tant que variables d'environnement standard. Pour des raisons de sécurité et de bon sens,$USERn$Macros$USERn$ et les macros d'hôte et de service à la demande ne sont pas disponiblescomme variables d'environnement.Les variables d'environnement qui contiennent des macros sont nommées comme les macros corre-spondantes (listées ici), avec le préfixe NAGIOS_. Par exemple, lamacro $HOSTNAME$Macros$HOSTNAME$est disponible à travers la variable d'environnement nommée 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 trouvée ici.

Page 196: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

169 / 379

Chapitre 27

Macros standards dans Nagios

Les macros standards disponibles dans Nagios sont listées ci-dessous. Les macros on-demand et lesmacros de variables personnalisées sont décrites ici.

27.1 Validité des macros

Bien que toutes les macros puissent être utilisées dans toutes les commandes que vous définissez,elles ne sont pas toutes valables pour une commande en particulier. Par exemple, certaines macrosne sont valables que dans les commandes de notification de service, alors que d'autres ne sont valablesque dans les commandes de contrôle d'hôte. Il y a dix types de commandes que Nagios identifie ettraite différemment. Ce sont les suivantes :

1. Les contrôles de service2. Les notifications de service3. Les contrôles d'hôte4. Les notifications d'hôte5. Les gestionnaires d'événements de service et/ou le gestionnaire global d'événements de service6. Les gestionnaires d'événements d'hôte et/ou le gestionnaire global d'événements d'hôte7. La commande OCSP8. La commande OCHP9. Les commandes de données de performance de service10. Les commandes de données de performance d'hôte

La tableau ci-dessous liste toutes les macros actuellement disponibles dans Nagios, accompagnéesd'une brève description et des types de commandes pour lesquels elles sont valables. Si une macroest utilisée dans une commande où elle n'est pas valable, elle est remplacée par une chaîne vide.Notez que les macros sont entièrement en majuscules et sont comprises entre des caractères $.

27.2 Tableau de disponibilité des macros

Légende :

Non la macro n'est pas disponibleOui la macro est disponible

Page 197: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

170 / 379

Macro Name Service Checks ServiceNotifications Host Checks Host

Notifications

Gestionnaired'événementsde service etOCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformancede service

Données deperformanced'hôte

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

Macros de groupes d'hôtes :$HOSTGROUPALIAS$Macros$HOSTGROUPALIAS$>5 Oui Oui Oui Oui Oui Oui Oui Oui$HOSTGROUPMEMBERS$Macros$HOSTGROUPMEMBERS$5 Oui Oui Oui Oui Oui Oui Oui Oui$HOSTGROUPNOTES$Macros$HOSTGROUPNOTES$5 Oui Oui Oui Oui Oui Oui Oui Oui$HOSTGROUPNOTESURL$Macros$HOSTGROUPNOTESURL$>5 Oui Oui Oui Oui Oui Oui Oui Oui$HOSTGROUPACTIONURL$Macros$HOSTGROUPACTIONURL$5 Oui Oui Oui Oui Oui Oui Oui Oui

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

Page 198: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

171 / 379

Macro Name Service Checks ServiceNotifications Host Checks Host

Notifications

Gestionnaired'événementsde service etOCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformancede service

Données deperformanced'hôte

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

Macros de groupes de services :$SERVICEGROUPALIAS$Macros$SERVICEGROUPALIAS$6 Oui Oui Oui Oui Oui Oui Oui Oui$SERVICEGROUPMEMBERS$Macros$SERVICEGROUPMEMBERS$6 Oui Oui Oui Oui Oui Oui Oui Oui$SERVICEGROUPNOTES$Macros$SERVICEGROUPNOTES$6 Oui Oui Oui Oui Oui Oui Oui Oui$SERVICEGROUPNOTESURL$Macros$SERVICEGROUPNOTESURL$6 Oui Oui Oui Oui Oui Oui Oui Oui$SERVICEGROUPACTIONURL$Macros$SERVICEGROUPACTIONURL$6 Oui Oui Oui Oui Oui Oui Oui Oui

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

Macros récapitulatives :

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

Page 199: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

172 / 379

Macro Name Service Checks ServiceNotifications Host Checks Host

Notifications

Gestionnaired'événementsde service etOCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformancede service

Données deperformanced'hôte

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

Macro Name Service Checks ServiceNotifications Host Checks Host

NotificationsGestionnaired'événements deservice et OCSP

Gestionnaired'événementsd'hôte et OCHP

Données deperformance deservice

Données deperformanced'hôte

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

27.3 Description des macros

Macros d'hôte : 3

$HOSTNAME$

Nom court de l'hôte (par exemplebiglinuxbox). Cette valeur provient duparamètre host_name de la définition de l'hôte.

$HOSTDISPLAYNAME$Nom d'hôte utilisé pour l'affichage. Cettevaleur provient du paramètre display_name dela définition de l'hôte

$HOSTALIAS$

Nom long/description de l'hôte. Cette valeurprovient du paramètre alias de la définition del'hôte.

$HOSTADDRESS$Adresse de l'hôte. Cette valeur provient duparamètre address de la définition de l'hôte.

$HOSTSTATE$Une chaîne représentant l'état actuel de l'hôte(UP, DOWN, ou UNREACHABLE).

$HOSTSTATEID$Un nombre correspondant à l'état actuel del'hôte : 0=UP, 1=DOWN, 2=UNREACHABLE.

$LASTHOSTSTATE$Une chaîne représentant le dernier état del'hôte (UP, DOWN, ou UNREACHABLE).

Page 200: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

173 / 379

$LASTHOSTSTATEID$Un nombre correspondant au dernier état del'hôte : 0=UP, 1=DOWN, 2=UNREACHABLE.

$HOSTSTATETYPE$

Une chaîne indiquant le type d'état actuel ducontrôle d'hôte (HARD ou SOFT). L'état estSOFT lorsque le contrôle a renvoyé un étatnon-OK (non-UP) et va être réessayé. L'étatest HARD lorsque le contrôle d'hôte a ététenté le nombre de fois maximum défini.

$HOSTATTEMPT$

Le nombre d'essais de contrôle d'hôte actuel.Par exemple, si c'est la seconde fois que l'hôteest contrôlé, ce sera le nombre 2. Le nombreactuel d'essais n'est réellement utile que pourl'écriture de gestionnaires d'événementsd'hôte pour des états SOFT, qui agiraient demanière spécifique selon le nombre detentatives.

$MAXHOSTATTEMPST$

Le nombre maximum d'essais de contrôlesdéfini pour l'hôte actuel. Utile lors del'écriture de gestionnaire d'événements d'hôtepour les états SOFT qui ont besoin de prendreune action basée sur le numéro de l'essai.

$HOSTEVENTID$

Un numéro unique associé à l'état actuel del'hôte. À chaque fois qu'un hôte (ou un service)change d'état, un numéro global d'événementest incrémenté de un (1). Si un hôte n'a paschangé d'état, cette macro égale zéro (0).

$LASTHOSTEVENTID$ Le numéro unique d'événement précédent quia été donné à un hôte.

$HOSTPROBLEMID$

Un numéro unique associé à l'étatproblématique actuel de l'hôte. À chaque foisqu'un hôte (ou un service) change d'état de UPou OK à un état problématique, un numéroglobal d'événement est incrémenté de un (1).Cette macro est différente de zéro si l'hôte estactuellement dans un état différent de UP. Leschangements d'états entre états différents deOK (par exemple DOWN ou UNREACHABLE)n'incrémente pas ce numéro unique. Si unhôte est dans l'état UP, cette macro est égale àzéro (0). Combiné avec les gestionnairesd'événements, cette macro peut être utiliséepour créer automatiquement des tickets desupport au moment où les hôtes basculentpour la première fois dans un étatproblématique.

Page 201: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

174 / 379

$LASTHOSTPROBLEMID$

Le numéro unique de problème précédent quia été donné à un hôte. Combiné avec lesgestionnaires d'événements, cette macro peutêtre utilisée pour clore automatiquement destickets de support au moment où les hôtesreviennent dans un état UP.

$HOSTLATENCY$

Un nombre (réel) indiquant le retard ensecondes par rapport au moment où uncontrôle d'hôte ordonnancé devait êtreexécuté. Par exemple, si un contrôle étaitordonnancé à 03 :14 :15 et qu'il n'a étéexécuté qu'à 03 :14 :17, la latence de cecontrôle est de 2.0 secondes. Les contrôlesd'hôtes à la demande ont une latence de zérosecondes.

$HOSTEXECUTIONTIME$

un nombre (réel) indiquant le nombre desecondes qu'a pris l'exécution du contrôled'hôte (c.-à-d. le temps pendant lequel lecontrôle s'est exécuté).

$HOSTDURATION$

Une chaîne indiquant le temps qu'a passél'hôte dans sont état actuel. Le format est XXhYYm ZZs, pour les heures, les minutes et lessecondes.

$HOSTDURATIONSEC$Un nombre indiquant le nombre de secondesqu'a passé l'hôte dans sont état actuel.

$HOSTDOWNTIME$

Un nombre indiquant la profondeur d'arrêtplanifié pour l'hôte. Si cet hôte estactuellement dans une période d'arrêt planifié,la valeur sera supérieure à zéro. Si l'hôte n'estpas en cours d'arrêt planifié, la valeur serazéro.

$HOSTPERCENTCHANGE$

Un nombre (réel) indiquant le pourcentage dechangement d'état subit par l'hôte. Lepourcentage de changement d'état est utilisépar l'algorithme de détection d'oscillation.

$HOSTGROUPNAME$

le nom court du groupe d'hôtes auquelappartient cet hôte. Cette valeur provient duparamètre hostgroup_name de la définition degroupe d'hôtes. Si l'hôte fait partie de plusd'un groupe d'hôte cette macro contiendra lenom d'un seul de ceux-ci.

$HOSTGROUPNAMES$

Une liste séparée par des virgules du nomcourt de tous les groupes d'hôtes auxquelsappartient cet hôte.

$LASTHOSTCHECK$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où le derniercontrôle d'hôte a eu lieu.

Page 202: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

175 / 379

$LASTHOSTSTATECHANGE$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où l'état del'hôte a changé pour la dernière fois.

$LASTHOSTUP$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où l'hôte a étévu dans l'état UP pour la dernière fois.

$LASTHOSTDOWN$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où l'hôte a étévu dans l'état DOWN pour la dernière fois.

$LASTHOSTUNREACHABLE$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où l'hôte a étévu dans l'état UNREACHABLE pour ladernière fois.

$HOSTOUTPUT$La première ligne du texte en sortie dudernier contrôle d'hôte (p. ex. Ping OK).

$LONGHOSTOUTPUT$

Le texte complet (en plus de la première ligne)qui a été renvoyé par le dernier contrôled'hôte.

$HOSTPERFDATA$

Cette macro contient les données deperformance qui ont éventuellement étérenvoyées par le dernier contrôle d'hôte.

$HOSTCHECKCOMMAND$

Cette macro contient le nom de la commande(ainsi que les paramètres qui ont pu lui êtrepassés) utilisée lors du contrôle d'hôte.

$HOSTACKAUTHOR$ 8

Une chaîne contenant le nom de l'utilisateurqui a acquitté le problème de l'hôte. Cettemacro n'est valable que dans les notificationsdont la macro $NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

$HOSTACKAUTHORNAME$ 8

Une chaîne contenant le nom court du contact(si applicable) qui a acquitté le problème del'hôte. Cette macro n'est valable que dans lesnotifications dont la macro$NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

$HOSTACKAUTHORALIAS$ 8

Une chaîne contenant l'alias du contact (siapplicable) qui a acquitté le problème del'hôte. Cette macro n'est valable que dans lesnotifications dont la macro$NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

Page 203: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

176 / 379

$HOSTACKCOMMENT$ 8

Une chaîne contenant le commentaire associéà l'acquittement saisi par l'utilisateur qui aacquitté le problème de l'hôte. Cette macron'est valable que dans les notifications dont lamacro $NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

$HOSTACTIONURL$

URL d'action associée à l'hôte. Cette macropeut contenir d'autres macros (par exemple$HOSTNAME$), ce qui peut s'avérer pratiquequand vous souhaitez passer le nom d'hôte àune page web.

$HOSTNOTESURL$

URL de notes associée à l'hôte. Cette macropeut contenir d'autres macros (par exemple$HOSTNAME$), ce qui peut s'avérer pratiquequand vous souhaitez passer le nom d'hôte àune page web.

$HOSTNOTES$

URL de notes associée à l'hôte. Cette macropeut contenir d'autres macros (par exemple$HOSTNAME$), ce qui peut s'avérer pratiquequand vous souhaitez avoir l'état d'un hôtespécifique dans la description.

$TOTALHOSTSERVICES$ Le nombre total de services associés à l'hôte.$TOTALHOSTSERVICESOK$ Le nombre total de services associés à l'hôte

qui sont dans un état OK.$TOTALHOSTSERVICESWARNING$ Le nombre total de services associés à l'hôte

qui sont dans un état WARNING.$TOTALHOSTSERVICESUNKNOWN$ Le nombre total de services associés à l'hôte

qui sont dans un état UNKNOWN.

$TOTALHOSTSERVICESCRITICAL$Le nombre total de services associés à l'hôtequi sont dans un état CRITICAL.

Macros de groupes d'hôtes : 5

$HOSTGROUPALIAS$ 5

Le nom long/alias soit de 1) du groupe d'hôtespassé en argument de la macro à la demandeou soit 2) du groupe d'hôte principal associé àl'hôte actuel (si non utilisé dans le contexted'une macro à la demande). Cette valeur estdonnée par le paramètre alias de la définitiondu groupe d'hôtes .

$HOSTGROUPMEMBERS$ 5

Une liste séparée par des virgules des hôtesappartenant soit 1) au groupe d'hôtes passé enargument de la macro à la demande ou soit 2)au groupe d'hôte principal associé à l'hôteactuel (si non utilisé dans le contexte d'unemacro à la demande).

Page 204: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

177 / 379

$HOSTGROUPNOTES$ 5

Les notes associées avec soit 1) le grouped'hôtes passé en argument de la macro à lademande ou soit 2) le groupe d'hôte principalassocié à l'hôte actuel (si non utilisé dans lecontexte d'une macro à la demande). Cettevaleur est donnée par le paramètre notes de ladéfinition du groupe d'hôtes.

$HOSTGROUPNOTESURL$ 5

L' URL de notes associée avec soit 1) legroupe d'hôtes passé en argument de la macroà la demande ou soit 2) le groupe d'hôteprincipal associé à l'hôte actuel (si non utilisédans le contexte d'une macro à la demande).Cette valeur est donnée par le paramètrenotes_url de la définition du groupe d'hôtes.

$HOSTGROUPACTIONURL$ 5

L' URL d'action associée avec soit 1) le grouped'hôtes passé en argument de la macro à lademande ou soit 2) le groupe d'hôte principalassocié à l'hôte actuel (si non utilisé dans lecontexte d'une macro à la demande). Cettevaleur est donnée par le paramètre action_urlde la définition du groupe d'hôtes.

Macros de service :

$SERVICEDESC$

Le nom long/description du service (p. ex.Main Website ). Cette valeur provient duparamètre description de la définition duservice.

$SERVICEDISPLAYNAME$

Un nom utilisé pour l'affichage du service.Cette valeur provient du paramètredisplay_name de la définition du service.

$SERVICESTATE$Une chaîne indiquant l'état actuel du service(OK, WARNING, UNKNOWN, ou CRITICAL).

$SERVICESTATEID$

Un nombre qui correspond à l'état actuel duservice : 0=OK, 1=WARNING, 2=CRITICAL,3=UNKNOWN.

$LASTSERVICESTATE$

Une chaîne indiquant l'état précédent duservice (OK, WARNING, UNKNOWN, ouCRITICAL).

$LASTSERVICESTATEID$

Un nombre qui correspond à l'état précédentdu service : 0=OK, 1=WARNING,2=CRITICAL, 3=UNKNOWN.

Page 205: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

178 / 379

$SERVICESTATETYPE$

Une chaîne indiquant le type d'état actuel ducontrôle de service (HARD ou SOFT). L'étatest SOFT quand le contrôle de service renvoieun état non-OK state et va être réessayé.L'état est HARD quand le contrôle de service aété tenté le nombre de fois maximum défini.

$SERVICEATTEMPT$

Le nombre actuel d'essais de contrôle duservice. Par exemple, si c'est la seconde foisque le service est contrôlé, ce sera le nombredeux. Le nombre actuel d'essais n'estréellement utile que pour l'écriture degestionnaires d'événements d'hôte pour desétats SOFT, qui agiraient de manièrespécifique selon le nombre de tentatives.

$MAXSERVICEATTEMPTS$

Le nombre maximum d'essais de contrôle duservice actuel. Utile pour l'écriture degestionnaires d'événements d'hôte pour desétats SOFT, qui agiraient de manièrespécifique selon le nombre de tentatives decontrôle de service.

$SERVICEISVOLATILE$ Indique si le service est volatile ou pas : 0 =non volatile, 1 = volatile.

$SERVICEEVENTID$

Un numéro unique associé à l'état actuel duservice. À chaque fois qu'un service (ou unhôte) change d'état, un numéro globald'événement est incrémenté de un (1). Si unservice n'a pas changé d'état, cette macroégale zéro (0).

$LASTSERVICEEVENTID$ Le numéro unique d'événement précédent quia été donné à un service.

$SERVICEPROBLEMID$

Un numéro unique associé à l'étatproblématique actuel du service. À chaque foisqu'un service (ou un hôte) change d'état de OKou UP à un état problématique, un numéroglobal d'événement est incrémenté de un (1).Cette macro est différente de zéro si le serviceest actuellement dans un état différent de OK.Les changements d'états entre états différentsde OK (par exemple WARNING ou CRITICAL)n'incrémente pas ce numéro unique. Si unservice est dans l'état OK, cette macro estégale à zéro (0). Combiné avec lesgestionnaires d'événements, cette macro peutêtre utilisée pour créer automatiquement destickets de support au moment où les servicesbasculent pour la première fois dans un étatproblématique.

Page 206: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

179 / 379

$LASTSERVICEPROBLEMID$

Le numéro unique de problème précédent quia été donné à un service. Combiné avec lesgestionnaires d'événements, cette macro peutêtre utilisée pour clore automatiquement destickets de support au moment où les servicesreviennent dans un état OK.

$SERVICELATENCY$

Un nombre (réel) indiquant le retard ensecondes par rapport au moment où uncontrôle de service ordonnancé devait êtreexécuté. Par exemple, si un contrôle étaitordonnancé à 03 :14 :15 et qu'il n'a étéexécuté qu'à 03 :14 :17, la latence de cecontrôle est de 2.0 secondes.

$SERVICEEXECUTIONTIME$

un nombre (réel) indiquant le nombre desecondes qu'a pris l'exécution du contrôle deservice (c.-à-d. le temps pendant lequel lecontrôle s'est exécuté).

$SERVICEDURATION$

Une chaîne indiquant le temps qu'a passé leservice dans son état actuel. Le format estXXh YYm ZZs, pour les heures, les minutes etles secondes.

$SERVICEDURATIONSEC$Un nombre indiquant le nombre de secondesqu'a passé le service dans son état actuel.

$SERVICEDOWNTIME$

Un nombre indiquant la profondeur d'arrêtplanifié pour le service. Si ce service estactuellement dans une période d' arrêtplanifié, la valeur sera supérieure à zéro. Si leservice n'est pas en cours d'arrêt planifié, lavaleur sera zéro.

$SERVICEPERCENTCHANGE$

Un nombre (réel) indiquant le pourcentage dechangement d'état subit par le service. Lepourcentage de changement d'état est utilisépar l'algorithme de détection d'oscillation.

$SERVICEGROUPNAME$

le nom court du groupe de services auquelappartient ce service. Cette valeur provient duparamètre servicegroup_name de la définitionde groupe de services. Si le service fait partiede plus d'un groupe de services cette macrocontiendra le nom d'un seul de ceux-ci.

$SERVICEGROUPNAMES$

Une liste séparée par des virgules du nomcourt de tous les groupes de services auxquelsappartient ce service.

$LASTSERVICECHECK$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où le derniercontrôle de service a eu lieu.

Page 207: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

180 / 379

$LASTSERVICESTATECHANGE$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où l'état duservice a changé pour la dernière fois.

$LASTSERVICEOK$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où le service aété vu dans l'état OK pour la dernière fois.

$LASTSERVICEWARNING$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où le service aété vu dans l'état WARNING pour la dernièrefois.

$LASTSERVICEUNKNOWN$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où le service aété vu dans l'état UNKNOWN pour la dernièrefois.

$LASTSERVICECRITICAL$

C'est le moment au format time_t (secondesécoulées depuis l'époque UNIX) où le service aété vu dans l'état CRITICAL pour la dernièrefois.

$SERVICEOUTPUT$La première ligne du texte en sortie dudernier contrôle de service (p. ex. Ping OK).

$LONGSERVICEOUTPUT$

Le texte complet (en plus de la première ligne)en sortie du dernier contrôle de service (p. ex.Ping OK).

$SERVICEPERFDATA$

Cette macro contient les données deperformance qui ont pu être renvoyées par ledernier contrôle de service.

$SERVICECHECKCOMMAND$

Cette macro contient le nom de la commande(ainsi que les paramètres qui ont pu lui êtrepassés) utilisée lors du contrôle de service.

$SERVICEACKAUTHOR$ 8

Une chaîne contenant le nom de l'utilisateurqui a acquitté le problème du service. Cettemacro n'est valable que dans les notificationsdont la macro $NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

$SERVICEACKAUTHORNAME$ 8

Une chaîne contenant le nom court del'utilisateur (si applicable) qui a acquitté leproblème du service. Cette macro n'estvalable que dans les notifications dont lamacro $NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

Page 208: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

181 / 379

$SERVICEACKAUTHORALIAS$ 8

Une chaîne contenant l'alias de l'utilisateur (siapplicable) qui a acquitté le problème duservice. Cette macro n'est valable que dans lesnotifications dont la macro$NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

$SERVICEACKCOMMENT$ 8

Une chaîne contenant le commentaire associéà l'acquittement saisi par l'utilisateur qui aacquitté le problème du service. Cette macron'est valable que dans les notifications dont lamacro $NOTIFICATIONTYPE$ vautACKNOWLEDGEMENT.

$SERVICEACTIONURL$

URL d'action associée au service. Cette valeurprovient du paramètre action_url de ladéfinition d'informations complémentaires duservice.

$SERVICENOTESURL$

URL d'action associée au service. Cette macropeut contenir d'autres macros (par exemple$HOSTNAME$ ou $SERVICEDESC$), ce qui peuts'avérer pratique quand vous souhaitez passerle nom d'hôte à une page web.

$SERVICENOTES$

URL de notes associée au service. Cette macropeut contenir d'autres macros (par exemple$HOSTNAME$ ou $SERVICEDESC$), ce qui peuts'avérer pratique quand vous souhaitez avoirl'état d'un service spécifique dans ladescription.

Macros de groupes de services : 6

$SERVICEGROUPALIAS$ 6

Le nom long/alias soit de 1) du groupe deservices passé en argument de la macro à lademande ou soit 2) du groupe de servicesprincipal associé au service actuel (si nonutilisé dans le contexte d'une macro à lademande). Cette valeur est donnée par leparamètre alias de la définition du groupe deservices.

$SERVICEGROUPMEMBERS$ 6

Une liste séparée par des virgules des servicesappartenant soit 1) au groupe de servicespassé en argument de la macro à la demandeou soit 2) au groupe de services principalassocié au service actuel (si non utilisé dans lecontexte d'une macro à la demande).

Page 209: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

182 / 379

$SERVICEGROUPNOTES$ 6

Les notes associées soit 1) au groupe deservices passé en argument de la macro à lademande ou soit 2) au groupe de servicesprincipal associé au service actuel (si nonutilisé dans le contexte d'une macro à lademande). Cette valeur provient du paramètrenotes de la définition du groupe de services.

$SERVICEGROUPNOTESURL$ 6

L'URL de notes associée soit 1) au groupe deservices passé en argument de la macro à lademande ou soit 2) au groupe de servicesprincipal associé au service actuel (si nonutilisé dans le contexte d'une macro à lademande). Cette valeur provient du paramètrenotes_url de la définition du groupe deservices.

$SERVICEGROUPNOTES$ 6

L'URL d'action associée soit 1) au groupe deservices passé en argument de la macro à lademande ou soit 2) au groupe de servicesprincipal associé au service actuel (si nonutilisé dans le contexte d'une macro à lademande). Cette valeur provient du paramètreaction_url de la définition du groupe deservices.

Macros de contact :

$CONTACTNAME$

Nom court du contact (p. ex. jdoe) qui estnotifié pour un problème d'hôte ou de service.Cette valeur provient du paramètrecontact_name de la définition de contact.

$CONTACTALIAS$

Nom long/description du contact (p. ex. JohnDoe) qui est notifié. Cette valeur provient duparamètre alias de la définition de contact.

$CONTACTEMAIL$

Adresse email du contact qui est notifié. Cettevaleur provient du paramètre email de ladéfinition de contact.

$CONTACTPAGER$

Numéro/adresse du Pager du contact qui estnotifié. Cette valeur provient du paramètrepager de la définition de contact.

$CONTACTADDRESSn$

Adresse du contact qui est notifié. Chaquecontact peut avoir six adresses différentes (enplus de son adresse email et de son numéro depager). Les macros correspondant à cesadresses sont $CONTACTADDRESS1$ -$CONTACTADDRESS6$. Cette valeur provient duparamètre addressx de la définition decontact.

Page 210: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

183 / 379

$CONTACTGROUPNAME$

Le nom court du groupe de contact auquel estrattaché ce contact. Cette valeur provient duparamètre contactgroup_name de la définitionde groupes de contacts.

$CONTACTGROUPNAMES$Une liste séparée par des virgules des groupesde contacts auxquels appartient ce contact.

Macros de groupes de contacts : 5

$CONTACTGROUPALIAS$ 7

Le nom long/alias soit 1) du groupe decontacts passé en argument de la macro à lademande ou soit 2) du groupe de contactsprincipal associé au contact actuel (si nonutilisé dans le contexte d'une macro à lademande). Cette valeur est donnée par leparamètre alias de la définition du groupe decontacts.

$CONTACTGROUPMEMBERS$ 7

Une liste séparée par des virgules de tous lescontacts soit 1) du groupe de contacts passéen argument de la macro à la demande ou soit2) du groupe de contacts principal associé aucontact actuel (si non utilisé dans le contexted'une macro à la demande).

Macros récapitulatives :

$TOTALHOSTSUP$Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état UP.

$TOTALHOSTSDOWN$Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état DOWN.

$TOTALHOSTSUNREACHABLE$Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état UNREACHABLE.

$TOTALHOSTSDOWNUNHANDLED$

Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état DOWN et qui nesont pas en cours de traitement. Un problèmed'hôte est dit non traité s'il n'est pas acquitté,ni en cours d'arrêt planifié, et dont lescontrôles sont activés.

$TOTALHOSTSUNREACHABLEUNHANDLED$

Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état UNREACHABLEet qui ne sont pas en cours de traitement. Unproblème d'hôte est dit non traité s'il n'est pasacquitté, ni en cours d'arrêt planifié, et dontles contrôles sont activés.

Page 211: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

184 / 379

$TOTALHOSTPROBLEMS$

Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état DOWN ouUNREACHABLE.

$TOTALHOSTPROBLEMSUNHANDLED$

Cette macro donne le nombre total d'hôtes quisont actuellement dans l'état DOWN ouUNREACHABLE et qui ne sont pas en coursde traitement. Un problème d'hôte est dit nontraité s'il n'est pas acquitté, ni en cours d'arrêtplanifié, et dont les contrôles sont activés.

$TOTALSERVICESOK$Cette macro donne le nombre total de servicesqui sont actuellement dans l'état OK.

$TOTALSERVICESWARNING$Cette macro donne le nombre total de servicesqui sont actuellement dans l'état WARNING.

$TOTALSERVICESCRITICAL$Cette macro donne le nombre total de servicesqui sont actuellement dans l'état CRITICAL.

$TOTALSERVICESUNKNOWN$Cette macro donne le nombre total de servicesqui sont actuellement dans l'état UNKNOWN.

$TOTALSERVICESWARNINGUNHANDLED$

Cette macro donne le nombre total de servicesqui sont actuellement dans l'état WARNING etqui ne sont pas en cours de traitement. Unproblème de service est dit non traité s'il n'estpas acquitté, ni en cours d'arrêt planifié, etdont les contrôles sont activés.

$TOTALSERVICESCRITICALUNHANDLED$

Cette macro donne le nombre total de servicesqui sont actuellement dans l'état CRITICAL etqui ne sont pas en cours de traitement. Unproblème de service est dit non traité s'il n'estpas acquitté, ni en cours d'arrêt planifié, etdont les contrôles sont activés.

$TOTALSERVICESUNKNOWNUNHANDLED$

Cette macro donne le nombre total de servicesqui sont actuellement dans l'état UNKNOWNet qui ne sont pas en cours de traitement. Unproblème de service est dit non traité s'il n'estpas acquitté, ni en cours d'arrêt planifié, etdont les contrôles sont activés.

$TOTALSERVICEPROBLEMS$

Cette macro donne le nombre total de servicesqui sont actuellement dans l'état WARNING,CRITICAL, ou UNKNOWN.

$TOTALSERVICEPROBLEMSUNHANDLED$

Cette macro donne le nombre total de servicesqui sont actuellement dans l'état WARNING,CRITICAL, ou UNKNOWN et qui ne sont pasen cours de traitement. Un problème deservice est dit non traité s'il n'est pas acquitté,ni en cours d'arrêt planifié, et dont lescontrôles sont activés.

Page 212: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

185 / 379

Macros de notification :

$NOTIFICATIONTYPE$

Une chaîne représentant le type denotification envoyée (PROBLEM, RECOVERY,ACKNOWLEDGEMENT, FLAPPINGSTART,FLAPPINGSTOP FLAPPINGDISABLED,DOWNTIMESTART, DOWNTIMEEND ouDOWNTIMECANCELLED).

$NOTIFICATIONRECIPIENTS$

Une liste séparée par des virgules de tous lesnoms courts des contacts qui sont notifiéspour un hôte ou un service.

$NOTIFICATIONISESCALATED$

Un entier indiquant si la notification a étéenvoyé à des contacts normaux pour l'hôte oule service ou si elle a été escaladé. 0 =Notification normale (non-escaladée) , 1 =Notification escaladée.

$NOTIFICATIONAUTHOR$

Une chaîne contenant le nom de l'utilisateurqui a écrit la notification. Si la macro$NOTIFICATIONTYPE$ est égale àDOWNTIMESTART ou DOWNTIMEEND, cesera le nom de l'utilisateur qui a programmé lamaintenance de l'hôte ou du service. Si lamacro $NOTIFICATIONTYPE$ est égale àACKNOWLEDGEMENT, ce sera le nom del'utilisateur qui a acquitté le problème de'hôteou de service. Si la macro$NOTIFICATIONTYPE$ est égale à CUSTOM, cesera le nom de l'utilisateur qui a initié lanotification personnalisée de l'hôte ou duservice.

$NOTIFICATIONAUTHORNAME$

Une chaîne contenant le nom court du contact(si applicable) tel qu'indiqué dans la macro$NOTIFICATIONAUTHOR$.

$NOTIFICATIONAUTHORALIAS$

Une chaîne contenant l'alias du contact (siapplicable) tel qu'indiqué dans la macro$NOTIFICATIONAUTHOR$.

Page 213: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

186 / 379

$NOTIFICATIONCOMMENT$

Une chaîne contenant le commentaire entrépar l'auteur de la notification. Si la macro$NOTIFICATIONTYPE$ est égale àDOWNTIMESTART ou DOWNTIMEEND, cesera le commentaire de l'utilisateur qui aprogrammé la maintenance de l'hôte ou duservice. Si la macro $NOTIFICATIONTYPE$ estégale à ACKNOWLEDGEMENT, ce sera lecommentaire de l'utilisateur qui a acquitté leproblème de'hôte ou de service. Si la macro$NOTIFICATIONTYPE$ est égale à CUSTOM, cesera le commentaire de l'utilisateur qui a initiéla notification personnalisée de l'hôte ou duservice.

$HOSTNOTIFICATIONNUMBER$

Le numéro courant de la notification de l'hôte.Le numéro de notification augmente parincrément de un (1) à chaque fois qu'unenouvelle notification est envoyée pour l'hôte(excepté pour les acquittements). Le numérode notification est remis à zéro quand l'hôterevient à l'état ok (après que la notification deretour à la normale soit envoyée). Lesacquittements n'incrémentent pas le numérode notification, pas plus que les notificationsqui ont à voir avec les oscillations et lamaintenance planifiée.

$HOSTNOTIFICATIONID$

Un numéro unique qui identifie unenotification d'hôte. Les numéros identifiantsde notifications sont uniques à travers tout lesystème de notifications pour les hôtes etservices. Vous pouvez donc utiliser ce numérocomme clé primaire dans une base de donnéesde notifications. Ces numéros devraient resteruniques même après redémarrage de Nagiostant que vous activez l'option de rétentiond'états. Le numéro identifiant de notificationest incrémenté par pas de un (1) à chaque foisqu'une nouvelle notification pour l'hôte estenvoyée, sans tenir compte du nombre decontacts notifiés.

$SERVICENOTIFICATIONNUMBER$

Le numéro courant de la notification deservice. Le numéro de notification augmentepar incrément de un (1) à chaque fois qu'unenouvelle notification est envoyée pour leservice (excepté pour les acquittements). Lenuméro de notification est remis à zéro quandle service revient à l'état ok (après que lanotification de retour à la normale soitenvoyée). Les acquittements n'incrémententpas le numéro de notification, pas plus que lesnotifications qui ont à voir avec les oscillationset la maintenance planifiée.

Page 214: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

187 / 379

$SERVICENOTIFICATIONID$

Un numéro unique qui identifie unenotification des service. Les numérosidentifiants de notifications sont uniques àtravers tout le système de notifications pourles hôtes et services. Vous pouvez donc utiliserce numéro comme clé primaire dans une basede données de notifications. Ces numérosdevraient rester uniques même aprèsredémarrage de Nagios tant que vous activezl'option de rétention d'états. Le numéroidentifiant de notification est incrémenté parpas de un (1) à chaque fois qu'une nouvellenotification pour l'hôte est envoyée, sans tenircompte du nombre de contacts notifiés.

Macros de date/heure :

$LONGDATETIME$

Date et heure actuelles (p. ex. Fri Oct 1300 :30 :28 CDT 2000). Le format de la date estdéfini par le paramètre date_format .

$SHORTDATETIME$

Date et heure actuelles (p. ex. 10-13-200000 :30 :28). Le format de la date est défini parle paramètre date_format .

$DATE$

Date du jour (p. ex. 10-13-2000). Le format dela date est défini par le paramètredate_format .

$TIME$ Heure actuelle (p. ex. 00 :30 :28).$TIMET$ Moment actuel au format time_t (secondes

écoulées depuis l'époque UNIX).

$ISVALIDTIME:$ 9

C'est une macro à la demande spéciale quirenvoie 1 ou 0 en fonction du fait qu'une heuredonnée fait partie ou non d'une période detemps précisé. Il y a deux façons d'utilisercette macro :0. $ISVALIDTIME:24x7$ est égale à 1sil'heure courante est valide dans lapériode de temps 24x7. Égale à 0 dans lecas contraire.

0. $ISVALIDTIME:24x7:timestamp$ estégale à 1si l'heure donnée par l'argumenttimestamp (qui doit être au format time_t)est valide dans la période de temps 24x7.Égale à 0 dans le cas contraire.

Page 215: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

188 / 379

$NEXTVALIDTIME:$ 9

C'est une macro à la demande spéciale quirenvoie l'heure valide suivante (dans le formattime_t) pour une période temps spécifique. Il ya deux façons d'utiliser cette macro :0. $NEXTVALIDTIME:24x7$ renvoie laprochaine heure valide - depuis et enincluant l'heure courante - dans lapériode de temps 24x7.

0. $NEXTVALIDTIME:24x7:timestamp$renvoie la prochaine heure valide - depuiset en incluant l'heure précisée parl'argument timestamp (qui doit êtreprécisé dans le format time_t - dans lapériode de temps 24x7.

Si une prochaine période de temps valide nepeut être trouvée dans la période de tempsprécisée, la valeur d ela macro est égale à 0.

Macros de fichier :

$MAINCONFIGFILE$Emplacement du fichier de configurationprincipal .

$STATUSDATAFILE$ Emplacement du journal des états.

$COMMENTDATAFILE$ Emplacement du fichier de commentaires.$DOWNTIMEDATAFILE$ Emplacement du fichier des arrêts planifiés.

$RETENTIONDATAFILE$Emplacement du fichier de mémorisation desétats .

$OBJECTCACHEFILE$ Emplacement du fichier de cache des objets.

$TEMPFILE$ Emplacement du fichier temporaire.

$TEMPPATH$Le dossier précisé dans la variable chemintemporaire.

$LOGFILE$ Emplacement du fichier journal .

$RESOURCEFILE$ Emplacement du fichier de ressources.

$COMMANDFILE$Emplacement du fichier de commandesexternes.

$HOSTPERFDATAFILE$ Emplacement du fichier de performance deshôtes (s'il est défini).

$SERVICEPERFDATAFILE$ Emplacement du fichier de performance desservices (s'il est défini).

Macros diverses :

Page 216: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

189 / 379

$PROCESSSTARTTIME$

Moment au format time_t (secondes écouléesdepuis l'époque UNIX) où le processus Nagiosa été (re)démarré pour la dernière fois. Vouspouvez en déduire le nombre de secondesécoulées depuis le démarrage (ouredémarrage) de Nagios, en soustrayant$PROCESSSTARTTIME$ de$TIMET$Macros$TIMET$.

$EVENTSTARTTIME$

Moment au format time_t (secondes écouléesdepuis l'époque UNIX) où Nagios a commencéà traiter les événements (contrôles, etc.). Vouspouvez déduire le nombre de secondes qui ontété nécessaires au démarrage de Nagios ensoustrayant $PROCESSSTARTTIME$ de$EVENTSTARTTIME$.

$ADMINEMAIL$

Adresse email globale de l'administrateur.Cette valeur provient du paramètreadmin_email .

$ADMINPAGER$

Numéro/adresse global du pager del'administrateur. Cette valeur provient duparamètre admin_pager .

$ARGn$

Le n-ième paramètre passé à la commande(notification, gestionnaire d'événement,contrôle de service, etc.). Nagios gère jusqu'à32 macros de paramètre (de $ARG1$ à$ARG32$).

$USERn$

La nième macro définie par l'utilisateur. Lesmacros utilisateur peuvent être définies dansun ou plusieurs fichiers de ressources. Nagiosgère jusqu'à 32 macros utilisateur (de $USER1$à $USER32$).

27.4 Notes

1 Ces macros ne sont pas valables pour l'hôte auquel elles sont associées lorsque cet hôte est en coursde contrôle (c.-à-d. qu'elles n'ont pas de sens, car elles ne sont pas encore déterminées).2 Ces macros ne sont pas valables pour le service auquel elles sont associées lorsque ce service esten cours de contrôle (c.-à-d. qu'elles n'ont pas de sens, car elles ne sont pas encore déterminées).3 Quand des macros d'hôte sont utilisées dans des commandes relatives à un service (c.-à-d. les no-tifications de service, les gestionnaires d'événements, etc.) elles font référence à l'hôte auquel estassocié le service.4 Quand les macros récapitulatives d'hôte et de service sont utilisées dans des commandes de notifi-cation, les totaux sont filtrés pour ne prendre en compte que les hôtes et les services autorisés à cecontact (c.-à-d. les hôtes et les services configurés pour lui envoyer des notifications).5 Ces macros sont habituellement associées avec le groupe primaire d'hôtes auquel appartient l'hôteactuel. Elles peuvent donc être considérées comme des macros d'hôtes dans la plupart des cas. Cepen-dant, ces macros ne sont pas valables dans le cas de macros d'hôte à la demande. À la place, elles

Page 217: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

190 / 379

peuvent être utilisées comme macros de groupe d'hôtes à la demande quand vous passez le nom dugroupe d'hôte à la macro. Par exemple : $HOSTGROUPMEMBERS:hg1$ renvoie une liste séparée par desvirgules des tous les membres (hôtes) du groupe d'hôtes hg1.6 Ces macros sont habituellement associées avec le groupe primaire de services auquel appartientle service actuel. Elles peuvent donc être considérées comme des macros de services dans la plupartdes cas. Cependant, ces macros ne sont pas valables dans le cas de macros de service à la demande.À la place, elles peuvent être utilisées comme macros de groupe de services à la demande quand vouspassez le nom du groupe de services à la macro. Par exemple : $SERVICEGROUPMEMBERS:sg1$ renvoieune liste séparée par des virgules des tous les membres (service) du groupe de services sg1.7 Ces macros sont habituellement associées avec le groupe primaire de contacts auquel appartient lecontact actuel. Elles peuvent donc être considérées comme des macros de contacts dans la plupartdes cas. Cependant, ces macros ne sont pas valables dans le cas de macros de contact à la demande.À la place, elles peuvent être utilisées comme macros de groupe de contacts à la demande quand vouspassez le nom du groupe de contacts à la macro. Par exemple : $CONTACTGROUPMEMBERS:cg1$ renvoieune liste séparée par des virgules des tous les membres (contact) du groupe de contacts cg1.8 Ces macros d'acquittement sont abandonnées. Utilisez désormais les macros plus génériques $NO-TIFICATIONAUTHOR$, $NOTIFICATIONAUTHORNAME$, $NOTIFICATIONAUTHORALIAS$ ou $NOTIFICATION-COMMENT$.9 Ces macros sont seulement valables dans le cas de macros à la demande. Vous devez fournir unargument supplémentaire pour les utiliser. Ces macros ne sont pas disponibles comme variables d'en-vironnement.10 Les macros de statistiques ne sont pas disponibles comme variables d'environnement si l'optionuse_large_installation_tweaks est activée, car elles sont plutôt grosses consommatrices de CPUlors de leurs calculs.

Page 218: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

191 / 379

Chapitre 28

Les contrôles d'hôtes

28.1 Introduction

Le fonctionnement de base des contrôles d'hôtes est décrit ci-après…

28.2 Quand sont effectués les contrôles d'hôtes?

Les hôtes sont contrôlés par le démon Nagios :– A intervalles réguliers, tel que défini par les options check_interval et retry_interval dans vosdéfinitions d'hôtes .

– A la demande quand un service associé avec l'hôte change d'état.– A la demande, au besoin dans le cadre de la logique accessibilité réseau de l'hôte .– Sur demande au besoin des contrôles en prévision des dépendances des hôtes .Les contrôles d'hôtes planifiés régulièrement sont optionels. Si vous avez positionnez l'option check-_interval à zéro (0), Nagios ne fera pas les contrôles d'hôtes de façon régulière. Il fera toutefois descontrôles des hôtes à la demande pour les besoins de la supervision.Les contrôles à la demande sont effectués lorsqu'un service associé à l'hôte change d'état parce queNagios a besoin de savoir si l'hôte a également changé d'état. Les services qui changent d'état sontsouvent un indicateur du fait que l'hôte a peut-être aussi changé d'état. Par exemple, si Nagios détecteque le service HTTP associé avec un hôte vient juste de passer d'un état CRITICAL à un état OK, celapeut indiquer que l'hôte est redevenu à la normale et fonctionne suite à un redémarrage.Les contrôles à la demande des hôtes sont aussi effectués dans le cadre de la logique d'accessibilitéde l'hôte via le réseau. Nagios est conçu pour détecter les coupures réseau aussi rapidement quepossible, en distinguant un état DOWN d'un état UNREACHABLE pour l'hôte. Ce sont deux états trèsdifférents et qui peuvent aider rapidement un adminuistrateur à localiser la l'origine de la coupureréseau.Les contrôles à la demande peuvent aussi être effectués dans le cadre de la logique des contrôles enprévision des dépendances des hôtes . Ces contrôles permettent d'assurer que la logique de dépen-dance soit la plus précise que possible.

28.3 Les contrôles d'hôtes mis en cache

Les performances des contrôles d'hôtes à la demande peuvent être améliorées en implémenant l'util-isation des contrôles mis en cache, qui permettent à Nagios de ne pas exécuter un contrôle d'hôte s'il

Page 219: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

192 / 379

détermine qu'il a un résultat relativement récent à la place pour ce contrôle. Plus d'informations surles contrôles mis en cache peuvent être trouvées ici.

28.4 Les contrôles et les dépendances

Vous pouvez définir des dépendances d'hôtes qui empêchent Nagios de contrôler le statut d'un hôtedépendant d'un service d'un ou plusieurs autres hôtes. Plus d'informations sur les dépendances peu-vent être trouvées ici.

28.5 Parallélisation des contrôles d'hôtes

Les contrôles d'hôtes planifiés sont lancés en parallèle. Quand Nagios a besoin de procéder un uncontrôle d'hôte planifié, il lancera le contrôle de l'hôte et reviendra à son travail initial (contrôle desservices, etc.). Le contrôle de l'hôte est lancé dans un processus enfant qui a été dupliqué à partirdu démon principal de Nagios. Quand le contrôle d'hôte est terminé, le processus enfant informe leprocessus Nagios principal (son parent) du résultat. Le processus principal de Nagios gère le résultatqu'il a reçu et prend les mesures appropriées (lancement des gestionnaires d'événements, envois desnotifications, etc.).Les contrôles à la demande sont également exécutés en parallèle si nécessaire. Comme mentionnéprécédement, Nagios peut renoncer à l'exécution d'un contrôle à la demande s'il peut utiliser unrésultat relativement récent pour ce contrôle d'hôte.Quand Nagios traite les résultats des contrôles d'hôtes planifiés ou à la demande, il peut lancer descontrôles (secondaires) sur d'autres hôtes. Ces contrôles peuvent être lancés pour deux raisons : lescontrôles en prévision des dépendances des hôtes et pour déterminer le statut des hôtes qui utilisentla logique d'accessibilité réseau. Ces contrôles secondaires qui sont lancés sont généralement lancésen parallèle. Cependant, il y a une grosse exception dont vous devez être au courant, car elle peutavoir un effet négatif sur la performance…

NoteLes hôtes qui ont leur variable max_check_attempts positionnée à 1 peuvent causer de sérieuxproblèmes de performance. La raison? Si Nagios a besoin de déterminer leur vrai état en utilisantla logique d'accessibilité réseau (pour voir s'ils sont DOWN ou UNREACHABLE), il va devoir lancerune série de contrôles sur tous ses hôtes parents immédiats. Juste pour rappel, ces contrôles sontexécutés en série, plutôt qu'en parallèle, du coup, cela peut causer un grosse baisse de perfor-mance. Pour cette raison, je vous recommande de toujours utiliser une valeur supérieure à 1 pour leparamètre max_check_attempts dans vos définitions d'hôtes.

28.6 Les états d'un hôte

Les hôtes qui sont contrôlés peuvent être dans un des trois états différents :

– UP– DOWN– UNREACHABLE

Page 220: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

193 / 379

28.7 Détermmination de l'état d'un hôte

Les contrôles d'hôtes sont réalisés 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'hôte UP, DOWN, ouUNREACHABLE? Voyons cela :Le tableau ci-dessous montre à quoi correspondent les codes de retour des plugin en état d'hôtepréalables. Certains post-traitement (qui sont décrits plus loin) sont fait et peuvent changer l'étatfinal de l'hôte.

Résultat du Plugin Etat préalable de l'HôteOK UPWARNING UP ou DOWN*UNKNOWN DOWNCRITICAL DOWN

NoteLes retoursWARNING signifient généralement que l'hôte est UP. Cependant, les retoursWARNING sontinterprétés pour signifier que l'hôte est DOWN si l'option use_aggressive_host_checking est activée.Si l'état de l'hôte préalable est DOWN, Nagios va essayer de voir s'il est réellement DOWN ou s'ilest UNREACHABLE. La distinction entre les états d'hôtes DOWN et UNREACHABLE est important, carelle peut permettre aux admministrateurs de determiner l'origine de la coupure réseau rapidement.Le tableau suivant montre comment Nagios détermine l'état final en fonction de l'état de l'hôte(s)parent(s). Les parents d'hôtes sont définis dans le paramètre parents de la définition d'hôte.

Etat préalable de l'Hôte Etat de l'Hôte Parent Etat Final de l'HôteDOWN Au moins un des parents est

UP DOWN

DOWN Tous les parents sont soitDOWN soit UNREACHABLE UNREACHABLE

Plus d'informations sur comment Nagios fait la différence entre les états DOWN et UNREACHABLEpeuvent être trouvées ici.

28.8 Changements d'états d'un hôte

Comme vous êtes probablement conscients, les hôtes ne restent pas toujours dans un état. Des chosesarrivent, des patches sont appliqués, et les serveurs ont besoins d'être redémarrés. Quand Nagioscontrôle les statuts des hôtes, il sera capable de détecter quand un hôte a changé entre les étatsUP, DOWN, ou UNREACHABLE et prendra les mesures appropriées. Ces changements d'états setraduisent par différents types d'états (HARD or SOFT), qui peuvent déclencher les gestionnairesd'événements et l'envoi de notifications. Détecter et traiter les changements d'états, c'est le boulotde Nagios.Quand les hôtes changent trop fréquement d'état, ils sont considérés comme étant flapping (oscil-lants). Un bon exemple d'oscillation d'un hôte serait un serveur qui redémarrerait spontanément lorsdu chargement du système d'exploitation. C'est toujours le scénario amusant à traiter. Nagios peut dé-tecter lorsque l'hôte commence à osciller, et peut supprimer les notifications tant que les oscillationsde l'état de l'hôte ne sont pas stabilisées. Plus d'informations sur la détection d'oscillation peuventêtre trouvées ici.

Page 221: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

194 / 379

Chapitre 29

Les contrôles de services

29.1 Introduction

Le fonctionnement basique des contrôles de services est décrit ici…

29.2 Quand les contrôles de services sont-ils réalisés?

Les services sont contrôlés par le démon Nagios :– À intervalles réguliers, comme définit par la variable check_interval et retry_interval dans vosdéfinitions de service .

– À la demande si besoin est pour les contrôles en prévision des dépendances des services .Les contrôles à la demande sont effectués dans le cadre de la logique des contrôles en prévision desdépendances des services . Ces contrôles permettent de garantir que la logique de dépendance soitla plus précise possible. Si vous n'utilisez pas les dépendances de service, Nagios ne réalisera aucuncontrôle de service à la demande.

29.3 Les contrôles de service mis en cache

La performance des contrôles de services à la demande peut être considérablement améliorée parla mise en œuvre de l'utilisation des contrôles mis en cache, ce qui permet à Nagios de renoncerà l'exécution d'un contrôle de service s'il détermine qu'un résultat d'un contrôle est relativementrécent peut convenir à la place. Les contrôles mis en cache ne fournissent qu'une augmentation desperformances si vous utilisez les dependances de service. Plus d'informations sur les contrôles mis encache peuvent être trouvées ici.

29.4 Les contrôles et les dépendances

Vous pouvez préciser l'exécution des dépendances de service qui empêche Nagios de vérifier lesstatuts des services dépendants en fonction de l'état d'un ou plusieurs autres services. Plus d'in-formations sur les dépendances sont disponibles ici.

Page 222: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

195 / 379

29.5 Parallélisation des contrôles de services

Les contrôles de services planifiés sont effecués en parallèle. Lorsque Nagios a besoin d'effectuer uncontrôle de service planifié, il lancera le contrôle du service et reviendra ensuite à d'autres tâches(exécution de contrôles d'hôtes, etc.). Le contrôle de service est lancé en tant que processus enfantqui a été doublé depuis le démon principal de Nagios. Quand le contrôle de service est terminé,le processus enfant informera le processus principal Nagios (son parent) des résultats du contrôle.Le processus principal de Nagios prend en compte les résultats et prend les mesures appropriées(exécution des gestionnaires d'événements, l'envoi de notification, etc.).Les contrôles de service à la demande peuvent être aussi lancés en parallèle si besoin. Comme il a étémentionné précédement, Nagios peut renoncer à l'exécution d'un contrôle de service à la demandes'il peut utiliser les résultats du contrôle de service qu'il a en cache sont relativement récent.

29.6 États des services

Les services qui ont été contrôlés peuvent avoir un des quatre états :– OK– WARNING– UNKNOWN– CRITICAL

29.7 Détermination de l'état du service

Les contrôles de services sont effectués par des plugins, qui renvoyent un état OK, WARNING, UN-KNOWN, ou CRITICAL. Ces états issus des plugins sont directement traduits en états de service. Parexemple, un plugin qui renvoie un état WARNING donnera au service un état WARNING.

29.8 Changements d'états des services

Quand Nagios contrôle le statut des services, il sera capable de détecter lorsqu'un service changeentre les états OK, WARNING, UNKNOWN, et CRITICAL et prendra les mesures appropriées. Deces changements d'état en résultent des types d'état (HARD ou SOFT), qui peuvent déclencher desgestionnaires d'événements et l'envoi de notifications. Les changements d'états de service peuventégalement déclencher à la demande des contrôles d'hôtes. Détecter et traiter les changements d'état,c'est le boulot de Nagios.Lorsque les services changent d'état trop fréquement, ils sont considérés comme étant oscillants.Nagios peut détecter lorsque les services commencent à osciller, et peut supprimer des notificationsjusqu'à ce que l'état du service se soit stabilisé. Plus d'informations sur la détection d'occillationpeuvent être trouvées ici.

Page 223: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

196 / 379

Chapitre 30

les contrôles actifs

30.1 Introduction

Nagios est capable de contrôler des hôtes et des services de deux façons : activement et passivement.Les contrôles passifs sont décrits plus tard, aussi nous allons nous concentrer ici sur les contrôlesactifs. Les contrôles actifs représentent la méthode la plus commune pour superviser des hôtes etservices. Les principales fonctionnalités des contrôles actifs sont les suivantes :

– Les contrôles actifs sont initiés par le processus Nagios.– Les contrôles actifs sont exécutés à intervalles réguliers

30.2 Comment sont faits les contrôles actifs ?

Page 224: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

197 / 379

Les contrôles actifs sont initiés par la logique de contrôle du démon Nagios. Quand Nagios a besoinde connaître l'état d'un hôte ou d'un service, il va exécuter un plugin et lui passer les informationssur ce qu'il a besoin de contrôler. Le plugin contrôle alors l'état opérationnel de l'hôte ou du serviceet renvoie les résultats en retour au démon Nagios. Nagios va traiter les résultats du contrôle d'hôteou de service et conduire les actions appropriées (par exemple envoyer des notifications, lancer ungestionnaire d'événements, etc.).Plus d'informations sur le fonctionnement des plugins peuvent être trouvées ici.

30.3 Quand sont exécutés les contrôles actifs ?

Les contrôles actifs sont exécutés :– À intervalles réguliers, comme définit dans les options check_interval et retry_interval de vosdéfinitions d'hôtes et de services

– À la demande quand nécessaireLes contrôles réguliers sont faits à intervalles réguliers lorsque le check_interval ou le retry_int-erval sont définis dans vos définitions d'hôtes et de services, et en fonction du type d'état dans lequelse trouve l'hôte ou le service. Si l'hôte ou le service se trouve dans un état HARD, il sera activementcontrôlé à intervalles réguliers définis par l'option check_interval. Si il est dans un état SOFT, il seracontrôlé à intervalles définis par l'option retry_interval.Les contrôles à la demande sont faits quand Nagios estime avoir besoin de connaître le dernier étatd'un hôte ou service particulier. Par exemple, quand Nagios détermine l'accesibilité d'un hôte, il vasouvent faire un contrôle à la demande des hôtes parents et enfants pour avoir un état exact de cesegment particulier de réseau. Les contrôles à la demande peuvent aussi être faits par la logique decontrôle prédictif de dépendances pour s'assurer que Nagios a bien les derniers états disponibles.

Page 225: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

198 / 379

Chapitre 31

Les contrôles passifs

31.1 Introduction

Dans la plus part des cas, vous utilisez Nagios pour réaliser des contrôles actifs. Les contrôles actifssont utilisés pour prélever les informations sur le statut d'une machine aussi souvent que possible.Nagios possède un autre moyen de contrôle, celui dit passif. Les attraits des contrôles passifs sont lessuivants :

– Les contrôles passifs sont lancés et exécutés par des applications externes– Les résultats des contrôles passifs sont soumis à Nagios pour traitement

La différence majeure entre les contrôles actifs et passifs ; Dans le cas des actifs, c'est Nagios quilance et exécute les contrôles alors que dans le cas des passifs, cet acheminement est géré par uneapplication externe.

31.2 L'utilité du contrôle passif

Les contrôles passifs sont utiles pour superviser des services qui sont :– Asynchrones par nature et ne peuvent donc pas être contrôlés activement de manière fiable (p.ex.les interruptions SNMP, les alertes de sécurité, etc.)

– Situés derrière un firewall, et ne peuvent donc pas être contrôlés depuis l'hôte supportant NagiosLes exemples de services asynchrones qui se prêtent à être contrôlés passivement incluent les inter-ruptions SNMP et alertes de sécurité. Vous ne savez jamais à quels moment une faille de sécurité peutêtre franchie, donc il n'est pas réalisable de contrôler leur statut toutes les deux ou trois minutes.Les contrôles passifs sont aussi utilisés lors d'installation de supervision distribuée ou redondante

Page 226: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

199 / 379

31.3 Comment les contrôles passifs fonctionnent-ils ?

Ci-dessous, le fonctionnement des contrôles passifs en plus détaillé :

1. Une application externe contrôle l'état d'un hôte ou un service.2. L'application externe écrit le résultat du contrôle dans le fichier des commandes externes.3. Ensuite, Nagios lit ce fichier et place les résultats dans une queue pour les traiter plus tard. Cettemême queue est utilisée pour aussi bien stocker les résultats des contrôles actifs que passifs.

4. Nagios va exécuter périodiquement un événement collecteur de résultat et scanner la queue.Chaque résultat de services trouvé est traité de la même manière qu'il soit actif ou passif. Nagiosenverra les notifications, alertes de log, etc. en fonction du résultat des contrôles.

Le principe des contrôles actifs et passifs est similairement le même. Cela tient en compte de l'inté-gration de l'information des états à partir d'applications externes avec Nagios.

31.4 Autoriser les contrôles passifs

Dans l'odre, pour autoriser le contrôle passifs dans Nagios, Il faut procéder de la manière suivante :

– Passer le paramètre accept_passive_service_checks à 1.– Passer dans la définition des hôtes et des services le paramètre passive_checks_enabled à 1

Si vous voulez désactiver globalement le contrôle passifs, passer le paramètre accept_passive_se-rvice_checks à 0.Si vous voulez désactiver les contrôles passifs pour quelques services ou hôtes, utilisez le paramètrepassive_checks_enabled dans votre définition d'hôte et/ou service.

Page 227: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

200 / 379

31.5 Soumission d'un résultat de contrôle passif

Les applications externes peuvent soumettre à Nagios des résultats de contrôles passifs en écrivantune commande externe PROCESS_SERVICE_CHECK_RESULT dans le fichier de commande externe.Le format de la commande ressemble à ce qui suit :

[<timestamp>] PROCESS_SERVICE_CHECK_RESULT;<host_name>;<svc_description>;<return_code>;<plugin_output>

où :

– timestamp est le temps au format time_t (secondes écoulée depuis le commencement UNIX) quele contrôle de service génère (ou soumet). Notez bien le simple espace juste après la parenthèse.

– host_name est l'alias de l'hôte associé avec le service dans la définition de service– svc_description est la description de service spécifiée dans la définition de service– return_code est le code de retour d'un contrôle (0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN)– plugin_output est le texte de sortie d'un contrôle de service

NoteUn service doit être défini dans Nagios avant de lui soumettre un contrôle passif ! Nagios ignor-era tous les résultats de contrôles pour les services qui n'ont pas été configuré avant son dernier(re)démarrage.

ASTUCEUn exemple de script shell sur comment soumettre un contrôle passif de service à Nagios se trouvedans la documentation des services volatiles.

31.6 Soumission d'un résultat de contrôle passif d'un hôte

Les applications externes peuvent soumettre à Nagios des résultats de contrôles passifs en écrivantune commande externe PROCESS_HOST_CHECK_RESULT dans le fichier 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 écoulée depuis le commencement UNIX) quele contrôle de service génère (ou soumet). Notez bien le simple espace juste après la parenthèse.

– host_name est l'alias correspondant à l'hôte (défini dans la définition de l'hôte)– host_status est l'état de l'hôte (0=UP, 1=DOWN, 2=UNREACHABLE)– plugin_output est le texte de sortie du contrôle de l'hôte

NoteUn hôte doit être défini dans Nagios avant de lui soumettre un contrôle passif ! Nagios ignorera tousles résultats de contrôles pour les hôtes qui n'ont pas été configurés avant son dernier (re)démarrage.

Page 228: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

201 / 379

31.7 Les contrôles passifs et les états d'hôtes

À la différence des contrôles actifs d'hôte, Nagios n'essaie pas (par défaut) de déterminer si l'hôteest DOWN ou UNREACHABLE avec le contrôle passif. Plutôt, Nagios prend le résultat du contrôlepassif comme l'état réel dans lequel l'hôte est et n'essaie pas de déterminer que l'état réel de l'hôteen utilisant la logique d'accessibilité. Ceci peut causer des problèmes si vous soumettez un contrôlepassif provenant d'un hôte distant ou vous avez une supervision dite distribuée dans laquelle vousavez des liens d'hôtes père/fils complexes.Vous pouvez dire à Nagios de traduire un résultat de contrôle passif DOWN/UNREACHABLE par votrepropre état en utilisant la variable translate_passive_host_checks . Vous trouverez plus d'informa-tions sur son fonctionnement ici.

NoteLes contrôles passifs des hôtes sont normalement traités en états HARD, à moins que l'option pas-sive_host_checks_are_soft soit activée.

31.8 Soumission des résultats de contrôles passifs provenantd'hôtes distants

Si une application demeurant sur le même serveur que Nagios veut envoyer un résultat de contrôlepassif d'hôte ou de service, vous pouvez simplement écrire enmode append directement dans le fichierde commandes externes. Contrairement, une application sur un hôte distant ne peut pas le faire aussisimplement.Pour permettre aux hôtes distants d'envoyer leurs résultats de contrôles passifs au serveur de super-vision, j'ai développé un agent du nom NSCANSCA. L'agent NSCA se compose d'un démon tournantsur le serveur Nagios et un client qui est exécuté par les hôtes distants. Le démon écoutera toutesles connexions des hôtes distants, exécutera quelques validations fondamentales sur les résultats luiétant soumis et écrira ensuite les résultats des contrôles directement dans le fichier de commandesexternes (comme décrit au-dessus). Plus de renseignements sur l'agent NSCA peuvent être trouvésici.

Page 229: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

202 / 379

Chapitre 32

Types d'états

32.1 Introduction

L'état courant d'un service ou d'un hôte supervisé est déterminé par deux composants :

– L'état du service ou de l'hôte (ex : OK, WARNING, UP, DOWN, etc.)– Le type d'état dans lequel l'hôte 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élément crucial de la logique de supervision, ils sont utilisés pour déterminer quand les gestionnairesd'événements sont exécutés et quand les notifications sont initialement envoyées.Ce document décrit les différences 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 contrôle des Services et des hôtes

Afin de prévenir des fausses alarmes dues à des problèmes transitoires, Nagios vous permet de définircombien de fois un service ou un hôte devra être (re)contrôlé avant d'être considéré comme ayantun réel problème. Ceci est contrôlé par l'option max_check_attempts des définitions d'hôtes et deservices. Comprendre comment les hôtes et les services sont (re)contrôlés afin de déterminer si unréel problème existe est important dans la compréhension de comment les type d'états fonctionnent.

32.3 Les états SOFT

Les états SOFT surviennent dans les situations suivantes :– Quand le contrôle d'un service ou d'un hôte retournre un état non-OK ou non-UP et quand le ser-vice n'a pas été (re)contrôlé le nombre de fois spécifié par le paramètre max_check_attempts desdéfinitions des hôtes ou des services. C'est ce qu'on appelle une erreur SOFT.

– Quand un service ou un hôte se rétablit suite à un état d'erreur SOFT. Ceci est considéré comme unrétablissement SOFT.

Les choses suivantes se produisent lorsque des hôtes ou des services rencontrent des changementsd'état SOFT :

– L'état SOFT est journalisé.

Page 230: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

203 / 379

– Les gestionnaires d'événements sont exécutés pour traiter l'état SOFT.

Les états SOFT sont seulement journalisés si vous avez activé les options log_service_retries oulog_host_retries dans le fichier de configuration principal.La seule chose importante qui se passe réellement lors d'un état SOFT, c'est l'exécution des ges-tionnaires d'événements. L'utilisation des gestionaires d'événements peut être particulièrement utilesi vous voulez essayer et résoudre un problème de façon proactive avant qu'il ne se transforme en étatHARD. Lesmacros $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ ou $SERVICESTATETYPE$Macros$SERVICESTATETYPE$auront alors la valeur SOFT quand les gestionnaires d'événement seront exécutés, ce qui permettraaux gestionnaires d'événements de savoir quand ils devront prendre des mesures correctives. Plusd'informations sur les gestionnaires d'événements sont disponibles ici.

32.4 Les états HARD

Les états HARD surviennent pour les hôtes et les services dans les situations suivantes :

– Quand un contrôle d'hôte retourne un état non-OK et qu'il a été (re)contrôlé autant de fois quespécifié par l'option max_check_attempts de la définition de l'hôte. C'est un état d'erreur HARD.

– Lorsqu'un hôte ou un service passe d'un état HARD à un autre état (ex : WARNING vers CRITICAL).– Lorsqu'un contrôle de service revoie un état non-OK et que son hôte correspondant est soit DOWNou UNREACHABLE.

– Lorsqu'un hôte ou un service redevient OK après un état non-OK HARD. Ceci est considéré commeun retour à la normale HARD

– Lorsqu'un contrôle passif d'un hôte est reçu. Les contrôles passifs des hôtes sont traités commeHARD sauf si l'option passive_host_checks_are_soft est activée.

Les choses suivantes se produisent lorsque des hôtes ou des services rencontrent des changementsd'état HARD:

– L'état HARD est journalisé– Les gestionnaires d'événements sont exécutés pour traiter l'état HARD.– Les contacts sont notifiés d'un problème ou d'un retour à la normale d'un hôte ou d'un service.

Lesmacros $HOSTSTATETYPE$Macros$HOSTSTATETYPE$ ou $SERVICESTATETYPE$Macros$SERVICESTATETYPE$auront la valeur HARD quand les gestionnaires d'événement seront exécutés, ce qui permettra auxgestionnaires d'événement de savoir qu'ils doivent effectuer une action corrective. Plus d'informationssur les gestionnaires d'événement peuvent être trouvées ici.

32.5 Exemple

Voici un exemple de comment sont déterminés les types d'état, quand les changement d'états survi-ennent, et quand les gestionnaires d'événements sont exécutés et les notifications sont envoyées. Letableau ci-dessous montre les contrôles consécutifs dans le temps. Le max_check_attempt du servicecontrôlé est positionné à 3.

Echellede temps

Contrôle# Etat Type

d'étatChangementd'état Notes

0 1 OK HARD Non Etat initial du service

Page 231: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

204 / 379

Echellede temps

Contrôle# Etat Type

d'étatChangementd'état Notes

1 1 CRITICAL SOFT Oui

Première détection d'unétat non-OK. Legestionnaire d'événements'exécute.

2 2 WARNING SOFT Oui

Le service continue d'êtredans un état non-OK. Legestionnaire d'événements'exécute.

3 3 CRITICAL HARD Oui

Le nombre maximum detentatives a été atteint, leservice passe dans un étatHARD. Le gestionnaired'événement s'exécute etune notification estenvoyée. Le compteur detentavive repasseimmédiatement à 1.

4 1 WARNING HARD Oui

Le service passe à un étatWARNING HARD. Legestionnaire d'événements'exécute et une notifiactiondu problème est envoyée.

5 1 WARNING HARD Non

Le service se stabilise dansun état HARD. Selonl'intervalle de notificationspécifié pour le service,d'autres notivicationspeuvent être envoyées.

6 1 OK HARD Oui

Le service passe à un étatOK HARD. Le gestionnaired'événement s'exécute etune notification de retour àla normale est envoyée.

7 1 OK HARD Non Le service est toujours OK.

8 1 UNKNOWN SOFT Oui

Le service est détectécomme ayant basculé versun état SOFT non-OK. Legestionnaire d'événements'exécute.

Page 232: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

205 / 379

Echellede temps

Contrôle# Etat Type

d'étatChangementd'état Notes

9 2 OK SOFT Oui

Le service passe à un étatde retour à la normaleSOFT. Le gestionnaired'événement s'exécute,mais aucune notificationn'est envoyée, comme cen'est pas un réel problème.Le type d'état est positionnéà HARD et le compteur detentative est positionné à 1immédiatement après.

10 1 OK HARD NonService stabilisé dans unétat OK.

Page 233: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

206 / 379

Chapitre 33

Les périodes de temps

NoteOu… Est-ce le bon moment ?

33.1 Introduction

Les paramètres concernant les périodes de temps vous permettent de maîtriser lefonctionnement logique des différents aspects de la supervision et de la notification. Par exemple,vous pouvez restreindre :

– Quand les contrôles d'hôtes et de services planifiés peuvent être effectués– Quand les notifications peuvent être envoyées– Quand les escalades de notification peuvent être utilisées– Quand les dépendances sont valides

33.2 Les priorités dans les périodes de temps

Les définitions de périodes de temps peuvent contenir différents types de paramètres, incluant lesjours de la semaine, certains jours dans le mois, et des dates précises du calendrier. Les différentstypes de paramètres ont des priorités différentes et peuvent passer outre les autres définitions depériodes. L'ordre des priorités pour les différents type de directives (dans l'ordre décroissant) est lesuivant :

– Une date précise dans le calendrier (01/01/2008)– Une date spécifique dans un mois quelconque (1er Janvier)– Une date générique mensuelle (tous les 15 du mois)– Un jour d'un mois spécifique (le 2ème Mardi de Décembre)

Page 234: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

207 / 379

– Un jour spécifique mensuel (3ème Lundi de chaque mois)– Un jour dans la semaine (le Mardi)

Des exemples de paramètres concernant les périodes de temps sont accessibles ici.

33.3 Comment les périodes de temps fonctionnent avec lescontrôles des hôtes et des services

Les définitions des hôtes et des services ont un paramètre optionnel check_period qui vous permetde spécifier la période qui sera utilisée pour restreindre les moments où les contrôles actifs des hôtesou des services devront être effectués.Si vous n'utilisez pas le paramètre check_period pour spécifier une période, Nagios sera capable deplanifier les contrôles actifs des hôtes et services aussi souvent qu'il en aura besoin. Il s'agit essen-tiellement d'une période de surveillance de type 24x7.Spécifier une plage horaire dans le paramètre check_period vous permet de restreindre Nagios àplanifier les contrôles actifs réguliers des hôtes ou des services. Quand Nagios va tenter de replanifierun contrôle d'hôte ou de service, il va s'assurer que le prochain contrôle tombe bien dans la plagehoraire définie. Si ce n'est pas le cas, Nagios va ajuster l'heure du prochain contrôle pour qu'ellecoïncide avec la prochaine heure valide dans la plage horaire spécifiée. Ce qui signifie que l'hôte oule service ne sera contrôlé à nouveau que dans plusieurs heures, jours, semaines, etc.

NoteLes contrôles à la demande et les contrôles passifs ne sont pas restreints par la plage horaire spécifiéedans le paramètre check_period. Seuls des contrôles réguliers actifs sont concernés.

Sauf si vous avez une bonne raison de ne pas le faire, je vous conseille de surveiller tous les hôteset les services en utilisant des plages horaires qui couvrent une période de temps 24x7. Si vous nele faites pas, vous pouvez rencontrer certains problèmes au cours de ces périodes de non-contrôle(lorsque l'on ne se trouve pas dans la plage horaire définie) :

1. Le statut de l'hôte ou du service apparaîtra inchangé tout au long de la période de non-contrôle.2. Les contacts ne seront pas re-notifiés des problèmes avec un hôte ou un service durant unepériode de non-contrôle.

3. Si un hôte ou un service redevient OK pendant une période de non-contrôle, les contacts neseront pas immédiatement notifiés du retour à normale.

33.4 Comment fonctionnent les périodes de temps avec lescontacts de notifications

En spécifiant une période au paramètre notification_period d'une définition d'un hôte ou d'unservice, vous pouvez contrôler quand Nagios est autorisé à envoyer des notifications concernant desproblèmes ou des retours à la normale pour cet hôte ou ce service. Lorsqu'une notification pour un hôtedoit être envoyée, Nagios s'assure que l'heure actuelle est bien comprise dans la plage horaire noti-fication_period valide. Si c'est une heure valide, alors Nagios essayera de notifier chaque contactdu problème ou du retour à la normale.Vous pouvez aussi utiliser les périodes pour contrôler quand seront envoyées les notifications indi-viduellement à chaque contact. En utilisant les paramètres service_notification_period and ho-st_notification_period dans la définition d'un contact, vous serez en mesure de définir une plage

Page 235: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

208 / 379

horaire sur mesure pour chaque contact. Les contacts recevront les notifications pour les hôtes et lesservices seulement pendant la plage horaire que vous leur aurez spécifié.Des exemples de création de définition de plages horaires sur mesure sont disponibles ici.

33.5 Comment fonctionnent les périodes de temps avec les es-calades de notification

Les escalades de notification des hôtes et services ont un paramètre optionnel nommé escalation_p-eriod qui vous permet de spécifier une plage horaire où l'escalade sera valide et pourra être utilisée.Si vous n'utilisez pas le paramètre escalation_period dans la définition de l'escalalde, l'escaladesera considérée comme valide tout le temps. Si vous spécifiez une plage horaire pour le paramètreescalation_period, Nagios utilisera définition de l'escalade seulement pendant cette plage horaire.

33.6 Comment fonctionnent les périodes de temps avec lesdépendances

Les dépendances d'hôtes et de services ont un paramètre optionnel nommé dependency_period quivous permet de spécifier une plage horaire où la dépendance sera valide et pourra être utilisée. Si vousn'utilisez pas le paramètre dependency_period dans la définition de la dépendance, la dépendancepourra être utilisée n'importe quand. Si vous spécifiez une plage horaire pour le paramètre depend-ency_period, Nagios utilisera la définition de la dépendance seulement pendant cette plage horaire.

Page 236: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

209 / 379

Chapitre 34

Détermination de l'état et de l'acces-sibilité des hôtes du réseau

34.1 Introduction

Si vous avez déjà travaillé dans une équipe de support technique, vous avez alors sûrement entendules utilisateurs vous dire que Internet est coupé. En tant que technicien, vous pouvez être quasimentsûr que ce n'est pas quelqu'un qui a débranché le câble Internet. Il y a certainement quelque chosequi ne fonctionne pas entre le siège de l'utilisateur et l'Internet.Partant du principe que c'est un problème technique, vous commencez à chercher le problème. C'estpeut-être l'ordinateur de l'utilisateur qui est éteint, son câble réseau qui est débranché, ou peut-êtreque c'est un des routeurs de cœur de réseau de l'entreprise qui vient de tomber. Quelque soit leproblème, une chose est sûre, l'Internet n'est pas coupé. Il est devenu injoignable pour cet utilisateur.Nagios est capable de déterminer si les hôtes que vous supervisez sont en état DOWN ou UNREACH-ABLE. Ces deux états sont complètement différents (mais en relation) et peuvent vous aider à rapide-ment trouver la cause profonde de problèmes réseaux. Voici comment fonctionne la logique d'acces-sibilité des hôtes du réseau pour vous permettre de distinguer ces deux états…

34.2 Exemple de réseau

Jetez un œil au diagramme réseau ci-dessous. Pour cet exemple, partons du principe que vous super-visez l'ensemble des hôtes (serveurs, routeurs, switchs, etc.) figurant sur le diagramme. Nagios estinstallé et fonctionne sur le serveur Nagios.

Page 237: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

210 / 379

34.3 Définir des relations parents/enfants

Pour que Nagios puisse faire la distinction entre les états DOWN et UNREACHABLE des hôtes su-pervisés, vous devez lui préciser la façon dont sont connectés les hôtes les uns aux autres ; en vousplaçant du point de vue du démon Nagios. Pour cela, tracer le chemin que devrait prendre un pa-quet de données pour aller du démon Nagios à chaque hôte supervisé. Chaque switch, routeur, etserveur que le paquet doit traverser est considéré comme une étape et requiert que vous définissiezune relation parent/enfant dans Nagios.

Page 238: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

211 / 379

Maintenant que vous savez ce que représente les relations parent/enfant pour les hôtes supervisés ;comment configurer Nagios pour représenter celles-ci? Le paramètre parents de vos définitionsd'hôtes vous permet de le faire. Voici un extrait des définitions de l'hôte avec les relations paren-t/enfant pour cet exemple :define host {

host_name Nagios   ; <-- The local host has no parent - it is the topmost host}

define host {host_name Switch1parents Nagios

}

define host {host_name Webparents Switch1

}

Page 239: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

212 / 379

define host {host_name FTPparents Switch1

}

define host {host_name Router1parents Switch1

}

define host {host_name Switch2parents Router1

}

define host {host_name Wkstn1parents Switch2

}

define host {host_name HPLJ2605parents Switch2

}

define host {host_name Router2parents Router1

}

define host {host_name somewebsite.comparents Router2

}

34.4 La logique d'accessibilité des hôtes en action

Maintenant que Nagios est configuré avec les relations parent/enfant correctes pour vos hôtes, voyonsce qui se passe quand un problème survient. Partons du principe que deux hôtes - Web et Router1 -sont tombés…

Page 240: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

213 / 379

Quand l'état de l'hôte change (par exemple de UP à DOWN), la logique d'accessibilité des hôtes estmis en action. La logique d'accessibilité des hôtes va initier des contrôles parrallèles pour les parentset l'enfant sur n'importe quels changements d'états. Cela permet à Nagios de rapidement déterminerl'état courant de votre infrastructure réseau dès que quelque chose change.

Page 241: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

214 / 379

Dans cet exemple, Nagios va déterminer que Web et Router1 sont tous les deux en état DOWN parceque le chemin vers ces hôtes n'est pas bloqué.Nagios va déterminer que les hôtes derrière Router1 sont tous dans un état UNREACHABLE parceque Nagios ne peut les joindre. Router1 est tombé et bloque le chemin vers les autres hôtes. Ces hôtesfonctionnent peut-être, ou pas - Nagios ne le sait pas parce qu'il ne peut pas les joindre. Aussi Nagiosles considère comme UNREACHABLE et non DOWN.

34.5 Type de notification DOWN opposé à UNREACHABLE

Par défaut, Nagios va notifier les contacts à la fois pour des hôtes en états DOWN et UNREACHABLE.En tant que administrateur/technicien, vous ne souhaiterez peut-être pas recevoir de notificationspour des hôtes UNREACHABLE. Vous connaissez votre topologie réseau, et si Nagios vous notifiequ'un routeur/firewall est tombé, vous savez que tout ce qui trouve derrière est inacessible.Si vous voulez vous éviter d'être noyé sous un flot de notifications UNREACHABLE pendant descoupures réseaux, vous pouvez exclure l'option unreachable (u) de le paramètre notification_opt-

Page 242: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

215 / 379

ions dans votre fichier de configuration d'hôte et/ou dans le paramètre host_notification_optionsde votre fichier de définitions des contacts.

Page 243: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

216 / 379

Chapitre 35

Notifications

35.1 Introduction

J'ai reçu de nombreuses questions sur le fonctionnement des notifica-tions. Ce document essaiera d'expliquer exactement quand et comment les notifications pour les hôteset les services sont émises, et qui les reçoit.Les escalades de notifications sont expliquées ici.

35.2 Quand y a-t'il notification?

La décision d'émettre des notifications est prise dans le cadre du contrôle de service et du contrôled'hôte. Les notifications d'hôte 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'étatHARD, lisez ceci.

– Lorsqu'un hôte ou un service demeure dans un état hard et non-OK, et que le délai défini dans leparamètre notification_interval de la définition de l'hôte ou du service est écoulé depuis que ladernière notification a été émise (pour ce même hôte ou service).

35.3 Qui est notifié?

Chaque définition de service comprend un paramètre contact_groups qui définit quels groupes decontacts recevront les notifications de ce service. Chaque groupe de contacts peut contenir un ouplusieurs contacts individuels.Quand Nagios émet une notification de service, il notifie chaque contact membre d'un des groupes decontacts spécifiés dans le paramètre contactgroups de la définition du service. Nagios est conscientqu'un contact peut être membre de plus d'un groupe, donc il commence par supprimer les doublonsavant toute chose.

Page 244: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

217 / 379

35.4 Quels sont les filtres à traverser avant qu'une notificationne soit émise?

Le simple fait qu'une notification d'hôte ou de service doit être émise ne signifie pas que des contactsvont la recevoir. Il y a plusieurs filtres qu'une notification doit traverser avant d'être jugée valablepour l'émission. Même alors, des contacts peuvent ne pas la recevoir si leurs filtres de notification nele permettent pas. Voyons en détail les filtres à traverser…

35.5 Filtre global au programme :

Le premier filtre que les notifications doivent traverser est un test pour savoir si les notifications sontactivées au niveau global du programme ou non. Ceci est spécifié par le paramètre enable_notifica-tions du fichier de configuration principal, mais peut être modifié en cours d'exécution via l'interfaceweb. Si les notifications sont désactivées de manière globale, aucune notification ne sera envoyée -point final. Si elles sont activées, il y a encore d'autres tests à réussir…

35.6 Filtres d'hôte et de service :

Le premier filtre des notifications d'hôte et de service consiste à vérifier que l'hôte ou le service n'estpas dans une période d'arrêt planifié (scheduled downtime). Si c'est le cas, personne n'est notifié. S'iln'est pas dans une période d'arrêt planifié, la notification est passée au filtre suivant. Notez égalementque les notifications de services sont supprimées si l'hôte auquel est associé le service est dans unepériode d'arrêt planifié.Le deuxième filtre des notifications d'hôte et de service consiste à vérifier si l'hôte ou le service oscille(à condition que vous ayez activé la détection d'oscillation). Si le service ou l'hôte oscille, personnen'est notifié. Sinon, la notification est passée au filtre suivant.Le troisième filtre à traverser pour les notifications d'hôte et de service est formé par les paramètresde notification. Chaque définition de service contient des paramètres qui déterminent si les notifica-tions doivent être envoyées pour les états WARNING, CRITICAL, et RECOVERY. De la même manière,chaque définition d'hôte contient des paramètres qui déterminent si les notifications doivent être en-voyées quand l'hôte s'arrête [NdT : état DOWN], devient inaccessible [UNREACHABLE], ou se rétablit[RECOVERY]. Si la notification d'hôte ou de service est bloquée par ces paramètres, personne n'estnotifié. Dans le cas contraire, la notification est passée au filtre suivant…

NoteLes notifications concernant les rétablissement d'hôtes et de services ne sont émises que si unenotification a été envoyée à l'apparition du problème. Cela n'a pas de sens de recevoir une notificationde rétablissement pour un problème dont vous n'aviez pas connaissance…

Le quatrième filtre des notifications d'hôte et de service à traverser concerne la période. Chaque déf-inition d'hôte et de service comporte un paramètre notification_period qui spécifie quelle périodecontient les heures de notification valides pour cet hôte ou service. Si le moment où la notificationapparaît n'est pas dans une plage valide de la période spécifiée, personne n'est contacté. Dans le cascontraire, la notification est passée au filtre suivant…

Page 245: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

218 / 379

NoteSi le filtre de période n'est pas traversé, Nagios réordonnancera la prochaine notification pour l'hôteou le service (s'il est dans un état non-OK) dans la prochaine plage de temps valide pour la période.Cela permet de s'assurer que les contacts sont notifiés des problèmes dès que possible quand arrivele prochain moment valide de la période.

Le dernier jeu de filtres d'hôte et de service est conditionnée par deux éléments : (1) une notification adéjà été émise par le passé concernant un problème avec l'hôte ou le service, et (2) l'hôte ou le serviceest resté dans le même état non-OK depuis la dernière notification. Si ces deux conditions sont réunies,Nagios vérifie que le temps écoulé depuis l'émission de la dernière notification est supérieur ou égal àla valeur spécifiée par le paramètre notification_interval de la définition de l'hôte ou du service.Si le temps écoulé depuis la dernière notification est insuffisant, personne n'est contacté. Si un tempssuffisant s'est écoulé, ou si les deux conditions de ce filtre n'ont pas été réunies, la notification seraémise ! Le fait qu'elle parvienne ou non aux contacts individuels relève d'un autre jeu de filtres…

35.7 Filtres de contact :

A ce point la notification a traversé le filtre du mode de programme et tous les filtres d'hôte et deservice, et Nagios commence à envoyer des notifications à tous ceux qui doivent en recevoir. Celasignifie-t-il que tous les contacts vont recevoir la notification? Non ! Chaque contact possède sonpropre jeu de filtres que la notification doit traverser avant qu'ils ne la reçoivent.

NoteLes filtres de contact sont propres à chaque contact et n'affectent pas la façon dont les autres contactsreçoivent les notifications.

Le premier filtre à passer pour chaque contact concerne les paramètres de notification. Chaque déf-inition de contact comprend des paramètres qui déterminent si les notifications de service peuventêtre émises pour les états WARNING, CRITICAL, et RECOVERY. Chaque définition de contact contientégalement des options qui déterminent si les notifications d'hôtes peuvent être émises lorsqu'un hôtepasse dans les états DOWN, UNREACHABLE, ou RECOVERY. Si la notification d'hôte ou de servicene remplit pas ces conditions, les contacts ne recevront pas de notification. Dans le cas contraire, lanotification est passée au prochain filtre…

NoteLes notifications concernant les rétablissement d'hôtes et de services ne sont émises que si unenotification a été envoyée à l'apparition du problème. Cela n'a pas de sens de recevoir une notificationde rétablissement pour un problème dont vous n'aviez pas connaissance…

Le dernier filtre à passer pour chaque contact concerne la période. Chaque définition de contactcomprend un paramètre notification_period qui spécifie la période durant laquelle on peut envoyerdes notifications à ce contact. Si l'heure à laquelle la notification est faite n'est pas comprise dans laplage de temps de la période spécifiée, le contact ne recevra pas la notification. Dans le cas contraire,le contact la reçoit !

35.8 Moyens de notifications

Nagios peut vous envoyer des notificaitons sur les problèmes et retours à la normale d'a peu prèstoutes les façons que vous voulez : email, pager, téléphone (SMS), messageries instantanées Yahoo,

Page 246: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

219 / 379

ICQ, ou MSN, alertes sonores, décharge électrique, etc. La façon dont est envoyée les notificationsdépend des commandes de notification qui sont définies dans les fichiers de définitions d'objets.

NoteSi vous installez Nagios en suivant le guide de démarrage rapide, celui-ci devrait être configurépour envoyer des emails. Vous pouvez voir la commande utilisée pour la notification par email envisualisant le contenu du fichier suivant : /usr/local/nagios/etc/objects/commands.cfg.

Les méthodes spécifiques de notification (pager, etc.) ne sont pas directement intégrées au code deNagios parce que cela n'a pas de sens. Nagios n'est pas prévu pour être une application tout-en-un. Si les contrôles de service étaient intégrés dans le cœur de Nagios, il serait très difficile pourles utilisateurs d'ajouter de nouvelles méthodes de contrôle, de modifier celles qui existent, etc. Lesnotifications fonctionnent de la même manière. Il y a mille et une façons d'envoyer des notifications etde nombreux modules ont déjà été développés pour faire le sale boulot, alors pourquoi réinventer laroue, et vous contenter d'un pneu de vélo ? Il est bien plus facile de déléguer à une application externe(c.-à-d. un simple script ou un système de messagerie complet) ce travail complexe. Des modules demessagerie qui peuvent traiter les notifications pour les pagers ou les téléphones portables sont listésci-dessous, dans la section des ressources.

35.9 Macro de type de notification

Lorsque vous bricolez vos commandes de notification, vous devez prendre en compte le type de notifi-cation qui se présente. La macro $NOTIFICATIONTYPE$Macros$NOTIFICATIONTYPE$ contient unechaîne de caractéres qui identifie précisément cela. Le tableau ci-dessous liste les valeurs possiblesde cette macro et leur description :

Valeur Description

PROBLEM

Un service ou un hôte vient de passer (ou estencore) dans un état dénotant un problème.S'il s'agit d'une notification de service, celasignifie que le service est dans un étatWARNING, UNKNOWN ou CRITICAL. Si c'estune notification d'hôte, cela signifie que l'hôteest dans l'état DOWN ou UNREACHABLE.

RECOVERY

Un service ou un hôte s'est rétabli. S'il s'agitd'une notification de service, cela signifie quele service vient de retourner dans l'état OK. Sic'est une notification d'hôte, cela signifie quel'hôte vient de reprendre l'état UP.

ACKNOWLEDGEMENT

Cette notification est liée à l'acquittement d'unproblème d'hôte ou de service. Lesnotifications d'acquittement sont générées vial'interface web par les contacts de l'hôte ou duservice concerné.

FLAPPINGSTARTL'hôte ou le service vient de commencer àosciller.

FLAPPINGSTOPL'hôte ou le service vient de s'arrêterd'osciller.

Page 247: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

220 / 379

Valeur Description

FLAPPINGDISABLEDL'hôte ou le service vient de s'arrêterd'osciller parce que la détection d'oscillation aété désactivée.

DOWNTIMESTARTL'hôte ou le service vient d'entrer dans unepériode de maintenance planifiée. Lesnotifications suivantes seront supprimées.

DOWNTIMESTOP

L'hôte ou le service vient de sortir d'unepériode de maintenance planifiée. Lesnotifications de problèmes peuvent doncreprendre.

DOWNTIMECANCELLED

La période de maintenance planifiée pourl'hôte ou le service vient d'être annulée. Lesnotifications de problèmes peuvent doncreprendre.

35.10 Ressources utiles

Il y a bien des moyens de configurer Nagios pour envoyer des notifications. C'est à vous de déciderde la (des) méthode(s) que vous voulez utiliser. Une fois ce choix fait, vous devrez installer les logi-ciels nécessaires, et définir les commandes de notification dans vos fichiers de configuration avant depouvoir les utiliser. Voici quelques méthodes de notification possibles :

– Email– Pager– Téléphone (SMS)– Message WinPopup– Messageries instantanées Yahoo, ICQ, ou MSN– Alertes sonores– etc…

En gros, tout ce que vous pouvez faire en ligne de commande peut être adapté sous forme de com-mande de notification.Si vous cherchez à envoyer des messages à votre pager ou à votre téléphone portable sans email,jetez un coup d'œil aux applications suivantes. Elles peuvent être utilisées en conjonction avec Nagiospour envoyer une notification via un modem quand un problème arrive. De cette façon, vous n'êtespas dépendant de l'email pour émettre des notifications (gardez à l'esprit que l'email peut *ne pas*fonctionner s'il y a des problèmes réseau). Je n'ai pas personnellement essayé ces applications, maiscertains m'ont dit l'avoir fait avec succès…

– Gnokii (logiciel SMS pour contacter des téléphones Nokia via le réseau GSM)– QuickPage (logiciel de pager alphanumérique)– Sendpage (logiciel de pager)– SMS Client (outil en ligne de commande pour envoyer des messages aux pagers et aux téléphonesportables)

Si vous désirez une méthode atypique, vous pouvez essayer de vous amuser avec les alertes sonores.Si vous voulez des alertes sonores sur le serveur de supervision (avec voix synthéthique), essayezFestival [Anglais]. Si vous voulez les recevoir sur une autre machine, testez le Network Audio System(NAS) (NAS) [Anglais] et rplay [Anglais].

Page 248: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 néces-saires pour accéder à chacun d'eux. Par défaut, les CGIs ne fonctionnent que si vous vous êtes au-thentifiés auprès du serveur web et que vous êtes autorisés à accéder aux informations demandées.Pour plus d'informations sur la configuration des autorisations de votre serveur web et des CGIs, lisezles sections Installer l'interface web et Authentification et autorisations dans les CGIs.

36.2 CGI d'état

Nom du fichierstatus.cgi

DescriptionC'est le CGI le plus important de Nagios. Il vous permet de voir l'état de tous les hôtes et detous les services supervisés. Le CGI d'état peut produire deux types principaux d'affichage - unaperçu de l'état de tous les groupes d'hôtes (ou d'un groupe particulier) et une vue détaillée detous les services (ou de ceux associés à un hôte particulier).

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir tous les hôtes et tous les services.– Si vous êtes autorisé pour tous les services vous pouvez voir tous les services.– Si vous êtes un contact authentifié vous pouvez voir tous les hôtes et tous les services dontvous êtes un contact.

Page 249: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

222 / 379

36.3 CGI de cartographie des états

Nom du fichierstatusmap.cgi

DescriptionCe CGI crée une carte de tous les hôtes que vous avez défini dans votre réseau. Il utilise la bib-liothèque GD de Thomas Boutell (version 1.6.3 ou plus) pour créer une image au format PNGde l'agencement de votre réseau. Les coordonnées utilisées pour dessiner chaque hôte (ainsique les jolies icônes facultatives) sont extraites des définitions d' hôtes. Si vous souhaitez plutôtlaisser le CGI dessiner automatiquement les coordonnées pour vous, utilisez le paramètre de-fault_statusmap_layout pour spécifier l'algorithme à utiliser.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir tous les hôtes.– Si vous êtes un contact authentifié vous pouvez voir les hôtes dont vous êtes un contact.

NoteLes utilisateurs qui ne sont pas autorisés à voir un hôte particulier verront un nœud nomméunknown à la place. Je suis conscient qu'ils ne devraient rien voir du tout, mais ça n'a aucunsens de générer la carte si vous ne pouvez pas voir les dépendances entre les hôtes…

36.4 CGI d'interface WAP

Page 250: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

223 / 379

Nom du fichierstatuswml.cgi

DescriptionCe CGI gère l'interface WAP d'accès aux informations sur l'état du réseau. Si vous avez un ap-pareil WAP (i.e. un téléphone portable compatible Internet), vous pouvez accéder aux informa-tions d'état alors que vous êtes en déplacement. Les vues disponibles comprennent le résumé pargroupe d'hôtes, l'aperçu par groupe d'hôtes, le détail d'un hôte, le détail d'un service, tous lesproblèmes, et les problèmes non pris en compte. Vous pouvez de plus désactiver les notificationset les contrôles et acquitter des problèmes depuis votre portable. Plutôt cool, non?

Autorisations requises– Si vous êtes autorisé pour les informations système vous pouvez voir les informations sur leprocessus de Nagios.

– Si vous êtes autorisé pour tous les hôtes vous pouvez voir tous les hôtes et tous les services.– Si vous êtes autorisé pour tous les services vous pouvez voir tous les services.– Si vous êtes un contact authentifié vous pouvez voir les données d'état de tous les hôtes etservices dont vous êtes un contact.

36.5 CGI du monde des états (VRML)

Nom du fichierstatuswrl.cgi

DescriptionCe CGI crée une modélisation en 3D utilisant le langage VRML de tous les hôtes définis dansvotre réseau. Les coordonnées utilisées pour dessiner les hôtes (ainsi que les jolies textures) sontextraites des définitions d'hôtes. Si vous souhaitez plutôt laisser le CGI dessiner automatique-ment les coordonnées pour vous, utilisez le paramètre default_statusmap_layout pour spécifierl'algorithme à utiliser. Il vous faudra un navigateur VRML (comme Cortona, Cosmo Player ouWorldView) installé sur votre système pour pouvoir visualiser ce modèle.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir tous les hôtes.– Si vous êtes un contact authentifié vous pouvez voir les hôtes dont vous êtes un contact.

NoteLes utilisateurs qui ne sont pas autorisés à voir un hôte particulier verront un nœud nomméunknown à la place. Je suis conscient qu'ils ne devraient rien voir du tout, mais ça n'a aucunsens de générer la carte si vous ne pouvez pas voir les dépendances entre les hôtes…

Page 251: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

224 / 379

36.6 CGI d'aperçu tactique

Nom du fichiertac.cgi

DescriptionCe CGI vous donne une vue générale de toute l'activité de supervision du réseau. Il vous permetde repérer rapidement les indisponibilités du réseau, l'état des hôtes et des services. Il distingueles problèmes qui ont été traités d'une façon ou d'une autre (par ex. qui ont été acquittés, dontles notifications sont désactivées, etc.) et ceux qui n'ont pas été traités, et qui donc méritentattention. Très utile si vous avez beaucoup d'hôtes/services à superviser et que vous ne voulezconsulter qu'un seul écran pour être averti des problèmes.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir tous les hôtes et tous les services.– Si vous êtes autorisé pour tous les services vous pouvez voir tous les services.– Si vous êtes un contact authentifié vous pouvez voir tous les hôtes et tous les services dontvous êtes un contact.

36.7 CGI d'indisponibilité du réseau

Nom du fichieroutages.cgi

DescriptionDescription : Ce CGI produit une liste des hôtes à problèmes de votre réseau qui sont respons-ables de ruptures de lien. Ceci est particulièrement utile sur les grands réseaux pour identifierrapidement la cause d'un problème. Les hôtes sont triés selon la gravité de la rupture dont ilssont responsables.

Page 252: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

225 / 379

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir tous les hôtes.– Si vous êtes un contact authentifié vous pouvez voir les hôtes dont vous êtes un contact.

36.8 CGI de configuration

Nom du fichierconfig.cgi

DescriptionCe CGI permet de visualiser les définitions d'objets (par ex. hôtes, groupes d'hôtes, contacts,groupes de contacts, périodes, services et commandes) tels que spécifiés dans vos fichier(s) deconfiguration des objets.

Autorisations requises– Vous devez avoir l'autorisation d'accès aux informations de configuration pour voir n'importequelle information de configuration.

36.9 CGI de commande

Nom du fichierscmd.cgi

DescriptionCe CGI permet d'envoyer des commandes au processus de Nagios. Bien que ce CGI accepteplusieurs arguments, mieux vaut ne pas s'y essayer. La plupart changent selon les révisions deNagios. Utilisez plutôt les informations complémentaires des CGIs comme point de départ pourenvoyer des commandes.

Page 253: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

226 / 379

Autorisations requises– Vous devez être autorisé pour les commandes système pour envoyer des commandes affectantle processus de Nagios (redémarrage, arrêt, changement de mode, etc.).

– Si vous êtes autorisé pour toutes les commandes d'hôtes vous pouvez envoyer des commandesà tous les hôtes et à tous les services.

– Si vous êtes autorisé pour toutes les commandes de services vous pouvez envoyer des com-mandes à tous les services.

– Si vous êtes un contact authentifié vous pouvez envoyer des commandes à tous les hôtes etservices dont vous êtes un contact.

NoteSi vous avez choisi de ne pas utiliser l'authentification dans les CGIs, ce CGI ne permettra àpersonne d'envoyer des commandes à Nagios, et ce dans votre propre intérêt. Je suggère dansce cas de supprimer le CGI.

36.10 CGI d'informations complémentaires

Nom du fichierextinfo.cgi

DescriptionCe CGI permet de voir les informations relatives au processus de Nagios, aux statistiques surles hôtes et les services, aux commentaires sur les hôtes et les services, et plus encore. C'estégalement un point d'entrée 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 changentselon les révisions de Nagios. Vous pouvez accéder à ce CGI en cliquant sur les liens appelés'Network Health' [NdT : Santé/Etat du réseau] et 'Process Information' [NdT : Information sur leprocessus Nagios] de la barre latérale de navigation, ou en cliquant sur un lien hôte ou servicedans l'affichage du CGI d'état.

Autorisations requises– Vous devez être autorisé pour les informations système pour voir les informations sur le pro-cessus de Nagios.

– Si vous êtes autorisé pour tous les hôtes vous pouvez voir les informations complémentairesde tous les hôtes et de tous les services.

– Si vous êtes autorisé pour tous les services vous pouvez voir les informations complémentairesde tous les services.

– Si vous êtes un contact authentifié vous pouvez voir les informations complémentaires de tousles hôtes et de tous les services dont vous êtes un contact.

Page 254: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

227 / 379

36.11 CGI du fichier journal

Nom du fichiershowlog.cgi

DescriptionCe CGI affiche le fichier journal. Si vous avez activé la rotation du journal, vous pouvez voir lecontenu des journaux archivés en utilisant les liens de navigation situés en haut de la page.

Autorisations requises– Vous devez être autorisé pour les informations système pour voir le fichier journal.

36.12 CGI d'historique d'alerte

Nom du fichierhistory.cgi

DescriptionCe CGI affiche l'historique des problèmes relatifs soit à un hôte particulier soit à tous les hôtes.L'affichage est un sous-ensemble de ce que produit le CGI du fichier journal. Vous pouvez filtrerl'affichage pour n'obtenir que certains types de problèmes (i.e. alertes hard et/ou soft, les dif-férents types d'alertes sur les services et les hôtes, tous les types d'alertes, etc.). Si vous avezactivé la rotation du journal, vous pouvez voir l'historique contenu dans les journaux archivés enutilisant les liens de navigation situés en haut de la page.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir l'historique de tous les hôtes et detous les services.

– Si vous êtes autorisé pour tous les services vous pouvez voir l'historique de tous les services.

Page 255: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

228 / 379

– Si vous êtes un contact authentifié vous pouvez voir l'historique de tous les hôtes et tous lesservices dont vous êtes un contact.

36.13 CGI des notifications

Nom du fichiernotifications.cgi

DescriptionCe CGI affiche les notifications envoyées aux différents contacts d'un hôte ou d'un service. L'af-fichage est un sous-ensemble de ce que produit le CGI du fichier journal. Vous pouvez filtrerl'affichage pour n'obtenir que certains types de problèmes (i.e. notifications relatives aux ser-vices, aux hôtes, envoyées à des contacts spécifiques, etc). Si vous avez activé la rotation dujournal, vous pouvez voir les notifications contenues dans les journaux archivés en utilisant lesliens de navigation situés en haut de la page.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir les notifications de tous les hôtes ettous les services.

– Si vous êtes autorisé pour tous les services vous pouvez voir les notifications de tous les ser-vices.

– Si vous êtes un contact authentifié vous pouvez voir les notifications relatives à tous les hôteset tous les services dont vous êtes un contact.

36.14 CGI de tendances

Nom du fichier

Page 256: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

229 / 379

strends.cgiDescription

Ce CGI crée un graphique des états des hôtes et des services sur une période donnée. Pour quece CGI soit pertinent, vous devez activer la rotation du journal et archiver les journaux dans lerépertoire défini par la variable log_archive_path . Ce CGI utilise la bibliothèque gd de ThomasBoutell (version 1.6.3 ou plus) pour créer l'image des tendances.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir les tendances de tous les hôtes et detous les services.

– Si vous êtes autorisé pour tous les services vous pouvez voir les tendances de tous les services.– Si vous êtes un contact authentifié vous pouvez voir les tendances de tous les hôtes et tous lesservices dont vous êtes un contact.

36.15 CGI de rapport de disponibilité

Nom du fichieravail.cgi

DescriptionCe CGI permet de créer un rapport sur la disponibilité des hôtes et des services sur une périodedonnée. Pour que ce CGI soit pertinent, vous devez activer la rotation du journal et archiver lesjournaux dans le répertoire défini par la variable log_archive_path .

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir la disponibilité de tous les hôtes etservices.

– Si vous êtes autorisé pour tous les services vous pouvez voir la disponibilité de tous les services.– Si vous êtes un contact authentifié vous pouvez voir la disponibilité de tous les services et hôtesdont vous êtes un contact.

36.16 CGI d'histogramme des alertes

Page 257: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

230 / 379

Nom du fichierhistogram.cgi

DescriptionCe CGI permet d'afficher l'histogramme de disponibilité d'hôtes et services sur une période detemps. Pour que ce CGI soit pertinent, vous devez activer la rotation du journal et archiver lesjournaux dans le répertoire défini par la variable log_archive_path . Ce CGI utilise la biblio-thèque GD de Thomas Boutell (version 1.6.3 ou plus) pour créer l'image des tendances.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir les histogrammes de tous les hôteset services.

– Si vous êtes autorisé pour tous les services vous pouvez voir les histogrammes de tous lesservices.

– Si vous êtes un contact authentifié vous pouvez voir les histogrammes de tous les services ethôtes dont vous êtes un contact.

36.17 CGI du récapitulatif des alertes

Nom du fichiersummary.cgi

DescriptionCe CGI fournit des rapports synthétiques sur les alertes concernant les hôtes et services, ainsique le nombre total d'alertes, les services/hôtes générant le plus d'alertes, etc.

Autorisations requises– Si vous êtes autorisé pour tous les hôtes vous pouvez voir le récapitulatif de tous les hôtes etservices.

– Si vous êtes autorisé pour tous les services vous pouvez voir le récapitulatif de tous les services.– Si vous êtes un contact authentifié vous pouvez voir le récapitulatif de tous les services et hôtesdont vous êtes un contact.

Page 258: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

231 / 379

Sixième partie

Thèmes avancés

Page 259: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

232 / 379

Chapitre 37

Commandes externes

37.1 Introduction

Nagios peut traiter des commandes d'applications externes (y compris les CGIs, voir CGI de com-mande à titre d'exemple) et modifier de nombreux aspects de ses fonctions de supervision suivant lescommandes qu'il reçoit.

37.2 Autoriser les commandes externes

Page 260: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

233 / 379

Par défaut, Nagios ne contrôle, ni ne traite les commandes externes. Si vous voulez autoriser le traite-ment des commandes externes, il faut effectuer les actions suivantes…

– Activer le contrôle des commandes externes à l'aide de l'option check_external_commands– Régler la fréquence des contrôles de commande à l'aide de l'option command_check_interval– Préciser l'emplacement du fichier de commandes à l'aide de l'option command_file .– Configurer les bonnes autorisations pour le répertoire contenant les fichiers de commandes. Desdétails sur la manière de faire cela se trouvent ici.

37.3 Quand Nagios contrôle-t-il les commandes externes?

– A intervalles réguliers précisés par l'option command_check_interval du fichier de configurationprincipal.

– Immédiatement après que les gestionnaires d'événements soient exécutés. Cela s'effectue en plusdu cycle régulier des contrôles de commandes externes et sert à fournir une action immédiate si ungestionnaire d'événement soumet des commandes à Nagios.

37.4 L'utilisation des commandes externes

Les commandes externes peuvent être utilisées pour mener à bien un certain nombre de choses pen-dant que Nagios fonctionne. A titre d'exemple, ce qui peut être effectué comprend : la désactivationtemporaire des notifications pour les services et les hôtes, la désactivation temporaire des tests deservice, l'obligation de contrôler immédiatement un service, l'ajout de commentaires aux hôtes etservices, etc.

37.5 Format des commandes

Les commandes externes écrites pour le fichier de commande suivent le format suivant :[time] command_id;command_arguments

…où time est l'heure (au format time_t à laquelle l'application externe ou le CGI a envoyé la com-mande externe au fichier de commande. Les valeurs pour les arguments command_id et command_ar-guments dépendent de la commande qui sera soumise à Nagios.Un listing complet des commandes externes qui peuvent être utilisées (ainsi que des exemples d'util-isation) sont en ligne à l'adresse suivante :http://www.nagios.org/developerinfo/externalcommands/

Page 261: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

234 / 379

Chapitre 38

Gestionnaires d'événements

38.1 Introduction

Les gestionnaires d'événements sont des commandes optionnelles qui sontexécutées à chaque fois qu'un changement d'état d'un hôte ou d'un service a lieu.Une première utilité de ces gestionnaires d'événements réside dans la capacité de Nagios à résoudreles problèmes de manière préventive avant que quelqu'un ne reçoive une notification. D'autres utili-sations possibles des gestionnaires d'événements sont :

– Redémarrer un service en erreur– Créer un nouveau ticket dans un système de helpdesk– Enregistrer des événements dans une base de données– Reboot d'un hôte– etc.

ImportantLe reboot d'un hôte ayant des problèmes de façon automatique par un script ne devrait pas êtreimplémenté à la légère. Considérez les conséquences avec exactitude avant d'implémenterdes reboots automatiques. :-)

Page 262: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

235 / 379

38.2 Quand les commandes de gestionnaires d'événements sont-elles exécutées?

Les commandes de gestionnaires d'événements de service et d'hôte sont exécutées lorsqu'un serviceou un hôte :

– Est dans un état d'erreur SOFT– Entre dans un état d'erreur HARD– Se rétablit après un état d'erreur SOFT ou HARD

Les états SOFT et HARD sont décrits en détails ici.

38.3 Types de gestionnaires d'événements

Il y a différents types de gestionnaires d'événements optionnels qui peuvent être définis pour prendreen compte les changements d'états et d'hôtes :

– Gestionnaires d'événements global d'hôte– Gestionnaires d'événements global de service– Gestionnaires d'événements spécifique à un hôte– Gestionnaires d'événements spécifique à un service

Les gestionnaires d'événements globaux sont exécutés à chaque changement d'état d'hôte ou de ser-vice, immédiatement avant d'exécuter n'importe quel gestionnaire d'événements spécifique d'hôteou de service. Vous pouvez préciser les commandes de gestionnaires d'événements globaux en util-isant les options global_host_event_handler et global_service_event_handler de votre fichierde configuration principal.Les hôtes et les services peuvent avoir leur propre commande de gestionnaire d'événements qui s'exé-cute à chaque changement d'état. Vous pouvez préciser un gestionnaire d'événements qui doit êtreexécuté en utilisant l'option event_handler dans les définitions d' hôtes and services. Ces gestion-naires spécifiques d'hôtes et de services sont exécutés juste après l'exécution du gestionnaire global(optionnel) d'hôtes et de services.

38.4 Activation des gestionnaires d'événements

Les gestionnaires d'événements peuvent être activés et désactivés au niveau général du programmeen utilisant enable_event_handlers dans votre fichier de configuration principal.Les gestionnaires d'événements spécifiques aux hôtes et services peuvent être activés et désactivésen utilisant les paramètres event_handler_enabled dans vos définitions d'hôtes et de services. Lesgestionnaires d'événements spécifiques aux hôtes et services ne peuvent pas être exécutés si l'optionglobale enable_event_handlers est désactivée.

38.5 Ordre d'exécution des gestionnaires d'événements

Comme précédemment indiqué, les gestionnaires d'événements globaux d'hôtes et de services sontexécutés juste avant les gestionnaires d'événements spécifiques d'hôtes et de services.Pour l'entrée dans un état d'erreur HARD et le retour à la normale, les gestionnaires d'événementssont exécutés immédiatement après l'envoi des notifications.

Page 263: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

236 / 379

38.6 Écriture d'une commande de gestionnaire d'événements

Les commandes de gestionnaires d'événements seront certainement des scripts shell ou perl, maisils peuvent être n'importe quoi d'exécutable depuis la ligne de commande. Au minimum, les scriptsdevraient prendre les macros suivantes comme arguments :Pour les services : $SERVICESTATE$Macros$SERVICESTATE$, $SERVICESTATETYPE$Macros$SERVICESTATETYPE$,$SERVICEATTEMPT$Macros$SERVICEATTEMPT$Pour les hôtes : $HOSTSTATE$Macros$HOSTSTATE$,$HOSTSTATETYPE$Macros$HOSTSTATETYPE$, $HOSTATTEMPT$Macros$HOSTATTEMPT$Les scripts devraient être capables d'examiner les valeurs des arguments qui lui ont été passés et deprendre toute action nécessaire basée sur ces valeurs. La meilleure façon de comprendre commentfonctionne les gestionnaires d'événements est de voir un exemple. Heureusement pour vous, en voiciun ci-dessous.

ASTUCED'autres exemples de scripts de gestionanires d'événements peuvent être trouvés dans le sous-répertoire contrib/eventhandlers/ de la distribution Nagios. Quelques uns de ces scripts d'exem-ple démontrent l'utilisation des commandes externes pour mettre en place des environnements desupervision redondés et distribués.

38.7 Autorisations d'exécution des commandes de gestionnairesd'événements

Les commandes de gestionnaires d'événements s'exécuteront normalement avec les mêmes permis-sions que l'utilisateur grâce auquel Nagios tourne sur votre machine. Cela présente un problèmepour les scripts qui essaient de redémarrer les services du système, car, pour ce genre de tâches, lesprivilèges de root sont généralement nécessaires.Idéalement, vous devriez être capable d'évaluer les types de gestionnaires d'événements que vousallez implémenter et donc de donner juste ce qu'il faut comme droit à l'utilisateur Nagios pour pouvoirexécuter les commandes système nécessaires. Vous pourriez essayer d'utiliser sudo pour cela.

38.8 Exemple de gestionnaire d'événement de service

L'exemple ci-dessous suppose que vous supervisez le serveur HTTP de la machine locale et que vousavez spécifié restart-httpd comme commande de gestionnaire d'événement pour la définition du ser-vice HTTP. Je supposerai également que vous avez donné à l'option max_check_attempts du serviceune valeur supérieure ou égale à 4 (i.e le service est contrôlé 4 fois avant qu'on ne considère qu'il aun réel problème). Un exemple de définition (avec uniquement les champs concernés) ressembleraità ceci …define service {

host_name somehostservice_description HTTPmax_check_attempts 4event_handler restart-httpd...

}

Une fois que le service a été défini avec un gestionnaire d'événement, nous devons définir le gestion-naire d'événement comme une commande. Un exemple de définition de commande pour restart-https

Page 264: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

237 / 379

est donné ci-dessous. Remarquez les macros de la ligne de commande que je passe au gestionnaired'événements, elles sont importantes !define command{

command_name restart-httpdcommand_line /usr/local/nagios/libexec/eventhandlers/restart-httpd  $SERVICESTATE$ -

$SERVICESTATETYPE$ $SERVICEATTEMPT$}

Maintenant, nous allons écrire le script de gestionnaire d'événement (c'est le fichier /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)…"

Page 265: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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

;;esacexit 0

Le script donné à titre d'exemple ci-dessus essaiera de redémarrer le serveur web sur la machinelocale à deux occasions différentes :

– Après que le service soit essayé pour la troisième fois (dans un état SOFT CRITICAL)– après que le service soit tombé dans un état HARD CRITICAL

Le script devrait en théorie redémarrer le serveur web et régler le problème avant que le service nepasse en état d'erreur HARD, mais nous avons inclus une solution de repli au cas où il ne fonctionnepas la première fois. Notez bien que le gestionnaire d'événement ne sera exécuté que la première foisque le service passe en état d'erreur HARD. Cela permet d'éviter que Nagios réessaie continuellementde redémarrer le serveur web alors que le service reste dans un état d'erreur HARD. Vous ne voulezpas ça. :-)C'est tout ce qu'il y a à dire ! Les gestionnaires d'événements sont simples à écrire et implémenter,aussi faîtes l'essai et voyez ce que vous pouvez en faire.

Page 266: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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'optionis_volatil de chaque définition de service vous permet de spécifier si oui ou non un service spécifiqueest volatile. Pour la plupart des gens, la majorité des services supervisés sera de type non-volatile (parex. normal). Toutefois, des services volatiles peuvent se révéler très utiles lorsqu'ils sont bien utilisés…

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 contrôlés– des événements comme les alertes de sécurité qui réclament de l'attention à chaque problème (etpas seulement la première fois)

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

Les services volatiles diffèrent des services normaux de trois façons importantes. Chaque fois qu'ilssont contrôlés quand ils sont dans un état hard non-OK, et que le contrôle 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 reçoivent notification du problème (si c'est ce qui doit être fait).

NoteLes intervalles de notifications sont ignorés pour les services volatiles.

– le gestionnaire d'événements du service est lancé (s'il a été défini)

Ces événements ne se produisent normalement que lorsque des services sont dans un état non-OKet qu'un changement d'état hard vient de se produire. En d'autres termes, ils ne se produisent quela première fois que le service passe dans un état non-OK. Si des contrôles ultérieurs du serviceconduisent au même état non-OK, il n'y a aucun changement d'état hard et aucun des événementsmentionnés ne se reproduit.

Page 267: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

240 / 379

ASTUCESi vous ête seulement intéressé par la journalisation (logging), vous devriez plutôt utiliser les optionsde stalking.

39.4 La puissance de deux

Si vous combinez les fonctionnalités des services volatiles avec les contrôles passifs de service, vouspouvez faire des choses très utiles. Par exemple, gérer des interruptions SNMP, des alertes de sécurité,etc.Que diriez-vous d'un exemple ?… Disons que vous exécutiez le produit PortSentry pour scanner lesports de votre machine et les intrus potentiels. Si vous voulez que Nagios soit averti des scans deports, vous pouvez mettre en place ce qui suit…

39.4.1 Configuration de Nagios

– Créez un service appelé Port Scans et associez-le avec l'hôte sur lequel tourne PortSentry.– Mettez l'option max_check_attempts de la définition du service à 1. Ceci dira à Nagios de passerimmédiatement le service en état hard quand un état non-OK est retourné.

– Mettez l'option active_checks_enabled à 0 dans la définition du service. Cela évite que Nagios necontrôle activement le service.

– Mettez l'option passive_checks_enabled à 1 dans la définition du service. Cela active les contrôlespassifs pour le service.

– Mettez l'option is_volatile à 1 dans la définition du service.

39.4.2 Configuration de PortSentry

Modifiez votre fichier de configuration de PortSentry (portsentry.conf), et définissez une commandepour le paramètre 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'hôte avec lequel le service est associé.

39.4.3 Script de scan de port

Créez un script Shell dans le répertoire /usr/local/nagios/libexec/eventhandlers que vous ap-pelez submit_check_result. Le contenu de ce script shell devrait ressembler à ceci…#!/bin/sh

# Write a command to the Nagios command file to cause# it to process a service check result

echocmd="/bin/echo"

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

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

Page 268: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

241 / 379

datetime=`date +%s`

# create the command line to add to the command filecmdline="[$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 détectera un scan de ports sur la machine dans le futur ?

– PortSentry bloque l'hôte au niveau pare-feu (C'est une fonction du logiciel PortSentry=– PortSentry exécute le script shell submit_check_result pour envoyer le résultat de ce contrôlepassif à Nagios

– Nagios lit le fichier de commande externe et voit le contrôle passif de service soumis par PortSentry– Nagios passe le service Port Scans en état CRITICAL, et envoie des notifications aux contacts

Plutôt sympa, non?

Page 269: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

242 / 379

Chapitre 40

Contrôle de la fraîcheur des résultatsd'hôtes et de services

40.1 Introduction

Nagios propose une fonctionnalité de vérification de la fraîcheur des résultats de contrôles d'hôtes etde services. Cette fonctionnalité est utile pour vous assurer que des contrôles passifs sont reçus à lafréquence que vous souhaitez.Le but du contrôle de fraîcheur est de s'assurer que les contrôles d'hôte et de service sont soumisrégulièrement de manière passive. Ceci est très utile dans les environnements de supervision dis-tribuée ou hautement disponible.

40.2 Comment fonctionne le contrôle de la fraîcheur?

Nagios contrôle régulièrement la fraîcheur des résultats de tous les servicesdont le contrôle de fraîcheur est activé.

– Un seuil de fraîcheur est calculé pour chaque hôte et service.– Pour chaque hôte/service, l'heure du dernier contrôle est comparée avec le seuil de fraîcheur.– Si l'heure du dernier contrôle est supérieure au seuil de fraîcheur, le résultat du contrôle est con-sidéré comme périmé.

– Si le résultat du contrôle est déclaré périmé, Nagios va forcer un contrôle actif de l'hôte ou duservice en exécutant la commande précisée dans la définition de l'hôte ou du service.

ASTUCEUn contrôle actif est exécuté même si les contrôles actifs sont désactivés au niveau global ou auniveau service/hôte.

Page 270: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

243 / 379

Par exemple, si vous donnez la valeur 60 au paramètre freshness_threshold de l'un de vos services,Nagios considérera que le service est périmé si le dernier résultat obtenu date de plus de 60 secondes(1 minute).

40.3 Activer le contrôle de la fraîcheur

Voici ce dont vous avez besoin pour activer le contrôle de la fraîcheur…– Activez le contrôle de fraîcheur par les paramètres check_service_freshness et check_host_fr-eshness du fichier de configuration principal.

– Utilisez les paramètres service_freshness_check_interval et host_freshness_check_interv-al pour indiquer à Nagios l'intervalle auquel il doit contrôler la fraîcheur des résultats d'hôtes etde services.

– Activer le contrôle de la fraîcheur d'un hôte ou d'un service en particulier en passant le paramètrecheck_freshness à 1 dans le fichier de définition de l'hôte ou du service.

– Configurez les seuils de fraîcheur en réglant le paramètre freshness_threshold dans le fichier dedéfinition de l'hôte ou du service.

– Configurez le paramètre check_command dans votre fichier de définition d'hôte ou de service pourindiquer la commande valide à utiliser pour contrôler activement le service ou l'hôte lorsque celui-ciest déclaré périmé.

– Le paramètre check_period dans votre fichier de définition d'hôte ou de service est utilisé quandNa-gios doit déterminer lorsqu'un hôte ou service doit être contrôlé au niveau fraîcheur, aussi assurez-vous de le régler sur une période de temps valide.

ASTUCESi vous ne spécifiez pas de valeur pour le paramètre freshness_threshold (ou si vous le mettez àzéro), Nagios calculera automatiquement un seuil de fraîcheur à utiliser en se basant sur la fréquencede contrôle utilisé pour cet hôte ou service. Je vous recommande d'explicitement préciser un niveaude fraîcheur plutôt que de laisser Nagios en décider un à votre place.

40.4 Exemple

Un exemple de service purement passif pourrait être un rapport d'état de vos travaux de sauvegardede nuit. Vous avez peut-être un script externe qui soumet les résultats du travail de sauvegarde àNagios une fois que la sauvegarde est terminée. Dans ce cas, tous les résultats des contrôles pour ceservice sont fournis par une application externe, en utilisant des contrôles passifs. Pour vous assurerque l'état des travaux de sauvegarde est bien remonté chaque jour, vous activerez le contrôle defraîcheur 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 résultat critique de la manière suivante…Voici ce à quoi la définition du service pourrait ressembler (certains paramètres obligatoires ont étéomis)…define service{

host_name backup-serverservice_description ArcServe Backup Jobactive_checks_enabled 0 ; active checks are NOT enabledpassive_checks_enabled 1 ; passive checks are enabled (this is how results -

are reported)check_freshness 1freshness_threshold 93600 ; 26 hour threshold, since backups may not always -

finish at the same time

Page 271: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

244 / 379

check_command no-backup-report ; this command is run only if the service -results are "stale"

...other options...}

Notez que les contrôles actifs sont désactivés pour ce service. En effet les résultats du service sontuniquement fournis par une application externe, en utilisant des contrôles passifs. Le contrôle defraîcheur est activé et le seuil de fraîcheur a été positionné à 26 heures. C'est un peu plus de 24heures parce que la durée des travaux de sauvegarde varie selon les jours (en fonction du volumede données à sauvegarder, de l'encombrement du réseau, etc.). La commande no-backup-report estexécutée seulement si les résultats du service sont considérés comme périmés. La définition de lacommande no-backup-report pourrait ressembler à ceci…define command{

command_name no-backup-reportcommand_line /usr/local/nagios/libexec/check_dummy 2 "CRITICAL: Results of backup -

job were not reported!"}

Si Nagios détecte que les résultats du service sont périmés, il va lancer la commande no-backup--report comme un contrôle actif de service. Cela exécute le plugin check_dummy qui retourne unétat critique à Nagios. Le service passe en état critique (s'il n'y était pas déjà) et quelqu'un seraprobablement notifié du problème.

Page 272: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

245 / 379

Chapitre 41

Supervision distribuée

41.1 Introduction

Nagios peut être configuré pour supporter la supervision distribuée des services et ressources duréseau. Je vais essayer d'expliquer brièvement comment cela peut être fait…

41.2 Buts

Le but de l'environnement de supervision distribuéé que je vais décrire est de décharger l'excès decharge induit par les contrôle de services (sur la CPU, etc.) du serveur central sur un ou plusieursserveurs distribués. La plupart des petites et moyennes entreprises n'auront pas réellement besoinde mettre en œuvre cet environnement. Cependant, quand vous voulez superviser des centaines,voire des milliers d'hôtes (et plusieurs fois cette valeur en termes de services) à l'aide de Nagios, celacommence à devenir important.

41.3 Diagramme de référence

Le diagramme ci-dessous devrait vous aider à vous faire une idée du fonctionnement de la supervisiondistribuée avec Nagios. Je ferai référence aux éléments du diagramme quand j'expliquerai les choses…

Page 273: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

246 / 379

Page 274: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

247 / 379

41.4 Serveur central ou serveurs distribués

Quand on installe l'environnement de supervision distribuée avec Nagios, il y a des différences entrela configuration du serveur central et celle des serveurs distribués. Je vous montrerai comment con-figurer ces deux types de serveurs et j'expliquerai les effets des changements sur la supervision engénéral. A l'intention des débutants, décrivons d'abord l'utilité des différents serveurs…Le rôle d'un serveur distribué est de contrôler tous les services définis pour une grappe [cluster]d'hôtes. J'utilise ce terme grappe de manière inappropriée : il désigne simplement un groupe d'hôtesde votre réseau. Selon la topographie de votre réseau, vous pouvez avoir plusieurs grappes en un seullieu, ou chaque grappe peut être séparée par un WAN, un pare-feu, etc. Il faut surtout se souvenird'une chose, c'est que pour chaque groupe d'hôtes (de quelque manière que vous le définissiez), il ya un serveur distribué sur lequel Nagios tourne et qui supervise les services des hôtes du cluster. Unserveur réparti est généralement une installation simplifiée de Nagios. Il n'est pas besoin d'installerl'interface web, d'envoyer des notifications, de faire tourner les scripts de gestionnaires d'événementsou de faire autre chose que l'exécution des contrôles de service si vous ne le souhaitez pas. De plusamples explications relatives à la configuration du serveur distribué suivront…Le but du serveur central est d'écouter simplement les résultats des contrôles de service d'un ou deplusieurs serveurs distribués. Même si les services sont occasionnellement contrôlés activement parle serveur central, les contrôles actifs sont seulement exécutés dans des circonstances particulières ;disons donc pour l'instant que le serveur central n'accepte que les contrôles passifs. Comme le serveurcentral obtient des résultats des contrôles de services passifs d'un ou plusieurs serveurs répartis, ilest utilisé comme point central pour la logique de supervision (ex : il envoie des notifications, exécuteles scripts de gestionnaires d'événements, détermine l'état des hôtes, son interface web est installée,etc.).

41.5 Obtention des informations de contrôle de service à partirde serveurs distribués

Avant de sauter à pieds joints dans les détails de la configuration, il faut savoir comment envoyer lesrésultats des contrôles de service des serveurs distribués au serveur central. J'ai déjà expliqué com-ment soumettre des résultats de contrôles passifs à Nagios à partir de la machine même sur laquelleNagios tourne (cf. documentation sur les contrôles passifs), mais je n'ai pas fourni d'information surla manière d'envoyer des résultats de contrôles de service à partir d'autres hôtes.Afin de faciliter l'envoi de résultats de contrôles passifs à un hôte distant, j'ai écrit le module complé-mentaire NSCANSCA . Il contient deux parties. La première est un programme client (send_nsca) quitourne sur un hôte distant et envoi les résultats de contrôles de service à un autre serveur. La secondeest le démon NSCA (nsca) qui fonctionne, soit comme un démon autonome, soit sous inetd, et écouteles connections des programmes du client. Après avoir reçu l'information de contrôle de service dela part d'un client, le démon enverra l'information de contrôle à Nagios (sur le serveur central) eninsérant une commande PROCESS_SVC_CHECK_RESULT dans le fichier de commande externe, avecles résultats du contrôle. La prochaine fois que Nagios contrôlera les commandes externes, il trouveral'information de contrôle de service passif qui avait été envoyée par le serveur distribué et la traitera.Facile, non?

41.6 Configuration des serveurs distribués

Bon, comment Nagios est-il configuré sur un serveur distribué? A la base, c'est juste une simpleinstallation. Il n'est pas nécessaire d'installer l'interface web ou de faire envoyer des notifications parle serveur, comme c'est le cas pour le serveur central.Changements principaux dans la configuration :

Page 275: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

248 / 379

– Seuls les services et les hôtes qui sont supervisés directement par le serveur distribué sont définisdans le fichier de configuration d'hôte .

– Le serveur distribué a son paramètre enable_notifications fixé à 0. Cela évitera d'envoyer desnotifications à partir du serveur.

– Le serveur distribué est configuré avec l'option de remontée de contrôle de service activée.– Le serveur distribué a une commande ocsp définie (cf. ci-dessous).Afin que tout fonctionne ensemble de manière correcte, nous voulons que le serveur distribué ren-voie les résultats de tous les contrôles de service à Nagios. Nous pourrions utiliser les gestionnairesd'événements pour envoyer les changements de l'état d'un service, mais cela ne fait pas l'affaire. Afind'obliger le serveur distribué à envoyer tous les résultats des contrôles de service, il faut autoriser l'op-tion de remontée de contrôle de service dans le fichier de configuration principal et permettre qu'unecommande ocsp soit lancée après chaque contrôle de service. Nous utiliserons cette commande ocsppour envoyer les résultats de tous les contrôles de service au serveur central, en utilisant le clientsend_nsca et le démon nsca (comme décrit ci-dessus) pour gérer la transmission.Pour mener tout cela à bien, il faut définir la commande ocsp de cette façon :ocsp_command=submit_check_result

La définition de la commande submit_check_result ressemble à ceci :define command {

command_name submit_check_resultcommand_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 duserveur 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 codereturn_code=-1

case "$3" inOK)

return_code=0;;

WARNING)return_code=1;;

CRITICAL)return_code=2;;

UNKNOWN)return_code=-1;;

esac

Page 276: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 fichier de configura-tion (send_nsca.cfg) placés respectivement dans les répertoires /usr/local/nagios/bin/ et /usr/local/nagios/etc/.C'est tout ! Nous venons de configurer avec succès un hôte distant sur lequel tourne Nagios pouragir comme un serveur de supervision distribué. Voyons maintenant ce qui se passe exactement avecle serveur distribué et comment il envoie des résultats de contrôle de service à Nagios (les étapessoulignées ci-dessous correspondent aux numéros du schéma de référence ci-dessus) :

1. Après que le serveur distribué a terminé l'exécution d'un contrôle de service, il exécute la com-mande définie par la variable ocsp_command . Dans notre exemple, c'est le script /usr/local/nagios/libexec/eventhandlers/submit_check_result. Remarquez que la définition de la com-mande submit_check_result a envoyé quatre éléments d'information au script : le nom de l'hôteauquel le service est associé, la description du service, le code de retour du contrôle de service,et la sortie du plugin de contrôle du service.

2. Le script submit_check_result envoie dans un tube [pipe] l'information du contrôle de service(nom de l'hôte, description, code de retour et sortie) au programme client send_nsca.

3. Le programme send_nsca transmet l'information de contrôle de service au démon nsca qui setrouve sur le serveur de supervision central.

4. Le démon nsca du serveur central prend l'information de contrôle de service et l'écrit dans lefichier de commande externe pour qu'elle soit reprise ultérieurement par Nagios.

5. Le processus Nagios du serveur central lit le fichier de commande externe et analyse l'informa-tion de contrôle de service provenant du serveur de supervision distribué.

41.7 Configuration du serveur central

Nous avons vu comment les serveurs de supervision distribués doivent être configurés, occuponsnous maintenant du serveur central. Pour accomplir toutes ses missions, il est configuré de la mêmemanière que vous configureriez un serveur seul. Il est installé de la manière suivante :

– L'interface web du serveur central est installée (optionnel, mais recommandé)– Sur le serveur central, le paramètre enable_notifications est fixée à 1. Ceci activera les notifi-cations (optionnel, mais recommandé)

– Les contrôles de service actifs sont désactivés sur le serveur central (optionnel, mais recommandé— voir notes ci-dessous)

– Les contrôles de commandes externes sont activés sur le serveur central (obligatoire)– Les contrôles de service passifs sont activés sur le serveur central (obligatoire)

Il y a trois autres éléments importants que vous devez conserver à l'esprit en configurant le serveurcentral :

– Tous les services qui sont supervisés par les serveurs distribués doivent comporter des définitionsde service sur le serveur central. Nagios ignorera les résultats des contrôles de service passifs s'ilsne correspondent pas à un service qui a été défini.

Page 277: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

250 / 379

– Si vous n'utilisez le serveur central que pour traiter des services dont les résultats sont fournis pardes hôtes distribués, vous pouvez simplement désactiver tous les contrôles de service de façon glob-ale en mettant le paramètre execute_service_checks à 0. Si vous utilisez le serveur central poursuperviser activement quelques services par lui-même (sans l'intervention des serveurs distribués),l'option enable_active_checks de chaque définition de service pour les services dont les résultatssont fournis par les hôtes distribués doit être positionnée à 0. Ceci empêchera Nagios de vérifieractivement ces services.

Il est important que vous désactiviez soit tous les contrôles de service pour l'ensemble du logiciel, soitl'option enable_active_checks dans la définition de tout service surveillé par un serveur distribué.Cela assure que les contrôles de service actifs ne sont jamais exécutés en temps normal. Les servicescontinueront à être ordonnancés à leur intervalle de contrôle normal (3 minutes, 5 minutes, etc…),mais ils ne seront jamais exécutés. Cette boucle de ré-ordonnancement continuera aussi longtempsque Nagios tourne. Je vais expliquer bientôt pourquoi ce type de fonctionnement…Et voilà ! Facile, non?

41.8 Problèmes avec les contrôles passifs

Pour toutes les utilisations intensives, nous pouvons dire que le serveur central s'appuie uniquementsur les contrôles passifs pour la supervision. Faire totalement confiance aux contrôles passifs poursuperviser pose un problème majeur : Nagios doit se fier à quelque chose d'autre pour fournir lesdonnées supervisées. Que se passe-t-il si l'hôte distant qui envoie les résultats s'effondre ou devientinjoignable ? Si Nagios ne contrôle pas activement les services de cet hôte, comment saura-t-il qu'il ya un problème?Heureusement, il y a une façon de gérer ces types de problèmes…

41.9 Le contrôle de validité des données

Nagios offre une fonctionnalité qui teste la validité des résultats d'un test (freshness checking). Onpeut trouver plus d'informations à ce sujet ici. Cette fonctionnalité apporte une solution aux situationsou les hôtes distants peuvent arrêter d'envoyer le résultat des tests passifs au serveur central. Elle(freshness) permet d'assurer que le test est soit fourni passivement par les serveurs distribués, soitexécuté activement par le serveur central si nécessaire. Si les résultats fournis par le test du servicedeviennent figés, Nagios peut être configuré pour forcer un contrôle actif depuis le serveur central.Comment fait-on cela ? Sur le serveur central, il faut configurer ainsi les services qui sont surveilléspar les serveurs distribués :

– L'option check_freshness dans la définition des services doit être à 1. Ceci active le test de validité(freshness checking)

– L'option freshness_threshold dans la définition des services doit être positionné à une valeur quiindique le niveau de validité ([NdT] : la traduction littérale est la fraîcheur, mais il ne me semblepas adapté) des données (telles que fournies par les serveurs distribués).

– L'option check_command dans la définition des services doit indiquer les commandes valides quiseront employées pour tester activement les services depuis le serveur central.

Nagios teste régulièrement la validité des résultats pour lesquels cette option est activée. L'option f-reshness_threshold dans chaque service détermine le niveau de validité pour celui-ci. Par exemple,si sa valeur est 300 pour un de vos services, Nagios va considérer que les résultats du service sontfigés s'ils ont plus de 5 minutes (300 secondes). Si vous ne spécifiez pas la valeur de freshness_t-hreshold, Nagios calculera un seuil à partir de la valeur des options normal_check_interval ou de

Page 278: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

251 / 379

retry_check_interval (en fonction de l'état du service). Si les résultats sont figés, Nagios exécuterala commande spécifiée dans check_command dans la définition du service, vérifiant ainsi activementce service.N'oubliez pas que vous devez définir l'option check_command dans la définition des services, pourpouvoir tester activement l'état d'un service depuis le serveur central. Dans des conditions normales,cette commande check_command ne sera pas exécutée (parce que les test actifs auront été désactivésglobalement au niveau du programme, ou pour des services spécifiques). A partir du moment ou lecontrôle de validité des données est activé, Nagios exécutera cette commande, même si les tests actifsont été désactivés globalement au niveau du programme ou pour des services spécifiques.Si nous n'arrivez pas à définir des commandes pour tester activement un service depuis le serveurcentral (ou bien cela est un casse-tête douloureux), vous pouvez simplement définir toutes les optionscheck_command d'après un simple script qui retourne un état critique. Voici un exemple : supposonsque vous ayez défini une commande service-fige et utilisez cette commande dans l'option check_-command de vos services. Elle pourrait ressembler à cela …..define command {

command_name service-figecommand_line /usr/local/nagios/libexec/check_dummy 2 "CRITICAL: Service results are -

stale"}

Quand Nagios détecte que les résultats sont figés et lance la commande service_fige, le plugincheck_dummy est exécuté et le service passe dans un état critique. Ceci déclenchera l'envoi denotifications, donc vous saurez finalement qu'il y a un problème.

41.10 Contrôles des hôtes

Maintenant, vous savez comment obtenir des résultats de contrôles passifs depuis des serveurs dis-tribués. Ceci signifie que le serveur central ne teste activement que ses propres services. Mais qu'enest-il des hôtes ? Vous en avez toujours besoin, non?Comme les contrôles d'hôtes n'ont qu'un impact faible sur la surveillance (ils ne sont faits que s'ilssont vraiment nécessaires), je vous recommanderais bien de faire ces contrôles de manière activedepuis le serveur central. Ceci signifie que vous définirez le contrôle des hôtes sur le serveur centralde la même manière que vous l'avez fait sur les serveurs distribués (également de la même manièreque sur un serveur normal, non distribué).Les résultats de contrôle passifs des hôtes sont disponible (lisez ceci), donc vous pourriez les utiliserdans votre architecture distribuée mais cette méthode comporte certains problèmes. Le principalétant que Nagios ne traduit pas les états problèmes (arrêtés DOWN ou injoignables UNREACHABLE)retournés par les vérifications passives des hôtes quand ils sont traités. Par conséquent, si vos serveursde supervision ont une structure différentes en terme de parents ou enfants (et c'est ce qui se passelorsque vos serveurs de supervisions ne sont pas exactement au même endroit), le serveur central vaavoir une vision incorrecte des états des hôtes.Si vous voulez vraiment envoyer des résultats passifs de contrôle d'hôte à un serveur de supervisioncentral, vérifiez que :

– La réception passive de vérification d'hôte (requis) est activée sur le serveur central– Le serveur distribué est configuré avec l'option de remontée de contrôle d'hôte activée.– Le serveur distribué a une commande ochp définie.

La commande ochp utilisée pour le traitement des vérifications d'hôtes fonctionne demanière similaireà la commande ocsp utilisée pour le traitement des vérification des services (cf documentation ci-dessus). Pour être sûr que les vérifications passives d'hôtes sont valides et à jour, il est nécessaired'activer la validité des vérification pour les hôtes de la même manière que pour les services.

Page 279: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

252 / 379

Chapitre 42

Gestion de panne et redondance pourla supervision réseau

42.1 Introduction

Cette section décrit quelques scénarii d’implémentation de systèmes de supervision redondante ainsique plusieurs topologies réseau. Avec la redondance des systèmes, vous pouvezmaintenir la possibilitéde surveiller votre réseau alors que le premier système sur lequel tourne Nagios pose problème oulorsque des parties du réseau deviennent injoignables.

NoteSi vous apprenez à utiliser Nagios, je suggère de ne pas essayer d’implémenter la redondance tantque vous n’êtes pas habitué aux pré-requis déjà présentés. La redondance est un sujet relativementcomplexe, et il est encore plus difficile de l’implémenter correctement.

42.2 Pré-requis

Avant de penser pouvoir implémenter la redondance avec Nagios, vous devez être familier avec cequi suit…– Implémenter les Gestionnaires d’événements pour les hôtes et services– Présenter une commande externe à Nagios via des scripts shell– Exécuter des plugins sur des hôtes distants en utilisant soit NRPE, soit d’autres méthodes– Vérifier l’état du processus Nagios avec le plugin check_nagios

42.3 Exemples de scripts

Tous les exemples que j’utilise dans cette documentation se trouvent dans le répertoire eventhandlers/de la distribution Nagios. Vous devrez probablement les modifier pour les faire fonctionner sur votresystème…

Page 280: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

253 / 379

42.4 Scénario 1 - Supervision Redondante

42.4.1 Introduction

Ceci est une méthode facile (et naïve) pour implémenter le monitoring redondant d’hôtes sur votreréseau, qui protègera seulement contre un nombre limité de problèmes. Des réglages plus complexessont nécessaires pour fournir une redondance plus pratique, une meilleure redondance à travers dessegments réseau, etc.

42.4.2 Buts

Le but de ce type d’implémentation de redondance est simple. Les hôtes maître et esclave surveillentles mêmes systèmes et services sur le réseau. Dans des circonstances normales, le système maîtreprendra en charge l’envoi des notifications aux contacts concernant les problèmes détectés. Nousvoulons que système esclave fasse fonctionner Nagios et prenne en charge la notification des prob-lèmes si :

1. Soit le système Maître faisant fonctionner Nagios ne répond plus2. Soit le processus Nagios sur le système Maître arrête de fonctionner.

42.4.3 Diagramme de topologie réseau

Le diagramme ci-dessous montre une configuration réseau très simple. Pour ce scénario, je vais sup-poser que les systèmes A et E font tourner tous deux Nagios et surveillent tous les systèmes que l’ony voit. Le système A sera considéré comme étant le système maître et le système E sera considérécomme étant l’esclave.

42.4.4 Réglages initiaux du programme

Le système esclave (système E) a son paramètre initial de notification enable_notifications dés-activé, afin de lui éviter d’envoyer des notifications autant pour les hôtes que pour les services. Il fautaussi s’assurer que le système esclave a son paramètre check_external_commands activée. C’estplutôt simple…

Page 281: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

254 / 379

42.4.5 Configuration Initiale

Il faudra ensuite considérer les changements entre le(s) fichier(s) de configuration des objets sur lessystèmes maître et esclave…Je vais supposer que le système maître (système A) est configuré pour surveiller des services sur tousles systèmes montrés dans le diagramme ci-dessus. Le système esclave (système E) doit être configurépour surveiller les mêmes systèmes et services, avec les ajouts suivants aux fichiers de configuration…

– La définition du système A (dans le fichier de configuration du système E) devrait avoir un ges-tionnaire d’événement défini. Supposons que le nom du gestionnaire d’événement pour le systèmes’appelle handle-master-host-event.

– Le fichier de configuration sur le système E devrait avoir un service défini pour surveiller l’état duprocessus Nagios sur le système A. Supposons que vous ayez défini cette vérification de servicepour lancer le plugin check_nagios sur le système A.

– La définition du service pour la surveillance du processus Nagios sur le système A devrait être ungestionnaire d’événement. Supposons que ce service gestionnaire d’événement soit handle-mast-er-proc-event.

Il est important de noter que le système A (le système maître) ne sait rien du système E (le systèmeesclave). Dans ce scénario, il n’en a simplement pas besoin. Bien évidemment, vous pouvez surveillerles services du système E depuis le système A, mais cela n’a rien à voir avec l’implémentation de laredondance…

42.4.6 Définition de commandes de Gestion d’Evènements

Faisons une petite pause, et décrivons les définitions de commandes de gestion d’événement surl’esclave. Voici un exemple…define command {

command_name handle-master-host-eventcommand_line /usr/local/nagios/libexec/eventhandlers/handle-master-host-event -

$HOSTSTATE$ $HOSTSTATETYPE$}

define command {command_name handle-master-proc-eventcommand_line /usr/local/nagios/libexec/eventhandlers/handle-master-proc-event -

$SERVICESTATE$ $SERVICESTATETYPE$}

Cela implique que vous ayez placé les scripts de gestion d’événements dans le répertoire /usr/local/nagios/libexec/eventhandlers. Vous pouvez les placer ailleurs, mais vous devrez modifier les ex-emples que j’ai donnés ici.

42.4.7 Scripts de Gestion d’Evènements

Ok, regardons à quoi ressemble ce script…Gestionnaire d’Evènement de système (handle-master-host-event):#!/bin/sh# Only take action on hard host …states

case "$2" inHARD)

case "$1" in

Page 282: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 d’Evènements de Service (handle-master-proc-event):#!/bin/sh# Only take action on hard service …states

case "$2" inHARD)

case "$1" inCRITICAL)

# 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;;

esacexit 0

42.4.8 Que fait ce script pour nous?

La notification sur le système esclave (système E) est désactivée, donc il n’enverra pas de notificationspour les systèmes autant que pour les services tant que le processus Nagios fonctionne sur le systèmemaître (système A).Le processus Nagios sur le système esclave (système E) devient maître quand…

Page 283: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

256 / 379

– Le système maître (système A) tombe et le gestionnaire d’événement de système handle-master--host-event est exécuté.

– Le processus Nagios sur le système maître (système A) s’arrête de fonctionner et le gestionnaired’événement du service handle-master-proc-event est exécuté.

Dès que le processus Nagios sur le système esclave (système E) a la notification activée, il sera ca-pable d’envoyer des notifications quant aux services ou problèmes système ou encore les retours à lanormale. A ce moment, le système E a effectivement pris la responsabilité de notifier les contacts desproblèmes de systèmes et services !Le processus Nagios sur le système E retourne à son état d’esclave quand…– Le système A revient à la normale et le gestionnaire d’événement de système handle-master-ho-st-event est exécuté.

– Le processus Nagios sur le système A revient à la normale et que le gestionnaire d’événement deservice handle-master-proc-event est exécuté.

Dès que le processus Nagios sur le système E est désactivé, il n’enverra plus de notification concernantles problèmes liés aux services et aux systèmes ou encore les retours à la normale. Dès ce moment,le système E a pris la responsabilité de notifier les contacts des problèmes du processus Nagios surle système A. Tout revient maintenant dans le même état que lorsque l’on a démarré !

42.4.9 Délais

La redondance dans Nagios n’est en rien parfaite. Un des nombreux problèmes est le délai entre lemoment où le maître tombe et que l’esclave prend le relais. En voici les raisons…

– L’intervalle entre la rupture du système maître et la première fois que le système esclave détecte leproblème.

– Le temps qu’il faut pour vérifier que le système maître a réellement un problème (en utilisant unenouvelle fois la commande ’check’ d’un service ou d’un système sur le système esclave)

– Le temps entre l’exécution du gestionnaire d’événement et la fois suivante où Nagios va vérifier laprésence d’une commande externe

Vous pouvez minimiser ce délai en…– S’assurant que le processus Nagios sur le système E (re)vérifie un ou plusieurs services avec unefréquence élevée. Ceci peut être fait en utilisant les arguments check_interval et retry_intervaldans chaque définition de service.

– S’assurer que le nombre de re-vérifications de la présence du système A (sur le système E) perme-tte une détection des problèmes liés au système plus rapidement. Ceci peut être fait en utilisantl’argument max_check_attempts dans la définition du système.

– Augmenter la fréquence de vérification des commandes externes sur le système E. Ceci peut êtrefait en modifiant l’option command_check_interval dans le fichier de configuration principal.

Quand Nagios revient à la normale sur le système A, il y a aussi un délai avant que le système E neredevienne esclave. C’est du aux faits suivants…

– Le temps entre le retour à la normale du système A la fois suivante où le processus Nagios sur lesystème E détecte le retour à la normale.

– L’intervalle entre l’exécution du gestionnaire d’événement sur le système E et la fois suivante où leprocessus Nagios sur le système E vérifie la présence de commandes externes

Les intervalles exacts entre le transfert des responsabilités de supervision dépendent du nombre deservices définis, l’intervalle auquel les services sont vérifiés, et un peu de chance. A tous niveaux,c’est mieux que rien.

Page 284: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

257 / 379

42.4.10 Cas spéciaux

Il y a une chose à laquelle il faut être attentif… Si le système A tombe, le système de notifications surle système E sera activé et prendra la responsabilité de notifier les contacts de problèmes. Lorsquele système A revient à la normale, le système E aura sa notification désactivée. Si, quand le systèmeA revient à la normale, le processus Nagios ne redémarre pas correctement, il y aura une période detemps où aucun système ne notifiera les contacts de problèmes ! Heureusement on peut compter surla logique de vérification de services de Nagios. La fois suivante où le processus Nagios sur le systèmeE vérifie l’état du processus Nagios sur le système A, il verra qu’il ne fonctionne pas. Le système Eaura donc sa notification activée et prendra la responsabilité de notifier les contacts des problèmes.Le temps où aucun système ne surveille est assez difficile à déterminer. Toutefois, cette période peutêtre minimisée en augmentant la fréquence de vérification (sur le système E) du processus Nagiossur le système 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 même des dif-férences avec le système précédent scénario 1).

42.5.2 Buts

Le but principal de la gestion de panne est d’avoir le processus Nagios sur le système esclave enhibernation tant que le processus Nagios sur le système maitre fonctionne. Si le processus sur lesystème maître arrête de fonctionner (ou si le système tombe), le processus Nagios sur le systèmeesclave commence à tout surveiller.Bien que la méthode décrite dans la partie scénario 1 permette de continuer à recevoir la notificationsi le système maitre tombe, il y a quelques pièges. Le plus gros problème est que le système esclavesurveille les mêmes systèmes que le maitre au même moment ! Ceci peut causer des problèmes detrafic excessif et charger les machines surveillées si vous avez beaucoup de services définis. Voici unemanière de contourner ce problème…

42.5.3 Réglages initiaux du programme

Désactiver la vérification active des services et la notification sur le système esclave en utilisant lesparamètres execute_service_checks et enable_notifications . Ceci évitera au système esclave desurveiller les services et les systèmes et d’envoyer des notifications tant que le processus Nagios surle système maître fonctionne. Assurez-vous d’avoir le paramètre check_external_commands activéesur le système esclave.

42.5.4 Vérification du processus principal

Créer un tâche programmée [cron job] sur le système esclave qui lance périodiquement un script(disons toutes les minutes) qui vérifie l’état du processus Nagios sur le système maître (en utilisantle plugin check_nrpe sur le système esclave et le démon NRPENRPE sur le système maître). Lescript va vérifier le code de retour du plugin check_nrpe. S’il retourne un état non-OK, le script vaenvoyer les commandes appropriées au fichier de commandes externes pour activer la notification et

Page 285: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

258 / 379

la surveillance des services. Si le plugin retourne un état OK, le script enverra les commandes pourdésactiver la surveillance active des services et la notification.En procédant comme suit, vous n’utilisez qu’un processus de surveillance de système et de service àla fois, ce qui est plus efficace que de surveiller en double.Notez aussi que vous ne devez pas définir de gestionnaires d’événements comme défini dans le scé-nario 1, car les contraintes sont surmontées de manière différente.

42.5.5 Cas Supplémentaires

Vous avez maintenant implémenté une gestion de panne de manière plutôt basique. Il y a toutefoisd’autres manières de procéder pour que cela fonctionne de manière plus douce.Le gros problème avec cette technique est surtout le fait que l’esclave ne connait pas l’état courantdes services ou des systèmes au moment même où il prend à sa charge le travail de surveillance. Unemanière de solutionner ce problème est d’activer la commande ocsp sur le système maître et de luidemander de rapporter les résultats des vérifications à l’esclave en utilisant l’addon NSCANSCA Decette manière, le système esclave possède un statut mis à jour des informations de tous les serviceset des systèmes s’il venait à prendre en charge la surveillance. Tant que les vérifications actives nesont pas activées sur le système esclave, il n’effectuera aucune vérification active. Malgré tout, ilexécutera les vérifications si nécessaire. Cela signifie qu’autant le maître que l’esclave exécuterontles vérifications de système comme il le faut, ce qui n’est pas vraiment une bonne affaire puisque lamajorité des surveillances fonctionnent par rapport aux services.Voilà à peu près tout ce qu’il y a à configurer.

Page 286: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

259 / 379

Chapitre 43

Détection et gestion de l'oscillationd'état

43.1 Introduction

Nagios supporte la détection optionnelle des hôtes et des services qui oscillent [NdT : ou bagotent].L'oscillation intervient quand un service ou un hôte change d'état trop fréquemment, provoquantune tempête de notifications de problèmes et de rétablissement. L'oscillation peut être l'indice deproblèmes de configuration (i.e. des seuils positionnés trop bas) ou de vrais problèmes sur le réseau.

43.2 Comment la détection d'oscillation fonctionne-t-elle?

Avant d'aller plus loin, permettez-moi de signaler qu'implémenter la détection de l'oscillation a étéassez difficile. Comment déterminer ce que trop fréquemment veut dire concernant les changementsd'état de tel hôte ou service ? La première fois que je me suis penché sur la détection de l'oscillation,j'ai cherché des informations sur la façon dont on peut ou doit procéder. Voyant que je n'en trouvaispas, j'ai décidé de définir ce qui pourrait être une solution raisonnable. Les méthodes utilisées parNagios pour détecter l'oscillation de l'état des hôtes et des services sont décrites ci-dessous…Chaque fois qu'un contrôle de service résulte dans un état hard ou un état de rétablissement soft,Nagios contrôle si le service a commencé ou arrêté d'osciller.

– Il le fait en stockant les 21 derniers résultats de contrôle de service dans un tableau. Les résultatsles plus récents écrasent les anciens dans le tableau.

– Le contenu du tableau d'historique des états est parcouru (depuis le plus ancien résultat jusqu'auplus récent) pour déterminer le pourcentage total de changements d'état survenus durant les 21derniers contrôles du service.

– En utilisant des pourcentages d'états de changements pour déterminer des changements états tran-sitoires pour les hôtes et services

– En comparant la valeur du pourcentage aux seuils d'oscillations inférieurs et supérieurs

Un hôte ou un service est déclaré comme oscillant lorsque son pourcentage dépasse la valeur du seuilsupérieur d'oscillation.Un hôte ou un service est déclaré comme normal lorsque son pourcentage est descendu en dessousde la valeur du seuil inférieur d'oscillation.

Page 287: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

260 / 379

43.3 Exemple

Laissez vous décrire plus en détail le fonctionnement de la détection d'oscillation avec les services…L'image suivante montre un tableau chronologique d'états de service. Les états OK sont en vert, lesWARNING en jaune, les CRITICAL en rouge, et les UNKNOWN en orange. Des flèches bleues mar-quent les moments où des changements d'états sont survenus.

Le contenu du tableau d'historique des états est parcouru (depuis le plus ancien résultat jusqu'au plusrécent) pour déterminer le pourcentage total de changements d'état survenus durant les 21 dernierscontrôles du service. Un changement d'état survient quand un état archivé est différent de l'étatarchivé qui le précède immédiatement dans le tableau. Comme nous conservons les résultats des 21derniers contrôles de service dans le tableau, il y a 20 changements d'état possibles.La détection d'oscillation utilise une logique qui est basé sur un pourcentage de changement d'étatpour le service. C'est une mesure de variation du service. Les services qui ne changent jamais d'étatauront 0% de changement, quant aux services qui n'arrêteront pas de changer d'état, il approcherontdu 100%. Bons nombres de services auront un pourcentage se situant entre ces 2 valeurs.Il paraît évident que les changements d'état les plus récent ont plus de poids que les anciens, si bienqu'il nous faut recalculer le pourcentage total de changements d'état du service selon une espècede courbe… Pour simplifier, j'ai décidé d'utiliser un rapport linéaire entre le temps et la pondérationpour le calcul de ce pourcentage. Les fonctions de détection de l'oscillation sont conçues actuellementpour que le changement d'état le plus récent possible pèse 50% plus lourd que le plus ancien. L'imagesuivante montre combien le poids des changements d'état récents est supérieur à celui des ancienslors du calcul du pourcentage total de changements d'état d'un service particulier.

Page 288: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

261 / 379

Prenons un rapide exemple de détection de l'oscillation. L'image ci-dessus montre le tableau d'his-torique des résultats de contrôle d'un service particulier. Les résultats les plus anciens sont à gaucheet les plus récents à 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 pondération 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 pondération en fonction du moment d'apparition, le pourcentage est de moins de35%. C'est logique dans la mesure où la plupart des changements d'états sont plutôt anciens. Disonsque le pourcentage pondéré est finalement de 31%…Ainsi donc, que signifient 31% de changements d'états ?– Hé bien, si le service n'oscillait pas auparavant et que 31% est supérieur ou égal à la valeur spécifiéepar le paramètre high_service_flap_threshold de la définition du service, Nagios considère que leservice vient de commencer à osciller.

– Si le service oscillait auparavant et que 31% est inférieur ou égal à la valeur spécifiée par leparamètre low_service_flap_threshold de la définition du service, Nagios considère que le servicevient de s'arrêter d'osciller.

Si aucune de ces deux conditions n'est remplie, Nagios ne fait rien de plus concernant le service, carsoit il n'oscille pas, soit il oscille toujours…

43.4 Détection de l'oscillation pour les services

Nagios regarde si le service est en état d'oscillation avant d'exécuter un contrôle (actif comme passif).Le principe pour la détection d'oscillation des services fonctionnent de la manière qu'expliqué ci-dessus.

43.5 Détection de l'oscillation d'hôte

La détection de l'oscillation d'hôte fonctionne de manière similaire à la détection d'oscillation de ser-vice, avec une différence importante : Nagios essaiera de déterminer : si un hôte oscille à chaquecontrôle de l'état de l'hôte et à chaque contrôle d'un service associé à cet hôte.

– Si un hôte est contrôlé (activement ou passivement)– L'oscillation d'un hôte sera contrôlée si son état a changé depuis la dernière détection d'oscillationde cet hôte ou si son état n'a pas changé, mais qu'au moins x temps s'est écoulé depuis la dernièredétection d'oscillation. Ce temps est égal à la moyenne des intervalles de contrôles de tous lesservices associés avec l'hôte.

Pourquoi cela ? Hé bien, parce qu'avec les services, nous savons que l'intervalle minimal de tempsentre deux détections d'oscillation consécutives sera égal à l'intervalle de contrôle du service. Avecles hôtes, nous n'avons pas d'intervalle de contrôle, du fait que les hôtes ne sont pas supervisés demanière régulière. Ils ne sont contrôlés que lorsque c'est nécessaire. C'est la meilleure méthode quej'ai pu imaginer pour déterminer la fréquence de la détection d'oscillation d'un hôte…

43.6 Seuils de détection de l'oscillation

Nagios utilise plusieurs variables pour déterminer le pourcentage de changement d'état attribué auxseuils de la détection d'oscillation. Tant pour les hôtes que pour les services, il y a des seuils supérieurs

Page 289: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

262 / 379

et inférieurs globaux et spécifiques que vous pouvez configurer. Nagios utilisera les seuils globaux pardéfaut si vous n'en spécifiez aucun.Le tableau ci-dessous montre les variables globales et spécifiques pour les hôtes et services afin degérer les seuils de détection.

Type d'objet Variables Globales Variables spécifiques auxobjets

Hôte low_host_flap_thresholdhigh_host_flap_threshold

low_flap_thresholdhigh_flap_threshold

Service

low_service_flap_thresho-ldhigh_service_flap_thresh-old

low_flap_thresholdhigh_flap_threshold

43.7 Les états utilisés pour la détection de l'oscillation

Normalement Nagios scrutera les résultats des 21 derniers contrôles d'un hôte ou d'un service, sanstenir compte du résultat de contrôle (état hôte / service), pour l'utilisation dans la logique de détectionde l'oscillation.

ASTUCENous pouvons exclure certains hôtes ou services à l'algorithme de de l'oscillation en utilisant leparamètre flap_detection_options dans la définition de l'hôte ou du service. Cette option vouspermet de préciser pour quel états d'hôte ou service (par exemple UP, DOWN, OK, CRITICAL) vousvoulez utilisez la détection d'oscillation. Si vous n'utilisez pas ce paramètre, la règle par défaut seraappliquée pour tous.

43.8 Gestion de l'oscillation

Quand un service ou un hôte commence à osciller, Nagios :1. journalise un message indiquant que le service ou l'hôte oscille.2. ajoute un commentaire non persistant à l'hôte ou au service indiquant qu'il oscille.3. envoie une notification de démarrage de l'état d'oscillation aux contacts.4. supprime les notifications pour le service ou l'hôte concerné (c'est l'un des filtre de l'algorithmede notification)

Quand un service ou un hôte s'arrête d'osciller, Nagios :

1. journalise un message indiquant que le service ou l'hôte n'oscille plus.2. supprime le commentaire qui avait été ajouté au service ou à l'hôte lorsqu'il avait commencé àosciller

3. envoie une notification de retour à l'état normal de l'hôte ou du service aux contacts.4. lève le blocage des notifications sur le service ou l'hôte concerné (les notifications restant assu-jetties à l'algorithme de notification)

Page 290: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

263 / 379

43.9 Activation de la détection d'oscillation

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

– Passer le paramètre enable_flap_detection à 1– Passer le paramètre flap_detection_enabled dans la définition de votre hôte ou service à 1

Si vous voulez désactiver de manière générale cette option, passez le paramètre enable_flap_dete-ction à 0.Si vou voulez désactiver cette option pour quelques hôtes ou services, utilisez le paramètre flap_d-etection_enabled dans la définition de vos hôtes et services pour faire ça.

Page 291: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

264 / 379

Chapitre 44

Escalades des notifications

44.1 Introduction

Nagios supporte l'escalade optionelle des notifications envoyées aux con-tacts pour des services ou hôtes. Je vais en expliquer rapidement le fonctionnement, bien que cela secomprenne facilement… L'escalade pour les notifications d'hôtes et de services est possible par lacréation de définition d'escalations d'hôtes et de d'escalations de services dans votre Object Configu-ration Overview .

NoteLes exemples que je fournis ci-dessous utilisent tous les définitions d'escalades, mais les escaladesd'hôtes fonctionnent sous le même principe. Excepté, bien sûr, qu'il faut remplacer services parhosts.

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

Les notifications sont échelonnées si et seulement si une ou plusieurs définitions d'escalade corre-spondent à la notification actuelle qui est envoyée. Si la notification de service ou d'un hôte n'a pasde définitions d'escalade valides qui s'y applique, le(s) groupe(s) de contact spécifié dans le grouped'hôte ou dans la définition de service sera appliqué par défaut. Regardons l'exemple ci-dessous:define serviceescalation{

host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 90contact_groups nt-admins,managers

}

Page 292: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

265 / 379

define serviceescalation{host_name webserverservice_description HTTPfirst_notification 6last_notification 10notification_interval 60contact_groups nt-admins,managers,everyone

}

Remarquez qu'il y a des trous dans les définitions d'escalade de notification. En particulier, les notifi-cations 1 et 2 ne sont pas prises en compte par les escalades, ni celles au-delà de 10. Pour la premièreet la seconde notification, de même que pour celles au-delà de la dixième, le groupe de contacts pardéfaut précisé dans la définition de service est utilisé. Dans tous les exemples que j'utiliserai, je con-sidèrerai que le groupe de contacts par défaut des définitions de service s'appelle nt-admins.

44.3 Contact Groups

En définissant des escalades de notification, il est important d'être conscient que n'importe quelsgroupes de contact qui étaient des membres de plus bas niveaux d'escalades (c'est-à-dire ceux avecles nombres de notification plus basses) devraient aussi être inclus dans les niveaux plus haut desdéfinitions d'escalade. Cela devrait être fait pour garantir que quelqu'un qui est notifié d'un problèmecontinue à suivre ce problème jusqu'à sa résolution. Exemple :define serviceescalation {

host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 90contact_groups nt-admins,managers

}

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 6last_notification 0notification_interval 60contact_groups nt-admins,managers,everyone

}

Le premier (ou plus bas) niveau d'escalade comprend à la fois les groupes de contact nt-admins etmanagers. 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 définitionsd'escalade. C'est pour qu'il continue à être prévenu s'il reste des problèmes après que les deux pre-mières notifications de service aient été envoyées. Le groupe de contact managers apparaît d'aborddans la définition d'escalade la plus basse - il reçoit sa première notification lorsque la troisièmenotification de problème est envoyée. Nous voulons que le groupe managers continue de recevoirdes notifications si le problème persiste après cinq notifications, il fait donc partie de la plus hautedéfinition d'escalade.

44.4 Recoupement des portées des escalades

Les définitions d'escalade de notification peuvent avoir des portées qui se recoupent. Prenons l'exem-ple suivant :

Page 293: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

266 / 379

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 20contact_groups nt-admins,managers

}

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 4last_notification 0notification_interval 30contact_groups on-call-support

}

Dans l'exemple ci-dessus:– Les groupes de contact nt-admins et managers reçoivent la troisième notification– Les trois groupes de contact reçoivent les quatrième et cinquième notifications– Seul le groupe de contact on-call-support reçoit les notifications à partir de la sixième notification

44.5 Notifications de reprise d'activité

Les notifications de reprise d'activité sont légèrement différentes des notifications de problème lorsqu'ils'agit d'escalade. Prenons l'exemple suivant :define serviceescalation {

host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 20contact_groups nt-admins,managers

}

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 4last_notification 0notification_interval 30contact_groups on-call-support

}

Si, après trois notifications de problème, une notification de reprise d'activité est envoyée au service,qui reçoit la notification ? La reprise d'activité est la quatrième notification envoyée. Cependant, lecode d'escalade est suffisamment bien fait pour que seules les personnes qui ont reçu la troisièmenotification reçoivent celle de reprise d'activité. Dans ce cas, les groupes de contact nt-admins etmanagers recevront la notification de reprise d'activité.

Page 294: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

267 / 379

44.6 Intervalles de notification

Vous pouvez modifier la fréquence à laquelle les notifications escaladées sont émises pour un hôteou un service particulier en utilisant le paramètre notification_interval de la définition d'escalade degroupe d'hôtes ou de service. Par exemple :define serviceescalation {

host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 45contact_groups nt-admins,managers

}

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 6last_notification 0notification_interval 60contact_groups nt-admins,managers,everyone

}

Dans cet exemple nous voyons que l'intervalle de notification par défaut pour les services est de 240minutes (c'est la valeur donnée dans la définition du service). Quand la notification de ce service estescaladée lors des 3ème, 4ème, et 5ème notifications, un intervalle de 45 minutes sera utilisé entreles notifications. Lors de la 6ème notification et des suivantes, l'intervalle de notification sera de 60minutes, comme il est spécifié dans la seconde définition d'escalade.Comme il est possible d'avoir des définitions d'escalade qui se chevauchent pour un groupe d'hôtesou un service donné, et comme un hôte peut être membre de plusieurs groupes d'hôtes, Nagios doitdécider quel intervalle de notification utiliser quand des définitions d'escalade se chevauchent. Danstous les cas de chevauchement, Nagios choisira l'intervalle de notification le plus court. Prenez l'ex-emple suvant :define serviceescalation {

host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 45contact_groups nt-admins,managers

}

define serviceescalation{host_name webserverservice_description HTTPfirst_notification 4last_notification 0notification_interval 60contact_groups nt-admins,managers,everyone

}

Nous voyons que les deux définitions d'escalade se chevauchent sur les 4ème et 5ème notifications.Pour ces notifications, Nagios utilisera un intervalle de notification de 45 minutes, car c'est le pluspetit intervalle présent dans les définitions d'escalade valides de ces notifications.Une dernière remarque à propos des intervalles de notification concerne les intervalles de 0. Unintervalle de 0 signifie que Nagios ne doit émettre une notification que pour la première notification

Page 295: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

268 / 379

valide durant cette définition d'escalade. Toutes les notifications suivantes pour le groupe d'hôte oule service seront supprimées. Prenez cet exemple :define serviceescalation {

host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 45contact_groups nt-admins,managers

}

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 3last_notification 5notification_interval 45contact_groups nt-admins,managers

}

define serviceescalation {host_name webserverservice_description HTTPfirst_notification 7last_notification 0notification_interval 30contact_groups nt-admins,managers

}

Dans l'exemple ci-dessus, il y aurait au maximum 4 notifications de problème envoyées à propos duservice. Ceci est dû au fait que l'intervalle de notification de 0 dans la seconde définition d'escaladeindique qu'une seule notification doit être émise (à partir de et en incluant la 4ème notification) etque toutes les notifications suivantes doivent être supprimées. A cause de cela, la troisième définitiond'escalade du service est sans effet, car il n'y aura jamais plus de quatre notifications.

44.7 Restrictions de période de temps

Dans des circonstances normales, les escalades peuvent servir aux heures où une notification pour-rait normalement être envoyée pour le service. Cette fenêtre d'heures de notification est déterminéepar le paramètre notification_period de la définition de service. Notez que la notification est tou-jours soumise aux restrictions d'heure normales imposées par le paramètre notification_period del'escalade de service, et donc que la période de temps que vous spécifiez dans l'escalade doit êtrecomprise dans une plus grande fenêtre d'heures de notification.Vous pouvez optionnellement restreindre l'escalade pour qu'elle ne soit prise ne compte pendantune période de temps spécifique en utilisant le paramètre escalation_period dans la définition del'escalade de service. Si vous utilisez le paramètre escalation_period pour spécifier une Time PeriodDefinition pendant laquelle utiliser l'escalade, l'escalade sera prise en compte uniquement pendantces heures. Si vous ne spécifiez aucun paramètre escalation_period, l'escalade peut être prise encompte à n'importe quelle heure pendant la fenêtre d'heures de notification pour le service.

NoteLes escalades de notifications sont toujours soumises aux restrictions de temps normales imposéespar le paramètre notification_period dans une défintion d'hôte ou de service, donc le timeperiodque vous spécifiez dans une définition d'escalade correspond à une sorte de sous-ensemble de cequ'on appelerait la fenêtre de temps de notification.

Page 296: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

269 / 379

44.8 Restrictions d'état

Si vous voulez restreindre la définition d'escalade pour qu'elle soit prise en compte uniquement quandle service est dans un état donné, vous pouvez utiliser le paramètre escalation_options dans ladéfinition de l'escalade de service. Si vous n'utilisez pas le paramètre escalation_options, l'escaladepeut être prise en compte quel que soit l'état du service.

Page 297: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

270 / 379

Chapitre 45

Les astreintes à la demande

45.1 Introduction

Les Administrateurs peuvent souvent être dérangés autéléphone, les appels de téléphone cellulaire, etc. à n'importe quel moment. Personne n'aime êtreréveillé à 4h00 pour fixer un problème.Mais c'est souvent mieux pour régler le problème dans lemilieude la nuit, plutôt que de voir le visage en colère du patron malheureux quand vous vous promenez à9h le matin suivant.Pour ces administrateurs chanceux qui peuvent se partager la responsabilité de répondre aux alertes,les astreintes à la demande est souvent le choix judicieux. Plusieurs administrateurs vont alternative-ment gérer les notifications les week-end, les nuits, les vacances, etc.Nous allons vousmontrer comment créer des définitions de période de temps pour vous faciliter le pluspossible la rotation de l'astreinte. Ces définitions ne pourront pas remplacer une intervention humaine(un administrateur appelé est malade, un changement de dernière minute, un lancer de téléphonedans la rivière), mais ceci permettra d'avoir une installation concordant avec le fonctionnement devotre planning d'entreprise.

45.2 Scénario 1 : Les vacances et les week-ends

2 Administrateurs - John et Bob - sont responsables de répondre aux alertes Nagios. John reçoit toutesles notifications de la semaine (et les nuits de la semaine) - exceptées les vacances - et Bob quant àlui gérera celles du week-end et des vacances. Bonne pioche Bob ! Nous allons voir comment définirce type d'astreinte en utilisant les périodes de temps…Premièrement, définissons les périodes de temps pour les vacances :define timeperiod {

name holidaystimeperiod_name holidaysjanuary 1 00:00-24:00 ; New Year's Day

Page 298: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

271 / 379

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

}

Ensuite, définissons les périodes d'astreinte de John incluant les jours et les nuits de la semaine touten excluant les dates qu'il aura définit pour ces vacances :define timeperiod {

timeperiod_name john-oncallmonday 00:00-24:00tuesday 00:00-24:00wednesday 00:00-24:00thursday 00:00-24:00friday 00:00-24:00exclude holidays  ; Exclude holiday dates/times defined elsewhere

}

Nous pouvons référencer cette période de temps dans la définition du contact John :define contact{

contact_name john...host_notification_period john-oncallservice_notification_period john-oncall

}

Définissons une nouvelle période de temps pour les astreintes de Bob incluant le week-end et les datesdéfinies dans la période de temps holidays:define timeperiod {

timeperiod_name bob-oncallfriday 00:00-24:00saturday 00:00-24:00use holidays   ; Also include holiday date/times defined elsewhere

}

Nous pouvons référencer cette période de temps dans la définition du contact Bob :define contact{

contact_name bob...host_notification_period bob-oncallservice_notification_period bob-oncall

}

45.3 Scénario 2 : Jours alternés :

Dans ce scénario, John et Bob se partage les alertes à tours de rôle sans être regardant sur la semaine,le week-end, ou les vacances.Définissons une période de temps de quand John recevra les notifications. Admettons qu'aujourd'huinous sommes le 1er aout 2007 et que John commence son astreinte aujourd'hui. La définition ressem-berait à ceci :

Page 299: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

272 / 379

define timeperiod{timeperiod_name john-oncall2007-08-01 / 2  00:00-24:00 ; Every two days, starting August 1st, 2007

}

Maintenant, au tour de Bob. Bob reçoit les notifications les jours où John n'en reçoit pas. Son astreintecommencera donc le lendemain (2 aout 2007).define timeperiod{

timeperiod_name bob-oncall2007-08-02 / 2  00:00-24:00     ; Every two days, starting August 2nd, 2007

}

Maintenant, vous avez besoin de renseigner ces périodes de temps dans la définition des contactsJohn et Bob :define contact {

contact_name john...host_notification_period john-oncallservice_notification_period john-oncall

}

define contact {contact_name           bob...host_notification_period       bob-oncallservice_notification_period    bob-oncall

}

45.4 Scénario 3 : Semaines alternées

Dans ce scénario, les astreintes de John et Bob sont alternées par semaine. John débute son astreintedu dimanche jusqu'au samedi d'après, et Bob prend le relais la semaine suivante pendant 7 jours …Ainsi de suite.Nous allons définir l'astreinte de John. Admettons que nous sommes le dimanche 29 juillet 2007 etJohn doit débuter son astreinte cette semaine (débute aujourd'hui), la définition ressemblerait à ceci :define timeperiod {

timeperiod_name john-oncall2007-07-29 / 14 00:00-24:00  ; Every 14 days (two weeks), starting Sunday, July 29th, -

20072007-07-30 / 14 00:00-24:00  ; Every other Monday starting July 30th, 20072007-07-31 / 14 00:00-24:00  ; Every other Tuesday starting July 31st, 20072007-08-01 / 14 00:00-24:00  ; Every other Wednesday starting August 1st, 20072007-08-02 / 14 00:00-24:00  ; Every other Thursday starting August 2nd, 20072007-08-03 / 14 00:00-24:00  ; Every other Friday starting August 3rd, 20072007-08-04 / 14 00:00-24:00  ; Every other Saturday starting August 4th, 2007

}

Maintenant, au tour de Bob, quant à lui, son astreinte débutera le dimanche d'après (le 5 aout 2007).define timeperiod {

timeperiod_name bob-oncall2007-08-05 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, August 5th, -

20072007-08-06 / 14 00:00-24:00 ; Every other Monday starting August 6th, 2007

Page 300: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

273 / 379

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

}

Maintenant, vous avez besoin de renseigner ces périodes de temps dans la définition des contactsJohn et Bob :define contact {

contact_name john...host_notification_period john-oncallservice_notification_period john-oncall

}

define contact {contact_name             bob...host_notification_period     bob-oncallservice_notification_period   bob-oncall

}

45.5 Scénario 4 : Les jours de vacances

Dans ce scénario, John prend les alertes tous les jours sauf quand il est absent. Il a le droit à plusieursjours de congés chaque mois, et il a planifié ses vacances. Bob prendra les notifications lorsque Johnsera absent.Premièrement, définissons les périodes de temps où john s'absente :define timeperiod {

name john-out-of-officetimeperiod_name john-out-of-officeday 15 00:00-24:00 ; 15th day of each monthday -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 yearjune 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, définissons une période de temps pour l'astreinte de john tout en excluant ces jours de repos :define timeperiod {

timeperiod_name john-oncallmonday 00:00-24:00tuesday 00:00-24:00wednesday 00:00-24:00thursday 00:00-24:00friday 00:00-24:00exclude john-out-of-office ; Exclude dates/times John is out

}

Nous pouvons référencer cette période de temps dans la définition du contact John :

Page 301: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

274 / 379

define contact {contact_name john...host_notification_period john-oncallservice_notification_period john-oncall

}

Définissons la nouvelle période de temps de l'astreinte de Bob en incluant les dates d'absence de John :define timeperiod {

timeperod_name bob-oncalluse john-out-of-office ; Include holiday date/times that John is out

}

Nous pouvons référencer cette période de temps dans la définition du contact Bob :define contact {

contact_name bob...host_notification_period bob-oncallservice_notification_period bob-oncall

}

45.6 Autres scénarios

Il y a une multitude de scénario de période d'astreintes possible. Le paramètre d'exception de datedans la définition de période de temps est capable de tout et n'importe quelle période, format de datedont vous avez besoin. Si vous faites une erreur en créant vos période de temps, elle sera bénéfiquepour quelqu'un et moins pour une autre. :-)

Page 302: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

275 / 379

Chapitre 46

Supervision de clusters d'hôtes et deservices

46.1 Introduction

Plusieurs personnes ont demandé comment il est possible de superviser des clusters d'hôtes ou deservices, aussi j'ai décidé d'écrire une petite documentation sur comment le faire. C'est plutôt simple,vous ne devriez pas avoir de problème de compréhension…Premièrement, nous devons définir ce que nous entendons par cluster. La façon la plus simple pourcomprendre est de prendere un exemple. Disons que votre organisation possède cinq serveurs quifournissent la redondance des services DNS. Si l'un d'eux tombe, ce n'est pas un gros problème parceque les serveurs restants vont continuer à assurer le service de résolution de noms. Si vous êtesconcerné par la supervision et la disponibilité des services DNS de votre organisation, vous souhaiterezsuperviser les cinq serveurs DNS. C'est ce que je considère être un cluster de services. Le servicecluster consiste en cinq services DNS séparés que vous supervisez. Même si vous souhaitez superviserchacun de ces services, votre principale préoccupation concerne le statut global du cluster de servicesDNS plutôt que la disponibilité d'un service en particulier.Si votre organisation possède un groupe d'hôtes assurant une solution de haute disponibilité (clus-tering), je considèrerais ceux-ci comme un cluster d'hôtes. Si l'un des ces hôtes tombe, un autre vaprendre le relais pour assurer les tâches dévolues au serveur tombé. En apparté, vous pouvez con-sulter le High-Availability Linux Project pour des informations sur la façon d'assurer la redondanceavec Linux.

46.2 Plan d'attaque

Il y potentiellement plusieurs méthodes pour superviser des clusters d'hôtes ou de services. Je vaisdécrire la méthode que je crois être la plus simple. La supervision de clusters d'hôtes ou de servicesimpliquent deux choses :

– La supervision de chacun des éléments du cluster– La supervision du cluster comme une entité globale

Superviser les éléments constituant un cluster d'hôtes ou de services est plus facile que ce que vouspensez. En fait, vous le faîtes déjà sûrement. Pour les clusters de services, assurez-vous simplementde superviser chacun des éléments constituant le service en cluster. Si vous avez un cluster de cinqserveurs DNS, assurez-vous d'avoir cinq définitions de services séparées (probablement en utilisant

Page 303: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

276 / 379

le plugin check_dns). Pour un cluster d'hôtes, assurez-vous d'avoir configuré les définitions d'hôtesappropriées pour chacun des serveurs du cluster (vous aurez aussi à définir au minimum un servicepour chacun de ces hôtes).

ImportantVous souhaiterez certainement désactiver les notifications pour chacun des éléments formantle cluster (définitions d'hôtes et de services). Même si aucune notification n'est envoyée pourles éléments de façon individuelle, vous continuez à avoir une vue de chacun des hôtes etservices dans le status CGI. Cela sera utile pour détecter la source du problème à l'intérieurdu cluster dans le futur.

La supervision globale du cluster peut être faite en utilisant les précédents résultats mis en cache pourchacun des éléments du cluster. Même si vous pourriez déterminer le statut du cluster en recontrôlanttous les éléments du cluster, pourquoi consommer de la bande passante et des ressources alors quevous avez déjà les résultats en cache? Où sont les résultats mis en cache? Les résultats mis en cachepour chacun des éléments peuvent être trouvés dans le fichier de statut (en partant du principe quevous supervisez chaque élément). Le check_cluster est spécialement prévu pour contrôler les étatsd'hôtes et de services mis en cache dans le fichier de statut.

ImportantMême si vous n'avez pas activé les notifications individuellement pour chacun des élémentsdu cluster, vous souhaiterez les activer pour le contrôle du statut global du cluster.

46.3 Utilisation du plugin check_cluster

Le plugin check_cluster est étudié pour rapporter l'état général d'un cluster d'hôtes ou de servicesen contrôlant individuellement l'état de chacun des éléments composant le cluster.Plus à venir… Le plugin check_cluster peut être trouvé dans le répertoire contrib de la distributiondes 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 réseau.Premièrement, vous avez besoin de superviser chacun des trois serveurs DNS individuellement avantde pouvoir les superviser en tant que cluster. Je pars du principe que vous avez trois services séparés(tous appelés Service DNS )associés à vos hôtes DNS (appelés host1, host2 et host3).Pour pouvoir superviser ces services en tant que cluster, vous devez créer un nouveau service cluster.Cependant, avant de faire ça, assurez-vous d'avoir une commande de contrôle de cluster configurée.Partons du principe que vous avez la définition de commande check_cluster suivante :define command {

command_name check_service_clustercommand_line /usr/local/nagios/libexec/check_cluster --service -l $ARG1$ -w $ARG2$ - -

c $ARG3$ -d $ARG4$}

Maintenant, vous avez besoin de créer le service cluster et d'utiliser la check_service_cluster com-mande que vous venez juste de créer comme commande de contrôle de cluster. L'exemple suivant

Page 304: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

277 / 379

montre une mainère de faire ça. Cet exemple va générer une alerte CRITICAL si deux services aumoins du cluster sont dans un état non-OK et une alerte WARNING si un seul des services est dansun état non-OK. Si tous les services faisant parti du cluster sont OK, le contrôle 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 séparée par des virgules de macros on-demandd'état de services macros à la macro$ARG4$ dans la commande de contrôle de cluster. C'est important !Nagios va compléter ces macros on-demand avec l'ID (valeurs numériques plutôt que des chaînes decaractères) l'état courant de chacun des membres du cluster.

46.5 Supervision de clusters d'hôtes

La supervision des clusters d'hôtes est très similaire à celle pour les clusters de services. La principaledifférence est que les membres du cluster sont des hôtes et non des services. Pour pouvoir contrôlerl'état d'un cluster d'hôte, vous devez définir un service qui utilise le plugin check_cluster. Le servicene devrait être associé à aucun des hôtes du cluster car cela provoquerait des problèmes avec lesnotifications pour le cluster si cet hôte tombe. Une bonne idée peut être d'associer le service avecl'hôte sur lequel Nagios fonctionne. Après tout, si l'hôte sur lequel fonctionne Nagios tombe, Nagiosne fonctionne plus, il n'y a donc plus grand chose à faire (à moins d'avoir mis en place une redondancede vos serveurs de supervision )…Qu'importe, partons du principe que vous avez une check_host_cluster commande définie commesuit :define command {

command_name check_host_clustercommand_line /usr/local/nagios/libexec/check_cluster --host -l $ARG1$ -w $ARG2$ -c -

$ARG3$ -d $ARG4$}

Disons que vous avez trois hôtes dans le cluster d'hôtes (appelés host1, host2 et host3). Si vous voulezque Nagios génère une alerte warning si l'un des hôtes du cluster n'est pas UP et une alerte critical sideux sont non UP, la définition de servie à utiliser pour contrôler le cluster d'hôtes 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 séparée par des virgules de macros on-demandd'état d'hôtes macros à la macro $ARG4$ dans la commande de contrôle de cluster. C'est important !Nagios va compléter ces macros on-demand avec l'ID (valeurs numériques plutôt que des chaînes decaractères) l'état courant de chacun des membres du cluster.Voilà! Nagios va régulièrement contrôler l'état du cluster d'hôtes et vous envoyer des notificationsquand l'état de celui-ci est dégradé (en partant du principe que vous avez activé la notification pourle service). Notez que pour chacune des définitions individuelles d'hôtes appartenant au cluster, voussouhaiterez désactiver les notifications quand l'hôte tombe. Souvenez-vous que vous ne tenez pas

Page 305: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

278 / 379

tant que ça à l'état individuel de chacun des hôtres composant le cluster mais plutôt à l'état généralde cleui-ci. En fonction de la topologie de votre réseau et de ce que vous souhaitez accomplir, vouspourriez souhaiter conserver les notifications pour des hôtes inaccessibles dans les définitions d'hôtes.

Page 306: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

279 / 379

Chapitre 47

Dépendances d'hôtes et de services

47.1 Introduction

Les dépendances d'hôtes et de services sont une fonctionnalité avancée qui vous permet de contrôlerle comportement des hôtes et des services selon l'état d'un ou plusieurs autres hôtes ou services. Jevais expliquer comment les dépendances fonctionnent, ainsi que les différences entre les dépendancesd'hôtes ou de services.

47.2 Aperçu des dépendances de services

Il y a quelques points qu'il faut savoir concernant la dépendances de services :

1. Un service peut être dépendant d'un ou plusieurs autres services2. Un service peut être dépendant de services qui ne sont pas associés au même hôte3. Les dépendances de services ne se sont pas héritées (à moins que ce ne soit explicitement spé-cifié)

4. Les dépendances de services permettent de supprimer l'exécution de services et de notificationsde service selon différents critères (états OK, WARNING, UNKNOWN, et/ou CRITICAL)

5. Les dépendances d'un service ne sont seulement valables durant la période de temps spécifiée

47.3 Définition de dépendances de services

Tout d'abord, les bases. Vous créez des dépendances de service en ajoutant des définitions de dépen-dance de service dans votre (vos) fichier(s) de configuration des objets .Dans chaque définition, vousspécifiez le service dépendant, le service dont il dépend, et la condition (s'il y a lieu) qui provoquel'échec des dépendances d'exécution et de notification (ces notions sont décrites plus loin).Vous pouvez créer plusieurs dépendances pour un même service, mais il vous faut une définition dedépendance de service séparée pour chaque dépendance créée.

47.4 Exemple de dépendances de services

L'image suivante nousmontre un exemple d'une trame typique de notification de service et d'exécutionde ses dépendances. Différents services dépendent d'autres services pour que l'exécution des checkset des notifications se réalise.

Page 307: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

280 / 379

Dans l'exemple ci-dessus, les définitions de dépendance du Service F sur l'hôte C seraient écritescomme ceci :define servicedependency {

host_name Host Bservice_description Service Ddependent_host_name Host Cdependent_service_description Service Fexecution_failure_criteria onotification_failure_criteria w,u

}

define servicedependency {host_name Host Bservice_description Service Edependent_host_name Host Cdependent_service_description Service Fexecution_failure_criteria nnotification_failure_criteria w,u,c

}

define servicedependency {host_name Host Bservice_description Service Cdependent_host_name Host Cdependent_service_description Service Fexecution_failure_criteria wnotification_failure_criteria c

}

Les autres définitions de dépendances décrites dans l'image précédente s'écriraient comme suit :

Page 308: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

281 / 379

define servicedependency {host_name Host Aservice_description Service Adependent_host_name Host Bdependent_service_description Service Dexecution_failure_criteria unotification_failure_criteria n

}

define servicedependency {host_name Host Aservice_description Service Bdependent_host_name Host Bdependent_service_description Service Eexecution_failure_criteria w,unotification_failure_criteria c

}

define servicedependency {host_name Host Bservice_description Service Cdependent_host_name Host Bdependent_service_description Service Eexecution_failure_criteria nnotification_failure_criteria w,u,c

}

47.5 Comment les dépendances d'un service sont testées

Avant que Nagios n'exécute un contrôle de service ou n'envoie des notifications concernant un service,il vérifiera si le service comporte des dépendances. Si ce n'est pas le cas, le contrôle est exécuté ou lanotification est envoyée comme en temps normal. Si le service a bien une ou plusieurs dépendances,Nagios vérifiera chacune de la manière suivante :

1. Nagios récupère l'état courant* du service dont il dépend.2. Nagios compare l'état courant du service dont il dépend aux options d'échec soit d'exécution soitde notification dans la définition de dépendance (selon ce qui adapté).

3. Si l'état courant du service dont il dépend correspond à une des options d'échec, la dépendanceest réputée avoir échoué et Nagios sortira de la boucle de vérification des dépendances.

4. Si l'état courant du service dont il dépend ne correspond à aucune des options d'échec de ladépendance, la dépendance est réputée avoir réussi et Nagios continuera avec la prochainedépendance.

Ce cycle continue jusqu'à ce que toutes les dépendances du service aient été vérifiées, ou jusqu'à cequ'une dépendance échoue.

Note*Il est important de noter que par défaut, Nagios utilisera l'état hard courant du (des) service(s) dontil dépend lors de ses vérifications de dépendance. Si vous voulez que Nagios utilise l'état le plusrécent des services (que ce soit un état soft ou hard), activez l'option soft_state_dependencies .

Page 309: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

282 / 379

47.6 Dépendances d'exécution

Les dépendances d'exécution permettent de limiter les vérifications de service actives .Les vérifica-tions de service passives ne sont pas affectées par les dépendances d'exécution.Si tous les tests de dépendance d'exécution du service réussissent, Nagios exécute le contrôle duservice comme à l'accoutumée. Si ne serait-ce qu'une dépendance d'exécution du service échoue,Nagios arrêtera temporairement l'exécution des contrôles pour ce service (dépendant). Par la suite, lestests des dépendances d'exécution du service vont réussir. Alors, Nagios recommencera les contrôlesde ce service de manière normale. Pour plus d'informations sur l'algorithme d'ordonnancement descontrôles , lisez ceci.Dans l'exemple ci-dessus, les dépendances d'exécution du Service E échoueraient si le Service B estdans un état WARNING ou UNKNOWN. Si c'était le cas, le contrôle de service ne serait pas réalisé etserait ordonnancé pour une future exécution (potentielle).

47.7 Dépendances de notification

Si tous les tests de dépendance de notification du service réussissent, Nagios enverra les notificationspour ce service comme à l'accoutumée. Si, ne serait-ce qu'une dépendance de notification du serviceéchoue, Nagios arrêtera temporairement l'émission de notifications pour ce service (dépendant). Plustard, les tests des dépendances de notifications du service vont réussir. Alors, Nagios recommenceraà envoyer des notifications pour ce service de manière normale. Pour plus d'informations sur l'algo-rithme de notification, lisez ceci.Dans l'exemple ci-dessus, les dépendances de notification du Service F échoueraient si le Service Cest dans un état CRITICAL, et/ou si le Service D est dans un état WARNING ou UNKNOWN, et/ou sile Service E est dans un état WARNING, UNKNOWN, ou CRITICAL. Si c'était le cas, les notificationspour ce service ne seraient pas envoyées.

47.8 Héritage de dépendance

Comme je l'ai déjà dit, par défaut les dépendances de service ne sont pas héritées. Dans l'exempleci-dessus, vous pouvez voir que le Service F est dépendant du Service E. Toutefois, il n'hérite pasautomatiquement des dépendances du Service E sur le Service B et le Service C. Pour rendre leService F dépendant du Service C, nous avons dû ajouter une autre définition de dépendance. Il n'y apas de définition de dépendance pour le Service B, donc le Service F n'est pas dépendant du ServiceB.Si vous voulez rendre les dépendances de service héritables, utilisez le paramètre inherits_parent dansla définition de la dépendance du service .Quand ce paramètre est activé, il indique que la dépendancehérite des dépendances du service dont elle dépend (également appelé le service maître). En d'autrestermes, si le service maître dépend d'autres services et qu'une de ces dépendances est en échec, ladépendance sera aussi en échec.Dans l'exemple ci-dessus, imaginez que vous vouliez ajouter une nouvelle dépendance au service Fqui le rende dépendant du service A. Vous pourriez créer une nouvelle définition de dépendance quiindique le service F comme le service dépendant et le service A comme le service maître (c'est-à-direle service dont il est dépendant). Vous pourriez également modifier la définition de dépendance desservices D et F de la manière suivante :define servicedependency {

host_name Host Bservice_description Service Ddependent_host_name Host C

Page 310: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

283 / 379

dependent_service_description Service Fexecution_failure_criteria onotification_failure_criteria ninherits_parent 1

}

Comme le paramètre inherits_parent est activé, la dépendance entre les services A et D sera testéequand la dépendance entre les services F et D le sera.Les dépendances peuvent avoir de multiples niveaux d'héritage. Si la définition de dépendance entreA et D avait le paramètre inherits_parent activé, et que le service A était dépendant d'un autre service(appelons-le service G), le service F serait dépendant des services D, A, et G (et le serait potentielle-ment avec chacun selon des critères différents).

47.9 Dépendances d'hôtes

Comme vous vous y attendez probablement, les dépendances d'hôtes fonctionnent d'une manièresimilaire à celles de services. La principale différence est que ce sont des hôtes et pas des services.Une autre différence est que la dépendance d'hôte ne sert qu'à supprimer des notifications d'hôtes etnon pas des controles d'hôtes.

ASTUCEATTENTION ! Ne confondez pas les dépendance d'hôtes avec les relations parent/enfant. Vous utilis-erez les relations parent/enfant (définies avec le paramètre parents dans la définition d'hôte) dansla plupart des cas, plutôt que des dépendances d'hôtes.

Les bases de ce qu'il faut savoir sur les dépendances d'hôtes :1. Un hôte peut dépendre d'un ou pusieurs hôtes2. Les dépendances d'hôtes ne se sont pas héritées (à moins que ce ne soit explicitement spécifié)3. Les dépendances d'hôtes peuvent désactiver l'éxécution des vérifications et notifications danscertains circonstances (état UP, DOWN, et/ou UNREACHABLE)

4. Les dépendances d'un hôte ne sont seulement valable durant la période de temps spécifiée

47.10 Exemple de dépendances d'hôtes

L'image suivante nous montre une trame de l'acheminement logique des dépendances de notificationsd'hôtes.

Page 311: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

284 / 379

Dans l'image ci-dessus, les définitions de dépendances pour l'hôte C devraient être définies ainsi :define hostdependency {

host_name Host Adependent_host_name Host Cnotification_failure_criteria d

}

define hostdependency {host_name Host Bdependent_host_name Host Cnotification_failure_criteria d,u

}

Comme pour les dépendances de services, les dépendances d'hôtes ne sont pas héritées. Dans l'ex-emple de cette image, vous pouvez voir que l'hôte C n'hérite pas des dépendances de l'hôte B. Pourque C soit dépendant de A, une autre définition d'hôte doit être précisée.Les dépendances de notifications d'hôtes marchent d'une manière similaire à celles de services. Sitoutes les notifications de dépendance d'un hôte réussissent, Nagios enverra les notifications comme àl'accoutumée. Si ne serait-ce qu'une de ces dépendances échoue, Nagios supprimera temporairementtoutes les notifications pour cet hôte (dépendant). Par la suite, les dépendances réussiront à nouveau.Nagios recommencera alors à envoyer les notifications de manière habituelle. Vous trouverez ici plusd'informations sur la l'algorithme de notification.

Page 312: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

285 / 379

Chapitre 48

Suivi précis des changements d'état

48.1 Introduction

Le suivi précis des changements d'état est une fonctionnalité qui ne sera probablement pas utiliséepar beaucoup d'entre vous. Quand elle est activée, elle permet d'enregistrer des changements dans lecontrôle d'un service ou d'un hôte, même si l'état de celui-ci ne change pas. Nagios va alors surveillerplus particulièrement ce service ou cet hôte et enregistrer tout changement. Comme vous allez leconstater, ceci peut être très utile plus tard, lors d'une analyse de vos fichiers de logs.

48.2 Principe de fonctionnement

Dans des conditions de fonctionnement normales, le résultat de la surveillance d'un hôte ou d'un ser-vice n'est enregistré que lorsqu'il a changé d'état depuis le dernier contrôle. Il y a quelques exceptionsà cette règle, mais c'est comme cela que cela se passe la plupart du temps.Si vous activez le suivi précis des changements d'état pour un ou plusieurs états d'un hôte ou d'unservice en particulier, Nagios enregistrera dans ses journaux toute différence entre le contrôle actuelet le précédent. Examinez l'exemple suivant, sur 8 tests consécutifs d'un service :

Contrôle duService # :

État duService :

Message desortie deContrôle :

Journalisénormalement

Journalisé avecle suivi précisdeschangementsd'état

x OK grappe RAIDoptimale - -

x+1 OK grappe RAIDoptimale - -

x+2 WARNING

Grappe RAIDdégradée (1disque horsd'usage, 1 disquede secours encours dereconstruction)

Page 313: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

286 / 379

Contrôle duService # :

État duService :

Message desortie deContrôle :

Journalisénormalement

Journalisé avecle suivi précisdeschangementsd'état

x+3 CRITICAL

Grappe RAIDdégradée (2disques horsd'usage, 1disque desecours mis enligne, 1 disquede secours encours dereconstruction)

x+4 CRITICAL

Grappe RAIDdégradée (3disque horsd'usage, 2 disquede secours misen ligne)

-

x+5 CRITICAL Grappe RAIDhors d'usage -

x+6 CRITICAL Grappe RAIDhors d'usage - -

x+7 CRITICAL Grappe RAIDhors d'usage - -

Vu cette séquence de contrôles, vous devriez seulement voir deux entrées dans vos journaux, concer-nant cette catastrophe. La première arrivera à X+2 quand le service basculera de l'état OK à l'étatWARNING. Le deuxième 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 accidentdans 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 précis avait été activé pour les états CRITICAL, les états x+4 et x+5 auraient étéenregistrés en plus de x+2 et x+3. Pourquoi ? parce que dans ce cas-là, Nagios aurait examiné lesmessage émis pour vérifier s'ils différaient des précédents. Si le message émis change alors que l'étatne change pas, le message sera quand même enregistré.Un exemple similaire peut être donné avec un service qui contrôle un serveur web. Si le plugincheck_http retourne d'abord un WARNING sur une erreur 404, puis ensuite des WARNING à caused'une suite de caractères manquants sur la page, vous pouvez avoir envie de le savoir. Si vous n'avezpas activé le suivi précis, seul le premier WARNING (celui de l'erreur 404) sera enregistré dans leslogs et vous n'aurez aucune idée (en analysant les logs archivés) que les WARNING suivants ne sontpas dûs à une erreur 404, mais plutôt à une suite de caractères manquants de la page web retournée.

48.3 Dois-je activer le suivi précis?

Tout d'abord, vous devez décider si vous avez réellement besoin d'examiner vos logs pour trouverla cause d'un problème. Vous pouvez décider d'activer le suivi précis des changements d'état pourquelques services ou hôtes, mais pas pour tous. Vous pouvez aussi décider que vous ne surveillerez

Page 314: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

287 / 379

que quelques états d'hôtes ou de services, mais pas tous. Par exemple, surveiller les états WARNINGet CRITICAL d'un service, et pas les états OK ou UNKNOWN.La décision d'activer le suivi précis des changements d'état dépend principalement du plugin que vousallez utiliser pour contrôler cet hôte ou service. Si le plugin retourne toujours le même texte/messagepour un état particulier, il n'y a aucune raison d'activer ce type de suivi.

48.4 Comment activer le suivi précis des changements d'état?

Vous pouvez activer le suivi précis des services et des hôtes en utilisant le paramètre stalking_opt-ions dans les définitions d'hôtes et de services .

48.5 Différences entre services volatiles et suivi précis?

Les services volatiles sont similaires, mais provoqueront les envois de notifications et les déclenche-ments d'actions sur événements. Le suivi précis des changements d'état ne sert que pour la journali-sation.

48.6 Inconvénients

Vous devez être conscients du fait qu'activer ce type de suivi amène quelques inconvénients. Ils sontrelatifs aux fonctions d'enregistrement trouvées dans les différents CGIs (histogramme, résumé desalertes, etc.). Comme le suivi précis va apporter des entrées supplémentaires dans les journaux, lesdonnées retournées montreront un accroissement sensible du nombre d'alertes.D'une manière générale, je vous conseille de ne pas activer le suivi précis sans avoir mené auparavantune réflexion profonde sur le sujet. Mais, bien entendu, c'est là pour servir si vous en avez besoin.

Page 315: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

288 / 379

Chapitre 49

Données de performance

49.1 Introduction

Nagios est conçu pour permettre aux plugins de retourner des données de performance en plus desdonnées normales de statut, ce qui vous permet ainsi de tranférer ces données de performancesvers une application externe pour y être traitées. Une description des différents type de données deperformance, ainsi que des informations sur la façon de traiter ces données sont décrites ci-dessous…

49.2 Les types de données de performance

Il existe deux catégories de base de données de performance qui peuvent être obtenues à partir deNagios :

1. Les données de performance relatives au contrôle2. Les données de performance relatives au plugin

Les données de performance relatives à un contrôle sont des données internes relatives à l'exécu-tion courante d'un contrôle de l'hôte ou du service. Cela peut comprendre des choses comme lalatence d'un contrôle de service (par exemple combien de retard a un contrôle de service par rap-port à l'horaire planifié d'exécution) et le nombre de secondes qu'il aura fallut pour exécuter uncontrôle d'hôte ou des service. Ce type de données de performance sont valables pour tous les con-trôles qui sont effectués. Les macros $HOSTEXECUTIONTIME$Macros$HOSTEXECUTIONTIME$ et$SERVICEEXECUTIONTIME$Macros$SERVICEEXECUTIONTIME$ peuvent être utilisées pour de-terminer le nombre de secondes qu'aura duré un contrôle d'hôte ou de service et les macros $HOST-LATENCY$Macros$HOSTLATENCY$ et $SERVICELATENCY$Macros$SERVICELATENCY$ peuventêtre utilisées afin de derterminer le "retard" que pourrait avoir un contrôle régulier d'un hôte ou d'unservice.Les données de performance d'un plugin sont des données spécifiques au plugin utilisé pour con-trôler l'hôte ou le service. Les données spécifiques d'un plugin peuvent contenir des choses commele pourcentage de paquets perdus, l'espace disque restant, la charge processeur, le nombre d'utilisa-teurs connectés, etc. - en fait, tout type de données que le plugin contrôle quand il est exécuté. Lesdonnées de performance spécifiques au plugin sont facultatives et ne sont pas forcement disponiblesavec tous les plugins. Les données de performances spécifiques au plugin (si disponibles) peuvent êtreobtenues en utilisant les macros $HOSTPERFDATA$Macros$HOSTPERFDATA$ et $SERVICEPERF-DATA$Macros$SERVICEPERFDATA$. Lire la suite pour plus d'informations sur la façon dont les plu-gins peuvent retourner les données de performance à Nagios afin de les stocker dans les macros$HOSTPERFDATA$ and $SERVICEPERFDATA$.

Page 316: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

289 / 379

49.3 Les données de performance relatives au plugin

Au minimum, les plugins Nagios doivent au moins retourner une simple ligne de texte compréhensiblepar l'utilisateur lambda qui indique l'état de certains types de données mesurables. Par exemple, leplugin 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 entière est disponible dans les macros $HOSTOUTPUT$ ou $SER-VICEOUTPUT$ (Cela dépend si le pllugin est utilisé pour le contrôle d'un hôte ou d'un service).Les plugins peuvent renvoyer des données de performance dans leur message normal de sortie, untexte clair (lisible par l'homme) habituellement suivi du caractère 'pipe' (|), et d'une chaîne contenantune ou plusieurs données de performance. Prenons le plugin check_ping comme exemple et sup-posons qu'il a été configuré pour retourner le pourcentage de paquets perdus et la moyenne desaller-retour comme données 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 endeux parties :

1. Tout ce qui est situé avant le caratère 'pipe' ( | ) est considéré comme le message de sortie normaldu plugin et sera alors stocké selon le cas dans les macros $HOSTOUTPUT$ ou $SERVICEOUTPUT$

2. Tout ce qui est situé après le caractère 'pipe' ( | ) est considéré comme étant les données deperformance du plugin et seront stockées selon le cas dans les macros $HOSTPERFDATA$ ou $SE-RVICEPERFDATA$

Dans l'exemple ci-dessus, la macro $HOSTOUTPUT$ ou $SERVICEOUTPUT$ contiendraPING ok - Packet loss = 0%, RTA = 0.80 ms

(sans les guillemets) et la macro $HOSTPERFDATA$ ou $SERVICEPERFDATA$ contiendrapercent_packet_loss=0, rta=0.80

(sans les guillemets).Plusieurs lignes de données de performance (comme pour le texte normal de sortie) peuvent êtretransmises par les plugins, comme décrit dans la documentation sur les !! FIXME!! APIAPIs des plu-gins .

NoteLe démon Nagios ne traite pas directement les données de performance des plugins, du coup il nesait pas vraiment à quoi elles ressemblent. Il n'y a pas vraiment de limites inhérentes au format ouau contenu des données de performance. Toutefois, si vous utilisez un module externe pour traiterles données de performance (par exemple PerfParse), le module attend que le plugin renvoie lesdonnées de performance dans un format spécifique. Vérifiez la documentation du module pour plusd'information.

49.4 Traiter les données de performance

Si vous voulez traiter les données de performance disponible dans Nagios au travers des plugins, vousdevez configurer ce qui suit :

Page 317: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

290 / 379

1. Activer l'option process_performance_data2. Configurer Nagios pour que les données de performance soient écrites dans des fichiers et/outraitées directement en exécutant des commandes.

Lire la suite pour plus d'informations sur la façon de traiter les données de performance en les écrivantdes des fichiers ou en exécutant des commandes.

49.5 Commandes pour traiter les données de performance

Le moyen le plus souple pour traiter les données de performance est de faire exécuter à Nagiosdes commandes (que vous avez spécifié) pour traiter ou rediriger les données pour un traitementultérieur par des applications externes. Les commandes que Nagios exécute pour traiter les donnéesde performances sont définies par les options host_perfdata_command et service_perfdata_comm-and , respectivement.Un exemple de définition de commande qui redirige les données de performance dans un fichier textepour un traitement ultérieur par une autre application est montré ci-dessous:define command{

command_name    store-service-perfdatacommand_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

}

ASTUCECette méthode, bien que souple, est synonyme d'un niveau relativement élevé en terme de chargedu CPU. Si vous traitez les données de performance d'un grand nombre de serveurs et de services,vous voudriez probablement que Nagios écrive les données de performance dans des fichiers à laplace. Cette méthode est décrite dans la section suivante.

49.6 Écrire les données de performances dans des fichiers

Vous pouvez faire en sorte que Nagios écrive toutes les données de performances des hôtes et desservices directement dans un fichier texte en utilisant les options host_perfdata_file et service-_perfdata_file . Le format dans lequel les données de performance des hôtes et des services serontécrites est défini dans les options host_perfdata_file_template et service_perfdata_file_tem-plate .Un exemple de format de modèle pour les données 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 défaut, les fichiers texte seront ouverts en mode append. Si vous avez besoin de changer les modesen write ou non-blocking read/write (utile lors d'écriture via 'pipe'), vous pouvez utiliser les optionshost_perfdata_file_mode et service_perfdata_file_mode .En outre, vous pouvez avoir Nagios qui exécute périodiquement des commandes traite périodiquementles fichiers de données de performance (par exemple à tour de rôle) en utilisant les options host_p-erfdata_file_processing_command et service_perfdata_file_processing_command . L'intervalleà laquelle ces commandes sont exécutées sont régies par les options host_perfdata_file_process-ing_interval et service_perfdata_file_processing_interval , respectivement.

Page 318: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

291 / 379

Chapitre 50

Période de maintenance planifiée

50.1 Introduction

Nagios vous permet de planifier des periodesde maintenance programmée pour les hôtes et les services que vous monitorez. C'est pratique dansle cas où vous allez arrêter des serveurs pour une mise à jour, etc.

50.2 Programmer une maintenance

Vous pouvez programmer des maintenances pour les hôtes et services à travers le CGI extinfo ( enregardant soit les informations de l'hôtes ou du service). Cliquez sur le lien Schedule downtime forthis host/service pour programmer une maintenance.Lorsque vous programmez une maintenance pour un hôte ou un service, Nagios ajoutera un commen-taire à cet l'hôte/service pour indiquer qu'il est programmé en maintenance pour la période que vousavez définie. Quand cette période est écoulée, Nagios va automatiquement supprimer ce commen-taire. Pas mal, hein ?

Page 319: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

292 / 379

50.3 Maintenance fixe ou flexible

Quand vous programmerez une maintenance pour un hôte ou un service à travers l'interface web, ilvous sera demandé si la maintenance est fixe ou flexible. Voilà une explication sur les différence entreles maintenances fixes et flexibles :les maintenances fixes commencent et finissent à l'heure exacte de début et de fin que vous avezprogrammées. Bon, ça c'était facile…Lamaintenance Flexible est utilisés pour les périodes où vous savez que l'hôte ou le service sera arrêtépour X minutes (ou heures), mais vous ne savez pas exactement quand celà commencera. Quand vousprogrammez une maintenance flexible, Nagios va commencer la maintenance programmée dans l'in-tervalle de debut et de fin que vous avez programmé. La maintenance va durer aussi longtemps que ladurée que vous avez spécifié quand vous avez programmé la maintenance. Celà implique que l'hôte oule service sur lequel vous avez programmé une maintenance se coupera (ou deviendra unreachable),ou passe par un état non-OK entre les date de début et de fin que vous avez spécifié. Le moment oùl'hôte ou le service passe dans un état de problème détermine l'heure à laquelle Nagios commenceraeffectivement la maintenance. La maitenance durera pour le temps que vous avez spécifié, même sil'hôte ou le service est remonté avant que la durée de maintenance expire. Celà est fait pour unebonne raison. Comme vous le savez, vous pouvez penser que vous avez réglé le problème, mais quandvous à redémarrer le serveur 10 fois avant qu'il marche de nouveau correctement. Intelligent n'est-cepas !

50.4 Maintenance déclenchée

Quand vous programmez une maintenance pour un hôte ou un service, vous avez le choix de faire unemaintenance triggered. Vous vous demandez ce qu'est une maintenance déclenchée (triggered). Avecdes maintenances déclenchées, le début d'une maintenance est déclenchée par le début d'une autremaintenance d'un hôte ou d'un service. C'est extrêmement utile si vous programmez une maintenancepour un grand nombre d'hôtes ou de services et que le début de la période de maintenance dépend dudébut d'une autremaintenance. Par exemple, vous programmez unemaintenance flexible pour un hôteparticulier (parce que vous aller l'arrêter pour une mise à jour), vous voulez peut-être programmerune maintenance déclanchée pour tous les hôtes "fils"

50.5 Comment les maintenances programmées affectent lesnotifications

Quand un hôte ou un service est dans une période de maintenance programmée, Nagios n'autoriserapas l'envoi de notifcations pour cet hôte ou service. Cependant une notification de DOWNTIMESTARTsera envoyée pour cet hôte ou service, qui sert à indiquer aux administrateurs qu'ils ne receverontplus d'alerte pour cet hôte/service.Quand une maintenance programmée est terminée, Nagios va autoriser de nouveau l'envoi des no-tifications pour l'hôte ou le service.. Une notification de DOWNTIMEEND sera envoyée pour notifieraux adiminstrateurs que la maintenance programmée est terminée, et qu'ils receveront les alertes denouveau.Si une maintenance programmée est annulée prématurément (avant qu'elle expire) une notificationde DOWNTIMECANCELLED sera envoyée aux administrateurs concernés.

Page 320: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

293 / 379

50.6 Maintenances programmées qui se superposent

Je préfère appeller ça le syndrome du Oh merde, ça ne marche pas. Vous savez de quoi je parle. Vousarrêtez un serveur pour faire une mise à jour de routine, et vous vous rendez compte plus tard que lespilotes de l'OS ne fonctionnent pas, que les RAID array ont explosés ou que l'image disque à échouéeet que vous avez un disque inutile. La morale de l'histoire est qu'une opération de routine peut parfoisprendre trois à quatre fois plus de temps que vous n'aviez prévu.Regardons le scénario suivant :1. Vous programmez une maintenance pour l'hôte A de 719h30 à 21h30 un lundi2. Vous arrêtez le serveur à 19h45 lundi soir pour commencer une mise à jour du disque dur3. Après avoir perdu une heure et demi à vous battre avec des erreurs SCSI et des incomptibilitésde pilotes, vous relancez finalement la machine.

4. À 21h15, vous vous rendez compte qu'une de vos partitions a été cachée, soit ne semble plusexister sur le disque.

5. Sachant que vous y êtes pour une longue nuit, vous revenez et vous programmez unemaintenanceadditionnelle pour l'hôte A de 21h20 le lundi soir à 1h30 le mardi matin.

Si vous programmez des périodes de maintenance qui se superposent pour un hôte ou un service(Dans notre cas les periodes étaient de 19h45 à 21h30 et de 21h20 à 1h30 du matin), Nagios attendrajusqu'à la fin de la dernière période avant d'autoriser de nouveau l'envoi des notifications pour cethôte ou service. Dans cet exemple, les notifications ont été supprimées pour l'hôte A jusqu'à mardimatin 1h30.

Page 321: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

294 / 379

Chapitre 51

Utilisation de l'interpréteur Perl in-tégré

51.1 Introduction

Nagios peut être compilé avec le support d'un interpréteur Perl intégré. Cela permet à Nagios depouvoir exécuter les plugins Perl de façon beaucoup plus efficace, aussi est-il possible que cela puisseprésenter un intérêt pour vous si vous dépendez beaucoup de plugins écrits en Perl.

Page 322: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

295 / 379

Sans l'interpréteur Perl intégré, Nagios exécute les plugins Perl (et non Perl) en créant un sous-processus [fork] pour lancer les plugins comme commande externe. Quand l'interpréteur Perl intégréest utilisé, Nagios peut simplement exécuter les plugins Perl en faisant un simple appel à la librairie.

ASTUCEL'interpréteur Perl intégré fonctionne avec n'importe quel script Perl que nagios est capable d'exé-cuter - pas seulement les plugins. Cette documentation décrit l'interpréteur Perl intégré en relationavec les plugins utilisés pour les contrôles d'hôtes et de services, mais ceci s'applique aux autrestypes de scripts Perl que vous pourriez utiliser pour les autres types de commandes (ex scripts denotifications, scripts de gestion d'événements, etc.).

Stephen Davies a été le premier contributeur du code de l'interpéteur Perl intégré il y a plusieursannées. Stanley Hopcroft a été la première personne impliquée à améliorer le code de l'interpréteurPerl intégré et a commenté les avantages et inconvébients de son utilisation. Il a également donnéplusieurs indices utiles pour écrire des plugins Perl qui fonctionnent correctement avec l'interpréteurintégré.Notez que ePN, tel qu'il est utilisé dans cette documentation, fait référence à l'interpréteur Perl inté-gré à Nagios [embedded Perl Nagios], ou si vous préférez, Nagios compilé avec un interpréteur Perlintégré.

51.2 Avantages

Parmi les avantages de ePN [embedded Perl Nagios] on compte :– Nagios passera beaucoup moins de temps à exécuter vos plugins Perl car il n'a plus besoin de créerun sous-processus [fork] pour lancer le plugin (en chargeant à chaque fois l'interpréteur Perl). Ilexécute maintenant votre plugin grâce à un appel de librairie.

– Il réduit grandement l'impact sur le système des plugins Perl et/ou vous permet de lancer plusde contrôles 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 sontgénéralement considérés comme ayant un cycle de développement plus long que Perl (même s'ilstournent a peu près dix fois plus vite — TCL étant une exception).

– Si vous n'êtes pas un développeur C, vous pouvez quandmême faire beaucoup de choses avec Nagiosen laissant Perl faire le gros du travail, sans que Nagios ne soit trop ralenti. Ceci dit, notez que ePNn'accélèrera pas votre plugin (une fois ôté le temps de chargement de l'interpréteur). Si vous voulezdes plugins plus rapides, alors tournez-vous vers les XSUB Perl (XS), ou C après vous être assuréque votre Perl est propre et que votre algorithme est correct (l'apport de Benchmark.pm n'a pas deprix pour comparer les performances des éléments de langage Perl).

– L'utilisation de ePN est un excellent moyen d'en apprendre plus sur Perl.

51.3 Inconvénients

Les inconvénients de ePN [embedded Perl Nagios] ressemblent beaucoup à ceux du mod_perl d'A-pache (i.e. Apache avec un interpréteur Perl intégré) par rapport à l'Apache standard :

– Un programme Perl qui fonctionne parfaitement avec Nagios standard peut ne pas fonctionner avecePN. Il vous faudra peut-être modifier vos plugins pour qu'ils tournent.

– Les plugins Perl sont plus difficiles à déboguer sous ePN qu'avec un Nagios standard.– Votre ePN aura une plus grande taille (empreinte mémoire) qu'un Nagios standard.

Page 323: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

296 / 379

– Certaines constructions [constructs] Perl ne peuvent pas être utilisées, ou peuvent se comporterdifféremment de ce à quoi vous vous attendiez.

– Il vous faudra connaître plus d'une façon de le faire, et peut-être choisir celle qui semble la moinsattirante ou évidente.

– Il vous faudra une meilleure connaissance de Perl (mais rien de bien ésotérique ou concernant lastructure interne de Perl — sauf si vous utilisez les XSUBS).

51.4 Utilisation de l'interpréteur Perl intégré

Si vous souhaitez utiliser l'interpréteur Perl intégré pour lancer vos plugins et scripts Perl, voici ceque vous aurez besoin de faire :

1. Compiler Nagios avec le support de l'interpréteur Perl intégré (voir instructions ci-dessous).2. Activer l'option enable_embedded_perl dans le fichier principal de configuration.3. Réglez l'option use_embedded_perl_implicitly en fonction de vos besoins. Cette option déter-mine si l'interpréteur Perl intégré doit être utilisé ou pas par défaut pour les plugins et scriptsPerl.

4. Activer ou désactiver de façon optionnelle les plugins et scripts Perl pour ne pas être utilisésvia l'interpréteur Perl intégré. Cela peut ête utile si certains scripts Perl posent problème enfonctionnant avec l'interpréteur Perl. Lisez les instructions ci-dessous pour savoir comment faire.

51.5 Compilation de Nagios avec l'interpréteur Perl intégré

Si vous voulez compiler Nagios avec l'interpréteur Perl intégré il vous faut relancer le script de config-uration (configure) avec le paramètre --enable-embedded-perl. Si vous voulez que l'interpréteurPerl intégré utilise un cache interne pour les scripts compilés, ajoutez également le paramètre --wi-th-perlcache. Par exemple :

# ./configure --enable-embedded-perl --with-perlcache …otheroptions

Une fois que vous avez relancé le script de configuration avec les nouvelles options, n'oubliez pas derecompiler Nagios.

51.6 Utilisation spécifique de l'interpréteur Perl par plugin

À partir de Nagios 3, vous pouvez préciser quels scripts ou plugins Perl devront ou non être lancés enutilisant l'interpréteur Perl intégré. Ceci est particulièrement utile si vous avez des problèmes à fairefonctionner des scripts Perl avec l'interpréteur Perl.Pour préciser de façon explicite à Nagios d'utiliser ou pas l'interpréteur Perl intégré pour un scriptPerl particulier, ajoutez une des entrées suivantes dans votre script/plugin Perl…Pour indiquer à Nagios d'utiliser l'interpréteur Perl pour un script particulier, ajoutez cette ligne auscript Perl :# nagios: +epn

Pour indiquer à Nagios de ne PAS utiliser l'interpréteur Perl pour un script particulier, ajoutez cetteligne au script Perl :# nagios: -epn

Page 324: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

297 / 379

Chacune de ces lignes doit être présente dans les 10 premières lignes du script pour que Nagiospuisse la détecter.

ASTUCESi vous n'utilisez pas explicitement la méthode précédente pour indiquer à Nagios qu'un plugin peutêtre lancé par l'interpréteur Perl, Nagios prendra la décision pour vous. Ce processus de décisionest contrôlé par la variable use_embedded_perl_implicitly . Avec une valeur fixée à 1, tous lesplugins/scripts Perl (tous ceux qui n'activent/désactivent pas explicitement ePN) seront lancés parl'interpréteur Perl. Avec une valeur fixée à 0, ils ne seront PAS lancés par l'interpréteur Perl.

51.7 Développement de plugins pour être utilisés avec Perl in-tégré à Nagios

Les informations pour développer des plugins utilisant l'interpréteur Perl intégré peuvent être trou-vées ici.

Page 325: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

298 / 379

Chapitre 52

Supervision adaptative

52.1 Introduction

Nagios vous permet de modifier certains attributs de check des commandes, hôtes et services à l'exé-cution. Je ferai référence à cette fonctionnalité comme monitoring adaptif. Veuillez noter que la fonc-tionnalité demonitoring adaptif présente dans nagios ne sera pas vraiment utile à 99%des utilisateurs,mais elle vous permet de réaliser des choses assez élégantes.

52.2 Qu'est ce qui peut être modifié?

Les attributs de check de services suivant peuvent être modifiés à l'exécution :

– Commandes de check (et arguments de commandes)– Intervalles de check– Nombre maximal de tentative de check– Période de contrôle– Commande de gestionnaire d'évennement (et arguments de commande)

Les attributs de check d'hôtes suivants peuvent être modifiés pendant l'exécution :

– Commandes de check (et arguments de commandes)– Intervalles de check– Nombre maximal de tentative de check– Période de contrôle– Commande de gestionnaire d'évennement (et arguments de commande)

Les attributs globaux suivants peuvent être modifiés à l'exécution :– Commandes globales de gestionnaire d'évènnement d'hôtes (et argumments de commande)– Commandes globales de gestionnaire d'évènnement de services (et argumments de commande)

Page 326: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

299 / 379

52.3 Commandes externes pour le monitoring adaptif

Afin demodifier les atributs spécifiques d'hôtes ou de services pendant l'exécution, vous devez soumet-tre à Nagios la commande externe appropriée via le fichier de commandes externes. Le tableau ci-dessous répertorie les différents attributs qui peuvent être modifiés en cours d'exécution, accompagnéde la commande externe pour accomplir le travail.Une liste complète de commandes externes qui peuvent être utilisées pour le contrôle adaptatif(avec des exemples d'utilisation) est disponible en ligne à l'adresse suivante : http://www.nagios.org/-developerinfo/externalcommands/

Note– Lorsque les commandes de contrôles [check command] ou de gestionnaires d'événements [eventhandler] sont modifiées, il est important de noter que ces commandes doivent avoir été configuréesen utilisant des définitions de commande avant que Nagios n'ait été démarré. Si une commandenon configurée est entrée, elle sera ignorée.

– Vous pouvez spécifier les arguments de commande avec le nom de la commande - séparrez justeles différents arguments du nom de commande (des autres arguments) à l'aide du caractère bang( !). Des informations supplémentaires sur la façon dont sont traités les arguments dans la définitiondes commandes durant l'exécution peuvent être trouvés dans la documentation des macros.

Page 327: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

300 / 379

Chapitre 53

Contrôles prédictifs de dépendances

53.1 Introduction

Les dépendances d'hôtes et de services peuvent vous permettre un plus grand contrôle du momentde déclenchement des contrôles et du moment d'envoi des notifications. Comme les dépendancessont utilisées pour contrôler plusieurs aspects du processus de supervision, il est crucial que lesinformations d'états utilisées dans la logique de dépendances soient le plus à jour possible.Nagios vous permet d'activer les contrôles prédictifs de dépendances pour les hôtes et services defaçon à s'assurer que la logique de dépendance aura les informations d'états les plus récentes quandil s'agira de prendre des décisions sur le fait d'envoyer ou non des notifications ou d'autoriser lescontrôles actifs d'un hôte ou d'un service.

53.2 Comment fonctionnent les contrôles prédictifs ?

L'image ci-dessous présente un diagramme simple d'hôtes supervisés par Nagios ainsi que les rela-tions parents/enfants et les dépendances.L'hôte Switch2 dans cet exemple vient juste de changer d'état de UP vers un état problématique.Nagios a besoin de déterminer si l'hôte est DOWN ou UNREACHABLE. Il va donc lancer des contrôlesparallèles des hôtes parents (Firewall1) et enfants (Comp1, Comp2, and Switch3) de Switch2. C'estle fonctionnement normal de la logique d'accessibilité des hôtes.Vous noterez que Switch2 est dépendant de Monitor1 et de File1 pour les notifications et les contrôles(ce qui n'est pas important dans cet exemple). Si les contrôles prédictifs d'hôtes sont activés, Nagiosva lancer des contrôles parallèles de Monitor1 et File1 au même moment qu'il lancera des contrôlessur les parents et enfants directs de Switch2. Nagios le fait parce qu'il sait qu'il va avoir à tester lalogique de dépendances dans un futur proche (par exemple pour des besoins de notifications) et ilveut être sûr d'avoir l'état le plus récent possible des hôtes qui prennent part dans cette logique dedépendances.

Page 328: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

301 / 379

C'est comme ça que fonctionne les contrôles prédictifs de dépendances. Plutôt simple, non?

NoteLes contrôles prédictifs de dépendances de services fonctionnent de façon identique à ce qui décritci-dessus. Excepté bien sûr qu'ils travaillent sur les services et non les hôtes.

53.3 Activation des contrôles prédictifs

Les contrôles prédictifs de dépendances n'induisent que peu de charge supplementaire, aussi jerecommande que vous les activiez. Dans la plupart des cas, les bénéfices d'avoir des informationsexactes pour les logique de dépendances contre-balance la charge supplémentaire imposée par cescontrôles.Il est simple d'activer les contrôles prédictifs :– Les contrôles prédictifs de dépendances d'hôtes sont gérés par l'option enable_predictive_host-_dependency_checks .

– Les contrôles prédictifs de dépendances de services sont gérés par l'option enable_predictive_-service_dependency_checks .

53.4 Contrôles mis en cache

Les contrôles prédictifs sont des contrôles faits à la demande et sont donc régis par les mêmes règlesque les contrôles mis en cache . Les contrôles mis en cache peuvent vous permettre d'améliorer les

Page 329: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

302 / 379

performances en autorisant Nagios a utiliser un résultat de contrôle assez récent plutôt que d'exécuterle contrôle de l'hôte ou du service. Plus d'informations sur les contrôles mis en cache sont disponiblesici.

Page 330: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

303 / 379

Chapitre 54

Mise en cache des contrôles

54.1 Introduction

La performance de la supervision de Nagios peut être améliorée demanière significative en implémentant l'utilisation des contrôles mémorisés. Les contrôles mémoriséspermettent à Nagios de passer l'exécution d'un contrôle d'hôte ou de service s'il détermine qu'unrésultat de contrôle relativement récent a été fait plutôt.

54.2 Pour seulement des contrôles à la demande

Les contrôles d'hôte et de service régulièrement programmés ne verront pas d'amélioration de per-formance avec l'utilisation des contrôles mémorisés. Les contrôles mémorisés sont seulement utilespour améliorer la performance lors d'un contrôle d'hôte et de service à la demande. Les contrôles pro-grammés aident à garantir que l'hôte et les états de service sont actualisés régulièrement. Le résultatde ceux-là auront de grandes chances de servir pour l'utilisation de contrôles mémorisés plus tard.Comme référence, le contrôle d'hôte à la demande se produit :

– Quand un service associé à un hôte change d'état.

Page 331: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

304 / 379

– Quand il est nécessaire de vérifier l'accessibilité de l'hôte.– Quand il est nécessaire de réaliser un contrôle préventif des dépendances d'hôte .

Et le contrôle de service sur demande se produit…– Quand il est nécessaire de réaliser un contrôle préventif des dépendances de service .

NoteÀ moins que vous ne profitiez des dépendances de service, Nagios ne sera pas capable d'utiliser desrésultats de contrôles mémorisés afin d'améliorer la performance du contrôle de service. Ne vousen inquiétez pas - c'est normal. Le contrôle mémorisé des hôtes est là où il y a eu une plus grandeamélioration de performance et chacun devrait y voir un avantage.

54.3 Comment ça fonctionne?

Quand Nagios a besoin d'exécuter un contrôle d'hôte ou de service à la demande, il déterminera s'ilpeut utiliser un résultat de contrôle se trouvant dans le cache ou s'il aura besoin d'exécuter un contrôleen passant par un plugin. Il fait ceci en comparant depuis combien de temps le dernier contrôle dateaux valeurs des variables du cycle de mise en cache des contrôles d'hôte et de service.Si le dernier contrôle exécuté se trouve dans cette période de temps (celle du cycle de contrôle ducache), Nagios utilisera le dernier résultat du contrôle de l'hôte ou du service et n'exécutera pas unnouveau contrôle. Si l'hôte n'a pas encore été contrôlé, ou si la période de temps dépasse la valeur ducycle de mise en cache, Nagios exécutera un nouveau contrôle d'hôte ou de service en passant par unplugin.

54.4 Que cela signifie vraiment?

Nagios exécute des contrôles à la volée parce que il a besoin de connaitre l'état dans lequel se trouvel'hôte ou le service à un moment précis. En utilisant le contrôle mémorisé, vous autorisez à Nagios de

Page 332: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

305 / 379

considérer que l'état du contrôle antérieur est relativement correcte pour déterminer l'état actuel devos hôtes. Pour cela il n'a pas besoin de contrôler via un plugin et de vraiment revérifier le statut decet hôte ou de service.Le cycle de mise en cache des contrôles dit à Nagios combien de temps il doit considérer qu'un étatd'hôte ou de service est fiable. Par exemple, nous avons une valeur de cache à 30 secondes, ceci dira àNagios que si l'état de l'hôte était contrôlé durant ces 30 secondes, il devrait prendre en considérationle dernier contrôle mémorisé comme l'état actuel de l'hôte.Le nombre de contrôle mémorisé que Nagios peut utiliser et comparer au nombre de contrôle à lademande qu'il doit vraiment exécuter peut être interprété sur forme de taux. En augmentant la valeurdu cycle de mise en cache des contrôles à l'équivalence de celle du check_interval d'un hôte, nouspouvons théoriquement en conclure que le taux sera de 100%. Dans ce cas, tous les contrôles à lademande utiliseront les résultats des contrôles mémorisés. Quelle performance incroyable ! Mais est-ce bien la réalité ? Bien sûr que non.La fiabilité de l'information d'un résultat diminue avec le temps. Un haut cœfficient de cache requièreque vous ayez considéré que vos résultats sont restés inchangés depuis un long moment. Les chosespeuvent changer rapidement dans certains scénario du réseau. Vous n'avez aucune garantie qu'unserveur sera toujours opérationnel 30 secondes plus tard. Il y a un échange - Fiabilité contre rapidité.Si vous mettez une valeur du cycle de contrôle du cache trop haute, vous risquez de voir la fiabilitéde votre supervision en pâtir.Nagios déterminera finalement l'état correct de tous les hôtes et des services, même si les résultatsdes contrôlés mémorisés peuvent s'avérer obsolètes. Nagios travaillera seulement avec les renseigne-ments incorrects pour une période courte. Les périodes même courtes de renseignements de statutdouteux peuvent s'avérer nuisantes pour les administrateurs car il est possible qu'ils reçoivent desnotifications pour des problèmes qui n'ont pas existés très longtemps.Il y a pas de valeur par défaut pour le cycle de mise en cache des contrôles ou de cœfficient acceptablepour chaque utilisateur de Nagios. Certains vont préférer une période de temps et un cœfficientbas alors que d'autres préféreront voir ces paramètres à la hausse. Certains utilisateurs peuventmême désactiver l'option du cache pour avoir une fiabilité s'approchant des 100%. Tester différentespériodes de temps, et voir leur effet est le seul moyen pour un utilisateur de trouver la bonne valeuradaptée à sa situation. Plus d'informations sur ce paramétrage vous est détaillé ci-dessous.

54.5 Configurations des variables

Les variables suivantes détermine l'intervalle de temps dans lequel un contrôle hôte ou de serviceantérieur peut être utilisé pour le contrôle mémorisé d'hôte ou de service :

– La variable cached_host_check_horizon commande le contrôle mémorisé d'hôte.– La variable cached_service_check_horizon commande le contrôle mémorisé de service.

54.6 Optimisation de l'efficacité du cache.

Dans l'ordre, pour optimiser l'utilisation du cache lors des contrôles, vous devez :

– Planifier régulièrement des contrôles de vos hôtes– Utilisez MRTG pour grapher les statistiques des 1) contrôles à la demande et 2) des contrôles mé-morisés

– Ajuster la variable cached_host_check_horizon en fonction de vos besoins.

Page 333: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

306 / 379

Vous pouvez planifier des contrôles réguliers pour vos hôtes en précisant une valeur au-dessus de 0pour la variable check_interval dans votre définition d'hôte . Si vous faites cela, assurez vous avoirune valeur plus grande que 1 pour la variable max_check_attempts, ou ceci vous causera de grosproblèmes de performance. Cette optimisation des performances est décrite en détails ici.

La bonne méthode pour déterminer votre valeur de l'option du cycle de mise en cache des contrôlesest de comparer le nombre de contrôles à la volée que Nagios exécute par rapport au nombre decontrôles mémorisé équivalent. L'utilitaire nagiostats peut réaliser ces statistiques sur les controlesmémorisés, que vous pouvez grapher avec MRTG. L'exemple de graph MRTG suivant compare lescontrôles mémorisés et les contrôles à la demande.L'installation de la supervision qui a réalisé les graphs ci-dessus avait :– Un total de 44 hôtes, tous contrôlés à intervalle régulier– En moyenne (contrôle régulier), le contrôle d'un hôte se fait toutes les 5 minutes– Une variable cached_host_check_horizon réglée à 15 secondesLe premier graph MRTG nous montre le nombre de contrôle régulier d'hôte comparé à celui quele contrôle mémorisé a produit. Dans cette exemple, en moyenne, nous avons 53 contrôles qui sontréalisés toutes les 5 minutes. 9 d'entres eux sont des contrôles à la demande.Le second graph nous montre le nombre de contrôles mémorisés qui se produisent tout le temps. Danscet exemple, en moyenne, 2 contrôles mémorisés d'hôtes sont réalisés toutes les 5 minutes.Souvenez-vous, le contrôle mémorisé n'est valable que pour le contrôle à la demande. Si l'on se basesur une période de 5 minutes, Nous voyons que Nagios utilise les résultats de contrôles mémorisés

Page 334: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

307 / 379

2 fois sur les 9 demandes de contrôles qui ont été exécuté. Ça ne vous paraît pas beaucoup, maisnotre environement de supervision était minime. Considérons que 2 sur 9 font 22%, alors imaginezles performances que vous gagnerez dans des grands environnements de production. Ce pourcentagepeut se voir à la hausse si vous augmentez la valeur de la variable du cycle de mise en cache descontrôles, mais ça réduira la fiabilité des informations sur l'état des hôtes.Après avoir graphé pendant quelques heures ou jours, on s'aperçoit combien de contrôles d'hôteet de service sont réalisés par exécution d'un plugin comparés à ceux utilisés avec les résultats decontrôles mis en cache. Utilisez cette information pour ajuster à votre environnement, la valeur devos variables du cycle de mise en cache des contrôles. Continuez à superviser avec des graphs MRTGpour voir l'évolution en fonction de vos changements. Répetez l'opération si nécessaire.

Page 335: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

308 / 379

Chapitre 55

Transition d'état passif d'hôte

55.1 Introduction

Quand Nagios reçoit un contrôle passif d'un hôte d'une source distante (i.e. d'une autre instanceNagios dans une architecture distribuée ou en failover), l'état de l'hôte remonté par la source distantepeut ne pas refléter précisement l'état de l'hôte du point de vue de Nagios. Comme les installationsde monitoring distribuées ou en failover sont assez courantes, il est important d'avoir un mécanismequi permet de s'assurer de l'exactitude des états des hôtes entre les différentes instances de Nagios.

55.2 Différentes vues d'ensemble

L'image ci-dessous montre une vue simplifiée d'une configuration de monitoring en failover.

– Nagios-A est le serveur miroir primaire, et il surveille de façon active tous les switchs et routeurs.– Nagios-B et Nagios-C sont des serveurs de backup, et ils reçoivent les résultats des checks passifsdepuis Nagios-A

– Router-C et Router-D ont eu tous les deux des problèmes et sont offline

Page 336: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

309 / 379

Dans quel état Router-C and Router-D sont-ils? La réponse dépend de quelle instance Nagios estinterroger.

– 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 différente du réseau. Les serveurs de monitoring de backup nedoivent pas accepter aveuglement les états passifs des hotes du serveur de monitoring primaire, ouils auront des informations incorrectes sur l'état actuel du réseau.Sans la transition de checks passifs d'hôte 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 pointde vue. De la même manière les états DOWN/UNREACHABLE ( d'un point de vue de Nagios-A) deRouter-C et Router-D devrait être inversés d'un point de vue de Nagios-B.

NoteIl y a des situations où vous ne voulez pas que Nagios transite les états DOWN/UNREACHABLE depuisune source distante à leurs états corrects d'un point de vue de l'instance locale de Nagios. Par ex-emple dans un environnment de monitoring distribué, vous pouvez vouloir que l'instance centralede Nagios connaisse comment les instances distribuées voient leurs parties respectives du réseau

55.3 Activer la transition d'états

Par défaut, Nagios ne transitera pas automatiquement les états DOWN/UNREACHABLE des résultatsdes checks passif. Vous devez activer cette fonctionnalité si vous en avez besoin.La transition automatique d'état de check passif d'hôte est contrôler par la variable translate_passive_host_checks.Activez-la et Nagios va automatiquement transiter les états DOWN et UNREACHABLE depuis unesource distante à leurs états corrects sur l'instance locale de Nagios.

Page 337: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

310 / 379

Chapitre 56

Ordonnancement du contrôle des ser-vices et des hôtes

56.1 À faire

Ce document est en cours de réécriture pour Nagios 3. Restez connectés pour plus d'informationsdans une future version beta…

Page 338: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

311 / 379

Chapitre 57

Personnalisation de l'en-tête et du piedde page des CGIs

57.1 Introduction

Si vous êtes amené à faire des installations personnalisées de Nagios, vous pourriez avoir envie d'avoirun en-tête et/ou un pied de page personnalisés à l'affichage des résultats des CGIs. Ceci est partic-ulièrement utile pour l'utilisateur final concernant l'affichage des informations de contact du support,etc.Il est important de tenir compte du fait que, à moins d'être exécutables, les en-têtes et pieds de pagepersonnalisés ne sont pas exécutés de quelle manière que ce soit avant d'être affichés. Le contenudu fichier d'en-tête et de pied de page est simplement lu et affiché au résultat de l'exécution du CGI.Cela signifie qu'ils ne peuvent contenir que des informations qu'un navigateur web peut comprendre(HTML, JavaScript, etc.).Si les en-têtes et pieds de page personnalisés sont exécutables, alors les fichiers sont exécutés et leursortie est affichée à l'utilisateur : ils doivent donc afficher du code HTML valide. Cette fonctionnalitépermet d'utiliser vos propres CGIs pour ajouter des données à l'affichage de Nagios. Ceci a été utilisépour insérer des graphiques de rrdtool en utilisant ddraw et des menu de commande dans la fenêtred'affichage de Nagios. Ces en-têtes et pieds de page exécutables disposent du même environnementque les CGIs natifs : vous pouvez donc disposer des informations sur la requête HTTP, sur l'utilisateurauthentifié etc… pour afficher les informations adéquates.

57.2 Comment cela fonctionne t'il ?

Vous pouvez inclure les en-têtes et pieds de page personnalisés dans le résultat des CGIs en fournissantdes fichiers HTML avec un nom approprié dans le sous-répertoire ssi/ du répertoire HTML de Nagios(p.ex. /usr/local/nagios/share/ssi).Les en-têtes personnalisés sont inclus immédiatement après la balise <BODY> du résultat de l'exé-cution du CGI. Pareillement, les pieds de page personnalisés sont inclus avant la balise de fermeture</BODY>.Il y a deux types d'en-têtes et de bas de page personnalisés :– En-têtes/pieds de page globaux. Ces fichiers devraient être nommés common-header.ssi et common-footer.ssi, respectivement. Si ces fichiers existent, ils seront inclus dans le résultat de l'exécution de toutesles CGIs.

Page 339: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

312 / 379

– En-têtes/pieds de page de CGIs spécifiques. Ces fichiers devraient être nommés dans le formatNOMCGI-header.ssi et NOMCGI-footer.ssi, où CGINAME est le nom physique du CGI sans l'exten-sion .cgi. Par exemple, l'en-tête et le bas de page pour le CGI résumé des alertes [alert summary](summary.cgi) devrait être appelé summary-header.ssi et summary-footer.ssi, respectivement.

L'utilisation des en-têtes et bas de pages personnalisés sont optionnels. Utilisez-les si vous le désirez.De même pour les en-têtes et pieds de page spécifiques. C'est comme vous voulez.

Page 340: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

313 / 379

Chapitre 58

Héritage d'objet

58.1 Introduction

Cette documentation essaye d'expliquer l'héritage d'objet et comment il peut être utilisé dans vosdéfinitions d'objet.Si vous êtes perdu dans le fonctionnent des récurrences et des héritages après avoir lu cela, allezvoir le ficher de configuration d'un objet simple proposé par la distribution Nagios. Si cela ne vousaide toujours pas, laissez un message mail à la liste de diffusion nagios-users avec une descriptiondétaillée de votre problème.

58.2 Les bases

Il y a trois variables qui affectent la récursion et l'héritage qui sont présentes dans toutes les définitionsd'objet. Elles sont indiquées en rouge ci-dessousdefine someobjecttype {

object-specific variables ...name template_nameuse name_of_template_to_useregister [0/1]

}

La première variable est name. C'est le nom du gabarit qui peut être référencé dans d'autre définitiond'objet, de manière à ce qu'ils héritent des propriétés/variables de cet objet.La deuxième variable est use. C'est ici que vous spécifiez le nom des objets gabarit dont vous voulezhériter les propriétés/variables. Le nom que vous spécifiez dans cette variable doit être défini dansun autre gabarit d'objet nommé. (En utilisant la variable nom)La troisième variable est register. Cette variable est utilisée pour indiquer si la définition de l'objetdoit être prise en compte par Nagios ou non. Par défaut, toutes les défintions d'objet sont prise encompte. Si vous utilisez une définition d'objet partiel comme gabarit, vous voulez éviter qu'il soitprise en compte (Un exemple de ce mécanisme sera présentez plus loin). Les valeurs acceptées sontles suivantes : 0 = ne PAS prendre en compte la définition de l'objet, 1 = prendre en compte ladéfinition de l'objet (Comportement par défaut). Cette variable n'est pas héritée, toutes définitionsd'objet (partiel) utilisées comme gabarits doivent explicitement avoir le paramètre register à 0. Celàévite d'avoir à surcharger une directive register héritée avec la valeur 1 pour tous les objets quidoivent être pris en compte.

Page 341: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

314 / 379

58.3 Variables locales vs Variables héritées

Une chose importante à comprendre avec l'héritage c'est que les variables locales ont toujours autoritésur les variables définies dans un gabarit d'objet. Regardez l'exemple suivant avec deux définitionsd'hotes (toutes les variables nécessaires n'ont pas été indiquées)define host {

host_name bighost1check_command check-host-alivenotification_options d,u,rmax_check_attempts 5name hosttemplate1

}

define host {host_name bighost2max_check_attempts 3use hosttemplate1

}

Vous remarquerez que la définition de l'hôte bighost1 a été définie comme ayant hosttemplate1 commenom de gabarit. La définition de l'hôte bighost2 utilise la définition de bighost1 comme gabarit. Unefois que Nagios traite les données, le résultat de la définition de l'hôte bighost2 sera équivalent à cettedéfinition :define host {

host_name bighost2check_command check-host-alivenotification_options d,u,rmax_check_attempts 3

}

Vous pouvez voir que les variables check_command et notification_options sont héritées du gabarit.(où l'hôte bighost1 a été défini). Cependant, les variables host_name et max_check_attempts n'ont pasété héritées du gabarit car elles sont définies localement. N'oubliez pas que les variables définieslocalement surchargent les variables qui devraient normalement être héritées du gabarit. C'est unconcept assez facile à comprendre.

ASTUCESi vous voulez qu'une variable d'une chaîne locale soit concaténée avec la valeur d'une chaînehéritée, vous pouvez le faire. Pour plus de renseignements sur comment réaliser ça, lisez plus bas.

58.4 Enchainement d'héritage

Les objets peuvent hériter des propriétés/variables de multiples niveaux des gabarits objets. Regardezl'exemple suivant :define host {

host_name bighost1check_command check-host-alivenotification_options d,u,rmax_check_attempts 5name hosttemplate1

}

Page 342: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

315 / 379

define host {host_name bighost2max_check_attempts 3use hosttemplate1name hosttemplate2

}

define host {host_name bighost3use hosttemplate2

}

Vous remarquerez que la définition de l'hôte bighost3 hérite des variables de la définition de l'hôtebighost2, qui lui-même hérite des variables de la définition de l'hôte bighost1. Une fois que Nagios atraité ces données de configuration, le résultat de la définition de ces hôtes est équivalent à :define host {

host_name bighost1check_command check-host-alivenotification_options d,u,rmax_check_attempts 5

}

define host {host_name bighost2check_command check-host-alivenotification_options d,u,rmax_check_attempts 3

}

define host {host_name bighost3check_command check-host-alivenotification_options d,u,rmax_check_attempts 3

}

Il n'y a pas de limite de profondeur d'héritage, mais vous voudrez probablement vous limitez à toutau plus quelques niveaux, de façon à garder votre santé mentale.

58.5 Utiliser des définitions incomplète d'objet comme gabarit

Il est possible d'utiliser une définition incomplète d'object comme gabarit afin de les utiliser dansd'autres définitions d'objets. Par définition incomplète, je veux dire que toutes les variables requisespour l'objet n'ont pas été mises dans la définition de l'objet. Celà peut paraître bizarre d'utiliser desdéfinitions incomplètes comme gabarit, mais c'est en fait recommandé de les utiliser. Pourquoi ? Etbien, ils servent d'ensemble par défaut afin d'être utilisés dans d'autres définitions d'objets. Regardezl'exemple suivant :define host {

check_command check-host-alivenotification_options d,u,rmax_check_attempts 5name generichosttemplateregister 0

}

define host {

Page 343: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

316 / 379

host_name bighost1address 192.168.1.3use generichosthosttemplate

}

define host {host_name bighost2address 192.168.1.4use generichosthosttemplate

}

Notez que la 1er définition d'hotes est incomplète car il manque la variable requise host_name. Nousn'avons pas besoin de définir un nom d'hôte car nous voulons juste utiliser cette définition comme ungabarit d'hôte générique. Afin de prévenir cette defintion d'être registered par nagios comme un hôtenormal, nous devons définir la variable register à 0.La définition des hôtes bighost1 et bighost2 héritent leurs valeurs de la définition d'hôte générique.La seule variable que nous avons choisi de surcharger est la variable address. Celà veut dire queles deux hôtes auront exactement les mêmes propriétés, à l'exeption de leurs variables host_name etaddress. Une fois que Nagios aura traité les données de configuration de l'exemple, les définitionsd'hôtes résultants seront la même chose que si nous spécifions :define host {

host_name bighost1address 192.168.1.3check_command check-host-alivenotification_options d,u,rmax_check_attempts 5

}

define host {host_name bighost2address 192.168.1.4check_command check-host-alivenotification_options d,u,rmax_check_attempts 5

}

Enfin, utiliser une définition de gabarit pour les variables par défaut vous fera gagner beaucoup detemps. Cela vous évitera aussi beaucoup de maux de tête ultérieurs si vous voulez changer la valeurpar défaut d'une variable pour un grand nombre d'hôtes.

58.6 Variables personnalisées d'objet

Toutes les variables personnalisées d'objet que vous définisez dans vos définitions de gabarit d'hôtes,de services ou de contacts seront héritées comme n'importe quelle autre variable standard. Regardezl'exemple suivant :define host {

_customvar1 somevalue  ; <-- Custom host variable_snmp_community public  ; <-- Custom host variablename generichosttemplateregister 0

}

define host {host_name bighost1address 192.168.1.3use generichosthosttemplate

Page 344: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

317 / 379

}

L'hôte bighost1 va hériter de la variable personnalisée de l'hôte _customvar1 et _snmp_community,aussi bien que de leur valeurs respectives de la définition du generichosttemplate. Le résultat effectifest une définition pourbighost1 qui ressemble à ça :define host {

host_name bighost1address 192.168.1.3_customvar1 somevalue_snmp_community public

}

58.7 Annulation de l'héritage de la valeur de la chaîne

Dans certains cas, vous ne voulez pas que votre défintion d'hôte, service ou contact hérite de la valeurd'une variable du gabarit qu'il référence. Dans ce cas, vous pouvez spécifier null (sans quotes)comme valeur pour cette variable. Regardez l'exemple suivant :define host {

event_handler my-event-handler-commandname generichosttemplateregister 0

}

define host {host_name bighost1address 192.168.1.3event_handler nulluse generichosthosttemplate

}

Dans ce cas, l'hôte bighost1 n'héritera pas de la valeur de la variable event_handler qui est définiedans generichosttemplate. Le résultat effectif de la définition de bighost1 est :define host {

host_name bighost1address 192.168.1.3

}

58.8 Héritage additif de la valeur de la chaîne

Nagios donne la préférence aux variables locales au lieu des valeurs héritées par leurs gabarits. Dansla pluspart des cas, les valeurs locales des variables surchargent celles définies dans les gabarits.Dans certains cas, il peut être judicieux d'autoriser Nagios d'utiliser la valeur locale et héritée de lavariable ensemble.Cet héritage additif peut être réalisé en rajoutant devant la valeur de la variable local un signe plus(+). Cette fonctionnalité est uniquement accessible pour les variables standards (non-personnels) quicontiennent des valeurs sous forme de chaîne. Regardez l'exemple suivant :define host{

hostgroups all-serversname generichosttemplateregister 0

Page 345: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

318 / 379

}

define host {host_name linuxserver1hostgroups +linux-servers,web-serversuse generichosthosttemplate

}

Dans ce cas, l'hôte linuxserver1 va ajouter la valeur de sa variable hostgroups local, à celui du gener-ichosttemplate. Le résultat effectif de la définition de linuxserver1 est le suivant :define host {

host_name linuxserver1hostgroups all-servers,linux-servers,web-servers

}

58.9 Héritage implicite

Normalement vous devez soit explicitement spécifier la valeur de la variable dans la définition d'unobjet, ou bien l'hériter d'un gabarit. Il existe quelques exceptions à cette règle, où Nagios assumeraque vous voulez utiliser une valeur qui vient en fait d'un objet lié. Par exemple, la valeur de certainesvariables de service vont être copiées de l'hôte auquel le service est associé si vous ne lui spécifiezpas le contraire.Les tableaux suivants listent les variables d'objet qui seront implicitement héritées par des objets liés,si vous spécifiez pas explicitement leurs valeurs dans votre définition d'objet ou dans son gabarit.

Object Type Variable Objet Source implicite

Servicescontact_groups

contact_groups dans ladéfinition d'hôtes associée

notification_intervalnotification_interval dans ladéfinition d'hôtes associée

notification_periodnotification_period dans ladéfinition d'hôtes associée

Escalade d'hôtescontact_groups

contact_groups dans ladéfinition d'hôtes associée

notification_intervalnotification_interval dans ladéfinition d'hôtes associée

escalation_periodnotification_period dans ladéfinition d'hôtes associée

Escalade de Servicescontact_groups

contact_groups dans ladéfinition de services associée

notification_intervalnotification_interval dans ladéfinition de services associée

escalation_periodnotification_period dans ladéfinition de services associée

Page 346: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

319 / 379

58.10 Héritage Implicite/Additive dans les escalades

La superposition de défintion d'hôte et de service peuvent utiliser une règle spéciale qui combine lesfonctionnalités de l'héritage implicite et explicite. Si la superposition 1) n'hérite pas la valeurs de leursparamètres contact_groups ou contacts d'un autre gabarit et 2) leurs paramètres contact_groupsou contacts commencent avec un signe (+), alors les valeurs des paramètres contact_groups oucontacts de leurs défintions d'hôte ou service seront utilisées avec une logique d'héritage additive.Perdu? Voici un exemple :define host {

name linux-servercontact_groups linux-admins...

}

define hostescalation {host_name linux-servercontact_groups +management...

}

C'est un équivalent beaucoup plus simple que :define hostescalation {

host_name linux-servercontact_groups linux-admins,management...

}

58.11 Multiples sources d'héritage

Jusqu'à maintenant, tous les exemples d'héritage présentaient l'héritage de variables/valeurs à partird'une seule source. Vous pouvez aussi hériter des variables/valeurs de sources multiples pour réaliserdes configurations plus complexes, comme cela est présenté ci-dessous.

Page 347: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

320 / 379

#Generic host templatedefine host {

name generic-hostactive_checks_enabled 1check_interval 10...register 0

}

# Development web server templatedefine host {

name development-server       check_interval 15  notification_options d,u,r...register 0    

}

# Development web serverdefine host {

use generic-host,development- -serverhost_name devweb1...     

}

Dans l'exemple ci-dessous, devweb1 hérite de variables/valeurs provenant de deux sources : gener-ic-host et development-server. Vous noterez qu'une variable check_interval est définie dans lesdeux sources. Puisque generic-host était le premier gabarit spécifié dans les paramètres de dev-web1, sa valeur pour la variable check_interval est héritée par l'hôte devweb1. Après l'héritage, ladéfinition effective de devweb1 est la suivante :# Development web serverdefine host {

host_name devweb1active_checks_enabled 1check_interval 10notification_options d,u,r...

}

58.12 Priorité avec des sources d'héritage multiples

Quand vous utilisez de multiples sources d'héritage, il est très important de savoir comment Nagiosgère les variables qui sont définies dans ces sources multiples. Dans ces cas, Nagios utilisera lesvariables/valeurs de la première source qui est spécifiée dans le paramètre à utiliser. Puisque lessources d'héritage peuvent elles-même hériter de variables/valeurs provement d'une ou plusieurssources, il peut devenir très compliqué de trouver quelle paire de variable/valeur aura la priorité.

Page 348: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

321 / 379

Regardez la définition d'hôtesuivant qui se réfère à troisgabarits.# Development web serverdefine host {

use 1, 4, 8host_name devweb1...

}

Si certains des gabarits héritenteux-même de variables/valeursde un ou plusieurs autregabarits, les règles de prioritésont montrées à droite.Tests, essais et erreurs vousaideront à mieux comprendreexactement comment les chosesfonctionnent dans une situationd'héritage complexe commecelle-ci :-)

Page 349: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

322 / 379

Chapitre 59

Trucs et astuces gain de temps dansles définitions de modèles d'objets

NoteComment ne pas pêter les plombs

59.1 Introduction

Cette documentation va essayer de vous expliquer comment vous pouvez exploiter les fonctionnalités(quelque peu) cachées des définitions d'objets basées sur des modèles histoire de ne pas pêter lesplombs. Comment, me demanderez-vous ? Plusieurs types d'objets permettent de spécifier de multi-ples noms d'hôtes et/ou de groupes d'hôtes dans les définitions, vous permettant de copier la défintionde l'objet dans de multiples hôtes ou services. Je vais parcourir séparement chaque type d'objet per-mettant cette fonctionnalité. Pour commencer, les types d'objets concernés sont les suivants :

– Services– Escalades de service– Dépendances de service– Escalades d'hôte– Dépendances d'hôte– Groupes d'hôtes

Les types d'objets qui ne sont pas listés ci-dessus (par exexmple les périodes de temps, les commandes)ne supportent pas les fonctionnalités que je vais vous décrire maintenant.

59.2 Correspondance avec des expressions régulières

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 expressionsrégulières grâce au paramètre de configuration use_regexp_matching Par défaut, les expressionsrégulières ne sont utilisées que dans les noms d'objets contenant les caractères de remplacement *, ?,+ ou \.. Si vous souhaitez voir les expressions régulières appliquées sur tous les noms d'objets, activezle paramètre de configuration use_true_regexp_matching . Les expressions régulières peuvent êtreutilisées dans n'importe quel champ des exemples ci-dessous (noms d'hôtes, noms de groupe d'hôtes,noms de service, et noms de groupes de service).

Page 350: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

323 / 379

NoteAttention lorsque vous activez les expressions régulières - vous aurez peut-être à modifier votrefichier de configuration, pour éviter que des paramètres que vous ne souhaitez pas voir interprétéscomme des expressions régulières ne le soient ! Les problèmes devraient être mis en évidencelorsque vous vérifiez votre configuration.

59.3 Définitions de service

59.3.1 Hôtes multiples

Si vous voulez créer des services identiques assignés à plusieurs hôtes, vous pouvez préciser plusieurshôtes dans le paramètre host_name. La définition ci-dessous va créer une service nommé SOMESER-VICE sur les hôtes HOST1 jusqu'à HOSTN. Toutes les instances du service SOMESERVICE devraient êtreidentiques (c.-à-d. auront la même commande de contrôle, le même nombre maximum d'essais, lamême période de notification).define service {

host_name HOST1,HOST2,HOST3,...,HOSTNservice_description SOMESERVICEother service directives ...

}

59.3.2 Tous les hôtes situés dans de multiples groupes d'hôtes :

Si vous voulez créer des services identiques, assignés à tous les hôtes d'un ou de plusieurs groupesd'hôtes, vous pouvez le faire en une seule définition de service. Comment ? Le paramètre hostgro-up_name vous permet de spécifier un ou plusieurs groupes d'hôtes pour lesquels le service doit êtrecréé. La définition ci-dessous va créer un service appellé SOMESERVICE sur tous les hôtes membresdes groupes d'hôtes HOSTGROUP1 à HOSTGROUPN. Toutes les instances du service SOMESERVICE serontidentiques (c.-à-d. auront la même commande de contrôle, le même nombre maximum d'essais, lamême période de notification, etc.).define service {

hostgroup_name HOSTGROUP1,HOSTGROUP2,...,HOSTGROUPNservice_description SOMESERVICEother service directives ...

}

59.3.3 Tous les hôtes :

Si vous voulez créer des services identiques, assignés à tous les hôtes de vos fichiers de configura-tions, vous pouvez utiliser un caractère de remplacement dans le paramètre host_name. La définitionci-dessous va créer un service appellé SOMESERVICE sur tous les hôtes définis dans vos fichiers de con-figurations. Toutes les instances du service SOMESERVICE seront identiques (c.-à-d. auront la mêmecommande de contrôle, le même nombre maximum d'essais, la même période de notification, etc.).define service {

host_name *service_description SOMESERVICEother service directives ...

}

Page 351: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

324 / 379

59.3.4 Exclusion d'hôtes :

Si vous voulez créer des services identiques sur plusieurs hôtes ou groupes d'hôtes, mais désirezexclure certains hôtes de la définition, vous pouvez le faire en précédant l'hôte ou le groupe d'hôte dusymbole !.define service {

host_name HOST1,HOST2,!HOST3,!HOST4,...,HOSTNhostgroup_name HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,...,HOSTGROUPNservice_description SOMESERVICEother service directives ...

}

59.4 Définitions d'escalade de service

59.4.1 Hôtes multiples

Si vous voulez créer des escalade de service pour des services portant le même nom/description, etqui sont assignés à plusieurs hôtes, vous pouvez spécifier des hôtes multiples dans le paramètre hos-t_name. La définition ci-dessous va créer une escalade pour les services appelés SOMESERVICE sur leshôtes HOST1 à HOSTN. Toutes les instances de l'escalade de service seront identiques (c.-à-d. auront lemême groupe de contact, le même intervalle de notification, etc.). .define serviceescalation {

host_name HOST1,HOST2,HOST3,...,HOSTNservice_description SOMESERVICEother escalation directives ...

}

59.4.2 Tous les hôtes situés dans de multiples groupes d'hôtes :

Si vous voulez créer une escalade de service pour des services portant le même nom/description etqui sont assignés à tous les hôtes dans un ou plusieurs groupes d'hôtes, vous pouvez le faire avec leparamètre hostgroup_name. La définition ci-dessous va créer une escalade pour les services appelésSOMESERVICE sur tous les hôtes membres des groupes HOSTGROUP1 à HOSTGROUPN. Toutes les instancesde l'escalade de service seront identiques (c.-à-d. auront le même groupe de contact, le même inter-valle de notification, etc.).define serviceescalation {

hostgroup_name HOSTGROUP1,HOSTGROUP2,...,HOSTGROUPNservice_description SOMESERVICEother escalation directives ...

}

59.4.3 Tous les hôtes :

Si vous voulez créer une escalade de service identique pour des services portant le même nom/de-scription et qui sont assignés à tous les hôtes définis dans vos fichiers de configuration, vous pouvezutiliser un caractère de remplacement dans le paramètre host_name. La définition ci-dessous va créerune escalade pour tous les services appelés SOMESERVICE de tous les hôtes définis dans vos fichiers deconfiguration. Toutes les instances de l'escalade de service seront identiques (c.-à-d. auront le mêmegroupe de contact, le même intervalle de notification, etc.).

Page 352: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

325 / 379

define serviceescalation {host_name *service_description SOMESERVICEother escalation directives ...

}

59.4.4 Exclusion d'hôtes :

Si vous voulez créer des escalades de services identiques sur plusieurs hôtes ou groupes d'hôtes, maisdésirez exclure certains hôtes de la définition, vous pouvez le faire en précédant l'hôte ou le grouped'hôte du symbole !.define serviceescalation {

host_name HOST1,HOST2,!HOST3,!HOST4,...,HOSTNhostgroup_name HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,..., -

HOSTGROUPNservice_description SOMESERVICEother escalation directives ...

}

59.4.5 Tous les services d'un même hôte :

Si vous voulez créer des escalades de service pour tous les services assignés à un hôte précis, vouspouvez utiliser un caractère de remplacement dans le paramètre service_description. La défini-tion ci-dessous va créer une escalade de service pour tous les services de l'hôte HOST1. Toutes lesinstances de l'escalade de service seront identiques (c.-à-d. auront le même groupe de contact, lemême intervalle de notification, etc.).Si vous vous sentez l'esprit particulièrement aventureux, vous pouvez spécifier un caractère de rem-placement à la fois dans les paramètres host_name et service_description. Cela va créer une es-calade de service pour tous les services définis dans vos fichiers de configuration.define serviceescalation {

host_name HOST1service_description *other escalation directives ...

}

59.4.6 Services multiples du même hôte :

Si vous voulez créer des escalades de service pour plusieurs services assignés à un hôte précis, vouspouvez spécifier plusieurs descriptions de service dans le paramètre service_description. La défini-tion ci-dessous va créer une escalade pour les services SERVICE1 à SERVICEN de l'hôte tHOST1. Toutesles instances de l'escalade de service seront identiques (c.-à-d. auront le même groupe de contact, lemême intervalle de notification, etc.).define serviceescalation {

host_name HOST1service_description SERVICE1,SERVICE2,...,SERVICENother escalation directives ...

}

Page 353: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

326 / 379

59.4.7 Tous les services de multiples groupes de services :

Si vous voulez créer des escalades de service pour tous les services appartenant à un ou plusieursgroupes de services, vous pouvez utiliser le paramètre servicegroup_name. La définition ci-dessousva créer une escalade pour tous les services membres des groupes de services SERVICEGROUP1 à S-ERVICEGROUPN. Toutes les instances de l'escalade de service seront identiques (c.-à-d. auront le mêmegroupe de contact, le même intervalle de notification, etc.).define serviceescalation {

servicegroup_name SERVICEGROUP1,SERVICEGROUP2,...,SERVICEGROUPNother escalation directives ...

}

59.5 Définitions de dépendance de service

59.5.1 Hôtes multiples

Si vous voulez créer des dépendances de service pour des services portant le même nom/description,et qui sont assignés à plusieurs hôtes, vous pouvez spécifier de multiples hôtes dans les paramètreshost_name et/ou dependent_host_name. Dans l'exemple ci-dessous, le service SERVICE2 des hôtes H-OST3 et HOST4 sera dépendants du service SERVICE1 des hôtes HOST1 et HOST2. Toutes les instancesde la dépendance de service seront identiques, mis à part les noms d'hôtes (c.-à-d. auront le mêmecritère d'échec de notification, etc.).define servicedependency {

host_name HOST1,HOST2service_description SERVICE1dependent_host_name HOST3,HOST4dependent_service_description SERVICE2other dependency directives ...

}

59.5.2 Tous les hôtes situés dans de multiples groupes d'hôtes :

Si vous voulez créer des dépendances de service pour des services portant le même nom/descrip-tion, et qui sont assignés à tous les hôtes d'un ou plusieurs groupes d'hôtes, vous pouvez utiliser leparamètre hostgroup_name et/ou dependent_hostgroup_name. Dans l'exemple ci-dessous, le serviceSERVICE2 de tous les hôtes membres des groupes d'hôtes HOSTGROUP3 et HOSTGROUP4 sera dépendantdu service SERVICE1 de tous les hôtes membres des groupes d'hôtes HOSTGROUP1 et HOSTGROUP2. Sil'on suppose qu'il y a cinq hôtes dans chacun des groupes d'hôtes, cette définition équivaut à créer100 définitions simples de dépendance de service ! Toutes les instances de la dépendance de serviceseront identiques, mis à part les noms d'hôtes (c.-à-d. auront le même critère d'échec de notification,etc.).define servicedependency {

hostgroup_name HOSTGROUP1,HOSTGROUP2service_description SERVICE1dependent_hostgroup_name HOSTGROUP3,HOSTGROUP4dependent_service_description SERVICE2other dependency directives ...

}

Page 354: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

327 / 379

59.5.3 Tous les services d'un même hôte :

Si vous voulez créer des dépendances de service pour tous les services assignés à un hôte précis, vouspouvez utiliser un caractère de remplacement dans les paramètres service_description et/ou de-pendent_service_description. Dans l'exemple ci-dessous, tous les services de l'hôte HOST2 serontdépendants de tous les services de l'hôte HOST1. Toutes les instances de la dépendance de serviceseront identiques (c.-à-d. auront le même critère d'échec de notification, etc.).define servicedependency {

host_name HOST1service_description *dependent_host_name HOST2dependent_service_description *other dependency directives ...

}

59.5.4 Services multiples d'un même hôte :

Si vous voulez créer des dépendances de service pour plusieurs services assignés à un hôte précis,vous pouvez spécifier plusieurs descriptions de service dans les paramètres service_descriptionet/ou dependent_service_description comme suit :define servicedependency {

host_name HOST1service_description SERVICE1,SERVICE2,...,SERVICENdependent_host_name HOST2dependent_service_description SERVICE1,SERVICE2,...,SERVICENother dependency directives ...

}

59.5.5 Tous les services de multiples groupes de services :

Si vous voulez créer des dépendances de service pour tous les services appartenant à un ou plusieursgroupes de services, vous pouvez utiliser les paramètres servicegroup_name et/ou dependent_ser-vicegroup_name comme suit :define servicedependency {

servicegroup_name SERVICEGROUP1,SERVICEGROUP2,...,SERVICEGROUPNdependent_servicegroup_name SERVICEGROUP3,SERVICEGROUP4,...SERVICEGROUPNother dependency directives ...

}

59.5.6 Dépendances sur le même hôte :

Si vous voulez créer des dépendances de service pour plusieurs services dépendants de services surle même hôte, laissez les paramètres dependent_host_name et dependent_hostgroup_name vides.L'exemple ci-dessous part du principe que les hôtes HOST1 et HOST2 ont un minimum de quatreservices associés avec eux : SERVICE1, SERVICE2, SERVICE3, et SERVICE4. Dans cet exemple, SERVI-CE3 et SERVICE4 sur HOST1 seront dépendants à la fois de SERVICE1 et SERVICE2 sur HOST1. De façonidentique, SERVICE3 et SERVICE4 sur HOST2 seront dépendants à la fois de SERVICE1 et SERVICE2 surHOST2.

Page 355: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

328 / 379

define servicedependency {host_name HOST1,HOST2service_description SERVICE1,SERVICE2dependent_service_description SERVICE3,SERVICE4other dependency directives ...

}

59.6 Définitions d'escalade d'hôte

59.6.1 Hôtes multiples

Si vous souhaitez créer des escalades d'hôte pour plusieurs hôtes, vos pouvez spécifier plusieurs hôtesdans le paramètre host_name. La définition ci-dessous va créer une escalade d'hôte pour les hôtes H-OST1 à HOSTN. Toutes les instances de l'escalade d'hôte seront identiques (c.-à-d. auront les mêmesgroupes de contacts, le même intervalle de notification, etc.).define hostescalation {

host_name HOST1,HOST2,HOST3,...,HOSTNother escalation directives ...

}

59.6.2 Tous les hôtes situés dans de multiples groupes d'hôtes :

Si vous voulez créer des escalades d'hôte pour tous les hôtes d'un ou plusieurs groupes d'hôtes, vospouvez utiliser le paramètre hostgroup_name. La définition ci-dessous va créer une escalade d'hôtesur tous les hôtes membres des groupes d'hôtes HOSTGROUP1 à HOSTGROUPN. Toutes les instances del'escalade d'hôte seront identiques (c.-à-d. auront les mêmes groupes de contacts, le même intervallede notification, etc.).define hostescalation {

hostgroup_name HOSTGROUP1,HOSTGROUP2,...,HOSTGROUPNother escalation directives ...

}

59.6.3 Tous les hôtes :

Si vous voulez créer des escalades d'hôte identiques pour tous les hôtes définis dans vos fichiersde configuration, vous pouvez utiliser un caractère de remplacement dans le paramètre host_name.La définition ci-dessous va créer une escalade d'hôte sur tous les hôtes définis dans vos fichiers deconfiguration. Toutes les instances de l'escalade d'hôte seront identiques (c.-à-d. auront les mêmesgroupes de contacts, le même intervalle de notification, etc.).define hostescalation {

host_name *other escalation directives ...

}

Page 356: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

329 / 379

59.6.4 Exclusion d'hôtes :

Si vous voulez créer des escalades d'hôtes identiques sur plusieurs hôtes ou groupes d'hôtes, maisdésirez exclure certains hôtes de la définition, vous pouvez le faire en précédant l'hôte ou le grouped'hôte du symbole !.define hostescalation{

host_name HOST1,HOST2,!HOST3,!HOST4,...,HOSTNhostgroup_name HOSTGROUP1,HOSTGROUP2,!HOSTGROUP3,!HOSTGROUP4,...,HOSTGROUPNother escalation directives ...

}

59.7 Définitions de dépendance d'hôte

59.7.1 Hôtes multiples

Si vous voulez créer des dépendances d'hôte pour plusieurs hôtes, vous pouvez spécifier plusieurshôtes dans les paramètres host_name et/ou dependent_host_name. La définition ci-dessous équivautà créer six dépendances d'hôte distinctes. Dans l'exemple ci-dessus, les hôtes HOST3, HOST4 et HOST5seront dépendants à la fois d'HOST1 et de HOST2. Toutes les instances de la dépendance d'hôte serontidentiques, à l'exception des noms d'hôtes (c.-à-d. auront le même critère d'échec de notification, etc.).define hostdependency {

host_name HOST1,HOST2dependent_host_name HOST3,HOST4,HOST5other dependency directives ...

}

59.7.2 Tous les hôtes situés dans de multiples groupes d'hôtes :

Si vous désirez créer des dépendances d'hôte pour tous les hôtes d'un ou plusieurs groupes d'hôtes,vous pouvez utiliser les paramètres hostgroup_name et/ou dependent_hostgroup_name. Dans l'exem-ple ci-dessous, tous les hôtes des groupes d'hôtes HOSTGROUP3 et HOSTGROUP4 seront dépendants detous les hôtes des groupes d'hôtes HOSTGROUP1 et HOSTGROUP2. Toutes les instances de la dépendanced'hôte seront identiques, à l'exception des noms d'hôtes (c.-à-d. auront le même critère d'échec denotification, etc.).define hostdependency {

hostgroup_name HOSTGROUP1,HOSTGROUP2dependent_hostgroup_name HOSTGROUP3,HOSTGROUP4other dependency directives ...

}

59.8 Groupes d'hôtes

59.8.1 Tous les hôtes :

Si vous voulez créer un groupe d'hôte contenant tous les hôtes définis dans vos fichiers de configu-ration, vous pouvez utiliser un caractère de remplacement dans le paramètre members. La définitionci-dessous créera un groupe d'hôtes appelé HOSTGROUP1 contenant tous les hôtes définis dans vosfichiers de configuration.

Page 357: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

330 / 379

define hostgroup {hostgroup_name HOSTGROUP1members *other hostgroup directives ...

}

Page 358: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

331 / 379

Septième partie

Améliorations des performances etde la sécurité

Page 359: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

332 / 379

Chapitre 60

Considérations sur la sécurité

60.1 Introduction

Ce paragraphe est un rapide survol des éléments que vous devez conserver à l'espritau moment d'installer Nagios, afin que l'installation soit sécurisée.Vous devriez considérer votre serveur de supervision comme une porte dérobée de vos autres sys-tèmes. Dans certains cas, le serveur Nagios a besoin d'être autorisé à traverser des pares-feu pourpouvoir contrôler des serveurs distants. Dans la plupart des cas, il est autorisé à interroger cesserveurs distants pour diverses informations. Les serveurs de supervision ont toujours besoin d'uncertain niveau de confiance pour pouvoir interroger des serveurs distants. Ceci représente un risquepotentiel d'attaque avec une porte dérobée intéressante vers vos autres systèmes. Un ataquant peutse rendre la vie plus facile en attaquant d'abord votre système de supervision avant de rebondir surles autres. Ceci est particulièrmeent vrai dans le cas où vous utilisez des clés partagées SSH poursuperviser les systèmes distants.Si un intrus a la possibilité de soumettre des résultats de contrôles ou des commandes externes audémon Nagios, il a la possibilité de soumettre des données de supervision erronées, de vous rendrefou avec des notifications erronées, ou de faire en sorte que des gestionnaires d'événements soientdéclenchés. Si vous avez des scripts de gestion d'événements qui redémarrent des services, allumageet extinction électrique, etc. cela peut devenir problématique.Un autre champ de possibilités pour les intrus est de sniffer les données de supervision (informationd'état) au moment où elle transite sur le réseau. Si les canaux de communication ne sont pas chiffrés,les attaquants peuvent accéder à des informations importantes en regardant vos informations desupervision. Prenez la situation suivante en exemple : Un ataquant capture vos données de supervisionsur le réseau pendant une période de temps et analyse la charge habituelle des CPUs et disques de vossystèmes en comparaison du nombre d'utilisateurs connectés dessus. L'attaquant est donc en mesurede déterminer le meilleur moment pour compromettre un système et utiliser ses ressources (CPU,etc.) sans être découvert.Voici quelques trucs pour vous aider à garder vos systèmes sécurisés quand vous implémentez unesolution de supervision basée sur Nagios…

Page 360: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

333 / 379

60.2 Meilleures pratiques

1. Utilisez un serveur de supervision dédié. Je vous recommande d'installer Nagios sur unserveur dédié à la supervision (et à d'autres tâches d'administration éventuellement). Protégezvotre serveur de supervision comme si c'était l'un des plus importants de votre réseau. Maintenezle nombre de services à tourner le plus bas possible et protégez leurs accès avec des wrappersTCP, des pares-feu, etc. Vu que le serveur Nagios est autorisé à discuter avec vos serveurs etpeut traverser des pares-feu, autoriser des accès utilisateurs sur votre serveur de supervisionpeut représenter un risque de sécurité. Gardez à l'esprit qu'il est plus facile d'obtenir des priv-ilèges root au travers d'un trou de sécurité quand vous avez un compte local est disponible surune machine.

2. Ne pas faire fonctionner Nagios en tant que root !. Il n'est pas nécessaire d'être root pourfaire fonctionner Nagios, alors ne le faîtes pas. Vous pouvez obliger Nagios à abandonner desprivilèges après le lancement et à fonctionner avec les droits d'un autre utilisateur/groupe enutilisant les paramètres nagios_user et nagios_group dans le fichier principal de configuration.Si vous avez besoin d'exécuter des gestionnaires d'événements ou des plugins qui requièrent desaccès root, vous pouvez essayer d'utiliser sudo.

3. Verrouillez le répertoire des résultats de contrôle. Assurez-vous que seul l'utilisateur nagiosà le droit de lecture/écriture sur le répertoire des résultats de contrôle. Si d'autres utilisateursque nagios (ou root) sont capables d'écrire dans ce répertoire, ils peuvent potentiellement en-voyer des résultats de contrôles erronées au démon Nagios. Cela pourrait vous valoir quelquesdésagréments comme des notifications erronées ou des problèmes de sécurité (gestionnairesd'événements déclenchés).

Page 361: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

334 / 379

4. Verrouillez le fichier des commandes externes. Si vous activez les commandes externes,assurez-vous d'avoir les permissions appropriées sur le répertoire /usr/local/nagios/var/rw.Vous voulez uniquement que les utilisateurs Nagios (habituellement nagios) et web (habituelle-ment nobody, http, apache2 ou www-data) puissent écrire dans le fichier des commandes. Si vousavez installé Nagios sur une machine dédiée à la supervision et aux tâches d'administration quin'a pas de comptes publics, cela devrait aller. Si vous l'avez installé sur une machine publiqueou multi-utilisateurs (pas recommandé), autoriser l'utilisateur du serveur web peut être un prob-lème de sécurité. Après tout, vous ne souhaitez pas que n'importe quel utilisateur du systèmepuisse contrôler Nagios à partir du fichier des commandes externes. Dans ce cas, je vous sug-gère de donner les droits uniquement à l'utilisateur nagios et d'utiliser quelque chose commeCGI Wrap pour faire fonctionner les CGIs avec l'utilisateur nagios plutôt que nobody.

5. Authentification requise pour les CGIs. Je vous recommande fortement de protéger l'accèsaux CGIs par une authentification. Ceci fait, lisez la documentation sur les droits par défautdont disposent les contacts autorisés et n'accordez qu'exceptionnellement une autorisation àdes contacts spécifiques. Les instructions pour la configuration des droits se trouvent ici. Si vousdésactivez l'authentification préalable à l'accès aux CGIs par la commande use_authenticationdans le fichier de configuration des CGIs, le CGI de commande refusera d'écrire la moindrecommande dans le fichier des commandes externes. De toutes façons, vous ne souhaitez pas quetout le monde puisse contrôler votre Nagios ?

6. Implémentez les mesures renforcées de sécurité des GCIs. Je vous recommande chaude-ment de considérer l'implémentation des mesures de sécurité pour les CGIs comme indiqué ici.Ces mesures peuvent aider à s'assurer que l'utilisateur/mot de passe que vous utilisez pour ac-céder à l'interface web de Nagios ne puissent intercepter par de tierces parties.

7. Utilisez les chemins complets dans la définition des commandes. Lorsque vous définissezdes commandes, assurez-vous d'avoir bien précisé le chemin d'accès complet de tous les scriptsou binaires que vous exécutez.

8. Cachez les informations sensibles à l'aide desmacros $ARGn$. Les CGIs parcourent le fichierde configuration principal et le(s) fichier(s) de configuration des objets, n'y laissez donc pasd'informations sensibles (noms d'utilisateur, mots de passe, etc.). Si vous avez besoin de préciserun mot de passe ou un nom d'utilisateur dans une définition de commande, utilisez $USERn$macro pour le cacher. $USERn$ Les macros $USERn$ sont définies dans un ou plusieurs fichiersde ressources. Les CGIs ne parcourant pas les fichiers de ressources, vous pouvez leur donnerdes permissions beaucoup plus restrictives (600 ou 660). Consultez le fichier resource.cfg dansla distribution de base de Nagios, il vous donnera un exemple de définition de la macro $USERn$.

9. Éliminez les caractères dangereux des macros. Utilisez le paramètre illegal_macro_out-put_chars pour filtrer les caractères dangereux des chaînes issues des macros $HOSTOUTPUT-$, $SERVICEOUTPUT$, $HOSTPERFDATA$ et $SERVICEPERFDATA$ avant qu'elles ne soient utiliséespour des notifications, etc. Des caractères dangereux peuvent être tout caractère qui peut êtreinterprété par un shell, ouvrant ainsi un trou de sécurité. Un bon exemple est la présence dela quote inverse ( ) dans $HOSTOUTPUT$, $SERVICEOUTPUT$, $HOSTPERFDATA$, et/ou $SERVICE-PERFDATA$ qui pourrait permettre à un attaquant d'exécuter un commande arbitraire commel'utilisateur nagios (une autre bonne raison pour ne pas exécuter Nagios avec l'utilisateur root).

10. Sécurisez l'accès aux agents distants. Assurez-vous d'avoir verrouiller l'accès aux agents(NRPE, NSClient, SNMP, etc.) sur les sytèmes distants en utilisant des pares-feu, des listes d'accès,etc. Vous ne voulez pas que n'importe qui soit capable d'interroger vos systèmes sur leurs états.Cette information peut être utilisée par un attaquant pour exécuter des gestionnaires d'événe-ments distants ou pour déterminer une fenêtre de temps pour une attaque discrète.

Page 362: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

335 / 379

11. Sécurisez vos canaux de communication. Assurez-vous d'avoir chiffré les canaux de com-munication entre vos différents serveurs Nagios et entre Nagios et les agents de supervisionquand cela est possible. Vous ne voulez pas que quelqu'un puisse sniffer les informations d'étatslorsqu'elles transitent sur le réseau. Ces informations peuvent être utilisées par un attaquantpour déterminer un intervalle de temps pour une attaque discrète.

Page 363: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

336 / 379

Chapitre 61

Amélioration de l'authentification etde la Sécurité des CGIs

61.1 Introduction

Cette page est destinée à être une introduction pour l'implémentation d'un niveaud'authentification et de sécurité de serveur plus ardue, concentrée autour de l'interface web CGI.Il y a de nombreuses façons de personnaliser la sécurité de son serveur de Supervision et l'envi-ronnement Nagios. Ce qui va venir ne doit pas être pris comme la finalité de toute approche à lasécurité. Au lieu de cela, considérez ce qui suit comme une introduction à certaines des techniquesque vous pouvez utiliser pour gérer la sécurité de votre système. Comme toujours, vous devrez fairevos recherches et utiliser les meilleures techniques disponibles. Traitez votre serveur de Supervisioncomme si c'était l'élément le plus important dans votre réseau et vous en serez récompensés.

61.2 Techniques supplémentaires

– Authentification plus ardue utilisant la technologie Digest . En suivant Le guide de démar-rage rapide , il y a de grandes chances pour que vous utilisiez les fondamentaux d'authentificationApache . L'authentification basique envoie en texte clair le nom d'utilisateur et le mot de passede connexion avec chacune des requêtes http. Considérez que d'utiliser la technologie Digest pourvotre authentification s'avère plus sécurisé car elle s'appuie sur un principe de cryptage de clé MD5lors du passage des requêtes.

– Forcer TLS/SSL pour la totalité de votre protocole Web. Apache fournit TLS/SSL par le modulemod_ssl. TLS/SSL fournit un tunnel sécurisé entre le client et le serveur ce qui prévient le faitd'écouter indiscrètement et de tripoter la cryptographie publickey/privatekey.

– Restreindre les accès à apache. Cette restriction d'accès à Nagios peut être appliquée sur uneadresse IP, une plage d'adresse IP ou un sous-réseaux. Si vous avez besoin d'un accès extérieur àvotre réseau, vous pouvez utilisez un VPN ou des tunnels SSH

Page 364: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

337 / 379

61.2.1 L'implantation de l'authentification Digest

L'implémentation de l'authentification Digest est simple. Vous devez créer un nouveau type de motde passe en utilisant l'outil htdigest , puis modifiez la configuration apache pour Nagios (par défaut/etc/httpd/conf.d/nagios.conf).Créer un nouveau mot de passe en utilisant l'outil htdigest .#htdigest -c /usr/local/nagios/etc/.digest_pw "Nagios Access" nagiosadmin

Ensuite, éditer le fichier de configuration apache pour Nagios (typiquement /etc/httpd/conf.d/nagios.conf) en utilisant l'exemple suivant.## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONFScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"<Directory "/usr/local/nagios/sbin">

Options ExecCGIAllowOverride NoneOrder allow,denyAllow from allAuthType DigestAuthName "Nagios Access"AuthUserFile /usr/local/nagios/etc/.digest_pwRequire valid-user

</Directory>

Alias /nagios "/usr/local/nagios/share"<Directory "/usr/local/nagios/share">

Options NoneAllowOverride NoneOrder allow,denyAllow from allAuthType DigestAuthName "Nagios Access"AuthUserFile /usr/local/nagios/etc/.digest_pwRequire valid-user

</Directory>## END APACHE CONFIG SNIPPETS

Ensuite, redémarrer le service apache pour que la nouvelle configuration soit prise en compte.#/etc/init.d/httpd restart

61.2.2 Forcer l'implémentation TLS/SSL

Vérifiez que vous avez installé apache et openssl. Par défaut, le mod_ssl doit être supporté. Si vousrencontrez encore des problèmes, vous pouvez vous référer à l'aide d'Apache TLS/SSL Documentationsur l'encryptage .Ensuite, vérifiez 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. Sivous rencontrez des problèmes, visitez les pages d'apache sur la TLS/SSL Documentation de Cryptageet Google pour des problèmes spécifique à votre installation apache. Ensuite, modifiez la configurationapache pour nagios (par défaut /etc/httpd/conf.d/nagios.conf) en ajoutant le paramètre SSLRe-quireSSL aux deux instructions pour les répertoires sbin et share.## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONFScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

Page 365: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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

Redémarrage du service Apache pour que la nouvelle configuration prenne effet.#/etc/init.d/httpd restart

61.2.3 Implémentation de verrous de sous-réseaux IP

L'exemple suivant nous montre comment bloquer l'accès des CGIs Nagios à certaines adresses IP,plages d'adresses ou sous-réseaux en utilisant le contrôle des accès Apache . Modifiez le fichierde configuration apache pour Nagios (par défaut /etc/httpd/conf.d/nagios.conf) en utilisant lesparamètres Allow, Deny, et Order en s'appuyant sur l'exemple ci-dessous.## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONFScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"<Directory "/usr/local/nagios/sbin">

...AllowOverride NoneOrder deny,allowDeny from allAllow from 127.0.0.1 10.0.0.25 # Allow single IP addressesAllow from 10.0.0.0/255.255.255.0 # Allow network/netmask pairAllow from 10.0.0.0/24 # Allow network/nnn CIDR spec...

</Directory>

Alias /nagios "/usr/local/nagios/share"<Directory "/usr/local/nagios/share">

...AllowOverride NoneOrder deny,allowDeny from allAllow from 127.0.0.1 10.0.0.25 # Allow single IP addressesAllow from 10.0.0.0/255.255.255.0 # Allow network/netmask pairAllow from 10.0.0.0/24 # Allow network/nnn CIDR spec...

</Directory>## END APACHE CONFIG SNIPPET

61.3 Notes importantes

– L'authentification Digest envoie les données en clair mais pas votre nom d'utilisateur nivotre mot de passe .

Page 366: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

339 / 379

– L'authentification par Digest n'est pas totalement compatible avec l'authentification debase .

– TLS/SSL a le potentiel pour les attaques man-in-the-middle . Les attaques MITM sontvulnérables si l'attaquant est obligé de s'imisser entre le serveur et le client tout comme une attaquepar Phishing, l'ISP monitoring ou LAN un certificat de pare-feu arrivant à expiration. Lire ci-dessusla vérification des certificats !

– Le contrôle d'accès apache seulement le protocole HTTP/HTTPS . Veuillez vous référer à IPtablespour verrouiller votre système avec des règles de pare-feu.

– Très important, la sécurité est un domaine en perpétuel mouvement et demande de seréserver du temps pour la recherche et développement ! Peut-être en vous inscrivant auxnewsletters comme Security Now! .

Page 367: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

340 / 379

Chapitre 62

Régler Nagios pour des performancesmaximales

62.1 Introduction

Vous avez finalement réussi à installer et lancer Nagios et souhaitezsavoir comment le régler plus finement. Régler Nagios pour améliorer ses performances peut êtrenécessaire quand vous commencez à superviser un grand nombre (> 1000) d'hôtes et services. Voiciquelques trucs et astuces pour optimiser Nagios…

62.2 Trucs et astuces d'optimisation :

1. Graphez les statistiques de performance collectées avec MRTG. Vous devriez en effet grapherles quelques statistiques importantes produites avec MRTG pour garder des traces de commentvotre installation de Nagios se comporte dans le temps au niveau charge et de comment leschangements de configuration l'affectent. Cela devient vraiment, vraiment, vraiment utile quandil s'agit d'optimiser les performances d'une installation Nagios. Les informations sur la façon dele faire se trouvent ici.

2. Utilisez les trucs et astuces pour les installations de grande dimension. Activer l'option use_la-rge_installation_tweaks peut vous donner de meilleures performances. Lisez plus d'informa-tions sur ce que fait cette option ici.

3. Désactivez les macros d'environnement. Les macros sont normalement mises à disposition descommandes, contrôles, notifications, etc. comme variables d'environnement. Cela peut devenirun problème sur une installation Nagios de grande dimension parce que cela consomme plusde mémoire et (plus important) plus de CPU. Si vos scripts n'ont pas besoin d'avoir accès auxmacros comme variables d'environnement (vous pouvez passer par exemple toutes les macrosnécessaires en argument de la ligne de commande), vous n'avez alors pas besoin de cette fonc-tionnalité. Vous pouvez empêcher de rendre les macros disponibles comme variables d'environ-nement en utilisant l'option enable_environment_macros .

Page 368: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

341 / 379

4. Fréquence de consolidation des résultats de contrôle. La variable check_result_reaper_frequ-ency détermine la fréquence à laquelle Nagios doit vérifier la présence de résultats de contrôlesd'hôtes et de services qui doivent être traités. Le temps maximum qu'il doit passer à traiter cesrésultats est déterminé par la variable tempsmaximumde consolidation (voir ci-dessous). Si votrefréquence de consolidation est trop élevée (pas assez fréquente), vous pourriez voir apparaîtredes latences importantes dans les contrôles d'hôtes et de services.

5. Temps maximum de consolidation. La variable max_check_result_reaper_time détermine letempsmaximum que le démon Nagios peut passer à traiter les résultats de contrôles d'hôtes et deservices avant de pouvoir faire autre chose - comme exécuter de nouveaux contrôles d'hôtes et deservices. Une valeur trop élevée peut donner des latences importantes pour les contrôles d'hôteset de services. Si vous rencontrez des problèmes de latences élevées, ajustez cette variable etvérifiez le résultat de vos réglages. Une nouvelle fois, vous devriez grapher les statistiques avecMRTG pour pouvoir prendre cette décision.

6. Ajuster la taille du tampon. Vous pouvez avoir à régler la valeur de l'option external_command_-buffer_slots . Grapher les statistiques liées au tampon avec MRTG (voir au dessus) est critiquepour pouvoir déterminer les valeurs à utiliser pour cette option.

7. Vérifiez la latence des services pour déterminer la meilleure valeur pour le nombre maximalde contrôles en parallèle. Nagios peut restreindre le nombre maximal de contrôles de serviceexécutés en parallèle à la valeur que vous spécifiez dans le paramètre max_concurrent_checks. Cela vous permet de gérer la charge que Nagios impose à votre hôte de supervision, mais celapeut aussi ralentir le traitement. Si vous notez des latences importantes (> 10 ou 15 secondes)pour la majorité de vos contrôles de service (via le CGI d'informations complémentaires), vousprivez sans doute Nagios des contrôles dont il a besoin. Ce n'est pas la faute de Nagios - c'estla vôtre. Dans des conditions idéales, tous les contrôles de service ont une latence de 0, ce quisignifie qu'ils sont exécutés au moment précis où ils ont été ordonnancés. Ceci dit, il est normalque certains contrôles aient de petites latences. Je recommanderais de doubler la valeur quepropose Nagios pour le nombre minimal de contrôles en parallèle, fournie lorsque Nagios estlancé avec le paramètre -s. Continuez à augmenter cette valeur tant que la latence moyennepour vos services reste assez basse. Vous trouverez plus d'informations sur l'ordonnancementdes contrôles de service ici.

8. Utilisez des contrôles passifs à chaque fois que c'est possible. La surcharge induite par le traite-ment des résultats des contrôles passifs de service est bien moindre que celle des contrôlesactifs normaux, donc prenez cette information en compte si vous supervisez de nombreux ser-vices. Notez que les contrôles passifs de service ne sont réellement utiles que si une applicationexterne réalise une partie de la supervision ou produit des rapports ; si c'est Nagios qui réalisetout le travail, ceci ne changera rien.

9. Evitez l'utilisation des plugins interprétés. L'utilisation de plugins compilés (C/C++, etc.) réduirasignificativement la charge de votre hôte de supervision par rapport aux scripts interprétés (Perl,etc.). Si les scripts Perl ou autres sont faciles à écrire et fonctionnent bien, le fait qu'ils soientcompilés/interprétés à chaque exécution peut augmenter considérablement la charge de votrehôte de supervision lorsque vous avez de nombreux contrôles de service. Si vous souhaitez utiliserdes plugins Perl, essayez de les compiler en vrais exécutables grâce à perlcc(1) (un utilitaire quifait partie de la distribution Perl standard) ou essayez de compiler Nagios avec un interpréteurPerl intégré (voir ci-dessous).

10. Utilisez l'interpréteur Perl intégré. Si vous utilisez de nombreux scripts Perl pour les contrôlesde service, etc., vous vous apercevrez sans doute qu'en compilant Nagios avec un interpréteurPerl intégré vous accélérez les traitements.

11. Optimisez les commandes de contrôle d'hôte. Si vous contrôlez l'état des hôtes avec le plugincheck_ping, vous vous apercevrez que ces contrôles se font bien plus vite en les éclatant. Plutôtque de spécifier une valeur de 1 pour le paramètre max_attempts dans la définition de l'hôteet de dire au plugin check_ping d'envoyer 10 paquets ICMP à l'hôte, il est bien plus rapide depasser max_attempts à 10 et de n'envoyer qu'un paquet ICMP à chaque fois. Ceci est dû au faitque Nagios peut souvent déterminer l'état d'un hôte après n'avoir exécuté le plugin qu'une fois,il vaut donc mieux que le premier contrôle soit le plus rapide possible. Cette méthode présentedes inconvénients dans certaines situations (c.-à-d. que les hôtes lents à répondre peuvent être

Page 369: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

342 / 379

considérés comme hors service), mais vous aurez des contrôles d'hôte plus rapides si vous l'u-tilisez. Vous pouvez aussi utiliser un plugin plus rapide (c.-à-d. check_fping) dans le paramètrehost_check_command plutôt que check_ping.

12. Planifiez une vérification régulière des hôtes. La planification régulière de contrôles d'hôtes peutdonner un gain de performance à Nagios. Cela est dû à la façon dont la logique de cache descontrôles fonctionne (voir ci-dessous). Avant Nagios 3, la planification régulière des contrôlesd'hôtes pouvait avoir un impact très négatif sur les performances. Ce n'est plus le cas puisqueles contrôles d'hôtes sont exécutés en parallèle - tout comme les services. Pour planifier descontrôles réguliers pour un hôte, mettez le paramètre check_interval de la définition d'hôte àune valeur supérieure à 0.

13. Activer le cache pour les contrôles d'hôtes. À compter de Nagios 3, les contrôles d'hôtes à la de-mande peuvent bénéficier de cache. Les contrôles d'hôtes à la demande sont déclenchés quandNagios détecte un changement d'état sur un service. Ces contrôles sont exécutés parce queNagios veut savoir si l'hôtes associé au service a changé d'état. En activant le cache pour lescontrôles d'hôtes, vous pouvez gagner en performance. Dans certains cas, Nagios peut être ca-pable d'utiliser l'état mise en cache d'un hôte, plutôt que de réellement exécuter le contrôle. Celapeut accélérer les choses et réduire la charge du serveur de supervision. Pour mettre en place lecache des contrôles d'hôtes, vous devez ordonnancer des contrôles réguliers de vos hôtes (voirplus haut). Plus d'informations sur le cache pour les contrôles d'hôtes peut être trouvé ici.

14. N'utilisez pas le contrôle agressif des hôtes. Sauf si Nagios a du mal à identifier les rétablisse-ments d'hôte, je recommanderais de ne pas activer le paramètre use_aggressive_host_check-ing . Quand cette option est désactivée, les contrôles s'exécutent beaucoup plus vite, accélérantle traitement des résultats de contrôles de service. Cependant, les rétablissements d'hôtes peu-vent être manqués en certaines circonstances lorsque l'option est désactivée. Par exemple, siun hôte se rétablit et que tous les services associés à cet hôte restent dans un état non-OK (etne bagotent pas entre différents états non-OK), Nagios peut ne pas voir que l'hôte s'est rétabli.Certains utilisateurs peuvent avoir besoin d'activer cette option, mais ce n'est pas le cas pour lamajorité, et je recommanderais de ne pas l'utiliser si vous n'en avez pas expressément besoin…

15. Augmentez l'intervalle de vérification des commandes externes. Si vous gérez beaucoup de com-mandes externes (p. ex. des vérifications passives dans une supervision distribuée), vous devrezprobablement affecter -1 au paramètre command_check_interval . Cela forcera Nagios à véri-fier les commandes externes aussi souvent que possible. C'est important parce que la plupartdes systèmes ont une petite taille de tampon pour les tubes de redirections [NdT : pipe] (c.-à-d.4 Ko). Les tampons sont utilisés pour conserver les commandes externes lues depuis le fichierde commandes externes (par un thread séparé) avant d'être traitées par le démon Nagios. Sicelui-ci reçoit beaucoup de remontées de contrôles passifs, vous pouvez aboutir à une situationoù le tampon est toujours plein. Le résultat est que les processus enfant (scripts externes, démonNSCA, etc.)sont bloqués quand ils essayent d'écrire dans le fichier de commandes externes. Jevous recommande fortement de grapher le tampon pour les tubes de redirections en utilisantMRTG et l'utilitaire nagiostats comme décrit ici de façon à voir la consommation moyenne dutampon pour les tubes de redirections de votre installation Nagios.

16. Optimisez le matériel pour des performances maximales.

Page 370: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

343 / 379

NoteLes performances matérielles ne devraient pas poser problème sauf si :(a) Vous supervisez des milliers de services(b) Vous faîtes beaucoup de post traitement de données de performance, etc. La configura-

tion matérielle va affecter directement les performances de votre système d'exploitation,et donc celles de Nagios. L'amélioration principale que vous puissiez réaliser concerne lesdisques durs. La vitesse du processeur et la mémoire affectent bien évidemment les per-formances, mais les accès disque seront votre goulet d'étranglement le plus fréquent. Nestockez pas les plugins, le journal des états, etc. sur des disques lents (c.-à-d. des vieuxdisques IDE ou des montages NFS). Si vous en avez, utilisez des disques UltraSCSI ou desdisques IDE rapides. Une remarque importante pour les utilisateurs de IDE/Linux : bien desinstallations de Linux n'essaient pas d'optimiser les accès au disque. Si vous ne changezpas les paramètres d'accès au disque (en utilisant un utilitaire comme hdparm), vousperdrez beaucoup des fonctionnalités améliorant la vitesse des nouveaux disques IDE.

Page 371: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

344 / 379

Chapitre 63

Options de démarrage rapide

63.1 Introduction

Il y a plusieurs choses que vous pouvez faire pour diminuer le temps de démarrage de Nagios (ou deredémarrage). Ces options permettent toutes d'alléger la charge de travail nécessaire à Nagios dansle calcul de vos fichiers de configuration.L'utilisation de ces techniques est particulièrement intéressante quand vous êtes dans un ou plusieursdes cas suivants :

– Configurations importantes– Configurations complexes (utilisation massive des gabarits)– Installations où les redémarrages fréquents sont nécessaires

63.2 Arrière-plan

Nagios doit calculer les fichiers de configuration à chaque démarrage/redémarrage avant de pouvoirpasser à son boulot de supervision. Ce processus de démarrage implique un certain nombre d'étapes

– Lecture des fichiers de configuration– Résolution des définitions de gabarits– Recalcul de vos objets (le terme employé par Ethan pour indiquer les différentes opérations im-pliquées est recombobulating)

– Duplication des définitions d'objets– Héritage des propriétés d'objets– Classement des définitions d'objets– Vérification de l'intégrité des relations entre objets– Contrôle de références circulaires– et bien plus…

Certaines de ces étapes peuvent se révéler consommatrices en temps quand vous avez des configu-rations importantes ou complexes. Existe t'il un moyen d'accélérer une de ces étapes ? Oui !

Page 372: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

345 / 379

63.3 Évaluation des temps de démarrage

Avant d'essayer d'accélérer les choses, nous avons besoin de savoir si le jeu en vaut la chandelle.C'est facile à faire - démarrer simplement Nagios avec l'argument -s pour avoir les informations deplanification et de temps.Un exemple de la sortie (uniquement la partie intéressante) est montrée ci-dessous. Pour cet exemple,j'utilise une configuration Nagios qui a 25 hôtes et juste un peu plus de 10 000 services définis.# /usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg

Nagios 3.0-prealphaCopyright (c) 1999-2007 Ethan Galstad (http://www.nagios.org)Last Modified: 01-27-2007License: GPL

Timing information on object configuration processing is listedbelow.  You can use this information to see if precaching yourobject configuration would be useful.

Object Config Source: Config files (uncached)

OBJECT CONFIG PROCESSING TIMES (* = Potential for precache savings with -u option)----------------------------------Read: 0.486780 secResolve: 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 secFree: 0.021347 sec

============TOTAL: 11.555925 sec * = 8.393170 sec (72.63%) estimated savings

Timing information on configuration verification is listed below.

CONFIG VERIFICATION TIMES (* = Potential for speedup with -x option)----------------------------------Object Relationships: 1.400807 secCircular 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 près 11,6 secondes pour calculerles fichiers de configuration et encore 56 secondes pour vérifier cette configuration. Cela implique qu'àchaque fois que je vais démarrer ou redémarrer Nagios, il va se passer presque 68 secondes avant queNagios ne commence à superviser quoi que ce soit ! C'est inacceptable si je dois redémarrer Nagiosde façon assez régulière.Que puis-je faire ? Regardez de nouveau la sortie et vous verrez que Nagios estime qu'il pourraitgagner 8,4 secondes dans le calcul de la configuration et encore 54,7 secondes pour la vérification decelle-ci. Au total, Nagios pense qu'il pourrait gagner 63 secondes sur le temps de démarrage normalsi quelques optimisations étaient appliquées.Whoa! De 68 secondes à 5 secondes ? Et oui, lisez ceci pour savoir comment faire.

Page 373: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

346 / 379

63.4 Mise en pré-cache des objets de configuration

Nagios peut passer un temps non négligeable à parcourir vos fichiers de configuration, surtout si vousutilisez des fonctionnalités de gabarits telles que l'héritage, etc. Pour réduire le temps que Nagiosprend à parcourir vos fichiers de configuration, vous pouvez demander à Nagios de précalculer vosfichiers de configuration et de mettre en cache le résultat pour une utilisation future.

Quand vous excéutez Nagios avec l'option -p,Nagios va lire vos fichiers de configuration, lescalculer et enregistrer le résultat dans unfichier de pré-cache (spécifié par le paramètreprecached_object_file ). Ce fichier deconfiguration pré-caché contiendra les entréesde configuration pré-calculées et sera plusfacile/rapide à traiter par Nagios dans le futur.Vous devez utiliser l'option -p, en mêmetemps que l'option -v ou -s, comme indiquéci-dessous. Cela permet de s'assurer que votreconfiguration est vérifiée avant que la fichierde pré-cache ne soit créé.

# <:b>/usr/local/nagios/bin/nagios -pv / -usr/local/nagios/etc/nagios.cfg</b>

La taille de votre fichier de pré-cache sera trèscertainement supérieure à la somme de lataille de vos fichiers d'objets de configuration.C'est normal et ainsi pensé.

Une fois que le fichier de pré-cache a été créé,vous pouvez démarrer Nagios et lui indiquerd'utiliser ce fichier plutôt que d'utiliser lesfichiers d'objets de configuration en utilisantl'argument -u à la ligne de commande.# <:b>/usr/local/nagios/bin/nagios -ud / -

usr/local/nagios/etc/nagios.cfg</b>

ImportantSi vous avez modifié vos fichiers deconfiguration, vous devrez revérifier etrecacher vos fichiers de configurationavant de pouvoir redémarrer Nagios. Sivous ne le faîtes pas, Nagios va contin-uer à utiliser votre ancienne configura-tion parce qu'il la lit désormais depuis lefichier de pré-cache plutôt que depuisvos fichiers de configuration sources.

Page 374: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

347 / 379

63.5 Passer outre les tests de références circulaires

La deuxième partie (et la plus consommatrice en temps) de la phase de démarrage est le contrôledes références circulaires. Dans l'exemple ci-dessus, cela a pris près d'une minute pour achever cetteétape de la vérification de la configuration.Qu'est-ce que le contrôle de références circulaires et pourquoi cela prend t'il autant de temps?La vérifcation des références circulaires est prévue pour s'assurer que vous n'avez pas défini deréférences circulaires dans vos hôtes, les dépendances d'hôtes ou les définitions de dépendancesde services. Si une référence circulaire existe dans vos fichiers de configuration, Nagios pourrait finirdans une situation d'impasse. La raison la plus probable qui fait que cette vérification est aussi longueest que je n'utilise pas un algorithme efficace. Un algorithme plus efficace pour détecter les référencescirculaires serait le bienvenu. Astuce : Cela veut dire que tous les étudiants en sciences informatiquequi m'écrive pour m'indiquer qu'ils vont faire leur thèse sur Nagios pourrait contribuer en retour aucode. :-) [Note du traducteur] : Cet algorithme a été revu et amélioré dans une version 3.x de Nagios.Si vous souhaitez outrepasser la vérification des références circulaires au démarrage de Nagios, vouspouvez ajouter l'argument -x sur la ligne de commande comme suit :# /usr/local/nagios/bin/nagios -xd /usr/local/nagios/etc/nagios.cfg

ImportantIl est de la plus haute importance de vérifier votre configuration avant de démarrer/redémarrerNagios sans vérification des références circulaires. Ne pas le faire pourrait vous conduire dansl'impasse. Vous êtes prévenu.

63.6 Tout mettre ensemble

Suivez ces étapes si vous souhaitez profiter de gains potentiels en utilisant le fichier de pré-cache eten omettant le contrôle des références circulaires.

1. Vérifiez votre configuration Nagios et créez le fichier de pré-cache avec la commande suivante :# /usr/local/nagios/bin/nagios -vp /usr/local/nagios/etc/nagios.cfg

2. Arrêtez Nagios s'il est en cours d'exécution.3. Démarrez Nagios comme ceci de façon à utiliser le fichier de pré-cache et à ne pas faire lecontrôle des références circulaires.# /usr/local/nagios/bin/nagios -uxd /usr/local/nagios/etc/nagios.cfg

4. À l'avenir, quand vous modifiez vos fichiers de configuration originaux et que vous avez besoinde redémarrer Nagios pour appliquer ces modifications, répétez l'étape 1 pour revérifier votreconfiguration et regénérer le fichier de pré-cache. Une fois ceci fait, vous pouvez redémarrerNagios à partir de l'interface web ou en envoyant un signal SIGHUP. Si vous ne regénérez pas lefichier de pré-cache, Nagios continuera à utiliser votre ancienne configuration parce qu'il la litdepuis le fichier de pré-cache plutôt que depuis les fichiers de configuration sources.

5. Et voilà ! Appréciez la vitesse accrue de démarrage.

Page 375: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

348 / 379

Chapitre 64

Trucs et astuces pour les installationsde grande dimension

64.1 Introduction

Les utilisateurs ayant des installations de grande dimension peuvent tirer quelques bénéfices de l'op-tion de configuration use_large_installation_tweaks . Activer cette option permet à Nagios d'u-tiliser quelques raccourcis dont les résultats sont unemoindre consommation système et demeilleuresperformances.

64.2 Effets

Quand vous activez l'option use_large_installation_tweaks dans votre fichier de configurationNagios, plusieurs choses changent dans le fonctionnement du démon Nagios :

1. Pas de macros de résumé dans les variables d'environnement - les macros de résumé ne serontpas disponibles comme variables d'environnement. Calculer les valeurs de ces macros peut de-venir assez consommateur de temps dans des installations de grande dimension, aussi elles nesont pas disponibles quand cette option est activée. Les macros de résumé resteront disponiblescomme toutes les macros si vous les passez en argument de vos scripts.

2. Nettoyage de la mémoire différent - Habituellement, Nagios va libérer tout l'espace mémoirealloué aux processus enfants avant de les terminer. C'est certainement la meilleure façon defaire, mais cela n'est pas utile dans la plupart des installations parce que la plupart des OSprennent soin de libérer la mémoire allouée quand les processus se terminent.

3. Moins de fork() - Habituellement, Nagios va fork() deux fois quand il exécute un contrôled'hôte et de service. Cela permet (1) d'avoir une plus grande résistance contre les plugins quiprovoquent des segfault et (2) permet à l'OS de gérer le nettoyage du processus parent quand ilse termine. Le fork() supplémentaire n'est pas forcément nécessaire, aussi est-il ignoré quandvous activez cette option. Le résultat est que c'est Nagios lui-même qui va nettoyer les proces-sus enfants quand ils se terminent (au lieu de laisser ce boulot à l'OS). Cette fonction devraitpermettre de réduire de façon significative la charge du serveur Nagios.

Page 376: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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é avecle démon principal de Nagios. L'utilitaire nagiostats vous permet d'obtenir diverses informations surle processus Nagios qui peuvent être très utiles lors de l'optimisation des performances . Vous pouvezobtenir 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 Affichage intelligible

Pour une utilisation normale, lancez l'utilitaire nagiostats avec l'argument -c pour spécifier l'em-placement de votre fichier de configuration principal comme ceci :[nagios@lanman ~]# /usr/lo-cal/nagios/bin/nagiostats -c /usr/local/nagios/etc/nagios.cfg

Nagios Stats 3.0prealpha-05202006Copyright (c) 2003-2007 Ethan Galstad (www.nagios.org)Last Modified: 05-20-2006License: GPL

CURRENT STATUS DATA------------------------------------------------------Status File:                            /usr/local/nagios/var/status.datStatus File Age:                        0d 0h 0m 9sStatus File Version:                    3.0prealpha-05202006

Program Running Time:                   0d 5h 20m 39sNagios PID:                             10119Used/High/Total Command Buffers:        0 / 0 / 64Used/High/Total Check Result Buffers:   0 / 7 / 512

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

Page 377: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

350 / 379

Services Passively Checked:             1Total Service State Change:             0.000 / 78.950 / 1.026 %Active Service Latency:                 0.000 / 4.272 / 0.561 secActive Service Execution Time:          0.000 / 60.007 / 2.066 secActive Service State Change:            0.000 / 78.950 / 1.037 %Active Services Last 1/5/15/60 min:     4 / 68 / 91 / 91Passive Service State Change:           0.000 / 0.000 / 0.000 %Passive Services Last 1/5/15/60 min:    0 / 0 / 0 / 0Services Ok/Warn/Unk/Crit:              58 / 16 / 0 / 21Services Flapping:                      1Services In Downtime:                   0

Total Hosts:                            24Hosts Checked:                          24Hosts Scheduled:                        24Hosts Actively Checked:                 24Host Passively Checked:                 0Total Host State Change:                0.000 / 9.210 / 0.384 %Active Host Latency:                    0.000 / 0.446 / 0.219 secActive Host Execution Time:             1.019 / 10.034 / 2.764 secActive Host State Change:               0.000 / 9.210 / 0.384 %Active Hosts Last 1/5/15/60 min:        5 / 22 / 24 / 24Passive Host State Change:              0.000 / 0.000 / 0.000 %Passive Hosts Last 1/5/15/60 min:       0 / 0 / 0 / 0Hosts Up/Down/Unreach:                  18 / 4 / 2Hosts Flapping:                         0Hosts In Downtime:                      0

Active Host Checks Last 1/5/15 min:     9 / 52 / 164   Scheduled:                           4 / 23 / 75   On-demand:                           3 / 23 / 69   Cached:                              2 / 6 / 20Passive Host Checks Last 1/5/15 min:    0 / 0 / 0Active Service Checks Last 1/5/15 min:  9 / 80 / 244   Scheduled:                           9 / 80 / 244   On-demand:                           0 / 0 / 0   Cached:                              0 / 0 / 0Passive Service Checks Last 1/5/15 min: 0 / 0 / 0

External Commands Last 1/5/15 min:      0 / 0 / 0

[nagios@lanman ~]#

Comme vous pouvez le constater, l'utilitaire affiche un bon nombre de mesures concernant le proces-sus Nagios. Les mesures qui ont des valeurs multiples sont (sauf mention contraire) les valeurs min,max et moyenne pour cette mesure particulière.

65.4 Intégration à MRTG

Vous pouvez utiliser l'outil nagiostat pour afficher diverses mesures de Nagios avec MRTG (ou toutautre programme compatible). Pour cela, lancez nagiostats en utilisant les arguments --mrtg et ---data. L' option --data est utilisée pour spécifier que les statistiques sont destinées à être représen-tées graphiquement. Les valeurs possibles pour l'option --data sont listées en lançant l'utilitairenagiostats avec l'option --help.

NoteLes informations pour utiliser l'utilitaire nagiostats pour générer des graphiques MRTG des statis-tiques de performance de Nagios peuvent être trouvées ici.

Page 378: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

351 / 379

Page 379: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

352 / 379

Chapitre 66

Grapher les informations de perfor-mance avec MRTG

66.1 Introduction

L'utilitaire nagiostats vous permet de grapher divers statisques de performance dans le temps enutilisant MRTG . Ceci est important car il peut vous aider à :

– Assurer le bon fonctionnement de Nagios– Localiser les problèmes dans le processus de supervision– Observer la performance des impacts des changements dans votre configuration de Nagios

66.2 Exemple de configuration MRTG

Un fichier d'exemple de configuration MRTG pour grapher quelques statistiques Nagios de perfor-mance peut être trouvé dans le fichier mrtg.cfg situé dans le sous-répertoire sample-config/ dupackage Nagios. Vous pouvez créer des graphs d'autres informations de performance si vous voulez- Les exemples vous donnent juste un bon point de départ.Une fois que vous aurez copié ces exemples d'entrées dans votre fichier de configuration MRTG(/etc/mrtg/mrtg.cfg), vous devriez avoir des nouveaux graphiques, la prochaine fois que MRTGfonctionnera.

66.3 Exemples de graphiques

Je vais décrire ce que quelques-uns des graphiquesMRTG signifient et à quoi ils peuvent être utilisés…

Page 380: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

353 / 379

Les contrôles actifs des hôtes - Ce graphiquemontre comment les contrôles actifs d'hôtes(réguliers et sur demande) ont eu lieu au cours dutemps. Utiles pour la compréhension :– Des contrôles d'hôte– Des contrôles de prédiction de dépendance d'hôte– Des contrôles mis en cache

Les contrôles actifs des services - Ce graphiquemontre comment les contrôles des services actifs(réguliers et sur demande) ont eu lieu au cours dutemps. Utiles pour la compréhension :– Des contrôles de service– Des contrôles de prédiction de dépendance deservice

– Des contrôles mis en cache

Les contrôles d'hôtes et de services mis en cache -Ce graphique montre comment les contrôlesd'hôtes et de services mis en cache ont eu lieu dansle temps. Utiles pour la compréhension :– Des contrôles mis en cache– Des contrôles de prédiction de dépendance d'hôteet de service

Page 381: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

354 / 379

Les contrôles passifs des services - Ce graphiquemontre comment les contrôles des services passifsont eu lieu au cours du temps. Utiles pour lacompréhension :– Des contrôles passifs

Les hôtes/services actifs contrôlés - Ce graphiquemontre combien (d'un nombre total de) d'hôte et deservices ont été contrôlés activement dans letemps. Utiles pour la compréhension :– Des contrôles actifs

Les hôtes/services passifs contrôlés - Ce graphiquemontre combien (d'un nombre total de) d'hôte et deservices ont été contrôlés passivement dans letemps. Utiles pour la compréhension :– Des contrôles passifs

Page 382: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

355 / 379

La latence et le temps d'exécution d'un contrôle deservice - Ce graphique montre la latence moyenneet le temps moyen de l'exécution d'un contrôle deservice dans le temps. Utiles pour lacompréhension :– Des contrôles de service– De l'optimisation des performancesUne forte latence persistente peut être l'indicationqu'une ou plusieurs des variables suivantes a/ontbesoin d'être modifiée(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 dechangement d'état (une valeur de la volatilité) desservices au cours du temps, ventilés par lesservices qui ont été contrôlés en dernier activementou passivement. Utiles pour la compréhension :– Détection d'oscillation

La latence et le temps d'exécution d'un contrôled'un hôte - Ce graphique montre la latencemoyenne et le temps moyen de l'exécution d'uncontrôle d'hôte dans le temps. Utiles pour lacompréhension :– Des contrôles d'hôte– De l'optimisation des performancesUne forte latence persistente peut être l'indicationqu'une ou plusieurs des variables suivantes a/ontbesoin d'être modifiée(s) :– max_concurrent_checks– check_result_reaper_frequency– max_check_result_reaper_time

Le taux moyen de changement d'état des hôtes - Cegraphique montre le pourcentage moyen dechangement d'état (une valeur de la volatilité) deshôtes au cours du temps, ventilés par les hôtes quiont été contrôlés en dernier activement oupassivement. Utiles pour la compréhension :– Flap detection

Page 383: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

356 / 379

Les commandes externes - Ce graphique montrecomment les commandes externes ont été traitéespar le démon Nagios dans le temps. A moins quevous traitiez un grand nombre de commandesexternes (comme dans le cas d'une architecture desupervision distribuée), ce graphique semble restervide. La supervision des commandes externes peutêtre utile pour la cromprehension des impacts de :– Des contrôles passifs– La supervision distribuée– Redondance/Basculement en cas de panne de lasupervision

Les tampons de Commandes Externes - Cegraphique montre comment les emplacementsmémoire des tampon de commandes externes sontutilisés dans le temps. Si le nombre des tamponsutilisés est proche du nombre de tamponsdisponibles, il semblerait qu'il faille augmenter lenombre d'emplacement mémoire pour les tamponsde commandes externes. Chaque emplacementmémoire d'un tampon peut contenir une commandeexterne. Les tampons sont utilisés pour gardertemporairement en mémoire les commandesexternes du moment où elles ont été lues à partirdu fichier de commandes externes jusqu'à cequ'elles soient traitées par le démon Nagios.

Page 384: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

357 / 379

Huitième partie

Intégration avec d'autres logiciels

Page 385: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

358 / 379

Chapitre 67

Vue générale de l'intégration

67.1 Introduction

Une des raisons de la popularité de Nagios comme logiciel de supervision est sa capacité à s'intégrer àvotre infrasctuture existante. Il y a plusieurs méthodes pour intégrer Nagios avec le logiciel de gestiond'infrastructure que vous utilisez déjà et vous pouvez supervisez quasiment n'importe quel type dematériel, nouveau ou personnalisé ainsi que les applications que vous possédez.

67.2 Les points d'intégration

Page 386: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

359 / 379

Pour superviser de nouveaux matériels, services ou applications, regardez les documentations sur :

– Les plugins– Le développement de plugin– Les contrôles passifs– Le gestionnaire d'événements

Pour recevoir dans Nagios les données d'appplications externes, regardez les documentations suiv-antes sur :

– Les contrôles passifs– Les commandes externes

Pour envoyer des états, données de performance ou des notifications de Nagios vers des appplicationsexternes, regardez les documentations suivantes sur :

– Le gestionnaire d'événements– Les commandes OCSP et OCHP– Les données de performance– Les notifications

67.3 Exemples d'intégration

J'ai documenté quelques exemples d'intégration de Nagios avec des applications tierces :

– Intégration d'un TCP Wrapper– Intégration de UCD-SNMP (statut de job Arcserve)

Page 387: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

360 / 379

Chapitre 68

Intégration des interruptions SNMP

68.1 Introduction

NoteNagios n'est pas prévu pour remplacer une application de gestion dédiée SNMP comme HP OpenViewou OpenNMS. Quoique qu'il en soit, vous pouvez régler les choses de façon à ce qu'une interruptionSNMP reçu par un des hôtes de votre réseau puisse générer une alerte dans Nagios.

Comme s'il avait été prévu pour fairemourir de rire les Dieux de l'Hypocrisie, SNMP est tout sauf simple.Traduire les interruptions SNMP et les recevoir dans Nagios (comme résultat de contrôle passif) peutêtre assez pénible. Pour rendre les choses un peu plus faciles, je vous propose de regarder du côté duprojet de Alex Burger, SNMP Trap Translator situé à http://www.snmptt.org. Combiné avec Net-SNMP,SNMPTT fournit un système de gestion des interruptions amélioré qui peut être intégré à Nagios.Oui, c'est tout.

Page 388: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

361 / 379

Chapitre 69

Intégration d'un TCP Wrapper

69.1 Introduction

Cet exemple explique comment générer aisément des alertes dans Nagios pour des connexions re-jetées par un TCP wrapper (encapsuleur TCP). Ces explications supposent que l'hôte pour lequel vousgénérez ces alertes (i.e. l'hôte sur lequel vous utilisez le TCP wrappers) n'est pas le même hôte quecelui sur lequel Nagios est installé. Si vous souhaitez générer des alertes sur l'hôte Nagios, vous au-rez besoin de faire quelques modifications à l'exemple que je vous propose. Je suppose également quevous avez installé le démon nsca sur la machine de surpervision et le client NSCA (send_nsca) sur lamachine qui génère les alertes TCP wrappers.Il y a quelques pré-requis à savoir :1. Vous êtes maintenant familiariser avec Chapitre 31 et comment les utiliser.2. Vous êtes maintenant familiariser avec Volatile Services et comment les utiliser.3. L'hôte avec lequel vous allez générer des alertes est une machine distance que l'on appellerafirestorm. Si vous voulez générer les alertes TCP Wrapper sur le même hôte que votre serveurde 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 Définition du Service

Si vous ne l'avez pas encore fait, créez une définition d'hôte pour l'hôte à superviser (firestorm).

Page 389: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

362 / 379

Tout d'abord vous devez définir un service dans votre fichier de configuration des objets pour lesalertes du TCP wrapper. En supposant que l'hôte émettant les alertes s'appelle firestorm, un exemplede définition pourrait ressembler à quelque chose comme ça :define service {

host_name firestormservice_description TCP Wrappersis_volatile 1active_checks_enabled 0passive_checks_enabled 1max_check_attempts 1check_command check_none...

}

Il est important de noter que1. le service à l'option volatile activée. Cette option est activée parce que nous voulons qu'unenotification soit générée pour toutes les alertes survenant.

2. Notez également que les contrôles actifs sont désactivés pour ce service, alors que les contrôlespassifs sont activés

3. Le max_check_attempts à 1 signifie que ce service enverra des alertes dès son premier change-ment d'état.

69.3 Configuration du TCP Wrapper

Maintenant, il faut modifier le fichier /etc/hosts.deny sur la machine firestorm. Pour que l'encapsuleurTCP envoie une alerte à chaque connexion refusée, 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 répertoire /usr/local/nagios/libexec/eventhandlers/ sur firestorm. Le répertoire et le nom du script peuvent être changéscomme vous le voulez.

69.4 Écriture du script

La dernière chose à faire est d'écrire le script handle_tcp_wrapper sur firestorm qui enverra les alertesà l'hôte 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'hôte chargé de supervision. Supposons que votre hôte de supervision s'appelle monitor, le scriptsubmit check_result pourrait ressembler à ceci (vous devrez éventuellement modifier le script pourspécifier l'emplacement du programme send_nsca sur firestorm) :#!/bin/sh# Arguments# $1 = name of host in service definition# $2 = name/description of service in service definition# $3 = return code# $4 = outputs

Page 390: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 configuré tout ce dont vous avez besoin, vous devez redémarrer le processusinetd sur firestorm et redémarrer Nagios sur votre serveur de supervision. C'est tout ! Quand le TCPwrapper sur firestorm refusera une connexion, vous devriez recevoir des alertes via Nagios. Celaressemblera à ça : Denied sshd2-sdn-ar-002mnminnP321.dialsprint.net

Page 391: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

364 / 379

Neuvième partie

Compléments à Nagios

Page 392: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

365 / 379

Chapitre 70

Addons Nagios

70.1 Introduction

Il existe beaucoup d'addons disponibles pour Nagios. Les addons peuvent être utilisés pour étendreles fonctionnalités de Nagios ou pour l'intégrer à d'autres applications.Des addons sont disponibles pour :– Gérer les fichiers de configuration au travers de l'interface web– Superviser des hôtes distants (*NIX, Windows, etc.)– Soumettre des contrôles passifs depuis un hôte distant– Simplifier/étendre la logique de notification– …et bien plus encoreVous pouvez trouver beaucoup d'addons pour Nagios en visitant :– Nagios.org– SourceForge.net– NagiosExchange.orgJe vous vous faire une brève introduction à quelques addons que j'ai développé pour Nagios…

70.2 NRPE

Page 393: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

366 / 379

NRPE est un addon qui permet d'exécuter des plugins sur des hôtes distants de type Linux/Unix. C'estutile quand vous avez besoin des ressources/attributs locaux comme l'utilisation disque, la chargeCPU, l'utilisation mémoire, etc. sur un hôte distant. La même possibilité peut être obtenue avec leplugin check_by_ssh même si celui-ci impose une charge CPU plus importante sur le serveur desupervision, surtout si vous supervisez des centaines ou des milliers d'hôtes.L'addon NRPE et sa documentation peuvent trouvés sur http://www.nagios.org/.

70.3 NSCA

NSCA est un addon qui permet d'envoyer les résultats de contrôles passifs provenant d'hôtes distantsde type Linux/Unix au démon Nagios qui fonctionne sur le serveur de supervision. C'est très utile dansles environnements distribués et les environnements redondés.L'addon NSCA et sa documentation peuvent trouvés 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 baseMySQL. Plusieurs instances de Nagios peuvent stocker leurs informlations dans une base centralepour faire du reporting centralisé. Cela a de grandes chances d'être utilisé dans le futur pour lanouvelle interface web PHP de Nagios.NDOUtils et sa documentation peuvent être trouvés sur http://www.nagios.org/.

Page 394: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

367 / 379

Dixième partie

Développement

Page 395: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 sûrs d'avoir visiter ces autresressources :

– Le site officiel Nagios plugin project– Le site officiel des grandes lignes du developpement des plugins Nagios

71.2 Vue d'ensemble du plugin

Les scripts et exécutables doivent faire deux choses (au minimum) afin d'être considérés comme plu-gins Nagios

– Sortir avec une des différentes valeurs de retour possibles– Retourner au moins une ligne de texte vers le STDOUT

Le fonctionnement interne de votre plugin n'intéresse pas Nagios. Votre plugin peut contrôler l'étatd'un port TCP, exécuter une requête sur une base de données, vérifier l'espace disque restant, ou fairetout à fait autre chose dont il a besoin pour effectuer son contrôle.

71.3 Code de retour

Nagios détermine l'état de l'hôte ou du service en évaluant le code de retour du plugin. Le tableausuivant nous montre une liste des différents codes de retour valides, ainsi que l'état du service ou del'hôte correspondant.

Code de retour du plugin Etat du service Etat de l'hôte0 OK UP1 WARNING UP ou

DOWN/UNREACHABLE*2 CRITICAL DOWN/UNREACHABLE3 UNKNOWN DOWN/UNREACHABLE

Page 396: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

369 / 379

NoteSi l'option use_aggressive_host_checking est activée, les codes de retour 1 donneront un étatDOWN ou UNREACHABLE pour l'hôte. Sinon, les codes de retour 1 donneront un état UP pour l'hôte.Le processus par lequel Nagios détermine si une machine est DOWN ou UNREACHABLE est traité ici.

71.4 Spécifications pour la sortie du plugin

Au minimum, les plugins doivent retourner au moins du texte en sortie. A partir de Nagios 3, les plu-gins peuvent optionnellement retourner plusieurs lignes de texte en sortie. Les plugins peuvent aussiretourner optionnellement des données de performance qui pourront être traitées par une applicationexterne. Le format basique pour la sortie d'un plugin est décrit ci-dessous:TEXT OUTPUT | OPTIONAL PERFDATALONG TEXT LINE 1LONG TEXT LINE 2…LONG TEXT LINEN | PERFDATA LINE 2PERFDATA LINE 3…PERFDATA LINE NLes données de performance (ici en orange) sont optionnelles. Si un plugin renvoie des données deperformance dans sa sortie, elles doivent être séparées du texte en utilisant le symbole 'pipe' ou 'tube'( | ). Les lignes supplémentaires 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 effectuer un contrôle d'un service, la ligne entière de sortie sera écritedans la macro $SERVICEOUTPUT$.Cas 2 : Une ligne en sortie (texte et données de performance)Un plugin peut retourner optionnelement des données de performance pouvant être utilisées par desapplications externes. Pour ce faire, les données de performance doivent être séparées du texte parun 'pipe' ou 'tube' ( | ) comme ceci :DISK OK - free space: / 3326 MB (56%);

|

/=2643MB;5948;5958;0;5968

Si le plugin est utilisé pour effectuer un contrôle de service, la partie en rouge du message de sor-tie du plugin (à gauche du séparateur 'pipe') sera écrite dans la macro $SERVICEOUTPUT$ et la par-tie orange du message de sortie du plugin (à droite du séparateur 'pipe' ) sera écrite dans la macro$SERVICEPERFDATA$ .Cas 3 : Plusieurs lignes de sortie (texte et données de performance)Un plugin peut optionnellement retourner plusieurs lignes de texte et de données de performance,comme suit :

Page 397: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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 effectuer un contrôle de service, la partie en rouge de la première ligne dumessage de sortie du plugin (à gauche du séparateur 'pipe') sera écrite dans la macro $SERVICEOUT-PUT$. Les parties oranges de la première ligne et suivantes seront concaténées (avec des espaces) etseront stockées dans la macro $SERVICEPERFDATA$. es parties bleues de la 2ème à la 5ème ligne dumessage de sortie du plugin seront concaténées (avec comme séparateur le caractère 'nouvelle ligne'[ ] ) et seront stockées dans la macro $LONGSERVICEOUTPUT$.Le contenu final de chaque macro est listé ci-dessous:

Macro Valeur$SERVICEOUTPUT$ DISK OK - free space : / 3326 MB (56%) ;$SERVICEPERFDATA$ /=2643MB;5948;5958;0;5968 /boot=68MB;88;93;0;98 /home=69357MB;253404;253409;0;253414 /var/log=818MB;970;975;0;980$LONGSERVICEOUTPUT$ / 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 lesdonnées de performance :

– Vous pouvez choisir de ne pas retourner de données de performance– Vous pouvez retourner des données de performances seulement sur la première ligne– Vous pouvez retourner des données de performance seulement sur les lignes suivantes (après lapremière)

– Vous pouvez retourner des données de performance aussi bien sur la première ligne que les suiv-antes (comme montré si dessous)

71.6 Restriction de longueur de message de sortie de plugin

Nagios ne lira que les premiers 4KB des données qui seront retournées par le plugin. Ceci dans lebut d'empêcher les plugins à déverser des Mégas ou des Gigas de données à Nagios. Cette limitede 4KB est assez facile à modifier si vous en ressentez le besoin. Il suffit de modifier la valeur de ladéfinition nommée MAX_PLUGIN_OUTPUT_LENGTH dans le fichier include/nagios.h.in du code sourceet 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 télécharger lesplugins officiels Nagios et de jeter un œil sur les différents scripts des plugins en C, Perl ou encoreShell. Des information sur l'obtention des plugins Nagios officiels peuvent être trouvées ici.

71.8 Plugins Perl

Nagios peut utiliser en option un interpréteur Perl intégré qui peut accélérer l'exécution des pluginscodés en Perl. Plus d'informations sur le développement des plugins en Perl utilisant l'interpréteurPerl intégré disponibles ici.

Page 398: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

371 / 379

Chapitre 72

Développement de plugins pour êtreutilisés avec Perl intégré à Nagios

72.1 Introduction

Stanley Hopcroft a beaucoup travaillé sur l'interpréteur Perl intégré et a commenté les avantages etinconvénients de son utilisation. Il a également donné plusieurs trucs utiles pour écrire des pluginsPerl qui fonctionnent correctement avec l'interpréteur intégré. La majeure partie de cette documen-tation provient de ses commentaires.Notez que ePN, tel qu'il est utilisé dans cette documentation, fait référence à Perl intégré à Nagios[embedded Perl Nagios], ou si vous préférez, Nagios compilé avec un interpréteur Perl intégré.

72.2 Public visé

– Développeurs Perl de niveau moyen ; ceux qui ont une idée des puissantes fonctionnnalités du lan-gage sans en avoir une connaissance appronfondie.

– Ceux qui ont une appréciation pratique plutôt qu'un grand niveau de compréhension.– Si vous êtes à l'aise avec les objets Perl, la gestion de nom, les structures de données et le déboguer,ça devrait suffire.

72.3 Les choses que vous devriez faire quand vous développezun plugin Perl (ePN ou pas)

– Générez toujours un affichage– Utilisez use utils et importez ce qui en est exporté ($TIMEOUT %ERRORS &print_revision &sup-port)

– Jetez un œil sur la façon 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 paramètres de la ligne de commande– Gérez les dépassements de délai– Appelez print_usage (que vous fournissez) quand il n'y a pas de paramètre à la commande– Utilisez des noms de paramètres standard (par exemple H 'host', V 'version')

Page 399: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

372 / 379

72.4 Ce que vous devez faire quand vous écrivez un plugin Perlpour ePN

1. <DATA> ne peut pas être utilisé ; utilisez ici des documents à la place, par exemple :my $data = <<DATA;portmapper 100000portmap 100000sunrpc 100000rpcbind 100000rstatd 100001rstat 100001rup 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 paramètres (notamment T) ne sont d'aucune aide)– utilisez perl -c

4. Evitez les variables de portée lexicale (my) déclarées globalement comme moyen de passer desvariable aux fonctions. En fait ceci est fatal si la fonction est appelée par le plugin plus d'une foislorsque le contrôle est exécuté. Ces fonctions se comportent comme des encapsulations [closures]qui verrouillent les variables lexicales globales sur leur première valeur lors des appels suivantsà la fonction. Si toutefois votre variable globale est en lecture seule (une structure de donnéescomplexe par exemple), ce n'est pas un problème. Ce que Bekman recommande en remplacementest une des solutions suivantes :

– faites une fonction anonyme et appelez-la à travers une référence 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 références ou alias (\$lex_var or $_[n])– remplacez les variables lexicales par des variables globales au paquetage et excluez les desobjections faites par 'use strict' en déclarant '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 ObjectOriented Perl de Damien Conways) mais pour les bonnes réponses dans ce contexte commencezpar le guide du mod_perl de Stas Bekman sur http://perl.apache.org/guide/.

Page 400: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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'interpréteur Perl intégré à Apache (par exemple lemod_perl de Doug MacEachern).La page man perlembed est essentielle pour le contexte et les encouragements.Si l'on considère que Lincoln Stein et Doug MacEachern savent deux-trois choses sur Perl etl'intégration de Perl, leur livre Writing Apache Modules with Perl and C vaut certainement d'êtrelu.

6. Sachez que votre plugin peut retourner d'étranges valeurs avec ePN, et que cela est probable-ment dû au point 4 ci-dessus.

7. Soyez prêt à déboguer en :– ayant un ePN de test– ajoutant des instructions print à votre plugin pour afficher la valeur des variables sur STDERR(STDOUT ne peut pas être utilisé)

– ajoutant des instructions print à p1.pl pour afficher ce qu'ePN pense qu'est votre plugin avantd'essayer de le lancer (vi)

– lançant l'ePN en avant-plan (probablement en conjonction avec les recommandations précé-dentes)

– utilisant le module Deparse sur votre plugin pour voir comment l'analyseur syntaxique l'a opti-misé, et ce que l'interpréteur reçoit réellement (voir Constants in Perl de Sean M. Burke, ThePerl 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 déboguerla version transformée.Comme vous pouvez le constater ci-dessous p1.pl réécrit votre plugin comme une fonction ap-pelé 'hndlr' dans le paquetage nommé Embed : :<quelque-chose-ayant-rapport-avec-le-nom-de-fichier-de-votre-plugin>.Votre plugin attend peut-être des paramètres de la ligne de commande dans @ARGV, donc pl.plassigne également @_ à @ARGV.Ceci à son tour est évalué et si eval remonte une erreur (qu'elle soit syntaxique ou d'exécution),le plugin est jeté dehors.La copie d'écran suivante montre comment un ePN de test a transformé le plugin check_rpcavant d'essayer de l'exécuter. Seule une petite partie du code du plugin est montrée ici, car nousne nous intéressons qu'aux transformations que l'ePN lui fait subir). Les transformations sontaffichées 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

Page 401: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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'ilforce la valeur de retour à CRITICAL dans tous les plugins Perl.

10. Envisagez l'utilisation d'un mini Perl intégré pour vérifier votre plugin. Cela ne suffit pas à validervotre plugin avec l'ePN, mais si le plugin échoue à ce test il échouera également avec l'ePN. Unexemple de mini ePN est inclus dans le répertoire contrib/ de la distribution de Nagios à cettefin. Placez-vous dans le répertoire contrib/ et tapez make mini_epn pour le compiler. Il doitêtre exécuté depuis le répertoire où se trouve p1.pl (ce fichier est distribué avec Nagios).

Page 402: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

375 / 379

Chapitre 73

Glossaire

Ce glossaire, lexique définit les termes utilisés dans la documentation.

A

AddonUn addon est un logiciel prévu pour fonctionner avec Nagios et qui en étend les possibilités,fonctionnalités.

C

ContactLe contact permet de déterminer qui est prévenu lors d'un problème sur un hôte ou un service

H

HôteUn hôte est tout élément actif du réseau dont l'état peut être défini (up, down,unreachable).Généralement, tout élément actif du réseau possédant une addresse IP est considéré commehôte.

N

NRPEVoir "Nagios Remote Plugin Executor".

Nagios Remote Plugin Executor (NRPE)NRPE est le composant de Nagios qui permet de déclencher une prise de mesure active sur unhôte distant. C'est un élément de supervision de type actif.

Page 403: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

376 / 379

P

PluginUn plugin est un script écrit dans n'importe quel langage capable de renvoyer à Nagios un état,un indicateur.

S

ServiceAu sens Nagios du terme, un service est....

Page 404: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

377 / 379

Chapitre 74

Index

AAPI, 9, 10

CCGI, 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

DDebian, 30, 31

FFedora, 17, 20, 26

MMacros

$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

Page 405: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument 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

NNagios, 198--202NRPE, 41, 334, 366NSCA, 201, 247, 342, 361, 366

OopenSUSE, 22, 25

PParamètres de configuration

retry_interval, 9Plugins

check_by_ssh, 41, 366check_cluster, 276, 277check_dns, 276check_dummy, 244, 251check_fping, 342check_ftp, 56

Page 406: fr_FR.nagios-3.x-beta-8

Documentation Nagios Version3.x

Ed. Française DocbookDocument de Travail

379 / 379

check_hpjd, 43--45check_http, 55, 163, 286check_imap, 58check_mrtgtraf, 48, 51check_nagios, 252check_nrpe, 257check_nt, 34, 38check_ping, 289, 341, 342check_pop, 57check_rpc, 373check_smtp, 57check_snmp, 48, 50, 51check_ssh, 56

ProtocolesDHCP, 162DNS, 104, 109, 275, 276FTP, 33, 40, 53, 55, 56, 104, 162HTTP, 2, 33, 40, 53, 55, 104, 115, 162, 191,

236, 337, 339HTTPS, 337, 339ICMP, 341IMAP, 53, 58, 162IMAP4, 58NTP, 2POP3, 2, 33, 53, 57, 58, 104, 162SMTP, 2, 40, 57, 115SNMP, 43--45, 47, 48, 50, 51, 53, 142, 198,

240, 334, 360SSH, 40, 41, 53, 56, 57, 104, 162, 332, 336

UUbuntu, 26, 27, 29--31

WWAP, 150, 223