Concepts de Supervision
Introduction
La supervision informatique consiste à surveiller en continu le fonctionnement d’un système informatique (serveurs, réseaux, applications) afin de :
- détecter les anomalies ou pannes
- mesurer les performances
- anticiper les incidents
- alerter les administrateurs (notifications)
Logiciels de supervisions
Il existe de nombreux logiciels de supervision permettant de surveiller les systèmes et réseaux. Ces outils se distinguent par leurs fonctionnalités, leur complexité et leur modèle (open source ou propriétaire).
Exemples de solutions de supervision
-
Zabbix: Solution open source complète, utilisée pour superviser serveurs, réseaux et applications. Elle propose une interface web, des alertes et une grande capacité de personnalisation.
-
Nagios Outil historique de supervision. Très flexible mais souvent plus complexe à configurer. Il existe en version open source et commerciale.
-
Centreon Basé sur Nagios, il apporte une interface plus moderne et des fonctionnalités avancées, très utilisé en entreprise.
-
PRTG Network Monitor Solution propriétaire avec une interface simple et rapide à prendre en main. Adaptée aux petites et moyennes infrastructures.
-
Prometheus Outil moderne orienté cloud et conteneurs. Très utilisé avec Kubernetes et les architectures récentes.
Critères de choix
Le choix d’un outil de supervision dépend de plusieurs éléments :
- la taille de l’infrastructure
- le niveau de complexité
- les compétences techniques disponibles
- le budget
- les besoins en visualisation et en alertes
Protocole SNMP
Le protocole SNMP est un protocole standard utilisé pour superviser et gérer les équipements informatiques à distance.
Il est très utilisé pour surveiller :
- les serveurs (de plus en plus supervisés via des agents logiciels plus complets)
- les équipements réseau (switchs, routeurs)
- les imprimantes
- les objets connectés (IoT)
Objectifs du protocole SNMP
SNMP permet de :
- récupérer des informations sur un équipement
- surveiller son état
- être alerté en cas de problème
Exemple :
- connaître la charge CPU d’un serveur
- vérifier l’état d’un port réseau
- surveiller la température d’un équipement
Fonctionnement general
Le protocole SNMP repose sur un échange entre deux éléments principaux :
- Le serveur de supervision (manager) C’est lui qui interroge les équipements pour récupérer des informations (ex : serveur Nagios ou Zabbix)
- L’équipement supervisé (avec agent SNMP) Il s’agit d’un serveur, switch, routeur, imprimante, etc. Un service SNMP (appelé agent SNMP) doit y être activé. Cet agent :
- écoute sur le port UDP 161
- répond aux requêtes du serveur de supervision
Diagramme de séquence
sequenceDiagram
participant Nagios (Manager)
participant Agent SNMP
participant Equipement
Nagios (Manager)->>Agent SNMP: Requête SNMP (GET UDP 161)
Agent SNMP->>Equipement: Récupération de la donnée
Equipement-->>Agent SNMP: Valeur (ex: CPU)
Agent SNMP-->>Nagios (Manager): Réponse SNMP
Les OID et la MIB
Les informations SNMP sont identifiées par des OID.
Un OID est un identifiant unique qui correspond à une donnée précise.
Exemple :
- un OID pour la RAM
- un OID pour le CPU
- un OID pour le trafic réseau
Format :
C’est une structure arborescente
flowchart TD
A[".1 iso"]
A --> B[".3 org"]
B --> C[".6 dod"]
C --> D[".1 internet"]
D --> E[".2 mgmt"]
E --> F[".1 mib-2"]
F --> G[".25 host"]
F --> H[".2 interfaces"]
F --> I[".1 system"]
La MIB (Management Information Base) est une base de données qui contient la liste des OID disponibles pour un équipement particulier. Elle est fournit par le constructeur de celui ci.
Elle permet de faire le lien entre :
un OID (ex : 1.3.6…) et une information compréhensible (ex : CPU usage)
Differentes version de SNMP
Le protocole SNMP a évolué au fil du temps et existe aujourd’hui en plusieurs versions.
La version la plus récente est SNMPv3, qui apporte des mécanismes de sécurité avancés.
Cependant, de nombreux équipements (notamment anciens) utilisent encore des versions précédentes du protocole. Il est donc nécessaire d’adapter la configuration de l’agent SNMP en fonction de la version supportée par l’équipement.
| Version | Authentification | Chiffrement | Sécurité | Particularités | Usage |
|---|---|---|---|---|---|
| v1 | Community string | Non | Faible | Version historique, simple | Obsolète |
| v2c | Community string | Non | Faible | Plus performant que v1 | Encore utilisé |
| v3 | Utilisateur / mot de passe | Oui | Élevée | Authentification + chiffrement | Recommandé |
flowchart LR
A[SNMPv1] -->|Pas sécurisé| D[Supervision]
B[SNMPv2c] -->|Plus rapide\nMais non sécurisé| D
C[SNMPv3] -->|Authentification + Chiffrement| D
Dans une supervision basée sur SNMP, le serveur de supervision interroge régulièrement les équipements afin de récupérer leurs métriques (CPU, mémoire, réseau, etc.).
Cette interrogation n’est pas en temps réel : elle est planifiée par le logiciel de supervision. Chaque équipement est donc sondé à intervalle régulier.
Ce mécanisme est appelé polling
Que se passe-t-il en cas d’incident critique ?
Le polling ne permet pas toujours de réagir immédiatement à un problème grave, car il dépend de l’intervalle d’interrogation.
Pour répondre à ce besoin, SNMP propose un mécanisme complémentaire : les traps SNMP.
flowchart LR
A[Serveur de supervision] -->|Requêtes régulières <br> UDP 161| B[Equipement avec agent SNMP]
B -->|Réponse SNMP <br> CPU, RAM, etc.| A
Trap SNMP
Contrairement au polling, les traps SNMP sont des messages envoyés automatiquement par l’équipement lorsqu’un événement important survient.
Exemples :
- panne d’une interface réseau
- dépassement d’un seuil critique
- erreur matérielle
Cette communication se fait sur le port UDP 162.
flowchart LR
C[Equipement avec agent SNMP] -->|Alerte automatique <br> UDP 162| D[Serveur de supervision]