17
Philippe PIERRE Shinken Guide de la supervision (de l’installation à l’exploitation)

Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

  • Upload
    buinhan

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

Shin

ken -

Gui

de d

e la

sup

ervi

sion

Shinken Guide de la supervision (de l’installation à l’exploitation)

Philippe PIERRE a exercé de nombreuses années en tant qu’Administrateur de bases de données puis Administrateur système et réseau et a enseigné au CNAM Paris. Aujourd’hui, il exerce en tant qu’Ingénieur d’infrastructure au sein d’un laboratoire pharmaceutique. Il connaît parfaitement les systèmes Linux et Unix dans le cadre d’un environnement d’en-treprise à haute disponibilité. Cette expertise et sa grande connaissance des exigences des utili-sateurs, lui permet de proposer aux lecteurs un livre efficace sur la supervision avec Shinken.

Ce livre sur Shinken (en version 2.4 au moment de l’écriture) s’adresse à des administrateurs d’infrastructures ainsi qu’à des utilisateurs avertis et initiés à la supervision. Il a pour objectif, d’une part de démontrer l’utilité de la surveillance accrue d’une infrastructure et d’autre part de guider le lecteur dans le déploiement de cette solution de supervision et l’adaptation de son paramétrage au plus près des besoins de l’entreprise tout en évitant certains écueils. Dans un premier temps, l’auteur détaille le concept même de la supervision et sélectionne une architecture type pour installer la solution Shinken (sur un serveur Red Hat 6.x dans le livre) et décrire les bonnes pratiques à mettre en œuvre pour concevoir une plateforme de supervi-sion pérenne. Les chapitres suivants présentent des fonctionnalités de Shinken qui permettent une supervision avancée de l’infrastructure (bases de données, serveurs web, réseau SAN…) mais aussi la mise en place de la sécurisation de la solution. Un chapitre est dédié au déve-loppement de la solution via la programmation ou l’utilisation d’outils tiers pour étendre les capacités de Shinken.Tout au long du livre, l’auteur propose une démarche didactique mettant en œuvre une plate-forme complète de supervision sécurisée. Il illustre ses propos par un exemple concret de ges-tion de parc informatique avec déploiement d’un centre de support au travers d’outils complé-mentaires comme GLPI et FusionInventory. Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

Avant-propos • Conception et architecture • Préparation et installation • Conception d’ar-chitecture de supervision • Gestion de la configuration • Supervision avancée • Sécuri-sation et redondance • Développement et pro-grammation • Applications et cas pratiques • Conclusion

Les chapitres du livre

Téléchargementwww.editions-eni.fr.fr

sur www.editions-eni.fr : b Exemples de codes, scripts

et programmes décrits dans le livre.

ISSN : 1960-3444ISBN : 978-2-409-00042-3

54 €

Pour plus d’informations :

Philippe PIERRE

Shinken Guide de la supervision

(de l’installation à l’exploitation)

Page 2: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

1Table des matières

Avant-propos1. Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3. Prérequis et connaissances nécessaires . . . . . . . . . . . . . . . . . . . . . . . . 13

4. Structure de l'ouvrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapitre 1Conception et architecture

1. Supervision : concepts et rappels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2 Fonctionnalités de la supervision . . . . . . . . . . . . . . . . . . . . . . . . 16

1.2.1 La surveillance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.2.2 Les notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.2.3 Les sondes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.4 Les patrons ou templates . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.5 Les dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.6 Les escalades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.3 Différentes catégories de supervision . . . . . . . . . . . . . . . . . . . . . 181.3.1 Supervision système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.2 Supervision réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.3 Supervision sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.4 Supervision applicative . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.5 Supervision métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.4 Les protocoles utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.1 Protocole TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.2 Protocole ICMP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Les éléments à télécharger sont disponibles à l'adresse suivante :http://www.editions-eni.fr

Saisissez la référence de l'ouvrage EPSHIN dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 3: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

2Guide de la supervision (de l’installation à l’exploitation)

Shinken

