Skip to content

Commit 84b3f0f

Browse files
blocking-sessions fix
1 parent 99e7a6d commit 84b3f0f

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

plugins-scripts/Nagios/DBD/Oracle/Server/Instance.pm

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -187,16 +187,19 @@ sub nagios {
187187
$self->{session_usage},
188188
$self->{warningrange}, $self->{criticalrange});
189189
} elsif ($params{mode} =~ /server::instance::session::blocked/) {
190-
if (! @{$self->{sessions}}) {
191-
$self->add_nagios_ok("no blocking sessions");
190+
my $sessions_blocked = $DBD::Oracle::Server::Instance::Session::sessions_blocked;
191+
if ($sessions_blocked == 0) {
192+
$self->add_nagios_ok("no blocking sessions");
192193
} else {
194+
$self->add_nagios(
195+
$self->check_thresholds($sessions_blocked, 10, 50),
196+
sprintf "%d blocking sessions found", $sessions_blocked);
197+
$self->add_perfdata(sprintf "blocking_sessions=%d;%d;%d", $sessions_blocked, $self->{warningrange}, $self->{criticalrange}
198+
);
193199
foreach (@{$self->{sessions}}) {
194200
$_->nagios(%params);
195201
$self->merge_nagios($_);
196202
}
197-
#if (! $self->{nagios_level} && ! $params{selectname}) {
198-
# $self->add_nagios_ok("no enqueue problem");
199-
#}
200203
}
201204
} elsif ($params{mode} =~ /server::instance::processusage/) {
202205
$self->add_nagios(

plugins-scripts/Nagios/DBD/Oracle/Server/Instance/Session.pm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ my %ERRORCODES=( 0 => 'OK', 1 => 'WARNING', 2 => 'CRITICAL', 3 => 'UNKNOWN' );
1111
our @sessions = ();
1212
our $initerrors = undef;
1313
our $session_usage = 0;
14+
our $sessions_blocked = 0;
1415

1516
sub add_session {
1617
push(@sessions, shift);
@@ -98,6 +99,7 @@ my %ERRORCODES=( 0 => 'OK', 1 => 'WARNING', 2 => 'CRITICAL', 3 => 'UNKNOWN' );
9899
%thisparams);
99100
add_session($session);
100101
$num_sessions++;
102+
$sessions_blocked++;
101103
}
102104
if (! $num_sessions && $params{mode} !~ /server::instance::session::blocked/) {
103105
$initerrors = 1;

0 commit comments

Comments
 (0)