[smokeping-users] Smokeping not graphing tcpping data

Gregory Sloop gregs at sloop.net
Thu Aug 21 22:16:35 CEST 2014


Is there no page anywhere that will give something other than a 404?
You can pass it a URL, so even if it's just a login page, that would still be fine, even if you're not logging in. [But what the heck is the point of checking a web server on https unless you can see if it actually serves pages! A 404 doesn't really tell you that - though I guess it does tell you the server can issue 404's though. :) ]

I don't know what hitting a login page 20 times a minute, for example, might do to performance on the device in your situation. It might also trigger an IDS alert/warning.

You might see if there's some other options you can pass the executable that would allow it to "recognize" 404's as a working setup, but unless there's that option, I think you're stuck if you can't pass it a valid URL that won't produce a 404.

{Big aside here: It looks a little like you're just checking the state of the server - that it's "up" vs "down." While smokeping can do this kind if task, it's probably better suited to something like Nagios/Zenos etc. You might consider that. SP is best at measuring the "health" of a connection in terms of latency and packet-loss - not at measuring state and keeping history of the same. SP's alerting is, IMO, especially poor for that sort of thing too. It's a performance measurement tool, not a "state" measurement tool. Using it for state can work, but isn't optimal, IMO.}


-Greg


Thanks Greg. I switched over to EchoPingHttps. In my scenario I am simply looking to confirm that port 443 is open. There is no actual page to load at the address though. Is there a way to ignore the 404 response and still measure that response time to the port?

Smokeping version 2.003006 successfully launched.
Not entering multiprocess mode with '--debug'. Use '--debug-daemon' for that.
EchoPingHttps: probing 2 targets with step 300 s and offset 210 s.
FPing: probing 0 targets with step 300 s and offset 210 s.
TCPPing: probing 0 targets with step 300 s and offset 210 s.
EchoPingHttps: forks 5, timeout for each target 101
EchoPingHttps: executing cmd /usr/bin/echoping -t 5 -C -h / -n 20 gateway14.host.com:443
EchoPingHttps: executing cmd /usr/bin/echoping -t 5 -C -h / -n 20 gateway17.host.com:443
EchoPingHttps: WARNING: "/usr/bin/echoping -t 5 -C -h / -n 20 gateway14.host.com:443" exited with status 1 - output follows
"choPingHttps:          HTTP error "HTTP/1.1 404 Not Found
EchoPingHttps: WARNING: "/usr/bin/echoping -t 5 -C -h / -n 20 gateway17.host.com:443" exited with status 1 - output follows
"choPingHttps:          HTTP error "HTTP/1.1 404 Not Found
EchoPingHttps: gateway14.host.com: got 
EchoPingHttps: gateway17.host.com: got 
Calling RRDs::update(/var/lib/smokeping/Host/Gateway14.rrd --template uptime:loss:median:ping1:ping2:ping3:ping4:ping5:ping6:ping7:ping8:ping9:ping10:ping11:ping12:ping13:ping14:ping15:ping16:ping17:ping18:ping19:ping20 1408650942:U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U)
Calling RRDs::update(/var/lib/smokeping/Host/Gateway17.rrd --template uptime:loss:median:ping1:ping2:ping3:ping4:ping5:ping6:ping7:ping8:ping9:ping10:ping11:ping12:ping13:ping14:ping15:ping16:ping17:ping18:ping19:ping20 1408650942:U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U)


On Wed, Aug 20, 2014 at 3:54 PM, Gregory Sloop <gregs at sloop.net> wrote:
[Top post]

I'm not sure about the second [manual] result, but the debug shows that TCPPing came back with:
uptime:loss:median:ping1:ping2:ping3:ping4:ping5:ping6:ping7:ping8:ping9:ping10:ping11:ping12:ping13:ping14:ping15:ping16:ping17:ping18:ping19:ping20 1408568077:U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U)

[U] - meaning unknown.

