Module: check_mk
Branch: master
Commit: 86f472f54fb0a4c5d57de145e24898affcfc6d59
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=86f472f54fb0a4…
Author: Goetz Golla <gg(a)mathias-kettner.de>
Date: Mon Jan 19 16:23:33 2015 +0100
netscaler_health: code review
---
...{netscaler_health.psus => netscaler_health.psu} | 0
checks/netscaler_health | 80 ++++++++------------
2 files changed, 33 insertions(+), 47 deletions(-)
diff --git a/checkman/netscaler_health.psus b/checkman/netscaler_health.psu
similarity index 100%
rename from checkman/netscaler_health.psus
rename to checkman/netscaler_health.psu
diff --git a/checks/netscaler_health b/checks/netscaler_health
index b155c33..c6b7624 100644
--- a/checks/netscaler_health
+++ b/checks/netscaler_health
@@ -29,36 +29,20 @@
# Example Output:
# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.12.1 "CPUFan0Speed"
# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.12.2 "CPUFan1Speed"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.14.1 "BatteryVoltage"
# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.14.2 "SystemFanSpeed"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.14.3 "VoltageSensor2"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.15 "CPU0CoreVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.15 "CPU0Temperature"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.15 "CPU1CoreVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.15 "CPU1Temperature"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.15 "SystemFan1Speed"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.15 "SystemFan2Speed"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.16 "IntelCPUVttPower"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.18 "+5.0VSupplyVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.18 "-5.0VSupplyVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.19 "+12.0VSupplyVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.19 "-12.0VSupplyVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.19 "InternalTemperature"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.21 "Main3.3VSupplyVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.24 "Standby3.3VSupplyVoltage"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.25 "PowerSupply1FailureStatus"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.25 "PowerSupply2FailureStatus"
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.27 "PowerSupply5vStandbyVoltage"
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.14.3 "CPU0Temperature"
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.14.4 "CPU1Temperature"
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.19.3 "InternalTemperature"
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.25.2 "PowerSupply1FailureStatus"
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.1.25.7 "PowerSupply2FailureStatus"
# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.12.1 9975
# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.12.2 9750
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.14.1 3104
# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.14.2 9825
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.14.3 3343
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.15 1183
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.15 60
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.15 0
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.15 0
-# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.15 9900
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.14.3 60
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.14.4 72
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.19.3 32
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.25.2 0
+# .1.3.6.1.4.1.5951.4.1.1.41.7.1.2.25.7 9900
netscaler_health_scan = lambda oid:
oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.5951.1")
@@ -79,22 +63,23 @@ netscaler_health_info = (".1.3.6.1.4.1.5951.4.1.1.41.7.1", [
# nsSysHealthTable
factory_settings["netscaler_health_fan_default_levels"] = {
"lower": (3500, 3000),
+ "upper": (None, None),
}
def inventory_netscaler_health_fan(info):
for name, value in info:
if name.endswith("Speed"):
- yield name[:-5], None
+ yield name[:-5], {}
def check_netscaler_health_fan(item, params, info):
for name, value in info:
if name[:-5] == item:
value=int(value)
- infotext = "speed is %d RPM" % value
+ infotext = "speed is %d rpm" % value
state = 0
- lower_warn, lower_crit = params.get("lower", ("",
"") )
- upper_warn, upper_crit = params.get("upper", ("",
"") )
+ lower_warn, lower_crit = params["lower"]
+ upper_warn, upper_crit = params["upper"]
if lower_crit and value <= lower_crit:
state = 2
infotext += " (lower levels at %d/%d rpm)" % (lower_warn,
lower_crit)
@@ -137,7 +122,7 @@ factory_settings["netscaler_health_temp_default_levels"] =
{
def inventory_netscaler_health_temp(info):
for name, value in info:
if name.endswith("Temperature") and value != "0":
- yield name[:-11], None
+ yield name[:-11], {}
def check_netscaler_health_temp(item, params, info):
for name, value in info:
@@ -158,16 +143,17 @@ check_info["netscaler_health.temp"] = {
}
#.
-# .--Power supply--------------------------------------------------------.
+# .--psu-----------------------------------------------------------------.
# | |
-# | _ __ ___ _ _ ___ |
-# | | '_ \/ __| | | / __| |
-# | | |_) \__ \ |_| \__ \ |
-# | | .__/|___/\__,_|___/ |
-# | |_| |
+# | _ __ ___ _ _ |
+# | | '_ \/ __| | | | |
+# | | |_) \__ \ |_| | |
+# | | .__/|___/\__,_| |
+# | |_| |
# +----------------------------------------------------------------------+
-def inventory_netscaler_health_psus(info):
+
+def inventory_netscaler_health_psu(info):
for name, state in info:
r = regex('PowerSupply([\d])(Failure|)Status')
m = r.match(name)
@@ -176,23 +162,23 @@ def inventory_netscaler_health_psus(info):
yield m.group(1), None
-def check_netscaler_health_psus(item, _no_params, info):
- ps_status_map = ( (3, "not supported"), # 0
+def check_netscaler_health_psu(item, _no_params, info):
+ psu_status_map = ( (3, "not supported"), # 0
(2, "not present"), # 1
(2, "failed"), # 2
(0, "normal"), # 3
)
for name, state in info:
- if name.startswith("PowerSupply" + item) and
name.endswith("Status") \
- or name.endswith("FailureStatus"):
- return ps_status_map[int(state)]
+ if name.startswith("PowerSupply" + item) and
(name.endswith("Status") \
+ or name.endswith("FailureStatus")):
+ return psu_status_map[int(state)]
-check_info["netscaler_health.psus"] = {
- "check_function" : check_netscaler_health_psus,
- "inventory_function" : inventory_netscaler_health_psus,
- "service_description" : "Power supply %s",
+check_info["netscaler_health.psu"] = {
+ "check_function" : check_netscaler_health_psu,
+ "inventory_function" : inventory_netscaler_health_psu,
+ "service_description" : "Power Supply %s",
"snmp_info" : netscaler_health_info,
"snmp_scan_function" : netscaler_health_scan,
}