Utiliser SNMPv3 sur Centreon, monitorer des serveurs Windows et Linux

Introduction

L'utilisation d'SNMPv3 sur Centreon peut être déroutante car les connectors gratuits « Linux-SNMP » et « Windows-SNMP » ne proposent que des Template configurés sur la version 2c.
A moins de vous inscrire et de bénéficier des connectors SNMPv3 gratuits, il faut ruser ...

Concrètement, il existe plusieurs manières de procéder à partir des connectors de base.
On peut utiliser une méthode hybride consistant à se servir du template « OS-Linux-SNMP-custom » (installé par le connector « Linux-SNMP »), auquel on adjoint des commandes de checks comportant les macros nécessaires pour la connexion SNMPv3, ou bien on peut aussi ne pas se servir du tout du Template !

Je vous montre donc ici la méthode manuelle (sans se servir du Template), utile dès lors qu'il s'agît de créer des services peu communs. Cela vous permettra d'explorer un peu plus Centreon.

Nous allons apprendre à superviseur des serveurs Linux et Windows via SNMPv3.
Nous monitorerons les services suivants : SWAP, CPU, RAM, DISK, CHARGE tantôt sur Windows, tantôt sur Linux (pour vous laisser chercher un peu !).

Je pose comme pré-requis la configuration des agents SNMPv3 sur les serveurs Windows et Linux à monitorer !


1. Ajouter les plugins (connectors)

Ces plugins sont indispensables.
Sans eux, Centreon ne peut pas travailler en SNMP.

(Cliquez sur l'icône correspondante, puis sur le bouton + pour installer chaque pack)


2. Créer des commandes de check personnalisées pour les services à superviser

Ces commandes de check ciblent précisément les services CPU, RAM, CHARGE et SWAP. A vous de créer celles qui manqueraient.

Command Name : LINUX_SWAP-SNMPv3

/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=swap --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$

Save

Command Name : LINUX_MEMORY-SNMPv3

/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=memory --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$

Save

Command Name : WIN_MEMORY-SNMPv3

/usr/lib/centreon/plugins//centreon_windows_snmp.pl --plugin=os::windows::snmp::plugin --mode=memory --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --warning-memory=$_SERVICEWARNING$ --critical-memory=$_SERVICECRITICAL$

Save

Command Name : LINUX_LOAD-SNMPv3

/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=load --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$

Save

Command Name : LINUX_CPU-SNMPv3

/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=cpu --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --warning-average=$_SERVICEWARNING$ --critical-average=$_SERVICECRITICAL$

Save

Command Name : WIN_CPU-SNMPv3

/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=cpu --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --warning-average=$_SERVICEWARNING$ --critical-average=$_SERVICECRITICAL$

Save
(vous remarquerez au passage que la commande est la même que pour Linux !)

Command Name : WIN_DISK-SNMPv3

/usr/lib/centreon/plugins//centreon_windows_snmp.pl --plugin=os::windows::snmp::plugin --mode=storage --hostname=$_HOSTADDRESS$ --snmp-version=3 --snmp-username=$_HOSTSNMPUSERNAME$ --authprotocol=$_HOSTSNMPAUTHPROTO$ --authpassphrase=$_HOSTSNMPAUTHPASSWD$ --privprotocol=$_HOSTSNMPPRIVPROTO$ --privpassphrase=$_HOSTSNMPPRIVPASSWD$ --storage '1' --display-transform-src='' --display-transform-dst='' --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$

Save

Command Name : HOST-SNMPv3

/bin/true $_HOSTADDRESS$ $_HOSTSNMPUSERNAME$ $_HOSTSNMPAUTHPASSWD$ $_HOSTSNMPAUTHPROTO$ $_HOSTSNMPPRIVPASSWD$ $_HOSTSNMPPRIVPROTO$

Save


3. Créer les Hôtes

Onglet « Host Configuration »

SNMPEXTRAOPTIONS (laisser vide)
ADDRESS 10.10.20.2
SNMPUSERNAME majekla
SNMPAUTHPROTO SHA
SNMPAUTHPASSWD Ertyuiop,
SNMPPRIVPROTO AES
SNMPPRIVPASSWD Ertyuiop,

Onglet « Notification »


4. Créer des services de monitoring

Sonde : CPU_SRV-WEB

Onglet « General Information »

Onglet « Notifications »

Sonde : LOAD_SRV-WEB

Onglet « General Information »

Onglet « Notifications »

Sonde : MEMORY_SRV-WEB

Onglet « General Information »

Onglet « Notifications »

Sonde : SWAP_SRV-WEB

Onglet « General Information »

Onglet « Notifications »

Sonde : CPU_PC-CLIENT

Onglet « General Information »

Onglet « Notifications »

Sonde : DISK_PC-CLIENT

Onglet « General Information »

Onglet « Notifications »

Sonde : MEMORY_PC-CLIENT

Onglet « General Information »

Onglet « Notifications »


5. Exporter et Recharger la configuration


6. Vérifier le monitoring

(L'apparition des services prend un certain temps la première fois à cause de problèmes de Timeout. PRENEZ VOTRE MAL EN PATIENCE !)
Rechargez la page web si nécessaire pour afficher les hôtes et services.
Une fois apparus, sélectionnez-les tous et forcez un check)


⬆️ Retour en haut de la page