Manuel de l'administrateur Table des matières LinkedIn social network LinkedIn social network LinkedIn social network LinkedIn social network Share on social media

Compilateur de MIB

Introduction

Concepts de gestion des MIB de Loriotpro

Interface du compilateur de MIB

Compiler un MIB

Sauver la compilation

Nettoyer la base des MIB, enlever des entrées de l’arbre des MIB

Erreurs de compilation commune


Introduction

Le compilateur de MIB de LoriotPro (MIB Compiler) est indispensable pour ajouter des fichiers de MIB propriétaires ou standard  et agrandir la base des objets SNMP.

Les objets des MIB compilées apparaissent  alors dans l’arbre des objets de MIB et peuvent être utilisés de suite par tous les modules de LoriotPro.

process compilation de MIB

Les fichiers de MIB contiennent les descriptions des objets accessibles sur un équipement réseau ou un système et sont indispensables à Loriotpro pour construire les requêtes SNMP auprès de ces équipements.

On distingue deux types de fichiers de MIB, les MIB standards défini par l’IETF dans des RFC et qui contiennent les objets communs à tous les systèmes, les MIB propriétaires qui sont écrites par des constructeurs ou des éditeurs et qui sont dédiées à la supervision et au management de leurs solutions.

Les MIB standards sont pour la plupart déjà intégrées à LoriotPro et vous n’avez pas besoin de les ajouter (par le processus de compilation)

Les MIB propriétaires ne sont pas fournies car elles sont trop nombreuses. Seules quelques MIB propriétaires des constructeurs les plus courants et de nos partenaires sont intégrées à LoriotPro par défaut.

Concepts de gestion des MIB de Loriotpro

Le chapitre suivant présente les concepts de gestion de MIB de LoriotPro.

Au démarrage de LoriotPro, les objets de MIB présents dans le fichier lmib.txt créés lors de la compilation sont chargés en mémoire.
Ces objets sont alors visibles dans l’arbre des objets de MIB (MIB Tree) de LoriotPro et peuvent être utilisés pour les requêtes SNMP.

Le compilateur de MIB de Loriotpro peut ajouter dans la base n’importe quel fichier de MIB présent dans le répertoire  /bin/mibs respectant le standard SMI v1 et SMI v2.

Attention : Les fichiers utilisés pour la compilation doivent impérativement restées dans le répertoire /bin/mibs car tous les attributs des objets ne sont pas chargés en mémoire et Loriotpro peut avoir besoin d’accéder aux fichiers d’origines.

Si le fichier initial /bin/lmib.txt n’existe pas LoriotPro crée un nouveau fichier  à partir du fichier de base  /bin/config/mib-database/lmib.lda.

Le fichier lmib.lda est le fichier de démarrage par défaut pour la base des MIB. Celui-ci est absolument nécessaire pour tous les modules de Loriotpro.
C’est une copie du fichier lmib.txt créé lors de la dernière compilation réalisée et si vous avez sélectionné l’option Save to startup datatbase dans le menu de la fenêtre du compilateur de MIB. Dans le cas contraire c’est une copie du fichier lmib.txt fourni à l’installation.

A la fin du processus de lancement de LoriotPro, si aucun des deux fichiers n’existe, LoriotPro lit le fichier /bin/kernel.mib et crée une base de données à la volée des objets de MIB minimum. Le fichier kernel.mib comprend la structure racine de l’arbre des MIB et les branches obligatoires de la Mib2 définies dans les RFC 1155 et RFC 1213.

Compiled MIB file, kernel MIB
List of MIB file definition load from the kernel.mib file

LoriotPro charge aussi par défaut es fichiers de MIB listé dans le fichier /bin/config/loriotpro.ini dans la section [MIB_LOAD] .

Les fichiers de MIB présents ici sont compilé à la volée quand Loriotpro démarre.

[MIB_LOAD]
enterprises-number.mib
[end]

Le fichier entreprise-number.mib permet de créer la branche entreprise de l'arbre des MIB avec la plupart des entreprises constructeur et éditeur.

Remarque : Un message d"erreur à l'initialisation quand le ficheir enterprises-number.mib est déjà chargé par le fichier compilé lmib.txt.

Interface du compilateur de MIB

Pour accéder au compilateur de MIB utiliser le menu principal.

MIB>MIB MIB compiler…

MIB options menu
MIB compiler Tool

La fenêtre suivant apparait.

MIB Compiler window
MIB MIB compiler MIB compiler window

Cette fenêtre contient deux  tableaux:

  1. Le tableau supérieur affiche les MIB qui sont compilées et présentes dans la base interne en mémoire.
  2. Le tableau inférieur affiche les MIB qui sont presents dans le repertoire /bin/mibs mais qui ne sont pas encore compilées.

L'icone indique une MIB compilée
L'icône indique une MIB non compilées


