Concepts SNMP

Le protocole SNMP (Simple Network Management Protocol) est un protocole Internet standard utilisé principalement dans les systèmes d'administration réseau pour vérifier que les périphériques réseau remplissent les conditions qui exigent une attention administrative particulière. Les périphériques qui prennent généralement en charge SNMP sont les routeurs, les commutateurs, les serveurs, les postes de travail et les imprimantes. Cette section présente les principes de SNMP et donne un aperçu général des MIB Cast Iron.

Dans la terminologie de SNMP, un dispositif d'intégration Cast Iron est désigné par "élément réseau" ou "unité gérée," ce qui indique qu'il s'agit d'un citoyen résidant sur un réseau et disponible à des fins de gestion. Les éléments réseau incluent un agent qui fournit des informations relatives à l'élément. Les agents effectuent deux fonctions clés. Tout d'abord, ils répondent aux demandes du système de gestion, puis ils envoient des notifications relatives aux événements sur l'élément réseau. Les notifications asynchrones envoyées par l'agent au gestionnaire sont désignées par alertes.

Les alertes SNMP permettent aux agents de notifier au poste de gestion les événements importants par le biais d'un message SNMP non sollicité. Les informations fournies via l'interrogation ou les alertes sont définies dans des bases MIB (Management Information Base). Une MIB est une base de données virtuelle utilisée pour gérer les entités d'un réseau de communication. Les MIB définissent une hiérarchie d'objets, chaque objet ayant son propre ID objet. UN ID objet est spécifié à l'aide de nombres séparés par des points, par exemple ".1.3.6.1.2.1.1." Un ID objet est parfois référencé à l'aide d'un nom usuel. Par exemple, l'ID objet .1.3.6.1.2.1.1 peut être dénommé "système". Le protocole SNMP définit plusieurs MIB publiques et permet également aux organisations de définir des MIB personnalisées propres à une application.

Description des MIB Cast Iron

Les fichiers téléchargés à partir de la console de gestion Cast Iron comportent plusieurs sections MIB DEFINITIONS = BEGIN - END. Chaque section comprend une MIB dotée de sa propre hiérarchie. Pour rechercher des informations spécifiques à Cast Iron, utilisez CASTIRON-IA-MIB. Chaque MIB comporte un MODULE-IDENTITY qui décrit la fonction de la MIB. Une section de commentaire à la suite de MODULE-IDENTITY donne un aperçu du contenu de la MIB et contient un récapitulatif d'objet qui répertorie le nom et l'ID objet de chaque objet MIB.

Remarque : Certains outils, tels que ceux fournis par NET-SNMP, exigent que chaque MIB soit fractionnée en fichier unique. Pour plus d'informations sur le fractionnement des MIB, voir Configuration d'un récepteur SNMP.
Voici une section du récapitulatif d'objets issu d'une MIB CASTIRON-IA-MIB :
--   ciIaProjectSummary                             ciia.1.1.1
--    ciIaNbrProjects                               ciia.1.1.1.1
--    ciIaNbrRunningOrchs                           ciia.1.1.1.2
--    ciIaNbrStoppedOrchs                           ciia.1.1.1.3
--    ciIaNbrRunningJobs                            ciia.1.1.1.4
--    ciIaNbrCompletedJobs                          ciia.1.1.1.5
--    ciIaNbrErroredJobs                            ciia.1.1.1.6
Comme indiqué, un noeud organisationnel (dans ce cas, OBJECT-IDENTITY, qui est similaire à un répertoire), appelé ciIaProjectSummary contient des informations générales sur les projets. Ce "répertoire" contient des éléments spécifiques (OBJECT-TYPE) contenant entre autres le nombre de projets, le nombre d'orchestrations en cours d'exécution et arrêtées. Pour obtenir plus d'informations sur la signification de ces éléments, recherchez le nom de l'élément dans le fichier. Par exemple, pour obtenir des informations sur ciIaNbrRunningJobs, recherchez cette chaîne dans le fichier pour obtenir ce qui suit :
ciIaNbrRunningJobs OBJECT-TYPE                      -- ciia.1.1.1.4
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Nombre total de travaux en cours d'exécution.
        "
::= { ciIaProjectSummary 4 }
Les zones clés sont les suivantes :
  • ciIaNbrRunningJobs OBJECT-TYPE - Définit le nom de l'objet. Il est noter qu'un commentaire figurant à la fin du fichier donne la forme abrégée de l'ID objet.
  • SYNTAX Unsigned32 - Entier non signé dont la valeur peut augmenter ou diminuer.
  • MAX-ACCESS read-only - Valeur en lecture seule. Le gestionnaire peut la demander mais ne peut pas la modifier.
  • DESCRIPTION - Décrit l'objet.
