├── .gitignore ├── Build.PL ├── COPYING ├── Changelog ├── README ├── bin └── icli ├── lib └── App │ └── Icli.pm └── t ├── 00-compile.t ├── 10-pod-coverage.t ├── 50-icli.at ├── in ├── objects.cache ├── status.dat ├── status.dat.weird.1 └── status.dat.weird.2 └── out ├── filter_.A.o ├── filter_.o ├── filter_.o.A.D ├── filter_A ├── filter_D ├── filter_S ├── filter_c ├── filter_u ├── filter_w ├── h_filter_.o ├── h_filter_S ├── h_filter_S.x.A ├── h_filter_d ├── h_filter_x ├── host_steel_steel ├── hosts_group_local ├── hosts_group_reduce ├── hosts_short ├── list_hosts ├── list_hosts_nc ├── list_hosts_v ├── list_services ├── list_services_nc ├── list_services_single ├── list_services_v ├── services_group_local ├── services_short └── standard /.gitignore: -------------------------------------------------------------------------------- 1 | /_build 2 | /Build 3 | /blib 4 | /cover_db/ 5 | /MANIFEST* 6 | /MYMETA.* 7 | -------------------------------------------------------------------------------- /Build.PL: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | 3 | use strict; 4 | use warnings; 5 | use Module::Build; 6 | 7 | 8 | # defaults at the end 9 | my @object_paths = ( 10 | '/var/cache/icinga2/objects.cache', 11 | '/var/cache/icinga/objects.cache', 12 | ); 13 | my @status_paths = ( 14 | '/var/cache/icinga2/status.dat', 15 | '/var/lib/icinga/status.dat', 16 | ); 17 | my @command_paths = ( 18 | '/var/run/icinga2/cmd/icinga.cmd', 19 | '/var/lib/icinga/rw/icinga.cmd', 20 | ); 21 | 22 | my $build = Module::Build->new( 23 | build_requires => { 24 | 'Test::More' => 0, 25 | 'Test::Compile' => "1.3.0", 26 | 'Test::Pod' => 0, 27 | 'Test::Command' => 0, 28 | }, 29 | configure_requires => { 30 | 'Module::Build' => 0.40, 31 | }, 32 | config_data => { 33 | object_file => '/var/cache/icinga/objects.cache', 34 | status_file => '/var/lib/icinga/status.dat', 35 | command_file => '/var/lib/icinga/rw/icinga.cmd', 36 | }, 37 | module_name => 'App::Icli', 38 | license => 'unrestricted', 39 | requires => { 40 | 'perl' => '5.10.0', 41 | 'Carp' => 0, 42 | 'DateTime' => 0, 43 | 'DateTime::Format::Strptime' => 0, 44 | 'DateTime::TimeZone' => 0, 45 | 'Getopt::Long' => 0, 46 | 'JSON' => 0, 47 | 'List::MoreUtils' => 0, 48 | 'LWP::UserAgent' => 0, 49 | 'Net::Netrc' => 0, 50 | 'POSIX' => 0, 51 | 'Term::ANSIColor' => 0, 52 | 'Term::Size' => 0, 53 | }, 54 | script_files => 'bin/', 55 | sign => 1, 56 | test_types => { 57 | author => '.at', 58 | }, 59 | meta_merge => { 60 | resources => { 61 | repository => 'https://github.com/derf/icli' 62 | } 63 | }, 64 | ); 65 | 66 | print <<'EOF'; 67 | 68 | ----------------------------------------------------------------------- 69 | 70 | Note: To work with an Icinga installation, icli needs to know the path to 71 | three files: 72 | * objects.cache (icinga.cfg object_cache_file) 73 | * status.dat (icinga.cfg status_file) 74 | * icinga.cmd (icinga.cfg command_file) 75 | 76 | If you are building interactively and the default values for these paths 77 | do not exist, you will be asked for them -- hit return to keep the default. 78 | In a non-interactive build, the defaults will be used (unless changed using 79 | an option, see below). 80 | 81 | If you need to set them regardless of the build host, do not wish to be 82 | promited at all, or are using a non-interactive build process (perhaps even 83 | for a whole distribution), you can set them using the following options: 84 | perl Build.PL --icli-object-file=.../objects.cache \ 85 | --icli-status-file=.../status.dat \ 86 | --icli-command-file=.../icinga.cmd 87 | 88 | ----------------------------------------------------------------------- 89 | 90 | EOF 91 | 92 | if ($build->args('icli-object-file')) { 93 | $build->config_data(object_file => $build->args('icli-object-file')); 94 | } 95 | else { 96 | for my $path (@object_paths) { 97 | if (not -e $build->config_data('object_file')) { 98 | $build->config_data(object_file => $path); 99 | } 100 | } 101 | if (not -e $build->config_data('object_file')) { 102 | my $reply = $build->prompt('Enter location of Icinga objects.cache', 103 | $build->config_data('object_file')); 104 | $build->config_data(object_file => $reply); 105 | } 106 | } 107 | 108 | if ($build->args('icli-status-file')) { 109 | $build->config_data(status_file => $build->args('icli-status-file')); 110 | } 111 | else { 112 | for my $path (@status_paths) { 113 | if (not -e $build->config_data('status_file')) { 114 | $build->config_data(status_file => $path); 115 | } 116 | } 117 | if (not -e $build->config_data('status_file')) { 118 | my $reply = $build->prompt('Enter location of Icinga status.dat', 119 | $build->config_data('status_file')); 120 | $build->config_data(status_file => $reply); 121 | } 122 | } 123 | 124 | if ($build->args('icli-command-file')) { 125 | $build->config_data(command_file => $build->args('icli-command-file')); 126 | } 127 | else { 128 | for my $path (@command_paths) { 129 | if (not -e $build->config_data('command_file')) { 130 | $build->config_data(command_file => $path); 131 | } 132 | } 133 | if (not -e $build->config_data('command_file')) { 134 | my $reply = $build->prompt('Enter location of Icinga command pipe', 135 | $build->config_data('command_file')); 136 | $build->config_data(command_file => $reply); 137 | } 138 | } 139 | 140 | $build->create_build_script(); 141 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | All files in this distribution are licensed under the following terms: 2 | 3 | 0. You just DO WHAT THE FUCK YOU WANT TO 4 | -------------------------------------------------------------------------------- /Changelog: -------------------------------------------------------------------------------- 1 | git HEAD 2 | 3 | * Do not throw warnings when encountering a host/service with an empty 4 | contact group list 5 | * Support -U user for hosts (-lh) as well 6 | 7 | App::Icli 0.48 - Fri Jun 13 2014 8 | 9 | * New dependencies: DateTime, DateTime::Format::Strptime, DateTime::TimeZone 10 | * NOT BACKWARDS COMPATIBLE: Add -a/--action option to invoke generic 11 | actions on selected services. This replaces -a/--acknowledge with 12 | -aa/ -a acknowledge, -r/--recheck with -ar / -a recheck and 13 | -u/--force-recheck wiht -aR / -a force_recheck 14 | * add -ad / -a downtime option to schedule host/service downtimes 15 | * Also show service downtimes when using -ld, improve its output 16 | * Show service comments when using -vvv 17 | * Rename package to App::Icli to avoid CPAN namespace conflicts 18 | 19 | icli 0.47 - Thu May 29 2014 20 | 21 | * Remove autodie dependency, improve error messages 22 | * Allow build-time specification of icinga paths 23 | (perl Build.PL --icli-xyz-file=..., see README) 24 | * Do not throw warnings when encountering empty contact groups 25 | * Do not require --recheck when using --force-recheck 26 | * Support --force-recheck with a host-only argument to immediately recheck 27 | all services on a host (closses #15) 28 | * Fix -lh not showing serviceless hosts (closes #14) 29 | 30 | icli 0.46 - Sun Sep 29 2013 31 | 32 | * Fix !o filter not matching pending services 33 | * Add p filter (pending hosts/services) 34 | * Show pending hosts/services with --overview 35 | * Remove Date::Format dependency (now uses POSIX::strftime) 36 | 37 | icli 0.45 - Tue Sep 17 2013 38 | 39 | * Fix --filter N and --filter !N 40 | * Ignore 'serviceescalation' field in the icinga status file 41 | * fix smartmatch warnings on perl >= 5.018 42 | 43 | icli 0.44 - Sat Mar 16 2013 44 | 45 | * Ignore 'module' field in the icinga status file 46 | * Add -o / --overview option to display a 'tactical overview'-style 47 | host and service listing 48 | 49 | icli 0.43 - Tue Aug 28 2012 50 | 51 | * Add missing documentation for -a / --acknowledge 52 | * Add -m / --match option to select on plugin output 53 | 54 | icli 0.42 - Fri Jun 01 2012 55 | 56 | * Add -U / --as-contact option to only operate on services visible to a 57 | certain contact 58 | * New dependency List::MoreUtils 59 | 60 | icli 0.41 - Sun Apr 15 2012 61 | 62 | * Add "icli host/service" as "icli -h host -s service" shortcut 63 | * Add -u / --force-recheck option (Patch by Hugh Brown) 64 | 65 | icli 0.4 - Mon Jan 31 2011 66 | 67 | * icli -vvv lists hosts/services with maximum verbosity 68 | * Acknowledging of host/service problems 69 | * Cut off or break long lines with -x (improves output readability) 70 | * Print long plugin output in -vv/-vvv (if available) 71 | * Fix -C (didn't remove all colours) 72 | 73 | icli 0.3 - Sun Nov 21 2010 74 | 75 | * Show service flags with -v -ls (acknowledged, flapping etc.) 76 | * Filter hosts/services by check state or various flags 77 | * icli -vv lists hosts/services in an even more detailed manner 78 | 79 | icli 0.2 - Mon Nov 08 2010 80 | 81 | * List downtimes and check queue 82 | * Reschedule service checks 83 | * Filter by host/hostgroup and/or service name 84 | 85 | icli 0.1 - Thu Jul 29 2010 86 | 87 | * First release 88 | * listing of service/host states, filtered by hosts/hostgroups 89 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | icli - Icinga Command Line Interface 2 | 3 | Requires: 4 | * A local icinga daemon + access to some of its files 5 | * perl v5.10 or newer with the following modules: 6 | * DateTime 7 | * DateTime::Format::Strptime 8 | * DateTime::TimeZone 9 | * List::MoreUtils 10 | * Term::Size 11 | 12 | Installation: 13 | 14 | > perl Build.PL 15 | > ./Build 16 | > sudo ./Build install 17 | 18 | You can then run 'man icli' for more information. 19 | 20 | Extra modules required for testing: 21 | * Test::More 22 | * Test::Compile 23 | * Test::Pod 24 | * Test::Command 25 | 26 | Note: To work with an Icinga installation, icli needs to know the path to 27 | three files: 28 | * objects.cache (icinga.cfg object_cache_file) 29 | * status.dat (icinga.cfg status_file) 30 | * icinga.cmd (icinga.cfg command_file) 31 | 32 | If you are building interactively and the default values for these paths 33 | do not exist, you will be asked for them -- hit return to keep the default. 34 | In a non-interactive build, the defaults will be used (unless changed using 35 | an option, see below). 36 | 37 | If you need to set them regardless of the build host, do not wish to be 38 | promited at all, or are using a non-interactive build process (perhaps even 39 | for a whole distribution), you can set them using the following options: 40 | 41 | > perl Build.PL --icli-object-file=.../objects.cache \ 42 | --icli-status-file=.../status.dat \ 43 | --icli-command-file=.../icinga.cmd 44 | 45 | http://finalrewind.org/projects/icli 46 | -------------------------------------------------------------------------------- /bin/icli: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | ## Copyright © 2010-2012 by Daniel Friesel 3 | ## License: WTFPL 4 | ## 0. You just DO WHAT THE FUCK YOU WANT TO. 5 | use strict; 6 | use warnings; 7 | use 5.010; 8 | 9 | no if $] >= 5.018, warnings => 'experimental::smartmatch'; 10 | 11 | use App::Icli::ConfigData; 12 | use Carp qw(croak); 13 | use DateTime; 14 | use DateTime::Format::Strptime; 15 | use DateTime::TimeZone; 16 | use Getopt::Long qw/:config bundling/; 17 | use JSON; 18 | use List::MoreUtils qw(any firstval); 19 | use LWP::UserAgent; 20 | use Net::Netrc; 21 | use POSIX qw(strftime); 22 | use Term::ANSIColor; 23 | use Term::Size; 24 | 25 | our $VERSION = '0.48'; 26 | 27 | my ( $cache, $config, $data, $extra ); 28 | my $config_file = App::Icli::ConfigData->config('object_file'); 29 | my $status_file = App::Icli::ConfigData->config('status_file'); 30 | my $rw_file = App::Icli::ConfigData->config('command_file'); 31 | my ( $api1_root, $ua ); 32 | my $realm = 'Icinga Access'; 33 | my $context; 34 | my $colours = 1; 35 | my $list_type = 's'; 36 | my $verbosity = 1; 37 | my $overview = 0; 38 | my $match_output = undef; 39 | my $action = undef; 40 | my $as_contact = undef; 41 | my $term_width = Term::Size::chars(); 42 | my $cut_mode = 'b'; 43 | my ( @for_hosts, @for_groups, @for_services, @list_hosts, @list_services ); 44 | my @action_args; 45 | my @filters; 46 | 47 | sub have_host { 48 | my ($host) = @_; 49 | if ( $list_type eq 's' ) { 50 | return exists $data->{services}->{$host}; 51 | } 52 | else { 53 | return exists $data->{hosts}->{$host}; 54 | } 55 | } 56 | 57 | sub have_service { 58 | my ( $host, $service ) = @_; 59 | 60 | foreach my $s ( @{ $data->{services}->{$host} } ) { 61 | if ( $s->{service_description} eq $service ) { 62 | return 1; 63 | } 64 | } 65 | return 0; 66 | } 67 | 68 | sub have_service_multi { 69 | my ( $host, @services ) = @_; 70 | 71 | foreach my $s (@services) { 72 | if ( have_service( $host, $s ) ) { 73 | return 1; 74 | } 75 | } 76 | return 0; 77 | } 78 | 79 | sub with_colour { 80 | my ( $text, $colour ) = @_; 81 | if ($colours) { 82 | return colored( $text, $colour ); 83 | } 84 | else { 85 | return $text; 86 | } 87 | } 88 | 89 | sub pretty_date { 90 | my ($unix) = @_; 91 | 92 | if ( $unix == 0 ) { 93 | return 'never'; 94 | } 95 | 96 | return strftime( '%Y-%m-%d %H:%M:%S', localtime($unix) ); 97 | } 98 | 99 | sub pretty_duration { 100 | my ($since) = @_; 101 | my $now = time(); 102 | my $dif = $now - $since; 103 | 104 | return pretty_duration_abs($dif); 105 | } 106 | 107 | sub pretty_duration_abs { 108 | my ($dif) = @_; 109 | 110 | return sprintf( '%dd %dh %dm %ds', 111 | int( $dif / ( 24 * 3600 ) ), 112 | int( ( $dif / 3600 ) % 24 ), 113 | int( ( $dif / 60 ) % 60 ), 114 | $dif % 60, ); 115 | } 116 | 117 | sub parse_duration { 118 | my ($raw) = @_; 119 | 120 | my %factors = ( 121 | s => 1, 122 | m => 60, 123 | h => 3_600, 124 | d => 86_400, 125 | w => 604_800, 126 | ); 127 | 128 | $raw =~ m{ ^ (? [.0-9]+ ) \s* (? [mhdw] )? $ }x 129 | or die( 130 | "Cannot parse '$raw' - must be a duration like '50s', '2m', '10h' or '1d'" 131 | ); 132 | 133 | if ( $+{unit} ) { 134 | return $+{value} * $factors{ $+{unit} }; 135 | } 136 | return $+{value}; 137 | } 138 | 139 | sub pretty_noyes { 140 | my ($bool) = @_; 141 | return ( 142 | $bool 143 | ? with_colour( 'YES', 'white on_red' ) 144 | : with_colour( 'NO', 'black on_green' ) 145 | ); 146 | } 147 | 148 | sub pretty_yesno { 149 | my ($bool) = @_; 150 | return ( 151 | $bool 152 | ? with_colour( 'YES', 'black on_green' ) 153 | : with_colour( 'NO', 'white on_red' ) 154 | ); 155 | } 156 | 157 | sub pretty_state { 158 | my ( $count, $state ) = @_; 159 | my $colour; 160 | 161 | given ($state) { 162 | when ('ok') { $colour = 'black on_green' } 163 | when ('warning') { $colour = 'black on_yellow' } 164 | when ('critical') { $colour = 'white on_red' } 165 | when ('unknown') { $colour = 'white on_blue' } 166 | } 167 | 168 | if ( $count == 0 ) { 169 | return q{ }; 170 | } 171 | if ($colour) { 172 | return with_colour( sprintf( '%4d', $count ), $colour ); 173 | } 174 | return sprintf( '%4d', $count ); 175 | } 176 | 177 | sub setup_ua { 178 | my ($url) = @_; 179 | my $m; 180 | 181 | $url =~ m{ 182 | ^ 183 | (?: (? [^:]+ ) :// )? 184 | (?: (? [^@]+ ) @ )? 185 | (? [^:/@]+ ) 186 | (?: : (? \d++ ) )? 187 | (? .* ) 188 | $ 189 | }x 190 | or die( "Cannot parse API url '$url'\n" 191 | . "This may be a bug. If you think so, please report it\n" ); 192 | 193 | my $proto = $+{proto} // 'http'; 194 | my $host = $+{host}; 195 | my $port = $+{port} // ( $proto eq 'http' ? 80 : 443 ); 196 | 197 | if ( $+{user} ) { 198 | $as_contact = $+{user}; 199 | } 200 | 201 | my $netrc_name = "$host:$port"; 202 | 203 | $ua = LWP::UserAgent->new( timeout => 5 ); 204 | 205 | $m = Net::Netrc->lookup( $netrc_name, $as_contact ) 206 | or warn( "Cannot find an entry for '$netrc_name' " 207 | . ( $as_contact ? "with login '$as_contact' " : q{} ) 208 | . "in ~/.netrc\n" ); 209 | 210 | if ($m) { 211 | $ua->credentials( $netrc_name, $realm, $m->login, $m->password ); 212 | } 213 | $ua->env_proxy; 214 | } 215 | 216 | sub split_by_words { 217 | my ( $str, $padding, $max_w ) = @_; 218 | my @words = split( / /, $str ); 219 | my @ret; 220 | 221 | while ( any { length($_) > $max_w } @words ) { 222 | for my $i ( 0 .. $#words ) { 223 | my $word = $words[$i]; 224 | 225 | if ( length($word) > $max_w ) { 226 | splice( 227 | @words, $i, 1, 228 | substr( $word, 0, $max_w ), 229 | substr( $word, $max_w ) 230 | ); 231 | last; 232 | } 233 | } 234 | } 235 | 236 | while (@words) { 237 | my $cur_str = q{}; 238 | my $tr_space = 0; 239 | while ( 240 | @words 241 | and 242 | ( ( length($cur_str) + length( $words[0] ) + $tr_space ) <= $max_w ) 243 | ) 244 | { 245 | if ($tr_space) { 246 | $cur_str .= q{ }; 247 | } 248 | else { 249 | $tr_space = 1; 250 | } 251 | $cur_str .= shift(@words); 252 | } 253 | if (@ret) { 254 | $cur_str = ( q{ } x $padding ) . $cur_str; 255 | } 256 | push( @ret, $cur_str ); 257 | } 258 | return @ret; 259 | } 260 | 261 | sub break_str { 262 | my ( $text, $waste ) = @_; 263 | my $cut = $term_width - $waste; 264 | 265 | if ( ( not defined $term_width ) 266 | or ( $term_width == 0 ) 267 | or ( $cut < 12 ) ) 268 | { 269 | return $text; 270 | } 271 | 272 | if ( $cut_mode eq 'c' ) { 273 | return substr( $text, 0, $cut ); 274 | } 275 | elsif ( $cut_mode eq 'b' ) { 276 | return join( "\n", split_by_words( $text, $waste, $cut ) ); 277 | } 278 | else { 279 | return $text; 280 | } 281 | } 282 | 283 | sub check_is_soft { 284 | my ($x) = @_; 285 | 286 | return ( $x->{'last_hard_state'} != $x->{'current_state'} ); 287 | } 288 | 289 | sub check_is_host_down { 290 | my ($s) = @_; 291 | 292 | return ( $data->{'hosts'}->{ $s->{'host_name'} }->{'current_state'} != 0 ); 293 | } 294 | 295 | sub filter_generic { 296 | my ($x) = @_; 297 | my $filters_unfulfilled = @filters; 298 | 299 | if ( $match_output and not $x->{plugin_output} =~ $match_output ) { 300 | return 0; 301 | } 302 | 303 | foreach my $f (@filters) { 304 | if ( 305 | ( $f eq 'A' and $x->{'problem_has_been_acknowledged'} ) 306 | or ( $f eq '!A' and not $x->{'problem_has_been_acknowledged'} ) 307 | or ( $f eq 'D' and check_is_host_down($x) ) 308 | or ( $f eq '!D' and not check_is_host_down($x) ) 309 | or ( $f eq 'F' and $x->{'is_flapping'} ) 310 | or ( $f eq '!F' and not $x->{'is_flapping'} ) 311 | or ( $f eq 'N' and not $x->{'notifications_enabled'} ) 312 | or ( $f eq '!N' and $x->{'notifications_enabled'} ) 313 | or ( $f eq 'P' 314 | and $x->{'passive_checks_enabled'} 315 | and not $x->{'active_checks_enabled'} ) 316 | or ( $f eq '!P' and $x->{'active_checks_enabled'} ) 317 | or ( $f eq 'S' and check_is_soft($x) ) 318 | or ( $f eq '!S' and not check_is_soft($x) ) 319 | or ( $f eq 'p' and $x->{'has_been_checked'} == 0 ) 320 | or ( $f eq '!p' and $x->{'has_been_checked'} != 0 ) 321 | or ( $f eq 'o' and $x->{'current_state'} == 0 ) 322 | or ( $f eq '!o' 323 | and 324 | ( $x->{'current_state'} != 0 or $x->{'has_been_checked'} == 0 ) 325 | ) 326 | or ( $f eq 'w' and $x->{'current_state'} == 1 ) 327 | or ( $f eq '!w' and $x->{'current_state'} != 1 ) 328 | or ( $f eq 'c' and $x->{'current_state'} == 2 ) 329 | or ( $f eq '!c' and $x->{'current_state'} != 2 ) 330 | or ( $f eq 'u' and $x->{'current_state'} == 3 ) 331 | or ( $f eq '!u' and $x->{'current_state'} != 3 ) 332 | or ( $f eq 'd' and $x->{'current_state'} == 1 ) 333 | or ( $f eq '!d' and $x->{'current_state'} != 1 ) 334 | or ( $f eq 'x' and $x->{'current_state'} == 2 ) 335 | or ( $f eq '!x' and $x->{'current_state'} != 2 ) 336 | or 337 | 338 | 0 # Terminator to ease adding new lines 339 | ) 340 | { 341 | $filters_unfulfilled--; 342 | } 343 | } 344 | 345 | if ($filters_unfulfilled) { 346 | return 0; 347 | } 348 | 349 | return 1; 350 | } 351 | 352 | sub filter_host { 353 | my ($h) = @_; 354 | 355 | if ( not filter_generic($h) ) { 356 | return 0; 357 | } 358 | 359 | if ( $as_contact 360 | and not host_has_contact( $h, $as_contact ) 361 | and not $api1_root ) 362 | { 363 | return 0; 364 | } 365 | 366 | return 1; 367 | } 368 | 369 | sub filter_service { 370 | my ($s) = @_; 371 | 372 | if ( not filter_generic($s) ) { 373 | return 0; 374 | } 375 | 376 | if ( @list_services 377 | and not( $s->{'service_description'} ~~ [@list_services] ) ) 378 | { 379 | return 0; 380 | } 381 | 382 | if ( $as_contact 383 | and not service_has_contact( $s, $as_contact ) 384 | and not $api1_root ) 385 | { 386 | return 0; 387 | } 388 | 389 | return 1; 390 | } 391 | 392 | sub host_has_contact { 393 | my ( $h, $contact ) = @_; 394 | 395 | my $conf_h = $config->{hosts}{ $h->{host_name} }; 396 | 397 | return any { $_ eq $contact } @{ $conf_h->{contacts} }; 398 | } 399 | 400 | sub service_has_contact { 401 | my ( $s, $contact ) = @_; 402 | 403 | my $conf_s 404 | = firstval { $_->{service_description} eq $s->{service_description} } 405 | @{ $config->{services}{ $s->{host_name} } }; 406 | 407 | return any { $_ eq $contact } @{ $conf_s->{contacts} }; 408 | } 409 | 410 | sub read_json { 411 | my ( $res, $ref ) = @_; 412 | 413 | my %statusmap = ( 414 | OK => 0, 415 | WARNING => 1, 416 | CRITICAL => 2, 417 | UNKNOWN => 3, 418 | UP => 0, 419 | DOWN => 1, 420 | UNREACHABLE => 2, 421 | PENDING => 0, 422 | ); 423 | 424 | my $json = from_json( $res->decoded_content ); 425 | 426 | if ( $json->{config}->{error} ) { 427 | warn( 'While reading ' . $res->request->uri . ":\n" ); 428 | warn( 'JSON API Error: ' . $json->{config}->{error}->{title} . "\n" ); 429 | warn( ' ' . $json->{config}->{error}->{text} . "\n" ); 430 | } 431 | 432 | if ( $json->{config}->{hosts} ) { 433 | for my $host ( @{ $json->{config}->{hosts} } ) { 434 | ${$ref}->{hosts}->{ $host->{host_name} } = $host; 435 | } 436 | } 437 | if ( $json->{config}->{hostgroups} ) { 438 | for my $group ( @{ $json->{config}->{hostgroups} } ) { 439 | ${$ref}->{hostgroups}->{ $group->{group_name} } = $group; 440 | } 441 | } 442 | if ( $json->{config}->{services} ) { 443 | for my $service ( @{ $json->{config}->{services} } ) { 444 | push( 445 | @{ ${$ref}->{services}->{ $service->{host_name} } }, 446 | $service 447 | ); 448 | } 449 | } 450 | if ( $json->{config}->{servicegroups} ) { 451 | for my $group ( @{ $json->{config}->{servicegroups} } ) { 452 | ${$ref}->{servicegroups}->{ $group->{group_name} } = $group; 453 | } 454 | } 455 | 456 | if ( $json->{status}->{host_status} ) { 457 | for my $host ( @{ $json->{status}->{host_status} } ) { 458 | 459 | $host->{has_been_checked} 460 | = ( $host->{status} eq 'PENDING' ? 0 : 1 ); 461 | $host->{current_state} = $statusmap{ $host->{status} }; 462 | $host->{plugin_output} = $host->{status_information}; 463 | $host->{long_plugin_output} = q{}; 464 | $host->{performance_data} = q{}; 465 | 466 | ( $host->{current_attempt}, $host->{max_attempts} ) 467 | = split( '/', $host->{attempts} ); 468 | 469 | ${$ref}->{hosts}->{ $host->{host_name} } = $host; 470 | } 471 | } 472 | if ( $json->{status}->{service_status} ) { 473 | for my $service ( @{ $json->{status}->{service_status} } ) { 474 | 475 | $service->{has_been_checked} 476 | = ( $service->{status} eq 'PENDING' ? 0 : 1 ); 477 | $service->{current_state} = $statusmap{ $service->{status} }; 478 | $service->{plugin_output} = $service->{status_information}; 479 | $service->{long_plugin_output} = q{}; 480 | $service->{performance_data} = q{}; 481 | 482 | ( $service->{current_attempt}, $service->{max_attempts} ) 483 | = split( '/', $service->{attempts} ); 484 | 485 | push( 486 | @{ ${$ref}->{services}->{ $service->{host_name} } }, 487 | $service 488 | ); 489 | } 490 | } 491 | } 492 | 493 | sub read_objects_line { 494 | my ( $line, $ref ) = @_; 495 | 496 | if ( $line =~ / ^ (?:define \s )? (? \w+) \s+ { /x ) { 497 | $context = $+{context}; 498 | } 499 | elsif ( $line =~ / ^ \t (? [^=\t]+ ) [=\t] \s* (? .*) $ /x ) { 500 | $cache->{ $+{key} } = $+{value}; 501 | } 502 | elsif ( $line =~ / ^ \t } $ /x ) { 503 | given ($context) { 504 | when ( [ 'info', 'programstatus' ] ) { 505 | ${$ref}->{$context} = $cache; 506 | } 507 | when ('hoststatus') { 508 | ${$ref}->{hosts}->{ $cache->{host_name} } = $cache; 509 | } 510 | when ('servicestatus') { 511 | push( 512 | @{ ${$ref}->{services}->{ $cache->{host_name} } }, 513 | $cache 514 | ); 515 | } 516 | when ('contactstatus') { 517 | push( @{ ${$ref}->{contacts} }, $cache ); 518 | } 519 | when ('hostdowntime') { 520 | push( @{ ${$ref}->{hostdowntimes} }, $cache ); 521 | } 522 | when ('servicedowntime') { 523 | push( @{ ${$ref}->{servicedowntimes} }, $cache ); 524 | } 525 | when ('hostgroup') { 526 | ${$ref}->{hostgroups}->{ $cache->{hostgroup_name} } = $cache; 527 | } 528 | when ('servicegroup') { 529 | ${$ref}->{servicegroups}->{ $cache->{servicegroup_name} } 530 | = $cache; 531 | } 532 | when ('hostcomment') { 533 | push( @{ ${$ref}->{hostcomments} }, $cache ); 534 | } 535 | when ('servicecomment') { 536 | push( @{ ${$ref}->{servicecomments} }, $cache ); 537 | } 538 | when ('host') { 539 | ${$ref}->{hosts}->{ $cache->{host_name} } = $cache; 540 | } 541 | when ('service') { 542 | push( 543 | @{ ${$ref}->{services}->{ $cache->{host_name} } }, 544 | $cache 545 | ); 546 | } 547 | when ('contactgroup') { 548 | ${$ref}->{contactgroups}->{ $cache->{contactgroup_name} } 549 | = [ split( m{, *}, $cache->{members} // q{} ) ]; 550 | } 551 | when ( 552 | [ 553 | qw[ 554 | timeperiod command contactgroup contact host service 555 | servicedependency serviceescalation module hostdependency 556 | ] 557 | ] 558 | ) 559 | { 560 | 561 | # skipped for now 562 | } 563 | default { 564 | warn("Unknown field in $status_file: $context\n"); 565 | } 566 | } 567 | $cache = undef; 568 | } 569 | } 570 | 571 | sub read_objects { 572 | my ( $file, $ref, $description, $opt ) = @_; 573 | 574 | open( my $fh, '<', $file ) 575 | or die( "Failed to read $description ($file): $!\n" 576 | . "Set $opt to change it\n" ); 577 | 578 | while ( my $line = <$fh> ) { 579 | chomp($line); 580 | read_objects_line( $line, $ref ); 581 | } 582 | 583 | close($fh) 584 | or warn("Failed to close $description ($file): $!\n"); 585 | } 586 | 587 | sub enhance_status { 588 | for my $c ( @{ $data->{servicecomments} } ) { 589 | my $service 590 | = firstval { $_->{service_description} eq $c->{service_description} } 591 | @{ $data->{services}->{ $c->{host_name} } }; 592 | push( @{ $service->{comments} }, $c ); 593 | } 594 | for my $c ( @{ $data->{hostcomments} } ) { 595 | push( @{ $data->{hosts}->{ $c->{host_name} }->{comments} }, $c ); 596 | } 597 | HOST: for my $h ( keys %{ $data->{services} } ) { 598 | for my $s ( @{ $data->{services}->{$h} } ) { 599 | if ( $s->{current_state} != 0 ) { 600 | $extra->{$h}->{service_problem} = 1; 601 | next HOST; 602 | } 603 | } 604 | } 605 | for my $h ( values %{ $config->{hosts} } ) { 606 | if ( $h->{contacts} ) { 607 | $h->{contacts} =~ s{^ *}{}o; 608 | $h->{contacts} = [ split( m{, *}, $h->{contacts} ) ]; 609 | } 610 | } 611 | HOST: for my $h ( keys %{ $config->{services} } ) { 612 | for my $s ( @{ $config->{services}->{$h} } ) { 613 | if ( $s->{contacts} ) { 614 | $s->{contacts} =~ s{^ *}{}o; 615 | $s->{contacts} = [ split( m{, *}, $s->{contacts} ) ]; 616 | } 617 | if ( $s->{contact_groups} ) { 618 | for my $group ( split( m{, *}, $s->{contact_groups} ) ) { 619 | push( 620 | @{ $s->{contacts} }, 621 | @{ $config->{contactgroups}{$group} } 622 | ); 623 | } 624 | } 625 | } 626 | } 627 | } 628 | 629 | sub parse_action { 630 | if ( not $action ) { 631 | return; 632 | } 633 | 634 | my @raw_args; 635 | 636 | my %actionmap = ( 637 | a => 'acknowledge', 638 | d => 'downtime', 639 | r => 'recheck', 640 | R => 'force_recheck', 641 | ); 642 | 643 | ( $action, @raw_args ) = split( /:/, $action ); 644 | @action_args = split( /,/, join( ':', @raw_args ) ); 645 | $list_type = q{}; 646 | 647 | if ( exists $actionmap{$action} ) { 648 | $action = $actionmap{$action}; 649 | } 650 | elsif ( length($action) <= 2 ) { 651 | say STDERR "Note: Action shortcut '${action}' is unknown"; 652 | } 653 | } 654 | 655 | sub compute_hostlist { 656 | for my $arg (@ARGV) { 657 | my ( $host, $service ) = split( qr{/}, $arg ); 658 | 659 | if ( not any { $host } @for_hosts ) { 660 | push( @for_hosts, $host ); 661 | } 662 | if ($service) { 663 | push( @for_services, $service ); 664 | } 665 | } 666 | 667 | foreach my $host (@for_hosts) { 668 | if ( not exists $data->{services}->{$host} ) { 669 | die("Unknown host: ${host}\n"); 670 | } 671 | } 672 | 673 | @list_hosts = @for_hosts; 674 | @list_services = @for_services; 675 | 676 | foreach my $group (@for_groups) { 677 | if ( not exists $config->{'hostgroups'}->{$group} ) { 678 | die("Unknown hostgroup: ${group}\n"); 679 | } 680 | foreach 681 | my $host ( split /,/, $config->{'hostgroups'}->{$group}->{'members'} ) 682 | { 683 | if ( not any { $_ eq $host } @list_hosts ) { 684 | push( @list_hosts, $host ); 685 | } 686 | } 687 | } 688 | 689 | if ( @list_hosts == 0 ) { 690 | @list_hosts = sort keys %{ $data->{hosts} }; 691 | } 692 | 693 | if (@list_services) { 694 | @list_hosts 695 | = grep { have_service_multi( $_, @list_services ) } @list_hosts; 696 | } 697 | 698 | if ( $list_type eq 'h' ) { 699 | @list_hosts 700 | = grep { filter_host( $data->{'hosts'}->{$_} ) } @list_hosts; 701 | } 702 | } 703 | 704 | sub service_state { 705 | my ($s) = @_; 706 | my $checked = $s->{has_been_checked}; 707 | my $digit = $s->{current_state}; 708 | 709 | if ( not $checked ) { 710 | return 'PENDING '; 711 | } 712 | 713 | given ($digit) { 714 | when (0) { return with_colour( ' OK ', 'black on_green' ) } 715 | when (1) { return with_colour( ' WARNING', 'black on_yellow' ) } 716 | when (2) { return with_colour( 'CRITICAL', 'white on_red' ) } 717 | when (3) { return with_colour( ' UNKNOWN', 'white on_blue' ) } 718 | default { croak("Unknown service state: $digit\n") } 719 | } 720 | } 721 | 722 | sub host_state { 723 | my ($h) = @_; 724 | my $checked = $h->{has_been_checked}; 725 | my $digit = $h->{current_state}; 726 | 727 | if ( not $checked ) { 728 | return ' PENDING '; 729 | } 730 | 731 | given ($digit) { 732 | when (0) { return with_colour( ' OK ', 'black on_green' ) } 733 | when (1) { return with_colour( ' DOWN ', 'white on_red' ) } 734 | when (2) { return with_colour( 'UNREACHABLE', 'white on_blue' ) } 735 | default { croak("Unknown host state: $digit\n") } 736 | } 737 | } 738 | 739 | sub display_queue { 740 | my @queue = map { $_->[0] } 741 | sort { $a->[1] <=> $b->[1] } 742 | map { [ $_, $_->{next_check} ] } ( 743 | values %{ $data->{hosts} }, 744 | map { @{$_} } values %{ $data->{services} } 745 | ); 746 | 747 | @queue = grep { $_->{host_name} ~~ \@list_hosts } @queue; 748 | if ($as_contact) { 749 | @queue = grep { 750 | exists $_->{service_description} 751 | ? service_has_contact( $_, $as_contact ) 752 | : host_has_contact( $_, $as_contact ) 753 | } @queue; 754 | } 755 | 756 | if (@list_services) { 757 | @queue = grep { $_->{service_description} ~~ \@list_services } @queue; 758 | if ($as_contact) { 759 | @queue = grep { host_has_contact( $_, $as_contact ) } @queue; 760 | } 761 | } 762 | 763 | printf( "%-25.25s %-20.20s %-19s %-19s\n", 764 | 'Host', 'Service', 'Last Check', 'Next Check', ); 765 | 766 | for my $e (@queue) { 767 | 768 | if ( $e->{next_check} == 0 ) { 769 | next; 770 | } 771 | 772 | printf( 773 | "%-25.25s %-20.20s %-19s %-19s\n", 774 | $e->{host_name}, 775 | $e->{service_description} // q{}, 776 | pretty_date( $e->{last_check} ), 777 | pretty_date( $e->{next_check} ), 778 | ); 779 | } 780 | } 781 | 782 | sub display_downtime { 783 | my ($d) = @_; 784 | my $v = $verbosity; 785 | my $format = "%-10s : %s\n"; 786 | 787 | if ( $v > 2 ) { 788 | printf( $format, 'Host', $d->{host_name} ); 789 | if ( $d->{service_description} ) { 790 | printf( $format, 'Service', $d->{service_description} ); 791 | } 792 | printf( $format, 793 | 'Start', 794 | $d->{is_in_effect} 795 | ? with_colour( pretty_date( $d->{start_time} ), 'bold' ) 796 | : pretty_date( $d->{start_time} ) ); 797 | printf( $format, 798 | 'End', 799 | $d->{is_in_effect} 800 | ? with_colour( pretty_date( $d->{end_time} ), 'bold' ) 801 | : pretty_date( $d->{end_time} ) ); 802 | printf( $format, 803 | 'Duration', 804 | $d->{fixed} ? 'Fixed' : pretty_duration_abs( $d->{duration} ) ); 805 | if ( $v > 3 ) { 806 | printf( $format, 'ID', $d->{downtime_id} ); 807 | if ( $d->{trigger_time} ) { 808 | printf( $format, 809 | 'Trigger', 810 | $d->{triggered_by} 811 | . ' (active since ' 812 | . pretty_date( $d->{trigger_time} ) 813 | . ')' ); 814 | } 815 | else { 816 | printf( $format, 'Trigger', $d->{triggered_by} || 'None' ); 817 | } 818 | } 819 | printf( $format, 'Author', $d->{author} ); 820 | printf( $format, 'Comment', break_str( $d->{comment}, 19 ) ); 821 | } 822 | else { 823 | 824 | if ( $d->{service_description} ) { 825 | printf( '%-25.25s %-25.25s', 826 | $d->{'host_name'}, $d->{service_description} ); 827 | } 828 | else { 829 | printf( '%-25.25s', $d->{'host_name'} ); 830 | } 831 | 832 | if ( $v >= 3 ) { 833 | printf( ' %s %-10.10s', 834 | pretty_date( $d->{'entry_time'} ), 835 | $d->{'author'}, ); 836 | } 837 | if ( $d->{is_in_effect} ) { 838 | printf( ' %-28s %-28s', 839 | with_colour( pretty_date( $d->{'start_time'} ), 'bold' ), 840 | with_colour( pretty_date( $d->{'end_time'} ), 'bold' ), 841 | ); 842 | } 843 | else { 844 | printf( 845 | ' %-20.20s %-20.20s', 846 | pretty_date( $d->{'start_time'} ), 847 | pretty_date( $d->{'end_time'} ), 848 | ); 849 | } 850 | if ( $v >= 2 ) { 851 | printf( '%-17.17s', 852 | $d->{'fixed'} 853 | ? ' Fixed' 854 | : q{ } . pretty_duration_abs( $d->{duration} ) ); 855 | } 856 | if ( $v >= 2 ) { 857 | print( $d->{comment} ); 858 | } 859 | } 860 | 861 | print "\n"; 862 | } 863 | 864 | sub display_x_verbose { 865 | my ( $x, $format ) = @_; 866 | my $v = $verbosity; 867 | 868 | if ( $v > 2 ) { 869 | printf( $format, 'Host', $x->{'host_name'}, ); 870 | if ( $x->{'service_description'} ) { 871 | printf( $format, 'Service', $x->{'service_description'}, ); 872 | printf( 873 | "%-16s : %s (for %s)%s\n", 874 | 'Status', 875 | service_state($x), 876 | pretty_duration( $x->{'last_state_change'} ), 877 | ( 878 | $x->{'problem_has_been_acknowledged'} 879 | ? ' (Acknowledged)' 880 | : q{} 881 | ), 882 | ); 883 | } 884 | else { 885 | printf( 886 | "%-16s : %s (for %s)%s\n", 887 | 'Status', 888 | host_state($x), 889 | pretty_duration( $x->{'last_state_change'} ), 890 | ( 891 | $x->{'problem_has_been_acknowledged'} 892 | ? ' (Acknowledged)' 893 | : q{} 894 | ), 895 | ); 896 | } 897 | 898 | printf( $format, 899 | 'Plugin Output', 900 | break_str( $x->{'plugin_output'}, 19 ), 901 | ); 902 | for my $line ( split( qr{\\n}, $x->{'long_plugin_output'} ) ) { 903 | printf( $format, q{}, break_str( $line, 19 ), ); 904 | } 905 | printf( $format, 'Performance Data', $x->{'performance_data'}, ); 906 | printf( "%-16s : %d/%d\n", 907 | 'Current Attempt', 908 | $x->{'current_attempt'}, 909 | $x->{'max_attempts'}, ); 910 | printf( $format, 'Last Check Time', pretty_date( $x->{'last_check'} ), 911 | ); 912 | printf( $format, 'Next Check', pretty_date( $x->{'next_check'} ), ); 913 | printf( 914 | "%-16s : %s (%.1f%% state change)\n", 915 | 'Flapping', 916 | pretty_noyes( $x->{'is_flapping'} ), 917 | $x->{'percent_state_change'}, 918 | ); 919 | } 920 | if ( $v > 3 ) { 921 | printf( $format, 922 | 'Check Type', ( $x->{'check_type'} ? 'PASSIVE' : 'ACTIVE' ), 923 | ); 924 | printf( 925 | "%-16s : %5.3fs\n%-16s : %5.3fs\n", 926 | 'Check Latency', $x->{'check_latency'}, 927 | 'Check Duration', $x->{'check_execution_time'}, 928 | ); 929 | if ( $x->{'service_description'} ) { 930 | printf( 931 | "%-16s : o %s w %s c %s u %s\n", 932 | 'Last State Times', 933 | pretty_date( $x->{'last_time_ok'} ), 934 | pretty_date( $x->{'last_time_warning'} ), 935 | pretty_date( $x->{'last_time_critical'} ), 936 | pretty_date( $x->{'last_time_unknown'} ), 937 | ); 938 | } 939 | else { 940 | printf( 941 | "%-16s : o %s d %s u %s\n", 942 | 'Last State Times', 943 | pretty_date( $x->{'last_time_up'} ), 944 | pretty_date( $x->{'last_time_down'} ), 945 | pretty_date( $x->{'last_time_unreachable'} ), 946 | ); 947 | } 948 | printf( $format, 'In Downtime', 'FIXME' ); 949 | printf( $format, 950 | 'Active Checks', 951 | pretty_yesno( $x->{'active_checks_enabled'} ), 952 | ); 953 | printf( $format, 954 | 'Passive Checks', 955 | pretty_yesno( $x->{'passive_checks_enabled'} ), 956 | ); 957 | printf( $format, 958 | 'Obsessing', 959 | pretty_yesno( 960 | $x->{'service_description'} 961 | ? $x->{'obsess_over_service'} 962 | : $x->{'obsess_over_host'} 963 | ), 964 | ); 965 | printf( $format, 966 | 'Notifications', pretty_yesno( $x->{'notifications_enabled'} ), 967 | ); 968 | printf( $format, 969 | 'Event Handler', 970 | pretty_yesno( $x->{'event_handler_enabled'} ), 971 | ); 972 | printf( $format, 973 | 'Flap Detection', 974 | pretty_yesno( $x->{'flap_detection_enabled'} ), 975 | ); 976 | 977 | for my $c ( @{ $x->{comments} // [] } ) { 978 | printf( $format, 'Comment', break_str( $c->{comment_data}, 19 ) ); 979 | } 980 | } 981 | } 982 | 983 | sub display_service { 984 | my ( $s, $tab ) = @_; 985 | 986 | my $v = $verbosity; 987 | my $flags = q{}; 988 | my $format = "%-16s : %s\n"; 989 | my $n_width; 990 | 991 | if ( $v < 3 ) { 992 | 993 | $n_width = 20 + 8 + 2; 994 | if ($tab) { 995 | $n_width += 8; 996 | } 997 | 998 | printf( '%-20.20s', $s->{service_description} ); 999 | 1000 | if ( $v >= 2 ) { 1001 | $n_width += 5; 1002 | 1003 | if ( $s->{'problem_has_been_acknowledged'} ) { 1004 | $flags .= 'A'; 1005 | } 1006 | if ( $s->{'is_flapping'} ) { 1007 | $flags .= 'F'; 1008 | } 1009 | if ( $s->{'notifications_enabled'} == 0 ) { 1010 | $flags .= 'N'; 1011 | } 1012 | if ( $s->{'active_checks_enabled'} == 0 1013 | and $s->{'passive_checks_enabled'} == 1 ) 1014 | { 1015 | $flags .= 'P'; 1016 | } 1017 | if ( 1018 | not( $s->{'active_checks_enabled'} 1019 | or $s->{'passive_checks_enabled'} ) 1020 | ) 1021 | { 1022 | $flags .= '!'; 1023 | } 1024 | 1025 | $flags = sprintf( ' %-3s', $flags ); 1026 | print with_colour( $flags, 'bold' ); 1027 | } 1028 | 1029 | printf( ' %s', service_state($s) ); 1030 | 1031 | if ( $v >= 2 ) { 1032 | printf( ' %d/%d', $s->{'current_attempt'}, $s->{'max_attempts'} ); 1033 | $n_width += 4; 1034 | } 1035 | 1036 | print q{ }; 1037 | 1038 | print break_str( $s->{plugin_output}, $n_width ); 1039 | 1040 | } 1041 | else { 1042 | display_x_verbose( $s, $format ); 1043 | } 1044 | print "\n"; 1045 | 1046 | } 1047 | 1048 | sub display_host_services { 1049 | my ( $host, $all ) = @_; 1050 | my @services; 1051 | my $h = $data->{hosts}->{$host}; 1052 | 1053 | @services = grep { filter_service($_) } @{ $data->{'services'}->{$host} }; 1054 | 1055 | if ( $all and @services and $verbosity < 3 ) { 1056 | 1057 | print "\n$host"; 1058 | 1059 | if ( $h->{'current_state'} ) { 1060 | print q{ }; 1061 | } 1062 | if ( $h->{'current_state'} == 1 ) { 1063 | print with_colour( 'DOWN', 'white on_red' ); 1064 | } 1065 | elsif ( $h->{'current_state'} == 2 ) { 1066 | print with_colour( 'UNREACHABLE', 'white on_blue' ); 1067 | } 1068 | 1069 | print "\n"; 1070 | } 1071 | 1072 | foreach my $service (@services) { 1073 | 1074 | if ( $all and $verbosity < 3 ) { 1075 | print "\t"; 1076 | } 1077 | elsif ($all) { 1078 | print "\n"; 1079 | } 1080 | 1081 | display_service( $service, $all ); 1082 | } 1083 | } 1084 | 1085 | sub display_host_single { 1086 | my ($host) = @_; 1087 | my $format = "%-16s : %s\n"; 1088 | my $h = $data->{hosts}->{$host}; 1089 | my $v = $verbosity; 1090 | 1091 | if ( $v < 3 ) { 1092 | 1093 | printf( '%-32.32s %s', $h->{host_name}, host_state($h) ); 1094 | 1095 | if ( $v >= 2 ) { 1096 | printf( ' %d/%d', $h->{'current_attempt'}, $h->{'max_attempts'} ); 1097 | } 1098 | 1099 | printf( ' %s', $h->{'plugin_output'} ); 1100 | } 1101 | else { 1102 | display_x_verbose( $h, $format ); 1103 | } 1104 | print "\n"; 1105 | 1106 | } 1107 | 1108 | sub display_host { 1109 | my ( $host, $all ) = @_; 1110 | 1111 | if ( $list_type eq 'h' ) { 1112 | display_host_single($host); 1113 | } 1114 | else { 1115 | display_host_services( $host, $all ); 1116 | } 1117 | } 1118 | 1119 | sub display_host_overview { 1120 | my ($host) = @_; 1121 | my ( $ok, $warn, $crit, $unk, $pend ) = (0) x 5; 1122 | my $h = $data->{hosts}->{$host}; 1123 | 1124 | my @services = grep { filter_service($_) } @{ $data->{services}->{$host} }; 1125 | 1126 | for my $s (@services) { 1127 | if ( $s->{has_been_checked} == 0 ) { 1128 | $pend++; 1129 | } 1130 | else { 1131 | given ( $s->{current_state} ) { 1132 | when (0) { $ok++ } 1133 | when (1) { $warn++ } 1134 | when (2) { $crit++ } 1135 | when (3) { $unk++ } 1136 | } 1137 | } 1138 | } 1139 | 1140 | printf( '%-32.32s %s', $h->{host_name}, host_state($h) ); 1141 | 1142 | printf( 1143 | ' %s %s %s %s %s', 1144 | pretty_state( $ok, 'ok' ), 1145 | pretty_state( $warn, 'warning' ), 1146 | pretty_state( $crit, 'critical' ), 1147 | pretty_state( $unk, 'unknown' ), 1148 | pretty_state( $pend, 'pending' ), 1149 | ); 1150 | 1151 | print "\n"; 1152 | } 1153 | 1154 | sub display_overview { 1155 | my ( $h_ok, $h_d, $h_u, $h_p, $s_ok, $s_w, $s_c, $s_u, $s_p ) = (0) x 9; 1156 | 1157 | for my $h (@list_hosts) { 1158 | if ( $data->{hosts}{$h}{has_been_checked} == 0 ) { 1159 | $h_p++; 1160 | } 1161 | else { 1162 | given ( $data->{hosts}{$h}{current_state} ) { 1163 | when (0) { $h_ok++ } 1164 | when (1) { $h_d++ } 1165 | when (2) { $h_u++ } 1166 | } 1167 | } 1168 | for my $s ( grep { filter_service($_) } @{ $data->{services}{$h} } ) { 1169 | if ( $s->{has_been_checked} == 0 ) { 1170 | $s_p++; 1171 | } 1172 | else { 1173 | given ( $s->{current_state} ) { 1174 | when (0) { $s_ok++ } 1175 | when (1) { $s_w++ } 1176 | when (2) { $s_c++ } 1177 | when (3) { $s_u++ } 1178 | } 1179 | } 1180 | } 1181 | } 1182 | 1183 | printf( "%-16.16s %4s\n", 'total hosts', $h_ok + $h_d + $h_u ); 1184 | printf( "%-16.16s %s\n", 'up', pretty_state( $h_ok, 'ok' ) ); 1185 | printf( "%-16.16s %s\n", 'down', pretty_state( $h_d, 'critical' ) ); 1186 | printf( "%-16.16s %s\n", 'unreachable', pretty_state( $h_u, 'unknown' ) ); 1187 | printf( "%-16.16s %s\n", 'pending', pretty_state( $h_p, 'pending' ) ); 1188 | print "\n"; 1189 | printf( "%-16.16s %4s\n", 'total services', $s_ok + $s_w + $s_c + $s_u ); 1190 | printf( "%-16.16s %s\n", 'ok', pretty_state( $s_ok, 'ok' ) ); 1191 | printf( "%-16.16s %s\n", 'warning', pretty_state( $s_w, 'warning' ) ); 1192 | printf( "%-16.16s %s\n", 'critical', pretty_state( $s_c, 'critical' ) ); 1193 | printf( "%-16.16s %s\n", 'unknown', pretty_state( $s_u, 'unknown' ) ); 1194 | printf( "%-16.16s %s\n", 'pending', pretty_state( $s_p, 'pending' ) ); 1195 | } 1196 | 1197 | sub dispatch_command { 1198 | my $str = join( ';', @_ ) . "\n"; 1199 | 1200 | open( my $cmd_fh, '>', $rw_file ) 1201 | or die( "Failed to open icinga command file ($rw_file): $!\n" 1202 | . "Set --rw-file to change it\n" ); 1203 | printf $cmd_fh ( '[%d] %s', time(), $str, ); 1204 | close($cmd_fh) 1205 | or warn("Failed to close $rw_file: $!\n"); 1206 | } 1207 | 1208 | sub action_on_host { 1209 | my ($host) = @_; 1210 | 1211 | my $tz = DateTime::TimeZone->new( name => 'local' ); 1212 | 1213 | given ($action) { 1214 | when ('downtime') { 1215 | my ( $start, $end, $duration, $comment, @opts ) = @action_args; 1216 | my $strp = DateTime::Format::Strptime->new( 1217 | pattern => '%Y-%m-%dT%H:%M:%S', 1218 | time_zone => $tz->name, 1219 | ); 1220 | 1221 | my $dt_start = $strp->parse_datetime($start); 1222 | my $dt_end = $strp->parse_datetime($end); 1223 | my $fixed = $duration ? 0 : 1; 1224 | my $command = 'SCHEDULE_HOST_DOWNTIME'; 1225 | my $addendum = q{}; 1226 | 1227 | $duration = parse_duration($duration); 1228 | 1229 | if ( 'children' ~~ \@opts ) { 1230 | $command = 'SCHEDULE_AND_PROPAGATE_HOST_DOWNTIME'; 1231 | $addendum = ' and its children'; 1232 | } 1233 | if ( 'trigger_children' ~~ \@opts ) { 1234 | $command = 'SCHEDULE_AND_PROPAGATE_TRIGGERED_HOST_DOWNTIME'; 1235 | $addendum = ' and its children (triggered)'; 1236 | } 1237 | 1238 | dispatch_command( $command, $host, $dt_start->epoch, $dt_end->epoch, 1239 | $fixed, 0, $duration, 'cli', $comment ); 1240 | say "Scheduled host downtime for '$host'$addendum"; 1241 | } 1242 | when ('recheck') { 1243 | dispatch_command( 'SCHEDULE_HOST_SVC_CHECKS', $host, time() ); 1244 | say "Scheduled check of * on '$host'"; 1245 | } 1246 | when ('force_recheck') { 1247 | dispatch_command( 'SCHEDULE_FORCED_HOST_SVC_CHECKS', $host, 1248 | time() ); 1249 | say "Scheduled forced check of * on '$host'"; 1250 | } 1251 | default { 1252 | say STDERR "Cannot run action '${action}' on a host" 1253 | } 1254 | } 1255 | } 1256 | 1257 | sub action_on_service { 1258 | my ( $host, $service ) = @_; 1259 | 1260 | if ( not have_service( $host, $service ) ) { 1261 | return; 1262 | } 1263 | 1264 | my $tz = DateTime::TimeZone->new( name => 'local' ); 1265 | 1266 | given ($action) { 1267 | when ('downtime') { 1268 | my ( $start, $end, $duration, $comment, @opts ) = @action_args; 1269 | my $strp = DateTime::Format::Strptime->new( 1270 | pattern => '%Y-%m-%dT%H:%M:%S', 1271 | time_zone => $tz->name, 1272 | ); 1273 | 1274 | my $dt_start = $strp->parse_datetime($start); 1275 | my $dt_end = $strp->parse_datetime($end); 1276 | my $fixed = $duration ? 0 : 1; 1277 | 1278 | $duration = parse_duration($duration); 1279 | 1280 | dispatch_command( 'SCHEDULE_SVC_DOWNTIME', $host, $service, 1281 | $dt_start->epoch, $dt_end->epoch, 1282 | $fixed, 0, $duration, 'cli', $comment ); 1283 | say "Scheduled service downtime for '$service' on '$host'"; 1284 | } 1285 | when ('recheck') { 1286 | dispatch_command( 'SCHEDULE_SVC_CHECK', $host, $service, time() ); 1287 | say "Scheduled check of '$service' on '$host'"; 1288 | } 1289 | when ('force_recheck') { 1290 | dispatch_command( 'SCHEDULE_FORCED_SVC_CHECK', $host, $service, 1291 | time() ); 1292 | say "Scheduled forced check of '$service' on '$host'"; 1293 | } 1294 | when ('acknowledge') { 1295 | dispatch_command( 'ACKNOWLEDGE_SVC_PROBLEM', $host, $service, 2, 1, 1296 | 1, 'cli', $action_args[0] ); 1297 | say "Acknowledged $host/$service: $action_args[0]"; 1298 | } 1299 | default { 1300 | say STDERR "Cannot run action '${action}' on a service" 1301 | } 1302 | } 1303 | } 1304 | 1305 | GetOptions( 1306 | 'api1=s' => \$api1_root, 1307 | 'a|action=s' => \$action, 1308 | 'c|config=s' => \$config_file, 1309 | 'C|no-colours' => sub { $colours = 0 }, 1310 | 'f|status-file=s' => \$status_file, 1311 | 'F|rw-file=s' => \$rw_file, 1312 | 'g|hostgroup=s' => sub { push( @for_groups, split( /,/, $_[1] ) ) }, 1313 | 'h|host=s' => sub { push( @for_hosts, split( /,/, $_[1] ) ) }, 1314 | 'l|list=s' => sub { $list_type = substr( $_[1], 0, 1 ) }, 1315 | 'm|match=s' => sub { $match_output = qr{$_[1]}i }, 1316 | 'o|overview' => \$overview, 1317 | 'realm=s' => \$realm, 1318 | 's|service=s' => sub { push( @for_services, split( /,/, $_[1] ) ) }, 1319 | 'U|as-contact=s' => \$as_contact, 1320 | 'v|verbose+' => \$verbosity, 1321 | 'V|version' => sub { say "icli version $VERSION"; exit 0 }, 1322 | 'x|cut-mode=s' => sub { $cut_mode = substr( $_[1], 0, 1 ) }, 1323 | 'z|filter=s' => sub { push( @filters, split( /,/, $_[1] ) ) }, 1324 | ) or die("Please see perldoc -F $0 for help\n"); 1325 | 1326 | if ($api1_root) { 1327 | setup_ua($api1_root); 1328 | 1329 | my $config_url = "$api1_root/config.cgi?jsonoutput&type=all"; 1330 | my $hdata_url = "$api1_root/status.cgi?jsonoutput&style=hostdetail"; 1331 | my $sdata_url = "$api1_root/status.cgi?jsonoutput"; 1332 | 1333 | my $config_res = $ua->get($config_url); 1334 | my $hdata_res = $ua->get($hdata_url); 1335 | my $sdata_res = $ua->get($sdata_url); 1336 | 1337 | for my $request ( 1338 | [ $config_url, $config_res ], 1339 | [ $hdata_url, $hdata_res ], 1340 | [ $sdata_url, $sdata_res ] 1341 | ) 1342 | { 1343 | my ( $url, $res ) = @{$request}; 1344 | if ( $res->is_error ) { 1345 | die( "Error while requesting $url\nError description:\n\n" 1346 | . $res->as_string ); 1347 | } 1348 | } 1349 | 1350 | read_json( $config_res, \$config ); 1351 | read_json( $hdata_res, \$data ); 1352 | read_json( $sdata_res, \$data ); 1353 | } 1354 | else { 1355 | read_objects( $status_file, \$data, 'icinga status_file', '--status-file' ); 1356 | read_objects( $config_file, \$config, 'icinga object_cache_file', 1357 | '--config' ); 1358 | } 1359 | 1360 | enhance_status(); 1361 | parse_action(); 1362 | compute_hostlist(); 1363 | 1364 | if ($overview) { 1365 | if ( $list_type eq 'h' ) { 1366 | for my $host (@list_hosts) { 1367 | display_host_overview($host); 1368 | } 1369 | } 1370 | else { 1371 | display_overview(); 1372 | } 1373 | } 1374 | elsif ( $list_type ~~ [qw[s h]] ) { 1375 | for my $host (@list_hosts) { 1376 | display_host( $host, ( @list_hosts > 1 ) ); 1377 | } 1378 | } 1379 | elsif ( $list_type eq 'q' ) { 1380 | display_queue(); 1381 | } 1382 | elsif ( $list_type eq 'd' ) { 1383 | if ( exists $data->{hostdowntimes} ) { 1384 | say 'Host downtimes:'; 1385 | if ( $verbosity == 1 ) { 1386 | printf( "%-25.25s %-20.20s %-20.20s\n", 'Host', 'start', 'stop' ); 1387 | } 1388 | elsif ( $verbosity == 2 ) { 1389 | printf( "%-25.25s %-20.20s %-20.20s %-17.17s %s\n", 1390 | 'Host', 'start', 'stop', 'duration', 'comment' ); 1391 | } 1392 | foreach my $downtime ( @{ $data->{hostdowntimes} } ) { 1393 | display_downtime($downtime); 1394 | } 1395 | } 1396 | else { 1397 | say 'No host downtimes'; 1398 | } 1399 | if ( exists $data->{servicedowntimes} ) { 1400 | say "\nService downtimes:"; 1401 | if ( $verbosity == 1 ) { 1402 | printf( "%-25.25s %-25.25s %-20.20s %-20.20s\n", 1403 | 'Host', 'Service', 'start', 'stop' ); 1404 | } 1405 | elsif ( $verbosity == 2 ) { 1406 | printf( "%-25.25s %-25.25s %-20.20s %-20.20s %-17.17s %s\n", 1407 | 'Host', 'Service', 'start', 'stop', 'duration', 'comment' ); 1408 | } 1409 | foreach my $downtime ( @{ $data->{servicedowntimes} } ) { 1410 | display_downtime($downtime); 1411 | } 1412 | } 1413 | else { 1414 | say "\nNo service downtimes"; 1415 | } 1416 | } 1417 | elsif ($action) { 1418 | 1419 | foreach my $host (@list_hosts) { 1420 | if ( not @list_services and not @filters ) { 1421 | action_on_host($host); 1422 | } 1423 | elsif ( not @list_services and @filters ) { 1424 | foreach my $service ( grep { filter_service($_) } 1425 | @{ $data->{'services'}->{$host} } ) 1426 | { 1427 | action_on_service( $host, $service->{'service_description'} ); 1428 | } 1429 | } 1430 | else { 1431 | foreach my $service (@list_services) { 1432 | action_on_service( $host, $service ); 1433 | } 1434 | } 1435 | } 1436 | } 1437 | else { 1438 | die("See perldoc -F $0\n"); 1439 | } 1440 | 1441 | __END__ 1442 | 1443 | =head1 NAME 1444 | 1445 | B - Icinga Command Line Interface 1446 | 1447 | =head1 SYNOPSIS 1448 | 1449 | B [B<-v>|B<-vv>|B<-vvv>] [B<-z> I] [B<-h> I] [B<-g> I] 1450 | [B<-s> I] [B<-c> I] [B<-C>] [B<-f> I] 1451 | [B<-F> I] [B<-lh>|B<-ls>|B<-lq>|B<-ld>] [B<-a> I[B<:>I]] 1452 | [I/I I<...>] 1453 | 1454 | =head1 VERSION 1455 | 1456 | version 0.48 1457 | 1458 | =head1 DESCRIPTION 1459 | 1460 | B is a command line interface to B. By default it lists all 1461 | services and their states. 1462 | 1463 | Note that when supplying custom config and status file paths, B also 1464 | works with B. 100% compatibility is not guaranteed, however. 1465 | 1466 | B only works when executed on the host running the B daemon. To 1467 | use it on another host, shell aliases (like C<< alias icli='ssh $icingahost 1468 | icli' >>) or similar are recommended. 1469 | 1470 | You can narrow down the list of services you want displayed either using 1471 | B (like C<< icli -z!o >>), the B<-h>/B<-s> arguments (C<< icli -h 1472 | aneurysm -s Libraries,Websites >>) or commandline args (C<< icli 1473 | aneurysm/{Libraries,Websites} >> with shell expansion). 1474 | 1475 | =head1 OPTIONS 1476 | 1477 | =over 1478 | 1479 | =item B<-a>|B<--action> I[:I] 1480 | 1481 | Run I on all matching hosts or services. I is a comma-separated 1482 | list of action arguments and depends on the action in question. I may 1483 | also be a one or two letter shortcut. 1484 | 1485 | The following actions are supported: 1486 | 1487 | =over 1488 | 1489 | =item a|acknowledge I 1490 | 1491 | Acknowledge service problems with string I. This creates a sticky 1492 | acknwoledgment with notification and no expire time. The comment will not be 1493 | persistent. 1494 | 1495 | Note: Acknowledgement of host problems is not yet supported. 1496 | 1497 | =item d|downtime I,I,I,I[,I] 1498 | 1499 | Schedule a non-triggered host or service (depending on the filter arguments) 1500 | downtime. I and I are timestamps and must be formatted as 1501 | YYYY-MM-DDTHH:MM:SS, where the "T" is literal. The timestamp is assumed to 1502 | be in the same time zone as the system running icli. 1503 | 1504 | If I is 0 (zero), a fixed downtime between I and I 1505 | is scheduled. Otherwise, a flexible downtime which will start between 1506 | I and I and last I is scheduled. In this case, 1507 | I must be a real number appended with an optional unit 1508 | (s for seconds, m for minutes, h for hours, d for days, w for weeks). If no 1509 | unit is specified, seconds are used. 1510 | 1511 | If a host is selected and I contains "children", a downtime for all of 1512 | its children will be scheduled with the same parameters as the host's. 1513 | Likewise, if I contains "trigger_children", a triggered downtime for all 1514 | of the host's children will be scheduled. 1515 | 1516 | I refers to the downtime's comment field and must not contain the 1517 | "," (comma) character. 1518 | 1519 | =item r|recheck 1520 | 1521 | Schedule an immediate recheck 1522 | 1523 | =item R|force_recheck 1524 | 1525 | Schedule a forced, immediate recheck 1526 | 1527 | =back 1528 | 1529 | =item B<--api1> I 1530 | 1531 | Set Icinga 1.x (Classic UI) JSON API root to I. I must be the root 1532 | of Icinga's CGI directory. For instance, if your tactical overview has the 1533 | URL C<< https://monitoring.finalrewind.org/cgi-bin/icinga/tac.cgi >>, 1534 | you need to set I to C<< https://monitoring.finalrewind.org/cgi-bin/icinga >>. 1535 | 1536 | Please refer to the L section in this manual for more information 1537 | about this API. 1538 | 1539 | =item B<-c>|B<--config> I 1540 | 1541 | Read config from I 1542 | 1543 | =item B<-C>|B<--no-colours> 1544 | 1545 | Disable colours in output 1546 | 1547 | =item B<-f>|B<--status-file> I 1548 | 1549 | Read the status from I 1550 | 1551 | =item B<-F>|B<--rw-file> I 1552 | 1553 | Use I as external commands file. 1554 | 1555 | =item B<-g>|B<--hostgroup> I 1556 | 1557 | Limit selection to hosts in I (comma separated list) 1558 | 1559 | =item B<-h>|B<--host> I 1560 | 1561 | Limit selection to I (comma separated list) 1562 | 1563 | =item B<-l>|B<--list> B|B|B|B 1564 | 1565 | List either services (the default) or hosts. 1566 | Note that only the first character of the argument is checked, so C<< icli 1567 | -lh >>, C<< icli -ls >> etc. are also fine. 1568 | 1569 | =item B<-m>|B<--match> I 1570 | 1571 | Limit selection to hosts/services whose plugin output matches 1572 | I (perl regular expression, case insensitive. see L). 1573 | 1574 | =item B<-o>|B<--overview> 1575 | 1576 | Display "tactical overview"-style overview. 1577 | By default (or when used with C<< -ls >>) the number of all hosts and services 1578 | (both total and divided by their state) is shown. 1579 | 1580 | When used with C<< -lh >>, lists all hosts with the number of ok / warning / 1581 | ... checks on each host. 1582 | 1583 | =item B<--realm> I 1584 | 1585 | Set HTTP Basic Auth realm to I. Defaults to C<< Icinga Access >>. Only 1586 | useful when combined with a JSON or XML API. 1587 | 1588 | =item B<-U>|B<--as-contact> I 1589 | 1590 | Only operate on service visible to I. 1591 | 1592 | NOTE: This is meant to help find out which services a user has access to. It is 1593 | NOT intended as a way to restrict access and should never be used that way. 1594 | 1595 | =item B<-s>|B<--service> I 1596 | 1597 | Limit selection to I (comma separated lists). Can be combined with 1598 | B<-h>/B<-g> to further narrow down the selection, but may also be used 1599 | stand-alone. 1600 | 1601 | =item B<-v>|B<--verbose> 1602 | 1603 | Increase output verbosity. Can be combined up to B<-vvv> 1604 | 1605 | =item B<-V>|B<--version> 1606 | 1607 | Show version information 1608 | 1609 | =item B<-x>|B<--cut-mode> I 1610 | 1611 | What to do with lines which are too long for the terminal: Bothing, But 1612 | off, line Break (with proper indentation). The default is line Breaks 1613 | 1614 | =item B<-z>|B<--filter> I 1615 | 1616 | Limit selection to hosts/services passing the filter. I is a comma 1617 | separated list of filters, only hosts/services to which all filters apply are 1618 | selected. See also L 1619 | 1620 | =back 1621 | 1622 | =head1 OUTPUT 1623 | 1624 | =head2 SERVICE LISTING 1625 | 1626 | This is the standard output method. It contains the following: 1627 | 1628 | =over 1629 | 1630 | =item * Service description 1631 | 1632 | =item * -v: Service Flags (Bcknowledged, Blapping, B