Compiler un MIB

Le chapitre suivant explique étape par étape comment ajouter une MIB à LoriotPro.

 

Obtenir les fichiers auprès du constructeur ou de l’éditeur

La première étape et parfois  la plus difficile consiste à obtenir les MIB dédiées à l’équipement ou au système auprès du constructeur. La version des MIB peut varier (SMI v1 et SMI v2), dans ce cas prendre la version 2 si celle-ci procure les objets souhaités.


Exemple sur le site Cisco de chargement des MIB

cisco mib

Les fichiers du constructeur Cisco fournis en mode compressé.

Ciscov1.tar.gz
Ciscov2.tar.gz

Une fois les fichiers téléchargés,  les  décompresser  et les  copier dans le repertoire /bin/mibs.

SI vous êtes déjà dans le compilateur et que vous ne voyez pas les MIB que vous avez copiées, cliquer sur le bouton Scan for News MIBs.

scan for new MIB files

scan MIB files

Selectionner Yes.

Les MIB doivent apparaitre dans la table inférieure.

MIB files not compiled
Liste de fichier de MIB Cisco

A ce stade vous pouvez:

MIB files selected for compiling
Performing a selective compilation

Pour la compilation d'une MIB située dans un autre répertoire que le répertoire des MIB de LoriotPro, choisir Compile this MIB File.

single MIB file selection

La compilation est un processus complexe qui peut prendre plsuieurs minutes suivant la performanec de la machine et le nombre de MIB compilées.

Un message d'avertissement est affiché avant la compilation.

MIB file warning
Compilation confirmation window

Pendant la compilation, la barre d'état inférieure vous affiche la progression et le nombre de noeuds (objets) traité.

MIB compilation status

Sauver la compilation

Après une compilation,  les objets de MIB sont immédiatement accessibles à partir de la mémoire.

Cependant en cas d’arrêt de LoriotPro , les MIB compilées ne seront pas visibles et devront être recompilées.

C’est pourquoi il est nécessaire de sauvegarder le résultat de cette compilation dans la base, fichier  lmib.txt, dont nous avons évoqué l’existence au début de ce document.

Le rôle du fichier lmib.txt est de recharger en mémoire les MIB compilées au démarrage de LoriotPro.

Pour sauver la compilation il faut ouvrir le menu du compilateur de MIB

MIB database menu

et sélectionner l'option Save To Startup database

MIB database warning

Options disponibles

Save to Startup database

Cette option sauvegarde la compilation courante dans le fichier /bin/lmib.txt et dans le fichier /bin/config/mib-database/lmib.lda. Le fichier précédent lmib.lda est renommé en lmib-bak.lda. Avec le fichier lmib-bak.lda vous pouvez ainsi revenir à la situation initiale. Utiliser l’option  Change Startup database pour restaurer le fichier lmib-bak.lda.

Save As

Sauvegarde la compilation courante dans un fichier de base. Ce fichier ne sera pas chargé au démarrage par défaut. Cette option vous permet d’avoir plusieurs configuration de base de MIB et de choisir celle que vous souhaitez charger au démarrage de LoriotPro.  

mib database name

Reset Startup Database To Default

Le fichier de base de MIB utilisé au démarrage de LoriotPro pour la création de l’arbre des MIB (en mémoire) est réinitialisé. Toutes les MIB compilées depuis l’installation sont supprimées. Cette option est utile pour supprimer les MIB propriétaires ou pour relancer une compilation de MIB ayant été mises à jour. Le nouveau fichier est créé à partir du fichier  lmib.dat. Le fichier lmib.dat contient tous les fichiers de MIB standards et nécessaires pour les plugin de LoriotPro.

Reset Startup Database To Kernel

En choisissant l’option Reset Startup Database to Kernel la base sera initialisée par un fichier de MIB minimum appelé kernel.mib et qui contient les MIB des RFC 1155, RFC 1158, RFC 1213, RFC 3418, RFC 1904, RFC 1903.

Change Startup Database

Cette option vous permet de sélectionner un autre fichier de configuration à utiliser pour le démarrage de LoriotPro. Les fichiers sont situés dans le répertoire /bin/config/mib-database. Cette opération remplace /bin/lmib.txt par le  fichier .lda sélectionné.

Reset Internal SNMP OID tree

Réinitialise la base interne (en mémoire) des MIB et l’arbre de MIB en conséquence. Il peut être nécessaire d’utiliser cette option dans certains cas et si vous ne voyez pas les nouveaux objets dans l’arbre des MIB après une compilation.

mib tree structure

 En fonction de votre choix répondez Yes ou No . Si vous désirez revenir en arrière après avoir choisi Yes,  vous pourrez recopier la sauvegarde du fichier lmib.txt réalisée au préalable et relancer le logiciel.

