I did a brief search on the archives but didn't see this issue addressed.
I wrote a simple cgi in bash that helps manage the smokeping tool. The cgi
starts/stops/restarts smokeping.
I noticed when I started smokeping via cgi, it would run for a while but then
crash after a few minutes.
After a bit of trial and error (thinking there was a problem with my startup
method) I discovered that smokeping was throwing an error:
$ cat logfile.1766
Thu Mar 31 12:22:17 2011 - Smokeping version 2.004002 successfully launched.
Thu Mar 31 12:22:17 2011 - Not entering multiprocess mode for just a single
probe.
Thu Mar 31 12:22:17 2011 - FPing: probing 13 targets with step 300 s and offset
176 s.
Thu Mar 31 12:23:15 2011 - Use of uninitialized value in division (/) at
/opt/smokeping/lib/Smokeping/probes/FPing.pm line 149, <GEN2> line 1.
Thu Mar 31 12:23:15 2011 - Illegal division by zero at
/opt/smokeping/lib/Smokeping/probes/FPing.pm line 149, <GEN2> line 1.
Line number 149 is this statement:
@times = map {sprintf "%.10e", $_ / $self->{pingfactor}} sort {$a <=> $b}
grep /^\d/, @times;
Examining the FPing.pm library I see that $self->{pingfactor} is not defined if
the script is run as a CGI in "sub new($$$)" routine. This routine appears to
figure out what the 'pingfactor' is for the fping binary if this is not run as
a CGI.
I modified the code so that it goes ahead and runs/executes the body of "sub
new($$$)" even if the script is run as a CGI. So far it has not seemed to
cause any problems with the output/results of the utility.
Thanks
_______________________________________________
smokeping-users mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/smokeping-users