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)