t have a tailing number
Message-ID: <5719c25d.zRN4sSC2bKYBJpu5%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: bd6140d1d58adabcc7a4eeabf9abde7c5cf5c700
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=bd6140d1d58ada…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Apr 22 08:18:52 2016 +0200
3391 FIX CPU checks: Fixed graph per core when cores names don't have a tailing
number
---
.werks/3391 | 10 ++++++++++
ChangeLog | 1 +
checks/cpu_util.include | 20 ++++++++++----------
3 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/.werks/3391 b/.werks/3391
new file mode 100644
index 0000000..86b9317
--- /dev/null
+++ b/.werks/3391
@@ -0,0 +1,10 @@
+Title: CPU checks: Fixed graph per core when cores names don't have a tailing number
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.9i1
+Date: 1461305854
+
+
diff --git a/ChangeLog b/ChangeLog
index b83ba63..49704bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -169,6 +169,7 @@
* 3124 FIX: workaround for overrunnig counters in a couple of wmi checks...
* 3030 FIX: brocade_info: fixed problem in snmp scan function during service
discovery...
* 3389 FIX: ps: Fixed stripped command lines for process checking on solaris systems
+ * 3391 FIX: CPU checks: Fixed graph per core when cores names don't have a
tailing number
Multisite:
* 3187 notification view: new filter for log command via regex
diff --git a/checks/cpu_util.include b/checks/cpu_util.include
index 72df42c..9d188dc 100644
--- a/checks/cpu_util.include
+++ b/checks/cpu_util.include
@@ -40,7 +40,7 @@
# recognizes it. If the input name doesn't end on a number, this
# returns consecutive numbers per call so this function has to be
# called exactly once per core
-def cpu_util_core_name(orig):
+def cpu_util_core_name(orig, core_counter):
expr = regex("\d+$")
match = expr.search(orig)
if match is not None:
@@ -48,11 +48,9 @@ def cpu_util_core_name(orig):
else:
# fallback: if the cores have odd names, use
# consecutive numbers for each call
- if not hasattr(core_name, "counter"):
- core_name.counter = 0
- num = core_name.counter
- core_name.counter += 1
- return "cpu_core_util_%s" % num
+ num = core_counter
+ core_counter += 1
+ return "cpu_core_util_%s" % num, core_counter
def check_cpu_util(util, params, this_time = None, cores = None):
@@ -98,10 +96,11 @@ def check_cpu_util(util, params, this_time = None, cores = None):
yield state, infotext, perfdata
if cores and ("core_util_graph" in params or "core_util_time" in
params):
- ctr = 0
+ core_counter = 0
for core, total_perc in cores:
if "core_util_graph" in params:
- yield 0, None, [(cpu_util_core_name(core), total_perc)]
+ core_name, core_counter = cpu_util_core_name(core, core_counter)
+ yield 0, None, [(core_name, total_perc)]
if "core_util_time" in params:
threshold, warn_core, crit_core = params["core_util_time"]
@@ -209,7 +208,7 @@ def check_cpu_util_unix(values, params, cores = None):
if cores and\
("core_util_graph" in params or \
"core_util_time" in params):
- ctr = 0
+ core_counter = 0
cores_padded = [line + [0] * (11 - len(line)) for line in cores]
for core, user, nice, system, idle, iowait,\
irq, softirq, steal, guest, guest_nice in cores_padded:
@@ -223,7 +222,8 @@ def check_cpu_util_unix(values, params, cores = None):
total_perc = ((100.0 * total_diff) / sum_jiffies) * len(cores)
if "core_util_graph" in params:
- yield 0, None, [(cpu_util_core_name(core), total_perc)]
+ core_name, core_counter = cpu_util_core_name(core, core_counter)
+ yield 0, None, [(core_name, total_perc)]
if "core_util_time" in params:
threshold, warn_core, crit_core = params["core_util_time"]