Sommaire Index Rechercher Liens A Propos

[LinuxFocus Image]
[Navegation Bar]
  Nouvelles   Archives

Gestion et Surveillance
de R�seaux avec Linux: Des outils pratiques pour g�rer les r�seaux �tendus d'aujourd'hui

par David Guerrero


Introduction

Quest ce que SNMP?

Le probl�me de la s�curit�

Qu'est-que le MIB

Quel est l'avenir de SNMP ?

SNMP avec Linux

MRTG: Multi Router Traffic Grapher

Autres Programmes

Conclusions

Cet article est apparu pour la premi�re fois dans le 'linux journal'.
Nous l'�ditons avec l'autorisation de l'auteur.

Introduction

Dans le monde actuel, o� l'informatique se dirige vers le concept de r�seau, le travail des administrateurs syst�mes est tr�s complexe. Sa mission consiste � maintenir en fonctionnement des ressources tels que les routeurs, les hubs, les serveurs, ainsi que tout dispositif critique qui compose le r�seau.

Il existe un grand nombre de raisons pour lesquelles un administrateur a besoin de monitoriser, entre autres : l'utilisation de la largeur de bande, l'�tat de fonctionnement des liens, la d�tection de goulets d'�tranglement, d�tecter et r�soudre les probl�mes du cablage, administrer le cheminement de l'information entre les machines, etc. La supervision du r�seau prend en compte l'�tude des probl�mes de s�curit�.

Dans de nombreux cas, le r�seau d'une organisation s'entrelacent avec des liens couteux vers des r�seaux �tendus (WAN) ou avec internet, lesquels co�ts d�pendent du volume du trafic. Il est tr�s important de maintenir un registre statistique du trafic d'informations qui circulent par ces liaisons. Cette situation est assez commune en Europe, o� les liaisons X.25 sont encore assez courantes. La tarification de ce type de lignes se r�alise en fonction du nombre de paquets envoy�s et re�us.

Un autre type de liaison, comme le "point � point" (Frame relay), sont en tarif plein. Pour ceux, la compagnie t�l�phonique doit garantir une largeur de bande, qu'il est important de superviser.

A la fin de cet article, nous pr�sentons un outil qui permet de faire un suivi graphique du trafic des routeurs. Il est facilement configurable pour pouvoir superviser d'autres cat�gories d'informations du r�seau.

Qu'est-ce-que le SNMP ?

La r�ponse a tous les probl�mes expos�s pr�c�demment, c'est le protocole Simple Network Management Protocol (SNMP). Elabor� dans les ann�es 80, son principal objectif �tait d'int�grer la gestion des diff�rents types de r�seau au travers d'un outil simple et qui produise peu de surcharge pour le r�seau.

SNMP op�re au niveau applicatif, en utilisant le protocole de transport TCP/IP, qui ignore les aspects sp�cifiques du hardware sur lequel il fonctionne. La gestion se r�alise au niveau IP, Gr�ce auquel il peut contr�ler les dispositifs qui sont connect�s au travers des r�seaux accessibles depuis Internet, et pas seulement ceux qui sont connect�s sur le r�seau local. Evidemment, si un dispositif de routage avec le mat�riel distant ne fonctionne pas correctement, on ne pourra pas superviser sa reconfiguration.

Le protocole SNMP est compos� de deux �l�ments : l'agent et le gestionnaire (manager). C'est client-serveur, dans laquelle l'agent joue le r�le de serveur et le manager le r�le de client.

L'agent est un programme qui doit s'ex�cuter sur chaque noeud du r�seau qu'on doit superviser. Il offre une interface de tous les �l�ments qu'il peut configurer. Ces �l�ments sont stock�s dans des structures de donn�es appel�es "Management Information Base" (MIB), qu'on d�crira plus loin. Elles repr�sentent la partie "serveur", qui contient l'information qu'on souhaite g�rer et attendent des commandes de la part du client.

Le gestionnaire est le software qui s'ex�cute sur la station charg�e de superviser le r�seau, et son travail consiste � consulter les diff�rents agents qui se trouvent dans les noeuds du r�seau, les donn�es qu'ils obtiennent.

