From 8312f710097a88e52aefab45ec22af98780b158b Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Fri, 1 Apr 2022 15:57:54 +0200
Subject: [PATCH] update project

---
 agent_based/cisco_vpn_tunnel.py         |  11 +++++++++--
 cisco_vpn_tunnel.mkp                    | Bin 6243 -> 6317 bytes
 packages/cisco_vpn_tunnel               |   2 +-
 web/plugins/metrics/cisco_vpn_tunnel.py |  14 ++++++++++++++
 4 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/agent_based/cisco_vpn_tunnel.py b/agent_based/cisco_vpn_tunnel.py
index 285815b..cc94fcb 100644
--- a/agent_based/cisco_vpn_tunnel.py
+++ b/agent_based/cisco_vpn_tunnel.py
@@ -18,7 +18,7 @@
 # 2021-11-03: fix negative vpn active tine
 # 2022-01-19: added workaround for not matching IKE_OID_end and cipSecTunIkeTunnelIndexfor not matching
 #             IKE_OID_end and cipSecTunIkeTunnelIndex, try to match IPSec nad IKE sa by remote address
-#
+# 2022-04-01: changed IPSec SA count output to check levels
 
 # snmpwalk sample
 #
@@ -300,7 +300,14 @@ def check_cisco_vpn_tunnel(item, params, section: Dict[str, IkeSa]) -> CheckResu
             render_func=render.timespan,
             metric_name='cisco_vpn_tunnel_cipSecTunActiveTime'
         )
-        yield Result(state=State.OK, summary=f'SAs: {ipsecsummary.sa_count}')
+
+        yield from check_levels(
+            label='IPSec SAs',
+            value=ipsecsummary.sa_count,
+            metric_name='cisco_vpn_tunnel_ipsec_sa_count',
+            render_func=lambda v: f'{int(v)}',
+        )
+        # yield Result(state=State.OK, summary=f'SAs: {ipsecsummary.sa_count}')
         ipsec_in_octets = 0
         ipsec_out_octets = 0
         # convert to octets/packets per second
diff --git a/cisco_vpn_tunnel.mkp b/cisco_vpn_tunnel.mkp
index e57f997e1c32bae79b1de31a50f7e90f252e02b0..a6b63cd04e859c32f621df00b9e59e4f9915e5f8 100644
GIT binary patch
literal 6317
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
P1xM%W6*oipjezhUh?`&{

literal 6243
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

diff --git a/packages/cisco_vpn_tunnel b/packages/cisco_vpn_tunnel
index 59ad7cb..7c6ea78 100644
--- a/packages/cisco_vpn_tunnel
+++ b/packages/cisco_vpn_tunnel
@@ -11,7 +11,7 @@
  'name': 'cisco_vpn_tunnel',
  'num_files': 3,
  'title': 'Monitor Cisco VPN Tunnel',
- 'version': '20220119.v0.3',
+ 'version': '20220401.v0.3a',
  'version.min_required': '2.0.0',
  'version.packaged': '2021.09.20',
  'version.usable_until': None}
\ No newline at end of file
diff --git a/web/plugins/metrics/cisco_vpn_tunnel.py b/web/plugins/metrics/cisco_vpn_tunnel.py
index 2fba642..59831cc 100644
--- a/web/plugins/metrics/cisco_vpn_tunnel.py
+++ b/web/plugins/metrics/cisco_vpn_tunnel.py
@@ -137,6 +137,14 @@ metric_info['cisco_vpn_tunnel_cipSecTunActiveTime'] = {
     'unit': 's',
     'color': '26/b',
 }
+
+metric_info['cisco_vpn_tunnel_ipsec_sa_count'] = {
+    'title': _('IPSec SA count'),
+    'help': _(''),
+    'unit': 'count',
+    'color': '12/b',
+}
+
 metric_info['cisco_vpn_tunnel_cipSecTunHcInOctets'] = {
     'title': _('IPSec Bytes in'),
     'help': _(''),
@@ -277,6 +285,12 @@ graph_info['cisco_vpn_tunnel_ipsec_uptime'] = {
         ('cisco_vpn_tunnel_cipSecTunActiveTime', 'area'),
     ],
 }
+graph_info['cisco_vpn_tunnel_ipsec_sa_count'] = {
+    'title': _('IPSec SA count'),
+    'metrics': [
+        ('cisco_vpn_tunnel_ipsec_sa_count', 'area'),
+    ],
+}
 graph_info['cisco_vpn_tunnel_ipsec_octets'] = {
     'title': _('IPSec Bytes/s'),
     'metrics': [
-- 
GitLab