Module: check_mk
Branch: master
Commit: c4bba6dae1732edf7f12bdf0d972428822b959ea
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c4bba6dae1732e…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed May 25 12:45:24 2011 +0200
FIX: Improved ipmi check
---
ChangeLog | 3 +++
checks/ipmi | 21 +++++++++++++--------
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a0b1663..f186d77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,9 @@
* Introduced basic infrastructure for multilanguage support in Multisite
* FIX: make non-Ascii characters in services names work again
* FIX: printer_supply perfometer: Using white font for black toners
+ * FIX: icmp: Skipping items with invalid data (0.000 val, "unspecified"
+ unit) in summary mode
+ * FIX: icmp: Improved output formating in summary mode
WATO:
* Configration files can now be administered via the WEB UI
diff --git a/checks/ipmi b/checks/ipmi
index b5c5d08..a47e0ee 100644
--- a/checks/ipmi
+++ b/checks/ipmi
@@ -146,10 +146,16 @@ def check_ipmi_summarized(info):
try:
for name, val, unit, status, unrec_low, crit_low, \
warn_low, warn_high, crit_high, unrec_high in info:
+ # Skip datasets which have no valid data (zero value, no unit and state nc)
+ if val == '0.000' and unit == 'unspecified' and status ==
'nc':
+ continue
+
if ipmi_ignore_entry(name, status):
continue
- text = "%s is %s %s" % (name, val, unit)
+ text = "%s is %s" % (name, val)
+ if unit != 'unspecified':
+ text += ' %s' % unit
count += 1
if status == 'nc':
worst_status = max(worst_status, 1)
@@ -176,16 +182,15 @@ def check_ipmi_summarized(info):
statname = { 0: "OK", 1:"WARN", 2:"CRIT"
}[worst_status]
if worst_status == 0:
- infotext = "%d sensors OK" % count
+ infotext = [ "%d sensors OK" % count ]
else:
- infotext = ""
+ infotext = []
if len(crit_texts) > 0:
- infotext += "critical are: %s" % ", ".join(crit_texts)
+ infotext.append("CRIT are: %s" % ", ".join(crit_texts))
if len(warn_texts) > 0:
- if infotext != "":
- infotext += ", "
- infotext += "warning are: %s" % ", ".join(warn_texts)
- return (worst_status, "%s - %s" % (statname, infotext), perfdata)
+ infotext.append("WARN are: %s" % ", ".join(warn_texts))
+ return (worst_status, "%s - %s" % (statname, ' - '.join(infotext)),
perfdata)
+
check_info['ipmi'] = (check_ipmi, "IPMI Sensor %s", 1,
inventory_ipmi)