Il y a une commande sp�ciale dans SNMP qui s'appelle trap, qui permet � un agent d'envoyer des donn�es qui n'ont pas �t� sollicit�es de mani�re explicite par le gestionnaire, pour informer d'�v�nements tels que : erreurs, d�faillances du courant �lectrique...etc

En r�alit�, SNMP est un protocole tr�s simple, vu que toutes les op�rations se r�alisent au travers d'un processus de charge et stockage (load and store), ce qui permet un jeu de commandes r�duit. Un gestionnaire peut r�aliser seulement deux types d'op�rations diff�rentes sur un agent : lire ou �crire la valeur d'une variable dans le MIB de l'agent. Ces deux op�rations sont connus comme demande de lecture (get-request) et demande d'�criture (set-request). Il existe une commande pour r�pondre � une demande de lecture qui s'appelle get-response, qui est utilis�e uniquement par l'agent.

La possibilit� d'ampliation du protocole est directement en relation avec la capacit� du MIB de stocker des nouveaux �l�ments. Si un fabricant souhaite ajouter une nouvelle commande � un dispositif, comme un routeur, il doit seulement ajouter les variables correspondantes dans la base de donn�es (MIB).

Presque tous les fabricants impl�mentent des versions agents de SNMP dans leurs dispositifs : routeurs, hubs, syst�mes op�rationnnels, etc. Linux ne fait pas exception, et il existe plusieurs agents SNMP disponibles de mani�re publique sur Internet.

Le probl�me de la s�curit�

SNMP n'offre pas beaucoup de support pour l'authentification. Il offre seulement un sch�ma de deux mots-cl�s (two-passwords). La clef publique permet aux gestionnaires de r�aliser des demandes de valeurs de variables, alors que la clef priv� permet de r�aliser des demandes d'�criture. On appelle ces mots-cl�s les SNMP communities. Chaque dispositif connect� avec un r�seau gestionnaire SNMP doit �tre configur�es avec ces deux "communities".

Il est courant d'assigner par d�faut la valeur "public" au community public et "private" au priv�. Il est tr�s important de modifier ces valeurs pour prot�ger le r�seau.

Qu'est-que le MIB ?

SNMP d�finit un standard s�par� pour les donn�es g�r�es par le protocole. Ce standard d�finit les donn�es maintenues par un dipositif en r�seau, ainsi que les op�rations qui sont autoris�es. Les donn�es sont structur�es en arborescence : il y a seulement un chemin entre la racine et la variable. Cette structure arborescente s'appelle Management Information Base (MIB) et on peut trouver des informations sur celle-ci dans divers RFC.

La version actuelle de TCP/IP MIB est la 2 (MIN-II) et elle est d�finit dans la RFC-1213. L'information est divis�e par un dispositif qui maintient 8 cat�gories (voir ci-apr�s). Toute variable doit se trouver dans une de ces cat�gories.

Table 1. Information TCP/IP
Categorie Information
interfaces Information des interfaces r�seau
addr-translation Information sur les translations d'adresses
ip Information sur le protocole IP
icmp Information sur le protocole ICMP
tcp Information sur le protocole TCP
udp Information sur le protocole UDP
egp Information sur le protocole egp (exterior Gateway)

La d�finition d'un �l�ment concret MIB implique la specification du type de donn�e qu'il peut contenir. Normalement, les �l�ments du MIB sont des entiers, mais il peut stocker �galement des chaines de caract�res ou des structures plus complexes comme des tables. Les �l�ments du MIB sont nomm�s "objets". Les objets sont les noeuds (feuilles) de l'arbre du MIB, si bien qu'un objet peut contenir plus d'une instance, par exemple un objet table. Pour r�f�rencer une valeur contenue dans un objet, on doit ajouter le num�ro de l'instance. Quand l'objet poss�de une instance unique, c'est l'instance 0.

Par exemple, l'objet ifNumber de la cat�gorie "interfaces" est un entier qui repr�sente le nombre d'interfaces pr�sentes dans le dispositif. L'objet ipRoutingTable de la cat�gorie ip contient la table de routage du dispositif.

Il faut se rappeler qu'il est n�cessaire d'utiliser le num�ro de l'instance pour lire la valeur d'un objet. Dans ce cas, le nombre d'interfaces pr�sentes dans le routeur peut �tre observ� au moyen de l'instance ifNumber.0.

