J’en bave.
Je cherche à monitorer certaines valeurs de différentes machines.
Comme ces valeurs ne sont pas toutes accessibles au travers de snmp, j’ai fait des petits scripts qui sortent des trucs au format attendu par mrtg.
[code]#!/bin/bash
LANG=C
DISK=$1
TEMP=/usr/sbin/smartctl -a -d ata -i $DISK | /bin/grep ^194 | /usr/bin/awk -F' ' '{print $10}'
UPTIME=/usr/bin/uptime | /usr/bin/awk -F" " '{print $3 " " $4 " " $5}' | /bin/sed s/","//g
SERVER=/bin/uname -n
echo $TEMP
echo $TEMP
echo $UPTIME
echo $SERVER[/code]
et
[code]#!/bin/bash
LANG=C
DISK=$1
USED=/bin/df -B1 | /bin/grep $DISK | /usr/bin/awk -F" " '{print $3}'
FREE=/bin/df -B1 | /bin/grep $DISK | /usr/bin/awk -F" " '{print $4}'
UPTIME=/usr/bin/uptime | /usr/bin/awk -F" " '{print $3 " " $4 " " $5}' | /bin/sed s/","//g
SERVER=/bin/uname -n
echo $USED
echo $FREE
echo $UPTIME
echo $SERVER[/code]
ces scripts sont appelés au travers d’une crontab sur chaque machine, et leur sortie standard est écrite dans un fichier stocké dans un repertoire nfs
le contenu d’un fichier généré par le premier script (qui récupère la température depuis le SMART) :
34
34
199 days 3:25
mail
et le deuxieme, qui donne l’espace utilisé et l’espace libre (et l’uptime et le nom du serveur, mais c’est les specs de mrtg qui veulent ça)
678883328
13338320896
199 days 3:25
mail
mon mrtg.cfg, histoire d’avoir fait le tour du background du bazar :
[code]WorkDir: /var/www/mrtg
EnableIPv6: no
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
eth0@fw1
Target[192.168.1.254_2]: 2:public@192.168.1.254:
SetEnv[192.168.1.254_2]: MRTG_INT_IP=“195.146.226.242” MRTG_INT_DESCR="eth0"
MaxBytes[192.168.1.254_2]: 2000000
Title[192.168.1.254_2]: [TRAFIC][FW1]: eth0
PageTop[192.168.1.254_2]:
[TRAFIC][FW1]: eth0
System: | Fw1 |
Maintainer: | mathieu@mairie-leers.fr |
Description: | eth0 |
ifType: | Ethernet |
ifName: | eth0 |
Max Speed: | 2Mbits/s |
Ip: | 195.146.226.242 (MAIRIELEERS-DSL7.turboadsl.nordnet.fr) |
eth1@fw1
Target[192.168.1.254_3]: 3:public@192.168.1.254:
SetEnv[192.168.1.254_3]: MRTG_INT_IP=“192.168.1.254” MRTG_INT_DESCR="eth1"
MaxBytes[192.168.1.254_3]: 100000000
Title[192.168.1.254_3]: [TRAFIC][FW1]: eth1
PageTop[192.168.1.254_3]:
[TRAFIC][FW1]: eth1
System: | Fw1 |
Maintainer: | mathieu@mairie-leers.fr |
Description: | eth1 |
ifType: | Ethernet |
ifName: | eth1 |
Max Speed: | 100Mbits/s |
Ip: | 192.168.1.254 (fw1.mairie-leers.fr.1.168.192.in-addr.arpa) |
eth1@mail
Target[192.168.1.2_3]: 3:public@192.168.1.2:
SetEnv[192.168.1.2_3]: MRTG_INT_IP=“192.168.1.2” MRTG_INT_DESCR="eth1"
MaxBytes[192.168.1.2_3]: 1250000
Title[192.168.1.2_3]: [TRAFIC][MAIL]: eth1
PageTop[192.168.1.2_3]:
[TRAFIC][MAIL]: eth1
System: | |
Maintainer: | mathieu@mairie-leers.fr |
Description: | eth1 |
ifType: | ethernet |
ifName: | eth1 |
Max Speed: | 100Mbits/s |
Ip: | 192.168.1.2(mail.mairie-leers.fr.1.168.192.in-addr.arpa) |
md0_espace_disque@mail
Target[mail_md0]: /bin/cat /home/mrtg_data/mail_disk_md0.txt 2>>/var/log/mrtg.err
MaxBytes[mail_md0]: 15000000000
Title[mail_md0]: [Espace disque][mail]: md0
PageTop[mail_md0]:
[Espace disque][mail]: /
Options[mail_md0]: gauge,nopercent
Kilo[mail_md0]: 1024
ShortLegend[mail_md0]: b
YLegend[mail_md0]: Espace Disque md0
Legend1[mail_md0]: Used
Legend2[mail_md0]: Free
LegendI[mail_md0]: Used
LegendO[mail_md0]: Free
md1_espace_disque@mail
Target[mail_md1]: /bin/cat /home/mrtg_data/mail_disk_md1.txt 2>>/var/log/mrtg.err
MaxBytes[mail_md1]: 15000000
Title[mail_md1]: [Espace disque][mail]: md1
PageTop[mail_md1]:
[Espace disque][mail]: /var
Options[mail_md1]: gauge,nopercent
Kilo[mail_md1]: 1024
ShortLegend[mail_md1]: b
YLegend[mail_md1]: Espace Disque md1
Legend1[mail_md1]: Used
Legend2[mail_md1]: Free
LegendI[mail_md1]: Used
LegendO[mail_md1]: Free
md2_espace_disque@mail
Target[mail_md2]: /bin/cat /home/mrtg_data/mail_disk_md2.txt 2>>/var/log/mrtg.err
MaxBytes[mail_md2]: 15000000
Title[mail_md2]: [Espace disque][mail]: md2
PageTop[mail_md2]:
[Espace disque][mail]: /home
Options[mail_md2]: gauge,nopercent
Kilo[mail_md2]: 1024
ShortLegend[mail_md2]: b
YLegend[mail_md2]: Espace Disque md2
Legend1[mail_md2]: Used
Legend2[mail_md2]: Free
LegendI[mail_md2]: Used
LegendO[mail_md2]: Free
cpu_load@mail
Target[mail.cpuload]: ssCpuRawUser.0&ssCpuRawUser.0:public@192.168.1.2 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@192.168.1.2 + ssCpuRawNice.0&ssCpuRawNice.0:public@192.168.1.2
MaxBytes[mail.cpuload]: 100
Title[mail.cpuload]: [Charge CPU][Mail]
PageTop[mail.cpuload]:
[Charge CPU][Mail]
Unscaled[mail.cpuload]: ymwd
ShortLegend[mail.cpuload]: %
YLegend[mail.cpuload]: Utilisation CPU
Legend1[mail.cpuload]: Charge CPU en %
Legend2[mail.cpuload]:
Legend3[mail.cpuload]:
Legend4[mail.cpuload]:
LegendI[mail.cpuload]: Actif
LegendO[mail.cpuload]:
Options[mail.cpuload]: nopercent
sda_temp@mail
Target[mail_sda]: /bin/cat /home/mrtg_data/mail_temp_sda.txt 2>>/var/log/mrtg.err
MaxBytes[mail_sda]: 100
Title[mail_sda]: [T° Disque][Mail] /dev/sda
PageTop[mail_sda]:
[T° Disque][Mail] /dev/sda
Options[mail_sda]: nopercent
Unscaled[mail_sda]: ymwd
ShortLegend[mail_sda]: °
YLegend[mail_sda]: Temperature disque /dev/sda
Legend1[mail_sda]: T°
Legend2[mail_sda]:
LegendI[mail_sda]: T°
LegendO[mail_sda]:[/code]
Bon, après vous avoir abreuvé d’infos bien rébarbatives, voici mon problème :
alors que les fichiers générés par mes scripts sont remplis de valeurs valides, qu’ils sont pris en compte (récupération des valeurs d’uptime et des noms de machine), certains graphes (md1, md2, charge cpu et temp hd) restent désespérément plats. B)
L’un d’entre vous verrait-il un problème qui m’échappe ? (ça fait 2 jours que je planche sur le sujet B) )
Marchi
– edit
En fait, j’ai découvert Munin ( http://munin.projects.linpro.no/ ), qui remplace avec brio mrtg, qui graphe une brochette impressionnantes de données “out of the box”, et qui fait même le café.
thx, vns