Module: check_mk
Branch: master
Commit: 7e41e0572d81bb4b25114311f63510909c8c6d4f
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7e41e0572d81bb…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Sun Nov 14 16:43:16 2010 +0100
Added perf-o-meter for if/if64 :-)
---
ChangeLog | 1 +
web/plugins/perfometer/check_mk.py | 31 ++++++++++++++++++++++++++-----
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 1395a16..e94d0db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -74,6 +74,7 @@
* j4p_performance: Added experimental agent plugin fetching data via
jmx4perl agent (does not need jmx4perl on Nagios)
* j4p_performance.mem: added new experimental check for memory usage via JMX.
+ * if/if64: added Perf-O-Meter for Multisite
Multisite:
* The custom open/close states of custom links are now stored for each
diff --git a/web/plugins/perfometer/check_mk.py b/web/plugins/perfometer/check_mk.py
index 28cdc71..1d659c5 100644
--- a/web/plugins/perfometer/check_mk.py
+++ b/web/plugins/perfometer/check_mk.py
@@ -109,11 +109,6 @@ def perfometer_check_mk_mem_used(row, check_command, perf_data):
perfometers["check_mk-mem.used"] = perfometer_check_mk_mem_used
-# def perfometer_check_mk_kernel(row, check_command, perf_data):
-# return "%d/s" % int(perf_data[0][1]),
perfometer_logarithmic(perf_data[0][1], 1000, 10, "#f2a")
-#
-# perfometers["check_mk-kernel"] = perfometer_check_mk_kernel
-
def perfometer_check_mk_cpu_threads(row, check_command, perf_data):
color = { 0: "#a4f", 1: "#ff2", 2: "#f22", 3:
"#fa2" }[row["service_state"]]
return "%d" % int(perf_data[0][1]), perfometer_logarithmic(perf_data[0][1],
400, 2, color)
@@ -188,3 +183,29 @@ def perfometer_check_mk_ipmi_sensors(row, check_command, perf_data):
# Also all checks dealing with temperature can use this perfometer
perfometers["check_mk-ipmi_sensors"] = perfometer_check_mk_ipmi_sensors
perfometers["check_mk-nvidia.temp"] = perfometer_check_mk_ipmi_sensors
+
+def performeter_check_mk_if(row, check_command, perf_data):
+ # return str(perf_data), ""
+ txt = []
+ h = '<table><tr>'
+ for name, perf, color in [
+ ("in", perf_data[0], "#0e6"),
+ ("out", perf_data[5], "#2af") ]:
+ bytes = float(perf[1])
+ bw = float(perf[6])
+ rrate = bytes / bw
+ drate = max(0.02, rrate ** 0.5 ** 0.5)
+ rperc = 100 * rrate
+ dperc = 100 * drate
+ a = perfometer_td(dperc / 2, color)
+ b = perfometer_td(50 - dperc/2, "#fff")
+ if name == "in":
+ h += b + a # white left, color right
+ else:
+ h += a + b # color right, white left
+ txt.append("%.1f%%" % rperc)
+ h += '</tr></table>'
+ return " ".join(txt), h
+
+perfometers["check_mk-if"] = performeter_check_mk_if
+perfometers["check_mk-if64"] = performeter_check_mk_if