1.4.3 Protocole SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2. Héritage de Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1 Généralités sur Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Découpage des rôles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3 Les flux de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.4 Les différents services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3. Découpage des rôles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.1 Arbiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3 Poller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4 Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5 Reactionner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.6 Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4. Apports de Shinken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.1 Garantie de la disponibilité des services . . . . . . . . . . . . . . . . . . . 344.2 Alertes en cas d'incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3 Proactivité et réaction en cas de panne . . . . . . . . . . . . . . . . . . . . 364.4 Répartition de charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4.1 Création de packs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4.2 Agrégation de packs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.4.3 Envoi de configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5. L'infrastructure d'entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.1 Hypothèses de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.2 Recensement des équipements à superviser . . . . . . . . . . . . . . . . 455.3 Liste des sites et répartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.4 Énumération des groupes de machines et services . . . . . . . . . . . 495.5 Conception de la globalité de l'infrastructure. . . . . . . . . . . . . . . 54

Page 4: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

3Table des matières

Chapitre 2Préparation et installation

1. Prérequis et préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571.1 Installation des prérequis communs . . . . . . . . . . . . . . . . . . . . . . 581.2 Installation du référentiel MongoDB . . . . . . . . . . . . . . . . . . . . . 591.3 Installation des options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601.4 Création de l'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

2. Installation par package Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3. Installation via l'installeur Shinken. . . . . . . . . . . . . . . . . . . . . . . . . . . 643.1 Cas particulier de l’installeur Shinken 2.2. . . . . . . . . . . . . . . . . . 663.2 Installation directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.3 Installation via un proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4. Installation par rpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1 Commande shinken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2 Installation de modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3 Mise à jour des plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5. Installation de modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.1 Le site shinken.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.2 Modules et addons pour l'interface graphique . . . . . . . . . . . . . . 77

5.2.1 Interface WebUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.2.2 Interface Livestatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.2.3 Interface Thruk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.3 Paramétrage particulier : SELinux . . . . . . . . . . . . . . . . . . . . . . . . 96

6. Répertoires essentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.1 Répertoires de Shinken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.2 Répertoires des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.3 Répertoires des modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.4 Répertoires de traces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7. Configuration principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.1 Première prise de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.2 Ajout de widgets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Page 5: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

4Guide de la supervision (de l’installation à l’exploitation)

Shinken

7.3 Ajout de packs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.4 Ajout de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5 Administration de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

8. Procédure de mise à jour de Shinken . . . . . . . . . . . . . . . . . . . . . . . . . 129

Chapitre 3Conception d’architecture de supervision

1. Recensement d’infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

2. Déclaration des services et des équipements . . . . . . . . . . . . . . . . . . 1362.1 Déclaration de l’hôte local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362.2 Activation des serveurs Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 1422.3 Activation des serveurs Windows . . . . . . . . . . . . . . . . . . . . . . . 144

2.3.1 Gestion de la supervision passive . . . . . . . . . . . . . . . . . . 1452.3.2 Gestion de la supervision active . . . . . . . . . . . . . . . . . . . 146

2.4 Supervision des switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1532.5 Supervision des châssis HP Blades . . . . . . . . . . . . . . . . . . . . . . . 1562.6 Supervision des équipements de virtualisation . . . . . . . . . . . . 158

2.6.1 Supervision du cluster vMotion . . . . . . . . . . . . . . . . . . . 1622.6.2 Supervision de la machine physique . . . . . . . . . . . . . . . . 1642.6.3 Supervision des machines virtuelles . . . . . . . . . . . . . . . . 1662.6.4 Supervision du centre d'administration . . . . . . . . . . . . . 168

2.7 Supervision des équipements utilisateurs . . . . . . . . . . . . . . . . . 170

3. Supervision des serveurs d'infrastructure . . . . . . . . . . . . . . . . . . . . . 1703.1 Serveur DHCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1713.2 Serveur de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1733.3 Serveur DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

4. Activation des dépendances et des notifications . . . . . . . . . . . . . . . 1764.1 Les notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1764.2 Les contacts et leurs groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . 1804.3 Les dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

5. Architecture de DMZ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Page 6: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

5Table des matières

6. L’interface WebUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1896.1 Le dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.1.1 Le menu latéral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1916.1.2 La barre de résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1936.1.3 L'espace widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

6.2 Les hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1946.3 Les services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1956.4 Les incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Chapitre 4Gestion de la configuration

1. De quoi s'agit-il ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.1 Liste des éléments de la configuration . . . . . . . . . . . . . . . . . . . 2001.2 Gestion de la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2001.3 Enregistrements des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2011.4 Audit et catalogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

