diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/icli | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -54,9 +54,6 @@ sub read_status_line { } when('servicestatus') { push(@{$data->{services}->{$cache->{host_name}}}, $cache); - if ($cache->{current_state} != 0) { - $extra->{$cache->{host_name}}->{service_problem} = 1; - } } when('contactstatus') { push(@{$data->{contacts}}, $cache); @@ -78,6 +75,17 @@ sub read_status { close($fh); } +sub enhance_status { + HOST: for my $h (keys %{$data->{services}}) { + for my $s (@{$data->{services}->{$h}}) { + if ($s->{current_state} != 0) { + $extra->{$h}->{service_problem} = 1; + next HOST; + } + } + } +} + sub service_state { my ($digit) = @_; given ($digit) { @@ -166,6 +174,7 @@ GetOptions( ); read_status(); +enhance_status(); if ($for_host) { if (have_host($for_host)) { |