[smokeping-users] Large deployment problems

Josh Wisman jwisman at gmail.com
Wed Aug 3 02:15:56 CEST 2011

I have a need to do a 5600+ node deployment of Smokeping. Meaning that I
have 5600 devices to ping. Some 10% -20% have high latency 1000ms+.
Currently I have about 1200 nodes in smokeping. This is a new build. I am
building this on a OpenSuse 11.4 x86_64 platform. I am running into

1. SpeedyCGI does not compile on this version of Suse even after my best
effort. I have attempted to make use of fastCGI, but I dont know that I am
doing it right. The menu(smokeping.cgi) is large. Its by State then City in
my config. It maxes out my cpu (1 of 4)  when you open smokeping, because of
this, page load times are pretty slow and it will only get worse as I add
more nodes.
make[1]: Entering directory `/apps/CGI-SpeedyCGI-2.22/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/apps/CGI-SpeedyCGI-2.22/src'
make[1]: Entering directory `/apps/CGI-SpeedyCGI-2.22/speedy_backend'
-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" -fPIC
 -DSPEEDY_PROGNAME=\"speedy_backend\" -DSPEEDY_VERSION=\"2.22\"
-DSPEEDY_BACKEND speedy_backend_main.c
-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" -fPIC
 -DSPEEDY_PROGNAME=\"speedy_backend\" -DSPEEDY_VERSION=\"2.22\"
-DSPEEDY_BACKEND speedy_perl.c
speedy_perl.c: In function find_scr:
speedy_perl.c:258:2: error: expected expression before âSpeedyScript
speedy_perl.c: In function get_string:
speedy_perl.c:449:2: error: expected expression before char
speedy_perl.c: In function cwd_new:
speedy_perl.c:484:5: error: expected expression before SpeedyCwd
speedy_perl.c: In function onerun:
speedy_perl.c:808:47: warning: comparison between pointer and integer
speedy_perl.c:809:40: warning: comparison between pointer and integer
speedy_perl.c:810:40: warning: comparison between pointer and integer
speedy_perl.c: In function speedy_perl_init:
speedy_perl.c:918:2: warning: passing argument 2 of âperl_parseâ from
incompatible pointer type
/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:57:19: note:
expected XSINIT_t but argument is of type void (*)(void)
make[1]: *** [speedy_perl.o] Error 1
make[1]: Leaving directory `/apps/CGI-SpeedyCGI-2.22/speedy_backend'
make: *** [subdirs] Error 2

use CGI::Fast;

while (my $q = new CGI::Fast) {
       Smokeping::cgi("/etc/smokeping/config", $q);

diff -ur smokeping-2.4.2/lib/Smokeping.pm smokeping-dev/lib/Smokeping.pm
--- smokeping-2.4.2/lib/Smokeping.pm    2008-07-24 11:37:05.000000000 -0600
+++ smokeping-dev/lib/Smokeping.pm      2011-07-02 16:15:11.000000000 -0600
@@ -1376,7 +1376,7 @@
              print "Content-Length: ".length($data)."\nn";
              print $data;
              unlink "${imgbase}_${end}_${start}.png";
-             exit;
         elsif ($mode eq 'n'){ # navigator mode
 #           $page .= qq|<div class="zoom" style="cursor: crosshair;">|;
@@ -3843,11 +3843,12 @@

-sub cgi ($) {
+sub cgi ($$) {
     $cgimode = 'yes';
     umask 022;
     load_cfg shift;
-    my $q=new CGI;
+    my $q = shift;
     if ($q->param(-name=>'slave')) { # a slave is calling in

2. Because of the number of nodes, fping poller does not finish in 300
seconds.  I have blazemode enabled. Is there a way to run multiple fping
probes or increase parallelization? Any help would be greatly appreciated.

3. If smokeping cant practically scale to this size, Does anyone have
an open sourced suggestion. I am also running cacti and it has scaled rather
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.oetiker.ch/pipermail/smokeping-users/attachments/20110802/e25bdb43/attachment.htm 

More information about the smokeping-users mailing list