Supervision
Concept
- Supervision
- Surveillance du bon fonctionnement d'un système ou d'une activité. Constituée de l'ensemble des moyens de collecte des données, leur agrégation et leur analyse pour présenter, rapporter et alerterl es fonctionnements normaux et anormaux.
Elle répond au préoccupations :
- Techniques : Réseau, infra, machines
- Applicatives : Applications et ressenti utilisateur
- SLAs : Respect des indicateurs contractuels
- Métier : Processus métier
À cette surveillance peuvent s'ajouter des actions réflexes, ainsi qu'une gestion des alertes.
- Hypervision
- Un SI peut avoir plusieurs systèmes de supervision. Mais un seul système d'hypervision est nécessaire, car toutes les données lui seront rapportées.
Architecture & Méthodes de collecte
Deux méthodes de collecte :
- PULL (méthode active): la plus courante, la plus simple, la plus fiable. Permet de suivre les indicateurs de perf. INtérêts : l'information est traitée sur le serveur de supervision; on contrôle aussi la fq de collecte de l'information.
- Protocoles : SNMP, WMI, NRPE, NSClient++, API, HTTP, LDAP, SSH...
- PUSH (méthode passive): Plus complexe. Moins fiable. Bref, moins bien. L'intérêt est de diminuer la charge de collecte sur la ressource (???? moui...).
- Protocoles : SYslog, MQ, NSCA, NRDP, Traps SNMP...
Architecture et moteur de collecte
Pour résumer simplement l'architecture : Moteur > Sonde > Equipement.
- Sonde
- Équipement permettant d'interroger un indictauer précis sur un équipement, un serveur, une application. %CPU, %Disque Libre... Elles peuvent utiliser différents protocoles : SNMP, ICMP, SMTP & consorts, etc...
Une sonde remonte 3 types d'informations :
- Un message de retour lisible
- Des données de performances (si applicable) pour générer un graphique
- Un code de retour déterminé en comparant la données collectée aux seuils.
Elle peut s'exécuter de trois façons :
- Agentless : Uniquement avec des protocoles standards, la couverture fonctionnelle est plus pauvre
- Avec agent : Element s'installant sur les serveurs
- Extensible : Langage spécifique, élement logiciel (?)
Codes de retour EN général : Hôtes : 0 : UP 1 : DOWN 2 : UNREACHABLE
Services : 0 : OK 1 : WARNING 2 : CRITICAL 3 : UNKWN
Dans la méthode active, le serveur envoie une requête, l'hôte interprète et renvoie les résultats. Dans la méthode passive, L'hôte vérifie ses points de contrôle et envoie ses résultats au serveur de supervision, l'échange est unidirectionnel.
Le rôle des moteurs
Le rôle des moteurs est donc de :
- Planifier la collecte
- Traiter les données collectées
- Transférer les données vers des supports de stockage
- Lancer des réactions automatisées
- Générer des alertes
Quelques références
Systèmes de supervision issus de Nagios
- Centreon
- Shinken
- Icinga
- Naemon
Analyse de logs
- Logstash de la pile ELK
- Graylog
- Splunk
Données de performances
- RRDTool (vieux)
- Time series
Stockage des données
En plus des bases classiques, on trouve d'autre types de bases de données utilisées.
Un mot sur les bases de données RRD
Il s'agit de bases de données adaptées au stockage de logs, comme pour Time Series :
- Timestamp => Valeur
Avec une agrégation des données au fuer et à mesure :
- Généralement en moyennant les données
Programmée pour avoir une taille fixe :
- Base de données cylindriques ou les plus vieilles données sont supprimées au profit des nouvelles
Base de données "Time Series Database"
C'est un système de données de séries temporelles (TSDB). Un système optimisé pour la gestion des données de séries chronologiques.