Dans le cas d'un objet "table", il faut utiliser l'index de la table comme dernier num�ro pour sp�cifier l'instance (liste de la table).

Il existe un autre standard que d�finit et identifie les variables MIB, appel� "Structure de Management Information" (SMI). SMI sp�cifie les variables MIB, celles-ci �tant d�clar�es selon un langage formel ISO appel� ASN.1, ce qui entra�ne qu'aussi bien la forme comme le contenu des variables sont d�nu�es de toute ambiguit�.

Le champ des nombres ISO (arbre) est situ� � l'int�rieur d'une autre champ de nombres, joint � d'autres arborescences d'autres standards d'autres organisations. A l'int�rieur du champ de nombres ISO se situe un enbranchement sp�cifique pour l'information MIB. Au sein de cet enbranchement MIB, les objets sont � la fois hierarchis�s en sous-enbranchements pour les diff�rents protocoles et applications, de mani�re que chaque information peut �tre repr�sent�e de fa�on non �quivoque.

La figure 1 montre que le champ nom de l'espace TCP/IP MIB est situ� juste sous le champ mgmt name space of thede l' IAB. La hierarchie pr�cise aussi un nombre pour chacun des niveaux.

Figure 1. Organigramme TCP/IP

Il est important de pr�ciser que la plus grande partie du logiciel n�cessite le point-racine (.) pour localiser un objet dans la MIB. Si on n'inclut pas ce point-racine, on suppose que le path est relatif depuis .iso.org.dod.internet.mgmt-mib-2.

De cette mani�re, l'objet ifNumber de la cat�gorie "interfaces" peut s'appeler :

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber
ou son �quivalent num�rique :
.1.3.6.1.2.1.2.1
et l'instance est la suivante :
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber.0
ou son �quivalent num�rique:
.1.3.6.1.2.1.2.1.0

On peut ajouter des MIB additionnels � cette arborescence conform�ment � la d�finition de nouveaux objets par les vendeurs, et leurs publications RFC correspondantes.

Quel est l'avenir de SNMP ?

Une nouvelle sp�cification d�nomm�e SNMPv2 est actuellement en d�veloppement rapide. Cette version essaie de r�soudre les lacunes existantes en mati�re de s�curit� du protocole actuel, au moyen de m�canismes qui se recentrent sur la privatisation, l'authentification et le contr�le de l'acc�s. Il autorisera �galement un m�canisme complexe de sp�cifications de variables, ainsi quelques nouvelles commandes. Le probl�me de SNMPv2 c'est qu'il n'existe actuellement aucun standard largement accept�, � la diff�rence de SNMPv1. Il n'est pas facile de rencontrer des versions de SNMPv2 d'agents ou de software qui utilisent les nouvelles commandes. Il faut laisser passer le temps et nous verrons ce qu'il en adviendra dans le futur proche.

SNMP sur Linux

Un des packages les plus populaires de SNMP est CMU-SNMP. D�velopp� initialement � l'universit� de Carnegie Mellon, est a �t� transport� sur Linux par Juergen Schoenwaelder et Erik Schoenfelder. Il est enti�rement compatible avec le standard SNMPv1 et inclut quelques fonctionalit�s de la version SNMPv2.

La distribution contient quelques outils de gestion qui permettent, depuis la ligne de commande, d'envoyer des demandes aux dispositifs qui ex�cutent les agents SNMP. Il contient �galement un programme agent SNMP, destin� a s'ex�cuter sur Linux, qui propose des gestionnaires s'ex�cutant sur le r�seau (ou le syst�me m�me) : informations sur l'�tat des interfaces, les tables de routage, instances d'initialisation, information de contact...

Un caract�ristique pr�cieuse qui a �t� ajout�e avec CMU-SNMP est C-API, qui permet aux programmeurs de construire des outils complexes de gestion bas�s sur les capacit�s du r�seau de la distribution.

L'installation sur un syst�me Linux est simple, quoique l�g�rement diff�rente de l'installation d'origine. Il existe une distribution avec les ex�cutables pr�-compil�s des outils de gestion, le daemon et la biblioth�que API.

