Installation et configuration de MRTG
1. Introduction : Quel administrateur dans le monde n'a pas entendu parler de MRTG ? Aucun je pense tellement cet utilitaire (gratuit qui plus est) s'est rendu indispensable dans les systmes de supervision de serveurs. Vous l'avez certainement dj crois peut tre mme sans le savoir au dtour d'un site. Facilement reconnaissable l'allure de ses graphes, vous ne pourrez plus vous en passer quand vous y aurez gout. L'un des principaux avantages de MRTG est qu'il est multi plate-forme vu qu'il a t dvelopp en langage Perl qui existe aussi bien sur Unix que sur PC. Son autre avantage est qu'il est bas sur le protocole SNMP qui est le protocole admis comme standard dans le monde informatique pour superviser les quipements rseaux. MRTG signifie Multi Router Traffic Grapher car son utilit premire tait de tracer des graphes sur le trafic des rseaux. Mais vu qu'il tait bas sur SNMP, de nouveaux programmes ont fait leur apparition afin de pouvoir interroger d'autres lments systmes (utilisation processeur, mmoire disponible...) avec SNMP. Aussi aujourd'hui MRTG est LE systme de graphes le plus rpandu pour superviser de manire trs simple et visuelle un rseau. 2. Matriel requis :
Windows 2000 ActivePerl 5.6.1.629 - Disponible ici MRTG 2.9.17 - Disponible ici
3. Installation de Simple Network Management Protocol (SNMP) : La premire tape pour que MRTG puisse fonctionner est d'installer le protocole SNMP. Pour cela, rendez-vous dans Panneau de configuration > Ajout/Suppression de programmes > Ajouter/Supprimer des composants Windows. Vous devriez arriver sur l'cran suivant :
Descendez jusqu' l'option Outils de gestion et d'analyse puis cliquez sur le bouton Dtails afin d'obtenir l'cran suivant :
Cochez la case SNMP puis cliquez sur Ok 2 fois afin que Windows 2000 dmarre l'installation du protocole. Suivez ce que Windows vous demande de faire afin de terminer l'installation de SNMP.
4. Installation d'ActivePerl : Vous avez en votre possession le programme d'installation d'ActivePerl sous la forme d'un fichier EXE ou d'un fichier MSI. Double-cliquez sur le fichier afin de dmarrer l'installation. Aprs avoir saut les crans de bienvenue et d'accord avec la licence, vous devriez obtenir cet cran qui vous permet de choisir les composants installer :
Vous pouvez laisser les options par dfaut qui installeront la totalit du moteur Perl sur l'ordinateur. Notez bien le chemin d'installation prsent en bas de la fentre car nous en aurons besoin un peu plus tard. Ici et c'est l'option par dfaut, il s'agit de C:\Perl. Cliquez sur Suivant.
En fonction des composants prsents sur votre machine, il se peut que les options qui sont ici grises soient actives. Elles permettent de paramtrer IIS afin qu'il puisse tre capable d'excuter des scripts crits en langage Perl. Cochez les cases qui vous sont ncessaires sachant que seule la premire nous est indispensable. Cliquez sur Suivant puis lorsque vous y tes invit, cliquez sur Install afin de permettre au programme d'installation de copier les fichiers ncessaires sur le disque dur. Une fois la copie des fichiers termine, un cran apparat avec une case vous demandant si vous souhaitez voir apparatre les informations concernant la version du logiciel. Dcochez-la et cliquez sur Finish. Si vous regardez le contenu du rpertoire C:\Perl vous devriez avoir ceci :
Vrifions juste que le programme d'installation a bien ajout le chemin C:\Perl\Bin dans la variable systme PATH comme nous l'avions demand sur l'un des crans lors de l'installation. Pour cela, faites un clic droit puis Proprits sur le Poste de Travail. Dans la bote de dialogue qui apparat allez sur l'onglet Avanc afin d'obtenir la bote de dialogue suivante :
Cliquez sur le bouton Variables d'environnement afin d'obtenir ceci :
Si l'installation s'est bien passe comme c'est le cas ici, on voit sur la ligne en surbrillance qu'elle commence par C:\Perl\Bin. Si ce n'est pas le cas, cliquez sur le bouton Modifier et ajoutez C:\Perl\Bin; au tout dbut de la ligne (n'oubliez pas le point virgule).
5. Installation de Multi Router Traffic Grapher (MRTG) : L'installation de MRTG est trs simple et trs rapide. Le programme que vous avez tlcharg se prsente normalement sous la forme d'un fichier ZIP. Dcompressez simplement ce fichier dans un rpertoire par exemple C:\MRTG. L'installation est termine !!! Normalement vous devriez avoir dans le rpertoire C:\MRTG une arborescence ressemblant ceci :
6. Configuration de Multi Router Traffic Grapher (MRTG) : 6.1 Cration du fichier de configuration : SNMP, Perl et MRTG tant tous les 3 installs, nous allons pouvoir commencer la phase de configuration proprement parler. Pour cela, ouvrez un Invite de commandes en allant dans le Menu Dmarrer > Excuter puis en tapant cmd dans la fentre. Placez-vous dans le rpertoire C:\MRTG\Bin. Tapez ensuite la commande suivante : perl cfgmaker [email protected] --output mrtg.cfg Cette commande lance le programme de configuration de MRTG en lui disant que vous voulez crer un fichier qui s'appelle mrtg.cfg et que dans ce fichier vous voulez mettre tout ce qui concerne la machine dont l'adresse IP est 192.168.0.2. Il est bien vident qu'il faut adapter cette commande votre configuration car vous ne souhaitez peut tre pas donn le mme nom de fichier que moi et vous n'avez peut tre pas la mme adresse IP. Vous devriez obtenir ceci une fois la commande excute :
Examinons une portion du fichier de configuration qui vient d'tre gnr (je n'ai dtaill que ce qui est intressant) : # WorkDir: c:\mrtgdata ### Interface 16777219 >> Descr: '3Com 3C90x Ethernet Adapter ' | Name: '' | Ip: '192.168.0.2' | Eth: '00-60-08-4a-37-b2' ### Target[192.168.0.2_16777219]: 16777219:[email protected]: SetEnv[192.168.0.2_16777219]: MRTG_INT_IP="192.168.0.2" MRTG_INT_DESCR="3Com 3C90x Ethernet Adapter " MaxBytes[192.168.0.2_16777219]: 12500000 Title[192.168.0.2_16777219]: Traffic Analysis for 16777219 -- BEEPBEEP PageTop[192.168.0.2_16777219]: <H1>Traffic Analysis for 16777219 -- BEEPBEEP</H1> <TABLE> <TR><TD>System:</TD> <TD>BEEPBEEP in </TD><?????c????A ? ;/TR> <TR><TD>Maintainer:</TD> <TD></TD></TR> <TR><TD>Description:</TD><TD>3Com 3C90x Ethernet Adapter </TD></TR> <TR><TD>ifType:</TD> <TD>ethernetCsmacd (6)</TD></TR> <TR><TD>ifName:</TD> <TD></TD></TR> <TR><TD>Max Speed:</TD> <TD>12.5 MBytes/s</TD></TR> <TR><TD>Ip:</TD> <TD>192.168.0.2 (beepbeep.beepbeep.home)</TD></TR> </TABLE> La 1re ligne qui contient le mot Workdir est une ligne de commentaire car prcde par le signe #. Dans cet tat elle n'est d'aucune utilit mais je m'attarde dessus car elle est importante. Par dfaut, MRTG enregistrera tous les graphes qu'il va gnrer dans le rpertoire C:\MRTG\Bin mais ce n'est pas trs "propre" d'enregistrer les fichiers de graphes avec les fichiers de MRTG. Aussi, cette ligne se transformera en une commande reconnue par MRTG si vous retirez le signe #. Elle aura pour effet de dire MRTG d'enregistrer les fichiers des graphes gnrs dans le rpertoire que vous allez spcifier (ici c:\mrtgdata). Vous pouvez mettre le rpertoire qui vous convient sachant qu'il faut que le rpertoire existe au pralable et qu'il ne faut pas que le nom contiennent des espaces ou autres caractres spciaux. Pour les lignes suivantes, on voit qu'elles ont toutes la mme forme : Target[192.168.0.2_16777219]: 16777219:[email protected]: SetEnv[192.168.0.2_16777219]: MRTG_INT_IP="192.168.0.2" MRTG_INT_DESCR="3Com 3C90x Ethernet Adapter " MaxBytes[192.168.0.2_16777219]: 12500000
Title[192.168.0.2_16777219]: Traffic Analysis for 16777219 -- BEEPBEEP PageTop[192.168.0.2_16777219]: <H1>Traffic Analysis for 16777219 -- BEEPBEEP</H1> Elles commencent toutes par une commande reconnue par MRTG (Target, SetEnv, MaxBytes...) et entre crochets, un nom qui permettra de nommer les fichiers gnrs par MRTG. On voit donc ici que tous les noms de fichiers commenceront 192.168.0.2_16777219. Concernant les noms des commandes reconnues par MRTG, elles ont toutes une utilit bien prcise :
Target : La cible qui fera l'objet d'un graphe. Ici la carte rseau dont l'identifiant est 16777219:[email protected]: Cet identifiant sera certainement diffrent pour votre carte rseau donc ne vous affoler pas. MaxBytes : La borne maximum qui pourra tre atteinte par le graphique. Ici 12500000 car il s'agit d'une carte rseau 100 Mbps (soit 12500000 Bytes par seconde). Title : MRTG en plus des graphes gnrent des pages HTML pour prsenter ces graphes. Cette commande permettra de donner un titre la page HTML. PageTop : Toujours concernant les pages HTML gnres, le code HTML qui se trouve en dessous de cette commande sera insr en haut de la page.
6.2 Planification de la gnration des graphiques : Plusieurs mthodes existent pour dire MRTG de gnrer les graphes intervalle rgulier. Je vous donne la mthode que j'ai personnellement retenue car trs simple mettre en oeuvre. La premire chose va tre de crer un fichier CMD qui contiendra la commande disant MRTG de gnrer les graphes. Pour cela, crer un nouveau fichier que nous appellerons mrtg.cmd dans le rpertoire C:\MRTG\Bin. Dans ce fichier, insrez la commande suivante et enregistrez le fichier : perl c:\mrtg\bin\mrtg c:\mrtg\bin\mrtg.cfg Cette commande permet de lancer le programme c:\mrtg\bin\mrtg l'aide du programme perl en lui spcifiant d'utiliser le fichier de configuration c:\mrtg\bin\mrtg.cfg que nous avons cr l'tape prcdente. Une fois le fichier cr et enregistr, il ne reste plus qu' planifier l'excution du fichier BAT toutes les 5 minutes par exemple. Pour cela, nous allons utiliser le planificateur de tches de Windows 2000. Pour cela, rendez-vous dans Panneau de configuration > Tches planifies. Vous devriez avoir cette fentre :
Nous n'allons pas utiliser l'assistant mais cr la tche manuellement. Faites un clic droit dans la fentre puis Nouveau > Tche planifie. Donnez un nom (par exemple MRTG la tche et faites un clic droit puis Proprits dessus. Cliquez sur le bouton Parcourir et slectionnez le fichier MRTG.bat que nous venons de crer. Dans la zone Excuter en tant que mettez le nom d'un compte qui est administrateur de la machine afin d'viter les problmes. Vous devriez obtenir la fentre suivante :
Dans l'onglet Planification, slectionnez d'excuter la tche tous les jours 00:00 puis cliquez sur le bouton Avanc et choisissez les paramtres suivants afin de dire Windows 2000 d'excuter la tche toutes les 5 minutes :
Enfin, dans l'onglet Paramtres dcochez toutes les cases et cliquez sur le bouton Ok. La fentre suivante devrait apparatre vous demandant d'entrer et de confirmer le mot de passe du compte que nous avons mis juste avant :
Si vous avez tout fait selon les rgles, vous devriez voir apparatre toutes les 5 minutes une fentre qui excute la commande de remise jour des graphiques. Ceci peut devenir rapidement assez lassant voir embtant qu'une fentre surgisse toutes les 5 minutes l'cran. Cela peut tre rsolu trs facilement en mettant dans le champ Excuter en tant que un compte qui est administrateur de l'ordinateur mais qui n'est pas celui avec lequel vous vous tes connect. Par contre vu que la fentre n'apparatra plus, vous de vous assurez de temps en temps que cela fonctionne toujours correctement.
6.3 Vrification du bon fonctionnement : A partir du moment o tout fonctionne correctement, des graphes doivent tre gnr. Pour vrifier cela, nous allons consulter le rpertoire de destination. Si vous avez spcifi la commande Workdir dans le fichier de configuration, regardez dans le rpertoire en question sinon regardez dans le rpertoire C:\MRTG\Bin. Vous devriez obtenir quelque chose ressemblant ceci :
Nous retrouvons les fameux fichiers dont le nom commence par 192.168.0.2_16777219. Nous voyons qu'il y a 7 fichiers :
192.168.0.2_16777219.log : Les valeurs mesures par MRTG pour gnrer le graphe 192.168.0.2_16777219.old : Le fichier LOG d'il y a 5 minutes 192.168.0.2_16777219-day.png : Le graphique journalier 192.168.0.2_16777219-week.png : Le graphique hebdomadaire 192.168.0.2_16777219-month.png : Le graphique mensuel 192.168.0.2_16777219-year.png : Le graphique annuel 192.168.0.2_16777219.html : La page HTML qui prsente les graphes
Si dans votre fichier de configuration vous avez demand de faire plus d'une analyse (par exemple si vous avez 2 cartes rseau), vous devez avoir (7 * NbTests) fichiers. Vous comprenez maintenant l'utilit de donner des valeurs explicites dans le fichier de configuration afin que les fichiers aient eux aussi des noms explicitent. J'aurais pu crer un fichier ressemblant ceci par exemple : Target[ADSL]: 16777219:[email protected]: SetEnv[ADSL]: MRTG_INT_IP="192.168.0.2" MRTG_INT_DESCR="3Com 3C90x Ethernet Adapter "
10
MaxBytes[ADSL]: 12500000 Title[ADSL]: Traffic Analysis for 16777219 -- BEEPBEEP PageTop[192.168.0.2_16777219]: <H1>Traffic Analysis for 16777219 -- BEEPBEEP</H1> A partir de ce moment l, les fichiers auraient port des noms comme ADSL-day.png, ADSL.log....
7. Configuration avance : C'est bien beau de pouvoir analyser le trafic qui passe sur la carte rseau mais cela n'a pas beaucoup d'utilit dans le cadre d'un rseau local de 3 postes. Ce qui est plus intressant, c'est d'analyser le trafic sur la connexion ADSL, le nombre d'utilisateurs connects au serveur Web ou FTP, la mmoire utilise/disponible... Cette partie va aborde cet aspect avanc de la configuration de MRTG. 7.1 Analyser le trafic de la connexion ADSL : C'est certainement la partie qui m'a demand le plus de recherche lors de la mise de MRTG sur mon serveur en Janvier 2001. Comme nous l'avons vu dans la partie prcdente, chaque carte rseau est identifie par un numro (16777219 pour ma carte rseau). La connexion ADSL comme toute connexion rseau est donc elle aussi identifie par un numro mais le problme c'est qu'au bout des fameuses 24h de connexion avec France Tlcom, nous nous faisons dconnect et aprs la reconnexion vous avez bien sr devin, le numro d'identification a chang. J'ai donc essaye de bidouiller diverses solutions pour rgnrer le fichier de configuration de MRTG aprs chaque reconnexion mais s'tait un vrai casse tte. En me plongeant dans la documentation de MRTG, et je vous invite le faire pour optimiser votre fichier de configuration, j'ai dcouvert que l'on pouvait utiliser l'adresse MAC d'une carte rseau. Pour ceux qui lignorent, l'adresse MAC d'une carte rseau sert l'identifier de manire unique dans le monde entier. Ce numro est donc unique (du moins en thorie car on peut l'outrepasser). J'ai donc cherch rcuprer le numro de l'adresse MAC de la carte rseau cre par la connexion ADSL. Pour cela, il suffit simplement d'ouvrir un Invite de commandes et de taper la commande suivante : ipconfig /all Cette commande fait apparatre quelque chose ressemblant ceci :
L'adresse MAC apparat clairement ici : 00-53-45-00-00-00. Il suffit donc simplement de modifier la ligne avec la commande Target dans le fichier de configuration de MRTG pour qu'elle ressemble ceci : Target[ADSL]: !00-53-45-00-00-00:[email protected] (Attention au point d'exclamation avant l'adresse MAC) Ce numro restant toujours identique mme aprs dconnexion, votre fichier de configuration sera toujours correct.
11
7.2 Analyser les valeurs du systme (mmoire, utilisation processeur...) : A la base, Windows 2000 seul n'est pas capable de superviser via SNMP la charge processeur, la mmoire occupe, la mmoire libre mais c'est possible en utilisant d'autres mthodes mais qui ne nous servent rien ici puisque MRTG fonctionne avec SNMP. Il va donc falloir avoir recours un logiciel tiers qui sera capable de faire cela pour nous. Personnellement j'utilise SNMP4NT qui fonctionne trs bien. Cliquez sur le lien prcdent et tlchargez le logiciel car nous allons en avoir besoin pour la suite. Une fois le fichier tlcharg et l'installation faite, je ne la dtaille pas car il ne vous pose qu'une seule question qui est de savoir dans quel rpertoire vous voulez copier les fichiers, vous devez avoir dans le rpertoire d'installation quelque chose ressemblant ceci :
Allez dans le rpertoire MIBINST et double-cliquez sur le fichier MIBINST.BAT afin de finir l'installation de SNMP4NT. Suivez les diffrentes tapes et agissez lorsque le programme vous le demande (cela consiste simplement appuyer sur une touche). Ce fichier BAT va copier des fichiers trs important dans le rpertoire C:\WINNT\System32 :
PERFMIB.dll MIB.bin Tout un tas de fichiers portant l'extension .MIB
Ce sont ces fichiers qui vont nous servir mesurer la mmoire utilise, la mmoire libre, l'occupation processeur... Pour faire les mesures qui nous intressent, il va falloir modifier le fichier de configuration de MRTG afin d'ajouter des sections identiques celle gnre automatiquement pour la carte rseau. Pour rappel, la ligne la plus importante de la section est la ligne : Target[ADSL]: 16777219:[email protected]: C'est la valeur 16777219 qui identique l'lment que nous voulons mesurer. Il va donc falloir rcuprer cette valeur dans les fichiers que SNMP4NT a installs. Pour cela nous allons encore avoir besoin d'un programme tiers qui va tre capable de lire ces fichiers pour nous permettre de faire les mesures. Le programme que jutilise s'appelle Getif. C'est ce qu'on appelle un MIB Browser car il va lire les fichiers MIB pour nous donner les identifiants adquats pour faire les mesures. Vous pouvez le tlcharger en cliquant sur ce lien. Comme pour SNMP4NT, je vous laisse faire l'installation qui est trs simple car l aussi le programme d'installation vous demande seulement le rpertoire de destination. Une fois l'installation termine, vous devriez obtenir ceci :
12
Copiez le fichier C:\WINNT\System32\Perfmib.mib dans le rpertoire Mibs o vous avez installez Getif (par dfaut C:\Program Files\Getif 2.2\Mibs). Normalement, vous devriez avoir les fichiers suivants dans le rpertoire Mibs :
PERFMIB.MIB RFC1155-SMI.txt RFC1213-MIB.txt RFC1271-MIB.txt
Excutez ensuite Getif. Remplissez le champ HostName avec l'adresse IP du serveur et cliquez sur Start. Vous devriez obtenir des informations concernant votre ordinateur si SNMP fonctionne correctement.
13
Rendez-vous ensuite sur l'onglet MBRowser et descendez l'arborescence pour avoir quelque chose qui ressemble ceci :
Ce qui nous intresse c'est ce qui se trouve sous le noeud Private. Descendez l'arborescence encore une fois comme ceci : private > enterprises > microsoft > software > systems > os > winnt > performance Apparaissent dsormais tous les lments que vous pouvez mesurer. Si nous dplions le noeud memory, que nous choisissons une option et cliquons sur Start nous obtenons ceci :
Dans la partie infrieure ou apparat la valeur obtenue par SNMP (ici 480124928), nous voyons dans la fentre, en bas gauche juste au dessus de Ready une suite de nombre ressemblant ceci : .1.3.6.1.4.1.311.1.1.3.1.1.1.1.0 C'est ceci le numro qui va nous servir effectuer les mesures. Vous avez certainement remarqu que sur les courbes MRTG prsentes sur le site il y avait 2 valeurs, une courbe verte et une courbe bleue. C'est une des
14
possibilits offerte par MRTG. Il faut donc relever 2 numros qui serviront tracer les 2 courbes. Ensuite, il faut modifier le fichier de config afin que la ligne Target ressemble ceci : Target[Memoire]:.1.3.6.1.4.1.311.1.1.3.1.1.1.2.0&.1.3.6.1.4.1.311.1.1.3.1.1.1.1.0:[email protected] Nous voyons sur la partie rouge de la ligne la courbe qui sera en vert sur le graphique et sur la partie bleue, la courbe qui sera en bleue sur le graphique. N'oubliez pas le & entre les 2 expressions sinon cela ne fonctionnera pas. Vous voil dsormais fin prt pour crire un fichier de configuration pour MRTG en passant un peu de temps manipuler tous ces outils. 8. Exemple de fichier de configuration complet : Workdir: C:\MRTG\Graphes ### Charge CPU ### Target[CPU]: .1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48&.1.3.6.1.4.1.311.1.1.3.1.1.2.1.4.1.48:[email protected] MaxBytes[CPU]: 100 Title[CPU]: Occupation processeur PageTop[CPU]: Occupation processeur XSize[CPU]: 400 YLegend[CPU]: % occupation ShortLegend[CPU]: % Legend1[CPU]: Occupation Legend2[CPU]: Occupation LegendI[CPU]: % Occupation: LegendO[CPU]: % Occupation: Options[CPU]: growright, gauge ### Mmoire ### Target[Memoire]: .1.3.6.1.4.1.311.1.1.3.1.1.1.2.0&.1.3.6.1.4.1.311.1.1.3.1.1.1.1.0:[email protected] MaxBytes[Memoire]: 268435456 Title[Memoire]: Mmoire utilise/libre PageTop[Memoire]: Mmoire utilise/libre XSize[Memoire]: 400 YLegend[Memoire]: Octets ShortLegend[Memoire]: Octets Legend1[Memoire]: Mmoire utilise Legend2[Memoire]: Mmoire libre LegendI[Memoire]: Utilise: LegendO[Memoire]: Libre: Options[Memoire]: growright, gauge ### Trafic sur Interface PPPoE ### Target[TrafficPPPoE]: !00-53-45-00-00-00:[email protected] MaxBytes[TrafficPPPoE]: 71680 Title[TrafficPPPoE]: Analyse du trafic sur la connexion ADSL PageTop[TrafficPPPoE]: Analyse du trafic sur la connexion ADSL XSize[TrafficPPPoE]: 400 YLegend[TrafficPPPoE]: Octets/s Options[TrafficPPPoE]: growright
9. Conclusion : MRTG est un formidable outil pour voir d'un simple coup d'oeil si quelque chose cloche sur votre ordinateur (utilisation abusive du processeur ou de la bande passante...). Malheureusement, on pourrait y passer des heures pour tout vous expliquer mais ce n'est pas le but de ce dossier qui est simplement l pour vous donner les bases sur l'installation et la configuration. Pour de plus amples renseignements sur la configuration (par exemple pour connatre la fonction de tous les paramtres utiliss dans l'exemple ci-dessus), vous devez absolument lire la documentation du logiciel car il n'y a pas de miracle, pour pouvoir russir faire quelque chose, il faut faire des tests et cela prend du temps.
15