Mise en place d'une supervision système sur Debian 7 avec SNMPD et Centreon 3.0

Ce tutoriel vise à mettre en place une supervision système sur Linux Debian 7

Publié le 27/12/2014

Ce tutoriel vise à mettre en place une supervision système prenant en compte les métriques suivantes :

  • - Ping
  • - CPU Load
  • - Load average
  • - Memory
  • - Swap
  • - Disk

1 - Installation et paramétrage de SNMPD

On va installer l'agent snmpd qui va permettre la collecte d'information sur le serveur à superviser.

apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl

2 - Configuration de SNMPD

On va éditer le fichier de configuration de façon à modifier les paramètres qui vont suivre :

nano /etc/snmp/snmpd.conf

Décommenter la ligne concernant l'écoute sur toute les interfaces sur le port 161 et commenter la ligne limitant l'écoute en local, comme suit :

 


#  AGENT BEHAVIOUR
#  Listen for connections from the local system only
#agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161

 

Puis commenter la ligne chargée du contrôle l'accès par IP et ajouter la directive "rocommunity" de façon à limiter l'accès à l'ip que l'on aura défini. Cette IP correspond à celle de notre serveur Centreon.

 


#  ACCESS CONTROL
rocommunity public IP_CENTREON_SRV
#rocommunity public  default    -V systemonly

 

Redémarrage de snmpd :

service snmpd restart

Validation du paramétrage snmp depuis le serveur Centreon :

snmpwalk -c public -v 2c IP_SERVEUR_SUPERVISE

On doit voir un retour d'information de l'agent SNMP. Ce retour sera très verbeux car on demande un retour de toutes les valeurs disponibles (Quitter avec ctrl-c).

3 - Paramétrage des sondes systèmes

Création des hôtes à superviser :

Dans le menu "Configuration" de la barre de navigation principale, on va cliquer sur l'onglet "Hosts" et y ajouter le serveur que l'on souhaite superviser.

On va cliquer sur "Add" et configurer les paramètres de la façon suivante :

Général Information :

  • - Host Name : HOSTNAME
  • - Alias : Description machine
  • - IP : IP_HOST
  • - Host Templates : Cliquer sur add a template et choisir "Linux-Servers"

Notification :

  • - Notification Enabled : yes
  • - Implied Contacts : add Admin
  • - Implied Contact Groups : add Supervisors
  • - Notification Interval : 1
  • - Notification Period : 24*7
  • - Notification Type : Warning + Unknown + Critical + Flapping
  • - First notification delay : 1

Cliquer sur "Save".

Si on clique dans la barre des menus dans Configuration > Services, on va pouvoir voir un certain nombre de sondes systèmes affectées à notre nouvel hôte. En ayant choisi le template d'hôte "Linux-Servers", on hérite de sonde configurée pour le nouvel hôte créé.

Nous allons les passer une à une en revue afin d'en détailler leur paramétrage.

3.1 - Ping

(ValeurRTA : en ms, ValeurPertePackets : en %)

Dans le menu principale on va cliquer sur Configuration > Services, puis cliquer sur le service Ping pour l'hôte voulu et éditer sa configuration comme suit :

Service State :

  • Check Period : 24*7
  • Args :
    • count : 3
    • warning : ValeurRTA,ValeurPertePackets%
    • critical : ValeurRTA,ValeurPertePackets%
  • Max Check Attempts : 5
  • Normal Check Interval : 1
  • Retry Check Interval : 1

Notification :

  • Notification Enabled : yes
  • Implied Contacts : add Supervisor
  • Notification Interval : 15
  • Notification Period : 24*7
  • Notification Type : Warning + Unknown + Critical + Flapping
  • First notification delay : 1

3.2 - CPU

(ValeurLoadCPU : % de cpu utilisé)

Pour un hôte créé nous allons configurer la sonde en prenant en compte les seuils d'alertes suivants :

Dans le menu principale on va cliquer sur Configuration > Services, ajouter un nouveau service pour l'hôte voulu et éditer sa configuration comme suit :

