mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-31 01:24:35 +02:00
(plugin) database::influxdb - mode query fix uninitialized value with… (#4581)
This commit is contained in:
parent
5fdc13ddcf
commit
847c2eb4da
@ -121,10 +121,10 @@ sub check_options {
|
||||
}
|
||||
|
||||
$self->{custom_keys} = [];
|
||||
$self->{queries} = {};
|
||||
$self->{queries} = [];
|
||||
foreach my $query (@{$self->{option_results}->{query}}) {
|
||||
next if ($query !~ /^(.*?),(.*)$/);
|
||||
$self->{queries}->{$1} = $2;
|
||||
push @{$self->{queries}}, { label => $1, value => $2 };
|
||||
push @{$self->{maps_counters}->{queries_results}->[0]->{set}->{key_values}}, { name => $1 };
|
||||
push @{$self->{custom_keys}}, $1;
|
||||
}
|
||||
@ -136,25 +136,31 @@ sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{queries_results} = {};
|
||||
my (@results, @queries);
|
||||
|
||||
my $query_index = -1;
|
||||
foreach my $label (keys %{$self->{queries}}) {
|
||||
$query_index++;
|
||||
@queries = ();
|
||||
push @queries, $self->{queries}->{$label};
|
||||
|
||||
my $queries_results = $options{custom}->query(queries => \@queries);
|
||||
my $query_index = 0;
|
||||
foreach my $query (@{$self->{queries}}) {
|
||||
my $queries_results = $options{custom}->query(queries => [$query->{value}]);
|
||||
|
||||
foreach my $result (@$queries_results) {
|
||||
next if (!defined($result->{tags}->{ $self->{option_results}->{instance} }));
|
||||
|
||||
my ($column_index) = grep { $result->{columns}->[$_] eq $self->{custom_keys}->[$query_index] } (0 .. @{$result->{columns}} - 1);
|
||||
my $value;
|
||||
$value = $options{custom}->compute(aggregation => $self->{option_results}->{aggregation}, values => $result->{values}, column => $column_index) if (defined($result->{values}));
|
||||
$self->{queries_results}->{ $result->{tags}->{ $self->{option_results}->{instance} } }->{instance} = $result->{tags}->{ $self->{option_results}->{instance} };
|
||||
my $column_index = 0;
|
||||
foreach (@{$result->{columns}}) {
|
||||
last if ($_ eq $self->{custom_keys}->[$query_index]);
|
||||
$column_index++;
|
||||
}
|
||||
|
||||
my $value = $options{custom}->compute(aggregation => $self->{option_results}->{aggregation}, values => $result->{values}, column => $column_index) if (defined($result->{values}));
|
||||
if (!defined($self->{queries_results}->{ $result->{tags}->{ $self->{option_results}->{instance} } })) {
|
||||
$self->{queries_results}->{ $result->{tags}->{ $self->{option_results}->{instance} } } = {
|
||||
instance => $result->{tags}->{ $self->{option_results}->{instance} }
|
||||
};
|
||||
}
|
||||
|
||||
$self->{queries_results}->{ $result->{tags}->{ $self->{option_results}->{instance} } }->{ $result->{columns}->[$column_index] } = $value;
|
||||
}
|
||||
|
||||
$query_index++;
|
||||
}
|
||||
|
||||
if (scalar(keys %{$self->{queries_results}}) <= 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user