L'exemple suivant illustre les données affichées lors de l'interrogation des informations ProjectSummary :
$ snmpwalk -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectSummary
CASTIRON-IA-MIB::ciIaNbrProjects.0 = Gauge32: 2
CASTIRON-IA-MIB::ciIaNbrRunningOrchs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrStoppedOrchs.0 = Gauge32: 14
CASTIRON-IA-MIB::ciIaNbrRunningJobs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrCompletedJobs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrErroredJobs.0 = Gauge32: 0
Les données suivantes s'affichent lors de l'interrogation des informations lciIaProjectTable :
--   ciIaProjectTable                               ciia.1.1.2
--    ciIaProjectEntry                              ciia.1.1.2.1
--     ciIaProjEntryIndex                           ciia.1.1.2.1.1
--     ciIaProjEntryName                            ciia.1.1.2.1.2
--     ciIaProjEntryVersion                         ciia.1.1.2.1.3
--     ciIaProjEntryConfig                          ciia.1.1.2.1.4
--     ciIaProjEntryState                           ciia.1.1.2.1.5
--     ciIaProjEntryNbrRunning                      ciia.1.1.2.1.6
--     ciIaProjEntryNbrCompleted                    ciia.1.1.2.1.7
--     ciIaProjEntryNbrErrored                      ciia.1.1.2.1.8
--     ciIaProjEntryTimePublished                   ciia.1.1.2.1.9
Les tables SNMP peuvent s'avérer complexes. A l'instar d'un schéma de base de données, elles indiquent le nom, la version, la configuration, l'état et d'autres informations sur chaque projet du dispositif. Chaque élément d'entrée (par exemple, ciIaProjEntryName, ciIaProjEntryVersion ) décrit une colonne de la table. Vous pouvez rechercher dans la base MIB la chaîne afin d'obtenir des informations complémentaires sur sur chaque élément. Remarque : si vous tentez de "parcourir" la table de projet de façon itérative, des problèmes peuvent se produire. En revanche, utilisez systématiquement une fonction d'outil comprenant les tables lors de l'affichage des informations de table. L'exemple ci-dessous illustre une technique de "parcours". Dans ce cas, un projet a été publié puis cloné pour créer une configuration, ce qui donne lieu à deux lignes de table. Comme l'indique la sortie, il est difficile de comprendre quels sont les éléments associés à des lignes spécifiques. Dans ce cas, vous devez afficher l'index (la dernière partie de l'ID objet) pour déterminer la disposition correcte des éléments et des lignes.
$ snmpwalk -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectTable
CASTIRON-IA-MIB::ciIaProjEntryName.98304 = STRING: OnlineLicensing
CASTIRON-IA-MIB::ciIaProjEntryName.98305 = STRING: OnlineLicensing
CASTIRON-IA-MIB::ciIaProjEntryVersion.98304 = STRING: 1.0
CASTIRON-IA-MIB::ciIaProjEntryVersion.98305 = STRING: 1.0
CASTIRON-IA-MIB::ciIaProjEntryConfig.98304 = STRING: Default
CASTIRON-IA-MIB::ciIaProjEntryConfig.98305 = STRING: OnlineLicensingClone
CASTIRON-IA-MIB::ciIaProjEntryState.98304 = INTEGER: undeployed(1)
CASTIRON-IA-MIB::ciIaProjEntryState.98305 = INTEGER: undeployed(1)
CASTIRON-IA-MIB::ciIaProjEntryNbrRunning.98304 = Gauge32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrRunning.98305 = Gauge32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrCompleted.98304 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrCompleted.98305 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrErrored.98304 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrErrored.98305 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryTimePublished.98304 = STRING: 2009-6-12,16:36:20.0,+0:0
CASTIRON-IA-MIB::ciIaProjEntryTimePublished.98305 = STRING: 2009-6-12,16:36:20.0,+0:0
Lorsque les informations sont mappées à l'aide de la commande snmptable, elles s'affichent plus clairement, comme présenté dans l'exemple suivant :
$ snmptable -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectTable
SNMP table: CASTIRON-IA-MIB::ciIaProjectTable

 PEN*                 PEV PEC                  PES          PER COM PEE		PETP
 OnlineLicensing      1.0 Default              undeployed   0   0   0    2009-6-12,16:36:20.0,
                                                                         +0:0
 OnlineLicensing      1.0 OnlineLicensingClone undeployed   0   0   0    2009-6-12,16:36:20.0,
                                                                         +0:0

*Table Key: PEN=ciIaProjEntryName, PEV=ciIaProjEntryVersion, PEC=ciIaProjEntryConfig, 
 PES=ciIaProjEntryState, PER=ciIaProjEntryNbrRunning, COM=ciIaProjEntryNbrCompleted, 
 PEE=ciIaProjEntryNbrErrored, PETP=ciIaProjEntryTimePublished

Il est à noter que ces exemples utilisent des noms textuels et non des ID objet. Etant donné qu'une des fonctions de la base MIB consiste à mapper les ID objet et les noms textuels, il n'est pas nécessaire d'utiliser régulièrement des ID objet.