Cleanup config.nodes_of
[check_mk.git] / checks / acme_realm
blob0c8400c39bf71818a7b215b8bf4c83922108ff95
1 #!/usr/bin/python
2 # -*- encoding: utf-8; py-indent-offset: 4 -*-
3 # +------------------------------------------------------------------+
4 # | ____ _ _ __ __ _ __ |
5 # | / ___| |__ ___ ___| | __ | \/ | |/ / |
6 # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
7 # | | |___| | | | __/ (__| < | | | | . \ |
8 # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
9 # | |
10 # | Copyright Mathias Kettner 2017 mk@mathias-kettner.de |
11 # +------------------------------------------------------------------+
13 # This file is part of Check_MK.
14 # The official homepage is at http://mathias-kettner.de/check_mk.
16 # check_mk is free software; you can redistribute it and/or modify it
17 # under the terms of the GNU General Public License as published by
18 # the Free Software Foundation in version 2. check_mk is distributed
19 # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
20 # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
21 # PARTICULAR PURPOSE. See the GNU General Public License for more de-
22 # tails. You should have received a copy of the GNU General Public
23 # License along with GNU Make; see the file COPYING. If not, write
24 # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
25 # Boston, MA 02110-1301 USA.
28 def inventory_acme_realm(info):
29 return [
30 (name, {}) for name, _inbound, _outbound, _total_inbound, _total_outbound, _state in info
34 def check_acme_realm(item, params, info):
35 map_states = {
36 "3": (0, "in service"),
37 "4": (1, "contraints violation"),
38 "7": (2, "call load reduction"),
40 for name, inbound, outbound, total_inbound, total_outbound, state in info:
41 if item == name:
42 dev_state, dev_state_readable = map_states[state]
43 return dev_state, "Status: %s, Inbound: %s/%s, Outbound: %s/%s" % \
44 (dev_state_readable, inbound, total_inbound,
45 outbound, total_outbound),\
46 [("inbound", int(inbound), None, None, 0, int(total_inbound)),
47 ("outbound", int(outbound), None, None, 0, int(total_outbound))]
50 check_info['acme_realm'] = {
51 'inventory_function': inventory_acme_realm,
52 'check_function': check_acme_realm,
53 'service_description': 'Realm %s',
54 'has_perfdata': True,
55 'snmp_info': (
56 '.1.3.6.1.4.1.9148.3.2.1.2.4.1',
58 "2", # APSYSMGMT-MIB::apSigRealmStatsRealmName
59 "3", # APSYSMGMT-MIB::apSigRealmStatsCurrentActiveSessionsInbound
60 "5", # APSYSMGMT-MIB::apSigRealmStatsCurrentActiveSessionsOutbound
61 "7", # APSYSMGMT-MIB::apSigRealmStatsTotalSessionsInbound
62 "11", # APSYSMGMT-MIB::apSigRealmStatsTotalSessionsOutbound
63 "30", # APSYSMGMT-MIB::apSigRealmStatsRealmStatus
64 ]),
65 'snmp_scan_function': scan_acme,
66 'includes': ['acme.include'],