Module: check_mk
Branch: master
Commit: 98cd8a4f65ad43509271c7fb788818428bc2cfa6
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=98cd8a4f65ad43…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Jun 11 15:54:51 2013 +0200
Fix Perf-O-Meter of esx_vsphere_datastores
---
ChangeLog | 2 +-
web/plugins/perfometer/check_mk.py | 13 +++++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3192df3..e3bd4f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,7 +23,7 @@
* cached checks: no longer output cached data if the age of the
cache file is twice the maximum cache age
* windows agent: no longer tries to execute directories
- * esx_vsphere_datastores: Fix incomplete performance data
+ * FIX: esx_vsphere_datastores: Fix incomplete performance data and Perf-O-Meter
Notifications:
* Flexible Notification can now filter service levels
diff --git a/web/plugins/perfometer/check_mk.py b/web/plugins/perfometer/check_mk.py
index 4a3cf8e..efdeed5 100644
--- a/web/plugins/perfometer/check_mk.py
+++ b/web/plugins/perfometer/check_mk.py
@@ -75,7 +75,13 @@ perfometers["check_mk-esx_vsphere_counters.ramdisk"] =
perfometer_check_mk_df
def perfometer_esx_vsphere_datastores(row, check_command, perf_data):
used_mb = perf_data[0][1]
maxx = perf_data[0][-1]
- uncommitted_mb = perf_data[3][1]
+ # perf data might be incomplete, if trending perfdata is off...
+ uncommitted_mb = 0
+ for entry in perf_data:
+ if entry[0] == "uncommitted":
+ uncommitted_mb = entry[1]
+ break
+
perc_used = 100 * (float(used_mb) / float(maxx))
perc_uncommitted = 100 * (float(uncommitted_mb) / float(maxx))
perc_totally_free = 100 - perc_used - perc_uncommitted
@@ -100,7 +106,10 @@ def perfometer_esx_vsphere_datastores(row, check_command,
perf_data):
h += perfometer_td(perc_uncommitted - perc_free, "#eeccff")
h += "</tr></table>"
- return "%0.2f%% (+%0.2f%%)" % (perc_used, perc_uncommitted), h
+ legend = "%0.2f%%" % perc_used
+ if uncommitted_mb:
+ legend += " (+%0.2f%%)" % perc_uncommitted
+ return legend, h
perfometers["check_mk-esx_vsphere_datastores"] =
perfometer_esx_vsphere_datastores