2. Utilisation de modèles (ou templates) . . . . . . . . . . . . . . . . . . . . . . . 2032.1 Principe de la factorisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032.2 Concentration de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2052.3 Application des templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

3. Automatisation de la découverte. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093.1 Mise en application pour les serveurs . . . . . . . . . . . . . . . . . . . . 219

3.1.1 windows-srv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2203.1.2 windows-svc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2223.1.3 linux-srv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2253.1.4 linux-svc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

3.2 Mise en application pour les équipements réseau . . . . . . . . . . 2293.2.1 switch-srv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293.2.2 switch-svc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

3.3 Mise en application pour les équipements de virtualisation . . 2323.3.1 Blades-srv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323.3.2 Blades-svc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

Page 7: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

6Guide de la supervision (de l’installation à l’exploitation)

Shinken

3.3.3 Vmware-srv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2333.3.4 Vmware-svc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353.3.5 Vm-srv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373.3.6 Vm-svc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

4. Groupes et découpage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2394.1 Groupes d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2394.2 Groupes de services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

5. Découverte avancée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2415.1 L'autodécouverte avancée avec nmap . . . . . . . . . . . . . . . . . . . . 241

5.1.1 Les règles de découverte avancées pour les hôtes . . . . . . 2425.1.2 Les règles de découverte avancées pour les services . . . . 242

5.2 Module MySQL-Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445.3 Intégration et couplage Puppet . . . . . . . . . . . . . . . . . . . . . . . . . 250

5.3.1 De quoi s'agit-il ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515.3.2 Installation et configuration . . . . . . . . . . . . . . . . . . . . . . 2525.3.3 Puppet et la sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2555.3.4 Principe de fonctionnement. . . . . . . . . . . . . . . . . . . . . . . 2565.3.5 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Chapitre 5Supervision avancée

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

2. Supervision des bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . 2692.1 Bases de données Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2712.2 Bases de données MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2762.3 Bases de données SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

3. Supervision web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2873.1 Pack HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2873.2 Supervision au travers de pare-feu. . . . . . . . . . . . . . . . . . . . . . . 2903.3 Supervision nginx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2923.4 Mise en place d'un proxy nginx. . . . . . . . . . . . . . . . . . . . . . . . . 2953.5 Supervision d'application Tomcat. . . . . . . . . . . . . . . . . . . . . . . 296

Page 8: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

7Table des matières

4. Supervision SAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2994.1 Cas des baies IBM Storwize. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2994.2 Supervision du virtualiseur SVC . . . . . . . . . . . . . . . . . . . . . . . . 3074.3 Cas des switches SAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

5. Supervision de la messagerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3145.1 Serveur SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3145.2 Serveur POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

6. Corrélations et KPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3166.1 Corrélations simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3166.2 Business impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3206.3 Corrélations avancées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3226.4 Sophistication ultime : les KPI. . . . . . . . . . . . . . . . . . . . . . . . . . 329

7. Utilisation de la modularité et des tags. . . . . . . . . . . . . . . . . . . . . . . 3327.1 Module de tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3327.2 Tag de qualification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3347.3 Définition de la topologie réseau . . . . . . . . . . . . . . . . . . . . . . . . 335

8. Changement dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3358.1 Changement des dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . 3358.2 Changement de l'importance d'un service . . . . . . . . . . . . . . . . 337

9. Shinken sur Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

Chapitre 6Sécurisation et redondance

1. Redondance et haute disponibilité . . . . . . . . . . . . . . . . . . . . . . . . . . 3431.1 Redondance des processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

1.1.1 Configuration des processus . . . . . . . . . . . . . . . . . . . . . . 3441.1.2 Paramétrage supplémentaire . . . . . . . . . . . . . . . . . . . . . . 3481.1.3 Configuration des clients . . . . . . . . . . . . . . . . . . . . . . . . . 350

1.2 Notion de "spare" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3541.2.1 Mise en œuvre des processus de spare. . . . . . . . . . . . . . . 3541.2.2 Clonage du serveur principal . . . . . . . . . . . . . . . . . . . . . . 357

Page 9: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

8Guide de la supervision (de l’installation à l’exploitation)

Shinken

1.2.3 Synchronisation depuis Shinken . . . . . . . . . . . . . . . . . . . 360

2. Sécurisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3632.1 Les services volatiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