assive, Bno 1633 | checks) 1634 | 1635 | =item * Service state (ok / warning / critical / unknown) 1636 | 1637 | =item * -v: Current attempt / Max attempts 1638 | 1639 | =item * Plugin output 1640 | 1641 | =back 1642 | 1643 | =head2 HOST LISTING 1644 | 1645 | Enabled with -ld 1646 | 1647 | =over 1648 | 1649 | =item * Host name 1650 | 1651 | =item * Host state (ok / down / unreachable) 1652 | 1653 | =item * -v: Current attempt / Max attempts 1654 | 1655 | =item * Plugin output 1656 | 1657 | =back 1658 | 1659 | =head2 QUEUE LISTING 1660 | 1661 | Enabled with -lq 1662 | 1663 | =over 1664 | 1665 | =item * Host name 1666 | 1667 | =item * Service name 1668 | 1669 | =item * Last check 1670 | 1671 | =item * Next check 1672 | 1673 | =back 1674 | 1675 | =head1 FILTER EXPRESSIONS 1676 | 1677 | Each expression can be negated with an exclamation mark, e.g. "!A" for all 1678 | non-acknowledged services. 1679 | 1680 | =over 1681 | 1682 | =item B 1683 | 1684 | Check state has been acknowledged 1685 | 1686 | =item B 1687 | 1688 | The host this service belongs to is Down or Unreachable 1689 | 1690 | =item B 1691 | 1692 | Service is flapping between states 1693 | 1694 | =item B 1695 | 1696 | Notifications for this service are disabled 1697 | 1698 | =item B