Après la compilation, un fichier texte est affiché vous informant des résultats et des erreurs éventuelles de compilation. Si vous avez compilé un fichier contenant des fonctions Import le logiciel aura aussi compilé et si ils sont présents, les fichiers à importer.

Extrait du fichier texte généré

Start: Load and Analyse MIB file : ---------------------------------- mibs/CISCO-6400-CHASSIS-MIB-V1SMI.my at Tue Feb 19 18:16:11 2002
 Found MIB Definitions [CISCO-6400-CHASSIS-MIB]
 Import MIB [SNMPv2-SMI-v1] registered
 Import MIB [SNMPv2-SMI-v1] allready Loaded from (SNMPv2-SMI-V1SMI.my) for mibs/CISCO-6400-CHASSIS-MIB-V1SMI.my
 Import MIB [SNMPv2-TC-v1] registered
 Import MIB [SNMPv2-TC-v1] allready Loaded from (SNMPv2-TC-V1SMI.my) for mibs/CISCO-6400-CHASSIS-MIB-V1SMI.my
 Import MIB [IF-MIB] registered
 Import MIB [IF-MIB] allready Loaded from (rfc2863.mib) for mibs/CISCO-6400-CHASSIS-MIB-V1SMI.my
Total : Node [11944/11852] Node Error [1] Node Warning [14] Token Registered [269] 2 s Tue Feb 19 18:16:13 2002


Les fichiers de MIB compilés apparaissent maintenant dans la liste avec l’icône

MIB file compiled

Exemple d’utilisation des nouveaux objets SNMP

Lorsque vous sortez du compilateur de MIB les arbres de MIB représentant les objets SNMP sont remis à jour et les nouveaux objets sont disponibles dans les différents modules de LoriotPro.

La compilation des MIB propriétaires à CISCO est venu compléter l'arbre de MIB dans la branche CISCO

Cisco mib object tree
The updated MIB Tree.

Remarque : Lors de la compilation, les objets SNMP de type Trap V1, rencontrés dans les fichiers de définitions, sont insérés dans l’arbre des MIB et possèdent une icône spécifique.


V1Trap in the 'MIB Tree'

Le logiciel génère aussi un fichier trap.txt dans le répertoire bin contenant l’ensemble des Trap de type SNMP V1 rencontrés lors de la compilation.

Ce fichier est utilisé par le gestionnaire d’événements pour faire un lien entre l’ObjectID d’un Trap de type Enterprise et le numéro spécifique associé à ce Trap.

Extrait du fichier :  trap.txt

atmsoftpvctraps.1 atmsoftpvccallfailurestrap
cisco6400chassismibnotificationprefix.1 cisco6400chassisfailurenotification
x25.1 x25restart
x25.2 x25reset
snmp.5 egpneighborloss
dot1dbridge.1 newroot
dot1dbridge.2 topologychange
rmon.1 risingalarm
rmon.2 fallingalarm
docsdevtrapconformance.1 docsdevcminittlvunknowntrap
docsdevtrapconformance.2 docsdevcmdynservreqfailtrap
docsdevtrapconformance.3 docsdevcmdynservrspfailtrap
docsdevtrapconformance.4 docsdevcmdynservackfailtrap
docsdevtrapconformance.5 docsdevcmbpiinittrap
docsdevtrapconformance.6 docsdevcmbpkmtrap
docsdevtrapconformance.7 docsdevcmdynamicsatrap
docsdevtrapconformance.8 docsdevcmdhcpfailtrap
docsdevtrapconformance.9 docsdevcmswupgradeinittrap
docsdevtrapconformance.10 docsdevcmswupgradefailtrap
docsdevtrapconformance.11 docsdevcmswupgradesuccesstrap
docsdevtrapconformance.12 docsdevcmswupgradecvcfailtrap
docsdevtrapconformance.13 docsdevcmtodfailtrap
docsdevtrapconformance.14 docsdevcmdccreqfailtrap

Dans le fichier les noms des Traps de type V1 sont codés :

docsdevtrapconformance.14 docsdevcmdccreqfailtrap

Dans cet exemple le Trap  docsdevcmdccreqfailtrap est le Trap spécifique numéro 14 de l’OID  docsdevtrapconformance.

 Attention : Le fichier Trap.txt est un fichier créé en mode ajout (append), si vous réalisez plusieurs compilations de suite, il faut éditer ce fichier pour supprimer les doublons qui pourraient être créés.   Dans l’exemple suivant les lignes en gras sont à supprimer.

Extrait du fichier :  trap.txt

x25.1 x25restart
x25.2 x25reset
dot1dbridge.1 newroot
dot1dbridge.2 topologychange
rmon.1 risingalarm
rmon.2 fallingalarm
llecointe.1 loriotidsprobetrap
x25.1 x25restart
x25.2 x25reset
dot1dbridge.1 newroot
dot1dbridge.2 topologychange
rmon.1 risingalarm

