Module: check_mk
Branch: master
Commit: b6b9714679adf6b5a361fc85e470fe7949cbedf4
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=b6b9714679adf6…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Thu Feb 20 11:09:46 2014 +0100
stulz_pump: now monitors the pumps rpm in precent of maximum and gathers performance data
---
.werks/583 | 8 ++++++++
ChangeLog | 1 +
checkman/stulz_pump | 5 ++++-
checks/stulz_pump | 20 ++++++++++++++------
4 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/.werks/583 b/.werks/583
new file mode 100644
index 0000000..679143a
--- /dev/null
+++ b/.werks/583
@@ -0,0 +1,8 @@
+Title: stulz_pump: now monitors the pumps rpm in precent of maximum and gathers
performance data
+Level: 1
+Component: checks
+Version: 1.2.5i1
+Date: 1392890913
+Class: feature
+
+
diff --git a/ChangeLog b/ChangeLog
index b6a9640..cec9e42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -91,6 +91,7 @@
* 0581 emc_datadomain_disks emc_datadomain_fs: new checks to monitor disks and
filesystems of EMC Datadomain
* 0718 logwatch.ec: Optionally monitor the list of forwarded logfiles...
* 0556 esx_vsphere_counters.diskio: now also shows disk latency
+ * 0583 stulz_pump: now monitors the pumps rpm in precent of maximum and gathers
performance data
* 0103 FIX: services: Fixed bug with service inventory defined in main.mk...
* 0299 FIX: borcade_mlx_fan: Prettified output, handling "other" state now
* 0300 FIX: cisco_fru_power: Trying not to inventorize not plugged in FRUs...
diff --git a/checkman/stulz_pump b/checkman/stulz_pump
index 857c851..2ebe48e 100644
--- a/checkman/stulz_pump
+++ b/checkman/stulz_pump
@@ -4,8 +4,11 @@ catalog: hw/environment/stulz
license: GPL
distribution: check_mk
description:
- This plugin checks the status of pumps of Stulz clima units. Returns
+ This plugin checks the status and RPM of pumps of Stulz clima units. It returns
{OK} if the pump is running and {CRIT} if it is not running.
+perfdata:
+ The RPM of the pump in percent of the maximum RPM are taken as performance data
+
inventory:
The inventory will create exactly one service per pump.
diff --git a/checks/stulz_pump b/checks/stulz_pump
index e3e6ec2..3268d3b 100644
--- a/checks/stulz_pump
+++ b/checks/stulz_pump
@@ -26,28 +26,36 @@
def inventory_stulz_pump(info):
inventory = []
- for pump_id, pump_status in info:
+ for pump_id, pump_status in info[0]:
pump_id = pump_id.replace('.1', '')
inventory.append( (pump_id, None) )
return inventory
def check_stulz_pump(item, _no_params, info):
- for pump_id, pump_status in info:
+ for pump_id, pump_status in info[0]:
pump_id = pump_id.replace('.1', '')
if pump_id == item:
+ pump_rpm = info[1][int(pump_id)-1][0]
+ perfdata = [ ('rpm', pump_rpm+"%", None, None, 0, 100) ]
if pump_status == '1':
- return 0, "Pump is running"
+ state = 0
+ infotext = "Pump is running at %s%%" % pump_rpm
elif pump_status == '0':
- return 2, "Pump is not running"
+ state = 2
+ infotext = "Pump is not running"
else:
- return 3, "Pump reports unidentified status " + pump_status
+ state = 3
+ infotext = "Pump reports unidentified status " + pump_status
+ return state, infotext, perfdata
return 3, "Pump %s not found" % item
check_info["stulz_pump"] = {
"check_function" : check_stulz_pump,
"inventory_function" : inventory_stulz_pump,
"service_description" : "Pump %s",
+ "has_perfdata" : True,
"snmp_scan_function" : lambda oid: oid(".1.3.6.1.2.1.1.2.0")
== ".1.3.6.1.4.1.29462.10",
- "snmp_info" : (
".1.3.6.1.4.1.29462.10.2.1.1.2.1.4.1.1.5802", [ OID_END, 2] ),
+ "snmp_info" : [(
".1.3.6.1.4.1.29462.10.2.1.1.2.1.4.1.1.5802", [ OID_END, 2] ),
+ ( ".1.3.6.1.4.1.29462.10.2.1.1.2.1.4.1.1.5821",
[2] ),]
}