1699 | 1700 | Only passive checks are enabled. Note that B simply means that active 1701 | checks are enabled, no matter the status of passive checks 1702 | 1703 | =item B 1704 | 1705 | Check state is soft. For instance, it used to be OK and is now critical, but 1706 | has not reached its maximum number and caused a notification yet. Good to 1707 | find (or ignore) service problems which might just be temporary, non-critical 1708 | glitches. 1709 | 1710 | =item B 1711 | 1712 | Host/Service state is OK 1713 | 1714 | =item B 1715 | 1716 | Service state is Warning 1717 | 1718 | =item B 1719 | 1720 | Service state is Critical 1721 | 1722 | =item B 1723 | 1724 | Service state is Unknown 1725 | 1726 | =item B

1727 | 1728 | Host or service state is Pending 1729 | 1730 | =item B 1731 | 1732 | Host state is Down 1733 | 1734 | =item B 1735 | 1736 | Host state is Unreachable 1737 | 1738 | =back 1739 | 1740 | =head1 EXIT STATUS 1741 | 1742 | Zero, unless errors occured. 1743 | 1744 | =head1 CONFIGURATION 1745 | 1746 | None. 1747 | 1748 | =head1 DEPENDENCIES 1749 | 1750 | =over 1751 | 1752 | =item * autodie (included with perl >= 5.10.1) 1753 | 1754 | =item * DateTime 1755 | 1756 | =item * DateTime::Format::Strptime 1757 | 1758 | =item * DateTime::TimeZone 1759 | 1760 | =item * Term::Size 1761 | 1762 | =back 1763 | 1764 | =head1 BUGS AND LIMITATIONS 1765 | 1766 | It is probably not clear from the documentation when an action will operate 1767 | on hosts and when on services. 1768 | 1769 | Note that this software is not yet stable. Command line options may be changed 1770 | / removed and thus break backwards compatibility at any time. 1771 | 1772 | =head2 REPORTING BUGS 1773 | 1774 | Either via mail to Ederf@finalrewind.orgE or on 1775 | Ehttp://github.com/derf/icinga-cli/issuesE. 1776 | 1777 | =head1 EXAMPLES 1778 | 1779 | =over 1780 | 1781 | =item C<< icli -r -s 'APT Updates' >> 1782 | 1783 | Schedule a check of the "APT Updates" service on all hosts having it 1784 | 1785 | =item C<< icli -lq -h aneurysm -g chaosdorf-hosts >> 1786 | 1787 | List check queue for all hosts in the hostgroup "chaosdorf-hosts", plus the 1788 | host aneurysm 1789 | 1790 | =item C<< icli -z!o,!A,!S,!D >> 1791 | 1792 | Show all service problems which are already hard states and have not yet been 1793 | acknowledged. Also weed out problem services on hosts which are down anyways 1794 | 1795 | =back 1796 | 1797 | =head1 AUTHOR 1798 | 1799 | Copyright (C) 2010 by Daniel Friesel Ederf@finalrewind.orgE 1800 | 1801 | =head1 LICENSE 1802 | 1803 | 0. You just DO WHAT THE FUCK YOU WANT TO. 1804 | -------------------------------------------------------------------------------- /lib/App/Icli.pm: -------------------------------------------------------------------------------- 1 | package App::Icli; 2 | 3 | use strict; 4 | use warnings; 5 | use 5.010; 6 | 7 | our $VERSION = '0.48'; 8 | 9 | 1; 10 | 11 | __END__ 12 | 13 | =head1 NAME 14 | 15 | App::Icli - Icinga Command Line Interface 16 | 17 | =head1 SYNOPSIS 18 | 19 | None. 20 | 21 | =head1 VERSION 22 | 23 | version 0.48 24 | 25 | =head1 DESCRIPTION 26 | 27 | This is a transitional module and does not yet offer any functionality. 28 | Please refer to icli(1) and App::Icli::ConfigData(3pm) for documentation. 29 | 30 | =head1 METHODS 31 | 32 | None. 33 | 34 | =head1 DIAGNOSTICS 35 | 36 | None. 37 | 38 | =head1 BUGS AND LIMITATIONS 39 | 40 | None. 41 | 42 | =head1 DEPENDENCIES 43 | 44 | None. 45 | 46 | =head1 SEE ALSO 47 | 48 | App::Icli::ConfigData(3pm) 49 | 50 | =head1 AUTHOR 51 | 52 | Copyright (C) 2014 by Daniel Friesel Ederf@finalrewind.orgE 53 | 54 | =head1 LICENSE 55 | 56 | 0. You just DO WHAT THE FUCK YOU WANT TO. 57 | -------------------------------------------------------------------------------- /t/00-compile.t: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use strict; 3 | use warnings; 4 | use 5.010; 5 | use Test::More; 6 | use Test::Compile; 7 | 8 | my $test = Test::Compile->new(); 9 | $test->all_files_ok('bin/icli'); 10 | $test->done_testing(); 11 | -------------------------------------------------------------------------------- /t/10-pod-coverage.t: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use strict; 3 | use warnings; 4 | use 5.010; 5 | use Test::More; 6 | use Test::Pod; 7 | 8 | all_pod_files_ok('bin/icli'); 9 | -------------------------------------------------------------------------------- /t/50-icli.at: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use strict; 3 | use warnings; 4 | use 5.010; 5 | 6 | # We need commas in our qw list, they're not accidental 7 | no warnings 'qw'; 8 | 9 | use Test::Command tests => (36*3 + 4); 10 | 11 | my $icli = 'bin/icli -f t/in/status.dat -c t/in/objects.cache -xn'; 12 | 13 | my $EMPTY = q{}; 14 | 15 | my $cmd = Test::Command->new(cmd => $icli); 16 | 17 | sub run_filter_test { 18 | my ($prefix, $run, $filter) = @_; 19 | 20 | my $file = $filter; 21 | $file =~ tr/,//d; 22 | $file =~ tr/!/./; 23 | 24 | $cmd = Test::Command->new(cmd => "$icli $run -z $filter"); 25 | $cmd->exit_is_num(0); 26 | $cmd->stdout_is_file("t/out/${prefix}_${file}"); 27 | $cmd->stderr_is_eq($EMPTY); 28 | } 29 | 30 | $cmd->exit_is_num(0); 31 | $cmd->stdout_is_file('t/out/standard'); 32 | $cmd->stderr_is_eq($EMPTY); 33 | 34 | $cmd = Test::Command->new(cmd => "$icli -V"); 35 | $cmd->exit_is_num(0); 36 | $cmd->stdout_like(qr{ ^ icli \s version \s \S+ $ }x); 37 | $cmd->stderr_is_eq($EMPTY); 38 | 39 | $cmd = Test::Command->new(cmd => "$icli -lh -g local"); 40 | $cmd->exit_is_num(0); 41 | $cmd->stdout_is_file('t/out/hosts_group_local'); 42 | $cmd->stderr_is_eq($EMPTY); 43 | 44 | $cmd = Test::Command->new(cmd => "$icli -lh -z!o"); 45 | $cmd->exit_is_num(0); 46 | $cmd->stdout_is_file('t/out/hosts_short'); 47 | $cmd->stderr_is_eq($EMPTY); 48 | 49 | $cmd = Test::Command->new(cmd => "$icli -ls -h steel-vpn,steel.derf0.net"); 50 | $cmd->exit_is_num(0); 51 | $cmd->stdout_is_file('t/out/host_steel_steel'); 52 | $cmd->stderr_is_eq($EMPTY); 53 | 54 | $cmd = Test::Command->new(cmd => "$icli -lh"); 55 | $cmd->exit_is_num(0); 56 | $cmd->stdout_is_file('t/out/list_hosts'); 57 | $cmd->stderr_is_eq($EMPTY); 58 | 59 | $cmd = Test::Command->new(cmd => "$icli -lh -C"); 60 | $cmd->exit_is_num(0); 61 | $cmd->stdout_is_file('t/out/list_hosts_nc'); 62 | $cmd->stderr_is_eq($EMPTY); 63 | 64 | $cmd = Test::Command->new(cmd => "$icli -ls"); 65 | $cmd->exit_is_num(0); 66 | $cmd->stdout_is_file('t/out/list_services'); 67 | $cmd->stderr_is_eq($EMPTY); 68 | 69 | $cmd = Test::Command->new(cmd => "$icli -ls -C"); 70 | $cmd->exit_is_num(0); 71 | $cmd->stdout_is_file('t/out/list_services_nc'); 72 | $cmd->stderr_is_eq($EMPTY); 73 | 74 | $cmd = Test::Command->new(cmd => "$icli -ls -g local"); 75 | $cmd->exit_is_num(0); 76 | $cmd->stdout_is_file('t/out/services_group_local'); 77 | $cmd->stderr_is_eq($EMPTY); 78 | 79 | $cmd = Test::Command->new(cmd => "$icli -lh -g derf-remote,http-servers"); 80 | $cmd->exit_is_num(0); 81 | $cmd->stdout_is_file('t/out/hosts_group_reduce'); 82 | $cmd->stderr_is_eq($EMPTY); 83 | 84 | $cmd = Test::Command->new(cmd => "$icli -ls -z!o"); 85 | $cmd->exit_is_num(0); 86 | $cmd->stdout_is_file('t/out/services_short'); 87 | $cmd->stderr_is_eq($EMPTY); 88 | 89 | $cmd = Test::Command->new(cmd => "$icli -ls -h steel.derf0.net"); 90 | $cmd->exit_is_num(0); 91 | $cmd->stdout_is_file('t/out/list_services_single'); 92 | $cmd->stderr_is_eq($EMPTY); 93 | 94 | $cmd = Test::Command->new(cmd => "$icli -lh -v"); 95 | $cmd->exit_is_num(0); 96 | $cmd->stdout_is_file('t/out/list_hosts_v'); 97 | $cmd->stderr_is_eq($EMPTY); 98 | 99 | $cmd = Test::Command->new(cmd => "$icli -ls -v"); 100 | $cmd->exit_is_num(0); 101 | $cmd->stdout_is_file('t/out/list_services_v'); 102 | $cmd->stderr_is_eq($EMPTY); 103 | 104 | $cmd = Test::Command->new(cmd => "$icli -lq"); 105 | $cmd->exit_is_num(0); 106 | # no stdout test, fails with timezones != GMT+1 107 | $cmd->stderr_is_eq($EMPTY); 108 | 109 | $cmd = Test::Command->new(cmd => "$icli -lq -h aneurysm"); 110 | $cmd->exit_is_num(0); 111 | # no stdout test, fails with timezones != GMT+1 112 | $cmd->stderr_is_eq($EMPTY); 113 | 114 | 115 | $cmd = Test::Command->new(cmd => "$icli -g invalid"); 116 | $cmd->exit_isnt_num(0); 117 | $cmd->stdout_is_eq($EMPTY); 118 | $cmd->stderr_is_eq("Unknown hostgroup: invalid\n"); 119 | 120 | $cmd = Test::Command->new(cmd => "$icli -h invalid"); 121 | $cmd->exit_isnt_num(0); 122 | $cmd->stdout_is_eq($EMPTY); 123 | $cmd->stderr_is_eq("Unknown host: invalid\n"); 124 | 125 | $cmd = Test::Command->new(cmd => "$icli -lh -h invalid"); 126 | $cmd->exit_isnt_num(0); 127 | $cmd->stdout_is_eq($EMPTY); 128 | $cmd->stderr_is_eq("Unknown host: invalid\n"); 129 | 130 | $cmd = Test::Command->new(cmd => "$icli -l INVALID"); 131 | $cmd->exit_isnt_num(0); 132 | $cmd->stdout_is_eq($EMPTY); 133 | $cmd->stderr_is_eq("See perldoc -F bin/icli\n"); 134 | 135 | for my $filter (qw( 136 | A 137 | !A,!o 138 | c 139 | D 140 | !o 141 | !o,!A,!D 142 | S 143 | u 144 | w 145 | )) 146 | { 147 | run_filter_test('filter', q{}, $filter); 148 | } 149 | 150 | for my $filter (qw( 151 | d 152 | !o 153 | S 154 | S,!x,!A 155 | x 156 | )) 157 | { 158 | run_filter_test('h_filter', '-lh', $filter); 159 | } 160 | 161 | 162 | $icli = "bin/icli -f t/in/status.dat.weird.1 -c t/in/objects.cache"; 163 | 164 | $cmd = Test::Command->new(cmd => $icli); 165 | $cmd->exit_is_num(0); 166 | $cmd->stdout_is_eq($EMPTY); 167 | $cmd->stderr_is_eq("Unknown field in t/in/status.dat.weird.1: bork\n"); 168 | 169 | $icli = "bin/icli -f t/in/status.dat.weird.2 -c t/in/objects.cache"; 170 | 171 | $cmd = Test::Command->new(cmd => "$icli -lh -h alpha"); 172 | $cmd->exit_isnt_num(0); 173 | $cmd->stdout_is_eq($EMPTY); 174 | $cmd->stderr_like(qr{^Unknown host state: 23}s); 175 | 176 | $cmd = Test::Command->new(cmd => "$icli -ls -h aneurysm"); 177 | $cmd->exit_isnt_num(0); 178 | $cmd->stdout_is_eq('Disk: / '); 179 | $cmd->stderr_like(qr{^Unknown service state: 23}s); 180 | -------------------------------------------------------------------------------- /t/in/status.dat: -------------------------------------------------------------------------------- 1 | ######################################## 2 | # ICINGA STATUS FILE 3 | # 4 | # THIS FILE IS AUTOMATICALLY GENERATED 5 | # BY ICINGA. DO NOT MODIFY THIS FILE! 6 | ######################################## 7 | 8 | info { 9 | created=1280306916 10 | version=1.0.2 11 | last_update_check=0 12 | update_available=0 13 | last_version= 14 | new_version= 15 | } 16 | 17 | programstatus { 18 | modified_host_attributes=0 19 | modified_service_attributes=0 20 | icinga_pid=15926 21 | daemon_mode=1 22 | program_start=1280269026 23 | last_command_check=1280306915 24 | last_log_rotation=0 25 | enable_notifications=1 26 | active_service_checks_enabled=1 27 | passive_service_checks_enabled=1 28 | active_host_checks_enabled=1 29 | passive_host_checks_enabled=1 30 | enable_event_handlers=1 31 | obsess_over_services=0 32 | obsess_over_hosts=0 33 | check_service_freshness=1 34 | check_host_freshness=0 35 | enable_flap_detection=1 36 | enable_failure_prediction=1 37 | process_performance_data=0 38 | global_host_event_handler= 39 | global_service_event_handler= 40 | next_comment_id=17 41 | next_downtime_id=1 42 | next_event_id=834 43 | next_problem_id=397 44 | next_notification_id=116 45 | total_external_command_buffer_slots=4096 46 | used_external_command_buffer_slots=0 47 | high_external_command_buffer_slots=1 48 | active_scheduled_host_check_stats=3,15,42 49 | active_ondemand_host_check_stats=0,0,0 50 | passive_host_check_stats=0,0,0 51 | active_scheduled_service_check_stats=11,74,226 52 | active_ondemand_service_check_stats=0,0,0 53 | passive_service_check_stats=0,0,0 54 | cached_host_check_stats=0,0,0 55 | cached_service_check_stats=0,0,0 56 | external_command_stats=0,0,0 57 | parallel_host_check_stats=3,15,42 58 | serial_host_check_stats=0,0,0 59 | event_profiling_enabled=0 60 | } 61 | 62 | hoststatus { 63 | host_name=alpha 64 | modified_attributes=0 65 | check_command=check-host-alive 66 | check_period= 67 | notification_period=24x7 68 | check_interval=5.000000 69 | retry_interval=1.000000 70 | event_handler= 71 | has_been_checked=1 72 | should_be_scheduled=0 73 | check_execution_time=0.015 74 | check_latency=0.230 75 | check_type=0 76 | current_state=1 77 | last_hard_state=0 78 | last_event_id=0 79 | current_event_id=0 80 | current_problem_id=0 81 | last_problem_id=0 82 | plugin_output=PING OK - Packet loss = 0%, RTA = 0.73 ms 83 | long_plugin_output= 84 | performance_data=rta=0.731000ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 85 | last_check=1280306906 86 | next_check=1280307216 87 | check_options=0 88 | current_attempt=1 89 | max_attempts=10 90 | state_type=1 91 | last_state_change=1279063569 92 | last_hard_state_change=1279063569 93 | last_time_up=1280306916 94 | last_time_down=0 95 | last_time_unreachable=0 96 | last_notification=0 97 | next_notification=0 98 | no_more_notifications=0 99 | current_notification_number=0 100 | current_notification_id=0 101 | notifications_enabled=1 102 | problem_has_been_acknowledged=0 103 | acknowledgement_type=0 104 | active_checks_enabled=1 105 | passive_checks_enabled=1 106 | event_handler_enabled=1 107 | flap_detection_enabled=1 108 | failure_prediction_enabled=1 109 | process_performance_data=1 110 | obsess_over_host=1 111 | last_update=1280306916 112 | is_flapping=0 113 | percent_state_change=0.00 114 | scheduled_downtime_depth=0 115 | } 116 | 117 | hoststatus { 118 | host_name=aneurysm 119 | modified_attributes=0 120 | check_command=check-host-alive 121 | check_period= 122 | notification_period=24x7 123 | check_interval=5.000000 124 | retry_interval=1.000000 125 | event_handler= 126 | has_been_checked=1 127 | should_be_scheduled=1 128 | check_execution_time=0.014 129 | check_latency=0.008 130 | check_type=0 131 | current_state=2 132 | last_hard_state=0 133 | last_event_id=0 134 | current_event_id=0 135 | current_problem_id=0 136 | last_problem_id=0 137 | plugin_output=PING OK - Packet loss = 0%, RTA = 0.10 ms 138 | long_plugin_output= 139 | performance_data=rta=0.099000ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 140 | last_check=1280306846 141 | next_check=1280307156 142 | check_options=0 143 | current_attempt=1 144 | max_attempts=10 145 | state_type=1 146 | last_state_change=1279063581 147 | last_hard_state_change=1279063581 148 | last_time_up=1280306856 149 | last_time_down=0 150 | last_time_unreachable=0 151 | last_notification=0 152 | next_notification=0 153 | no_more_notifications=0 154 | current_notification_number=0 155 | current_notification_id=108 156 | notifications_enabled=1 157 | problem_has_been_acknowledged=0 158 | acknowledgement_type=0 159 | active_checks_enabled=1 160 | passive_checks_enabled=1 161 | event_handler_enabled=1 162 | flap_detection_enabled=1 163 | failure_prediction_enabled=1 164 | process_performance_data=1 165 | obsess_over_host=1 166 | last_update=1280306916 167 | is_flapping=0 168 | percent_state_change=0.00 169 | scheduled_downtime_depth=0 170 | } 171 | 172 | hoststatus { 173 | host_name=steel-vpn 174 | modified_attributes=0 175 | check_command=check-host-alive 176 | check_period= 177 | notification_period=24x7 178 | check_interval=5.000000 179 | retry_interval=1.000000 180 | event_handler= 181 | has_been_checked=0 182 | should_be_scheduled=1 183 | check_execution_time=0.032 184 | check_latency=0.089 185 | check_type=0 186 | current_state=0 187 | last_hard_state=0 188 | last_event_id=831 189 | current_event_id=832 190 | current_problem_id=0 191 | last_problem_id=396 192 | plugin_output=PING OK - Packet loss = 0%, RTA = 18.01 ms 193 | long_plugin_output= 194 | performance_data=rta=18.010000ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 195 | last_check=1280306726 196 | next_check=1280307036 197 | check_options=0 198 | current_attempt=1 199 | max_attempts=10 200 | state_type=1 201 | last_state_change=1280280076 202 | last_hard_state_change=1279704469 203 | last_time_up=1280306736 204 | last_time_down=1280280006 205 | last_time_unreachable=0 206 | last_notification=0 207 | next_notification=0 208 | no_more_notifications=0 209 | current_notification_number=0 210 | current_notification_id=73 211 | notifications_enabled=1 212 | problem_has_been_acknowledged=0 213 | acknowledgement_type=0 214 | active_checks_enabled=1 215 | passive_checks_enabled=1 216 | event_handler_enabled=1 217 | flap_detection_enabled=1 218 | failure_prediction_enabled=1 219 | process_performance_data=1 220 | obsess_over_host=1 221 | last_update=1280306916 222 | is_flapping=0 223 | percent_state_change=0.00 224 | scheduled_downtime_depth=0 225 | } 226 | 227 | hoststatus { 228 | host_name=steel.derf0.net 229 | modified_attributes=0 230 | check_command=check-host-alive 231 | check_period= 232 | notification_period=24x7 233 | check_interval=5.000000 234 | retry_interval=1.000000 235 | event_handler= 236 | has_been_checked=1 237 | should_be_scheduled=1 238 | check_execution_time=0.030 239 | check_latency=0.183 240 | check_type=0 241 | current_state=0 242 | last_hard_state=0 243 | last_event_id=770 244 | current_event_id=771 245 | current_problem_id=0 246 | last_problem_id=365 247 | plugin_output=PING OK - Packet loss = 0%, RTA = 16.75 ms 248 | long_plugin_output= 249 | performance_data=rta=16.750999ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 250 | last_check=1280306896 251 | next_check=1280307206 252 | check_options=0 253 | current_attempt=1 254 | max_attempts=10 255 | state_type=1 256 | last_state_change=1280221316 257 | last_hard_state_change=1279124213 258 | last_time_up=1280306906 259 | last_time_down=1280221286 260 | last_time_unreachable=0 261 | last_notification=0 262 | next_notification=0 263 | no_more_notifications=0 264 | current_notification_number=0 265 | current_notification_id=0 266 | notifications_enabled=1 267 | problem_has_been_acknowledged=0 268 | acknowledgement_type=0 269 | active_checks_enabled=1 270 | passive_checks_enabled=1 271 | event_handler_enabled=1 272 | flap_detection_enabled=1 273 | failure_prediction_enabled=1 274 | process_performance_data=1 275 | obsess_over_host=1 276 | last_update=1280306916 277 | is_flapping=0 278 | percent_state_change=0.00 279 | scheduled_downtime_depth=0 280 | } 281 | 282 | servicestatus { 283 | host_name=alpha 284 | service_description=HTTP 285 | modified_attributes=0 286 | check_command=check_http 287 | check_period=24x7 288 | notification_period=24x7 289 | check_interval=5.000000 290 | retry_interval=1.000000 291 | event_handler= 292 | has_been_checked=1 293 | should_be_scheduled=1 294 | check_execution_time=0.032 295 | check_latency=0.185 296 | check_type=0 297 | current_state=0 298 | last_hard_state=0 299 | last_event_id=415 300 | current_event_id=416 301 | current_problem_id=0 302 | last_problem_id=206 303 | current_attempt=1 304 | max_attempts=4 305 | state_type=1 306 | last_state_change=1279497626 307 | last_hard_state_change=1279063569 308 | last_time_ok=1280306762 309 | last_time_warning=0 310 | last_time_unknown=0 311 | last_time_critical=1279497566 312 | plugin_output=HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 313 | long_plugin_output= 314 | performance_data=time=0.018710s;;;0.000000 size=2333B;;;0 315 | last_check=1280306762 316 | next_check=1280307062 317 | check_options=0 318 | current_notification_number=0 319 | current_notification_id=1 320 | last_notification=0 321 | next_notification=0 322 | no_more_notifications=0 323 | notifications_enabled=1 324 | active_checks_enabled=1 325 | passive_checks_enabled=1 326 | event_handler_enabled=1 327 | problem_has_been_acknowledged=0 328 | acknowledgement_type=0 329 | flap_detection_enabled=1 330 | failure_prediction_enabled=1 331 | process_performance_data=1 332 | obsess_over_service=1 333 | last_update=1280306916 334 | is_flapping=0 335 | percent_state_change=0.00 336 | scheduled_downtime_depth=0 337 | } 338 | 339 | servicestatus { 340 | host_name=aneurysm 341 | service_description=Disk: / 342 | modified_attributes=0 343 | check_command=check_disk!20%!10%!/dev/mapper/aneurysm-root 344 | check_period=24x7 345 | notification_period=24x7 346 | check_interval=5.000000 347 | retry_interval=1.000000 348 | event_handler= 349 | has_been_checked=1 350 | should_be_scheduled=1 351 | check_execution_time=0.014 352 | check_latency=0.241 353 | check_type=0 354 | current_state=0 355 | last_hard_state=0 356 | last_event_id=0 357 | current_event_id=0 358 | current_problem_id=0 359 | last_problem_id=0 360 | current_attempt=1 361 | max_attempts=4 362 | state_type=1 363 | last_state_change=1279728981 364 | last_hard_state_change=1279728981 365 | last_time_ok=1280306781 366 | last_time_warning=0 367 | last_time_unknown=0 368 | last_time_critical=0 369 | plugin_output=DISK OK - free space: / 4846 MB (75% inode=90%): 370 | long_plugin_output= 371 | performance_data=/=1539MB;5382;6055;0;6728 372 | last_check=1280306781 373 | next_check=1280307081 374 | check_options=0 375 | current_notification_number=0 376 | current_notification_id=0 377 | last_notification=0 378 | next_notification=0 379 | no_more_notifications=0 380 | notifications_enabled=1 381 | active_checks_enabled=1 382 | passive_checks_enabled=1 383 | event_handler_enabled=1 384 | problem_has_been_acknowledged=0 385 | acknowledgement_type=0 386 | flap_detection_enabled=1 387 | failure_prediction_enabled=1 388 | process_performance_data=1 389 | obsess_over_service=1 390 | last_update=1280306916 391 | is_flapping=0 392 | percent_state_change=0.00 393 | scheduled_downtime_depth=0 394 | } 395 | 396 | servicestatus { 397 | host_name=aneurysm 398 | service_description=Disk: /boot 399 | modified_attributes=0 400 | check_command=check_disk!20%!10%!/dev/sda1 401 | check_period=24x7 402 | notification_period=24x7 403 | check_interval=5.000000 404 | retry_interval=1.000000 405 | event_handler= 406 | has_been_checked=1 407 | should_be_scheduled=1 408 | check_execution_time=0.013 409 | check_latency=0.196 410 | check_type=0 411 | current_state=0 412 | last_hard_state=0 413 | last_event_id=0 414 | current_event_id=0 415 | current_problem_id=0 416 | last_problem_id=0 417 | current_attempt=1 418 | max_attempts=4 419 | state_type=1 420 | last_state_change=1279729053 421 | last_hard_state_change=1279729053 422 | last_time_ok=1280306641 423 | last_time_warning=0 424 | last_time_unknown=0 425 | last_time_critical=0 426 | plugin_output=DISK OK - free space: /boot 119 MB (53% inode=99%): 427 | long_plugin_output= 428 | performance_data=/boot=103MB;188;211;0;235 429 | last_check=1280306641 430 | next_check=1280306941 431 | check_options=0 432 | current_notification_number=0 433 | current_notification_id=0 434 | last_notification=0 435 | next_notification=0 436 | no_more_notifications=0 437 | notifications_enabled=1 438 | active_checks_enabled=1 439 | passive_checks_enabled=1 440 | event_handler_enabled=1 441 | problem_has_been_acknowledged=0 442 | acknowledgement_type=0 443 | flap_detection_enabled=1 444 | failure_prediction_enabled=1 445 | process_performance_data=1 446 | obsess_over_service=1 447 | last_update=1280306916 448 | is_flapping=0 449 | percent_state_change=0.00 450 | scheduled_downtime_depth=0 451 | } 452 | 453 | servicestatus { 454 | host_name=aneurysm 455 | service_description=Disk: /data 456 | modified_attributes=0 457 | check_command=check_disk!20%!10%!/dev/mapper/misc-data 458 | check_period=24x7 459 | notification_period=24x7 460 | check_interval=5.000000 461 | retry_interval=1.000000 462 | event_handler= 463 | has_been_checked=1 464 | should_be_scheduled=1 465 | check_execution_time=0.012 466 | check_latency=0.112 467 | check_type=0 468 | current_state=0 469 | last_hard_state=0 470 | last_event_id=0 471 | current_event_id=0 472 | current_problem_id=0 473 | last_problem_id=0 474 | current_attempt=1 475 | max_attempts=4 476 | state_type=1 477 | last_state_change=1279729125 478 | last_hard_state_change=1279729125 479 | last_time_ok=1280306625 480 | last_time_warning=0 481 | last_time_unknown=0 482 | last_time_critical=0 483 | plugin_output=DISK OK - free space: /data 60091 MB (48% inode=99%): 484 | long_plugin_output= 485 | performance_data=/data=63760MB;99080;111465;0;123851 486 | last_check=1280306625 487 | next_check=1280306925 488 | check_options=0 489 | current_notification_number=0 490 | current_notification_id=0 491 | last_notification=0 492 | next_notification=0 493 | no_more_notifications=0 494 | notifications_enabled=1 495 | active_checks_enabled=1 496 | passive_checks_enabled=1 497 | event_handler_enabled=1 498 | problem_has_been_acknowledged=0 499 | acknowledgement_type=0 500 | flap_detection_enabled=1 501 | failure_prediction_enabled=1 502 | process_performance_data=1 503 | obsess_over_service=1 504 | last_update=1280306916 505 | is_flapping=0 506 | percent_state_change=0.00 507 | scheduled_downtime_depth=0 508 | } 509 | 510 | servicestatus { 511 | host_name=aneurysm 512 | service_description=Disk: /home 513 | modified_attributes=0 514 | check_command=check_disk!20%!10%!/dev/mapper/aneurysm-home 515 | check_period=24x7 516 | notification_period=24x7 517 | check_interval=5.000000 518 | retry_interval=1.000000 519 | event_handler= 520 | has_been_checked=1 521 | should_be_scheduled=1 522 | check_execution_time=0.128 523 | check_latency=0.192 524 | check_type=0 525 | current_state=0 526 | last_hard_state=0 527 | last_event_id=0 528 | current_event_id=0 529 | current_problem_id=0 530 | last_problem_id=0 531 | current_attempt=1 532 | max_attempts=4 533 | state_type=1 534 | last_state_change=1279729196 535 | last_hard_state_change=1279729196 536 | last_time_ok=1280306696 537 | last_time_warning=0 538 | last_time_unknown=0 539 | last_time_critical=0 540 | plugin_output=DISK OK - free space: /home 58378 MB (59% inode=98%): 541 | long_plugin_output= 542 | performance_data=/home=40563MB;83389;93813;0;104237 543 | last_check=1280306696 544 | next_check=1280306996 545 | check_options=0 546 | current_notification_number=0 547 | current_notification_id=109 548 | last_notification=0 549 | next_notification=0 550 | no_more_notifications=0 551 | notifications_enabled=1 552 | active_checks_enabled=1 553 | passive_checks_enabled=1 554 | event_handler_enabled=1 555 | problem_has_been_acknowledged=0 556 | acknowledgement_type=0 557 | flap_detection_enabled=1 558 | failure_prediction_enabled=1 559 | process_performance_data=1 560 | obsess_over_service=1 561 | last_update=1280306916 562 | is_flapping=0 563 | percent_state_change=0.00 564 | scheduled_downtime_depth=0 565 | } 566 | 567 | servicestatus { 568 | host_name=aneurysm 569 | service_description=HTTP 570 | modified_attributes=0 571 | check_command=check_http 572 | check_period=24x7 573 | notification_period=24x7 574 | check_interval=5.000000 575 | retry_interval=1.000000 576 | event_handler= 577 | has_been_checked=1 578 | should_be_scheduled=1 579 | check_execution_time=0.014 580 | check_latency=0.191 581 | check_type=0 582 | current_state=0 583 | last_hard_state=0 584 | last_event_id=0 585 | current_event_id=0 586 | current_problem_id=0 587 | last_problem_id=0 588 | current_attempt=1 589 | max_attempts=4 590 | state_type=1 591 | last_state_change=1279063677 592 | last_hard_state_change=1279063677 593 | last_time_ok=1280306898 594 | last_time_warning=0 595 | last_time_unknown=0 596 | last_time_critical=0 597 | plugin_output=HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 598 | long_plugin_output= 599 | performance_data=time=0.000952s;;;0.000000 size=7467B;;;0 600 | last_check=1280306898 601 | next_check=1280307198 602 | check_options=0 603 | current_notification_number=0 604 | current_notification_id=0 605 | last_notification=0 606 | next_notification=0 607 | no_more_notifications=0 608 | notifications_enabled=1 609 | active_checks_enabled=1 610 | passive_checks_enabled=1 611 | event_handler_enabled=1 612 | problem_has_been_acknowledged=0 613 | acknowledgement_type=0 614 | flap_detection_enabled=1 615 | failure_prediction_enabled=1 616 | process_performance_data=1 617 | obsess_over_service=1 618 | last_update=1280306916 619 | is_flapping=0 620 | percent_state_change=0.00 621 | scheduled_downtime_depth=0 622 | } 623 | 624 | servicestatus { 625 | host_name=aneurysm 626 | service_description=HTTPS 627 | modified_attributes=0 628 | check_command=check_https 629 | check_period=24x7 630 | notification_period=24x7 631 | check_interval=5.000000 632 | retry_interval=1.000000 633 | event_handler= 634 | has_been_checked=1 635 | should_be_scheduled=1 636 | check_execution_time=0.031 637 | check_latency=0.211 638 | check_type=0 639 | current_state=0 640 | last_hard_state=0 641 | last_event_id=0 642 | current_event_id=0 643 | current_problem_id=0 644 | last_problem_id=0 645 | current_attempt=1 646 | max_attempts=4 647 | state_type=1 648 | last_state_change=1279063785 649 | last_hard_state_change=1279063785 650 | last_time_ok=1280306766 651 | last_time_warning=0 652 | last_time_unknown=0 653 | last_time_critical=0 654 | plugin_output=HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 655 | long_plugin_output= 656 | performance_data=time=0.017666s;;;0.000000 size=7467B;;;0 657 | last_check=1280306766 658 | next_check=1280307066 659 | check_options=0 660 | current_notification_number=0 661 | current_notification_id=0 662 | last_notification=0 663 | next_notification=0 664 | no_more_notifications=0 665 | notifications_enabled=1 666 | active_checks_enabled=1 667 | passive_checks_enabled=1 668 | event_handler_enabled=1 669 | problem_has_been_acknowledged=0 670 | acknowledgement_type=0 671 | flap_detection_enabled=1 672 | failure_prediction_enabled=1 673 | process_performance_data=1 674 | obsess_over_service=1 675 | last_update=1280306916 676 | is_flapping=0 677 | percent_state_change=0.00 678 | scheduled_downtime_depth=0 679 | } 680 | 681 | servicestatus { 682 | host_name=aneurysm 683 | service_description=Load 684 | modified_attributes=0 685 | check_command=check_load!15!10!5!30!25!20 686 | check_period=24x7 687 | notification_period=24x7 688 | check_interval=5.000000 689 | retry_interval=1.000000 690 | event_handler= 691 | has_been_checked=1 692 | should_be_scheduled=1 693 | check_execution_time=0.012 694 | check_latency=0.098 695 | check_type=0 696 | current_state=2 697 | last_hard_state=0 698 | last_event_id=0 699 | current_event_id=0 700 | current_problem_id=0 701 | last_problem_id=0 702 | current_attempt=1 703 | max_attempts=4 704 | state_type=1 705 | last_state_change=1279729231 706 | last_hard_state_change=1279729231 707 | last_time_ok=1280306731 708 | last_time_warning=0 709 | last_time_unknown=0 710 | last_time_critical=0 711 | plugin_output=OK - load average: 0.17, 0.13, 0.09 712 | long_plugin_output= 713 | performance_data=load1=0.170;15.000;30.000;0; load5=0.130;10.000;25.000;0; load15=0.090;5.000;20.000;0; 714 | last_check=1280306731 715 | next_check=1280307031 716 | check_options=0 717 | current_notification_number=0 718 | current_notification_id=0 719 | last_notification=0 720 | next_notification=0 721 | no_more_notifications=0 722 | notifications_enabled=1 723 | active_checks_enabled=1 724 | passive_checks_enabled=1 725 | event_handler_enabled=1 726 | problem_has_been_acknowledged=0 727 | acknowledgement_type=0 728 | flap_detection_enabled=1 729 | failure_prediction_enabled=1 730 | process_performance_data=1 731 | obsess_over_service=1 732 | last_update=1280306916 733 | is_flapping=0 734 | percent_state_change=0.00 735 | scheduled_downtime_depth=0 736 | } 737 | 738 | servicestatus { 739 | host_name=aneurysm 740 | service_description=Processes 741 | modified_attributes=0 742 | check_command=check_procs!150!200 743 | check_period=24x7 744 | notification_period=24x7 745 | check_interval=5.000000 746 | retry_interval=1.000000 747 | event_handler= 748 | has_been_checked=1 749 | should_be_scheduled=1 750 | check_execution_time=0.037 751 | check_latency=0.154 752 | check_type=0 753 | current_state=3 754 | last_hard_state=0 755 | last_event_id=765 756 | current_event_id=766 757 | current_problem_id=0 758 | last_problem_id=362 759 | current_attempt=1 760 | max_attempts=4 761 | state_type=1 762 | last_state_change=1280167248 763 | last_hard_state_change=1279729299 764 | last_time_ok=1280306748 765 | last_time_warning=1280167188 766 | last_time_unknown=0 767 | last_time_critical=0 768 | plugin_output=PROCS OK: 118 processes 769 | long_plugin_output= 770 | performance_data= 771 | last_check=1280306748 772 | next_check=1280307048 773 | check_options=0 774 | current_notification_number=0 775 | current_notification_id=0 776 | last_notification=0 777 | next_notification=0 778 | no_more_notifications=0 779 | notifications_enabled=1 780 | active_checks_enabled=1 781 | passive_checks_enabled=1 782 | event_handler_enabled=1 783 | problem_has_been_acknowledged=0 784 | acknowledgement_type=0 785 | flap_detection_enabled=1 786 | failure_prediction_enabled=1 787 | process_performance_data=1 788 | obsess_over_service=1 789 | last_update=1280306916 790 | is_flapping=0 791 | percent_state_change=0.00 792 | scheduled_downtime_depth=0 793 | } 794 | 795 | servicestatus { 796 | host_name=aneurysm 797 | service_description=SMTP 798 | modified_attributes=0 799 | check_command=check_smtp_4 800 | check_period=24x7 801 | notification_period=24x7 802 | check_interval=5.000000 803 | retry_interval=1.000000 804 | event_handler= 805 | has_been_checked=1 806 | should_be_scheduled=1 807 | check_execution_time=0.051 808 | check_latency=0.091 809 | check_type=0 810 | current_state=0 811 | last_hard_state=0 812 | last_event_id=0 813 | current_event_id=0 814 | current_problem_id=0 815 | last_problem_id=0 816 | current_attempt=1 817 | max_attempts=4 818 | state_type=1 819 | last_state_change=1279136208 820 | last_hard_state_change=1279136208 821 | last_time_ok=1280306616 822 | last_time_warning=0 823 | last_time_unknown=0 824 | last_time_critical=0 825 | plugin_output=SMTP OK - 0.038 sec. response time 826 | long_plugin_output= 827 | performance_data=time=0.037631s;;;0.000000 828 | last_check=1280306616 829 | next_check=1280306916 830 | check_options=0 831 | current_notification_number=0 832 | current_notification_id=0 833 | last_notification=0 834 | next_notification=0 835 | no_more_notifications=0 836 | notifications_enabled=1 837 | active_checks_enabled=1 838 | passive_checks_enabled=1 839 | event_handler_enabled=1 840 | problem_has_been_acknowledged=0 841 | acknowledgement_type=0 842 | flap_detection_enabled=1 843 | failure_prediction_enabled=1 844 | process_performance_data=1 845 | obsess_over_service=1 846 | last_update=1280306916 847 | is_flapping=0 848 | percent_state_change=0.00 849 | scheduled_downtime_depth=0 850 | } 851 | 852 | servicestatus { 853 | host_name=aneurysm 854 | service_description=SSH 855 | modified_attributes=0 856 | check_command=check_ssh 857 | check_period=24x7 858 | notification_period=24x7 859 | check_interval=5.000000 860 | retry_interval=1.000000 861 | event_handler= 862 | has_been_checked=1 863 | should_be_scheduled=1 864 | check_execution_time=0.030 865 | check_latency=0.250 866 | check_type=0 867 | current_state=0 868 | last_hard_state=0 869 | last_event_id=0 870 | current_event_id=0 871 | current_problem_id=0 872 | last_problem_id=0 873 | current_attempt=1 874 | max_attempts=4 875 | state_type=1 876 | last_state_change=1279063689 877 | last_hard_state_change=1279063689 878 | last_time_ok=1280306913 879 | last_time_warning=0 880 | last_time_unknown=0 881 | last_time_critical=0 882 | plugin_output=SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 883 | long_plugin_output= 884 | performance_data= 885 | last_check=1280306913 886 | next_check=1280307213 887 | check_options=0 888 | current_notification_number=0 889 | current_notification_id=0 890 | last_notification=0 891 | next_notification=0 892 | no_more_notifications=0 893 | notifications_enabled=1 894 | active_checks_enabled=1 895 | passive_checks_enabled=1 896 | event_handler_enabled=1 897 | problem_has_been_acknowledged=0 898 | acknowledgement_type=0 899 | flap_detection_enabled=1 900 | failure_prediction_enabled=1 901 | process_performance_data=1 902 | obsess_over_service=1 903 | last_update=1280306916 904 | is_flapping=0 905 | percent_state_change=0.00 906 | scheduled_downtime_depth=0 907 | } 908 | 909 | servicestatus { 910 | host_name=aneurysm 911 | service_description=SSH password login disabled 912 | modified_attributes=0 913 | check_command=check_ssh_no_password_login 914 | check_period=24x7 915 | notification_period=24x7 916 | check_interval=15.000000 917 | retry_interval=1.000000 918 | event_handler= 919 | has_been_checked=1 920 | should_be_scheduled=1 921 | check_execution_time=0.144 922 | check_latency=0.049 923 | check_type=0 924 | current_state=0 925 | last_hard_state=0 926 | last_event_id=0 927 | current_event_id=0 928 | current_problem_id=0 929 | last_problem_id=0 930 | current_attempt=1 931 | max_attempts=4 932 | state_type=1 933 | last_state_change=1279753339 934 | last_hard_state_change=1279753339 935 | last_time_ok=1280306868 936 | last_time_warning=0 937 | last_time_unknown=0 938 | last_time_critical=0 939 | plugin_output=Password login disabled (server accepts publickey) 940 | long_plugin_output= 941 | performance_data= 942 | last_check=1280306868 943 | next_check=1280307768 944 | check_options=0 945 | current_notification_number=0 946 | current_notification_id=0 947 | last_notification=0 948 | next_notification=0 949 | no_more_notifications=0 950 | notifications_enabled=1 951 | active_checks_enabled=1 952 | passive_checks_enabled=1 953 | event_handler_enabled=1 954 | problem_has_been_acknowledged=0 955 | acknowledgement_type=0 956 | flap_detection_enabled=1 957 | failure_prediction_enabled=1 958 | process_performance_data=1 959 | obsess_over_service=1 960 | last_update=1280306916 961 | is_flapping=0 962 | percent_state_change=0.00 963 | scheduled_downtime_depth=0 964 | } 965 | 966 | servicestatus { 967 | host_name=aneurysm 968 | service_description=System Backup 969 | modified_attributes=0 970 | check_command=return-unknown 971 | check_period=24x7 972 | notification_period=24x7 973 | check_interval=5.000000 974 | retry_interval=1.000000 975 | event_handler= 976 | has_been_checked=0 977 | should_be_scheduled=0 978 | check_execution_time=0.000 979 | check_latency=0.579 980 | check_type=1 981 | current_state=0 982 | last_hard_state=0 983 | last_event_id=0 984 | current_event_id=0 985 | current_problem_id=0 986 | last_problem_id=0 987 | current_attempt=1 988 | max_attempts=1 989 | state_type=1 990 | last_state_change=1279065910 991 | last_hard_state_change=1279065910 992 | last_time_ok=1280288856 993 | last_time_warning=0 994 | last_time_unknown=0 995 | last_time_critical=0 996 | plugin_output=/dev/mapper/misc-backup 109G 40G 69G 37% /backup 997 | long_plugin_output= 998 | performance_data= 999 | last_check=1280288856 1000 | next_check=0 1001 | check_options=0 1002 | current_notification_number=0 1003 | current_notification_id=0 1004 | last_notification=0 1005 | next_notification=0 1006 | no_more_notifications=0 1007 | notifications_enabled=1 1008 | active_checks_enabled=0 1009 | passive_checks_enabled=1 1010 | event_handler_enabled=1 1011 | problem_has_been_acknowledged=0 1012 | acknowledgement_type=0 1013 | flap_detection_enabled=1 1014 | failure_prediction_enabled=1 1015 | process_performance_data=1 1016 | obsess_over_service=1 1017 | last_update=1280306916 1018 | is_flapping=0 1019 | percent_state_change=0.00 1020 | scheduled_downtime_depth=0 1021 | } 1022 | 1023 | servicestatus { 1024 | host_name=steel-vpn 1025 | service_description=SMTP 1026 | modified_attributes=0 1027 | check_command=check_smtp_4 1028 | check_period=24x7 1029 | notification_period=24x7 1030 | check_interval=5.000000 1031 | retry_interval=1.000000 1032 | event_handler= 1033 | has_been_checked=1 1034 | should_be_scheduled=1 1035 | check_execution_time=0.093 1036 | check_latency=0.134 1037 | check_type=0 1038 | current_state=0 1039 | last_hard_state=0 1040 | last_event_id=830 1041 | current_event_id=833 1042 | current_problem_id=0 1043 | last_problem_id=395 1044 | current_attempt=1 1045 | max_attempts=4 1046 | state_type=1 1047 | last_state_change=1280280337 1048 | last_hard_state_change=1280280337 1049 | last_time_ok=1280306737 1050 | last_time_warning=0 1051 | last_time_unknown=0 1052 | last_time_critical=1280280037 1053 | plugin_output=SMTP OK - 0.080 sec. response time 1054 | long_plugin_output= 1055 | performance_data=time=0.079648s;;;0.000000 1056 | last_check=1280306737 1057 | next_check=1280307037 1058 | check_options=0 1059 | current_notification_number=0 1060 | current_notification_id=0 1061 | last_notification=0 1062 | next_notification=0 1063 | no_more_notifications=0 1064 | notifications_enabled=1 1065 | active_checks_enabled=1 1066 | passive_checks_enabled=1 1067 | event_handler_enabled=1 1068 | problem_has_been_acknowledged=0 1069 | acknowledgement_type=0 1070 | flap_detection_enabled=1 1071 | failure_prediction_enabled=1 1072 | process_performance_data=1 1073 | obsess_over_service=1 1074 | last_update=1280306916 1075 | is_flapping=0 1076 | percent_state_change=0.00 1077 | scheduled_downtime_depth=0 1078 | } 1079 | 1080 | servicestatus { 1081 | host_name=steel.derf0.net 1082 | service_description=Disk: lv-home 1083 | modified_attributes=0 1084 | check_command=check_by_ssh_fc!check_home 1085 | check_period=24x7 1086 | notification_period=24x7 1087 | check_interval=5.000000 1088 | retry_interval=1.000000 1089 | event_handler= 1090 | has_been_checked=1 1091 | should_be_scheduled=1 1092 | check_execution_time=0.807 1093 | check_latency=0.116 1094 | check_type=0 1095 | current_state=0 1096 | last_hard_state=0 1097 | last_event_id=0 1098 | current_event_id=0 1099 | current_problem_id=0 1100 | last_problem_id=0 1101 | current_attempt=1 1102 | max_attempts=4 1103 | state_type=1 1104 | last_state_change=1279710033 1105 | last_hard_state_change=1279710033 1106 | last_time_ok=1280306733 1107 | last_time_warning=0 1108 | last_time_unknown=0 1109 | last_time_critical=0 1110 | plugin_output=DISK OK - free space: /home 20207 MB (95% inode=99%): 1111 | long_plugin_output= 1112 | performance_data=/home=1049MB;17915;20154;0;22394 1113 | last_check=1280306733 1114 | next_check=1280307033 1115 | check_options=0 1116 | current_notification_number=0 1117 | current_notification_id=0 1118 | last_notification=0 1119 | next_notification=0 1120 | no_more_notifications=0 1121 | notifications_enabled=1 1122 | active_checks_enabled=1 1123 | passive_checks_enabled=1 1124 | event_handler_enabled=1 1125 | problem_has_been_acknowledged=0 1126 | acknowledgement_type=0 1127 | flap_detection_enabled=1 1128 | failure_prediction_enabled=1 1129 | process_performance_data=1 1130 | obsess_over_service=1 1131 | last_update=1280306916 1132 | is_flapping=0 1133 | percent_state_change=0.00 1134 | scheduled_downtime_depth=0 1135 | } 1136 | 1137 | servicestatus { 1138 | host_name=steel.derf0.net 1139 | service_description=Disk: lv-root 1140 | modified_attributes=0 1141 | check_command=check_by_ssh_fc!check_root 1142 | check_period=24x7 1143 | notification_period=24x7 1144 | check_interval=5.000000 1145 | retry_interval=1.000000 1146 | event_handler= 1147 | has_been_checked=1 1148 | should_be_scheduled=1 1149 | check_execution_time=0.808 1150 | check_latency=0.110 1151 | check_type=0 1152 | current_state=0 1153 | last_hard_state=0 1154 | last_event_id=0 1155 | current_event_id=0 1156 | current_problem_id=0 1157 | last_problem_id=0 1158 | current_attempt=1 1159 | max_attempts=4 1160 | state_type=1 1161 | last_state_change=1279710107 1162 | last_hard_state_change=1279710107 1163 | last_time_ok=1280306684 1164 | last_time_warning=0 1165 | last_time_unknown=0 1166 | last_time_critical=0 1167 | plugin_output=DISK OK - free space: / 5330 MB (85% inode=90%): 1168 | long_plugin_output= 1169 | performance_data=/=902MB;5253;5910;0;6567 1170 | last_check=1280306684 1171 | next_check=1280306984 1172 | check_options=0 1173 | current_notification_number=0 1174 | current_notification_id=0 1175 | last_notification=0 1176 | next_notification=0 1177 | no_more_notifications=0 1178 | notifications_enabled=1 1179 | active_checks_enabled=1 1180 | passive_checks_enabled=1 1181 | event_handler_enabled=1 1182 | problem_has_been_acknowledged=0 1183 | acknowledgement_type=0 1184 | flap_detection_enabled=1 1185 | failure_prediction_enabled=1 1186 | process_performance_data=1 1187 | obsess_over_service=1 1188 | last_update=1280306916 1189 | is_flapping=0 1190 | percent_state_change=0.00 1191 | scheduled_downtime_depth=0 1192 | } 1193 | 1194 | servicestatus { 1195 | host_name=steel.derf0.net 1196 | service_description=Disk: vda1 1197 | modified_attributes=0 1198 | check_command=check_by_ssh_fc!check_vda1 1199 | check_period=24x7 1200 | notification_period=24x7 1201 | check_interval=5.000000 1202 | retry_interval=1.000000 1203 | event_handler= 1204 | has_been_checked=1 1205 | should_be_scheduled=1 1206 | check_execution_time=0.813 1207 | check_latency=0.212 1208 | check_type=0 1209 | current_state=0 1210 | last_hard_state=0 1211 | last_event_id=663 1212 | current_event_id=726 1213 | current_problem_id=0 1214 | last_problem_id=341 1215 | current_attempt=1 1216 | max_attempts=4 1217 | state_type=1 1218 | last_state_change=1279848500 1219 | last_hard_state_change=1279848500 1220 | last_time_ok=1280306900 1221 | last_time_warning=0 1222 | last_time_unknown=0 1223 | last_time_critical=1279848200 1224 | plugin_output=DISK OK - free space: /boot 190 MB (88% inode=99%): 1225 | long_plugin_output= 1226 | performance_data=/boot=25MB;181;204;0;227 1227 | last_check=1280306900 1228 | next_check=1280307200 1229 | check_options=0 1230 | current_notification_number=0 1231 | current_notification_id=0 1232 | last_notification=0 1233 | next_notification=0 1234 | no_more_notifications=0 1235 | notifications_enabled=1 1236 | active_checks_enabled=1 1237 | passive_checks_enabled=1 1238 | event_handler_enabled=1 1239 | problem_has_been_acknowledged=0 1240 | acknowledgement_type=0 1241 | flap_detection_enabled=1 1242 | failure_prediction_enabled=1 1243 | process_performance_data=1 1244 | obsess_over_service=1 1245 | last_update=1280306916 1246 | is_flapping=0 1247 | percent_state_change=0.00 1248 | scheduled_downtime_depth=0 1249 | } 1250 | 1251 | servicestatus { 1252 | host_name=steel.derf0.net 1253 | service_description=HTTP 1254 | modified_attributes=0 1255 | check_command=check_http 1256 | check_period=24x7 1257 | notification_period=24x7 1258 | check_interval=5.000000 1259 | retry_interval=1.000000 1260 | event_handler= 1261 | has_been_checked=1 1262 | should_be_scheduled=1 1263 | check_execution_time=0.054 1264 | check_latency=0.147 1265 | check_type=0 1266 | current_state=0 1267 | last_hard_state=0 1268 | last_event_id=659 1269 | current_event_id=736 1270 | current_problem_id=0 1271 | last_problem_id=337 1272 | current_attempt=1 1273 | max_attempts=4 1274 | state_type=1 1275 | last_state_change=1279848533 1276 | last_hard_state_change=1279848533 1277 | last_time_ok=1280306633 1278 | last_time_warning=1279136633 1279 | last_time_unknown=0 1280 | last_time_critical=1279848233 1281 | plugin_output=HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 1282 | long_plugin_output= 1283 | performance_data=time=0.040092s;;;0.000000 size=668B;;;0 1284 | last_check=1280306633 1285 | next_check=1280306933 1286 | check_options=0 1287 | current_notification_number=0 1288 | current_notification_id=6 1289 | last_notification=0 1290 | next_notification=0 1291 | no_more_notifications=0 1292 | notifications_enabled=1 1293 | active_checks_enabled=1 1294 | passive_checks_enabled=1 1295 | event_handler_enabled=1 1296 | problem_has_been_acknowledged=0 1297 | acknowledgement_type=0 1298 | flap_detection_enabled=1 1299 | failure_prediction_enabled=1 1300 | process_performance_data=1 1301 | obsess_over_service=1 1302 | last_update=1280306916 1303 | is_flapping=0 1304 | percent_state_change=0.00 1305 | scheduled_downtime_depth=0 1306 | } 1307 | 1308 | servicestatus { 1309 | host_name=steel.derf0.net 1310 | service_description=Load 1311 | modified_attributes=0 1312 | check_command=check_by_ssh_fc!check_load 1313 | check_period=24x7 1314 | notification_period=24x7 1315 | check_interval=5.000000 1316 | retry_interval=1.000000 1317 | event_handler= 1318 | has_been_checked=1 1319 | should_be_scheduled=1 1320 | check_execution_time=0.833 1321 | check_latency=0.202 1322 | check_type=0 1323 | current_state=0 1324 | last_hard_state=0 1325 | last_event_id=662 1326 | current_event_id=725 1327 | current_problem_id=0 1328 | last_problem_id=340 1329 | current_attempt=1 1330 | max_attempts=4 1331 | state_type=1 1332 | last_state_change=1279848499 1333 | last_hard_state_change=1279848499 1334 | last_time_ok=1280306899 1335 | last_time_warning=0 1336 | last_time_unknown=0 1337 | last_time_critical=1279848199 1338 | plugin_output=OK - load average: 0.00, 0.00, 0.00 1339 | long_plugin_output= 1340 | performance_data=load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0; 1341 | last_check=1280306899 1342 | next_check=1280307199 1343 | check_options=0 1344 | current_notification_number=0 1345 | current_notification_id=0 1346 | last_notification=0 1347 | next_notification=0 1348 | no_more_notifications=0 1349 | notifications_enabled=1 1350 | active_checks_enabled=1 1351 | passive_checks_enabled=1 1352 | event_handler_enabled=1 1353 | problem_has_been_acknowledged=0 1354 | acknowledgement_type=0 1355 | flap_detection_enabled=1 1356 | failure_prediction_enabled=1 1357 | process_performance_data=1 1358 | obsess_over_service=1 1359 | last_update=1280306916 1360 | is_flapping=0 1361 | percent_state_change=0.00 1362 | scheduled_downtime_depth=0 1363 | } 1364 | 1365 | servicestatus { 1366 | host_name=steel.derf0.net 1367 | service_description=Mail Queue 1368 | modified_attributes=0 1369 | check_command=check_by_ssh_fc!check_mailq_postfix 1370 | check_period=24x7 1371 | notification_period=24x7 1372 | check_interval=5.000000 1373 | retry_interval=1.000000 1374 | event_handler= 1375 | has_been_checked=1 1376 | should_be_scheduled=1 1377 | check_execution_time=0.918 1378 | check_latency=0.061 1379 | check_type=0 1380 | current_state=0 1381 | last_hard_state=0 1382 | last_event_id=618 1383 | current_event_id=703 1384 | current_problem_id=0 1385 | last_problem_id=310 1386 | current_attempt=1 1387 | max_attempts=4 1388 | state_type=1 1389 | last_state_change=1279848399 1390 | last_hard_state_change=1279848399 1391 | last_time_ok=1280306799 1392 | last_time_warning=0 1393 | last_time_unknown=0 1394 | last_time_critical=1279848099 1395 | plugin_output=OK: mailq reports queue is empty 1396 | long_plugin_output= 1397 | performance_data=unsent=0;10;20;0 1398 | last_check=1280306799 1399 | next_check=1280307099 1400 | check_options=0 1401 | current_notification_number=0 1402 | current_notification_id=0 1403 | last_notification=0 1404 | next_notification=0 1405 | no_more_notifications=0 1406 | notifications_enabled=1 1407 | active_checks_enabled=1 1408 | passive_checks_enabled=1 1409 | event_handler_enabled=1 1410 | problem_has_been_acknowledged=0 1411 | acknowledgement_type=0 1412 | flap_detection_enabled=1 1413 | failure_prediction_enabled=1 1414 | process_performance_data=1 1415 | obsess_over_service=1 1416 | last_update=1280306916 1417 | is_flapping=0 1418 | percent_state_change=0.00 1419 | scheduled_downtime_depth=0 1420 | } 1421 | 1422 | servicestatus { 1423 | host_name=steel.derf0.net 1424 | service_description=No open relay 1425 | modified_attributes=0 1426 | check_command=check_mail_no_relay 1427 | check_period=24x7 1428 | notification_period=24x7 1429 | check_interval=60.000000 1430 | retry_interval=1.000000 1431 | event_handler= 1432 | has_been_checked=1 1433 | should_be_scheduled=1 1434 | check_execution_time=0.314 1435 | check_latency=0.159 1436 | check_type=0 1437 | current_state=0 1438 | last_hard_state=0 1439 | last_event_id=0 1440 | current_event_id=0 1441 | current_problem_id=0 1442 | last_problem_id=0 1443 | current_attempt=1 1444 | max_attempts=4 1445 | state_type=1 1446 | last_state_change=1279664220 1447 | last_hard_state_change=1279664220 1448 | last_time_ok=1280306820 1449 | last_time_warning=0 1450 | last_time_unknown=0 1451 | last_time_critical=0 1452 | plugin_output=NORELAY OK: <** 554 5.7.1 : Relay access denied 1453 | long_plugin_output= 1454 | performance_data= 1455 | last_check=1280306820 1456 | next_check=1280310420 1457 | check_options=0 1458 | current_notification_number=0 1459 | current_notification_id=0 1460 | last_notification=0 1461 | next_notification=0 1462 | no_more_notifications=0 1463 | notifications_enabled=1 1464 | active_checks_enabled=1 1465 | passive_checks_enabled=1 1466 | event_handler_enabled=1 1467 | problem_has_been_acknowledged=0 1468 | acknowledgement_type=0 1469 | flap_detection_enabled=1 1470 | failure_prediction_enabled=1 1471 | process_performance_data=1 1472 | obsess_over_service=1 1473 | last_update=1280306916 1474 | is_flapping=0 1475 | percent_state_change=0.00 1476 | scheduled_downtime_depth=0 1477 | } 1478 | 1479 | servicestatus { 1480 | host_name=steel.derf0.net 1481 | service_description=Not Blacklisted 1482 | modified_attributes=0 1483 | check_command=check_rbl 1484 | check_period=24x7 1485 | notification_period=24x7 1486 | check_interval=60.000000 1487 | retry_interval=1.000000 1488 | event_handler= 1489 | has_been_checked=1 1490 | should_be_scheduled=1 1491 | check_execution_time=1.202 1492 | check_latency=0.098 1493 | check_type=0 1494 | current_state=0 1495 | last_hard_state=0 1496 | last_event_id=0 1497 | current_event_id=0 1498 | current_problem_id=0 1499 | last_problem_id=0 1500 | current_attempt=1 1501 | max_attempts=4 1502 | state_type=1 1503 | last_state_change=1279819422 1504 | last_hard_state_change=1279819422 1505 | last_time_ok=1280305722 1506 | last_time_warning=0 1507 | last_time_unknown=0 1508 | last_time_critical=0 1509 | plugin_output=CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 1510 | long_plugin_output= 1511 | performance_data=servers=0;1;1 time=1s;; 1512 | last_check=1280305722 1513 | next_check=1280309322 1514 | check_options=0 1515 | current_notification_number=0 1516 | current_notification_id=0 1517 | last_notification=0 1518 | next_notification=0 1519 | no_more_notifications=0 1520 | notifications_enabled=1 1521 | active_checks_enabled=1 1522 | passive_checks_enabled=1 1523 | event_handler_enabled=1 1524 | problem_has_been_acknowledged=0 1525 | acknowledgement_type=0 1526 | flap_detection_enabled=1 1527 | failure_prediction_enabled=1 1528 | process_performance_data=1 1529 | obsess_over_service=1 1530 | last_update=1280306916 1531 | is_flapping=0 1532 | percent_state_change=0.00 1533 | scheduled_downtime_depth=0 1534 | } 1535 | 1536 | servicestatus { 1537 | host_name=steel.derf0.net 1538 | service_description=Processes 1539 | modified_attributes=0 1540 | check_command=check_by_ssh_fc!check_procs 1541 | check_period=24x7 1542 | notification_period=24x7 1543 | check_interval=5.000000 1544 | retry_interval=1.000000 1545 | event_handler= 1546 | has_been_checked=1 1547 | should_be_scheduled=1 1548 | check_execution_time=0.848 1549 | check_latency=0.164 1550 | check_type=0 1551 | current_state=0 1552 | last_hard_state=0 1553 | last_event_id=610 1554 | current_event_id=698 1555 | current_problem_id=0 1556 | last_problem_id=304 1557 | current_attempt=1 1558 | max_attempts=4 1559 | state_type=1 1560 | last_state_change=1279848352 1561 | last_hard_state_change=1279848352 1562 | last_time_ok=1280306752 1563 | last_time_warning=0 1564 | last_time_unknown=0 1565 | last_time_critical=1279848052 1566 | plugin_output=PROCS OK: 82 processes 1567 | long_plugin_output= 1568 | performance_data= 1569 | last_check=1280306752 1570 | next_check=1280307052 1571 | check_options=0 1572 | current_notification_number=0 1573 | current_notification_id=0 1574 | last_notification=0 1575 | next_notification=0 1576 | no_more_notifications=0 1577 | notifications_enabled=1 1578 | active_checks_enabled=1 1579 | passive_checks_enabled=1 1580 | event_handler_enabled=1 1581 | problem_has_been_acknowledged=0 1582 | acknowledgement_type=0 1583 | flap_detection_enabled=1 1584 | failure_prediction_enabled=1 1585 | process_performance_data=1 1586 | obsess_over_service=1 1587 | last_update=1280306916 1588 | is_flapping=0 1589 | percent_state_change=0.00 1590 | scheduled_downtime_depth=0 1591 | } 1592 | 1593 | servicestatus { 1594 | host_name=steel.derf0.net 1595 | service_description=SMTP 1596 | modified_attributes=0 1597 | check_command=check_smtp_4 1598 | check_period=24x7 1599 | notification_period=24x7 1600 | check_interval=5.000000 1601 | retry_interval=1.000000 1602 | event_handler= 1603 | has_been_checked=1 1604 | should_be_scheduled=1 1605 | check_execution_time=0.135 1606 | check_latency=0.063 1607 | check_type=0 1608 | current_state=0 1609 | last_hard_state=0 1610 | last_event_id=0 1611 | current_event_id=0 1612 | current_problem_id=0 1613 | last_problem_id=0 1614 | current_attempt=1 1615 | max_attempts=4 1616 | state_type=1 1617 | last_state_change=1279136421 1618 | last_hard_state_change=1279136421 1619 | last_time_ok=1280306721 1620 | last_time_warning=0 1621 | last_time_unknown=0 1622 | last_time_critical=0 1623 | plugin_output=SMTP OK - 0.122 sec. response time 1624 | long_plugin_output= 1625 | performance_data=time=0.121732s;;;0.000000 1626 | last_check=1280306721 1627 | next_check=1280307021 1628 | check_options=0 1629 | current_notification_number=0 1630 | current_notification_id=0 1631 | last_notification=0 1632 | next_notification=0 1633 | no_more_notifications=0 1634 | notifications_enabled=1 1635 | active_checks_enabled=1 1636 | passive_checks_enabled=1 1637 | event_handler_enabled=1 1638 | problem_has_been_acknowledged=0 1639 | acknowledgement_type=0 1640 | flap_detection_enabled=1 1641 | failure_prediction_enabled=1 1642 | process_performance_data=1 1643 | obsess_over_service=1 1644 | last_update=1280306916 1645 | is_flapping=0 1646 | percent_state_change=0.00 1647 | scheduled_downtime_depth=0 1648 | } 1649 | 1650 | servicestatus { 1651 | host_name=steel.derf0.net 1652 | service_description=SSH 1653 | modified_attributes=0 1654 | check_command=check_ssh 1655 | check_period=24x7 1656 | notification_period=24x7 1657 | check_interval=5.000000 1658 | retry_interval=1.000000 1659 | event_handler= 1660 | has_been_checked=1 1661 | should_be_scheduled=1 1662 | check_execution_time=0.064 1663 | check_latency=0.239 1664 | check_type=0 1665 | current_state=0 1666 | last_hard_state=0 1667 | last_event_id=617 1668 | current_event_id=710 1669 | current_problem_id=0 1670 | last_problem_id=309 1671 | current_attempt=1 1672 | max_attempts=4 1673 | state_type=1 1674 | last_state_change=1279848437 1675 | last_hard_state_change=1279848437 1676 | last_time_ok=1280306837 1677 | last_time_warning=0 1678 | last_time_unknown=0 1679 | last_time_critical=1279848137 1680 | plugin_output=SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 1681 | long_plugin_output= 1682 | performance_data= 1683 | last_check=1280306837 1684 | next_check=1280307137 1685 | check_options=0 1686 | current_notification_number=0 1687 | current_notification_id=0 1688 | last_notification=0 1689 | next_notification=0 1690 | no_more_notifications=0 1691 | notifications_enabled=1 1692 | active_checks_enabled=1 1693 | passive_checks_enabled=1 1694 | event_handler_enabled=1 1695 | problem_has_been_acknowledged=0 1696 | acknowledgement_type=0 1697 | flap_detection_enabled=1 1698 | failure_prediction_enabled=1 1699 | process_performance_data=1 1700 | obsess_over_service=1 1701 | last_update=1280306916 1702 | is_flapping=0 1703 | percent_state_change=0.00 1704 | scheduled_downtime_depth=0 1705 | } 1706 | 1707 | servicestatus { 1708 | host_name=steel.derf0.net 1709 | service_description=SSH password login disabled 1710 | modified_attributes=0 1711 | check_command=check_ssh_no_password_login 1712 | check_period=24x7 1713 | notification_period=24x7 1714 | check_interval=15.000000 1715 | retry_interval=1.000000 1716 | event_handler= 1717 | has_been_checked=1 1718 | should_be_scheduled=1 1719 | check_execution_time=0.321 1720 | check_latency=0.025 1721 | check_type=0 1722 | current_state=0 1723 | last_hard_state=0 1724 | last_event_id=0 1725 | current_event_id=0 1726 | current_problem_id=0 1727 | last_problem_id=0 1728 | current_attempt=1 1729 | max_attempts=4 1730 | state_type=1 1731 | last_state_change=1279753527 1732 | last_hard_state_change=1279753527 1733 | last_time_ok=1280306127 1734 | last_time_warning=0 1735 | last_time_unknown=0 1736 | last_time_critical=0 1737 | plugin_output=Password login disabled (server accepts publickey) 1738 | long_plugin_output= 1739 | performance_data= 1740 | last_check=1280306127 1741 | next_check=1280307027 1742 | check_options=0 1743 | current_notification_number=0 1744 | current_notification_id=0 1745 | last_notification=0 1746 | next_notification=0 1747 | no_more_notifications=0 1748 | notifications_enabled=1 1749 | active_checks_enabled=1 1750 | passive_checks_enabled=1 1751 | event_handler_enabled=1 1752 | problem_has_been_acknowledged=0 1753 | acknowledgement_type=0 1754 | flap_detection_enabled=1 1755 | failure_prediction_enabled=1 1756 | process_performance_data=1 1757 | obsess_over_service=1 1758 | last_update=1280306916 1759 | is_flapping=0 1760 | percent_state_change=0.00 1761 | scheduled_downtime_depth=0 1762 | } 1763 | 1764 | servicestatus { 1765 | host_name=steel.derf0.net 1766 | service_description=Users 1767 | modified_attributes=0 1768 | check_command=check_by_ssh_fc!check_users 1769 | check_period=24x7 1770 | notification_period=24x7 1771 | check_interval=5.000000 1772 | retry_interval=1.000000 1773 | event_handler= 1774 | has_been_checked=1 1775 | should_be_scheduled=1 1776 | check_execution_time=0.840 1777 | check_latency=0.220 1778 | check_type=0 1779 | current_state=1 1780 | last_hard_state=0 1781 | last_event_id=629 1782 | current_event_id=707 1783 | current_problem_id=0 1784 | last_problem_id=317 1785 | current_attempt=1 1786 | max_attempts=4 1787 | state_type=1 1788 | last_state_change=1279848429 1789 | last_hard_state_change=1279848429 1790 | last_time_ok=1280306829 1791 | last_time_warning=0 1792 | last_time_unknown=0 1793 | last_time_critical=1279848129 1794 | plugin_output=USERS OK - 0 users currently logged in 1795 | long_plugin_output= 1796 | performance_data=users=0;5;10;0 1797 | last_check=1280306829 1798 | next_check=1280307129 1799 | check_options=0 1800 | current_notification_number=0 1801 | current_notification_id=0 1802 | last_notification=0 1803 | next_notification=0 1804 | no_more_notifications=0 1805 | notifications_enabled=1 1806 | active_checks_enabled=1 1807 | passive_checks_enabled=1 1808 | event_handler_enabled=1 1809 | problem_has_been_acknowledged=0 1810 | acknowledgement_type=0 1811 | flap_detection_enabled=1 1812 | failure_prediction_enabled=1 1813 | process_performance_data=1 1814 | obsess_over_service=1 1815 | last_update=1280306916 1816 | is_flapping=0 1817 | percent_state_change=0.00 1818 | scheduled_downtime_depth=0 1819 | } 1820 | 1821 | contactstatus { 1822 | contact_name=derf 1823 | modified_attributes=0 1824 | modified_host_attributes=0 1825 | modified_service_attributes=0 1826 | host_notification_period=24x7 1827 | service_notification_period=24x7 1828 | last_host_notification=1280163970 1829 | last_service_notification=1280179596 1830 | host_notifications_enabled=1 1831 | service_notifications_enabled=1 1832 | } 1833 | -------------------------------------------------------------------------------- /t/in/status.dat.weird.1: -------------------------------------------------------------------------------- 1 | bork { 2 | something=ae 3 | } 4 | -------------------------------------------------------------------------------- /t/in/status.dat.weird.2: -------------------------------------------------------------------------------- 1 | ######################################## 2 | # ICINGA STATUS FILE 3 | # 4 | # THIS FILE IS AUTOMATICALLY GENERATED 5 | # BY ICINGA. DO NOT MODIFY THIS FILE! 6 | ######################################## 7 | 8 | info { 9 | created=1280306916 10 | version=1.0.2 11 | last_update_check=0 12 | update_available=0 13 | last_version= 14 | new_version= 15 | } 16 | 17 | programstatus { 18 | modified_host_attributes=0 19 | modified_service_attributes=0 20 | icinga_pid=15926 21 | daemon_mode=1 22 | program_start=1280269026 23 | last_command_check=1280306915 24 | last_log_rotation=0 25 | enable_notifications=1 26 | active_service_checks_enabled=1 27 | passive_service_checks_enabled=1 28 | active_host_checks_enabled=1 29 | passive_host_checks_enabled=1 30 | enable_event_handlers=1 31 | obsess_over_services=0 32 | obsess_over_hosts=0 33 | check_service_freshness=1 34 | check_host_freshness=0 35 | enable_flap_detection=1 36 | enable_failure_prediction=1 37 | process_performance_data=0 38 | global_host_event_handler= 39 | global_service_event_handler= 40 | next_comment_id=17 41 | next_downtime_id=1 42 | next_event_id=834 43 | next_problem_id=397 44 | next_notification_id=116 45 | total_external_command_buffer_slots=4096 46 | used_external_command_buffer_slots=0 47 | high_external_command_buffer_slots=1 48 | active_scheduled_host_check_stats=3,15,42 49 | active_ondemand_host_check_stats=0,0,0 50 | passive_host_check_stats=0,0,0 51 | active_scheduled_service_check_stats=11,74,226 52 | active_ondemand_service_check_stats=0,0,0 53 | passive_service_check_stats=0,0,0 54 | cached_host_check_stats=0,0,0 55 | cached_service_check_stats=0,0,0 56 | external_command_stats=0,0,0 57 | parallel_host_check_stats=3,15,42 58 | serial_host_check_stats=0,0,0 59 | event_profiling_enabled=0 60 | } 61 | 62 | hoststatus { 63 | host_name=alpha 64 | modified_attributes=0 65 | check_command=check-host-alive 66 | check_period= 67 | notification_period=24x7 68 | check_interval=5.000000 69 | retry_interval=1.000000 70 | event_handler= 71 | has_been_checked=1 72 | should_be_scheduled=1 73 | check_execution_time=0.015 74 | check_latency=0.230 75 | check_type=0 76 | current_state=23 77 | last_hard_state=0 78 | last_event_id=0 79 | current_event_id=0 80 | current_problem_id=0 81 | last_problem_id=0 82 | plugin_output=PING OK - Packet loss = 0%, RTA = 0.73 ms 83 | long_plugin_output= 84 | performance_data=rta=0.731000ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 85 | last_check=1280306906 86 | next_check=1280307216 87 | check_options=0 88 | current_attempt=1 89 | max_attempts=10 90 | state_type=1 91 | last_state_change=1279063569 92 | last_hard_state_change=1279063569 93 | last_time_up=1280306916 94 | last_time_down=0 95 | last_time_unreachable=0 96 | last_notification=0 97 | next_notification=0 98 | no_more_notifications=0 99 | current_notification_number=0 100 | current_notification_id=0 101 | notifications_enabled=1 102 | problem_has_been_acknowledged=0 103 | acknowledgement_type=0 104 | active_checks_enabled=1 105 | passive_checks_enabled=1 106 | event_handler_enabled=1 107 | flap_detection_enabled=1 108 | failure_prediction_enabled=1 109 | process_performance_data=1 110 | obsess_over_host=1 111 | last_update=1280306916 112 | is_flapping=0 113 | percent_state_change=0.00 114 | scheduled_downtime_depth=0 115 | } 116 | 117 | hoststatus { 118 | host_name=aneurysm 119 | modified_attributes=0 120 | check_command=check-host-alive 121 | check_period= 122 | notification_period=24x7 123 | check_interval=5.000000 124 | retry_interval=1.000000 125 | event_handler= 126 | has_been_checked=1 127 | should_be_scheduled=1 128 | check_execution_time=0.014 129 | check_latency=0.008 130 | check_type=0 131 | current_state=2 132 | last_hard_state=0 133 | last_event_id=0 134 | current_event_id=0 135 | current_problem_id=0 136 | last_problem_id=0 137 | plugin_output=PING OK - Packet loss = 0%, RTA = 0.10 ms 138 | long_plugin_output= 139 | performance_data=rta=0.099000ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 140 | last_check=1280306846 141 | next_check=1280307156 142 | check_options=0 143 | current_attempt=1 144 | max_attempts=10 145 | state_type=1 146 | last_state_change=1279063581 147 | last_hard_state_change=1279063581 148 | last_time_up=1280306856 149 | last_time_down=0 150 | last_time_unreachable=0 151 | last_notification=0 152 | next_notification=0 153 | no_more_notifications=0 154 | current_notification_number=0 155 | current_notification_id=108 156 | notifications_enabled=1 157 | problem_has_been_acknowledged=0 158 | acknowledgement_type=0 159 | active_checks_enabled=1 160 | passive_checks_enabled=1 161 | event_handler_enabled=1 162 | flap_detection_enabled=1 163 | failure_prediction_enabled=1 164 | process_performance_data=1 165 | obsess_over_host=1 166 | last_update=1280306916 167 | is_flapping=0 168 | percent_state_change=0.00 169 | scheduled_downtime_depth=0 170 | } 171 | 172 | hoststatus { 173 | host_name=steel-vpn 174 | modified_attributes=0 175 | check_command=check-host-alive 176 | check_period= 177 | notification_period=24x7 178 | check_interval=5.000000 179 | retry_interval=1.000000 180 | event_handler= 181 | has_been_checked=1 182 | should_be_scheduled=1 183 | check_execution_time=0.032 184 | check_latency=0.089 185 | check_type=0 186 | current_state=0 187 | last_hard_state=0 188 | last_event_id=831 189 | current_event_id=832 190 | current_problem_id=0 191 | last_problem_id=396 192 | plugin_output=PING OK - Packet loss = 0%, RTA = 18.01 ms 193 | long_plugin_output= 194 | performance_data=rta=18.010000ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 195 | last_check=1280306726 196 | next_check=1280307036 197 | check_options=0 198 | current_attempt=1 199 | max_attempts=10 200 | state_type=1 201 | last_state_change=1280280076 202 | last_hard_state_change=1279704469 203 | last_time_up=1280306736 204 | last_time_down=1280280006 205 | last_time_unreachable=0 206 | last_notification=0 207 | next_notification=0 208 | no_more_notifications=0 209 | current_notification_number=0 210 | current_notification_id=73 211 | notifications_enabled=1 212 | problem_has_been_acknowledged=0 213 | acknowledgement_type=0 214 | active_checks_enabled=1 215 | passive_checks_enabled=1 216 | event_handler_enabled=1 217 | flap_detection_enabled=1 218 | failure_prediction_enabled=1 219 | process_performance_data=1 220 | obsess_over_host=1 221 | last_update=1280306916 222 | is_flapping=0 223 | percent_state_change=0.00 224 | scheduled_downtime_depth=0 225 | } 226 | 227 | hoststatus { 228 | host_name=steel.derf0.net 229 | modified_attributes=0 230 | check_command=check-host-alive 231 | check_period= 232 | notification_period=24x7 233 | check_interval=5.000000 234 | retry_interval=1.000000 235 | event_handler= 236 | has_been_checked=1 237 | should_be_scheduled=1 238 | check_execution_time=0.030 239 | check_latency=0.183 240 | check_type=0 241 | current_state=0 242 | last_hard_state=0 243 | last_event_id=770 244 | current_event_id=771 245 | current_problem_id=0 246 | last_problem_id=365 247 | plugin_output=PING OK - Packet loss = 0%, RTA = 16.75 ms 248 | long_plugin_output= 249 | performance_data=rta=16.750999ms;5000.000000;5000.000000;0.000000 pl=0%;100;100;0 250 | last_check=1280306896 251 | next_check=1280307206 252 | check_options=0 253 | current_attempt=1 254 | max_attempts=10 255 | state_type=1 256 | last_state_change=1280221316 257 | last_hard_state_change=1279124213 258 | last_time_up=1280306906 259 | last_time_down=1280221286 260 | last_time_unreachable=0 261 | last_notification=0 262 | next_notification=0 263 | no_more_notifications=0 264 | current_notification_number=0 265 | current_notification_id=0 266 | notifications_enabled=1 267 | problem_has_been_acknowledged=0 268 | acknowledgement_type=0 269 | active_checks_enabled=1 270 | passive_checks_enabled=1 271 | event_handler_enabled=1 272 | flap_detection_enabled=1 273 | failure_prediction_enabled=1 274 | process_performance_data=1 275 | obsess_over_host=1 276 | last_update=1280306916 277 | is_flapping=0 278 | percent_state_change=0.00 279 | scheduled_downtime_depth=0 280 | } 281 | 282 | servicestatus { 283 | host_name=alpha 284 | service_description=HTTP 285 | modified_attributes=0 286 | check_command=check_http 287 | check_period=24x7 288 | notification_period=24x7 289 | check_interval=5.000000 290 | retry_interval=1.000000 291 | event_handler= 292 | has_been_checked=1 293 | should_be_scheduled=1 294 | check_execution_time=0.032 295 | check_latency=0.185 296 | check_type=0 297 | current_state=0 298 | last_hard_state=0 299 | last_event_id=415 300 | current_event_id=416 301 | current_problem_id=0 302 | last_problem_id=206 303 | current_attempt=1 304 | max_attempts=4 305 | state_type=1 306 | last_state_change=1279497626 307 | last_hard_state_change=1279063569 308 | last_time_ok=1280306762 309 | last_time_warning=0 310 | last_time_unknown=0 311 | last_time_critical=1279497566 312 | plugin_output=HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 313 | long_plugin_output= 314 | performance_data=time=0.018710s;;;0.000000 size=2333B;;;0 315 | last_check=1280306762 316 | next_check=1280307062 317 | check_options=0 318 | current_notification_number=0 319 | current_notification_id=1 320 | last_notification=0 321 | next_notification=0 322 | no_more_notifications=0 323 | notifications_enabled=1 324 | active_checks_enabled=1 325 | passive_checks_enabled=1 326 | event_handler_enabled=1 327 | problem_has_been_acknowledged=0 328 | acknowledgement_type=0 329 | flap_detection_enabled=1 330 | failure_prediction_enabled=1 331 | process_performance_data=1 332 | obsess_over_service=1 333 | last_update=1280306916 334 | is_flapping=0 335 | percent_state_change=0.00 336 | scheduled_downtime_depth=0 337 | } 338 | 339 | servicestatus { 340 | host_name=aneurysm 341 | service_description=Disk: / 342 | modified_attributes=0 343 | check_command=check_disk!20%!10%!/dev/mapper/aneurysm-root 344 | check_period=24x7 345 | notification_period=24x7 346 | check_interval=5.000000 347 | retry_interval=1.000000 348 | event_handler= 349 | has_been_checked=1 350 | should_be_scheduled=1 351 | check_execution_time=0.014 352 | check_latency=0.241 353 | check_type=0 354 | current_state=23 355 | last_hard_state=0 356 | last_event_id=0 357 | current_event_id=0 358 | current_problem_id=0 359 | last_problem_id=0 360 | current_attempt=1 361 | max_attempts=4 362 | state_type=1 363 | last_state_change=1279728981 364 | last_hard_state_change=1279728981 365 | last_time_ok=1280306781 366 | last_time_warning=0 367 | last_time_unknown=0 368 | last_time_critical=0 369 | plugin_output=DISK OK - free space: / 4846 MB (75% inode=90%): 370 | long_plugin_output= 371 | performance_data=/=1539MB;5382;6055;0;6728 372 | last_check=1280306781 373 | next_check=1280307081 374 | check_options=0 375 | current_notification_number=0 376 | current_notification_id=0 377 | last_notification=0 378 | next_notification=0 379 | no_more_notifications=0 380 | notifications_enabled=1 381 | active_checks_enabled=1 382 | passive_checks_enabled=1 383 | event_handler_enabled=1 384 | problem_has_been_acknowledged=0 385 | acknowledgement_type=0 386 | flap_detection_enabled=1 387 | failure_prediction_enabled=1 388 | process_performance_data=1 389 | obsess_over_service=1 390 | last_update=1280306916 391 | is_flapping=0 392 | percent_state_change=0.00 393 | scheduled_downtime_depth=0 394 | } 395 | 396 | servicestatus { 397 | host_name=aneurysm 398 | service_description=Disk: /boot 399 | modified_attributes=0 400 | check_command=check_disk!20%!10%!/dev/sda1 401 | check_period=24x7 402 | notification_period=24x7 403 | check_interval=5.000000 404 | retry_interval=1.000000 405 | event_handler= 406 | has_been_checked=1 407 | should_be_scheduled=1 408 | check_execution_time=0.013 409 | check_latency=0.196 410 | check_type=0 411 | current_state=0 412 | last_hard_state=0 413 | last_event_id=0 414 | current_event_id=0 415 | current_problem_id=0 416 | last_problem_id=0 417 | current_attempt=1 418 | max_attempts=4 419 | state_type=1 420 | last_state_change=1279729053 421 | last_hard_state_change=1279729053 422 | last_time_ok=1280306641 423 | last_time_warning=0 424 | last_time_unknown=0 425 | last_time_critical=0 426 | plugin_output=DISK OK - free space: /boot 119 MB (53% inode=99%): 427 | long_plugin_output= 428 | performance_data=/boot=103MB;188;211;0;235 429 | last_check=1280306641 430 | next_check=1280306941 431 | check_options=0 432 | current_notification_number=0 433 | current_notification_id=0 434 | last_notification=0 435 | next_notification=0 436 | no_more_notifications=0 437 | notifications_enabled=1 438 | active_checks_enabled=1 439 | passive_checks_enabled=1 440 | event_handler_enabled=1 441 | problem_has_been_acknowledged=0 442 | acknowledgement_type=0 443 | flap_detection_enabled=1 444 | failure_prediction_enabled=1 445 | process_performance_data=1 446 | obsess_over_service=1 447 | last_update=1280306916 448 | is_flapping=0 449 | percent_state_change=0.00 450 | scheduled_downtime_depth=0 451 | } 452 | 453 | servicestatus { 454 | host_name=aneurysm 455 | service_description=Disk: /data 456 | modified_attributes=0 457 | check_command=check_disk!20%!10%!/dev/mapper/misc-data 458 | check_period=24x7 459 | notification_period=24x7 460 | check_interval=5.000000 461 | retry_interval=1.000000 462 | event_handler= 463 | has_been_checked=1 464 | should_be_scheduled=1 465 | check_execution_time=0.012 466 | check_latency=0.112 467 | check_type=0 468 | current_state=0 469 | last_hard_state=0 470 | last_event_id=0 471 | current_event_id=0 472 | current_problem_id=0 473 | last_problem_id=0 474 | current_attempt=1 475 | max_attempts=4 476 | state_type=1 477 | last_state_change=1279729125 478 | last_hard_state_change=1279729125 479 | last_time_ok=1280306625 480 | last_time_warning=0 481 | last_time_unknown=0 482 | last_time_critical=0 483 | plugin_output=DISK OK - free space: /data 60091 MB (48% inode=99%): 484 | long_plugin_output= 485 | performance_data=/data=63760MB;99080;111465;0;123851 486 | last_check=1280306625 487 | next_check=1280306925 488 | check_options=0 489 | current_notification_number=0 490 | current_notification_id=0 491 | last_notification=0 492 | next_notification=0 493 | no_more_notifications=0 494 | notifications_enabled=1 495 | active_checks_enabled=1 496 | passive_checks_enabled=1 497 | event_handler_enabled=1 498 | problem_has_been_acknowledged=0 499 | acknowledgement_type=0 500 | flap_detection_enabled=1 501 | failure_prediction_enabled=1 502 | process_performance_data=1 503 | obsess_over_service=1 504 | last_update=1280306916 505 | is_flapping=0 506 | percent_state_change=0.00 507 | scheduled_downtime_depth=0 508 | } 509 | 510 | servicestatus { 511 | host_name=aneurysm 512 | service_description=Disk: /home 513 | modified_attributes=0 514 | check_command=check_disk!20%!10%!/dev/mapper/aneurysm-home 515 | check_period=24x7 516 | notification_period=24x7 517 | check_interval=5.000000 518 | retry_interval=1.000000 519 | event_handler= 520 | has_been_checked=1 521 | should_be_scheduled=1 522 | check_execution_time=0.128 523 | check_latency=0.192 524 | check_type=0 525 | current_state=0 526 | last_hard_state=0 527 | last_event_id=0 528 | current_event_id=0 529 | current_problem_id=0 530 | last_problem_id=0 531 | current_attempt=1 532 | max_attempts=4 533 | state_type=1 534 | last_state_change=1279729196 535 | last_hard_state_change=1279729196 536 | last_time_ok=1280306696 537 | last_time_warning=0 538 | last_time_unknown=0 539 | last_time_critical=0 540 | plugin_output=DISK OK - free space: /home 58378 MB (59% inode=98%): 541 | long_plugin_output= 542 | performance_data=/home=40563MB;83389;93813;0;104237 543 | last_check=1280306696 544 | next_check=1280306996 545 | check_options=0 546 | current_notification_number=0 547 | current_notification_id=109 548 | last_notification=0 549 | next_notification=0 550 | no_more_notifications=0 551 | notifications_enabled=1 552 | active_checks_enabled=1 553 | passive_checks_enabled=1 554 | event_handler_enabled=1 555 | problem_has_been_acknowledged=0 556 | acknowledgement_type=0 557 | flap_detection_enabled=1 558 | failure_prediction_enabled=1 559 | process_performance_data=1 560 | obsess_over_service=1 561 | last_update=1280306916 562 | is_flapping=0 563 | percent_state_change=0.00 564 | scheduled_downtime_depth=0 565 | } 566 | 567 | servicestatus { 568 | host_name=aneurysm 569 | service_description=HTTP 570 | modified_attributes=0 571 | check_command=check_http 572 | check_period=24x7 573 | notification_period=24x7 574 | check_interval=5.000000 575 | retry_interval=1.000000 576 | event_handler= 577 | has_been_checked=1 578 | should_be_scheduled=1 579 | check_execution_time=0.014 580 | check_latency=0.191 581 | check_type=0 582 | current_state=0 583 | last_hard_state=0 584 | last_event_id=0 585 | current_event_id=0 586 | current_problem_id=0 587 | last_problem_id=0 588 | current_attempt=1 589 | max_attempts=4 590 | state_type=1 591 | last_state_change=1279063677 592 | last_hard_state_change=1279063677 593 | last_time_ok=1280306898 594 | last_time_warning=0 595 | last_time_unknown=0 596 | last_time_critical=0 597 | plugin_output=HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 598 | long_plugin_output= 599 | performance_data=time=0.000952s;;;0.000000 size=7467B;;;0 600 | last_check=1280306898 601 | next_check=1280307198 602 | check_options=0 603 | current_notification_number=0 604 | current_notification_id=0 605 | last_notification=0 606 | next_notification=0 607 | no_more_notifications=0 608 | notifications_enabled=1 609 | active_checks_enabled=1 610 | passive_checks_enabled=1 611 | event_handler_enabled=1 612 | problem_has_been_acknowledged=0 613 | acknowledgement_type=0 614 | flap_detection_enabled=1 615 | failure_prediction_enabled=1 616 | process_performance_data=1 617 | obsess_over_service=1 618 | last_update=1280306916 619 | is_flapping=0 620 | percent_state_change=0.00 621 | scheduled_downtime_depth=0 622 | } 623 | 624 | servicestatus { 625 | host_name=aneurysm 626 | service_description=HTTPS 627 | modified_attributes=0 628 | check_command=check_https 629 | check_period=24x7 630 | notification_period=24x7 631 | check_interval=5.000000 632 | retry_interval=1.000000 633 | event_handler= 634 | has_been_checked=1 635 | should_be_scheduled=1 636 | check_execution_time=0.031 637 | check_latency=0.211 638 | check_type=0 639 | current_state=0 640 | last_hard_state=0 641 | last_event_id=0 642 | current_event_id=0 643 | current_problem_id=0 644 | last_problem_id=0 645 | current_attempt=1 646 | max_attempts=4 647 | state_type=1 648 | last_state_change=1279063785 649 | last_hard_state_change=1279063785 650 | last_time_ok=1280306766 651 | last_time_warning=0 652 | last_time_unknown=0 653 | last_time_critical=0 654 | plugin_output=HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 655 | long_plugin_output= 656 | performance_data=time=0.017666s;;;0.000000 size=7467B;;;0 657 | last_check=1280306766 658 | next_check=1280307066 659 | check_options=0 660 | current_notification_number=0 661 | current_notification_id=0 662 | last_notification=0 663 | next_notification=0 664 | no_more_notifications=0 665 | notifications_enabled=1 666 | active_checks_enabled=1 667 | passive_checks_enabled=1 668 | event_handler_enabled=1 669 | problem_has_been_acknowledged=0 670 | acknowledgement_type=0 671 | flap_detection_enabled=1 672 | failure_prediction_enabled=1 673 | process_performance_data=1 674 | obsess_over_service=1 675 | last_update=1280306916 676 | is_flapping=0 677 | percent_state_change=0.00 678 | scheduled_downtime_depth=0 679 | } 680 | 681 | servicestatus { 682 | host_name=aneurysm 683 | service_description=Load 684 | modified_attributes=0 685 | check_command=check_load!15!10!5!30!25!20 686 | check_period=24x7 687 | notification_period=24x7 688 | check_interval=5.000000 689 | retry_interval=1.000000 690 | event_handler= 691 | has_been_checked=1 692 | should_be_scheduled=1 693 | check_execution_time=0.012 694 | check_latency=0.098 695 | check_type=0 696 | current_state=2 697 | last_hard_state=0 698 | last_event_id=0 699 | current_event_id=0 700 | current_problem_id=0 701 | last_problem_id=0 702 | current_attempt=1 703 | max_attempts=4 704 | state_type=1 705 | last_state_change=1279729231 706 | last_hard_state_change=1279729231 707 | last_time_ok=1280306731 708 | last_time_warning=0 709 | last_time_unknown=0 710 | last_time_critical=0 711 | plugin_output=OK - load average: 0.17, 0.13, 0.09 712 | long_plugin_output= 713 | performance_data=load1=0.170;15.000;30.000;0; load5=0.130;10.000;25.000;0; load15=0.090;5.000;20.000;0; 714 | last_check=1280306731 715 | next_check=1280307031 716 | check_options=0 717 | current_notification_number=0 718 | current_notification_id=0 719 | last_notification=0 720 | next_notification=0 721 | no_more_notifications=0 722 | notifications_enabled=1 723 | active_checks_enabled=1 724 | passive_checks_enabled=1 725 | event_handler_enabled=1 726 | problem_has_been_acknowledged=0 727 | acknowledgement_type=0 728 | flap_detection_enabled=1 729 | failure_prediction_enabled=1 730 | process_performance_data=1 731 | obsess_over_service=1 732 | last_update=1280306916 733 | is_flapping=0 734 | percent_state_change=0.00 735 | scheduled_downtime_depth=0 736 | } 737 | 738 | servicestatus { 739 | host_name=aneurysm 740 | service_description=Processes 741 | modified_attributes=0 742 | check_command=check_procs!150!200 743 | check_period=24x7 744 | notification_period=24x7 745 | check_interval=5.000000 746 | retry_interval=1.000000 747 | event_handler= 748 | has_been_checked=1 749 | should_be_scheduled=1 750 | check_execution_time=0.037 751 | check_latency=0.154 752 | check_type=0 753 | current_state=3 754 | last_hard_state=0 755 | last_event_id=765 756 | current_event_id=766 757 | current_problem_id=0 758 | last_problem_id=362 759 | current_attempt=1 760 | max_attempts=4 761 | state_type=1 762 | last_state_change=1280167248 763 | last_hard_state_change=1279729299 764 | last_time_ok=1280306748 765 | last_time_warning=1280167188 766 | last_time_unknown=0 767 | last_time_critical=0 768 | plugin_output=PROCS OK: 118 processes 769 | long_plugin_output= 770 | performance_data= 771 | last_check=1280306748 772 | next_check=1280307048 773 | check_options=0 774 | current_notification_number=0 775 | current_notification_id=0 776 | last_notification=0 777 | next_notification=0 778 | no_more_notifications=0 779 | notifications_enabled=1 780 | active_checks_enabled=1 781 | passive_checks_enabled=1 782 | event_handler_enabled=1 783 | problem_has_been_acknowledged=0 784 | acknowledgement_type=0 785 | flap_detection_enabled=1 786 | failure_prediction_enabled=1 787 | process_performance_data=1 788 | obsess_over_service=1 789 | last_update=1280306916 790 | is_flapping=0 791 | percent_state_change=0.00 792 | scheduled_downtime_depth=0 793 | } 794 | 795 | servicestatus { 796 | host_name=aneurysm 797 | service_description=SMTP 798 | modified_attributes=0 799 | check_command=check_smtp_4 800 | check_period=24x7 801 | notification_period=24x7 802 | check_interval=5.000000 803 | retry_interval=1.000000 804 | event_handler= 805 | has_been_checked=1 806 | should_be_scheduled=1 807 | check_execution_time=0.051 808 | check_latency=0.091 809 | check_type=0 810 | current_state=0 811 | last_hard_state=0 812 | last_event_id=0 813 | current_event_id=0 814 | current_problem_id=0 815 | last_problem_id=0 816 | current_attempt=1 817 | max_attempts=4 818 | state_type=1 819 | last_state_change=1279136208 820 | last_hard_state_change=1279136208 821 | last_time_ok=1280306616 822 | last_time_warning=0 823 | last_time_unknown=0 824 | last_time_critical=0 825 | plugin_output=SMTP OK - 0.038 sec. response time 826 | long_plugin_output= 827 | performance_data=time=0.037631s;;;0.000000 828 | last_check=1280306616 829 | next_check=1280306916 830 | check_options=0 831 | current_notification_number=0 832 | current_notification_id=0 833 | last_notification=0 834 | next_notification=0 835 | no_more_notifications=0 836 | notifications_enabled=1 837 | active_checks_enabled=1 838 | passive_checks_enabled=1 839 | event_handler_enabled=1 840 | problem_has_been_acknowledged=0 841 | acknowledgement_type=0 842 | flap_detection_enabled=1 843 | failure_prediction_enabled=1 844 | process_performance_data=1 845 | obsess_over_service=1 846 | last_update=1280306916 847 | is_flapping=0 848 | percent_state_change=0.00 849 | scheduled_downtime_depth=0 850 | } 851 | 852 | servicestatus { 853 | host_name=aneurysm 854 | service_description=SSH 855 | modified_attributes=0 856 | check_command=check_ssh 857 | check_period=24x7 858 | notification_period=24x7 859 | check_interval=5.000000 860 | retry_interval=1.000000 861 | event_handler= 862 | has_been_checked=1 863 | should_be_scheduled=1 864 | check_execution_time=0.030 865 | check_latency=0.250 866 | check_type=0 867 | current_state=0 868 | last_hard_state=0 869 | last_event_id=0 870 | current_event_id=0 871 | current_problem_id=0 872 | last_problem_id=0 873 | current_attempt=1 874 | max_attempts=4 875 | state_type=1 876 | last_state_change=1279063689 877 | last_hard_state_change=1279063689 878 | last_time_ok=1280306913 879 | last_time_warning=0 880 | last_time_unknown=0 881 | last_time_critical=0 882 | plugin_output=SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 883 | long_plugin_output= 884 | performance_data= 885 | last_check=1280306913 886 | next_check=1280307213 887 | check_options=0 888 | current_notification_number=0 889 | current_notification_id=0 890 | last_notification=0 891 | next_notification=0 892 | no_more_notifications=0 893 | notifications_enabled=1 894 | active_checks_enabled=1 895 | passive_checks_enabled=1 896 | event_handler_enabled=1 897 | problem_has_been_acknowledged=0 898 | acknowledgement_type=0 899 | flap_detection_enabled=1 900 | failure_prediction_enabled=1 901 | process_performance_data=1 902 | obsess_over_service=1 903 | last_update=1280306916 904 | is_flapping=0 905 | percent_state_change=0.00 906 | scheduled_downtime_depth=0 907 | } 908 | 909 | servicestatus { 910 | host_name=aneurysm 911 | service_description=SSH password login disabled 912 | modified_attributes=0 913 | check_command=check_ssh_no_password_login 914 | check_period=24x7 915 | notification_period=24x7 916 | check_interval=15.000000 917 | retry_interval=1.000000 918 | event_handler= 919 | has_been_checked=1 920 | should_be_scheduled=1 921 | check_execution_time=0.144 922 | check_latency=0.049 923 | check_type=0 924 | current_state=0 925 | last_hard_state=0 926 | last_event_id=0 927 | current_event_id=0 928 | current_problem_id=0 929 | last_problem_id=0 930 | current_attempt=1 931 | max_attempts=4 932 | state_type=1 933 | last_state_change=1279753339 934 | last_hard_state_change=1279753339 935 | last_time_ok=1280306868 936 | last_time_warning=0 937 | last_time_unknown=0 938 | last_time_critical=0 939 | plugin_output=Password login disabled (server accepts publickey) 940 | long_plugin_output= 941 | performance_data= 942 | last_check=1280306868 943 | next_check=1280307768 944 | check_options=0 945 | current_notification_number=0 946 | current_notification_id=0 947 | last_notification=0 948 | next_notification=0 949 | no_more_notifications=0 950 | notifications_enabled=1 951 | active_checks_enabled=1 952 | passive_checks_enabled=1 953 | event_handler_enabled=1 954 | problem_has_been_acknowledged=0 955 | acknowledgement_type=0 956 | flap_detection_enabled=1 957 | failure_prediction_enabled=1 958 | process_performance_data=1 959 | obsess_over_service=1 960 | last_update=1280306916 961 | is_flapping=0 962 | percent_state_change=0.00 963 | scheduled_downtime_depth=0 964 | } 965 | 966 | servicestatus { 967 | host_name=aneurysm 968 | service_description=System Backup 969 | modified_attributes=0 970 | check_command=return-unknown 971 | check_period=24x7 972 | notification_period=24x7 973 | check_interval=5.000000 974 | retry_interval=1.000000 975 | event_handler= 976 | has_been_checked=1 977 | should_be_scheduled=0 978 | check_execution_time=0.000 979 | check_latency=0.579 980 | check_type=1 981 | current_state=0 982 | last_hard_state=0 983 | last_event_id=0 984 | current_event_id=0 985 | current_problem_id=0 986 | last_problem_id=0 987 | current_attempt=1 988 | max_attempts=1 989 | state_type=1 990 | last_state_change=1279065910 991 | last_hard_state_change=1279065910 992 | last_time_ok=1280288856 993 | last_time_warning=0 994 | last_time_unknown=0 995 | last_time_critical=0 996 | plugin_output=/dev/mapper/misc-backup 109G 40G 69G 37% /backup 997 | long_plugin_output= 998 | performance_data= 999 | last_check=1280288856 1000 | next_check=0 1001 | check_options=0 1002 | current_notification_number=0 1003 | current_notification_id=0 1004 | last_notification=0 1005 | next_notification=0 1006 | no_more_notifications=0 1007 | notifications_enabled=1 1008 | active_checks_enabled=0 1009 | passive_checks_enabled=1 1010 | event_handler_enabled=1 1011 | problem_has_been_acknowledged=0 1012 | acknowledgement_type=0 1013 | flap_detection_enabled=1 1014 | failure_prediction_enabled=1 1015 | process_performance_data=1 1016 | obsess_over_service=1 1017 | last_update=1280306916 1018 | is_flapping=0 1019 | percent_state_change=0.00 1020 | scheduled_downtime_depth=0 1021 | } 1022 | 1023 | servicestatus { 1024 | host_name=steel-vpn 1025 | service_description=SMTP 1026 | modified_attributes=0 1027 | check_command=check_smtp_4 1028 | check_period=24x7 1029 | notification_period=24x7 1030 | check_interval=5.000000 1031 | retry_interval=1.000000 1032 | event_handler= 1033 | has_been_checked=1 1034 | should_be_scheduled=1 1035 | check_execution_time=0.093 1036 | check_latency=0.134 1037 | check_type=0 1038 | current_state=0 1039 | last_hard_state=0 1040 | last_event_id=830 1041 | current_event_id=833 1042 | current_problem_id=0 1043 | last_problem_id=395 1044 | current_attempt=1 1045 | max_attempts=4 1046 | state_type=1 1047 | last_state_change=1280280337 1048 | last_hard_state_change=1280280337 1049 | last_time_ok=1280306737 1050 | last_time_warning=0 1051 | last_time_unknown=0 1052 | last_time_critical=1280280037 1053 | plugin_output=SMTP OK - 0.080 sec. response time 1054 | long_plugin_output= 1055 | performance_data=time=0.079648s;;;0.000000 1056 | last_check=1280306737 1057 | next_check=1280307037 1058 | check_options=0 1059 | current_notification_number=0 1060 | current_notification_id=0 1061 | last_notification=0 1062 | next_notification=0 1063 | no_more_notifications=0 1064 | notifications_enabled=1 1065 | active_checks_enabled=1 1066 | passive_checks_enabled=1 1067 | event_handler_enabled=1 1068 | problem_has_been_acknowledged=0 1069 | acknowledgement_type=0 1070 | flap_detection_enabled=1 1071 | failure_prediction_enabled=1 1072 | process_performance_data=1 1073 | obsess_over_service=1 1074 | last_update=1280306916 1075 | is_flapping=0 1076 | percent_state_change=0.00 1077 | scheduled_downtime_depth=0 1078 | } 1079 | 1080 | servicestatus { 1081 | host_name=steel.derf0.net 1082 | service_description=Disk: lv-home 1083 | modified_attributes=0 1084 | check_command=check_by_ssh_fc!check_home 1085 | check_period=24x7 1086 | notification_period=24x7 1087 | check_interval=5.000000 1088 | retry_interval=1.000000 1089 | event_handler= 1090 | has_been_checked=1 1091 | should_be_scheduled=1 1092 | check_execution_time=0.807 1093 | check_latency=0.116 1094 | check_type=0 1095 | current_state=0 1096 | last_hard_state=0 1097 | last_event_id=0 1098 | current_event_id=0 1099 | current_problem_id=0 1100 | last_problem_id=0 1101 | current_attempt=1 1102 | max_attempts=4 1103 | state_type=1 1104 | last_state_change=1279710033 1105 | last_hard_state_change=1279710033 1106 | last_time_ok=1280306733 1107 | last_time_warning=0 1108 | last_time_unknown=0 1109 | last_time_critical=0 1110 | plugin_output=DISK OK - free space: /home 20207 MB (95% inode=99%): 1111 | long_plugin_output= 1112 | performance_data=/home=1049MB;17915;20154;0;22394 1113 | last_check=1280306733 1114 | next_check=1280307033 1115 | check_options=0 1116 | current_notification_number=0 1117 | current_notification_id=0 1118 | last_notification=0 1119 | next_notification=0 1120 | no_more_notifications=0 1121 | notifications_enabled=1 1122 | active_checks_enabled=1 1123 | passive_checks_enabled=1 1124 | event_handler_enabled=1 1125 | problem_has_been_acknowledged=0 1126 | acknowledgement_type=0 1127 | flap_detection_enabled=1 1128 | failure_prediction_enabled=1 1129 | process_performance_data=1 1130 | obsess_over_service=1 1131 | last_update=1280306916 1132 | is_flapping=0 1133 | percent_state_change=0.00 1134 | scheduled_downtime_depth=0 1135 | } 1136 | 1137 | servicestatus { 1138 | host_name=steel.derf0.net 1139 | service_description=Disk: lv-root 1140 | modified_attributes=0 1141 | check_command=check_by_ssh_fc!check_root 1142 | check_period=24x7 1143 | notification_period=24x7 1144 | check_interval=5.000000 1145 | retry_interval=1.000000 1146 | event_handler= 1147 | has_been_checked=1 1148 | should_be_scheduled=1 1149 | check_execution_time=0.808 1150 | check_latency=0.110 1151 | check_type=0 1152 | current_state=0 1153 | last_hard_state=0 1154 | last_event_id=0 1155 | current_event_id=0 1156 | current_problem_id=0 1157 | last_problem_id=0 1158 | current_attempt=1 1159 | max_attempts=4 1160 | state_type=1 1161 | last_state_change=1279710107 1162 | last_hard_state_change=1279710107 1163 | last_time_ok=1280306684 1164 | last_time_warning=0 1165 | last_time_unknown=0 1166 | last_time_critical=0 1167 | plugin_output=DISK OK - free space: / 5330 MB (85% inode=90%): 1168 | long_plugin_output= 1169 | performance_data=/=902MB;5253;5910;0;6567 1170 | last_check=1280306684 1171 | next_check=1280306984 1172 | check_options=0 1173 | current_notification_number=0 1174 | current_notification_id=0 1175 | last_notification=0 1176 | next_notification=0 1177 | no_more_notifications=0 1178 | notifications_enabled=1 1179 | active_checks_enabled=1 1180 | passive_checks_enabled=1 1181 | event_handler_enabled=1 1182 | problem_has_been_acknowledged=0 1183 | acknowledgement_type=0 1184 | flap_detection_enabled=1 1185 | failure_prediction_enabled=1 1186 | process_performance_data=1 1187 | obsess_over_service=1 1188 | last_update=1280306916 1189 | is_flapping=0 1190 | percent_state_change=0.00 1191 | scheduled_downtime_depth=0 1192 | } 1193 | 1194 | servicestatus { 1195 | host_name=steel.derf0.net 1196 | service_description=Disk: vda1 1197 | modified_attributes=0 1198 | check_command=check_by_ssh_fc!check_vda1 1199 | check_period=24x7 1200 | notification_period=24x7 1201 | check_interval=5.000000 1202 | retry_interval=1.000000 1203 | event_handler= 1204 | has_been_checked=1 1205 | should_be_scheduled=1 1206 | check_execution_time=0.813 1207 | check_latency=0.212 1208 | check_type=0 1209 | current_state=0 1210 | last_hard_state=0 1211 | last_event_id=663 1212 | current_event_id=726 1213 | current_problem_id=0 1214 | last_problem_id=341 1215 | current_attempt=1 1216 | max_attempts=4 1217 | state_type=1 1218 | last_state_change=1279848500 1219 | last_hard_state_change=1279848500 1220 | last_time_ok=1280306900 1221 | last_time_warning=0 1222 | last_time_unknown=0 1223 | last_time_critical=1279848200 1224 | plugin_output=DISK OK - free space: /boot 190 MB (88% inode=99%): 1225 | long_plugin_output= 1226 | performance_data=/boot=25MB;181;204;0;227 1227 | last_check=1280306900 1228 | next_check=1280307200 1229 | check_options=0 1230 | current_notification_number=0 1231 | current_notification_id=0 1232 | last_notification=0 1233 | next_notification=0 1234 | no_more_notifications=0 1235 | notifications_enabled=1 1236 | active_checks_enabled=1 1237 | passive_checks_enabled=1 1238 | event_handler_enabled=1 1239 | problem_has_been_acknowledged=0 1240 | acknowledgement_type=0 1241 | flap_detection_enabled=1 1242 | failure_prediction_enabled=1 1243 | process_performance_data=1 1244 | obsess_over_service=1 1245 | last_update=1280306916 1246 | is_flapping=0 1247 | percent_state_change=0.00 1248 | scheduled_downtime_depth=0 1249 | } 1250 | 1251 | servicestatus { 1252 | host_name=steel.derf0.net 1253 | service_description=HTTP 1254 | modified_attributes=0 1255 | check_command=check_http 1256 | check_period=24x7 1257 | notification_period=24x7 1258 | check_interval=5.000000 1259 | retry_interval=1.000000 1260 | event_handler= 1261 | has_been_checked=1 1262 | should_be_scheduled=1 1263 | check_execution_time=0.054 1264 | check_latency=0.147 1265 | check_type=0 1266 | current_state=0 1267 | last_hard_state=0 1268 | last_event_id=659 1269 | current_event_id=736 1270 | current_problem_id=0 1271 | last_problem_id=337 1272 | current_attempt=1 1273 | max_attempts=4 1274 | state_type=1 1275 | last_state_change=1279848533 1276 | last_hard_state_change=1279848533 1277 | last_time_ok=1280306633 1278 | last_time_warning=1279136633 1279 | last_time_unknown=0 1280 | last_time_critical=1279848233 1281 | plugin_output=HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 1282 | long_plugin_output= 1283 | performance_data=time=0.040092s;;;0.000000 size=668B;;;0 1284 | last_check=1280306633 1285 | next_check=1280306933 1286 | check_options=0 1287 | current_notification_number=0 1288 | current_notification_id=6 1289 | last_notification=0 1290 | next_notification=0 1291 | no_more_notifications=0 1292 | notifications_enabled=1 1293 | active_checks_enabled=1 1294 | passive_checks_enabled=1 1295 | event_handler_enabled=1 1296 | problem_has_been_acknowledged=0 1297 | acknowledgement_type=0 1298 | flap_detection_enabled=1 1299 | failure_prediction_enabled=1 1300 | process_performance_data=1 1301 | obsess_over_service=1 1302 | last_update=1280306916 1303 | is_flapping=0 1304 | percent_state_change=0.00 1305 | scheduled_downtime_depth=0 1306 | } 1307 | 1308 | servicestatus { 1309 | host_name=steel.derf0.net 1310 | service_description=Load 1311 | modified_attributes=0 1312 | check_command=check_by_ssh_fc!check_load 1313 | check_period=24x7 1314 | notification_period=24x7 1315 | check_interval=5.000000 1316 | retry_interval=1.000000 1317 | event_handler= 1318 | has_been_checked=1 1319 | should_be_scheduled=1 1320 | check_execution_time=0.833 1321 | check_latency=0.202 1322 | check_type=0 1323 | current_state=0 1324 | last_hard_state=0 1325 | last_event_id=662 1326 | current_event_id=725 1327 | current_problem_id=0 1328 | last_problem_id=340 1329 | current_attempt=1 1330 | max_attempts=4 1331 | state_type=1 1332 | last_state_change=1279848499 1333 | last_hard_state_change=1279848499 1334 | last_time_ok=1280306899 1335 | last_time_warning=0 1336 | last_time_unknown=0 1337 | last_time_critical=1279848199 1338 | plugin_output=OK - load average: 0.00, 0.00, 0.00 1339 | long_plugin_output= 1340 | performance_data=load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0; 1341 | last_check=1280306899 1342 | next_check=1280307199 1343 | check_options=0 1344 | current_notification_number=0 1345 | current_notification_id=0 1346 | last_notification=0 1347 | next_notification=0 1348 | no_more_notifications=0 1349 | notifications_enabled=1 1350 | active_checks_enabled=1 1351 | passive_checks_enabled=1 1352 | event_handler_enabled=1 1353 | problem_has_been_acknowledged=0 1354 | acknowledgement_type=0 1355 | flap_detection_enabled=1 1356 | failure_prediction_enabled=1 1357 | process_performance_data=1 1358 | obsess_over_service=1 1359 | last_update=1280306916 1360 | is_flapping=0 1361 | percent_state_change=0.00 1362 | scheduled_downtime_depth=0 1363 | } 1364 | 1365 | servicestatus { 1366 | host_name=steel.derf0.net 1367 | service_description=Mail Queue 1368 | modified_attributes=0 1369 | check_command=check_by_ssh_fc!check_mailq_postfix 1370 | check_period=24x7 1371 | notification_period=24x7 1372 | check_interval=5.000000 1373 | retry_interval=1.000000 1374 | event_handler= 1375 | has_been_checked=1 1376 | should_be_scheduled=1 1377 | check_execution_time=0.918 1378 | check_latency=0.061 1379 | check_type=0 1380 | current_state=0 1381 | last_hard_state=0 1382 | last_event_id=618 1383 | current_event_id=703 1384 | current_problem_id=0 1385 | last_problem_id=310 1386 | current_attempt=1 1387 | max_attempts=4 1388 | state_type=1 1389 | last_state_change=1279848399 1390 | last_hard_state_change=1279848399 1391 | last_time_ok=1280306799 1392 | last_time_warning=0 1393 | last_time_unknown=0 1394 | last_time_critical=1279848099 1395 | plugin_output=OK: mailq reports queue is empty 1396 | long_plugin_output= 1397 | performance_data=unsent=0;10;20;0 1398 | last_check=1280306799 1399 | next_check=1280307099 1400 | check_options=0 1401 | current_notification_number=0 1402 | current_notification_id=0 1403 | last_notification=0 1404 | next_notification=0 1405 | no_more_notifications=0 1406 | notifications_enabled=1 1407 | active_checks_enabled=1 1408 | passive_checks_enabled=1 1409 | event_handler_enabled=1 1410 | problem_has_been_acknowledged=0 1411 | acknowledgement_type=0 1412 | flap_detection_enabled=1 1413 | failure_prediction_enabled=1 1414 | process_performance_data=1 1415 | obsess_over_service=1 1416 | last_update=1280306916 1417 | is_flapping=0 1418 | percent_state_change=0.00 1419 | scheduled_downtime_depth=0 1420 | } 1421 | 1422 | servicestatus { 1423 | host_name=steel.derf0.net 1424 | service_description=No open relay 1425 | modified_attributes=0 1426 | check_command=check_mail_no_relay 1427 | check_period=24x7 1428 | notification_period=24x7 1429 | check_interval=60.000000 1430 | retry_interval=1.000000 1431 | event_handler= 1432 | has_been_checked=1 1433 | should_be_scheduled=1 1434 | check_execution_time=0.314 1435 | check_latency=0.159 1436 | check_type=0 1437 | current_state=0 1438 | last_hard_state=0 1439 | last_event_id=0 1440 | current_event_id=0 1441 | current_problem_id=0 1442 | last_problem_id=0 1443 | current_attempt=1 1444 | max_attempts=4 1445 | state_type=1 1446 | last_state_change=1279664220 1447 | last_hard_state_change=1279664220 1448 | last_time_ok=1280306820 1449 | last_time_warning=0 1450 | last_time_unknown=0 1451 | last_time_critical=0 1452 | plugin_output=NORELAY OK: <** 554 5.7.1 : Relay access denied 1453 | long_plugin_output= 1454 | performance_data= 1455 | last_check=1280306820 1456 | next_check=1280310420 1457 | check_options=0 1458 | current_notification_number=0 1459 | current_notification_id=0 1460 | last_notification=0 1461 | next_notification=0 1462 | no_more_notifications=0 1463 | notifications_enabled=1 1464 | active_checks_enabled=1 1465 | passive_checks_enabled=1 1466 | event_handler_enabled=1 1467 | problem_has_been_acknowledged=0 1468 | acknowledgement_type=0 1469 | flap_detection_enabled=1 1470 | failure_prediction_enabled=1 1471 | process_performance_data=1 1472 | obsess_over_service=1 1473 | last_update=1280306916 1474 | is_flapping=0 1475 | percent_state_change=0.00 1476 | scheduled_downtime_depth=0 1477 | } 1478 | 1479 | servicestatus { 1480 | host_name=steel.derf0.net 1481 | service_description=Not Blacklisted 1482 | modified_attributes=0 1483 | check_command=check_rbl 1484 | check_period=24x7 1485 | notification_period=24x7 1486 | check_interval=60.000000 1487 | retry_interval=1.000000 1488 | event_handler= 1489 | has_been_checked=1 1490 | should_be_scheduled=1 1491 | check_execution_time=1.202 1492 | check_latency=0.098 1493 | check_type=0 1494 | current_state=0 1495 | last_hard_state=0 1496 | last_event_id=0 1497 | current_event_id=0 1498 | current_problem_id=0 1499 | last_problem_id=0 1500 | current_attempt=1 1501 | max_attempts=4 1502 | state_type=1 1503 | last_state_change=1279819422 1504 | last_hard_state_change=1279819422 1505 | last_time_ok=1280305722 1506 | last_time_warning=0 1507 | last_time_unknown=0 1508 | last_time_critical=0 1509 | plugin_output=CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 1510 | long_plugin_output= 1511 | performance_data=servers=0;1;1 time=1s;; 1512 | last_check=1280305722 1513 | next_check=1280309322 1514 | check_options=0 1515 | current_notification_number=0 1516 | current_notification_id=0 1517 | last_notification=0 1518 | next_notification=0 1519 | no_more_notifications=0 1520 | notifications_enabled=1 1521 | active_checks_enabled=1 1522 | passive_checks_enabled=1 1523 | event_handler_enabled=1 1524 | problem_has_been_acknowledged=0 1525 | acknowledgement_type=0 1526 | flap_detection_enabled=1 1527 | failure_prediction_enabled=1 1528 | process_performance_data=1 1529 | obsess_over_service=1 1530 | last_update=1280306916 1531 | is_flapping=0 1532 | percent_state_change=0.00 1533 | scheduled_downtime_depth=0 1534 | } 1535 | 1536 | servicestatus { 1537 | host_name=steel.derf0.net 1538 | service_description=Processes 1539 | modified_attributes=0 1540 | check_command=check_by_ssh_fc!check_procs 1541 | check_period=24x7 1542 | notification_period=24x7 1543 | check_interval=5.000000 1544 | retry_interval=1.000000 1545 | event_handler= 1546 | has_been_checked=1 1547 | should_be_scheduled=1 1548 | check_execution_time=0.848 1549 | check_latency=0.164 1550 | check_type=0 1551 | current_state=0 1552 | last_hard_state=0 1553 | last_event_id=610 1554 | current_event_id=698 1555 | current_problem_id=0 1556 | last_problem_id=304 1557 | current_attempt=1 1558 | max_attempts=4 1559 | state_type=1 1560 | last_state_change=1279848352 1561 | last_hard_state_change=1279848352 1562 | last_time_ok=1280306752 1563 | last_time_warning=0 1564 | last_time_unknown=0 1565 | last_time_critical=1279848052 1566 | plugin_output=PROCS OK: 82 processes 1567 | long_plugin_output= 1568 | performance_data= 1569 | last_check=1280306752 1570 | next_check=1280307052 1571 | check_options=0 1572 | current_notification_number=0 1573 | current_notification_id=0 1574 | last_notification=0 1575 | next_notification=0 1576 | no_more_notifications=0 1577 | notifications_enabled=1 1578 | active_checks_enabled=1 1579 | passive_checks_enabled=1 1580 | event_handler_enabled=1 1581 | problem_has_been_acknowledged=0 1582 | acknowledgement_type=0 1583 | flap_detection_enabled=1 1584 | failure_prediction_enabled=1 1585 | process_performance_data=1 1586 | obsess_over_service=1 1587 | last_update=1280306916 1588 | is_flapping=0 1589 | percent_state_change=0.00 1590 | scheduled_downtime_depth=0 1591 | } 1592 | 1593 | servicestatus { 1594 | host_name=steel.derf0.net 1595 | service_description=SMTP 1596 | modified_attributes=0 1597 | check_command=check_smtp_4 1598 | check_period=24x7 1599 | notification_period=24x7 1600 | check_interval=5.000000 1601 | retry_interval=1.000000 1602 | event_handler= 1603 | has_been_checked=1 1604 | should_be_scheduled=1 1605 | check_execution_time=0.135 1606 | check_latency=0.063 1607 | check_type=0 1608 | current_state=0 1609 | last_hard_state=0 1610 | last_event_id=0 1611 | current_event_id=0 1612 | current_problem_id=0 1613 | last_problem_id=0 1614 | current_attempt=1 1615 | max_attempts=4 1616 | state_type=1 1617 | last_state_change=1279136421 1618 | last_hard_state_change=1279136421 1619 | last_time_ok=1280306721 1620 | last_time_warning=0 1621 | last_time_unknown=0 1622 | last_time_critical=0 1623 | plugin_output=SMTP OK - 0.122 sec. response time 1624 | long_plugin_output= 1625 | performance_data=time=0.121732s;;;0.000000 1626 | last_check=1280306721 1627 | next_check=1280307021 1628 | check_options=0 1629 | current_notification_number=0 1630 | current_notification_id=0 1631 | last_notification=0 1632 | next_notification=0 1633 | no_more_notifications=0 1634 | notifications_enabled=1 1635 | active_checks_enabled=1 1636 | passive_checks_enabled=1 1637 | event_handler_enabled=1 1638 | problem_has_been_acknowledged=0 1639 | acknowledgement_type=0 1640 | flap_detection_enabled=1 1641 | failure_prediction_enabled=1 1642 | process_performance_data=1 1643 | obsess_over_service=1 1644 | last_update=1280306916 1645 | is_flapping=0 1646 | percent_state_change=0.00 1647 | scheduled_downtime_depth=0 1648 | } 1649 | 1650 | servicestatus { 1651 | host_name=steel.derf0.net 1652 | service_description=SSH 1653 | modified_attributes=0 1654 | check_command=check_ssh 1655 | check_period=24x7 1656 | notification_period=24x7 1657 | check_interval=5.000000 1658 | retry_interval=1.000000 1659 | event_handler= 1660 | has_been_checked=1 1661 | should_be_scheduled=1 1662 | check_execution_time=0.064 1663 | check_latency=0.239 1664 | check_type=0 1665 | current_state=0 1666 | last_hard_state=0 1667 | last_event_id=617 1668 | current_event_id=710 1669 | current_problem_id=0 1670 | last_problem_id=309 1671 | current_attempt=1 1672 | max_attempts=4 1673 | state_type=1 1674 | last_state_change=1279848437 1675 | last_hard_state_change=1279848437 1676 | last_time_ok=1280306837 1677 | last_time_warning=0 1678 | last_time_unknown=0 1679 | last_time_critical=1279848137 1680 | plugin_output=SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 1681 | long_plugin_output= 1682 | performance_data= 1683 | last_check=1280306837 1684 | next_check=1280307137 1685 | check_options=0 1686 | current_notification_number=0 1687 | current_notification_id=0 1688 | last_notification=0 1689 | next_notification=0 1690 | no_more_notifications=0 1691 | notifications_enabled=1 1692 | active_checks_enabled=1 1693 | passive_checks_enabled=1 1694 | event_handler_enabled=1 1695 | problem_has_been_acknowledged=0 1696 | acknowledgement_type=0 1697 | flap_detection_enabled=1 1698 | failure_prediction_enabled=1 1699 | process_performance_data=1 1700 | obsess_over_service=1 1701 | last_update=1280306916 1702 | is_flapping=0 1703 | percent_state_change=0.00 1704 | scheduled_downtime_depth=0 1705 | } 1706 | 1707 | servicestatus { 1708 | host_name=steel.derf0.net 1709 | service_description=SSH password login disabled 1710 | modified_attributes=0 1711 | check_command=check_ssh_no_password_login 1712 | check_period=24x7 1713 | notification_period=24x7 1714 | check_interval=15.000000 1715 | retry_interval=1.000000 1716 | event_handler= 1717 | has_been_checked=1 1718 | should_be_scheduled=1 1719 | check_execution_time=0.321 1720 | check_latency=0.025 1721 | check_type=0 1722 | current_state=0 1723 | last_hard_state=0 1724 | last_event_id=0 1725 | current_event_id=0 1726 | current_problem_id=0 1727 | last_problem_id=0 1728 | current_attempt=1 1729 | max_attempts=4 1730 | state_type=1 1731 | last_state_change=1279753527 1732 | last_hard_state_change=1279753527 1733 | last_time_ok=1280306127 1734 | last_time_warning=0 1735 | last_time_unknown=0 1736 | last_time_critical=0 1737 | plugin_output=Password login disabled (server accepts publickey) 1738 | long_plugin_output= 1739 | performance_data= 1740 | last_check=1280306127 1741 | next_check=1280307027 1742 | check_options=0 1743 | current_notification_number=0 1744 | current_notification_id=0 1745 | last_notification=0 1746 | next_notification=0 1747 | no_more_notifications=0 1748 | notifications_enabled=1 1749 | active_checks_enabled=1 1750 | passive_checks_enabled=1 1751 | event_handler_enabled=1 1752 | problem_has_been_acknowledged=0 1753 | acknowledgement_type=0 1754 | flap_detection_enabled=1 1755 | failure_prediction_enabled=1 1756 | process_performance_data=1 1757 | obsess_over_service=1 1758 | last_update=1280306916 1759 | is_flapping=0 1760 | percent_state_change=0.00 1761 | scheduled_downtime_depth=0 1762 | } 1763 | 1764 | servicestatus { 1765 | host_name=steel.derf0.net 1766 | service_description=Users 1767 | modified_attributes=0 1768 | check_command=check_by_ssh_fc!check_users 1769 | check_period=24x7 1770 | notification_period=24x7 1771 | check_interval=5.000000 1772 | retry_interval=1.000000 1773 | event_handler= 1774 | has_been_checked=1 1775 | should_be_scheduled=1 1776 | check_execution_time=0.840 1777 | check_latency=0.220 1778 | check_type=0 1779 | current_state=1 1780 | last_hard_state=0 1781 | last_event_id=629 1782 | current_event_id=707 1783 | current_problem_id=0 1784 | last_problem_id=317 1785 | current_attempt=1 1786 | max_attempts=4 1787 | state_type=1 1788 | last_state_change=1279848429 1789 | last_hard_state_change=1279848429 1790 | last_time_ok=1280306829 1791 | last_time_warning=0 1792 | last_time_unknown=0 1793 | last_time_critical=1279848129 1794 | plugin_output=USERS OK - 0 users currently logged in 1795 | long_plugin_output= 1796 | performance_data=users=0;5;10;0 1797 | last_check=1280306829 1798 | next_check=1280307129 1799 | check_options=0 1800 | current_notification_number=0 1801 | current_notification_id=0 1802 | last_notification=0 1803 | next_notification=0 1804 | no_more_notifications=0 1805 | notifications_enabled=1 1806 | active_checks_enabled=1 1807 | passive_checks_enabled=1 1808 | event_handler_enabled=1 1809 | problem_has_been_acknowledged=0 1810 | acknowledgement_type=0 1811 | flap_detection_enabled=1 1812 | failure_prediction_enabled=1 1813 | process_performance_data=1 1814 | obsess_over_service=1 1815 | last_update=1280306916 1816 | is_flapping=0 1817 | percent_state_change=0.00 1818 | scheduled_downtime_depth=0 1819 | } 1820 | 1821 | contactstatus { 1822 | contact_name=derf 1823 | modified_attributes=0 1824 | modified_host_attributes=0 1825 | modified_service_attributes=0 1826 | host_notification_period=24x7 1827 | service_notification_period=24x7 1828 | last_host_notification=1280163970 1829 | last_service_notification=1280179596 1830 | host_notifications_enabled=1 1831 | service_notifications_enabled=1 1832 | } 1833 | -------------------------------------------------------------------------------- /t/out/filter_.A.o: -------------------------------------------------------------------------------- 1 | 2 | aneurysm UNREACHABLE 3 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 4 | Processes  UNKNOWN PROCS OK: 118 processes 5 | 6 | steel.derf0.net 7 | Users  WARNING USERS OK - 0 users currently logged in 8 | -------------------------------------------------------------------------------- /t/out/filter_.o: -------------------------------------------------------------------------------- 1 | 2 | aneurysm UNREACHABLE 3 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 4 | Processes  UNKNOWN PROCS OK: 118 processes 5 | 6 | steel.derf0.net 7 | Users  WARNING USERS OK - 0 users currently logged in 8 | -------------------------------------------------------------------------------- /t/out/filter_.o.A.D: -------------------------------------------------------------------------------- 1 | 2 | steel.derf0.net 3 | Users  WARNING USERS OK - 0 users currently logged in 4 | -------------------------------------------------------------------------------- /t/out/filter_A: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derf/icli/b217a6fa1302ecbc0d9625486bf0d2c2dfbc507c/t/out/filter_A -------------------------------------------------------------------------------- /t/out/filter_D: -------------------------------------------------------------------------------- 1 | 2 | alpha DOWN 3 | HTTP  OK  HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 4 | 5 | aneurysm UNREACHABLE 6 | Disk: /  OK  DISK OK - free space: / 4846 MB (75% inode=90%): 7 | Disk: /boot  OK  DISK OK - free space: /boot 119 MB (53% inode=99%): 8 | Disk: /data  OK  DISK OK - free space: /data 60091 MB (48% inode=99%): 9 | Disk: /home  OK  DISK OK - free space: /home 58378 MB (59% inode=98%): 10 | HTTP  OK  HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 11 | HTTPS  OK  HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 12 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 13 | Processes  UNKNOWN PROCS OK: 118 processes 14 | SMTP  OK  SMTP OK - 0.038 sec. response time 15 | SSH  OK  SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 16 | SSH password login d  OK  Password login disabled (server accepts publickey) 17 | System Backup PENDING /dev/mapper/misc-backup 109G 40G 69G 37% /backup 18 | -------------------------------------------------------------------------------- /t/out/filter_S: -------------------------------------------------------------------------------- 1 | 2 | aneurysm UNREACHABLE 3 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 4 | Processes  UNKNOWN PROCS OK: 118 processes 5 | 6 | steel.derf0.net 7 | Users  WARNING USERS OK - 0 users currently logged in 8 | -------------------------------------------------------------------------------- /t/out/filter_c: -------------------------------------------------------------------------------- 1 | 2 | aneurysm UNREACHABLE 3 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 4 | -------------------------------------------------------------------------------- /t/out/filter_u: -------------------------------------------------------------------------------- 1 | 2 | aneurysm UNREACHABLE 3 | Processes  UNKNOWN PROCS OK: 118 processes 4 | -------------------------------------------------------------------------------- /t/out/filter_w: -------------------------------------------------------------------------------- 1 | 2 | steel.derf0.net 3 | Users  WARNING USERS OK - 0 users currently logged in 4 | -------------------------------------------------------------------------------- /t/out/h_filter_.o: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | -------------------------------------------------------------------------------- /t/out/h_filter_S: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | -------------------------------------------------------------------------------- /t/out/h_filter_S.x.A: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | -------------------------------------------------------------------------------- /t/out/h_filter_d: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | -------------------------------------------------------------------------------- /t/out/h_filter_x: -------------------------------------------------------------------------------- 1 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 2 | -------------------------------------------------------------------------------- /t/out/host_steel_steel: -------------------------------------------------------------------------------- 1 | 2 | steel-vpn 3 | SMTP  OK  SMTP OK - 0.080 sec. response time 4 | 5 | steel.derf0.net 6 | Disk: lv-home  OK  DISK OK - free space: /home 20207 MB (95% inode=99%): 7 | Disk: lv-root  OK  DISK OK - free space: / 5330 MB (85% inode=90%): 8 | Disk: vda1  OK  DISK OK - free space: /boot 190 MB (88% inode=99%): 9 | HTTP  OK  HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 10 | Load  OK  OK - load average: 0.00, 0.00, 0.00 11 | Mail Queue  OK  OK: mailq reports queue is empty 12 | No open relay  OK  NORELAY OK: <** 554 5.7.1 : Relay access denied 13 | Not Blacklisted  OK  CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 14 | Processes  OK  PROCS OK: 82 processes 15 | SMTP  OK  SMTP OK - 0.122 sec. response time 16 | SSH  OK  SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 17 | SSH password login d  OK  Password login disabled (server accepts publickey) 18 | Users  WARNING USERS OK - 0 users currently logged in 19 | -------------------------------------------------------------------------------- /t/out/hosts_group_local: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | -------------------------------------------------------------------------------- /t/out/hosts_group_reduce: -------------------------------------------------------------------------------- 1 | steel.derf0.net  OK  PING OK - Packet loss = 0%, RTA = 16.75 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 4 | -------------------------------------------------------------------------------- /t/out/hosts_short: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | -------------------------------------------------------------------------------- /t/out/list_hosts: -------------------------------------------------------------------------------- 1 | alpha  DOWN  PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | steel-vpn PENDING PING OK - Packet loss = 0%, RTA = 18.01 ms 4 | steel.derf0.net  OK  PING OK - Packet loss = 0%, RTA = 16.75 ms 5 | -------------------------------------------------------------------------------- /t/out/list_hosts_nc: -------------------------------------------------------------------------------- 1 | alpha DOWN PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | steel-vpn PENDING PING OK - Packet loss = 0%, RTA = 18.01 ms 4 | steel.derf0.net OK PING OK - Packet loss = 0%, RTA = 16.75 ms 5 | -------------------------------------------------------------------------------- /t/out/list_hosts_v: -------------------------------------------------------------------------------- 1 | alpha  DOWN  1/10 PING OK - Packet loss = 0%, RTA = 0.73 ms 2 | aneurysm UNREACHABLE 1/10 PING OK - Packet loss = 0%, RTA = 0.10 ms 3 | steel-vpn PENDING 1/10 PING OK - Packet loss = 0%, RTA = 18.01 ms 4 | steel.derf0.net  OK  1/10 PING OK - Packet loss = 0%, RTA = 16.75 ms 5 | -------------------------------------------------------------------------------- /t/out/list_services: -------------------------------------------------------------------------------- 1 | standard -------------------------------------------------------------------------------- /t/out/list_services_nc: -------------------------------------------------------------------------------- 1 | 2 | alpha DOWN 3 | HTTP OK HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 4 | 5 | aneurysm UNREACHABLE 6 | Disk: / OK DISK OK - free space: / 4846 MB (75% inode=90%): 7 | Disk: /boot OK DISK OK - free space: /boot 119 MB (53% inode=99%): 8 | Disk: /data OK DISK OK - free space: /data 60091 MB (48% inode=99%): 9 | Disk: /home OK DISK OK - free space: /home 58378 MB (59% inode=98%): 10 | HTTP OK HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 11 | HTTPS OK HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 12 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 13 | Processes UNKNOWN PROCS OK: 118 processes 14 | SMTP OK SMTP OK - 0.038 sec. response time 15 | SSH OK SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 16 | SSH password login d OK Password login disabled (server accepts publickey) 17 | System Backup PENDING /dev/mapper/misc-backup 109G 40G 69G 37% /backup 18 | 19 | steel-vpn 20 | SMTP OK SMTP OK - 0.080 sec. response time 21 | 22 | steel.derf0.net 23 | Disk: lv-home OK DISK OK - free space: /home 20207 MB (95% inode=99%): 24 | Disk: lv-root OK DISK OK - free space: / 5330 MB (85% inode=90%): 25 | Disk: vda1 OK DISK OK - free space: /boot 190 MB (88% inode=99%): 26 | HTTP OK HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 27 | Load OK OK - load average: 0.00, 0.00, 0.00 28 | Mail Queue OK OK: mailq reports queue is empty 29 | No open relay OK NORELAY OK: <** 554 5.7.1 : Relay access denied 30 | Not Blacklisted OK CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 31 | Processes OK PROCS OK: 82 processes 32 | SMTP OK SMTP OK - 0.122 sec. response time 33 | SSH OK SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 34 | SSH password login d OK Password login disabled (server accepts publickey) 35 | Users WARNING USERS OK - 0 users currently logged in 36 | -------------------------------------------------------------------------------- /t/out/list_services_single: -------------------------------------------------------------------------------- 1 | Disk: lv-home  OK  DISK OK - free space: /home 20207 MB (95% inode=99%): 2 | Disk: lv-root  OK  DISK OK - free space: / 5330 MB (85% inode=90%): 3 | Disk: vda1  OK  DISK OK - free space: /boot 190 MB (88% inode=99%): 4 | HTTP  OK  HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 5 | Load  OK  OK - load average: 0.00, 0.00, 0.00 6 | Mail Queue  OK  OK: mailq reports queue is empty 7 | No open relay  OK  NORELAY OK: <** 554 5.7.1 : Relay access denied 8 | Not Blacklisted  OK  CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 9 | Processes  OK  PROCS OK: 82 processes 10 | SMTP  OK  SMTP OK - 0.122 sec. response time 11 | SSH  OK  SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 12 | SSH password login d  OK  Password login disabled (server accepts publickey) 13 | Users  WARNING USERS OK - 0 users currently logged in 14 | -------------------------------------------------------------------------------- /t/out/list_services_v: -------------------------------------------------------------------------------- 1 | 2 | alpha DOWN 3 | HTTP    OK  1/4 HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 4 | 5 | aneurysm UNREACHABLE 6 | Disk: /    OK  1/4 DISK OK - free space: / 4846 MB (75% inode=90%): 7 | Disk: /boot    OK  1/4 DISK OK - free space: /boot 119 MB (53% inode=99%): 8 | Disk: /data    OK  1/4 DISK OK - free space: /data 60091 MB (48% inode=99%): 9 | Disk: /home    OK  1/4 DISK OK - free space: /home 58378 MB (59% inode=98%): 10 | HTTP    OK  1/4 HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 11 | HTTPS    OK  1/4 HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 12 | Load   CRITICAL 1/4 OK - load average: 0.17, 0.13, 0.09 13 | Processes    UNKNOWN 1/4 PROCS OK: 118 processes 14 | SMTP    OK  1/4 SMTP OK - 0.038 sec. response time 15 | SSH    OK  1/4 SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 16 | SSH password login d   OK  1/4 Password login disabled (server accepts publickey) 17 | System Backup  P  PENDING 1/1 /dev/mapper/misc-backup 109G 40G 69G 37% /backup 18 | 19 | steel-vpn 20 | SMTP    OK  1/4 SMTP OK - 0.080 sec. response time 21 | 22 | steel.derf0.net 23 | Disk: lv-home    OK  1/4 DISK OK - free space: /home 20207 MB (95% inode=99%): 24 | Disk: lv-root    OK  1/4 DISK OK - free space: / 5330 MB (85% inode=90%): 25 | Disk: vda1    OK  1/4 DISK OK - free space: /boot 190 MB (88% inode=99%): 26 | HTTP    OK  1/4 HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 27 | Load    OK  1/4 OK - load average: 0.00, 0.00, 0.00 28 | Mail Queue    OK  1/4 OK: mailq reports queue is empty 29 | No open relay    OK  1/4 NORELAY OK: <** 554 5.7.1 : Relay access denied 30 | Not Blacklisted    OK  1/4 CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 31 | Processes    OK  1/4 PROCS OK: 82 processes 32 | SMTP    OK  1/4 SMTP OK - 0.122 sec. response time 33 | SSH    OK  1/4 SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 34 | SSH password login d   OK  1/4 Password login disabled (server accepts publickey) 35 | Users    WARNING 1/4 USERS OK - 0 users currently logged in 36 | -------------------------------------------------------------------------------- /t/out/services_group_local: -------------------------------------------------------------------------------- 1 | 2 | alpha DOWN 3 | HTTP  OK  HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 4 | 5 | aneurysm UNREACHABLE 6 | Disk: /  OK  DISK OK - free space: / 4846 MB (75% inode=90%): 7 | Disk: /boot  OK  DISK OK - free space: /boot 119 MB (53% inode=99%): 8 | Disk: /data  OK  DISK OK - free space: /data 60091 MB (48% inode=99%): 9 | Disk: /home  OK  DISK OK - free space: /home 58378 MB (59% inode=98%): 10 | HTTP  OK  HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 11 | HTTPS  OK  HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 12 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 13 | Processes  UNKNOWN PROCS OK: 118 processes 14 | SMTP  OK  SMTP OK - 0.038 sec. response time 15 | SSH  OK  SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 16 | SSH password login d  OK  Password login disabled (server accepts publickey) 17 | System Backup PENDING /dev/mapper/misc-backup 109G 40G 69G 37% /backup 18 | -------------------------------------------------------------------------------- /t/out/services_short: -------------------------------------------------------------------------------- 1 | 2 | aneurysm UNREACHABLE 3 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 4 | Processes  UNKNOWN PROCS OK: 118 processes 5 | 6 | steel.derf0.net 7 | Users  WARNING USERS OK - 0 users currently logged in 8 | -------------------------------------------------------------------------------- /t/out/standard: -------------------------------------------------------------------------------- 1 | 2 | alpha DOWN 3 | HTTP  OK  HTTP OK: HTTP/1.0 200 OK - 2333 bytes in 0.019 second response time 4 | 5 | aneurysm UNREACHABLE 6 | Disk: /  OK  DISK OK - free space: / 4846 MB (75% inode=90%): 7 | Disk: /boot  OK  DISK OK - free space: /boot 119 MB (53% inode=99%): 8 | Disk: /data  OK  DISK OK - free space: /data 60091 MB (48% inode=99%): 9 | Disk: /home  OK  DISK OK - free space: /home 58378 MB (59% inode=98%): 10 | HTTP  OK  HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.001 second response time 11 | HTTPS  OK  HTTP OK: HTTP/1.1 200 OK - 7467 bytes in 0.018 second response time 12 | Load CRITICAL OK - load average: 0.17, 0.13, 0.09 13 | Processes  UNKNOWN PROCS OK: 118 processes 14 | SMTP  OK  SMTP OK - 0.038 sec. response time 15 | SSH  OK  SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 16 | SSH password login d  OK  Password login disabled (server accepts publickey) 17 | System Backup PENDING /dev/mapper/misc-backup 109G 40G 69G 37% /backup 18 | 19 | steel-vpn 20 | SMTP  OK  SMTP OK - 0.080 sec. response time 21 | 22 | steel.derf0.net 23 | Disk: lv-home  OK  DISK OK - free space: /home 20207 MB (95% inode=99%): 24 | Disk: lv-root  OK  DISK OK - free space: / 5330 MB (85% inode=90%): 25 | Disk: vda1  OK  DISK OK - free space: /boot 190 MB (88% inode=99%): 26 | HTTP  OK  HTTP OK: HTTP/1.1 200 OK - 668 bytes in 0.040 second response time 27 | Load  OK  OK - load average: 0.00, 0.00, 0.00 28 | Mail Queue  OK  OK: mailq reports queue is empty 29 | No open relay  OK  NORELAY OK: <** 554 5.7.1 : Relay access denied 30 | Not Blacklisted  OK  CHECK_RBL OK - steel.derf0.net BLACKLISTED on 0 servers of 43 31 | Processes  OK  PROCS OK: 82 processes 32 | SMTP  OK  SMTP OK - 0.122 sec. response time 33 | SSH  OK  SSH OK - OpenSSH_5.5p1 Debian-4 (protocol 2.0) 34 | SSH password login d  OK  Password login disabled (server accepts publickey) 35 | Users  WARNING USERS OK - 0 users currently logged in 36 | --------------------------------------------------------------------------------