Hello, I have started playing with sending alerts from my already working SmokePing installation. I use the latest-and-greatest version 2.0.1 (thanks for the great work!) and I have a problem with the alert called someloss in the distributed sample configuration file. It looks like this:
+someloss type = loss # in percent pattern = >0%,*12*,>0%,*12*,>0% comment = loss 3 times in a row When I interpret it according to the documentation at http://people.ee.ethz.ch/~oetiker/webtools/smokeping/doc/smokeping_config.en.html - especially this part: ----------------------------------------------------------------------- Sometimes it may be that conditions occur at irregular intervals. But still you only want to throw an alert if they occur several times within a certain amount of times. The operator *X* will ignore up to X values and still let the pattern match: >10%,*10*,>10% will fire if more than 10% of the packets have been lost at least twice over the last 10 samples. ----------------------------------------------------------------------- I would expect that for a host which is down (100% packet loss all the time) this alert would send me an e-mail after three testing iterations. That does not happen. I have to wait for 27 iterations until I get the first e-mail. After that I get an additional e-mail every iteration, but that's understandable. So what's wrong - the behaviour, or the documentation? Should the documenation be corrected to have "The operator *X* will ignore exactly X values..."? BTW, when I used the parameter --debug-daemon smokeping wrote this: ### Compiling alert detector pattern 'someloss' ### >0%,*12*,>0%,*12*,>0% sub { my $d = shift; my $y = $d->{loss}; for(1){ my $imax2 = 12; my $imax1 = 12; next if scalar @$y < 27 ; my $i1; for($i1=0; $i1<$imax1;$i1++){ my $i2; for($i2=0; $i2<$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 >= $imax2; next unless defined $y->[-2-$i1] and $y->[-2-$i1] =~ /^\d/ and $y->[-2-$i1] > 0; last; } return 0 if $i1 >= $imax1; next unless defined $y->[-1] and $y->[-1] =~ /^\d/ and $y->[-1] > 0; return 1; } return 0; } Leos -- Unsubscribe mailto:[EMAIL PROTECTED] Help mailto:[EMAIL PROTECTED] Archive http://lists.ee.ethz.ch/smokeping-users WebAdmin http://lists.ee.ethz.ch/lsg2.cgi
