Ajout d'un hôte et configuration
Supervision avec Centreon — Ajout d'un hôte et configuration
Projet SIGACS — BTS CIEL — Lycée Saint Joseph La Salle Lorient
1 — Prérequis
Avant de commencer, assurez-vous que :
- Centreon est installé et accessible via l'interface web
- Les équipements à superviser sont joignables depuis le serveur Centreon
- Le protocole SNMP est activé sur les équipements cibles
Voici le plan d'adressage utilisé dans le projet SIGACS :
| Hôte | IP | Rôle |
|---|---|---|
| Serveur Centreon | 192.168.42.132 |
Supervision |
| pfSense | 192.168.42.129 |
Firewall / Routeur |
| Serveur Broker | 192.168.42.66 |
Broker MQTT |
| Serveur Web | 192.168.42.131 |
Serveur Web |
2 — Configuration SNMPv3 sur pfSense
2.1 Pourquoi NET-SNMP ?
Le SNMP natif de pfSense ne supporte que SNMPv2c. Pour utiliser SNMPv3 (chiffrement AES + authentification SHA), il est nécessaire d'installer le paquet NET-SNMP.
⚠️ Prérequis : pfSense version 2.7.2 minimum — les versions antérieures utilisent OpenSSL 1.x incompatible avec NET-SNMP.
Vérifiez votre version OpenSSL depuis Diagnostics > Command Prompt :
openssl version
# Doit retourner : OpenSSL 3.x.x
2.2 Désactiver le SNMP natif
Avant d'installer NET-SNMP, désactivez le SNMP natif pour éviter tout conflit sur le port UDP/161 :
Services > SNMP → décocher Enable → Save
Image : Interface pfSense — Désactivation du SNMP natif
2.3 Installer NET-SNMP
System > Package Manager > Available Packages
- Rechercher :
net-snmp - Cliquer sur Install
- Confirmer l'installation
Image : Package Manager pfSense — Installation de NET-SNMP
2.4 Configurer NET-SNMP
Services > Net-SNMP > General
| Champ | Valeur |
|---|---|
| ✅ Enable snmpd | Cocher |
| Liaison d'interface | Cliquer + Ajouter → Transport : UDP, IP : vide, Port : vide |
| System Location | Salle-Formation |
| System Contact | admin@sigacs.com |
Note : Laisser l'IP vide permet à NET-SNMP d'écouter sur toutes les interfaces, y compris LAN_MNGT.
Image : Configuration générale NET-SNMP
2.5 Créer l'utilisateur SNMPv3
Services > Net-SNMP > Users → Add
| Champ | Valeur |
|---|---|
| Username | centreon |
| Auth Type | SHA |
| Auth Password | VotreMotDePasse! |
| Priv Type | AES |
| Priv Password | VotreMotDePasse! |
| Access | Read Only |
→ Save
Image : Création de l'utilisateur SNMPv3 dans NET-SNMP
2.6 Créer la règle pare-feu
Pare-feu > Règles > LAN_MNGT → Ajouter
| Champ | Valeur |
|---|---|
| Action | Pass |
| Protocol | UDP ← important, pas TCP |
| Source | IP du serveur Centreon |
| Destination | This Firewall |
| Port destination | 161 |
| Description | SNMP Centreon |
→ Save → Apply Changes
Image : Règle pare-feu UDP/161 sur LAN_MNGT
2.7 Vérifier que NET-SNMP tourne
Diagnostics > Command Prompt :
sockstat -4 | grep 161
Résultat attendu :
root snmpd ... udp4 *:161 *:*
⚠️ Si vous voyez
bsnmpdau lieu desnmpd→ le SNMP natif est encore actif. Retournez dans Services > SNMP et désactivez-le.
3 — Configuration SNMPv3 sur Ubuntu Server
3.1 Installer l'agent SNMP
sudo apt install -y snmpd snmp
3.2 Modifier le fichier de configuration
sudo systemctl stop snmpd
sudo nano /etc/snmp/snmpd.conf
Modifiez les lignes suivantes :
# Informations système
sysLocation location
sysContact email
sysServices
# Écoute sur toutes les interfaces (nécessaire pour Centreon)
agentaddress 0.0.0.0,[::1]
# Vue complète pour CPU, RAM, interfaces
view systemonly included .1
# SNMPv3 — createUser à mettre dans /var/lib/snmp/snmpd.conf
rouser centreon authpriv -V systemonly
includeDir /etc/snmp/snmpd.conf.d
Note : La ligne
agentaddress 0.0.0.0est indispensable. Par défaut, snmpd écoute uniquement sur127.0.0.1et Centreon ne peut pas s'y connecter.
3.3 Créer l'utilisateur SNMPv3
echo "createUser centreon SHA VotreMotDePasse! AES VotreMotDePasse!" | sudo tee -a /var/lib/snmp/snmpd.conf
Démarrez le service :
sudo systemctl start snmpd
sudo systemctl enable snmpd
Note : Après le démarrage, la ligne
createUserest automatiquement remplacée par une ligneusmUsercontenant les clés générées. C'est normal.
3.4 Vérifier que snmpd tourne
sudo ss -ulnp | grep 161
Résultat attendu :
udp 0.0.0.0:161 0.0.0.0:* users:(("snmpd",...))
4 — Tests de connectivité SNMP
4.1 Test depuis le serveur Centreon
Avant de configurer Centreon, vérifiez que la communication SNMP fonctionne :
# Test pfSense
snmpwalk -v3 -u centreon -l authPriv -a SHA -A "VotreMotDePasse!" -x AES -X "VotreMotDePasse!" 192.168.42.129 .1.3.6.1.2.1.1.1.0
# Test Ubuntu
snmpwalk -v3 -u centreon -l authPriv -a SHA -A "VotreMotDePasse!" -x AES -X "VotreMotDePasse!" 192.168.42.66 .1.3.6.1.2.1.1.1.0
Résultats attendus :
# pfSense
iso.3.6.1.2.1.1.1.0 = STRING: "pfSense pare-feu.SIGACS.com 2.7.2-RELEASE FreeBSD 14.0-CURRENT amd64"
# Ubuntu
iso.3.6.1.2.1.1.1.0 = STRING: "Linux broker-server 6.8.0-107-generic #107-Ubuntu SMP..."
4.2 Lister les interfaces de pfSense
Cette commande permet de récupérer les index des interfaces, nécessaires pour configurer la supervision des VLANs :
snmpwalk -v3 -u centreon -l authPriv -a SHA -A "VotreMotDePasse!" -x AES -X "VotreMotDePasse!" 192.168.42.129 .1.3.6.1.2.1.2.2.1.2
Résultat sur l'infrastructure SIGACS :
| Index | Interface | Type | Statut |
|---|---|---|---|
| 1 | igb0 |
WAN | up |
| 2 | igb1 |
LAN | up |
| 9 | igb1.101 |
VLAN 101 Serres | up |
| 10 | igb1.102 |
VLAN 102 Management | up |
Note : L'index (9, 10...) est utilisé comme argument dans les commandes Centreon pour cibler une interface spécifique.
5 — Création des commandes dans Centreon
5.1 Commande universelle pfSense
Configuration > Commands > Checks → Add
| Champ | Valeur |
|---|---|
| Command Name | pfsense_check |
| Command Type | Check |
Command Line :
/usr/lib/centreon/plugins/centreon_pfsense.pl --plugin=apps::pfsense::snmp::plugin --mode=$ARG1$ --hostname=$HOSTADDRESS$ --snmp-version='3' --snmp-username='$_HOSTSNMPUSERNAME$' --authprotocol='$_HOSTSNMPAUTHPROTOCOL$' --authpassphrase='$_HOSTSNMPAUTHPASSPHRASE$' --privprotocol='$_HOSTSNMPPRIVPROTOCOL$' --privpassphrase='$_HOSTSNMPPRIVPASSPHRASE$'
→ Save
Modes disponibles pour pfSense (valeur de ARG1) :
| ARG1 | Mesure |
|---|---|
cpu |
Charge CPU |
memory |
Utilisation RAM |
load |
Charge système |
uptime |
Temps de fonctionnement |
packet-stats |
Statistiques paquets |
swap |
Utilisation swap |
5.2 Commande interfaces pfSense
Configuration > Commands > Checks → Add
| Champ | Valeur |
|---|---|
| Command Name | pfsense_interfaces |
| Command Type | Check |
Command Line :
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=interfaces --hostname=$HOSTADDRESS$ --snmp-version='3' --snmp-username='$_HOSTSNMPUSERNAME$' --authprotocol='$_HOSTSNMPAUTHPROTOCOL$' --authpassphrase='$_HOSTSNMPAUTHPASSPHRASE$' --privprotocol='$_HOSTSNMPPRIVPROTOCOL$' --privpassphrase='$_HOSTSNMPPRIVPASSPHRASE$' --interface='$ARG1$' --add-traffic --add-status --reload-cache-time=0
→ Save
Note : ARG1 correspond à l'index numérique de l'interface (ex:
9pour igb1.101,10pour igb1.102).
5.3 Commande universelle Linux SNMP
Configuration > Commands > Checks → Add
| Champ | Valeur |
|---|---|
| Command Name | linux_snmp_check |
| Command Type | Check |
Command Line :
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=$ARG1$ --hostname=$HOSTADDRESS$ --snmp-version='3' --snmp-username='$_HOSTSNMPUSERNAME$' --authprotocol='$_HOSTSNMPAUTHPROTOCOL$' --authpassphrase='$_HOSTSNMPAUTHPASSPHRASE$' --privprotocol='$_HOSTSNMPPRIVPROTOCOL$' --privpassphrase='$_HOSTSNMPPRIVPASSPHRASE$'
→ Save
Modes disponibles pour Linux (valeur de ARG1) :
| ARG1 | Mesure |
|---|---|
cpu |
Charge CPU |
memory |
Utilisation RAM |
load |
Charge système |
uptime |
Temps de fonctionnement |
6 — Ajout d'un hôte dans Centreon
6.1 Créer le template hôte
Configuration > Hosts > Templates → Add
| Champ | Valeur |
|---|---|
| Name | TMPL-SNMP-Custom |
| Alias | Hôte SNMP v3 |
| Check Command | Laisser vide |
→ Save
Image : Création du template hôte dans Centreon
6.2 Créer l'hôte
Configuration > Hosts > Hosts → Add
| Champ | Valeur exemple |
|---|---|
| Name | pfsense-fw |
| Alias | pfSense Firewall SIGACS |
| IP Address | 192.168.42.129 |
| Template | TMPL-SNMP-Custom |
| Monitored from | Central |
Image : Formulaire de création d'un hôte Centreon
6.3 Ajouter les macros SNMPv3
Dans l'onglet Macros → Custom macros :
| Macro | Valeur | Password |
|---|---|---|
SNMPUSERNAME |
centreon |
☐ Non |
SNMPAUTHPROTOCOL |
SHA |
☐ Non |
SNMPAUTHPASSPHRASE |
VotreMotDePasse! |
✅ Oui |
SNMPPRIVPROTOCOL |
AES |
☐ Non |
SNMPPRIVPASSPHRASE |
VotreMotDePasse! |
✅ Oui |
→ Save
⚠️ Important : Cochez bien Password pour les mots de passe. Cela les masque dans l'interface et les chiffre en base de données.
Image : Macros SNMPv3 configurées sur l'hôte pfSense
7 — Création des services
7.1 Ajouter un service
Configuration > Services > Services by host → Add
Pour chaque service, renseignez :
| Champ | Valeur |
|---|---|
| Host | Nom de l'hôte cible |
| Name | Nom du service |
| Check Command | Commande créée à l'étape 5 |
| ARG1 | Mode ou index selon la commande |
Image : Formulaire de création d'un service Centreon
7.2 Services pfSense
| Service | Commande | ARG1 |
|---|---|---|
pfsense-cpu |
pfsense_check |
cpu |
pfsense-ram |
pfsense_check |
memory |
pfsense-load |
pfsense_check |
load |
pfsense-uptime |
pfsense_check |
uptime |
pfsense-packet-stats |
pfsense_check |
packet-stats |
pfsense-vlan101 |
pfsense_interfaces |
9 |
pfsense-vlan102 |
pfsense_interfaces |
10 |
7.3 Services Ubuntu Server
| Service | Commande | ARG1 |
|---|---|---|
broker-cpu |
linux_snmp_check |
cpu |
broker-ram |
linux_snmp_check |
memory |
web-cpu |
linux_snmp_check |
cpu |
web-ram |
linux_snmp_check |
memory |
→ Save sur chaque service
8 — Export de la configuration
Après toute modification dans Centreon, il est obligatoire d'exporter la configuration pour qu'elle soit prise en compte par le moteur de supervision.
Configuration > Pollers → sélectionner le poller Central
Cocher les options suivantes :
| Option | Action |
|---|---|
| ✅ Generate Configuration Files | Générer les fichiers de configuration |
| ✅ Run monitoring engine debug | Vérifier la validité de la configuration |
| ✅ Move Export Files | Déplacer les fichiers vers le moteur |
| ✅ Restart Monitoring Engine | Redémarrer le moteur |
→ Export
La console doit afficher :
Total Errors: 0
Restarting engine... OK
⚠️ Si des erreurs apparaissent, ne pas ignorer. Elles indiquent un problème de configuration qui empêchera la supervision de fonctionner correctement.
9 — Tests de validation
9.1 Tester les plugins en ligne de commande
Avant de vérifier dans l'interface, testez les plugins directement depuis le serveur Centreon :
# Test CPU pfSense
sudo -u centreon-engine /usr/lib/centreon/plugins/centreon_pfsense.pl --plugin=apps::pfsense::snmp::plugin --mode=cpu --hostname=192.168.42.129 --snmp-version='3' --snmp-username='centreon' --authprotocol='SHA' --authpassphrase='VotreMotDePasse!' --privprotocol='AES' --privpassphrase='VotreMotDePasse!'
# Test RAM pfSense
sudo -u centreon-engine /usr/lib/centreon/plugins/centreon_pfsense.pl --plugin=apps::pfsense::snmp::plugin --mode=memory --hostname=192.168.42.129 --snmp-version='3' --snmp-username='centreon' --authprotocol='SHA' --authpassphrase='VotreMotDePasse!' --privprotocol='AES' --privpassphrase='VotreMotDePasse!'
# Test CPU Ubuntu
sudo -u centreon-engine /usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=cpu --hostname=192.168.42.66 --snmp-version='3' --snmp-username='centreon' --authprotocol='SHA' --authpassphrase='VotreMotDePasse!' --privprotocol='AES' --privpassphrase='VotreMotDePasse!'
9.2 Résultats attendus
| Test | Résultat OK |
|---|---|
| CPU pfSense | OK: 1 CPU(s) average usage is X% |
| RAM pfSense | OK: Ram Total: X, Used: X |
| VLAN101 | OK: Interface 'igb1.101' Status : up, Traffic In : X, Traffic Out : X |
| CPU Ubuntu | OK: 1 CPU(s) average usage is X% |
9.3 Vérification dans l'interface
Supervision > Resources Status
Tous les hôtes et services doivent afficher le statut OK (vert).
Pour forcer un check immédiat sans attendre le prochain cycle :
- Sélectionner un service → Forced check
Image : Resources Status — Hôtes et services en statut OK
10 — Dépannage
10.1 Problèmes courants
| Erreur | Cause probable | Solution |
|---|---|---|
SNMP GET Request: Timeout |
NET-SNMP arrêté ou règle pare-feu manquante | Vérifier sockstat -4 | grep 161 sur pfSense |
SNMP GET Request: Timeout |
Règle pare-feu en TCP au lieu de UDP | Modifier la règle → Protocol UDP |
SNMP GET Request: Timeout |
agentaddress en 127.0.0.1 sur Ubuntu |
Modifier en 0.0.0.0 dans snmpd.conf |
Unknown user name |
NET-SNMP redémarré — clés régénérées | Recréer l'utilisateur dans Services > Net-SNMP > Users |
authorizationError |
Vue SNMP trop restrictive | Remplacer les lignes view par view systemonly included .1 |
Execute command failed |
Chemin du plugin incorrect | Vérifier avec ls /usr/lib/centreon/plugins/ |
mode X doesn't exist |
Mauvais nom de mode dans ARG1 | Lister les modes avec --list-mode |
10.2 Lister les modes disponibles d'un plugin
# Modes pfSense
/usr/lib/centreon/plugins/centreon_pfsense.pl --plugin=apps::pfsense::snmp::plugin --list-mode
# Modes Linux SNMP
/usr/lib/centreon/plugins/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --list-mode
10.3 Vérifier la commande exécutée par Centreon
Dans Supervision > Resources Status, cliquez sur un service en erreur et consultez l'onglet Commande exécutée. Cela permet de voir exactement ce que Centreon envoie au plugin et d'identifier les arguments incorrects.
📅 Document rédigé dans le cadre du projet SIGACS — Session 2026


