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)