there is a lot of additional work to do here
Message-ID: <54802a3b.BCzexSJlJF0UYV9f%lm(a)mathias-kettner.de>
User-Agent: Heirloom mailx 12.5 6/20/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Module: check_mk
Branch: master
Commit: bc1ce37576ee300df985868d9bc0492bf2482248
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=bc1ce37576ee30…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Dec 4 09:42:22 2014 +0100
Cleaned up jolokia mem check a bit, there is a lot of additional work to do here
---
checks/jolokia_metrics | 33 ++++++++++++++-------------------
1 file changed, 14 insertions(+), 19 deletions(-)
diff --git a/checks/jolokia_metrics b/checks/jolokia_metrics
index 31b0263..af330b3 100644
--- a/checks/jolokia_metrics
+++ b/checks/jolokia_metrics
@@ -230,7 +230,6 @@ def check_jolokia_metrics_mem(item, params, info):
if item not in parsed:
return (3, "data not found in agent output")
-
# convert old parameter version ( warn, crit )
# represented levels of total heap
if type(params) == tuple:
@@ -252,28 +251,25 @@ def check_jolokia_metrics_mem(item, params, info):
if heapmax > 0 and nonheapmax > 0:
totalmax = heapmax + nonheapmax
else:
- totalmax = ""
- if heapmax < 0:
- heapmax = ""
- if nonheapmax < 0:
- nonheapmax = ""
+ totalmax = 0
+ heapmax = max(0, heapmax)
+ nonheapmax = max(0, nonheapmax)
- state_sign = { 0: "", 1: "(!)", 2: "(!!)" }
worst_state = 0
- perfdata = []
- info_list = []
+ perfdata = []
+ info_list = []
- for (what, value, value_max) in [
- ("heap", heap, heapmax),
+ for what, value, value_max in [
+ ("heap", heap, heapmax),
("nonheap", nonheap, nonheapmax),
- ("total", total, totalmax),
+ ("total", total, totalmax),
]:
param_state = 0
level_info = ""
used_info = ""
if params.get(what):
- warn_level = ""
- crit_level = ""
+ warn_level = 0
+ crit_level = 0
if type(params[what][0]) == int:
if what != "total":
if value_max:
@@ -284,10 +280,10 @@ def check_jolokia_metrics_mem(item, params, info):
param_state = 0
elif value >= crit_level:
param_state = 2
- level_info = "%s(crit at %sMB free)" % (state_sign[2],
params[what][1])
+ level_info = "%s(crit at %sMB free)" % (state_markers[2],
params[what][1])
elif value >= warn_level:
param_state = 1
- level_info = "%s(warn at %sMB free)" % (state_sign[1],
params[what][0])
+ level_info = "%s(warn at %sMB free)" % (state_markers[1],
params[what][0])
else:
if what != "total":
if value_max:
@@ -298,10 +294,10 @@ def check_jolokia_metrics_mem(item, params, info):
param_state = 0
elif value >= crit_level:
param_state = 2
- level_info = "%s(crit at %s%%)" % (state_sign[2],
params[what][1])
+ level_info = "%s(crit at %s%%)" % (state_markers[2],
params[what][1])
elif value >= warn_level:
param_state = 1
- level_info = "%s(warn at %s%%)" % (state_sign[1],
params[what][0])
+ level_info = "%s(warn at %s%%)" % (state_markers[1],
params[what][0])
else:
if what != "total":
perfdata.append((what, value, "", "", "",
value_max))
@@ -364,7 +360,6 @@ def check_jolokia_metrics_app_state(item, _unused, info):
app_state=3
app = jolokia_metrics_app(info, item.split())
- #print app
# FIXME: this could be nicer.
if app and "Running" in app:
if app['Running'] == '1':