Module: check_mk
Branch: master
Commit: 54c4e43f3d2682be57fa78406cd32dee2836d108
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=54c4e43f3d2682…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Mar 15 17:55:49 2011 +0100
Added missing files for omd_status
---
checkman/omd_status | 18 ++++++++++++++++++
checks/omd_status | 40 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/checkman/omd_status b/checkman/omd_status
new file mode 100644
index 0000000..38da2e7
--- /dev/null
+++ b/checkman/omd_status
@@ -0,0 +1,18 @@
+title: Check status of OMD sites
+agents: linux
+author: Mathias Kettner <mk(a)mathias-kettner.de>
+license: GPL
+distribution: check_mk
+description:
+ This check checks the status of OMD sites found on the system.
+ It uses the output of {omd status --bare --auto}. The site is considered
+ to be {OK} if all services of the site are running and {CRIT}
+ otherwise. If the site is only partially running then the check output
+ shows the names of the stopped services.
+
+item:
+ The name of the site (string).
+
+inventory:
+ One check per site will be created for each site where {AUTOSTART} is
+ set to {on}, regardless of the current state of the site.
diff --git a/checks/omd_status b/checks/omd_status
new file mode 100644
index 0000000..2c798cd
--- /dev/null
+++ b/checks/omd_status
@@ -0,0 +1,40 @@
+# <<<omd_status>>>
+# [kaputt]
+# apache 1
+# rrdcached 1
+# npcd 1
+# nagios 1
+# crontab 1
+# OVERALL 1
+# [test]
+# apache 1
+# rrdcached 1
+# npcd 0
+# nagios 1
+# crontab 1
+# OVERALL 2
+
+def inventory_omd_status(checkname, info):
+ return [ ( line[0][1:-1], None ) for line in info if line[0][0] == '[' ]
+
+def check_omd_status(item, _no_params, info):
+ active = False
+ for line in info:
+ if line[0] == '[' + item + ']':
+ active = True
+ stopped = []
+ elif active:
+ if line[0] == 'OVERALL':
+ if line[1] == '0':
+ return (0, 'OK - all services are running')
+ elif line[1] == '1':
+ return (2, 'CRIT - site is stopped')
+ else:
+ return (2, 'CRIT - partially running! stopped services: %s' %
", ".join(stopped))
+ elif line[1] != '0':
+ stopped.append(line[0])
+ return (3, "UNKNOWN - site not existing or AUTOSTART off")
+
+check_info['omd_status'] = \
+ (check_omd_status, "OMD %s status", 0, inventory_omd_status)
+