From dfc353dcc8ef4008e140fa8c826c63acb23a1864 Mon Sep 17 00:00:00 2001
From: "Th.L" <thl-cmk@outlook.com>
Date: Wed, 24 Mar 2021 12:59:02 +0100
Subject: [PATCH] update project

---
 agent_based/cisco_asa_connections.py      | 115 ++++++++++++++++++++++
 checkman/cisco_asa_connections            |  23 -----
 checks/cisco_asa_connections              |  74 --------------
 cisco_asa_connections.mkp                 | Bin 2849 -> 2472 bytes
 packages/cisco_asa_connections            |  29 +++---
 web/plugins/wato/cisco_asa_connections.py |  22 -----
 6 files changed, 133 insertions(+), 130 deletions(-)
 create mode 100644 agent_based/cisco_asa_connections.py
 delete mode 100644 checkman/cisco_asa_connections
 delete mode 100644 checks/cisco_asa_connections
 delete mode 100644 web/plugins/wato/cisco_asa_connections.py

diff --git a/agent_based/cisco_asa_connections.py b/agent_based/cisco_asa_connections.py
new file mode 100644
index 0000000..753265a
--- /dev/null
+++ b/agent_based/cisco_asa_connections.py
@@ -0,0 +1,115 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# License: GNU General Public License v2
+#
+# Author: thl-cmk[at]outlook[dot]com
+# URL   : https://thl-cmk.hopto.org
+# Date  : 2016.03.24
+#
+# Monitors Cisco ASA connection count
+#
+# works with Cisco ASA 55xx and later, tested witch 5506W and 5512-X, 5585-SSP2
+#
+# 2016-03-24: changed "snmp_scan_function" from ".1.3.6.1.2.1.1.2.0" to ".1.3.6.1.2.1.1.1.0"
+# 2016-07-02: fixed crit/warn to >=
+# 2018-01-09: some fine tuning (changed infotext)
+# 2020-02-13: changed snmp_info from ".1.3.6.1.4.1.9.9.147.1.2.2.2.1.5" to
+#             more specific "1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40"
+# 2020-02-24: added support for Cisco Firepower Threat Defense
+# 2020-04-28: changed item from Cisco ASA connections to Firewall connections --> more clear, with cisco_asa_conn check
+# 2021-03-24: rewrite for CMK 2.0
+#
+# sample snmp walk
+#
+# .1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40.6 = Gauge32: 4987
+# .1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40.7 = Gauge32: 17517
+#
+# CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp.currentInUse = Gauge32: 4987
+# CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp.high = Gauge32: 17517
+#
+#
+
+from typing import List, NamedTuple
+
+from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
+    DiscoveryResult,
+    CheckResult,
+    StringTable,
+)
+
+from cmk.base.plugins.agent_based.agent_based_api.v1 import (
+    register,
+    Service,
+    check_levels,
+    SNMPTree,
+    startswith,
+    contains,
+    any_of,
+)
+
+
+class CiscoAsaFwConnections(NamedTuple):
+    current: int
+    peak: int
+
+
+# [[['1102', '2290']]]
+def parse_cisco_asa_connections(string_table: List[StringTable]) -> CiscoAsaFwConnections:
+    return CiscoAsaFwConnections(
+        current=int(string_table[0][0][0]),
+        peak=int(string_table[0][0][1])
+    )
+
+
+#  CiscoAsaFwConnections(current=1102, peak=2290)
+def discovery_cisco_asa_connections(section: CiscoAsaFwConnections) -> DiscoveryResult:
+    yield Service()
+
+
+def check_cisco_asa_connections(params, section: CiscoAsaFwConnections) -> CheckResult:
+    yield from check_levels(
+        section.current,
+        # levels_lower=params.get('lower', None),
+        levels_upper=params.get('connections', None),
+        metric_name='fw_connections_active',
+        render_func=lambda v: '%s' % str(v),
+    )
+
+    yield from check_levels(
+        section.peak,
+        label='Max. since system startup',
+        metric_name='peak_connections',
+        render_func=lambda v: '%s' % str(v),
+    )
+
+
+register.snmp_section(
+    name='cisco_asa_connections',
+    parse_function=parse_cisco_asa_connections,
+    fetch=[
+        SNMPTree(
+            base='.1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40',  # CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp
+            oids=[
+                '6',  # currentInUse
+                '7',  # protoIp.high
+            ]
+        ),
+    ],
+    detect=any_of(
+        startswith('.1.3.6.1.2.1.1.1.0', 'cisco adaptive security'),
+        # startswith('.1.3.6.1.2.1.1.1.0', 'cisco firepower threat defense'),
+        startswith('.1.3.6.1.2.1.1.1.0', 'ccisco firewall services'),
+        contains('.1.3.6.1.2.1.1.1.0', 'cisco pix security'),
+
+    )
+)
+
+register.check_plugin(
+    name='cisco_asa_connections',
+    service_name='Firewall connections',
+    discovery_function=discovery_cisco_asa_connections,
+    check_function=check_cisco_asa_connections,
+    check_default_parameters={},
+    check_ruleset_name='cisco_fw_connections'
+)
diff --git a/checkman/cisco_asa_connections b/checkman/cisco_asa_connections
deleted file mode 100644
index f382ef3..0000000
--- a/checkman/cisco_asa_connections
+++ /dev/null
@@ -1,23 +0,0 @@
-title: Cisco ASA/FirewPower firewall connections
-agents: snmp
-catalog: hw/network/cisco
-license: GPL
-distribution: https://thl-cmk.hopto.org
-description:
- This check monitors the number of connections through the firewall. It goes 
- warning/critical if the number of connections is above the configred levels 
- (default is: warning above 3000 connections, critical above 5000 connections). 
- If the number of connection is below the configured minimum the check goes 
- critical. This check works with Cisco ASA 55XX and Firepower Threat defense 
- firewalls. It requires no separeate plugin or special configuration on the 
- target host.
-
-
-perfdata:
- current_connections: number of current connection through the firewall
- max_connections: number of maximum connections since the restart of the firewall
-
-inventory:
- looks in sysDesc for "cisco adaptive security appliance" and "cisco adaptive 
- security appliance". If one of them found, it will create the service "Firewall
- connections"
diff --git a/checks/cisco_asa_connections b/checks/cisco_asa_connections
deleted file mode 100644
index f89f7ed..0000000
--- a/checks/cisco_asa_connections
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/python
-# -*- encoding: utf-8; py-indent-offset: 4 -*-
-#
-# created by Th.L.:
-#
-# Monitors Cisco ASA connection count
-#
-# works with Cisco ASA 55xx and later, tested witch 5506W and 5512-X, 5585-SSP2
-#
-# 24.03.2016: changed "snmp_scan_function" from ".1.3.6.1.2.1.1.2.0" to ".1.3.6.1.2.1.1.1.0"
-# 02.07.2016: fixed crit/warn to >=
-# 09.01.2018: some fine tuning (changed infotext)
-# 13.02.2020: changed snmp_info from ".1.3.6.1.4.1.9.9.147.1.2.2.2.1.5" to more specific "1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40"
-# 24.02.2020: added support for Cisco Firepower Threat Defense
-# 28.04.2020: changed item from Cisco ASA connections to Firewall connections --> streamline for FirePower
-#
-# sample snmp walk
-#
-# .1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40.6 = Gauge32: 4987
-# .1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40.7 = Gauge32: 17517
-#
-# CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp.currentInUse = Gauge32: 4987
-# CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp.high = Gauge32: 17517
-#
-# sample info
-#
-# [[u'4987', u'17517']]
-#
-# connection levels (warn,crit,minimum)
-cisco_asa_connections_default_levels = (3000, 5000,100)
-
-
-def inventory_cisco_asa_connections(info):
-    if len(info) > 0:
-        return [(None, cisco_asa_connections_default_levels)]
-
-
-def check_cisco_asa_connections(_no_item, params, info):
-    if len(info) > 0:
-        warn, crit, minimum = params
-        current_connections = int(info[0][0])
-        max_connections = int(info[0][1])
-        #             label                  value               warn  crit  min max
-        perfdata = [('current_connections', current_connections, warn, crit, 1000, 2000),
-                    ('max_connections', max_connections)]
-        infotext = ''
-
-        if current_connections >= crit:
-            infotext = '%d (>=%d)(!!)/%d current/max connections' % (current_connections, crit, max_connections)
-            return 2, infotext, perfdata
-        elif current_connections >= warn:
-            infotext = '%d (>=%d)(!)/%d current/max connections' % (current_connections, warn, max_connections)
-            return 1, infotext, perfdata
-        elif current_connections < minimum:
-            infotext = '%d (<%d)(!!)/%d current/max connections' % (current_connections, minimum, max_connections)
-            return 2, infotext, perfdata
-        else:
-            infotext = '%d/%d current/max connections' % (current_connections, max_connections)
-            return 0, infotext, perfdata
-
-
-check_info['cisco_asa_connections'] = {
-    'check_function'     : check_cisco_asa_connections,
-    'inventory_function' : inventory_cisco_asa_connections,
-    'service_description': 'Firewall connections',
-    'has_perfdata'       : True,
-    'group'              : 'cisco_asa_connections',
-    'snmp_scan_function' : lambda oid: oid('.1.3.6.1.2.1.1.1.0').lower().startswith('cisco adaptive security appliance')
-                                       or oid('.1.3.6.1.2.1.1.1.0').lower().startswith('cisco firepower threat defense'),
-    'snmp_info'          : ('.1.3.6.1.4.1.9.9.147.1.2.2.2.1.5.40', [  # CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp
-                             '6',  # CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp.currentInUse
-                             '7',  # CISCO-FIREWALL-MIB::cfwConnectionStatValue.protoIp.high
-                           ]),
-}
diff --git a/cisco_asa_connections.mkp b/cisco_asa_connections.mkp
index 7a509960ae58fe647636d3caac8b13eeec7fb7a2..8708cca2311ad7e41c4c2e57fcfb8afcf738528b 100644
GIT binary patch
literal 2472
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
O#eYZa7%@aKF#Hc+fwV#Z

