Supervision avec OMD Open Monitoring Distribution Hugo Étiévant ENS de Lyon
Plan Contexte et besoins Architecture technique Cas pratiques Retour d expérience 2
Contexte Réorganisation institutionnelle Repartir de zéro Mode projet Évangélisation 3
M4P Méthode de Pilotage de Projets et de Portefeuille de Projets 1. Avant projet Opportunité Faisabilité 4 Équipe projet Veille Étude de marcher Glossaire Existant Périmètre Besoins Choix d une solution (ou plusieurs) 2. Go 3. Projet 4. Feedback Conception détaillée Cahier des charges Maquettes et tests Pré-formation Choix d architecture et dimensionnement serveur Réalisation Installation Formation Procédures Reprise existant Mise en production Correctifs de paramétrage
Supervision Pourquoi? Connaître l état du SI Éviter des pannes prévisibles Améliorer la réactivité des équipes Comment? Sondes (connaître l état d un service) Superviseur (ordonnancer l exécution de sondes sur un grand nombre d hôtes) Générateur de graphes (courbes de tendances) 5
Besoins Fonctionnalités Délégation opérateurs Interface web Périmètre Serveurs Équipements réseau Onduleurs, température Contraintes Budget limité Environnement Nagios Cloisonnement des périmètres fonctionnels entre équipes Reprise de l existant 6
Besoins Services de base Sondes Check_MK et Nagios (CPU, mémoire ) Opérateurs Vues paramétrable Rôles différenciés Sondes particulières SGBD (verrous ) vsphere AP wifi liaisons laser (voltage, température) serveurs de jeton sondes de température Filesender (quotas, flux ) 7
OMD (Open Monitoring Distribution) Principes Intégration de nombreux outils en une distribution Performances optimisées Installation simplifiée www.omdistro.org Composants Superviseur Nagios Shinken Icinga Interface web Multisite Thruk Générateur de graphe Base de données monitoring Superplugin Check_MK Cartographie, Wiki, Helpdesk 8
Check_MK Surcouche à Nagios, en améliore les performances Paramétrage simplifié Détection automatique des services Interface full web personnalisable Intégration de NagViz et PNP4Nagios via Livestatus mathias-kettner.com/check_mk.html 9
Architecture Opérateurs Multisite Web Plateform. Wiki Cartographie Helpdesk etc PNP4nagios MK Livestatus (socket) Event Daemon Superviseur (Nagios) NPCD RRDcacheD passive checks active check syslog / SNMP traps Check_MK TCP / SSH / SNMP Plugins Nagios RRDtool TMPFS 10 Hôtes
Modes de supervision 11 serveur Plugin Nagios serveur check supervision Check_MK agent local Check_MK de collecte de l inventaire des services SNMP serveur agent SNMP NRPE/NSCA D1 A équipement réseau agent local compatible NRPE ou NSCA (NSClient++)
12 Interface web utilisateur «Multisite»
13 Interface web utilisateur avec une vue limitée
14 Interface web administrateur «WATO»
Untergunter CC BY-NC-SA 4.0 Fonctionnement général WATO pilote superviseur Nagios stocke RRDtool configure fournit interroge graphe 15 opérateur consulte Multisite génère pnp4nagios
Défis de la configuration Avec Nagios Associer une sonde à un service sur un hôte Fichiers de configuration de Nagios et lignes de commandes Très grand nombre d hôtes et de services Beaucoup de similitudes entre hôtes Avec Check_MK Interface web Règles de paramétrage s appliquant sur de grandes masses d hôtes et de services Détection automatique des services 16
Organisation des hôtes en dossier basée sur les similitudes Grandes familles Réseau Système Contrôle d'accès onduleurs liaisons laser sondes de températures switches, routeurs bornes wifi Types d équipements réseau (SNMP) Systèmes d exploitation (agent local) Linux Windows vsphere 17
Étiquettes Pour aider à gérer facilement de grandes masses d hôtes Associés aux dossiers et aux hôtes Étiquette = valeur parmi une liste fermée Exemple : Étiquette «Agent type» pouvant avoir une valeur parmi : PING SNMP Agent local Check_MK 18
Règle Associe les éléments suivants : Fonctionnalité une fonction du superviseur ou le choix d une sonde Périmètre d application (ensemble d hôtes/services) par la combinaison des filtres dossier étiquettes liste d hôtes Paramètres adaptant le comportement de la sonde (ex : seuils d alerte) ou de la fonction 19
règle 0..* Paramétrage par les règles Les règles sont classées en 7 catégories. jeu de règles La supervision se configure via un jeu de règles. supervision Un hôte peut appartenir à un ou plusieurs groupe(s). 0..* 0..* 0..* groupe d hôtes Une règle s applique en fonction de critères de condition : par dossier, par étiquettes ou par hôtes. Une règle associe des paramètres à une sonde ou une fonctionnalité paramètres Un dossier ou un hôte est affecté d étiquettes et de groupes utilisateurs. étiquettes hôte 0..* Un dossier contient des hôtes et des sous-dossiers qui héritent de ses propriétés. 1 conditions d application 20 sonde groupe d utilisateurs dossier
OMD : installation 1. Installation aptitude install omd Données et programmes dans /opt/omd/ 2. Création d une instance omd create [instance] omd config [instance] omd start [instance] 3. Accès à l instance http://[hôte]/[instance]/ 21
Ajout d un hôte agent local 0.a Déploiement de l agent local (DEB, RPM, MSI) dpkg -i check-mk-agent_[version].deb vi /etc/xinetd.d/check_mk only_from = [localhost] [superviseur] service xinetd reload 0.b Test de l agent check_mk_agent telnet localhost 6556 <<<check_mk>>> Version: 1.2.4p5 AgentOS: linux 22
Ajout d un hôte dossier 1. Choix d un dossier Les hôtes héritent des propriétés du dossier parent : Permissions opérateurs Étiquettes Parents Réseau 23
Ajout d un hôte propriétés 2. Propriétés de l hôte Nom Permissions Alias IP Parents Étiquettes 24
Ajout d un hôte inventaire 3. Inventaire des services 4. Validation des changements recharge la configuration de Nagios 25
Règle de paramétrage 1. Choix d une règle paramétrage du superviseur groupes notifications inventaires checks (timeperiod, interval, retry, attempts) agents (SNMP, Check_MK ) etc. paramétrage des sondes 26
Règle de paramétrage 2. Conditions dossier étiquettes liste d hôtes 3. Paramétrages seuils d alerte etc. is 27
Règle de paramétrage 4. Liste des règles triées par dossier ordonnancées désactivables 28
Plugin Nagios 1. Déploiement d un plugin + librairies tierces 2. Création d une règle de type «Classical Nagios checks», enrichie des paramètres : Service description Command line Performance data 29
Plugin Check_MK 1. Côté client Déployer un check dans l agent local : /usr/lib/check_mk _agent/plugins/ 2. Côté superviseur Plugin en langage Python Retourne : code d erreur, informations et performances Modèle de graphe PNP4nagios Page de paramétrage du WATO Page de manuel Inventorier le nouveau service 30 mathias-kettner.de/check_mk_exchange.php
300 250 200 150 100 50 0 Typologie des hôtes système 34% 7% réseau 59% 31
Modes de supervision SNMP agent Check_MK plugins Nagios NRPE 32 0 100 200 300 400 500
Nos indicateurs 830 hôtes 9200 services 270 règles 4 périodes de temps 10 étiquettes 10 dossiers 10 groupes de contacts 15 utilisateurs 7 rôles 20 Plugins Nagios 40 groupes d hôtes 33
Retour d expérience Tous les serveurs de la DSI supervisés Implication de toutes les équipes (délégation) Très peu de pannes «invisibles» Moins de pannes (préventif) Plus grande réactivité, meilleure analyse (curatif) Encore quelques faux positifs 34
Principaux avantages Configuration simplifiée Visualisation flexible Vues personnalisées Bookmark Permissions Nagstamon Notifications flexibles 35
Pour le futur Davantage de sondes applicatives spécifiques Business Intelligence Ressenti utilisateur (application métier) Reporting 36
Pour en savoir plus Article joint en version longue : http://cyberzoide.developpez.com/supervision/ OMD : http://www.omdistro.org Check_MK : http://mathias-kettner.com/check_mk.html 37
Présentation réalisée aux JRES 2015 à Montpellier par Hugo Étiévant le 11/12/2015 https://2015.jres.org/ «Les Journées Réseaux de l Enseignement et de la Recherche (JRES), l état de l art des réseaux informatiques de l enseignement et de la recherche français.» www.jres.org 38