Module: check_mk
Branch: master
Commit: 7df935684f84e524a0be78880228c5416fa3f3b5
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7df935684f84e5…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Mon Jun 29 14:23:27 2015 +0200
#2363 FIX jolokia_metrics.uptime: Do not inventory instances where Uptime is missing -
avoid crashed check
---
.werks/2363 | 10 ++++++++++
ChangeLog | 1 +
checks/jolokia_metrics | 14 +++++++-------
3 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/.werks/2363 b/.werks/2363
new file mode 100644
index 0000000..002b17e
--- /dev/null
+++ b/.werks/2363
@@ -0,0 +1,10 @@
+Title: jolokia_metrics.uptime: Do not inventory instances where Uptime is missing - avoid
crashed check
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i3
+Date: 1435580579
+
+
diff --git a/ChangeLog b/ChangeLog
index 89157a5..f361343 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,7 @@
* 2360 FIX: esx_vsphere_vm.snapshot: Fix output of snapshot age in performance data
and graph...
* 2378 FIX: if: Now fixing encoding in interface descriptions according to rule...
* 2362 FIX: mk_logwatch: fix cases where one logfile is listsed more than once in
logwatch.cfg...
+ * 2363 FIX: jolokia_metrics.uptime: Do not inventory instances where Uptime is
missing - avoid crashed check
Multisite:
* 2314 FIX: Availability: fixed exception when grouping by host or service group
diff --git a/checks/jolokia_metrics b/checks/jolokia_metrics
index c977ef0..2f06d7f 100644
--- a/checks/jolokia_metrics
+++ b/checks/jolokia_metrics
@@ -139,7 +139,10 @@ def inventory_jolokia_metrics(info, what):
elif what == 'threads':
levels = 'jolokia_metrics_threads_default_levels'
- return [ (k, levels) for k in parsed ]
+ for instance, data in parsed.items():
+ if what == 'uptime' and "Uptime" not in data:
+ continue
+ yield instance, levels
def inventory_jolokia_metrics_apps(info, what):
@@ -368,12 +371,9 @@ def check_jolokia_metrics_threads(item, params, info):
def check_jolokia_metrics_uptime(item, params, info):
parsed = jolokia_metrics_parse(info)
- if item not in parsed:
- return (3, "data not found in agent output")
- uptime = saveint(parsed[item]['Uptime']) / 1000
-
- return check_uptime_seconds(params, uptime)
-
+ if item in parsed:
+ uptime = int(parsed[item]['Uptime']) / 1000
+ return check_uptime_seconds(params, uptime)
def check_jolokia_metrics_app_state(item, _unused, info):