Is it possible that the TCPPing executable isn't where you think [or somkeping] thinks it is, and/or can't run it for some reason?

I don't think you should ever get an unknown - you should either get a result or a loss - but unknown may be what you get if SP can't run it properly.

---
One other issue, I see you're hitting the 443 [HTTP-SSL] port. I'd guess this may be part of the issue. I seem to recall issues getting TCPPing to work with SSL sessions properly - how are you going to validate a cert etc.

For that, I think this would be more appropo:
http://oss.oetiker.ch/smokeping/probe/EchoPingHttps.en.html 

My gut says it's the HTTPS that's the problem, but both are worth looking into.

HTH
-Greg


Debian Lenny
smokeping 2.003006

Below is a copy of smoke ping debug output, along with the output of running the command manually. I'm not sure why, but I'm not see numerical values returned when running the command manually. I'm guess this is why no data is being logged in the graph. All rrd files are owned by smokeping:smokeping and are have perms of 755.

Any thoughts?

user at server:/var/lib/smokeping/# smokeping --debug
### assuming you are using an tcpping copy reporting in milliseconds
### Compiling alert detector pattern 'startloss'
### ==S,>0%,>0%,>0%
sub { 
   my $d = shift;
   my $y = $d->{loss};
   for(1){
       my $minlength = 4;
       my $maxlength = 4;
       next if scalar @$y < $minlength ;
       next unless defined $y->[-4] and $y->[-4] eq 'S';
       next unless defined $y->[-3]
                       and $y->[-3] =~ /^\d/
                       and $y->[-3] > 0;
       next unless defined $y->[-2]
                       and $y->[-2] =~ /^\d/
                       and $y->[-2] > 0;
       next unless defined $y->[-1]
                       and $y->[-1] =~ /^\d/
                       and $y->[-1] > 0;
       return 1;
   }
   return 0;
}

### Compiling alert detector pattern 'rttdetect'
### <10,<10,<10,<10,<10,<100,>100,>100,>100
sub { 
   my $d = shift;
   my $y = $d->{rtt};
   for(1){
       my $minlength = 9;
       my $maxlength = 9;
       next if scalar @$y < $minlength ;
       next unless defined $y->[-9]
                       and $y->[-9] =~ /^\d/
                       and $y->[-9] < 0.01;
       next unless defined $y->[-8]
                       and $y->[-8] =~ /^\d/
                       and $y->[-8] < 0.01;
       next unless defined $y->[-7]
                       and $y->[-7] =~ /^\d/
                       and $y->[-7] < 0.01;
       next unless defined $y->[-6]
                       and $y->[-6] =~ /^\d/
                       and $y->[-6] < 0.01;
       next unless defined $y->[-5]
                       and $y->[-5] =~ /^\d/
                       and $y->[-5] < 0.01;
       next unless defined $y->[-4]
                       and $y->[-4] =~ /^\d/
                       and $y->[-4] < 0.1;
       next unless defined $y->[-3]
                       and $y->[-3] =~ /^\d/
                       and $y->[-3] > 0.1;
       next unless defined $y->[-2]
                       and $y->[-2] =~ /^\d/
                       and $y->[-2] > 0.1;
       next unless defined $y->[-1]
                       and $y->[-1] =~ /^\d/
                       and $y->[-1] > 0.1;
       return 1;
   }
   return 0;
}

### Compiling alert detector pattern 'bigloss'
### ==0%,==0%,==0%,==0%,>0%,>0%,>0%
sub { 
   my $d = shift;
   my $y = $d->{loss};
   for(1){
       my $minlength = 7;
       my $maxlength = 7;
       next if scalar @$y < $minlength ;
       next unless defined $y->[-7]
                       and $y->[-7] =~ /^\d/
                       and $y->[-7] == 0;
       next unless defined $y->[-6]
                       and $y->[-6] =~ /^\d/
                       and $y->[-6] == 0;
       next unless defined $y->[-5]
                       and $y->[-5] =~ /^\d/
                       and $y->[-5] == 0;
       next unless defined $y->[-4]
                       and $y->[-4] =~ /^\d/
                       and $y->[-4] == 0;
       next unless defined $y->[-3]
                       and $y->[-3] =~ /^\d/
                       and $y->[-3] > 0;
       next unless defined $y->[-2]
                       and $y->[-2] =~ /^\d/
                       and $y->[-2] > 0;
       next unless defined $y->[-1]
                       and $y->[-1] =~ /^\d/
                       and $y->[-1] > 0;
       return 1;
   }
   return 0;
}

