From e51e477e53cca45fa47e5e1348c1962e33b9cb51 Mon Sep 17 00:00:00 2001 From: Simon Meggle Date: Tue, 30 Oct 2012 18:32:45 +0100 Subject: [PATCH 1/2] Allow mixing of normal with range thresholds (e.g. --warning 10: --critical 20) --- plugins-scripts/Nagios/DBD/Oracle/Server.pm | 27 +++++++++------------ 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/plugins-scripts/Nagios/DBD/Oracle/Server.pm b/plugins-scripts/Nagios/DBD/Oracle/Server.pm index 2f821c0..e4b735d 100644 --- a/plugins-scripts/Nagios/DBD/Oracle/Server.pm +++ b/plugins-scripts/Nagios/DBD/Oracle/Server.pm @@ -327,27 +327,22 @@ sub check_thresholds { $self->{warningrange} : $defaultwarningrange; $self->{criticalrange} = defined $self->{criticalrange} ? $self->{criticalrange} : $defaultcriticalrange; - if ($self->{warningrange} !~ /:/ && $self->{criticalrange} !~ /:/) { - # warning = 10, critical = 20, warn if > 10, crit if > 20 + if ($self->{warningrange} !~ /:/ ) { + # warning = 10, warn if > 10 $level = $ERRORS{WARNING} if $value > $self->{warningrange}; - $level = $ERRORS{CRITICAL} if $value > $self->{criticalrange}; - } elsif ($self->{warningrange} =~ /(\d+):/ && - $self->{criticalrange} =~ /(\d+):/) { - # warning = 98:, critical = 95:, warn if < 98, crit if < 95 + } elsif ($self->{warningrange} =~ /(\d+):/ ) { + # warning = 10:, warn if < 10 $self->{warningrange} =~ /(\d+):/; $level = $ERRORS{WARNING} if $value < $1; + } + + if ($self->{criticalrange} !~ /:/) { + # critical = 20, warn if > 20 + $level = $ERRORS{CRITICAL} if $value > $self->{criticalrange}; + } elsif ($self->{criticalrange} =~ /(\d+):/) { + # critical = 20: crit if < 20 $self->{criticalrange} =~ /(\d+):/; $level = $ERRORS{CRITICAL} if $value < $1; - } elsif ($self->{warningrange} !~ /:/ && $self->{criticalrange} =~ /:/) { - # warning = 10, critical = 20:, warn if > 10, crit if < 20 - $level = $ERRORS{WARNING} if $value > $self->{warningrange}; - $self->{criticalrange} =~ /(\d+):/; - $level = $ERRORS{CRITICAL} if $value < $1; - } elsif ($self->{warningrange} =~ /:/ && $self->{criticalrange} !~ /:/) { - # warning = 10:, critical = 20, warn if < 10, crit if > 20 - $self->{warningrange} =~ /(\d+):/; - $level = $ERRORS{WARNING} if $value < $1; - $level = $ERRORS{CRITICAL} if $value > $self->{criticalrange}; } return $level; # From 8fbaad74e8ff7c8bd836761a50949211c1b7535e Mon Sep 17 00:00:00 2001 From: Simon Meggle Date: Thu, 19 Mar 2015 11:50:31 +0100 Subject: [PATCH 2/2] Convert ':/\' to '_' in --uniquelabels --- .../Nagios/DBD/Oracle/Server/Database/Tablespace/Datafile.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins-scripts/Nagios/DBD/Oracle/Server/Database/Tablespace/Datafile.pm b/plugins-scripts/Nagios/DBD/Oracle/Server/Database/Tablespace/Datafile.pm index 7ee59d4..8280ea1 100644 --- a/plugins-scripts/Nagios/DBD/Oracle/Server/Database/Tablespace/Datafile.pm +++ b/plugins-scripts/Nagios/DBD/Oracle/Server/Database/Tablespace/Datafile.pm @@ -176,8 +176,9 @@ sub nagios { $self->check_thresholds($self->{io_total_per_sec}, "1000", "5000"), sprintf ("%s: %.2f IO Operations per Second", $self->{name}, $self->{io_total_per_sec})); + (my $path = $self->{path}) =~ s/:|\/|\\/_/g; $self->add_perfdata(sprintf "'dbf_%s_io_total_per_sec'=%.2f;%d;%d", - $params{uniquelabels} ? $self->{path} : $self->{name}, $self->{io_total_per_sec}, + $params{uniquelabels} ? $path : $self->{name}, $self->{io_total_per_sec}, $self->{warningrange}, $self->{criticalrange}); } }