Module: check_mk
Branch: master
Commit: ffa08cc2161e48971815e51c6a03c09127a25867
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ffa08cc2161e48…
Author: Konstantin Büttner <kb(a)mathias-kettner.de>
Date: Thu Jan 18 17:04:20 2018 +0100
hp_psu: Handle some quirks not documented in the MIB
Change-Id: Ia455fdec49ce6086fec4ce6a49541e981485935e
---
checkman/hp_psu | 3 ++-
checks/hp_psu | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/checkman/hp_psu b/checkman/hp_psu
index e55d60d..7460c1b 100644
--- a/checkman/hp_psu
+++ b/checkman/hp_psu
@@ -6,7 +6,8 @@ distribution: check_mk
description:
This check monitors the state of power supplies in HP switches. "maxstate"
is treated as UNKNOWN, "not present", "not plugged" and
"permanent failure" as CRIT,
- "failed" as WARN and "powered" as OK.
+ "failed" as WARN and "powered" as OK. The status code 8, which is
not documented
+ in the MIB, appears to mean the device is unplugged, which we treat as CRIT.
item:
The power supplies' index.
diff --git a/checks/hp_psu b/checks/hp_psu
index 2b21187..abeec97 100644
--- a/checks/hp_psu
+++ b/checks/hp_psu
@@ -50,6 +50,9 @@ def inventory_hp_psu_temp(parsed):
def check_hp_psu_temp(item, params, parsed):
+ temp_unknown_status = ["8"] # For some status, the device simply reports 0
as a temperature value.
+ if parsed[item]["status"] in temp_unknown_status and
parsed[item]["temp"] == 0:
+ return 3, "No temperature data available"
return check_temperature(parsed[item]["temp"], params, item)
@@ -89,9 +92,10 @@ def check_hp_psu(item, params, parsed):
"4" : (1, "Failed"),
"5" : (2, "Permanent Failure"),
"6" : (3, "Max"),
+ "8" : (2, "Unplugged"), # This value is not specified in
the MIB, but has been observed in the wild.
}
- return ps_statemap[parsed[item]["status"]]
+ return ps_statemap.get(parsed[item]["status"],(3, "Unknown status code
sent by device"))
check_info['hp_psu'] = {