literal 2849
zcmZ9N`9Bj51IOo9WbO>%Ay+mQzUImixhCYAIl^2~=!M9YB+(Edn%qQgHRdXmX6`#I
z*@zr-Y>wpIp6B_k=lSXL2fRP8_ggZBlhbLk>NYdO%RkgB*xfVK)7>jLD9Fbv%s)6N
z6ru`Mg+kR;HI>7ap~`9~<-oi50b6d2;JJ1_>gchO6G!6a=N#F%o6Wh*ZXJ58cgW~w
z7q0Sn!@;Jy8~pz~w-6OPB1f2-<2DsuyutM!M-^3sU%!-2kcl+yCtxLqf0apci$O)X
z_jNo@=0TbVGL`zG2ggQ!vq>QwYXzo5kHUa`ws?WwPPlwc!HGEyzl?Dn_!@@v?R0l;
zfK1yD7B40G$-5Q|ShCp`77UeZ|Ms3$onu$?lm5-G@7S3d)@)<anQ1<7`>;x$xEC>s
z%ucj>3Dxo|OqGr=U$0zClRWYi4%eq$-YvWF=f+PZ@)8r**EY`A1Q`t>C$DXl55_~Y
zZKFgs#Kf^+EZQmQH+#-JHY$8H98@&?SbF%UlN@^3$5x#&U~LRmDgOOu(D*+7Ho7g@
zHXcmRuxK4ZNPCkqO}RXv*4|Eht|=S-k(dFD8%^q6P8>P}(wCx;5u?$c37GOweucJc
znS(U>L43HM40@MTtv-^nl{!I1!50e>#T_D0QM0tCl`*#d-MWdQcbET}I9pfwYA--A
z#L>!{QbaeWr<;DlL(8_&rbw9Jm7P!fE0jva?5E@;=2tc<MHPKt%&VR<2`jj>T^}ui
z9i3K5vbi0(UiR0UvlNes9@A+Wfy_~?YjW$x(&e5X2D2w<7&#Lt$g<h>KwkV0ou!ma
zfSmmgef0*3vr^h;x(mbHXaDg*7kML?7)RI!_R+~HXTfVXh=9Q<KnD|5KJC+{N!hUI
ziRklQMc&+SYuGJ#n;blX&yC4p9-X9}7J@GeyOY&eTX=zYxe#a`6cJ<A01?ilsymq>
ze_wD~G$9xN0z<r5AWQARZ%YPFUWrxr9%~B+gN)|)ziY|hRaW1Kb=4|%3GDvzjlU41
za6%Sapt>ALlKSc7!NVC4K@vtEc?caLCs|chk9RAcF}l~&qM-DI9a`sE+(XQhtv1Xy
zZbM&@M<N2NzHW8)PR#v@PHHO4^btJid0&<qjipf^u{W~lj*KDhlwp$XO-EL%Y!+%V
z#xx(Fm-rsiI5P>axK>pIC%Z;m+t6a~@_jiGc2QLePE2gb5gJ&e?fLbVfw&%rPWW1s
z&obLY!dvg8>#f!FluT~K-0L}6Y~0(PpDSERu73xt?*p|dxlfptK?}<l2y%Pi303tF
zj>$&xn&33>4;{_pZ$ZUzMCFKL@z)7iSOVK#8w2E&(B;sGw2-d-y~*ic=!{EHPf~{a
zC_IMpTl%aakyycVe@GTFj*xeY`!gi$$9h?l(m*W^8bk3k;X&!!4gYgV&J-KDCvV@=
zPTQ!9y`FwTcZ*N<A)R71lFkPn@P}J{U8H!d)hY-sq|VF!PVJuLIteuxb>B{+H-2m&
z{>=1#1y|kNiGSKG-${WV*Esd_a%_|)2}^2q240wPf*t)loKJ}hyM2kVN0lt>dNdyy
zdJ3EQy>d~-F*dTY^%w?J^~687-_^u@1e<%XT{2}@+(?5)EVS-l9E{pI|Igz7cwAAw
zw;aw3xA?*(3sYHnL~&EG_%s7Y3do0wRX)%eYDt8YP2aNgMU7w$ZlckqwM32-o((?t
zOLIY>XH4o+y;@<ea=BT~dN&2JzbNv2bn&mryZi^K#BIuvv9vvV%4YddQmXNrEty*z
zO}qxw(4adp{Qc*wW;9YFzw|T>AMl$hnXAw>l%`nE_aSSO(f?||aTq@;S0@OZ2tIOF
zqGZI84A<=yfEp4rtTE@K_wQ;F+CDf`Y-Q)<l}ybpqy52|N2y9YTZQVwqT`;sQ`tC}
z{o>j=z#rN0nuBrvyLm42to1Ik(0j5E{4X2IO{!1h_ng1!=}g$Rid{e;busT(ux0XC
z$Gx2;$BXnUtzm{w(g;?Y=R_#&ox&`gvNV$fyzy2u;${n?-Hi{uu%cJ2_lMFm-<|=S
z(Q~`MJ)KA%V0+&o&=otVDF}%vDlx+=n^Wb;5-4Ib3S<&gx8L5i{!+#40PmzPaXT=;
za+o~tL)-Q7uMga9uaAE7R+&;Et@Y>HRpO~ackSL9p2at`f6|<I18b8oNRr1Wa0)*k
zLWNE`Zbp^Y{%XZl_2{wc=8tG*(TDK46_K&>ez;mdi{NlhA`EZ^f99ta%#AY;Zx7>n
z!_8#0Q3LN?(xgQ$pTj!boeTho<#se(a}UJYcMj+Mnge4Uwp6VyV5=)EbYQ_g-D8Et
z8;8efz1voAWEO@xBjI6inI#?Ala6w?A#1}H1p75^X<klN=6D0CzlT<70D5&MBV$12
zWoU`qI%S-tGI|Jc+Dmj=)ah#SPkk!Ov1LNXi}4LgI_*JI0bL>LWHKf}#kkxSK_G)9
z5V{#$xe%51mo_5(7)j=<%;X;HI=6$9xtZP}YlolKYRiBo*rjLCE90#7pGhib>Oe1#
z8awU)Mck-L_RiBmW8ajw6$)%Ev+q${inhLMuP^G(EWBD3Jw4(H8dEJA2rV(+H3B|d
zDd7xNbHZ|}v0QKQcAM%3Xof>jW-yEZcMGSpFjTh_DJtlDg*oyTpGi@-Lc&Pc`)RxJ
znGc3F)jeWg?&&|8if@`J)k$e&S#S(c`$hp<&6R^Q!9rJOO1i-M=bl~#YVT)rC~38A
zGoKb`vnSwjyl99|HMj>l@R(O*J5Nfqr8@mI#6jhOQP4fYynST1Y+WP8tn$(FuO9A#
zFL$^v|5&(FdmUw9p)1HbDT7+~Ip(jZ;jsz)A*wMkW<jb@qbNY~xm5WR#sAfmaRaNd
zC&VqG-0QlefZ|K+5p8h%)F5G8n#}(HbpB%XR9|2D>pnq_5fhesXdMm3Dbn}!8WHuY
zR2aQ^rzkdBiQxzI#lQY9F|sUUHMGD?46EgNU_IomAj4K(Z^i4z&Vee=ANl^Dbdxe>
zpMzdah1*05QIkD$z5zypK=jufKBZD7(!!6bjaB=x?(42G%yg?a+Go~zHy>nHne)}0
z-$a*NbYxoI%=4AiJqQeRx`!!Pj}_)9Z5#NfyzFjz=QG2?7nV;&yraWDylh$%32Wyy
z55<QGMN}7S3`)CuuFKgut{6?V0n(3WCU@PuI(QKCMb!JiPW;2I;Yp$g#*Y<zewQ`l
zFrZ0cU?+N(F=u<oFgVc{Nh8c1#Az0vj_RkMHH^|+EUUhpBE<3Etv`M>^QDQsR&4Xq
zxpbnK0pb8MK_o?_EVWZt%yqIk_?8(4O!%>D`R7BJ!hO2)r`}f9dE>!dx9@zg@J`7J
z9h}S4oH&k7fr>?9>?g9~>DR$n7$ro&j%8bREZlJ}$`gHB;x3=Ol>J0p_s0*;$d4nu
zshHko3yFXi;@L>sl(s0_Wy1@j+AV&Tbr|i#Z>~CB_yF4?;8C?m&DMBV0l696hXCq!
z!*x-YiPDQZ{HD(GWwEV`-$K@e{B|^j$7_+;rUq*9FzWgOq8PN1KN<akN$u)Z%mWzd
zw0hm+XZ*Vl$NrcPLgACTMC;OaFPl~w4icWE+qHPrB_eAa-|;LTW5w3l&waTw;M&?{
zur9A?-iyt(juwvmgyY9~Q?^qhUk9C3Xa>p)EA|j0vKq{H5#gMrY8L_>rN$R)laRz5
nH&^~5FWM!(cC-YK(0upbcKGXm|7(seUOLC1mkStB3;_HaIBJLa

diff --git a/packages/cisco_asa_connections b/packages/cisco_asa_connections
index 037302e..19c2cb7 100644
--- a/packages/cisco_asa_connections
+++ b/packages/cisco_asa_connections
@@ -1,13 +1,20 @@
-{'author': u'Th.L. (thl-cmk[at]outlook[dot]com)',
- 'description': u'monitors Cisco ASA number of connetions\nMinimum/Warning/Critical level can be configured via wato.\n\n - 24.02.2020: added support for Cisco Firepower Threat Defense\n\nNote: item changed from Cisco ASA connections to Firewall connections\n',
+{'author': '(thl-cmk[at]outlook[dot]com',
+ 'description': 'monitors Cisco ASA number of connetions\n'
+                'Minimum/Warning/Critical level can be configured via wato.\n'
+                '\n'
+                ' - 2020-02-24: added support for Cisco Firepower Threat '
+                'Defense\n'
+                ' - 2021-03-24: rewritten for new check API\n'
+                '\n'
+                'Note: item changed from Cisco ASA connections to Firewall '
+                'connections\n',
  'download_url': 'https://thl-cmk.hopto.org',
- 'files': {'checkman': ['cisco_asa_connections'],
-           'checks': ['cisco_asa_connections'],
-           'web': ['plugins/wato/cisco_asa_connections.py',
-                   'plugins/metrics/cisco_asa_connections.py']},
+ 'files': {'agent_based': ['cisco_asa_connections.py'],
+           'web': ['plugins/metrics/cisco_asa_connections.py']},
  'name': 'cisco_asa_connections',
- 'num_files': 4,
- 'title': u'Monitor Cisco ASA connections',
- 'version': '20200428.v.0.3b',
- 'version.min_required': '1.2.6p12',
- 'version.packaged': '1.4.0p38'}
\ No newline at end of file
+ 'num_files': 2,
+ 'title': 'Monitor Cisco ASA connections',
+ 'version': '20210324.v.0.4',
+ 'version.min_required': '2.0.0',
+ 'version.packaged': '2.0.0p1',
+ 'version.usable_until': None}
\ No newline at end of file
diff --git a/web/plugins/wato/cisco_asa_connections.py b/web/plugins/wato/cisco_asa_connections.py
deleted file mode 100644
index aa9de05..0000000
--- a/web/plugins/wato/cisco_asa_connections.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/python
-# -*- encoding: utf-8; py-indent-offset: 4 -*-
-#
-# Author : Th.L.
-# Content: wato plugin for snmp check 'cisco_asa_connections' 
-#          to configure waring/critical/minimum levels
-#
-#
-register_check_parameters(
-    subgroup_networking,
-    'cisco_asa_connections',
-    _('Cisco ASA/FP firewall connections'),
-    Tuple(
-        title=_('Cisco ASA/FP firewall connections'),
-        elements=[
-            Integer(title=_('warning at'), unit=_('connections'), default_value=3000),
-            Integer(title=_('critical at'), unit=_('connections'), default_value=5000),
-            Integer(title=_('minimum'), unit=_('connections'), default_value=100),
-        ]
-    ),
-    None, None
-)
-- 
GitLab