Salut,
Je suis en train de me tailler un plugin en perl pour grapher la température des disques durs sous Munin...
le script marche bien depuis un terminal sous l'utilisateur qui sera utilisé par le démon munin... mais en mode démon, le script ne marche pas (cf log)
voici le code du plugin (pas encore définitif... faudra que je gère différents disques, mais ça sera pour plus tard
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 mai 16 12:30:37 [26679] - Configuring service: localhost.localdomain->hddtemp mai 16 12:30:37 [26679] - Configured service: localhost.localdomain -> hddtemp (0.04 sec) mai 16 12:30:37 [26679] - Fetching service: localhost.localdomain->hddtemp mai 16 12:30:49 [26679] - Client reported timeout in fetching of hddtemp mai 16 12:30:49 [26679] - Fetched service: localhost.localdomain -> hddtemp (12.01 sec))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 my $program = '/usr/sbin/hddtemp'; if ( exists $ARGV[0] and $ARGV[0] eq "autoconf" ) { if (-e $program and -x $program) { print "yes\n"; exit 0; } else { print "unable to find or execute $program\n"; exit 1; } } if ( exists $ARGV[0] and $ARGV[0] eq "config" ) { print "graph_title Hard Disk Temperature\n"; print "graph_args --base 1000 -l 0\n"; print "graph_vlabel temp in °C\n"; print "graph_category sensors\n"; print "sda.label /dev/sda\n"; print "connections.type COUNTER\n"; exit 0; } my $args = '/dev/sda | cut -d\':\' -f3 | cut -d\' \' -f2 | awk -F \'°\' \'{print $1}\''; exec("/bin/echo -n 'sda.value ' ; /usr/bin/sudo $program $args");
sachant que le démon munin, fais une boucle dans laquelle il se fork puis exec sur ses plugins pour récupérer les infos... d'où le problème peut-il venir selon vous ?
par avance
Partager