Base théorique : Sur quoi reposent les outils de monitoring ?

Définition de la supervision

La supervision se définit comme une technique utilisant au mieux les ressources informatiques pour obtenir des informations sur l'état des réseaux et de leurs composants. Ces données seront ensuite traitées et affichées afin de mettre en lumière d'éventuels problèmes.
La supervision peut résoudre les problèmes automatiquement ou dans le cas contraire prévenir via un système d'alerte (email ou SMS par exemple) les administrateurs. Cette définition de la supervision est décrite plus en détail dans la norme ISO7498/4.
Plusieurs actions sont ainsi réalisées : Acquisition de données, analyse, puis visualisation et réaction.
Un tel processus est réalisé à plusieurs niveaux d'un parc de machines : Au niveau interconnexions (Réseau), au niveau de la machine elle-même (Système) et au niveau des services offerts par cette machine (Applications).

Supervision réseau

Par le terme réseau on entend ici l'aspect communication entre les machines. Le rôle est de s'assurer du bon fonctionnement des communications et de la performance des liens (débit, latence, taux d'erreurs). C'est dans ce cadre que l'on va vérifier par exemple si une adresse IP est toujours joignable, ou si tel port est ouvert sur telle machine, ou faire des statistiques sur la latence du lien réseau.

Supervision système

La surveillance se cantonne dans ce cas à la machine elle-même et en particulier ses ressources. Si l'on souhaite par exemple contrôler la mémoire utilisée ou la charge processeur sur le serveur voire analyser les fichiers de logs système.

Supervision applicative

Cette technique est plus subtile, c'est elle qui va nous permettre de vérifier le fonctionnement d'une application lancée sur une machine. Cela peut être par exemple une tentative de connexion sur le port de l'application pour voir si elle retourne ou demande bien les bonnes informations, mais aussi de l'analyse de logs applicatifs.
En effet rien ne garantit qu'un port X ouvert veut dire que l'application qui tourne derrière n'est pas "plantée".

Les protocoles existants

Il existe des protocoles réseau qui permettent de récupérer des informations sur le parc informatique. Nous allons en étudier deux particulièrement importants qui possèdent des rôles très différents mais qui ont un point en commun : Ils sont tout deux largement utilisés par les logiciels de supervision.

ICMP (Internet Control Message Protocol)

ICMP est un protocole de couche réseau (couche 3 du modèle OSI) qui vient palier à l'absence de message d'erreur du protocole IP (Internet Protocol). En effet si il y a un incident de transmission les équipements intermédiaires vont utiliser ce protocole pour prévenir la machine émettrice. Les paquets ICMP sont encapsulés dans des paquets IP (malgré qu'ils soient au même niveau OSI), et peuvent contenir des bouts de paquets IP pour citer celui ayant généré l'erreur. Afin de catégoriser les erreurs, elles sont divisés en types eux-mêmes parfois redivisés en codes. Par exemple le type 3 représente un destinataire inaccessible : Il existe 16 codes différents en fonction de la raison pour laquelle le destinataire n'est pas joignable.
C'est un protocole très simple, qui n'a pas pour fonction directe la supervision d'un réseau mais qui est utilisé comme source d'information sur la qualité du réseau ou sur la présence d'une machine.

SNMP (Simple Network Management Protocol)