Module: check_mk
Branch: master
Commit: d969e3be3722d8f29d4acf73b939801a55e6c0ff
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d969e3be3722d8…
Author: Andreas Boesl <ab(a)mathias-kettner.de>
Date: Wed Apr 3 10:27:52 2013 +0200
FIX: jolokia_metrics.mem: error when missing max values
---
ChangeLog | 1 +
checks/jolokia_metrics | 27 ++++++++++++++++-----------
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a5672c3..2d02c57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -97,6 +97,7 @@
* check_http: now support the option -L (urlizing the result)
* Added mem section to Mac OSX agent (Thanks to Brad Davis)
* FIX: mssql.vbs (agent plugin) now sets auth options for each instance
+ * FIX: jolokia_metrics.mem: error when missing max values
Multisite:
* FIX: fix localization in non-OMD environment
diff --git a/checks/jolokia_metrics b/checks/jolokia_metrics
index ce2cd0e..f6040a7 100644
--- a/checks/jolokia_metrics
+++ b/checks/jolokia_metrics
@@ -202,40 +202,45 @@ def check_jolokia_metrics_mem(item, params, info):
("total", total, totalmax),
]:
param_state = 0
- level_info = ""
+ level_info = ""
+ used_info = ""
if params.get(what):
+ warn_level = ""
+ crit_level = ""
if type(params[what][0]) == int:
if what != "total":
- warn_level = ("", value_max - params[what][0])[value_max !=
""]
- crit_level = ("", value_max - params[what][1])[value_max !=
""]
+ if value_max:
+ warn_level = value_max - params[what][0]
+ crit_level = value_max - params[what][1]
perfdata.append((what, value, warn_level, crit_level, "",
value_max))
if not value_max:
param_state = 0
- elif value_max - value <= params[what][1]:
+ elif value >= crit_level:
param_state = 2
level_info = "%s(crit at %sMB free)" % (state_sign[2],
params[what][1])
- elif value_max - value <= params[what][0]:
+ elif value >= warn_level:
param_state = 1
level_info = "%s(warn at %sMB free)" % (state_sign[1],
params[what][0])
else:
if what != "total":
- warn_level = ("", value_max * params[what][0] /
100.0)[value_max != ""]
- crit_level = ("", value_max * params[what][1] /
100.0)[value_max != ""]
+ if value_max:
+ warn_level = value_max * params[what][0] / 100.0
+ crit_level = value_max * params[what][1] / 100.0
perfdata.append((what, value, warn_level, crit_level, "",
value_max))
if not value_max:
param_state = 0
- elif value >= value_max * params[what][1] / 100.0:
+ elif value >= crit_level:
param_state = 2
level_info = "%s(crit at %s%%)" % (state_sign[2],
params[what][1])
- elif value >= value_max * params[what][0] / 100.0:
+ elif value >= warn_level:
param_state = 1
level_info = "%s(warn at %s%%)" % (state_sign[1],
params[what][0])
else:
if what != "total":
perfdata.append((what, value, "", "", "",
value_max))
-
- used_info = ("", "/%.1f%% used" % (value / value_max *
100))[value_max != ""]
+ if value_max:
+ used_info = "/%.1f%% used" % (value / value_max * 100)
info_list.append("%s: %0.fMB%s%s" % (what.title(), value, used_info,
level_info))
worst_state = max(param_state, worst_state)