Module: check_mk
Branch: master
Commit: 1bdb31583dfd6021f2ec30c9ceb9bd64181b628a
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1bdb31583dfd60…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Thu Jun 26 15:52:24 2014 +0200
f5_bigip_pool: Added Wato configuration
Thresholds for the minimum number of left pool members can now be definied using WATO.
---
.werks/168 | 8 ++++++++
ChangeLog | 3 +++
checks/f5_bigip_pool | 30 ++++++++++++++++--------------
web/plugins/wato/check_parameters.py | 15 +++++++++++++++
4 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/.werks/168 b/.werks/168
new file mode 100644
index 0000000..a7738cf
--- /dev/null
+++ b/.werks/168
@@ -0,0 +1,8 @@
+Title: f5_bigip_pool: Added Wato configuration
+Level: 1
+Component: wato
+Version: 1.2.5i5
+Date: 1403790534
+Class: feature
+
+Thresholds for the minimum number of left pool members can now be definied using WATO.
diff --git a/ChangeLog b/ChangeLog
index 993f67e..6138c9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
Checks & Agents:
* 0994 FIX: agent plugin smart: fixed syntax error
+ WATO:
+ * 0168 f5_bigip_pool: Added Wato configuration...
+
HW/SW-Inventory:
* 0167 FIX: mk_inventory.linux: Changed field separator from pipe to tab...
diff --git a/checks/f5_bigip_pool b/checks/f5_bigip_pool
index 5c25410..c81fc62 100644
--- a/checks/f5_bigip_pool
+++ b/checks/f5_bigip_pool
@@ -48,25 +48,27 @@ def inventory_f5_bigip_pool(checkname,info):
def check_f5_bigip_pool(item, params, info):
for line in info:
if line[0] == item:
- warn_num_members, crit_num_members = params
+ warn, crit = params
pool_act_members = int(line[1])
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:
+ state = 0
+ elif pool_act_members <= crit:
+ state = 2
+ message += " (Levels warn/crit below: %s/%s)" % ( warn, crit )
+ elif pool_act_members <= warn:
+ state = 1
+ message += " (Levels warn/crit below: %s/%s)" % ( warn, crit )
- if pool_act_members == pool_def_members or pool_act_members >
warn_num_members:
- return (0, "all members online")
- elif pool_act_members <= crit_num_members:
- return (2, "only %s pool member(s) left" % pool_act_members)
- elif pool_act_members == 0:
- return (2, "no pool members left")
- elif pool_act_members <= warn_num_members:
- return (1, "only %i of %i pool members are up" %
(pool_act_members, pool_def_members))
- else:
- return (3, "Unhandled output for pool %s" % item)
- return (3, "unexpected Output from SNMP Agent")
+ return state, message
+ return 3, "unexpected Output from SNMP Agent"
check_info["f5_bigip_pool"] = {
- 'check_function': check_f5_bigip_pool,
- 'inventory_function': inventory_f5_bigip_pool,
+ 'check_function' : check_f5_bigip_pool,
+ 'group' : 'f5_pools',
+ 'inventory_function' : inventory_f5_bigip_pool,
'service_description': 'Load Balancing Pool %s',
'snmp_info': ('.1.3.6.1.4.1.3375.2.2.5.1.2.1', [
1, # ltmPoolEntry
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 43960f8..7e85926 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -3053,6 +3053,21 @@ register_check_parameters(
register_check_parameters(
subgroup_applications,
+ "f5_pools",
+ _("F5 Loadbalancer Pools"),
+ Tuple(
+ title = _("Minimum number of pool members"),
+ elements = [
+ Integer( title = _("Warning if below"), unit=_("Members
")),
+ Integer( title = _("Critical if below"),
unit=_("Members")),
+ ],
+ ),
+ TextAscii(title = _("Name of pool")),
+ "first"
+)
+
+register_check_parameters(
+ subgroup_applications,
"dbsize",
_("Size of MySQL/PostgresQL databases"),
Optional(