Supervision

De Justine's wiki
Aller à la navigation Aller à la recherche

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.