La premi�re d�cision � prendre c'est de savoir si on monte la distribution avec les sources ou avec les ex�cutables. Il n'est pas difficile de trouver ce package sur Internet. La distribution binaire s'installe et s'ex�cute sans probl�me avec les syst�mes Linux qui supportent le standard ELF. Nous expliquerons donc comment installer la distribution binaire. C'est de bon usage de charger des distributions binaires uniquement sur des serveurs Internet de confiance pour �viter les chevaux de Troie et autres probl�mes de s�curit�.

Il faut copier le fichier cmu-snmp-linux-3.4-bin.tar.gz sur le r�pertoire racine (/), le d�compresser avec la commande suivante : Put the file cmu-snmp-linux-3.2-bin.tar.gz in the root directory (/) of your Linux system and decompress it with the command:

gunzip cmu-snmp-linux-3.2-bin.tar.gz

puis extraire les fichiers de l'archive tar avec la commande:

tar xvf cmu-snmp-linux-3.2-bin.tar

Vous devriez avoir alors tous les utilitaires et les biblioth�ques correctement install�s sur le syst�me, � l'exception du fichier de configuration suivant de l'agent : /etc/snmp.conf. Vous pouvez le cr�er en ex�cutant le script suivant :

/tmp/cmu-snmp-linux-3.2/etc/installconf

avec ces param�tres:

/tmp/cmu-snmp-linux-3.2/etc/installconf -mini

o� password est le mot-cl� public (community) qu'on va utiliser. Maintenant on peut �diter le nouveau fichier de configuration /etc/snmp.conf. On peut y modifier la valeur du port UDP utilis� par l'agent, les variables systemContact, sysLocation et sysName, ainsi que les param�tres de vitesse de l'interface pour les cartes de r�seau et les port PPP.

Les outils les plus importants de ce package sont :

  • /usr/bin/snmpget un programme destin� � la consultation d'une valeur concr�te pour un agent MIB du r�seau (un routeur, un hub...)
  • /usr/bin/snmpgetnext il permet de lire l'objet suivant dans l'arbre MIB sans conna�tre n�cessairement son num�ro.
  • /usr/bin/snmpsetun outil pour �crire des valeurs dans les objets des agents distants.
  • /usr/bin/snmpwalkun outil qui lit un objet complet ou une s�rie d'objets sans sp�cifier l'instance exacte. Il est utile pour interroger des objets de type table.
  • /usr/bin/snmpnetstat
  • /usr/bin/snmptrapd Daemon qui �coute les "traps" des agents.
  • /usr/bin/snmptestoutil interactif destin� � d�montrer les possibilit�s de API.

L'agent est situ� dans le r�pertoire /usr/sbin/snmp.

CMU_SNMP intalle aussi un fichier MIB dans /usr/lib/mib.txt. C'est un bon endroit pour chercher quel type d'information on peut demander � un dispositif en r�seau.

L'agent doit �tre lanc� en ex�cution au d�marrage de la machine. On peut faire cela en ajoutant les lignes suivantes dans un fichier d'initialisation (par exemple /etc/rc.f/rc.local) :

/usr/sbin/snmpd -f ; echo 'd�marrer snmpd'

Une fois que l'agent est lanc� dans la machine Linux, on peut essayer une fonction avec un outil quelconque de gestion, par exemple :

/usr/bin/snmpget -v 1 localhost public interfaces.ifNumber.0

lequel retournera le num�ro des interfaces configur�s dans le syst�me, y:

/usr/bin/snmpwalk -v 1 localhost public system

retourne toutes les valeurs du sous-arbre "system" du MIB. (Voir la Figure 2 pour le r�sultat de cette commande.)

Figure 2
dragon:~$ /usr/bin/snmpwalk

usage: snmpwalk [-p ] host community [object-id]

dragon:~$ /usr/bin/snmpwalk  localhost public system

system.sysDescr.0 = "Linux version 2.0.24 (root@dragon) 
                     (gcc version 2.7.2) #6 Mon Nov 25 15:08:40 MET 1996"