Nettoyer la base des MIB, enlever des entrées de l’arbre des MIB

L’ajout de MIB dans la base des MIB est une opération réalisée par le compilateur de MIB de LoriotPro.

Pour rappel, la base des MIB est construite par ajout de fichiers de MIB dans un processus de compilation.

La base des MIB est indispensable au logiciel LoriotPro pour réaliser la résolution de nom d’objet en OID ou d’OID en nom d’objet.

(Exemple : sysName <-> 1.3.6.1.2.1.1.5.0)

Depuis la Version 5 de LoriotPro le compilateur de MIB est aussi utilisé pour nettoyer la base des MIB des objets non souhaités. En d’autres termes, vous pouvez enlever des entrées de l’arbre des MIB. (L’arbre des MIB étant la représentation de la base de MIB)

Masi il y a une différence importante entre l’ajout de fichiers de MIB (nouvelles entrés) dans la base et la suppression d’entrées. En effet l’ajout peut être réalisé fichier par fichier tant que vous suivez les règles de dépendance des MIB (IMPORT)

Tandis que la suppression d’entrées dans la base des MIB ne peut être faite fichier par fichier et nécessite un nettoyage complet de la base des MIB puis  une reconstruction (compilation) avec tous les fichiers de MIB souhaités.

A cette fin deux options sont disponible dans le menu du compilateur.

MIB Compiler Menu

En choisissant l’option Reset Startup Database to Default la base sera construite avec les MIB des RFC courant ainsi que certaines MIB propriétaires de quelques constructeurs, éditeurs ou partenaires de LUTEUS.

En choisissant l’option Reset Startup Database to Kernel la base sera initialisée par un fichier de MIB minimum appelé kernel.mib et qui contient les MIB des RFC 1155, RFC 1158, RFC 1213, RFC 3418, RFC 1904, RFC 1903.

Une demande de confirmation est proposée avant validation

Minimum MIB tree

LoriotPro doit être redémarré pour que la modification soit prise en compte.

La base des MIB est chargée en mémoire de travail à partir d’un fichier au démarrage de LoriotPro d’où la nécessité de redémarrer LoriotPro.

Cleaning MIB tree

Vérifier en ouvrant l’arbre de MIB que l’opération s’est bien déroulée. L’arbre de MIB minimum suivant doit s’afficher.

Confirm cleaning MIB tree

Il est possible a ce stade d’ajouter des MIB par compilation, mais attention, car tout fichier de MIB compilé par erreur ne pourra être enlevé quand reprenant le processus de nettoyage complet.

Contrôle de la branche des MIB private.enterprises

Il est possible de nettoyer la branche des objets enterprises qui est par défaut initialisée avec de nombreuses entrées.

A notre cependant que supprimer les entrées empêche LoriotPro d’identifier l’origine d’un équipement ou d’un système par son identifiant SNMP (objet du RFC 1213 : sysobjectid).

Enterprise MIB

Pour cela il est nécessaire d’éditer le fichier /bin/config/loriotpro.ini pour rechercher  la ligne (enterprises-number.mib) et la supprimer.

Le fichier enterprises-number.MIB situé dans /bin/mib doit être enlevé du répertoire sinon à la prochaine compilation global les entrées non souhaitées seront ajoutées.

Pour finir, il faut  procéder à un Reset Startup Database to Kernel comme expliqué précédemment.

Erreurs de compilation commune

Les erreurs les plus courantes rencontrées lors de la compilation des MIB sont listées ci-dessous.

Ces erreurs de compilation sont visibles dans les fichiers de log affichés en fin de compilation.

Pour les rechercher, isoler les lignes suivantes :

Total : Node [13025/13024] Node Error [1] Node Warning [0] Token Registered [268] 1 s Tue Jan 13 14:02:35 2004

Le compteur Node Error doit être à 0 sinon vous devez avoir au moins un message d’erreur dans les lignes de log précédentes.

Erreurs courantes

Node Father not found for NODE xxxx

Ce message indique qu’ un ou des objets pères (nœuds de niveau supérieur dans l’arbre des MIB) est indisponible. Vous devez identifier le fichier de MIB manquant pour la compilation correcte de cette MIB. Ouvrir dans ce cas le fichier de MIB et vérifier que les MIB à importer sont bien présentes (section IMPORTS du fichier de MIB).

Warning OBJECT IDENTIFIER [object] Already Registered for MIB File xxx

Ce message vous indique que le compilateur a essayé d’ajouter un objet dans la base qui est déjà présent et défini dans une autre MIB. Il ne sera pas ajouté une seconde fois.

Error PARSE for object->INTEGER delete sequence

La syntaxe de cet objet ne semble par suivre le standard ASN1. Vérifier en éditant la MIB que ASN1 est bien respecté.

 


www.loriotpro.com