2.1.1 Quelles particularités pour ce type de services ? . . . . . . 3642.1.2 Exemple : détection de scan de ports TCP . . . . . . . . . . . 364

2.2 Sécurisation de la connexion WebUI . . . . . . . . . . . . . . . . . . . . 3662.3 Sécurisation du shell SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

2.3.1 Modification du numéro de port SSH. . . . . . . . . . . . . . . 3682.3.2 Filtrage d'accès aux utilisateurs . . . . . . . . . . . . . . . . . . . . 3682.3.3 Interdiction du compte root . . . . . . . . . . . . . . . . . . . . . . 369

2.4 Sécurisation des protocoles de messagerie . . . . . . . . . . . . . . . . 3702.4.1 Protocole POP3S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3702.4.2 Protocole SMTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

3. Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3733.1 Authentification SSO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3733.2 Utilisation de certificats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

3.2.1 Configuration primaire . . . . . . . . . . . . . . . . . . . . . . . . . . 3743.2.2 Service de surveillance des certificats . . . . . . . . . . . . . . . 376

3.3 Contrôleur de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

4. Classification par royaume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

5. Réplication de bases MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

6. Un mot sur SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

Chapitre 7Développement et programmation

1. Shinken et le code Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3951.1 Les modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3961.2 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3971.3 Les classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3981.4 Code Shinken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4001.5 Exemple de programme : le module WebUI . . . . . . . . . . . . . . . 401

Page 10: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

9Table des matières

2. Développement de modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4152.1 Rappels sur les modules de supervision. . . . . . . . . . . . . . . . . . . 4152.2 Module en shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4172.3 Module en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4192.4 Activation des nouveaux plugins . . . . . . . . . . . . . . . . . . . . . . . 421

3. Focus sur l'interface WebUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4223.1 Ajout de module pour l'arbiter. . . . . . . . . . . . . . . . . . . . . . . . . . 4233.2 Illustration : création d'un module arbiter . . . . . . . . . . . . . . . . 4253.3 Définition du plugin dans Shinken . . . . . . . . . . . . . . . . . . . . . . 428

4. Ajout de module pour le broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4294.1 Initialisation du module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4304.2 Méthode d'initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4314.3 Définition du nouveau module . . . . . . . . . . . . . . . . . . . . . . . . . 432

5. Modification de WebUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4335.1 Création d'un plugin WebUI . . . . . . . . . . . . . . . . . . . . . . . . . . . 4335.2 Modèle de page HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4355.3 Cas particulier d'un widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

Chapitre 8Applications et cas pratiques

1. Gestion de parc informatique avec GLPI. . . . . . . . . . . . . . . . . . . . . . 4411.1 Qu'est-ce que GLPI ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4421.2 Intégration à l'outil de supervision . . . . . . . . . . . . . . . . . . . . . . 4441.3 Installation de GLPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4481.4 Ajout de modules GLPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

1.4.1 Plugin Webservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4581.4.2 Plugin FusionInventory . . . . . . . . . . . . . . . . . . . . . . . . . . 4611.4.3 Plugin Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

2. Inventaire automatisé avec FusionInventory . . . . . . . . . . . . . . . . . . 4642.1 Configuration du module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4642.2 Déploiement de l’agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

Page 11: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

10Guide de la supervision (de l’installation à l’exploitation)

Shinken

2.3 Automatisation du déploiement Puppet. . . . . . . . . . . . . . . . . . 4762.4 Mise à jour de GLPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

3. Reporting et évolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4803.1 À quoi sert ITIL ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4813.2 Les processus ITIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4833.3 Le centre de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4843.4 La gestion d'incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4853.5 Démarche de mise en place d'un SLA . . . . . . . . . . . . . . . . . . . . 489

Conclusion1. Synthèse des capacités de l'outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

1.1 Les bases de la supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4991.2 La mise en œuvre de Shinken . . . . . . . . . . . . . . . . . . . . . . . . . . 5001.3 L'utilisation avancée de Shinken . . . . . . . . . . . . . . . . . . . . . . . . 5021.4 La fiabilité et la sécurisation de Shinken. . . . . . . . . . . . . . . . . . 5031.5 Ouverture du champ des possibles . . . . . . . . . . . . . . . . . . . . . . 5041.6 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505

2. Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

Page 12: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

Chapitre 5Supervision avancée

