Hello, nous allons voir dans cet article l’installation et la configuration SNMP sous Windows, Linux, VMWare ESXi, Switch Cisco afin de pouvoir superviser l’infrastructure via Centreon Server.
Le protocole SNMP (Simple Network Management Protocol) est un protocole largement utilisé pour gérer et surveiller les systèmes distants de votre infrastructure (serveur Windows, Linux, équipement réseau…etc.), en utilisant un superviseur. Il existe 3 versions du protocole : SNMP v1, SNMP v2c et SNMP v3. Le port par défaut est 161 TCP/UDP.
Il existe d’autres protocoles de supervision :
- NRPE : Nagios Remote Plugin Executor
- NSClient++: Embarque le protocole NRPE et NSCA
Le service SNMP sera installé/Activé sur les machines suivante :
- AD-DC16 : Contrôleur de domaine sous Windows Server 2016
- SERV-CENTOS : Serveur CentOS 7 (idem sur Red Hat)
- SERV-DEBIAN : Serveur Debian 10
- VMWare ESXi : Serveur ESXi 6.5
- Switch Cisco
Pour tester le bon fonctionnement du service SNMP, cela se fera depuis le serveur Centreon :
- SERV-CENTREON : 10.10.1.5
- SNMP : net-snmp.org/download.html
SNMP Windows Client/Server
Le protocole SNMP fait partie des fonctionnalités de Windows serveur. Il suffit donc d’aller dans le Gestionnaire de serveur > Gérer > Ajout de rôles et de fonctionnalités :
- Cliquez sur Suivant
- Choisir : Installation basée sur un rôle ou une fonctionnalité
- Sélectionner le serveur de destination
- La lise des rôles s’affiche, cliquez sur Suivant
- La liste des fonctionnalités s’affiche, cochez Service SNMP
- Cliquez sur Suivant
- Installer
Pour installer SNMP sous Windows 7/8/10 :
- Panneaux de configuration
- Programmes et fonctionnalités
- Activer ou désactiver des fonctionnalités Windows
Configuration SNMP
Que ce soit sous Windows Server/client, lancez la console Services Windows depuis le Gestionnaire de serveur > Outils > Services
- Allez dans les propriétés du service SNMP puis l’onglet Sécurité.
- Ajouter une Communauté : Ex : public, private… ce que vous voulez, mais à retenir !
- Choisir les droits de communauté : LECTURE SEULE
- Cochez la case : Accepter les paquets SNMP provenant de ces hôtes
- Ajoutez l’adresse IP de votre serveur Centreon.
Remarque : si vous mettez le nom de votre serveur Centreon au lieu de l’adresse IP, assurez-vous que la résolution DNS se fait bien.
- Allez dans l’onglet Interruptions
- Ajouter encore une fois le nom de la communauté et cliquez sur Ajouter à la liste.
- Cliquez sur le bouton Ajouter
- Ajoutez l’adresse IP de votre serveur Centreon.
- Valider.
- Redémarrer le service SNMP : Clic-droit > Redémarrer
Remarque : n’oubliez pas d’autoriser le port 161/162 ou de désactiver le pare-feu Windows.
Tester SNMP via Centreon
Test depuis le serveur Centreon à l’aide de la commande snmpwalk :
[root@pixelabs ~]# snmpwalk -v 2c -c private ad-dc16 SNMPv2-MIB::sysDescr.0 = STRING: Hardware: Intel64 Family 6 Model 44 Stepping 2 AT/AT COMPATIBLE - Software: Windows Version 6.3 (Build 14393 Multiprocessor Free) SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.2 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (64576) 0:10:45.76 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: ad-server16.pixelabs.fr SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 76 [root@pixelabs ~]#
- private : c’est le nom de la communauté.
- AD-DC16 : l’adresse IP / le nom du serveur Windows.
SNMP CentOS & RedHat
SNMP sera installé sur un serveur CentOS 7. N’oubliez pas de faire toujours une sauvegarde du fichier de configuration SNMP avant de le modifier.
Installer SNMP (CentOS) :
[root@pixelabs ~]# yum install net-snmp net-snmp-utils
Configuration SNMP
Activer le démarrage du service SNMP au démarrage du serveur :
[root@pixelabs ~]# systemctl enable snmpd
Faire une copie du fichier :
[root@pixelabs ~]# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.old
Éditez le fichier de configuration SNMP
[root@pixelabs ~]# nano /etc/snmp/snmpd.conf
Modifier la partie suivante. Ajouter le groupe, le serveur de supervision et la communauté.
# sec.name source community com2sec local 10.10.1.5 pixelabs # groupName securityModel securityName group GroupeLocal v2C local group GroupeLocal v1 local # name incl/excl subtree mask(optional) view all included .1 view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 # group context sec.model sec.level prefix read write notif access GroupeLocal "" any noauth exact all none none
- pixelabs : c’est le nom de la communauté
- 10.10.1.5 : l’adresse IP du serveur Centreon
La configuration peut être différente selon l’OS Linux.
Relancer le service SNMP :
[root@pixelabs ~]# systemctl restart snmpd
ou :
[root@pixelabs ~]# service snmpd restart
Tester SNMP via Centreon Server
Tester depuis votre Centreon à l’aide de la commande snmpwalk :
[root@centreon plugins]# snmpwalk -v 2c -c pixelabs serv-centos system SNMPv2-MIB::sysDescr.0 = STRING: Linux serv-centos.pixelabs.lan 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1402395318) 162 days, 7:32:33.18 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: serv-centos.pixelabs.lan SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (8) 0:00:00.08 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB [...]
- pixelabs : c’est le nom de la communauté
- SERV-CENTOS : l’adresse IP / le nom du serveur CentOS
Appuyez sur « Entrée » pour voir plus de MIBs. « Q » pour quitter. Tester également la version 1 : -v 1
Remarque : si vous avez le firewall activé. Il faut le désactiver ou autoriser le port 161/162.
SNMP Debian
SNMP sera installé sur un serveur Debian. N’oubliez pas de faire toujours une sauvegarde du fichier de configuration SNMP avant de le modifier.
Installer SNMP (Debian) :
[root@pixelabs ~]# apt-get install snmpd snmp libsnmp-dev
- snmpd : C’est le daemon
- snmp : c’est le client
- libsnmp-dev : fichiers de dev
Configuration SNMP
Activer le démarrage du service SNMP au démarrage du serveur :
[root@pixelabs ~]# systemctl enable snmpd
ou :
[root@pixelabs ~]# chkconfig snmpd on
Faire une copie du fichier original :
[root@pixelabs ~]# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.old
Éditez le fichier de configuration :
[root@pixelabs ~]# nano /etc/snmp/snmpd.conf
Modifier la partie suivante. Ajouter le groupe, le serveur de supervision et la communauté.
############################################################################### # # AGENT BEHAVIOUR # # Listen for connections from the local system only agentAddress udp::161
Et, juste en dessous, dé-commenter la ligne suivante : #rocommunity public localhost
############################################################################### # # ACCESS CONTROL # # system + hrSystem groups only view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 # Full access from the local host rocommunity pixelabs 10.10.1.5
- pixelabs : c’est le nom de la communauté
- 10.10.1.5 : l’adresse IP du serveur Centreon.
Relancer le service SNMP :
[root@pixelabs ~]# systemctl restart snmpd
ou
[root@pixelabs ~]# service snmpd restart
Tester SNMP via Centreon Server
Depuis votre serveur Centreon, lancer la commande suivante :
[root@centreon plugins]# snmpwalk -v 2c -c pixelabs serv-debian system SNMPv2-MIB::sysDescr.0 = STRING: Linux serv-debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (102438) 0:17:04.38 SNMPv2-MIB::sysContact.0 = STRING: Me <me@example.org> SNMPv2-MIB::sysName.0 = STRING: serv-debian SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay SNMPv2-MIB::sysServices.0 = INTEGER: 72 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.7 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.8 = OID: UDP-MIB::udpMIB [...]
SNMP VMWare ESXi
Sur les ESXi, pas besoin d’installer SNMP, il suffit de l’activer et le paramétrer via les commandes ci-dessous :
- Connectez-vous en SSH à votre serveur ESX. Vous devez peut être activer le service SSH, voir #Activer_SSH
- Vérifier la configuration SNMP à l’aide de la commande suivante :
[root@pixelabs:~] esxcli system snmp get Authentication: Communities: Enable: false Engineid: Hwsrc: indications Largestorage: true Loglevel: info Notraps: Port: 161 Privacy: Remoteusers: Syscontact: Syslocation: Targets: Users: V3targets: [root@pixelabs:~]
Activer et autoriser votre serveur de supervision (Centreon) :
esxcli system snmp set -c private esxcli system snmp set -p 161 esxcli system snmp set -C pixelabs@pixelabs.fr esxcli system snmp set -L "Ville, Pays" esxcli system snmp set -t ip_centreon@161/private esxcli system snmp set -e true
Vérifiez avec la commande suivante :
[root@pixelabs:~] esxcli system snmp get Authentication: Communities: private Enable: true Engineid: 00000063000000a100000000 Hwsrc: indications Largestorage: true Loglevel: info Notraps: Port: 161 Privacy: Remoteusers: Syscontact: pixelabs@pixelabs.fr Syslocation: Toulouse, France Targets: ip_centreon@161 private Users: V3targets: [root@pixelabs:~]
Autoriser la communication avec votre serveur Centreon :
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address IP_SERVER_CENTREON/CIDR esxcli network firewall ruleset set --ruleset-id snmp --enabled true
- IP_SERVER_CENTREON/CIDR : l’adresse IP de votre serveur Centreon + masque. Exemple : 192.168.1.5/24
- CIDR = Masque réseau : /8 /16 /24…etc. C’est selon votre propre réseau.
Redémarrer le service SNMP :
/etc/init.d/snmpd restart
Le service peut être également relancé depuis vSphere Client : Configuration > Security Profile > Services > SSH
Voilà, c’est terminé. Vous pouvez maintenant superviser vos machines avec la solution de votre choix.
Bonne journée et à bientôt.
Supervision Systèmes & Réseaux
Voir également mes projets sur la supervision : /supervision
- Supervision Certificat HTTPS/Windows : supervision-des-certificats-https-windows/
- Supervision Web HTTP(S) : supervision-https-response-expected-content-centreon/
- Supervision ORACLE BDD : oracle-database-monitoring-centreon-plugins/
- Supervision EMC VNX : vnx5300-vnx5200-monitoring-centreon/
- Supervision MSSQL : microsoft-sql-server-monitoring/
- Supervision Switch CISCO : switch-cisco-centreon-partie-1-2/
- Supervision VMWARE ESXi : vmware-esxi-6-7-monitoring/
- Supervision EXCHANGE Server : exchange-server-2016-monitoring-actif/
- Supervision Quotas Windows : supervision-des-quotas-windows-nrpe-nsclient/
- Supervision Skype for Business : supervision-microsoft-skype-for-business/
- Supervision HPE Proliant Gen10 : supervision-hpe-proliant-gen10-snmp-restapi/
- Supervision NETAPP SANTricity : supervision-netapp-santricity-storage-restapi/
Salut,
En ce qui concerne Windows 10 depuis la v1803 la fonctionnalité n’apparait plus dans le menu il faut l’installer en Powershell (en tant qu’admin) :
Pour vérifier l’installation :
qui renvoie :
C’est bon à savoir. Merci 😉
Pour ma part, j’essaie de ne plus passer par SNMP pour Windows.
NRPE/NSClient fait beaucoup mieux.
Bonne journée.
OK je vais aller voir ça alors 😉 merci
Bonne journée
Mise à jour de l’article.