summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobi Oetiker <tobi@oetiker.ch>2007-10-15 09:49:18 +0200
committerTobi Oetiker <tobi@oetiker.ch>2007-10-15 09:49:18 +0200
commit15ce7b9d28dda1afb6b892c1e2a34e057f3fdb60 (patch)
tree0226ecb3ea1595463dad24204ac65f9885c4d63b
parent03d504e82b3e6c77c0b59af415ff740de1b483f3 (diff)
downloadsmokeping-15ce7b9d28dda1afb6b892c1e2a34e057f3fdb60.tar.gz
smokeping-15ce7b9d28dda1afb6b892c1e2a34e057f3fdb60.tar.xz
* fixed parsing of slaves statements in config file, broeken since I seemingly relaxed the hostname constraints.
* removed all online testing from Curl and EchoPing probes
-rw-r--r--CHANGES20
-rw-r--r--etc/config.dist3
-rw-r--r--lib/Smokeping.pm2
-rw-r--r--lib/Smokeping/probes/Curl.pm12
-rw-r--r--lib/Smokeping/probes/EchoPing.pm7
-rw-r--r--lib/Smokeping/probes/EchoPingChargen.pm2
-rw-r--r--lib/Smokeping/probes/EchoPingDiscard.pm2
-rw-r--r--lib/Smokeping/probes/EchoPingHttp.pm6
-rw-r--r--lib/Smokeping/probes/EchoPingSmtp.pm2
9 files changed, 35 insertions, 21 deletions
diff --git a/CHANGES b/CHANGES
index dc593d2..c5b8e4b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,19 @@
-* In the SSH probe let the user configure the port to use when talking to the client --tobi
+* fixed parsing of slaves statements in config file. This did not work at
+ all it seems --tobi
-* Make master/slave work when slave names contain uppercase letters and full dots. -- tobi
+* modified all the 'live' tests with curl and echoping to not be live but
+ use other indications to see if the software is happy or not. Manly for
+ echoping this depends on the way echo ping complains about option usage.
+ So this may need tuning in the future. --tobi
+
+* allow rightclicks in the legnd area of the zoom image. this allows to save
+ the image. -- tobi
+
+* In the SSH probe let the user configure the port to use when talking to
+ the client --tobi
+
+* Make master/slave work when slave names contain uppercase letters and full
+ dots. -- tobi
* Allow slave-name to be configured -- tobi
@@ -10,7 +23,8 @@
with this we solve the problem that maybe some @include configs have changed
which we would not find out otherwise -- tobi
-* updated cropper: when selecting something outside the graph, multiply by 10. Use this to zoom out -- tobi
+* updated cropper: when selecting something outside the graph, multiply by
+ 10. Use this to zoom out -- tobi
2007/9/16 -- released version 2.2.4
diff --git a/etc/config.dist b/etc/config.dist
index 1af1c39..8604171 100644
--- a/etc/config.dist
+++ b/etc/config.dist
@@ -103,6 +103,7 @@ secrets=/home/oetiker/checkouts/smokeping/trunk/software/etc/smokeping_secrets.d
+boomer
display_name=boomer
color=0000ff
++slave2
*** Targets ***
@@ -121,7 +122,7 @@ menu= Targets
menu = James
title =James
alerts = someloss
-slaves = boomer
+slaves = boomer slave2
host = james.address
++ MultiHost
diff --git a/lib/Smokeping.pm b/lib/Smokeping.pm
index a5f231c..818de9f 100644
--- a/lib/Smokeping.pm
+++ b/lib/Smokeping.pm
@@ -1956,7 +1956,7 @@ DOC
If you want to have alerts for this target and all targets below it go to a particular address
on top of the address already specified in the alert, you can add it here. This can be a comma separated list of items.
DOC
- slaves => { _re => "${KEYD_RE}(:?\\s+${KEYD_RE})*",
+ slaves => { _re => "${KEYD_RE}(?:\\s+${KEYD_RE})*",
_re_error => 'Use the format: slaves='.${KEYD_RE}.' [slave2]',
_doc => <<DOC },
The slave names must match the slaves you have setup in the slaves section.
diff --git a/lib/Smokeping/probes/Curl.pm b/lib/Smokeping/probes/Curl.pm
index ee8541b..7328e35 100644
--- a/lib/Smokeping/probes/Curl.pm
+++ b/lib/Smokeping/probes/Curl.pm
@@ -202,16 +202,14 @@ sub test_usage {
my $arghashref = $self->features;
my %arghash = %$arghashref;
-
+ my $curl_man = `$bin --manual`;
for my $feature (keys %arghash) {
- system("$bin $arghash{$feature} 1 0.0.0.1 >/dev/null 2>&1");
- if ($? == 2) {
- push @unsupported, $feature;
- $self->do_log("Note: your curl doesn't support the $feature feature (option $arghash{$feature}), disabling it");
- }
+ next if $curl_man =~ /\Q$arghash{$feature}/;
+ push @unsupported, $feature;
+ $self->do_log("Note: your curl doesn't support the $feature feature (option $arghash{$feature}), disabling it");
}
map { delete $arghashref->{$_} } @unsupported;
- if (`$bin -o /dev/null -w '<%{time_redirect}>\n' 0.0.0.1 2>&1` =~ /^<>/m) {
+ if ($curl_man !~ /\stime_redirect\s/) {
$self->do_log("Note: your curl doesn't support the 'time_redirect' output variable; 'include_redirects' will not function.");
}
return;
diff --git a/lib/Smokeping/probes/EchoPing.pm b/lib/Smokeping/probes/EchoPing.pm
index 4be5a0d..95d1a6e 100644
--- a/lib/Smokeping/probes/EchoPing.pm
+++ b/lib/Smokeping/probes/EchoPing.pm
@@ -88,15 +88,16 @@ sub test_usage {
my $arghashref = $self->features;
my %arghash = %$arghashref;
-
for my $feature (keys %arghash) {
- if (`$bin $arghash{$feature} 1 0.0.0.1 2>&1` =~ /invalid option|usage/i) {
+ # when the option is invalid, then echoping would
+ # complain. if it is valid, then it will just display
+ # the usage message.
+ if (`$bin $arghash{$feature} 2>&1` !~ /^Usage/i) {
push @unsupported, $feature;
$self->do_log("Note: your echoping doesn't support the $feature feature (option $arghash{$feature}), disabling it");
}
}
map { delete $arghashref->{$_} } @unsupported;
-
return;
}
diff --git a/lib/Smokeping/probes/EchoPingChargen.pm b/lib/Smokeping/probes/EchoPingChargen.pm
index 53f4386..a75153d 100644
--- a/lib/Smokeping/probes/EchoPingChargen.pm
+++ b/lib/Smokeping/probes/EchoPingChargen.pm
@@ -46,7 +46,7 @@ sub test_usage {
my $self = shift;
my $bin = $self->{properties}{binary};
croak("Your echoping binary doesn't support CHARGEN")
- if `$bin -c 2>&1 0.0.0.1` =~ /(usage|not compiled|invalid option)/i;
+ if `$bin -c 2>&1` !~ /^Usage/i;
$self->SUPER::test_usage;
return;
}
diff --git a/lib/Smokeping/probes/EchoPingDiscard.pm b/lib/Smokeping/probes/EchoPingDiscard.pm
index 2970232..490d373 100644
--- a/lib/Smokeping/probes/EchoPingDiscard.pm
+++ b/lib/Smokeping/probes/EchoPingDiscard.pm
@@ -46,7 +46,7 @@ sub test_usage {
my $self = shift;
my $bin = $self->{properties}{binary};
croak("Your echoping binary doesn't support DISCARD")
- if `$bin -d 0.0.0.1 2>&1` =~ /(not compiled|invalid option|usage)/i;
+ if `$bin -d 2>&1` !~ /^Usage/i;
$self->SUPER::test_usage;
return;
}
diff --git a/lib/Smokeping/probes/EchoPingHttp.pm b/lib/Smokeping/probes/EchoPingHttp.pm
index 7107de6..2f5ea32 100644
--- a/lib/Smokeping/probes/EchoPingHttp.pm
+++ b/lib/Smokeping/probes/EchoPingHttp.pm
@@ -88,13 +88,13 @@ sub test_usage {
my $self = shift;
my $bin = $self->{properties}{binary};
croak("Your echoping binary doesn't support HTTP")
- if `$bin -h / 0.0.0.1 2>&1` =~ /(invalid option|not compiled|usage)/i;
- if (`$bin -a -h / 0.0.0.1 2>&1` =~ /(invalid option|not compiled|usage)/i) {
+ if `$bin -h / 2>&1` !~ /^Usage/;
+ if (`$bin -a -h / 2>&1` !~ /^Usage/) {
carp("Note: your echoping binary doesn't support revalidating (-a), disabling it");
$self->{_disabled}{a} = undef;
}
- if (`$bin -A -h / 0.0.0.1 2>&1` =~ /(invalid option|not compiled|usage)/i) {
+ if (`$bin -A -h / 2>&1` !~ /^Usage/) {
carp("Note: your echoping binary doesn't support ignoring cache (-A), disabling it");
$self->{_disabled}{A} = undef;
}
diff --git a/lib/Smokeping/probes/EchoPingSmtp.pm b/lib/Smokeping/probes/EchoPingSmtp.pm
index a65b97c..74f7a64 100644
--- a/lib/Smokeping/probes/EchoPingSmtp.pm
+++ b/lib/Smokeping/probes/EchoPingSmtp.pm
@@ -54,7 +54,7 @@ sub test_usage {
my $self = shift;
my $bin = $self->{properties}{binary};
croak("Your echoping binary doesn't support SMTP")
- if `$bin -S 0.0.0.1 2>&1` =~ /(not compiled|invalid option|usage)/i;
+ if `$bin -S 2>&1` !~ /^Usage/;
$self->SUPER::test_usage;
return;
}