Supervision avancée1. IntroductionAprès avoir vu comment réaliser une supervision de base des différents équi-pements ou infrastructures d'entreprise, on peut ensuite déployer la supervi-sion applicative : bases de données, serveurs web, virtualisation de stockage…

2. Supervision des bases de donnéesLa supervision des bases de données diffère selon que l'on souhaite surveillerdes bases Oracle, SQL Server ou MySQL. Les auteurs de Shinken ont bienpensé aux administrateurs de bases de données en préparant des packs pourchacun des cas cités ci-dessus.

Remarque

Il existe également un pack pour les moteurs de bases PostgreSQL et les clus-ters PostgreSQL.

Page 13: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

© E

diti

ons

ENI -

All

righ

ts r

eser

ved

270Guide de la supervision (de l’installation à l’exploitation)

Shinken

Seul le fichier de déclaration des hôtes est commun, quel que soit le type debase de données. On peut se servir des groupes Shinken pour spécifier tel outel moteur de base de données :

define hostgroup{ hostgroup_name Oracle ; The name of the hostgroup alias Serveurs Oracle ; Long name of the group}define hostgroup{ hostgroup_name MySQL ; The name of the hostgroup alias Serveurs MySQL ; Long name of the group}define hostgroup{ hostgroup_name MS-SQL ; The name of the hostgroup alias Serveurs MS-SQL ; Long name of the group}

Ensuite, on peut également définir le fichier des serveurs dédiés aux bases dedonnées, sachant que d'après le modèle de base défini lors des préambules, ondispose de trois bases de données.

Exemple de définition du fichier host-bdd.cfg avec une base Oracle, unebase MS-SQL et une base MySQL

define host{ use generic-host host_name srvbdd01 address srvbdd01 hostgroup_name Oracle}define host{ use generic-host host_name srvbdd02 address srvbdd02 hostgroup_name MS-SQL}define host{ use generic-host host_name srvbdd03 address srvbdd03 hostgroup_name MySQL}

Page 14: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

271Supervision avancéeChapitre 5

2.1 Bases de données Oracle

D'après le contenu des commandes utilisées par le pack oracle, il est nécessairede récupérer le fichier .tar.gz du programme check_oracle_health surle site https://labs.consol.de/nagios/check_oracle_health/ afin de le décompres-ser dans le répertoire temporaire /tmp et le configurer avec le compte root :

# ./configure --prefix=/var/lib/shinken/libexec --with-user-nagios=shinken --with-group-nagios=shinken# make all# cp plugins-scripts/check_oracle_health /var/lib/shinken/libexec

Ensuite il faut récupérer, comme on l'aura fait préalablement avec les autrespacks, les fichiers de configuration commands.cfg ainsi que l'ensemble desfichiers se trouvant dans le sous-répertoire services. On peut alors utiliserle modèle se trouvant dans le fichier templates.cfg afin de réaliser lesparamétrages nécessaires à la supervision des hôtes et des services de bases dedonnées.

Rappel : un autre moyen plus direct d'installer ce plugin consiste à se connec-ter sur le compte Shinken et à exécuter l'instruction d'installation du modulenécessaire :

$ install -p check_oracle_health

Lorsque cela est réalisé, il faut alors intervenir au niveau des bases de donnéesà surveiller pour autoriser l'accès à leurs fonctions internes et permettre lacollecte des informations nécessaires. Dans ce but, il faut fournir à un utilisa-teur dédié (shinken par exemple) des privilèges spécifiques :

create user shinken identified by oradbmon;grant create session to shinken;grant select any dictionary to shinken;grant select on V_$SYSSTAT to shinken;grant select on V_$INSTANCE to shinken;grant select on V_$LOG to shinken;grant select on SYS.DBA_DATA_FILES to shinken;grant select on SYS.DBA_FREE_SPACE to shinken;

Page 15: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

© E

diti

ons

ENI -

All

righ

ts r

eser

ved

272Guide de la supervision (de l’installation à l’exploitation)

Shinken

Au cas où certaines bases Oracle 8.1.7 existeraient encore aujourd'hui, voici lesdroits particuliers à appliquer pour autoriser le compte shinken à y accéder :

grant select on sys.dba_tablespaces to shinken ;grant select on dba_temp_files to shinken;grant select on sys.v_$Temp_extent_pool to shinken;grant select on sys.v_$TEMP_SPACE_HEADER to shinken;grant select on sys.v_$session to shinken;

