Module: check_mk
Branch: master
Commit: 7bb399fa9524571a6e0ad9ab49dfd5aa348e3d2a
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7bb399fa952457…
Author: Goetz Golla <gg(a)mathias-kettner.de>
Date: Tue Aug 26 11:40:29 2014 +0200
#0650 FIX f5_bigip_pool: limits to the number of active nodes are now correctly applied
limits to the number of active nodes are now applied more intuitively and consistent
with the WATO rule. This will also lead to a more reasonable behaviour of the check
in case of a cluster of two nodes with the default limits of (1,2): a warning level will
be set in there is one node, and a critical level if there are no nodes left.
---
.werks/650 | 13 +++++++++++++
ChangeLog | 2 ++
checkman/f5_bigip_pool | 16 ++++++++++------
checks/f5_bigip_pool | 6 +++---
4 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/.werks/650 b/.werks/650
new file mode 100644
index 0000000..b50065b
--- /dev/null
+++ b/.werks/650
@@ -0,0 +1,13 @@
+Title: f5_bigip_pool: limits to the number of active nodes are now correctly applied
+Level: 1
+Component: checks
+Compatible: incomp
+Version: 1.2.5i6
+Date: 1409045579
+Class: fix
+
+limits to the number of active nodes are now applied more intuitively and consistent
+with the WATO rule. This will also lead to a more reasonable behaviour of the check
+in case of a cluster of two nodes with the default limits of (1,2): a warning level will
+be set in there is one node, and a critical level if there are no nodes left.
+
diff --git a/ChangeLog b/ChangeLog
index 2b7b6b5..f03fbdd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -59,6 +59,8 @@
* 1145 FIX: windows_tasks: handle case correctly where task is currently running...
* 1378 FIX: mk_logwatch: remove exceeding \n when rewriting message and using \0...
* 1147 FIX: upc_capacity, ups_socomec_capacity: Fix checking of battery left
levels...
+ * 0650 FIX: f5_bigip_pool: limits to the number of active nodes are now correctly
applied...
+ NOTE: Please refer to the migration notes!
Multisite:
* 1066 Implemented Dashboard Designer...
diff --git a/checkman/f5_bigip_pool b/checkman/f5_bigip_pool
index d39aef7..d20cea3 100644
--- a/checkman/f5_bigip_pool
+++ b/checkman/f5_bigip_pool
@@ -13,8 +13,8 @@ description:
It supports devices running the 9.0 and above releases of the F5 OS. It's
tested against 9.3 devices.
- If the number of down nodes is warn or crit, the names of the nodes are
- also printed in the service output.
+ If there are down nodes, the names of the nodes are also printed in the
+ service output.
examples:
# Let the Pool named ABC on your first F5 be in WARNING state when it reaches 5 active
members or in CRITICAL for anything between 3 and 0.
@@ -24,12 +24,16 @@ examples:
inventory:
- The check gather a list of the pools defined on a system. It will include non-enabled
ones,
- as this is considered a temporary state.
+ The check collects a list of the pools defined on a system. It will include
+ non-enabled ones, as this is considered a temporary state.
[parameters]
-warning (int): Issue a warning if there's this many or less members left in a load
balancing pool
-crit (int): Go to critical state if there's this many members left in a load
balancing pool. Note: 0 active members will always result in a critical state.
+warning (int): issue a warning if there are less than warn members left in
+a load balancing pool
+
+crit (int): go to critical state if there are less than crit members left
+in a load balancing pool. Note: 0 active members will always result in a
+critical state.
[configuration]
f5_bigip_pool_default_levels = (int, int): The default levels for all F5 BIG-IP pool
checks. This is preset to {(2, 1)}.
diff --git a/checks/f5_bigip_pool b/checks/f5_bigip_pool
index 57195d4..9a4367a 100644
--- a/checks/f5_bigip_pool
+++ b/checks/f5_bigip_pool
@@ -65,12 +65,12 @@ def check_f5_bigip_pool(item, params, info):
pool_def_members = int(line[2])
message = "%d of %d members are up" % ( pool_act_members,
pool_def_members )
state = 0
- if pool_act_members == pool_def_members or pool_act_members > warn:
+ if pool_act_members == pool_def_members or pool_act_members >= warn:
state = 0
- elif pool_act_members <= crit:
+ elif pool_act_members < crit:
state = 2
message += " (warn/crit: %s/%s)" % ( warn, crit )
- elif pool_act_members <= warn:
+ elif pool_act_members < warn:
state = 1
message += " (warn/crit: %s/%s)" % ( warn, crit )