Add number of problems open

This commit is contained in:
CPbN 2020-01-15 16:59:12 +01:00
parent fbf372db20
commit 186f6921a4
1 changed files with 26 additions and 0 deletions

View File

@ -53,9 +53,22 @@ sub set_counters {
my ($self, %options) = @_; my ($self, %options) = @_;
$self->{maps_counters_type} = [ $self->{maps_counters_type} = [
{ name => 'global', type => 0 },
{ name => 'problem', type => 1, cb_prefix_output => 'prefix_service_output', message_multiple => 'No problem' } { name => 'problem', type => 1, cb_prefix_output => 'prefix_service_output', message_multiple => 'No problem' }
]; ];
$self->{maps_counters}->{global} = [
{ label => 'problems-open', nlabel => 'problems.open.current', set => {
key_values => [ { name => 'problems_open' } ],
output_template => 'problems open : %s',
perfdatas => [
{ label => 'problems_open', template => '%s', value => 'problems_open_absolute',
min => 0 },
],
}
},
];
$self->{maps_counters}->{problem} = [ $self->{maps_counters}->{problem} = [
{ label => 'status', threshold => 0, set => { { label => 'status', threshold => 0, set => {
key_values => [ { name => 'status' }, { name => 'impactLevel' }, { name => 'severityLevel' }, { name => 'entityName' }, { name => 'eventType' }, { name => 'entityId' }, { name => 'startTime' }, { name => 'endTime' }, { name => 'commentCount' } ], key_values => [ { name => 'status' }, { name => 'impactLevel' }, { name => 'severityLevel' }, { name => 'entityName' }, { name => 'eventType' }, { name => 'entityId' }, { name => 'startTime' }, { name => 'endTime' }, { name => 'commentCount' } ],
@ -103,6 +116,7 @@ sub manage_selection {
my ($self, %options) = @_; my ($self, %options) = @_;
my $problem = $options{custom}->api_problem(relative_time => $options{options}->{relative_time}); my $problem = $options{custom}->api_problem(relative_time => $options{options}->{relative_time});
my $problems_open = 0;
$self->{problem} = {}; $self->{problem} = {};
foreach my $item (@{$problem}) { foreach my $item (@{$problem}) {
$self->{problem}->{$item->{displayName}} = { $self->{problem}->{$item->{displayName}} = {
@ -117,9 +131,16 @@ sub manage_selection {
endTime => $item->{endTime} > -1 ? $item->{endTime} / 1000 : -1, endTime => $item->{endTime} > -1 ? $item->{endTime} / 1000 : -1,
commentCount => $item->{commentCount}, commentCount => $item->{commentCount},
}; };
if ($item->{status} eq 'OPEN') {
$problems_open++;
} }
} }
$self->{global} = {
problems_open => $problems_open,
};
}
1; 1;
__END__ __END__
@ -151,6 +172,11 @@ Can use special variables like: %{status}, %{impactLevel}, %{severityLevel}, %{e
Set critical threshold for status (Default: '%{status} eq "OPEN"'). Set critical threshold for status (Default: '%{status} eq "OPEN"').
Can use special variables like: %{status}, %{impactLevel}, %{severityLevel}, %{entityName}, %{eventType}, %{entityId}, %{startTime}, %{endTime}, %{commentCount} Can use special variables like: %{status}, %{impactLevel}, %{severityLevel}, %{entityName}, %{eventType}, %{entityId}, %{startTime}, %{endTime}, %{commentCount}
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'problems-open'.
=back =back
=cut =cut