La commande check_oracle_health présente de nombreuses optionspermettant de fournir l'ensemble des paramètres d'authentification, defonctionnalités et de seuils liés à une instance de base Oracle :

Option Commentaire

--connect Fournit le nom de l'instance de base de données.

--user Précise le nom du compte Oracle à utiliser.

--password Fournit le mot de passe du compte pour l'authentifi-cation.

--tablespace Permet d'effectuer les vérifications uniquement sur le tablespace indiqué en paramètre.

--datafile Permet d'effectuer les vérifications uniquement sur le fichier indiqué en paramètre.

--name Permet de limiter les vérifications aux types d'objets en paramètres (latch, queues…).

--name2 (--mode=sql)

Permet en plus de la limitation aux types d'objets passés en paramètre de faire apparaître la requête SQL associée.

--warning Précise le seuil d'alerte WARNING.

--critical Précise le seuil d'alerte CRITICAL.

--runas Permet d'exécuter le script de vérification via une règle sudo (autre compte que celui du propriétaire).

--environment Permet de passer des variables d'environnement au script de vérification.

Page 16: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

273Supervision avancéeChapitre 5

Exemples de services pour Oracle :

– Objets invalides

define service{ service_description Oracle-$KEY$-invalid-objects use 1hour_short,oracle-service host_name oracle check_command check_oracle_invalid_objects!$KEY$ duplicate_foreach _databases aggregation /oracle/$KEY$}

– Tnsping

define service{ service_description Oracle-$KEY$-tnsping use 5min_short,oracle-service host_name oracle check_command check_oracle_tnsping!$KEY$ duplicate_foreach _databases}

--method Permet de préciser la méthode de connexion à l'instance : dbi ou sqlplus.

--units Permet de préciser l'unité du paramètre : %, KB, MB, GB.

--dbthreshold Permet de lire le seuil depuis la table interne check_oracle_health_threshold.

--statefilsdir Permet de dérouter les fichiers temporaires de /tmp pour les rediriger vers un répertoire personnel.

--mode Permet de préciser quels genres de vérifications on souhaite exécuter. Il existe de nombreuses valeurs. Consulter l'aide en ligne.

Option Commentaire

Page 17: Guide de la supervision (de l’installation à l ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000423.pdf · - Guide de la supervision Shinken Guide de la supervision (de

© E

diti

ons

ENI -

All

righ

ts r

eser

ved

274Guide de la supervision (de l’installation à l’exploitation)

Shinken

Il est possible de se passer de l'option --connect (et a fortiori des options--user et --password) à condition de préciser la chaîne de connexion àl'instance au travers de variables d'environnement :

– NAGIOS__SERVICEORACLE_SID : pour préciser le SID de l'instance.

– NAGIOS__SERVICEORACLE_USER : pour préciser le compte Oracle.

– NAGIOS__SERVICEORACLE_PASS : pour préciser le password associé aucompte.

En termes de supervision des bases de données Oracle, on peut suggérerquelques commandes pratiques permettant non seulement d'assurer un ser-vice de qualité mais également d'être certain de la cohérence des données :

# permet de s'assurer de la connectivité de l'instancedefine command { command_name check_oracle_tnsping command_line $PLUGINSDIR$/check_oracle_health --connect "$ARG1$" --user "$ORACLEUSER$" --password "$ORACLEPASSWORD$" --mode tnsping}

# permet de surveiller les sessions activesdefine command { command_name check_oracle_session_usage command_line $PLUGINSDIR$/check_oracle_health --connect "$ARG1$" --user "$ORACLEUSER$" --password "$ORACLEPASSWORD$" --dbthreshold --mode session-usage –warning 80 --critical 100}

# permet de vérifier l'utilisation mémoire des processusdefine command { command_name check_oracle_process_usage command_line $PLUGINSDIR$/check_oracle_health --connect "$ARG1$" --user "$ORACLEUSER$" --password "$ORACLEPASSWORD$" --dbthreshold --mode process-usage –warning 80 --critical 100}

# permet de vérifier le bon fonctionnement RMAN (backups)define command { command_name check_oracle_rman_backup_problems command_line $PLUGINSDIR$/check_oracle_health --connect "$ARG1$" --user "$ORACLEUSER$" --password "$ORACLEPASSWORD$"