system.sysObjectID.0 = OID: enterprises.tubs.ibr.linuxMIB
system.sysUpTime.0 = Timeticks: (39748002) 4 days, 14:24:40
system.sysContact.0 = "David Guerrero"
system.sysName.0 = "dragon "
system.sysLocation.0 = "Madrid (SPAIN)"
system.sysServices.0 = 72
system.sysORLastChange.0 = Timeticks: (39748006) 4 days, 14:24:40
system.sysORTable.sysOREntry.sysORID.1 = OID: enterprises.tubs.ibr.linuxMIB.linuxAgents.1
system.sysORTable.sysOREntry.sysORDescr.1 = "LINUX agent"
system.sysORTable.sysOREntry.sysORUpTime.1 = Timeticks: (39748007) 4 days, 14:24:40

dragon:~$

 


La C-API est situ�e dans /lib/libsnmp.so.3.1.

On peut visualiser les fichiers en relation avec la biblioth�que dans :

  • /usr/include/snmp/snmp.h
  • /usr/include/snmp/snmp_impl.h
  • /usr/include/snmp/asn1.h
  • /usr/include/snmp/snmp_api.h

On trouvera de plus amples informations dans les pages du manuel snmp-api(3) et variables(5).

Il existe aussi un module Perl d'interface avec CMU C_API gr�ce auquel on peut r�aliser facilement des appels � cette biblioth�que depuis le programme Perl (Perl-scripts).

MRTG: Multi Router Traffic Grapher

MRTG est un utilitaire graphique tres avanc� �crit par Tobias Oetiker et Dave Rand pour repr�senter graphiquement les donn�es que les gestionnaires SNMP lisent sur les agents SNMP. Il produit une belle page HTML avec des images GIF sur le trafic entrant et sortant des interfaces du r�seau, pratiquement en temps r�el. Avec cet outil, on �vite d'avoir � travailler directement avec les utilitaires CMU_SNMP au moyen de lignes de commandes. C'est l'outil le plus puissant et le plus facile � utiliser qu'on trouve sur Internet.

MRTG utilise une impl�mentation de SNMP �crite compl�tement en Perl, mais il n'est pas pour autant n�cessaire d'installer un autre package. Le programme principal est �crit en C pour acc�l�rer le processus de g�n�ration des images GIF. Les graphiques sont g�n�r�s avec l'aide de la biblioth�que GD �crite par Thomas Boutell, auteur de la FAQ WWW.

Le package contient quelques fonctions pour analyser les interfaces de routage, extraire leurs caract�ristiques et g�n�rer des fichiers de configuration de base, qu'on peut apr�s modifier pour les adapter aux n�cessit�s concr�tes.

Une autre caract�ristique int�ressante de MRTG, c'est la quantit� d'information qu'il produit. Il autorise quatre niveaux de d�tail pour chaque interface : trafic des 24 derni�res heures, de la derni�re semaine, du dernier mois et graphique annuel. Cela permet de recueillir des informations pour r�aliser des statistiques. Il conserve toutes ces informations dans une base de donn�es qui utilise un algorithme de consolidation qui emp�che que les fichiers ne croissent de mani�re d�mesur�e.

Il g�n�re aussi une page principale qui contient les images GIF des d�tails journaliers de chaque interface de routage, ce qui permet de se faire une id�e g�n�rale de ce qui passe au niveau du routeur d'un simple coup d'oeil. La page principale, ainsi qu'une page de d�tail g�n�r�e par MRTG est visible sur les Figures 3 et 4.

Figure 3. Page principale de l'Interface Figure 4. Page des d�tails de l'Interface
Clikez sur les images pour les voir en plein �cran

Voyons maintenant la proc�dure d'installation. Il faut se procurer une distribution sur Internet. Au moment o� l'auteur �crit ces lignes, la derni�re version est 2.1; visitez les URL r�f�renc�s en fin d'article pour conaître la derni�re version.

