Module: check_mk
Branch: master
Commit: eee849046472570c550ae875be1b940185722a02
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=eee84904647257…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Mar 26 11:57:32 2015 +0100
printer_supply: Now handling maxlevel=0 correctly
---
checks/printer_supply | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/checks/printer_supply b/checks/printer_supply
index c7855ba..0859d9b 100644
--- a/checks/printer_supply
+++ b/checks/printer_supply
@@ -105,6 +105,11 @@ def check_printer_supply(item, params, info):
else:
warn, crit, upturn = params
+ # Assume 100% as maximum when 0 is reported
+ # Saw some toner cartridge reporting value=0 and maxlevel=0 on empty toner
+ if maxlevel == 0:
+ maxlevel = 100
+
perfdata = [ ("pages", current, warn / 100.0 * maxlevel, crit /
100.0 * maxlevel, 0, maxlevel ) ]
# handle cases with partial data
@@ -119,12 +124,8 @@ def check_printer_supply(item, params, info):
# no percentage possible. We compare directly against levels
return (0, "current level is %d" % current,
[("pages", current)])
- if maxlevel != 0:
- leftperc = 100.0 * float(current) / maxlevel
- else:
- leftperc = float(current) # assume 100% as max
-
- if upturn or (unit_type == 3 and maxlevel == 0):
+ leftperc = 100.0 * float(current) / maxlevel
+ if upturn or unit_type == 4:
leftperc = 100 - leftperc
infotext = "%.0f%% (levels at %.0f%% / %.0f%%)" % (leftperc, warn,
crit)