### Compiling alert detector pattern 'someloss'
### >0%,*12*,>0%,*12*,>0%
sub { 
   my $d = shift;
   my $y = $d->{loss};
   for(1){
       my $imax2 = min(@$y - 3, 12);
       my $imax1 = min(@$y - 3, 12);
       my $minlength = 3;
       my $maxlength = 27;
       next if scalar @$y < $minlength ;
       my $i1;
       for($i1=0; $i1 < min($maxlength,$imax1); $i1++){
           my $i2;
           for($i2=0; $i2 < min($maxlength-$i1,$imax2); $i2++){
               next unless defined $y->[-3-$i1-$i2]
                               and $y->[-3-$i1-$i2] =~ /^\d/
                               and $y->[-3-$i1-$i2] > 0;
               last;
           }
           return 0 if $i2 >= min($maxlength-$i1-$i2,$imax2);
           next unless defined $y->[-2-$i1]
                           and $y->[-2-$i1] =~ /^\d/
                           and $y->[-2-$i1] > 0;
           last;
       }
       return 0 if $i1 >= min($maxlength-$i1,$imax1);
       next unless defined $y->[-1]
                       and $y->[-1] =~ /^\d/
                       and $y->[-1] > 0;
       return 1;
   }
   return 0;
}



Smokeping version 2.003006 successfully launched.
Not entering multiprocess mode with '--debug'. Use '--debug-daemon' for that.
EchoPingHttps: probing 0 targets with step 300 s and offset 232 s.
FPing: probing 0 targets with step 300 s and offset 232 s.
TCPPing: probing 2 targets with step 300 s and offset 232 s.
TCPPing: forks 5, timeout for each target 101
TCPPing: Executing /usr/bin/tcpping -C -x 20 gateway17.jetpay.com 443
TCPPing: Executing /usr/bin/tcpping -C -x 20 gateway14.jetpay.com 443
TCPPing: gateway14.jetpay.com: got 
TCPPing: gateway17.jetpay.com: got 
Calling RRDs::update(/var/lib/smokeping/JetPay/Gateway14.rrd --template uptime:loss:median:ping1:ping2:ping3:ping4:ping5:ping6:ping7:ping8:ping9:ping10:ping11:ping12:ping13:ping14:ping15:ping16:ping17:ping18:ping19:ping20 1408568077:U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U)
Calling RRDs::update(/var/lib/smokeping/JetPay/Gateway17.rrd --template uptime:loss:median:ping1:ping2:ping3:ping4:ping5:ping6:ping7:ping8:ping9:ping10:ping11:ping12:ping13:ping14:ping15:ping16:ping17:ping18:ping19:ping20 1408568077:U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U)


-----------------------------------
output from running the command manually
-----------------------------------

user at server:/etc/smokeping/config.d# /usr/bin/tcpping -C -x 20 gateway14.jetpay.com 443
gateway14.jetpay.com : - - - - - - - - - - - - - - - - - - - -
user at server:/etc/smokeping/config.d#



-- 
Gregory Sloop, Principal: Sloop Network & Computer Consulting
Voice: 503.251.0452 x82
EMail: gregs at sloop.net
http://www.sloop.net
---
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.oetiker.ch/pipermail/smokeping-users/attachments/20140821/72701d36/attachment-0001.html>


More information about the smokeping-users mailing list