Avant de commencer l'installation de MRTG, il est n�cessaire d'installer la biblioth�que GD (qu'on peut charger aussi sur Internet). La version actuelle est la 1.2 et il ne devrait pas y avoir de gros probl�mes pour la compiler et l'installer. Tout simplement, il faut ex�cuter un make dans le r�pertoire o� on a d�sarchiver la distribution et cela g�n�re un fichier appel� libgd.a. Il faut copier ce fichier dans le r�pertoire /usr/local/lib et les fichiers avec extension .h dans le r�pertoire /usr/local/include/gd.

A ce point, le package GD est correctement install�. Maintenant, on peut compiler le package MRTG. Il faut extraire la distribution et �diter le fichier ../../common/January1998/Makefile pour indiquer o� se trouve la biblioth�que et les archives de GD, ainsi que le fichier ex�cutable Perl 5.003 : normalement dans /usr/bin/perl ou usr/local/bin/perl. Ceci est fait avec les variables GD_LIB, GD_INCLUDE and PERL.

Il faut construire le programme principal gr�ce � la commande make rateup. Quand la compilation est termin�e, tapez make substitute pour inclure le path correct de l'interpr�teur Perl dans les scripts Perl utilis�s par MRTG.

Copiez les fichiers suivants dans les repertoires de destination finale : (par exemple /usr/local/mrtg) : BER.pm, SNMP_Session.pm, mrtg y rateup. Il faut copier �galement dans ce r�pertoire les deux fichiers de configuration :indexmaker et cfgmaker.

Il faut s'assurer que tous les programmes ont une autorisation d'ex�cution. On peut alors cr�er un fichier de configuration simple. Il est n�cessaire d'avoir un acc�s en lecture SNMP vers le routeur. Pour un routeur Cisco, les lignes de configuration qui donnent cette autorisation sont :

access-list 99 permit 193.147.0.8
access-list 99 permit 193.147.0.9
access-list 99 permit 193.147.0.130
snmp-server community public RO 99

Ceci autorise des demandes en lecture seule depuis les r�pertoires sp�cifi�s dans la liste 99, en utilisant le mot cl� "public" comme community. Si vous souhaitez un acc�s depuis n'importe quelle machine en mode lecture vers le routeur, la ligne est la suivante :

snmp-server community public RO

Si le routeur du r�seau est d'une autre marque, il faut consulter son manuel pour d�terminer les permissions d'acc�s SNMP. Le script cfgmaker simplifie beaucoup la t�che de construire le fichier de configuration. Il suffit de l'ex�cuter avec les param�tres suivants :

cfgmaker <community>@<router-host-name or IP>

Par exemple:

cfgmaker [email protected] > mrtg.cfg

Il localisera toutes les interfaces du routeur mec-router.rediris. Il �crira une section dans le fichier avec les sp�cifications des num�ros d'interface, leur vitesse maximum, description, etc., joint � quelques �tiquettes HTML, pour que cette section soit incluse dans la page d�taill�e. Il est possible d'�diter le fichier HTML, pour le traduire dans sa langue et ses pr�f�rences, etc. la figure 5 montre le r�sultat pour une des interfaces de mon routeur.

Figure 5
Target[mec-router.1]: 1:public@mec-router MaxBytes[mec-router.1]: 1250000 Title[mec-router.1]: mec-router.rediris.es (mec-router.mec.es): Ethernet0 PageTop[mec-router.1]: <H1>Estadisticas del puerto Ethernet0<BR> Red del MEC (MECNET)</H1> <TABLE> <TR><TD>System:</TD><TD>mec-router.rediris.es en RedIRIS </TD></TR> <TR><TD>Maintainer:</TD><TD>[email protected]</TD></TR> <TR><TD>Interface:</TD><TD>Ethernet0 (1)</TD></TR> <TR><TD>IP:</TD><TD>mec-router.mec.es (193.147.0.1)</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE>

Maintenant, on peut ex�cuter le programme mrtg pour la premi�re fois. Tout simplement, on lance la commande:

./mrtg mrtg.cfg

Si tout va bien, le programme se mettra en contact avec le routeur, demandera quelques valeurs, et g�n�rera quelques fichiers de recherche et quelques fichiers GIF dans le r�pertoire en cours. Il ne faut pas �tre surpris par les messages d'anomalies concernant les fichiers de registre ou graphiques qu'on n'a pas trouv�s : cela arrive uniquement la premi�re fois qu'on lance le programme. Il faut supprimer les fichiers graphiques qu'il g�n�re et relancer le programme. Le graphique g�n�r� montrera le trafic produit depuis la derni�re ex�cution du programme. Il g�n�re aussi des pages HTML pour chaque interface.

Maintenant, nous allons �galement indiquer � MRTG comment il doit s'ex�cuter de mani�re ad�quate dans le syst�me. Premi�rement, il faut cr�er un r�pertoire au sein du r�pertoire principal du serveur WEB, en supposant que le syst�me dispose d'un serveur WEB qui fonctionne, pour contenir les pages et les graphiques que MRTG produit chaque fois qu'il s'ex�cute. Ajoutez ce r�pertoire dans l'ent�te du fichier de configuration avec la directive WorkDir: /usr/local/web/mrtg (supposant que le r�pertoire racine est situ� dans /usr/local/web). La prochaine fois que MRTG s'ex�cutera, il cr�era les fichiers de registre et les fichiers graphiques dans ce r�pertoire, avec la possibilit� d'acc�der au travers de http://your_host_domaine/mrtg.

Maintenant on peut construire la page principale pour chaque interface comme celle de la Figure 3. On peut effectuer cela avec l'utilitaire indexmaker. Il faut ex�cuter :

indexmaker mrtg.cfg <router-name regexp> > /usr/local/web/mrtg/index.html

On g�n�re un document HTML avec des graphiques journaliers des interfaces dont le nom de routeur co�ncide avec l'expression r�guli�re ant�rieure et on fait le lien avec la page individuelle d�taill�e.

Comme cela laisse � supposer, le programme MRTG doit s'ex�cuter � intervalles r�guliers pour recueillir les donn�es � chaque intervalle et g�n�rer des graphiques p�riodiques, de mani�re qu'il donne l'impression d'�tre monitoriser en temps r�el. Ceci peut �tre obtenu au moyen de la ligne suivante dans le fichier /etc/crontab en supposant que le programme mrtg se situe dans le r�pertoire

0,5,10,15,20,25,30,35,40,45,50,55 * * * * \
/usr/local/mrtg-bin/mrtg \
/usr/local/mrtg-bin/mrtg.cfg > \
/dev/null 2>&1

Dans le cas d'une RedHat, la ligne est la suivante :

0,5,10,15,20,25,30,35,40,45,50,55 * * * * root \
/usr/local/mrtg-bin/mrtg \
/usr/local/mrtg-bin/mrtg.cfg > \
/dev/null 2>&1

Si aucun probl�me ne surgit, on peut consacrer quelque temps pour terminer la configuration et ajuster la page index HTML. Une bonne am�lioration consisterait � inclure dans la section <HEAD> d'en-t�te de cette page un code <META .....> pour obliger le viseur WEB � recharger l'information toutes les 300 secondes.

Une autre am�lioration qu'on peut inclure dans le fichier de configuration est la directive WriteExpire, qui force MRTG � cr�er des fichiers " meta " pour chaque fichier GIF et page HTML, �liminant des op�rations inutiles de " cache ", aussi au bien des serveurs proxy qu'au niveau des viseurs web. Pour cela, il est n�cessaire de configurer le serveur Apache (en supposant que ce soit un serveur Apache) pour qu'il lise les fichiers " meta " et envoie correctement les ent�tes " Expire " avec la directive MetaDir le fichier XXXX.

On peut rencontrer plus de directives dans le fichier de configuration exemple, qui est fourni avec la distribution, par ailleurs tr�s bien document�e. Il est possible de modifier la disposition des images g�n�r�es par MRTG.

Nous esp�rons que vous appr�cierez ce programme : s'il en est ainsi, envoyez un petit mot aux auteurs, dont vous trouverez l'adresse dans les pages Web de MRTG.

Autres programmes

Il existe un programme similaire appel� Router-Stats, �crit par Iain Lea, le c�l�bre auteur du lecteur de news " tin ". Router-Stats actualise les graphiques une fois par jour, et pr�sente une information statistique tr�s int�ressante sur l'utilisation horaire et autres aspects. Le seul probl�me, c'est qu'il se base sur de nombreux programmes externes (SMU-SNMP pour les t�ches avec SNMP, GNUPLOT pour tracer des graphiques, NetPBM et GIFTOOL pour travailler avec des graphiques).

Il y a une autre cat�gorie de software qui apporte un plus dans la t�che de gestion des r�seaux, offrant une solution compl�te aussi bien pour superviser que pour configurer tout le r�seau. Ce type de solution permet d'obtenir une vue graphique compl�te du r�seau, et visualiser facilement les noeud qui le composent, en v�rifiant les d�tails des configurations sp�cifiques autres questions qui pr�sentent un int�r�t.

A ce niveau, nous pouvons parler de deux solutions commerciales qui sont largement utilis�es : HP-OpenView de Hewlett-Packard et SunNetManager de Sun. Ces outils offrent une plate-forme int�gr�e pour la gestion des r�seaux au travers d'interfaces graphiques impressionnantes. Entre autres fonctionnalit�s, ils disposent d'outils pour localiser les noeuds du r�seau o� s'ex�cutent des agents SNMP. Autre caract�ristique importante, c'est la capacit� d'int�grer les produits des autres fabricants, comme CiscoWork de Cisco, qui permet � l'administrateur de maintenir une base de donn�es avec toutes les configurations des routeurs et m�me de superviser graphiquement les panneaux arri�res des routeurs avec toutes leurs connexions.

Les deux inconv�nients majeurs de ces produits, c'est qu'ils sont commerciaux et ne sont pas disponibles pour Linux. n�anmoins, il existe des solutions disponibles publiquement avec une fonctionnalit� plus ou moins identique. Un des packages qu'on trouve c'est le Scotty. Scotty est un package bas� sur TCL qui permet la cr�ation de programmes sp�cifiques aux n�cessit�s propres du r�seau, utilisant un API de haut niveau de cha�nes de caract�res. Un package similaire est le Tkined. C'est une �diteur de r�seau qui offre des extensions qui permet de cr�er un ensemble de t�ches complet, int�grant quelques outils pour localiser les IP r�seaux, support pour le processus d'installation du r�seau ou r�solution de probl�mes IP r�seaux utilisant SNMP en relation avec d'autres utilitaires standard (par exemple traceroute). Scotty inclut aussi un visualisateur graphique MIB qui permet d'explorer facilement les informations MIB.

La liste en fin d'articles vous donne les r�f�rences de logiciels de gestion de r�seau commerciaux et gratuits..

Conclusions

SNMP est un protocole simple mais puissant qui peut aider � superviser les ressources d'un r�seau sans trop surcharger celui-ci. Il est probable que les extensions qu'on d�veloppe actuellement incr�mentent la complexit� et les possibilit�s de cet outil, mais en contrepartie augmenteront les ressources n�cessaires pour l'installer.

Dans cet article, on a pr�sent� deux outils qu'on peut trouver sur Internet. Il existe une multitude d'outils qu'on d�veloppe continuellement. Consultez les groupes de news usenet comp.protocols.snmp pour vous tenir au courant des diff�rentes annonces sur les nouveaux logiciels et MIBs.




R�f�rences
CMU-SNMP pour Linux:
ftp://sunsite.unc.edu/pub/Linux/system/network/admin/cmu-snmp-linux-3.2-bin.tar.gz
PERL 5 module d'extension pour CMU-SNMP:
ftp:/ftp.wellfleet.com/netman/snmp/perl5/SNMP.tar.gz
Multi Router Traffic Grapher (MRTG):
http://www.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
GD Graphic Library: (n�cessaire pour MRTG)
http://www.boutell.com/gd/
Perl 5.003: (n�cessaire pour MRTG)
http://www.perl.com/perl/info/software.html
Listes de diffusion MRTG:
Listes de Discussion

Envoyer un courrier � [email protected] avec "subscribe" dans le sujet

Liste d'annonces :

mail to [email protected] with "subscribe" in the subject

Router Stats:

http://www.scn.de/~iain/router-stats/
Logiciel de gestion de r�seau SNMP:
http://wwwsnmp.cs.utwente.nl/software/
Scotty:
http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/
Scotty pour Linux:
ftp://sunsite.unc.edu/pub/Linux/system/network/admin/tkined-1.3.4+scotty-ELF.tar.gz

Traduit par Joaquin Gonzales

Pour en savoir plus:
  • Lisez le "Network Administration Guide".


© 1997 David Guerrero
Ce site web est maintenu par Miguel A Sepulveda.