informatique:logiciels:mrtg
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
informatique:logiciels:mrtg [2008/09/14 00:18] – créée pteu | informatique:logiciels:mrtg [2013/10/14 20:45] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 3: | Line 3: | ||
======MRTG====== | ======MRTG====== | ||
- | Dans cet aide-mémoire nous allons touchotter un peu au **Multi Router Traffic Grapher** (MRTG pour les intimes), un script perl qui génère des graphiques d'utilisation | + | Dans cet aide-mémoire nous allons touchotter un peu au [[http:// |
- | Le format de sortie (les résultats) sont au format HTML avec des images PNG. | + | MRTG est lancé toutes |
+ | //NB : bien sur maintenant la mode est à RRDTool avec des outils comme Cacti, Zabbix, Nagios avec récupération ds perfdata, etc... mais en y regardant de plus près, un simple petit MRTG suffit souvent très largement pour l' | ||
- | =====SNMP===== | ||
- | C'est un protocole client serveur qui permet | + | =====Particularités de MRTG===== |
+ | |||
+ | * c'est un outil assez vieux, créé | ||
+ | * MRTG peut récupérer | ||
+ | * interroger 2 OIDs (protocole SNMP) | ||
+ | * utiliser un script externe | ||
+ | * on peut tracer une seule courbe via les options '' | ||
=====Installation de SNMP===== | =====Installation de SNMP===== | ||
+ | |||
+ | Le **SNMP** (Simple Network Management Protocol) un protocole client-serveur qui permet à un client d' | ||
====Sous winXP==== | ====Sous winXP==== | ||
Line 26: | Line 34: | ||
====Sous Debian==== | ====Sous Debian==== | ||
- | | + | < |
Line 32: | Line 40: | ||
//sous Debian// | //sous Debian// | ||
- | La première étape | + | Le répertoire qui contiend le(s) fichier(s) de configuration |
- | apt-get install | + | MRTG dispose d'un outil de détection des interfaces réseau : cfgmaker. On lui donne l'IP d'un routeur et sa communauté SNMP, et MRTG génère le fichier de conf automatiquement : |
+ | < | ||
- | On va ensuite créer un répertoire qui contiendra le(s) fichier(s) de configuration : | + | |
- | mkdir /etc/mrtg | + | * Par défaut MRTG ne détecte que les interfaces réseau |
- | + | ||
- | Puis on génère le fichier de conf : | + | |
- | + | ||
- | cfgmaker --ifdesc=descr --output=/ | + | |
- | + | ||
- | | + | |
- | * Par défaut MRTG ne détecte que les interfaces réseau, c'est son but originel. Pour le reste il va falloir éditer le fichier de conf à la main. | + | |
On génère ensuite l' | On génère ensuite l' | ||
- | | + | < |
Sous Debian (par défaut) le démon MRTG ne se lance pas, c'est cron qui lance le script toutes les 5 min : | Sous Debian (par défaut) le démon MRTG ne se lance pas, c'est cron qui lance le script toutes les 5 min : | ||
- | | + | < |
- | | + | */5 * * * * root if [ -x / |
- | then env LANG=C / | + | then env LANG=C / |
+ | </ | ||
- | Pour ressentir le premier effet MRTG il faut soit attendre 5 à 10 min que le script se lance, ou bien le lancer à la main. | + | Pour ressentir le premier effet MRTG il faut soit attendre 5 à 10 min que le script se lance et qu'il récupère quelques valeur. |
Puis on va voir à l' | Puis on va voir à l' | ||
Line 63: | Line 66: | ||
=====Fichier de conf===== | =====Fichier de conf===== | ||
- | TODO | + | A titre d' |
+ | |||
+ | < | ||
+ | ### Global Config Options | ||
+ | |||
+ | WorkDir: / | ||
+ | |||
+ | ### Global Defaults | ||
+ | # to get bits instead of bytes and graphs growing to the right | ||
+ | # Options[_]: growright, bits | ||
+ | EnableIPv6: no | ||
+ | Language: French | ||
+ | # taille des courbes, en pixels | ||
+ | XSize[_]: 600 | ||
+ | YSize[_]: 100 | ||
+ | # pngdate affiche la date sur les graphes | ||
+ | Options[_]: pngdate | ||
+ | # par defaut, afficher les max pour les Months et Weeks mais pas Years | ||
+ | WithPeak[_]: | ||
+ | # ajouter dans < | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | |||
+ | ### Interface 6 >> Descr: ' | ||
+ | # | ||
+ | Target[odin_6]: | ||
+ | SetEnv[odin_6]: | ||
+ | MaxBytes[odin_6]: | ||
+ | Title[odin_6]: | ||
+ | PageTop[odin_6]: | ||
+ | # | ||
+ | |||
+ | ### Interface 8 >> Descr: ' | ||
+ | # | ||
+ | Target[odin_8]: | ||
+ | SetEnv[odin_8]: | ||
+ | MaxBytes[odin_8]: | ||
+ | Title[odin_8]: | ||
+ | PageTop[odin_8]: | ||
+ | # | ||
+ | |||
+ | ### ping google & free : on ping les IPs pour supprimer la latence des DNS | ||
+ | #google 216.239.59.104, | ||
+ | #free 212.27.48.10, | ||
+ | # | ||
+ | ping -i0.5 -w2 212.27.63.123 | tail -n1 | awk -F"/" | ||
+ | Target[ymir.ping]: | ||
+ | ping -c3 -f -w0.5 212.27.63.123 | tail -n1 | awk -F"/" | ||
+ | MaxBytes[ymir.ping]: | ||
+ | Options[ymir.ping]: | ||
+ | Title[ymir.ping]: | ||
+ | YLegend[ymir.ping]: | ||
+ | PageTop[ymir.ping]: | ||
+ | |||
+ | ### odin system load | ||
+ | Options[odin.system]: | ||
+ | Target[odin.system]: | ||
+ | MaxBytes[odin.system]: | ||
+ | Title[odin.system]: | ||
+ | YLegend[odin.system]: | ||
+ | Legend1[odin.system]: | ||
+ | Legend2[odin.system]: | ||
+ | PageTop[odin.system]: | ||
+ | |||
+ | ### odin memory used | ||
+ | Options[odin.mem]: | ||
+ | Target[odin.mem]: | ||
+ | MaxBytes[odin.mem]: | ||
+ | Title[odin.mem]: | ||
+ | YLegend[odin.mem]: | ||
+ | Legend1[odin.mem]: | ||
+ | Legend2[odin.mem]: | ||
+ | PageTop[odin.mem]: | ||
+ | |||
+ | ### odin connexions actives | ||
+ | # marche plus depuis la laj en 2.4sp1 | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | ### odin uptime | ||
+ | Target[odin.up]: | ||
+ | MaxBytes[odin.up]: | ||
+ | Options[odin.up]: | ||
+ | YLegend[odin.up]: | ||
+ | Title[odin.up]: | ||
+ | PageTop[odin.up]: | ||
+ | |||
+ | ### system load 5/15 min ymir | ||
+ | Target[ymir.sysload]: | ||
+ | MaxBytes[ymir.sysload]: | ||
+ | Options[ymir.sysload]: | ||
+ | YLegend[ymir.sysload]: | ||
+ | Title[ymir.sysload]: | ||
+ | PageTop[ymir.sysload]: | ||
+ | WithPeak[ymir.sysload]: | ||
+ | |||
+ | ### Memory used/ | ||
+ | Target[ymir.mem]: | ||
+ | MaxBytes[ymir.mem]: | ||
+ | Options[ymir.mem]: | ||
+ | YLegend[ymir.mem]: | ||
+ | Title[ymir.mem]: | ||
+ | PageTop[ymir.mem]: | ||
+ | |||
+ | ### Nombre de processus - ymir | ||
+ | Target[ymir.process]: | ||
+ | MaxBytes[ymir.process]: | ||
+ | Options[ymir.process]: | ||
+ | YLegend[ymir.process]: | ||
+ | Title[ymir.process]: | ||
+ | PageTop[ymir.process]: | ||
+ | |||
+ | ### Nb fichiers ouverts sur ymir | ||
+ | Target[ymir.nbopenfic]: | ||
+ | MaxBytes[ymir.nbopenfic]: | ||
+ | Options[ymir.nbopenfic]: | ||
+ | YLegend[ymir.nbopenfic]: | ||
+ | Title[ymir.nbopenfic]: | ||
+ | PageTop[ymir.nbopenfic]: | ||
+ | |||
+ | ### Temp syst/cpu | ||
+ | Target[ymir.cputemp]: | ||
+ | sensors | grep "CPU Temp" | awk ' | ||
+ | MaxBytes[ymir.cputemp]: | ||
+ | Options[ymir.cputemp]: | ||
+ | YLegend[ymir.cputemp]: | ||
+ | Title[ymir.cputemp]: | ||
+ | PageTop[ymir.cputemp]: | ||
+ | |||
+ | ### Temp disque | ||
+ | Target[ymir.hddtemp]: | ||
+ | # marche aussi avec sensors: | ||
+ | # sensors | grep "CPU Temp" | awk ' | ||
+ | MaxBytes[ymir.hddtemp]: | ||
+ | Options[ymir.hddtemp]: | ||
+ | YLegend[ymir.hddtemp]: | ||
+ | Title[ymir.hddtemp]: | ||
+ | PageTop[ymir.hddtemp]: | ||
+ | |||
+ | ### ymir uptime | ||
+ | Target[ymir.up]: | ||
+ | MaxBytes[ymir.up]: | ||
+ | Options[ymir.up]: | ||
+ | YLegend[ymir.up]: | ||
+ | Title[ymir.up]: | ||
+ | PageTop[ymir.up]: | ||
+ | |||
+ | ### Espace libre : /boot sur ymir (Mo) | ||
+ | Target[ymir.boot]: | ||
+ | MaxBytes[ymir.boot]: | ||
+ | Options[ymir.boot]: | ||
+ | YLegend[ymir.boot]: | ||
+ | Title[ymir.boot]: | ||
+ | PageTop[ymir.boot]: | ||
+ | |||
+ | ### Espace libre : / sur ymir (Mo) | ||
+ | Target[ymir.root]: | ||
+ | MaxBytes[ymir.root]: | ||
+ | Options[ymir.root]: | ||
+ | YLegend[ymir.root]: | ||
+ | Title[ymir.root]: | ||
+ | PageTop[ymir.root]: | ||
+ | |||
+ | ### Espace libre : /mnt/data sur ymir (Go) | ||
+ | Target[ymir.data]: | ||
+ | MaxBytes[ymir.data]: | ||
+ | Options[ymir.data]: | ||
+ | YLegend[ymir.data]: | ||
+ | Title[ymir.data]: | ||
+ | PageTop[ymir.data]: | ||
+ | |||
+ | ### ymir connexions tcp | ||
+ | Target[ymir.tcp]: | ||
+ | Options[ymir.tcp]: | ||
+ | MaxBytes[ymir.tcp]: | ||
+ | Title[ymir.tcp]: | ||
+ | YLegend[ymir.tcp]: | ||
+ | PageTop[ymir.tcp]: | ||
+ | |||
+ | ### ymir nb users sys/ftp | ||
+ | Target[ymir.nbusers]: | ||
+ | MaxBytes[ymir.nbusers]: | ||
+ | WithPeak[ymir.nbusers]: | ||
+ | Options[ymir.nbusers]: | ||
+ | YLegend[ymir.nbusers]: | ||
+ | Title[ymir.nbusers]: | ||
+ | PageTop[ymir.nbusers]: | ||
+ | Legend1[ymir.nbusers]: | ||
+ | Legend2[ymir.nbusers]: | ||
+ | ShortLegend[ymir.nbusers]: | ||
+ | |||
+ | ### nb d' | ||
+ | Target[odin.voisins]: | ||
+ | MaxBytes[odin.voisins]: | ||
+ | Options[odin.voisins]: | ||
+ | YLegend[odin.voisins]: | ||
+ | Title[odin.voisins]: | ||
+ | PageTop[odin.voisins]: | ||
+ | </ | ||
+ | |||
+ | ====Seuils d' | ||
+ | Il est possible d' | ||
+ | |||
+ | < | ||
+ | # variable globale | ||
+ | # | ||
+ | # dossier accessible en ecriture a MRTG, pour enregistrer l'etat des seuils | ||
+ | ThreshDir: / | ||
+ | |||
+ | # variables par cible | ||
+ | # | ||
+ | # respect. max input, min input, max output, min output | ||
+ | # ce sont les seuils de declenchement | ||
+ | ThreshMaxI[target.name]: | ||
+ | ThreshMinI[target.name]: | ||
+ | ThreshMaxO[target.name]: | ||
+ | ThreshMinO[target.name]: | ||
+ | ThreshDesc[target.name]: | ||
+ | |||
+ | # definition des programmes a lancer en cas de depassement des seuils | ||
+ | ThreshProgI[target.name]: | ||
+ | ThreshProgO[target.name]: | ||
+ | |||
+ | # definition des programmes a lancer en cas de retour a l'etat normal | ||
+ | ThreshProgOKI[target.name]: | ||
+ | ThreshProgOKO[target.name]: | ||
+ | </ | ||
+ | |||
+ | Les scripts appelés par MRTG sont lancés avec 3 paramètres, | ||
+ | |||
+ | Exemple de script minimaliste : | ||
+ | < | ||
+ | # | ||
+ | #/ | ||
+ | echo " | ||
+ | </ | ||
informatique/logiciels/mrtg.1221351504.txt.gz · Last modified: 2013/10/14 20:55 (external edit)