summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiko Tyni <ntyni@iki.fi>2007-04-14 22:46:52 +0200
committerNiko Tyni <ntyni@iki.fi>2007-04-14 22:46:52 +0200
commita2e1e5362389bc23f8b3826de3034feda5a10793 (patch)
tree80f5ef0ae843a55655964a2c7d04adc8486ced56
parent58f0290fdd16e480c42c558bc4a2a8c19a56215a (diff)
downloadsmokeping-a2e1e5362389bc23f8b3826de3034feda5a10793.tar.gz
smokeping-a2e1e5362389bc23f8b3826de3034feda5a10793.tar.xz
r1060@rispa: niko | 2007-04-14 21:51:42 +0300
add EchoPingWhois
-rw-r--r--CHANGES4
-rw-r--r--lib/Smokeping/probes/EchoPingWhois.pm78
2 files changed, 80 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index c2cdf4c..5978743 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,5 @@
-* add new echoping 6 plugin probes: EchoPingDNS, EchoPingLDAP
- (with more coming up) --niko
+* add new echoping 6 plugin probes: EchoPingDNS, EchoPingLDAP, EchoPingWhois
+ -- niko
* don't test echoping or curl usage if running as a CGI --niko
* bail out at startup with an error message if LC_ALL is set --niko
diff --git a/lib/Smokeping/probes/EchoPingWhois.pm b/lib/Smokeping/probes/EchoPingWhois.pm
new file mode 100644
index 0000000..6f198e5
--- /dev/null
+++ b/lib/Smokeping/probes/EchoPingWhois.pm
@@ -0,0 +1,78 @@
+package Smokeping::probes::EchoPingWhois;
+
+=head1 301 Moved Permanently
+
+This is a Smokeping probe module. Please use the command
+
+C<smokeping -man Smokeping::probes::EchoPingWhois>
+
+to view the documentation or the command
+
+C<smokeping -makepod Smokeping::probes::EchoPingWhois>
+
+to generate the POD document.
+
+=cut
+
+sub pod_hash {
+ return {
+ name => <<DOC,
+Smokeping::probes::EchoPingWhois - an echoping(1) probe for SmokePing
+DOC
+ overview => <<DOC,
+Measures whois roundtrip times for SmokePing with the echoping_whois plugin.
+DOC
+ authors => <<'DOC',
+Niko Tyni <ntyni@iki.fi>
+DOC
+ notes => <<'DOC',
+The I<fill>, I<size> and I<udp> EchoPing variables are not valid.
+
+Plugins, including echoping_whois, are available starting with echoping version 6.
+DOC
+ see_also => <<DOC,
+L<Smokeping::probes::EchoPing>,
+L<Smokeping::probes::EchoPingPlugin>
+DOC
+ }
+}
+
+use strict;
+use base qw(Smokeping::probes::EchoPingPlugin);
+use Carp;
+
+sub plugin_args {
+ my $self = shift;
+ my $target = shift;
+ my @args;
+ push @args, $target->{vars}{whois_request};
+
+ return @args;
+}
+
+sub ProbeDesc($) {
+ return "whois pings using the echoping_whois plugin";
+}
+
+sub targetvars {
+ my $class = shift;
+ my $h = $class->SUPER::targetvars;
+ delete $h->{udp};
+ delete $h->{fill};
+ delete $h->{size};
+ $h->{_mandatory} = [ grep { $_ ne "plugin" } @{$h->{_mandatory}}];
+ $h->{plugin}{_default} = 'whois';
+ $h->{plugin}{_example} = '/path/to/whois.so';
+ return $class->_makevars($h, {
+ _mandatory => [ 'whois_request' ],
+ whois_request => {
+ _doc => <<DOC,
+The request to the whois server (typically a domain name).
+DOC
+ _example => 'example.org',
+ },
+ },
+ );
+}
+
+1;