wiki:InsiaAdminSysSnmp

Version 10 (modified by Vincent Caron, 14 years ago) (diff)

--

Sommaire

Administration système - SNMP

1. Présentation

SNMP (Simple Network Management Protocol) est un protocole particulièrement adapté à la surveillance et la mesure de noeuds dans un réseau informatique. Il peut être également étendu à leur gestion dans une certaine mesure (c'est-à-dire agir sur ces noeuds).

L'utilisation est basée sur le classique modèle client-serveur. Dans la terminologie SNMP:

  • le serveur est appelé un agent et est installé en pratique sur chaque noeud qui doit être surveillé et/ou contrôlé
  • le client est en général intégré dans un outil de monitoring (management station), ou peut être utilisé directement en ligne de commande

2. La MIB

Les données décrites et transportées par ce protocole utilisent un nommage hiérarchique. Certaines branches sont normalisées et décrivent donc des mesures et des unités connues, d'autres branches sont maintenues par des entreprises pour leur besoins propre (CISCO, etc). L'ensemble du catalogue des informations gérables via SNMP s'appelle la MIB (Management Information Base).

Techniquement, le nommage d'une information précise dans la hiérachie d'une MIB se fait à l'aide d'une notation sous forme d'identifiants séparés par des points (un chemin hiérarchique), et qui commencent par un "1" (la racine, non utilisée). Cette notation numérique étant inutile pour les humains, sont maintenues des tables de correspondance textuelle pour nommer l'information.

Si par exemple on veut obtenir l'information standard SNMPv2-MIB::sysDescr.0, l'identifiant numérique peut être obtenu ainsi:

$ snmptranslate SNMPv2-MIB::sysDescr.0
.1.3.6.1.2.1.1.1.0

Chaque information est stockées sous forme de valeurs de type simples:

  • Un entier: typiquement 32 bits signés (par défaut) ou non signé (type compteur) - SNMP v2 apporte les compteurs 64bits
  • Les jauges: une valeur entière accompagnée de ses minima et maxima atteint depuis leur dernière réinitialisation
  • Les adresses: au sens réseau (attention seulement 32bits pour SNMP v1)
  • Les chaînes: pour une information textuelle
  • Les temps: exprimés comme entiers en 100ème de secondes
  • Les opaques: transportent une information spécifique à une application

3. Sécurité

SNMP v1 n'implémente pas de modèle de sécurité particulier, chaque implémentation d'agent pouvant fournir un sytème personnalisé à cet effet (accès par IP, etc).

SNMP v2 apporte une gestion des droits de type "rôle" qui est considérée très complexe et n'a quasiment jamais été utilisée.

SNMP v2c base l'authentification sur un mécanisme plus simple, la "communauté" (qui peut être pensée comme un "login"). On peut définir des ACLs assez simple en se basant sur l'IP de la console de mangament et la communauté utilisée.

SNMP v3 apporte des fonctions d'authentification et de cryptage avancées. Il n'est pas largement utilisé, SNMP étant majoritairement utilisé pour du monitoring non sensible (quantité de traffic réseau, etc).

En pratique on utilise très souvent le protocole 1 ou 2c, il suffit alors de préciser le nom de la commuanuté à chaque accès. Ce sera traditionnellement les options -v1 -cpublic ou {{{-v2c -cpublic}} pour la plupart des outils en ligne de commande.

4. Outils SNMP

Pour demander une information précise, si l'on connaît sa référence MIB:

$ snmpget -v1 -cpublic myserv.net SNMPv2-MIB::sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux myserv 2.4.33.3-8 #1 Thu Oct 12 23:29:43 CEST 2006 i586

Pour demander globalement le parcours (en profondeur) de l'arbre complet d'information renseigné par l'agent:

$ snmpwalk -v1 -cpublic myserv.net
...
$ snmpwalk -v1 -cpublic myserv.net

5. SNMP "Traps"

6. MRTG/Cacti

bla...

Attachments (1)

Download all attachments as: .zip