(plugin) database::oracle - add timeout option for sqlpluscmd (#3462)
This commit is contained in:
parent
70f02450c8
commit
64a062e48c
|
@ -56,7 +56,8 @@ sub new {
|
||||||
'local-connexion' => { name => 'local_connexion', default => 0 },
|
'local-connexion' => { name => 'local_connexion', default => 0 },
|
||||||
'sysdba' => { name => 'sysdba', default => 0 },
|
'sysdba' => { name => 'sysdba', default => 0 },
|
||||||
'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' },
|
'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' },
|
||||||
'tempdir:s' => { name => 'tempdir', default => '/tmp' }
|
'tempdir:s' => { name => 'tempdir', default => '/tmp' },
|
||||||
|
'timeout:s' => { name => 'timeout' }
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -110,6 +111,12 @@ sub check_options {
|
||||||
$self->{sqlplus_cmd} = $self->{option_results}->{sqlplus_cmd};
|
$self->{sqlplus_cmd} = $self->{option_results}->{sqlplus_cmd};
|
||||||
$self->{container} = defined($self->{option_results}->{container}[0]) ? $self->{option_results}->{container}[0] : undef;
|
$self->{container} = defined($self->{option_results}->{container}[0]) ? $self->{option_results}->{container}[0] : undef;
|
||||||
|
|
||||||
|
$self->{timeout} = 30;
|
||||||
|
if (defined($self->{option_results}->{timeout}) && $self->{option_results}->{timeout} =~ /^\d+$/ &&
|
||||||
|
$self->{option_results}->{timeout} > 0) {
|
||||||
|
$self->{timeout} = $self->{option_results}->{timeout};
|
||||||
|
}
|
||||||
|
|
||||||
$self->{output}->output_add(long_msg => "*** DEBUG MODE****\n", debug => 1);
|
$self->{output}->output_add(long_msg => "*** DEBUG MODE****\n", debug => 1);
|
||||||
$self->{output}->output_add(long_msg => Data::Dumper::Dumper($self->{option_results}), debug => 1);
|
$self->{output}->output_add(long_msg => Data::Dumper::Dumper($self->{option_results}), debug => 1);
|
||||||
|
|
||||||
|
@ -204,11 +211,9 @@ sub is_version_minimum {
|
||||||
sub get_id {
|
sub get_id {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $msg = $self->{sid};
|
return $self->{sid};
|
||||||
return $msg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub get_unique_id4save {
|
sub get_unique_id4save {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
@ -241,7 +246,7 @@ exit;";
|
||||||
my ($lerror, $stdout, $exit_code) = centreon::plugins::misc::backtick(
|
my ($lerror, $stdout, $exit_code) = centreon::plugins::misc::backtick(
|
||||||
command => $self->{sqlplus_cmd},
|
command => $self->{sqlplus_cmd},
|
||||||
arguments => [@{$self->{args}}, '@', $tempfile],
|
arguments => [@{$self->{args}}, '@', $tempfile],
|
||||||
timeout => 30,
|
timeout => $self->{timeout},
|
||||||
wait_exit => 1,
|
wait_exit => 1,
|
||||||
redirect_stderr => 1
|
redirect_stderr => 1
|
||||||
);
|
);
|
||||||
|
@ -253,8 +258,10 @@ exit;";
|
||||||
|
|
||||||
if ($exit_code <= -1000) {
|
if ($exit_code <= -1000) {
|
||||||
if ($exit_code == -1000) {
|
if ($exit_code == -1000) {
|
||||||
$self->{output}->output_add(severity => 'UNKNOWN',
|
$self->{output}->output_add(
|
||||||
short_msg => $stdout);
|
severity => 'UNKNOWN',
|
||||||
|
short_msg => $stdout
|
||||||
|
);
|
||||||
}
|
}
|
||||||
$self->{output}->display();
|
$self->{output}->display();
|
||||||
$self->{output}->exit();
|
$self->{output}->exit();
|
||||||
|
|
Loading…
Reference in New Issue