console linux

Introduction SNMP sous Linux, Windows, etc

Le SNMP (Simple Network Management Protocol) permet de monitorer son matériel informatique. Qu’il s’agisse d’un serveur Linux, un serveur Windows, un routeur, un firewall, etc.

Il est intéressant de savoir comment récupérer ces informations brutes, afin d’identifier les objets à intégrer à notre système de monitoring par exemple.

Linux

Le client pour récupérer les données

J’utilise Debian Wheezy pour ces notes. Voici de quoi récupérer toutes les informations SNMP, que ce soit en SNMP v1 ou v2c. La version sécurisée de SNMP sera vue plus tard.

Les paquets nécessaires :

Éditer le fichier /etc/snmp/snmp.conf et commenter la ligne « mibs: »
Les MIB ne sont pas sélectionnées par défaut lorsque l’on interroge un périphérique. Il faut le spécifier avec l’option -m

Afin d’obtenir l’OID, numéro unique permettant d’identifier la variable SNMP, voici un exemple pour l’uptime :

Cet OID sert à créer le service dans un logiciel de monitoring comme Centreon par exemple.

-On  permet d’avoir l’OID et pas la translation du nom

Pour avoir les noms d’affichés au lieu des OID, on spécifie les MIB à utiliser :

Autre commande :

Traducteur d’OID en nom compréhensible :

Plus d’infos sur les MIB existantes sur le site oidview.com. Par exemple pour les MIB d’UPS voir ce lien direct.

Ces commandes servent surtout à vérifier le « background » de notre installation. Il faut installer un vrai système d’alertes comme Nagios ou Centreon. Ce dernier gère également la métrique. Un article sera prochainement consacré à celui-ci.

L’installation du daemon

Afin de monitorer un serveur Linux, on installe un service snmpd et ses dépendances. Cela permettra à notre serveur de monitoring de récupérer les données du serveur Linux.

C’est notre serveur de monitoring (ou le serveur ayant snmpwalk) qui fera la demande au serveur à surveiller de manière régulière. On appelle ça un « pull ».

Éditer le fichier /etc/snmp/snmpd.conf pour modifier les points essentiels de la configuration :

Si besoin, éditer /etc/default/snmpd et rajouter les IP qui doivent écouter à la fin de la ligne suivante :

On redémarre le service snmpd et notre système est prêt 😉

Il faut savoir qu’il existe aussi des traps SNMP, qui permettent de faire un « push ». C’est le serveur à surveiller qui va informer le serveur de monitoring d’un problème immédiatement au lieu d’attendre que le serveur de monitoring l’interroge.

Windows

Dans cet article, je ne verrai que le SNMP v2c, pas la version sécurisée SNMP v3.

Étape 1 facultatif

Pour windows Seven uniquement,il faut d’abord ajouter le composant windows dans le panneau de configuration :

Pour un windows serveur, on passe directement à l’étape suivante.

Étape 2 Firewall

On configure le firewall pour autoriser le port SNMP (161) en entrée :

De là, on déroule « Windows Firewall with Advenceds Security » pour atteindre « Inbound Rules »

Dans le menu de droite :

On active la règle souhaitée selon le profil (Généralement la première « Domain »).

Étape 3 Activer le service SNMP

Il faut directement aller dans les services windows :

Pour plus d’infos :http://support.microsoft.com/kb/324263

Ensuite, dans l’onglet Agent, on rempli le champ Contact et Location, on coche tous les services à monitorer.

Dans l’onglet Security :

  • Dans Accpeted community names, on clique sur Add pour mettre en READ ONLY le community name « public »
  • Dans Accept SNMP packets from these hosts, on ajoute l’IP de Centreon en cliquant sur Add
  • On applique et on redémarre le service

Dans Centreon, il y a par défaut : l’espace disque, la RAM, le CPU. Voir pour d’autres via interrogation direct selon l’OID ou via scripts Nagios.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">