General Information :

  • Service Template : generic-service

Service State :

  • Check Period : 24*7
  • Check Command : check_centreon_cpu
  • Args :
    • critical : ValeurLoadCPU
    • warning : ValeurLoadCPU
  • Max Check Attempts : 5
  • Normal Check Interval : 1
  • Retry Check Interval : 1

Notification :

  • Notification Enabled : yes
  • Implied Contacts : add Supervisor
  • Notification Interval : 15
  • Notification Period : 24*7
  • Notification Type : Warning + Unknown + Critical + Flapping
  • First notification delay : 1

3.3 - Load Average

(Valeur1, Valeur5, Valeur15 : Valeur du load average sur 1min, 5min, 15min)

Dans le menu principale on va cliquer sur Configuration > Services, puis cliquer sur le service Load pour l'hôte voulu et éditer sa configuration comme suit :

Service State :

  • Check Period : 24*7
  • Args :
    • warning : Valeur1,Valeur5,Valeur15
    • critical : Valeur1,Valeur5,Valeur15
  • Max Check Attempts : 1
  • Normal Check Interval : 1
  • Retry Check Interval : 1

Notification :

  • Notification Enabled : yes
  • Implied Contacts : add Supervisor
  • Notification Interval : 15
  • Notification Period : 24*7
  • Notification Type : Warning + Unknown + Critical + Flapping
  • First notification delay : 1

On va pouvoir interroger le Load Average du système à superviser depuis notre serveur Centreon via l'agent snmp avec la commande suivante :

snmpwalk -c public -v 2c IP_SERVER .1.3.6.1.4.1.2021.10

1.4 - Memory

La sonde check_centreon_snmp_memory prend en compte la mémoire vive physique et la mémoire virtuelle (swap). Les seuils par défaut sont fixés à 40% en warning et 50% en critical. Pour un hôte créé nous allons configurer la sonde en prenant en compte les seuils d'alertes par défaut.

Dans le menu principale on va cliquer sur Configuration > Services, puis cliquer sur le service Memory pour l'hôte voulu et éditer sa configuration comme suit :

Service State :

  • Check Period : 24*7
  • Max Check Attempts : 5
  • Normal Check Interval : 1
  • Retry Check Interval : 1

Notification :

  • Notification Enabled : yes
  • Implied Contacts : add Supervisor
  • Notification Interval : 15
  • Notification Period : 24*7
  • Notification Type : Warning + Unknown + Critical + Flapping
  • First notification delay : 1

1.5 - Disk

(Valeur : % d'espace occupé)

Dans le menu principale on va cliquer sur Configuration > Services, puis cliquer sur le service Disk pour l'hôte voulu et éditer sa configuration comme suit :

Service State :

  • Check Period : 24*7
  • Args :
    • disk number : /
    • warning : Valeur
    • critical : Valeur
  • Max Check Attempts : 1
  • Normal Check Interval : 1
  • Retry Check Interval : 1

Notification :

  • Notification Enabled : yes
  • Implied Contacts : add Supervisor
  • Notification Interval : 15
  • Notification Period : 24*7
  • Notification Type : Warning + Unknown + Critical + Flapping
  • First notification delay : 1

1.6 - Swap

(Valeur : % d'espace occupé)

Dans le menu principale on va cliquer sur Configuration > Services, puis cliquer sur le service Swap pour l'hôte voulu et éditer sa configuration comme suit :

Service State :

  • Check Period : 24*7
  • Args :
    • disk number : "Swap Space"
    • warning : Valeur
    • critical : Valeur
  • Max Check Attempts : 1
  • Normal Check Interval : 15
  • Retry Check Interval : 1

Notification :

  • Notification Enabled : yes
  • Implied Contacts : add Supervisor
  • Notification Interval : 15
  • Notification Period : 24*7
  • Notification Type : Warning + Unknown + Critical + Flapping
  • First notification delay : 1

Une fois tous les services configurés, on voir exporter la configuration et redémarrer le poller (Cf tutoriel Installation Centreon)