diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2006-06-15 08:38:18 +0000 |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2006-06-15 08:38:18 +0000 |
commit | e736a3c2b0a62707f12cf66fbb65ef23eeb01dd6 (patch) | |
tree | f8e4dd361b74480752ff7dda173f1fd7ced1868b /lib | |
parent | 3e4062f33b9d0ab7c02053400281eb9a26d54003 (diff) | |
download | monitoring-plugin-perl-e736a3c2b0a62707f12cf66fbb65ef23eeb01dd6.tar.gz |
Added rrdlabel method. Fixed parse_perfstring if value=0
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/Nagios-Plugin/trunk@1428 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Nagios/Plugin.pm | 2 | ||||
-rw-r--r-- | lib/Nagios/Plugin/Performance.pm | 24 |
2 files changed, 24 insertions, 2 deletions
diff --git a/lib/Nagios/Plugin.pm b/lib/Nagios/Plugin.pm index ed2e6f5..2acc6ea 100644 --- a/lib/Nagios/Plugin.pm +++ b/lib/Nagios/Plugin.pm | |||
@@ -23,7 +23,7 @@ use Exporter; | |||
23 | our @ISA = qw(Exporter Nagios::__::Plugin); | 23 | our @ISA = qw(Exporter Nagios::__::Plugin); |
24 | our @EXPORT_OK = qw(%ERRORS); | 24 | our @EXPORT_OK = qw(%ERRORS); |
25 | 25 | ||
26 | our $VERSION = '0.11'; | 26 | our $VERSION = '0.12'; |
27 | 27 | ||
28 | sub add_perfdata { | 28 | sub add_perfdata { |
29 | my ($self, %args) = @_; | 29 | my ($self, %args) = @_; |
diff --git a/lib/Nagios/Plugin/Performance.pm b/lib/Nagios/Plugin/Performance.pm index 82c1a3b..45109ae 100644 --- a/lib/Nagios/Plugin/Performance.pm +++ b/lib/Nagios/Plugin/Performance.pm | |||
@@ -28,7 +28,7 @@ sub _parse { | |||
28 | my $string = shift; | 28 | my $string = shift; |
29 | my $p = $class->new; | 29 | my $p = $class->new; |
30 | $string =~ s/^([^=]+)=([\d\.]+)(\w*);?([\d\.]+)?;?([\d\.]+)?;?([\d\.]+)?;?([\d\.]+)?\s*//; | 30 | $string =~ s/^([^=]+)=([\d\.]+)(\w*);?([\d\.]+)?;?([\d\.]+)?;?([\d\.]+)?;?([\d\.]+)?\s*//; |
31 | return undef unless ($1 && $2); | 31 | return undef unless ((defined $1 && $1 ne "") && (defined $2 && $2 ne "")); |
32 | $p->label($1); | 32 | $p->label($1); |
33 | $p->value($2+0); | 33 | $p->value($2+0); |
34 | $p->uom($3); | 34 | $p->uom($3); |
@@ -50,6 +50,21 @@ sub parse_perfstring { | |||
50 | return @perfs; | 50 | return @perfs; |
51 | } | 51 | } |
52 | 52 | ||
53 | sub rrdlabel { | ||
54 | my $self = shift; | ||
55 | my $name = $self->label; | ||
56 | if ($name eq "/") { | ||
57 | $name = "root"; | ||
58 | # If filesystem name, remove initial / and convert subsequent "/" to "_" | ||
59 | } elsif ($name =~ s/^\///) { | ||
60 | $name =~ s/\//_/g; | ||
61 | } | ||
62 | # Convert bad chars | ||
63 | $name =~ s/\W/_/g; | ||
64 | # Shorten | ||
65 | return substr( $name, 0, 19 ); | ||
66 | } | ||
67 | |||
53 | 1; | 68 | 1; |
54 | __END__ | 69 | __END__ |
55 | 70 | ||
@@ -94,6 +109,13 @@ If there is an error parsing the string, an empty array is returned. | |||
94 | 109 | ||
95 | These all return scalars. min and max are not well supported yet. | 110 | These all return scalars. min and max are not well supported yet. |
96 | 111 | ||
112 | =item rrdlabel | ||
113 | |||
114 | Returns a label that can be used for the dataset name of an RRD, ie, between 1-19 | ||
115 | characters long with characters [a-zA-Z0-9_]. | ||
116 | |||
117 | There is no guarantee that multiple N:P:Performance objects will have unique rrdlabels. | ||
118 | |||
97 | =item threshold | 119 | =item threshold |
98 | 120 | ||
99 | This returns a Nagios::Plugin::Threshold object. | 121 | This returns a Nagios::Plugin::Threshold object. |