Module: check_mk
Branch: master
Commit: 548e4992486dce6d3f6aa70c81e8745a779fcbac
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=548e4992486dce…
Author: Konstantin Büttner <kb(a)mathias-kettner.de>
Date: Thu Feb 26 11:46:42 2015 +0100
apc_symmetra: Now supports setting levels on remaining battery time
---
checkman/apc_symmetra | 5 ++++-
checks/apc_symmetra | 13 ++++++++++++-
web/plugins/wato/check_parameters.py | 22 ++++++++++++++++++++--
3 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/checkman/apc_symmetra b/checkman/apc_symmetra
index a05c1d6..89d8a44 100644
--- a/checkman/apc_symmetra
+++ b/checkman/apc_symmetra
@@ -71,7 +71,7 @@ inventory:
and if the name of this OID is known to the test. If this is true the system is
inventorized.
[parameters]
-parameters(dict): parameters is a dictionary with two keys
+parameters(dict): parameters is a dictionary with the following keys:
{"levels"}: a tuple of critical levels for battery capacity, temperature,
current and output
voltage. The numbers are integers.
@@ -80,6 +80,9 @@ parameters(dict): parameters is a dictionary with two keys
critical level for the battery capacity in the post-calibration phase in precent.
{"additional_time_span"}
is a time span the post-calibration phase is extended past the day of the calibration in
minutes.
+ {"battime"}: A tuple (warn(int), crit(int)) of levels for the remaining
battery time in minutes.
+ This key is optional.
+
parameters(tuple): The old format of a tuple of 4 values is also still supported,
containing what
is found in the key {"levels"} in the dictionary.
diff --git a/checks/apc_symmetra b/checks/apc_symmetra
index 4efbd42..b0d9021 100644
--- a/checks/apc_symmetra
+++ b/checks/apc_symmetra
@@ -196,9 +196,20 @@ def check_apc(item, params, info):
# 9. run time remaining
# RunTimeRemaining formatiert == "26:00.00"
+ battime_state = 0
hrs = int(RunTimeRemaining) / 3600
mins, secs = divmod(int(RunTimeRemaining) % 3600, 60)
- single_states.append( (0, "run time remaining: %02d:%02d:%02d" % (hrs,
mins, secs),
+ label = ""
+ if params.get('battime'):
+ battime_warn, battime_crit = params['battime']
+ if int(RunTimeRemaining) / 60 <= battime_crit:
+ battime_state = 2
+ label = "(!!)"
+ elif int(RunTimeRemaining) / 60 <= battime_warn:
+ battime_state = 1
+ label = "(!)"
+
+ single_states.append( (battime_state, "run time remaining:
%02d:%02d:%02d%s" % (hrs, mins, secs, label),
("runtime", RunTimeRemaining/60)) )
# 10. Adv Output load (load in percent)
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 8dfa121..1e895f2 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -6155,8 +6155,26 @@ register_check_parameters(
],
optional_keys = False,
)),
- ],
- optional_keys = ['post_calibration_levels', 'output_load'],
+ ("battime",
+ Tuple(
+ title = _("Time left on battery"),
+ elements = [
+ Integer(
+ title = _("Warning at"),
+ help = _("Time left on Battery at and below which a warning
state is triggered"),
+ unit = _("min"),
+ default_value = 0,
+ ),
+ Integer(
+ title = _("Critical at"),
+ help = _("Time Left on Battery at and below which a critical
state is triggered"),
+ unit = _("min"),
+ default_value = 0,
+ ),
+ ],
+ ),
+ )],
+ optional_keys = ['post_calibration_levels', 'output_load',
'battime'],
),
forth = apc_convert_from_tuple
),