Table de Matieres
I. Présentation
Dans ce tutoriel, nous allons apprendre à installer et configurer le SNMP sur un serveur sous Windows Server 2022. Le protocole SNMP est très utile lorsque l’on souhaite superviser (monitoring) un équipement (commutateurs, routeurs, serveurs, imprimantes…) afin de récupérer des informations sur plusieurs métriques. Nous pouvons citer quelques solutions de supervision compatibles SNMP : Centreon, Zabbix, Nagios, Checkmk.
Par défaut, la fonctionnalité SNMP n’est pas installée sur Windows donc il convient d’ajouter la fonction avec l’interface graphique de Windows, avec PowerShell ou à partir de son outil de gestion de configuration préférés (Ansible, PowerShell DSC, etc.).
Note : dans sa documentation au sujet de Windows Server 2012 R2, Microsoft précise que SNMP est obsolète. En effet, nous pouvons lire : « SNMP est déprécié. À la place, utilisez Common Information Model (CIM), qui est pris en charge par le protocole de services Web WS-Management et mis en œuvre en tant que Windows Remote Management.« . Néanmoins, il reste un protocole très utilisé aujourd’hui pour la supervision.
Version originale : 27 août 2015
II. Installer SNMP sous Windows Server 2022
Ici, j’utilise une machine sous Windows Server 2022 mais la procédure est la même sur les autres versions notamment Windows Server 2012 R2, Windows Server 2016, Windows Server 2019.
Ouvrez le Gestionnaire de serveur, cliquez sur « Gérer » puis « Ajouter des rôles et fonctionnalités« . Passez les 4 premières étapes sans effectuer de modifications, jusqu’à arriver à l’étape « Fonctionnalités« . Ici, vous devez cocher « Service SNMP » puis « Fournisseur WMI SNMP » si vous envisagez d’utiliser la couche WMI. Vous pouvez aussi l’ajouter par la suite.
Poursuivez jusqu’à l’étape finale pour lancer l’installation et patientez un instant ! Voilà, SNMP est installé sur le serveur Windows !
III. Installer SNMP en PowerShell
Pour les amateurs de PowerShell et de scripts, sachez qu’il est possible de lancer une installation de SNMP en PowerShell plutôt que de passer par le Gestionnaire de serveur.
Ouvrez une console PowerShell en tant qu’administrateur, et saisissez la commande suivante :
Get-WindowsFeature -Name *snmp* | Install-WindowsFeature
Cette commande a pour effet d’installer toutes les fonctionnalités qui contiennent SNMP dans leurs noms, à savoir :
- Outils SNMP (« RSAT-SNMP ») : Administration de la fonctionnalité SNMP
- Service SNMP (« SNMP-Service ») : Service SNMP en lui-même
- Fournisseur WMI SNMP (« SNMP-WMI-Provider ») : Utiliser les requêtes WMI par SNMP avec cette extension
Pour vérifier l’état de l’installation si vous le souhaitez, exécutez simplement cette commande :
Get-WindowsFeature -Name *snmp*
Vous obtiendrez ceci :
Passons maintenant à la configuration.
IV. Configuration du service SNMP
Il n’y a pas de console MMC propre à la gestion du service SNMP comme on peut l’avoir pour d’autres rôles et fonctionnalités. La configuration s’effectue par les propriétés du service SNMP.
Par conséquent, accédez à la console des services (services.msc) et recherchez le service nommé « Service SNMP« . Effectuez un clic droit dessus et « Propriétés« .
Par rapport à un service classique, vous devez observer la présence d’onglets supplémentaires : Interruptions, Sécurité et Agents, sachant que l’on utilise principalement les deux derniers cités.
Si vous ne voyez pas ces onglets, pas de panique ! Il suffit de redémarrer le service par un clic droit sur « Service SNMP » puis « Redémarrer« , sinon par PowerShell :
Restart-Service SNMP
Retournez dans les propriétés et les onglets doivent apparaître.
A. Onglet « Sécurité »
Dans cet onglet, on déclare les communautés que l’on accepte ainsi que les droits attribués. Bien souvent, on attribut une autorisation de lecture seule sur une communauté, mais plusieurs choix sont proposés.
Pour ajouter une communauté, on cliquera sur « Ajouter » et on saisit les informations correspondantes. Il est possible d’ajouter plusieurs communautés, avec un niveau différent de droits à chaque fois si besoin. Pour le nom des communautés, il est préférable d’utiliser des noms complexes pour éviter qu’il soit facilement devinable.
Par sécurité, il vaut mieux cocher l’option « Accepter les paquets SNMP provenant de ces hôtes » et ajoutez à la liste votre serveur de supervision. Ceci évite d’accepter les paquets SNMP provenant de n’importe qui…
Passons à l’onglet « Agent« .
B. Onglet « Agent »
Cet onglet sert à indiquer des informations relatives à votre serveur pour les intégrer dans l’agent SNMP. La zone « Contact » permet d’indiquer les infos sur la personne qui administre ce serveur (un nom, un prénom, ou une adresse e-mail), alors que le champ « Emplacement » sert à indiquer où se trouve ce serveur (exemple : Salle blanche).
Enfin, différentes options sont proposées au niveau « Service » :
– Physique : Le serveur gère-t-il des périphériques physiques ? Exemple : un disque dur.
– Applications : Des applications envoient-elles des données par le biais de TCP/IP ?
– Liaison de données et sous-réseau : Le serveur gère-t-il un pont ?
– Internet : Le serveur est-il un routeur ?
– Bout en bout : Le serveur est-il connecté au réseau en TCP/IP ?
N’hésitez pas à tester votre configuration avec un logiciel de test SNMP, ou sinon testez directement avec votre serveur de supervision. Pour que la configuration soit bien prise en compte, il est préférable de redémarrer le service SNMP.
V. Conclusion
Nous venons de voir comment installer et configurer le SNMP sur Windows Server dans le but de pouvoir superviser notre serveur ! D’autres techniques sont possibles en complément, comme l’utilisation de NSClient++ notamment pour exécuter des scripts PowerShell (via NRPE) et retourner des états. Par exemple :