Module: check_mk
Branch: master
Commit: 5fc0bf3411153290a2597e767647439ea38a0c51
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=5fc0bf34111532…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Jul 21 14:29:22 2015 +0200
#2376 FIX Fix parsing of performance data from MRPE based checks
---
.werks/2376 | 10 ++++++++++
ChangeLog | 1 +
checks/mrpe | 2 +-
modules/check_mk_base.py | 2 +-
4 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/.werks/2376 b/.werks/2376
new file mode 100644
index 0000000..c196f57
--- /dev/null
+++ b/.werks/2376
@@ -0,0 +1,10 @@
+Title: Fix parsing of performance data from MRPE based checks
+Level: 2
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i3
+Date: 1437481734
+
+
diff --git a/ChangeLog b/ChangeLog
index a4be315..48441d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -64,6 +64,7 @@
* 2408 FIX: ibm_imm_fan: fixed exception while parsing fan percentage values
* 2469 FIX: Fixed service discovery on SNMP host having no system description OID
* 2480 FIX: Fixed exception when configuring predictive levels for network
interfaces
+ * 2376 FIX: Fix parsing of performance data from MRPE based checks
Multisite:
* 2385 SEC: Fixed possible reflected XSS on all GUI pages where users can produce
unhandled exceptions...
diff --git a/checks/mrpe b/checks/mrpe
index c649f92..c4ab43c 100644
--- a/checks/mrpe
+++ b/checks/mrpe
@@ -40,7 +40,7 @@ def inventory_mrpe(info):
def mrpe_parse_perfdata(perfinfo):
varname, valuetxt = perfinfo.split("=", 1)
values = valuetxt.split(";")
- return tuple( [varname] + values)
+ return tuple([varname] + values)
def check_mrpe(item, params, info):
diff --git a/modules/check_mk_base.py b/modules/check_mk_base.py
index 9da1d48..e018968 100644
--- a/modules/check_mk_base.py
+++ b/modules/check_mk_base.py
@@ -1717,7 +1717,7 @@ def submit_check_result(host, servicedesc, result, sa,
cached_at=None, cache_int
# list of perfdata. It is of type string. And it might be
# needed by the graphing tool in order to choose the correct
# template. Currently this is used only by mrpe.
- if len(perfdata) > 0 and type(perfdata[-1]) == str:
+ if len(perfdata) > 0 and type(perfdata[-1]) in (str, unicode):
check_command = perfdata[-1]
del perfdata[-1]
else: