Module: check_mk
Branch: master
Commit: 3aaff305bf62939868e80dc719006ac52f19384c
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3aaff305bf6293…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Thu Dec 15 15:56:45 2011 +0100
ADD: ad_application: Warning level
---
ChangeLog | 1 +
checkman/ad_replication | 3 +--
checks/ad_replication | 24 ++++++++++++++++++------
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 999c096..32acedc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -88,6 +88,7 @@
* fileinfo: new check for monitoring age and size of files
* heartbeat_crm: apply patches from Václav Ovsík, so that the check
should work on Debian now.
+ * ad_replication: added warninglevel
1.1.12p5:
Multisite:
diff --git a/checkman/ad_replication b/checkman/ad_replication
index 6d7db89..d89eec8 100644
--- a/checkman/ad_replication
+++ b/checkman/ad_replication
@@ -27,5 +27,4 @@ max_failed (int): The maximum number of failures to be tolerated. All
counts abo
will raise a CRITICAL state
[configuration]
-ad_replication_default_params (tuple of ints): Default value is set to a maximum amount
of
- 20 failed replications {(20, )}.
+ad_replication_default_params (tuple of ints): Default value is set to 15/20 (warn/crit)
{(15,20)}.
diff --git a/checks/ad_replication b/checks/ad_replication
index 38e78ef..36a2ff1 100644
--- a/checks/ad_replication
+++ b/checks/ad_replication
@@ -38,7 +38,7 @@
import datetime, time
-ad_replication_default_params = (20,)
+ad_replication_default_params = (15,20)
def parse_ad_replication_dates(s):
if s == '0' or s == '(never)':
@@ -55,9 +55,9 @@ def parse_ad_replication_info(info):
def inventory_ad_replication(info):
inv = []
for line in parse_ad_replication_info(info):
- item = ('%s/%s' % (line[4], line[5]),
'ad_replication_default_params')
- if line[0] == 'showrepl_INFO' and item not in inv:
- inv.append(item)
+ entry = ('%s/%s' % (line[4], line[5]),
'ad_replication_default_params')
+ if line[0] == 'showrepl_INFO' and entry not in inv:
+ inv.append(entry)
return inv
def check_ad_replication(item, params, info):
@@ -75,13 +75,24 @@ def check_ad_replication(item, params, info):
foundLine = True
timeLastFailure = parse_ad_replication_dates(timeLastFailure)
timeLastSuccess = parse_ad_replication_dates(timeLastSuccess)
+
+ maxFailuresWarn = params[0]
+ maxFailuresCrit = params[1]
- if int(numFailures) > params[0]:
+ if int(numFailures) > maxFailuresWarn:
+ status = 1
+ output += 'WARNING: %s/%s replication of context %s reached ' \
+ ' the threshold of maxmimum failures (%s) (Last Success:
%s, ' \
+ 'LastFailure: %s NumFailures: %s Status: %s), ' % \
+ (sourceSite, sourceDC, namingContext, maxFailuresWarn,
timeLastFailure,
+ timeLastSuccess, numFailures, statusLastFailure)
+
+ if int(numFailures) > maxFailuresCrit:
status = 2
output += 'CRITICAL: %s/%s replication of context %s reached ' \
' the threshold of maxmimum failures (%s) (Last Success:
%s, ' \
'LastFailure: %s NumFailures: %s Status: %s), ' % \
- (sourceSite, sourceDC, namingContext, params[0],
timeLastFailure,
+ (sourceSite, sourceDC, namingContext, maxFailuresCrit,
timeLastFailure,
timeLastSuccess, numFailures, statusLastFailure)
if timeLastFailure is not None and timeLastSuccess is not None \
@@ -100,3 +111,4 @@ def check_ad_replication(item, params, info):
return (status, 'OK - All replications are OK.')
check_info['ad_replication'] = (check_ad_replication, "AD Replication
%s", 0, inventory_ad_replication)
+checkgroup_of['ad_replication'] = "ad_replication"