Icinga Core regularly sends updates for the idoutils icinga database programstatus table, so it’s worth a shot to monitor that as well in your setup (further queries for data integrity may also be required, but that’s left for everyone’s homework).

A tolerance window of 60 seconds is good enough, but may be increased to more in various setups (large config reloads may take longer). Below is an example for MySQL, Icinga Web and other addons treat it basically the same.

mysql> SELECT status_update_time from icinga_programstatus where (UNIX_TIMESTAMP(status_update_time) > UNIX_TIMESTAMP(NOW())-60);

An empty set means that something is wrong, while one row returns the last update time, suitable as plugin output too.

If you are looking for more stuff to monitor on your Icinga box, take a look here where I am collecting the most valuable hints.

%d bloggers like this: