Faire du monitoring avec MRTG
MRTG
MRTG [1] est un programme développé sous Unix qui peux fonctionner sous windows.
Il a été conçu dans le but de faire du monitoring de routeurs via le protocole SNMP
Installation
Vous avez besoin de :
- Un compilateur C (gcc de préférence)
- Une version récente de Perl
- SNMP [2] lancé en daemon
Normalement tout cela est déjà installé sur votre ordinateur
Vérifiez bien que votre fichier de configuration snmp.conf est vide, suivant les distributions, cela n’est pas toujours le cas.
Installation de gd
Connectez vous en root si cela n’est pas deja fait.
Si vous avez des problèmes pour installer GD, c’est que les librairies zlib, libpng ou jpeg ne sont pas installé ce qui normalement est un minimum.
Décompressez « tar -zxf gd-1.8.4.tar.gz » le source de gd à l’endroit qui vous convient. Allez dans le répertoire de gd et éditez le Makefile pour vérifier si les paramètres sont les bon.
Lancez « make » et s’il n’y a pas d’erreur vous pouvez lancer « make install ».
Installation de MRTG
Décompressez « tar -zxf mrtg-2.9.10.tar.gz ». Depuis le répertoire obtenu, lancez ./configure. Si vous va bien, vous avez généré le Makefile. Si le ./configure a produit des messages d’erreur, lisez les, c’est qu’il vous manque des librairies ou outils de développement. Vous pouvez à présent compiler par make.
make install va installer mrtg sous /usr/local/mrtg
A présent, tous les exécutables sont dans le répertoire bin du répertoire /usr/local/mrtg.
Configuration basique de MRTG
Dans le répertoire bin, se trouve un utilitaire cfgmaker qui permet de fabriquer « un début » de fichier de configuration. Placez vous dans un répertoire de travail et lancez : /usr/local/mrtg/bin/cfgmaker public@nom_machine > config.cfg
où nom_machine est le nom de votre machine. Vous récupérez dans le fichier test la liste de vos interfaces et « un début de fichier » de configuration.
Dans le fichier de configuration générer, pour chaque interface, il vous est proposé un nom (que vous pouvez changer dans le « vrai » fichier de configuration dans lequel vous pouvez choisir uniquement les interfaces que vous désirez mesurer (vous pouvez aussi créer un fichier de configuration par interface)
cfgmaker peut aussi produire les interfaces par ip (option -ifref=ip). Lancez ./cfgmaker —help pour la liste des options, et consultez les documents disponibles sur le site MRTG.
Commencez par choisir et créer un répertoire de travail (accessible par votre serveur web si vous souhaitez rendre publiques vos statistiques). Créez par exemple un fichier mrtg.cfg dans ce répertoire (vous pouvez faire un fichier de configuration par interface ou un fichier de configuration pour toute les interfaces). Commencez par une ligne du genre WorkDir : /var/www/mrtg (ou bien utilisez des répertoires différents pour les logs, images et html par les ordres Logdir, Imagedir et Htmldir. Copiez ensuite les « morceaux » de test qui correspondent aux interfaces que vous désirez mesurer.
Pour chaque interface, vous devez choisir un nom qui apparaît dans chaque « ordre » du fichier de conf comme Target ou Title. MRTG générera un fichier html nom.html dans le répertoire de travail. Copiez les fichiers *.png du répertoire d’installation de mrtg dans le répertoire de travail.
Pour connaître la liste des options disponibles dans mrtg, consultez les fichiers du répertoire doc du répertoire d’installation de mrtg.
Lancez chemin_mrtg/bin/mrtg chemin_répertoire_travail/config.cfg et regardez ce qui se passe…. Si tout va bien, vous avez créé un fichier html dans le répertoire de travail de mrtg. Les « premières » exécutions de mrtg peuvent produire des warnings « normaux » qui disparaissent après trois exécutions. Vous pouvez à présent lancer mrtg depuis une ligne de /etc/crontab. C’est ce que je fais toutes les 5 minutes dans /etc/crontab.
indexmaker (disponible dans /usr/local/mrtg/bin) permet de faire une trame de page d’accès à vos différents graphes
Lisez la doc à propos de la syntaxe [_] qui définit des options pas défaut, [^] qui définit le « préfixage » d’une configuration et [$] le « suffixage ».
Utilisation de MRTG avec des scripts
MRTG permet de fabriquer des graphes pour « n’importe quoi ».
- Temps de réponse
Je vous donne le code de ping.pl
#!/bin/sh
P=`ping -w6 -c3 -q 216.239.39.100|grep rtt|cut -d » » -f4`
MIN=`echo $P|cut -d »/ » -f1`
MAX=`echo $P|cut -d »/ » -f2`
echo $MAX
echo $MIN
Et la configuration de MRTG
Target[ping]: `/var/mrtg/ping.pl`
Options[ping]: nopercent,growright,gauge,noinfo, nobanner
MaxBytes[ping]: 10000
AbsMax[ping]: 10000
YLegend[ping]: Temp de reponse
ShortLegend[ping]: ms
Legend1[ping]: Max en ms
Legend2[ping]: Min en ms
LegendI[ping]: Latence Max:
LegendO[ping]: Latence Min:
Title[ping]: Ping sur www.google.fr
PageTop[ping]: Latence www.google.fr
WithPeak[ping]:wmy
Legend4[ping]: Max de la latence min
Legend3[ping]: Max de la latence max
- Espace disque
disk.pl
#!/bin/sh
df= »/bin/df »
cut= »/usr/bin/cut »
grep= »/bin/grep »
part=$1
line=`$df -m -x nfs| grep « $part »`
libre=`echo $line|$cut -d » » -f 4`
utilise=`echo $line|$cut -d » » -f 3`
echo $libre
echo $utilise
attention, vérifiez bien que df cut et grep sont bien renseigner.
Le bou de cfg pour MRTG
Target[hda1]: `/var/mrtg/checkdisk hda1`
Options[hda1]: nopercent,growright,gauge,noinfo, nobanner
MaxBytes[hda1]:57700
Unscaled[hda1]:dwmy
kMG[hda1]:M,G,T,P
YLegend[hda1]: octets
ShortLegend[hda1]: o
Kilo[hda1]:1024
Legend1[hda1]: Espace disponible
Legend2[hda1]: Espace utilisé
LegendI[hda1]: Espace dispo :
LegendO[hda1]: Espace Utilisé:
Title[hda1]: Espace disque (HDA1)
PageTop[hda1]: Espace disque (HDA1)
Voila, bonne chance
[1] Multi Router Traffic Grapher
[2] Simple Network Management Protocol










