diff options
Diffstat (limited to 'lib/Nagios/Plugin')
| -rw-r--r-- | lib/Nagios/Plugin/Performance.pm | 24 |
1 files changed, 23 insertions, 1 deletions
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. |
