Module: check_mk
Branch: master
Commit: d1a8f931c973d7e3997cb703693106bdca8cb4c7
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d1a8f931c973d7…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Jan 27 13:29:23 2015 +0100
kemp_loadmaster_realserver: code overhaul
---
checks/kemp_loadmaster_realserver | 41 +++++++++++++++----------------------
1 file changed, 17 insertions(+), 24 deletions(-)
diff --git a/checks/kemp_loadmaster_realserver b/checks/kemp_loadmaster_realserver
index 4886da2..7fad856 100644
--- a/checks/kemp_loadmaster_realserver
+++ b/checks/kemp_loadmaster_realserver
@@ -33,34 +33,27 @@
# ['10.20.30.101', '5', '1'],
# ['10.20.30.102', '6', '1']
+
def inventory_kemp_loadmaster_realserver(info):
for line in info:
- yield line[1], None
+ if line[2] != '4': # Skip disabled servers
+ yield line[1], None
+
def check_kemp_loadmaster_realserver(item, _no_params, info):
# states as they are defined in corresponding MIB: B100-MIB::rSstate
states = {
- 1 : 'in service',
- 2 : 'out of service',
- 3 : 'failed',
- 4 : 'disabled'
- }
-
- for line in info:
- if line[1] == item:
- state = int(line[2])
- message = "State: %s, IP: %s" % (states[state], line[0])
+ '1' : (0, 'in service', ),
+ '2' : (2, 'out of service', ),
+ '3' : (2, 'failed', ),
+ '4' : (2, 'disabled' ),
+ }
- if state in [ 1 ]:
- return 0, message
- elif state in [ 2, 4 ]:
- return 1, message
- elif state in [ 3 ]:
- return 2, message
- else:
- return 3, message
+ for ipaddress, server_id, state_id in info:
+ if item == server_id:
+ state, state_name = states[state_id]
+ return state, "State: %s, IP: %s" % (state_name, ipaddress)
- return 3, "Service not found"
check_info["kemp_loadmaster_realserver"] = {
"check_function" : check_kemp_loadmaster_realserver,
@@ -68,12 +61,12 @@ check_info["kemp_loadmaster_realserver"] = {
"service_description" : "Real Server %s",
"snmp_scan_function" : lambda oid: oid(".1.3.6.1.2.1.1.2.0")
in [
".1.3.6.1.4.1.12196.250.10",
- ".1.3.6.1.4.1.2021.250.10"
+ ".1.3.6.1.4.1.2021.250.10"
],
"snmp_info" : ( ".1.3.6.1.4.1.12196.13.2.1", [
- 2, # ip address: B100-MIB::rSip
- 5, # id: B100-MIB::rSidx
- 8, # state: B100-MIB::rSstate
+ 2, # IP address: B100-MIB::rSip
+ 5, # ID: B100-MIB::rSidx
+ 8, # state: B100-MIB::rSstate
] ),
}