From e0a1a70ecb6dafb223ff2394b003d7b7c75e257f Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Wed, 7 Jun 2023 17:53:04 +0200
Subject: [PATCH] update project

---
 agent_based/cisco_fw_nat_translations.py     |   3 +-
 cisco_fw_nat_translations-0.0.2-20230607.mkp | Bin 0 -> 2555 bytes
 cisco_fw_nat_translations.mkp                | Bin 2579 -> 2555 bytes
 gui/metrics/cisco_fw_nat_translations.py     |  69 +++++++++++++++++++
 gui/wato/cisco_fw_nat_translations.py        |  58 ++++++++++++++++
 packages/cisco_fw_nat_translations           |  10 +--
 6 files changed, 133 insertions(+), 7 deletions(-)
 create mode 100644 cisco_fw_nat_translations-0.0.2-20230607.mkp
 create mode 100644 gui/metrics/cisco_fw_nat_translations.py
 create mode 100644 gui/wato/cisco_fw_nat_translations.py

diff --git a/agent_based/cisco_fw_nat_translations.py b/agent_based/cisco_fw_nat_translations.py
index d37bd9d..cb6a0dc 100644
--- a/agent_based/cisco_fw_nat_translations.py
+++ b/agent_based/cisco_fw_nat_translations.py
@@ -35,7 +35,6 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import (
     check_levels_predictive,
     SNMPTree,
     startswith,
-    contains,
     any_of,
 )
 
@@ -114,4 +113,4 @@ register.check_plugin(
     check_function=check_cisco_fw_nat_translations,
     check_default_parameters={},
     check_ruleset_name='cisco_fw_nat_translations'
-)
\ No newline at end of file
+)
diff --git a/cisco_fw_nat_translations-0.0.2-20230607.mkp b/cisco_fw_nat_translations-0.0.2-20230607.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..259c275e7644e08cb9a7d7206bd22d4ef49a4978
GIT binary patch
literal 2555
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
B8C?JX

literal 0
HcmV?d00001

diff --git a/cisco_fw_nat_translations.mkp b/cisco_fw_nat_translations.mkp
index 473171a172ca5ae5183ad183de0b487e682171df..259c275e7644e08cb9a7d7206bd22d4ef49a4978 100644
GIT binary patch
literal 2555
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
B8C?JX

literal 2579
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
Wn6rfV|Kn<efB+(0_{jpv$o>OelmvYM

diff --git a/gui/metrics/cisco_fw_nat_translations.py b/gui/metrics/cisco_fw_nat_translations.py
new file mode 100644
index 0000000..7e3d295
--- /dev/null
+++ b/gui/metrics/cisco_fw_nat_translations.py
@@ -0,0 +1,69 @@
+#!/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  : 2023-03-09
+#
+# Cisco Firewall NAT translations metrics plugin
+#
+
+from cmk.gui.i18n import _
+
+from cmk.gui.plugins.metrics.utils import (
+    metric_info,
+    graph_info,
+    check_metrics,
+    perfometer_info,
+)
+
+# for predictive monitoring
+check_metrics["check_mk-cisco_fw_nat_translations"] = {
+    "predict_fw_nat_active": {"auto_graph": False},
+}
+metric_info['predict_fw_nat_active'] = {
+    'title': _('_Predicted NAT translations'),
+    'unit': 'count',
+    'color': '26/b',
+}
+#
+
+metric_info['fw_nat_active'] = {
+    'title': _('Active'),
+    'unit': 'count',
+    'color': '26/a',
+}
+
+metric_info['fw_nat_peak'] = {
+    'title': _('Peak'),
+    'unit': 'count',
+    'color': '16/a',
+}
+
+graph_info['cisco_fw_nat_translations'] = {
+    'title': _('NAT translatins'),
+    'metrics': [
+        ('predict_fw_nat_active', 'line'),
+        ('fw_nat_peak', 'line'),
+        ('fw_nat_active', 'area'),
+    ],
+    'scalars': [
+        ('fw_nat_active:crit'),  # , _('CRIT')
+        ('fw_nat_active:warn'),  # , _('WARN')
+    ],
+    'optional_metrics': [
+        'predict_fw_nat_active',
+    ],
+
+}
+
+perfometer_info.append(
+    {
+        'type': 'logarithmic',
+        'metric': 'fw_nat_active',
+        'half_value': 100000.0,
+        'exponent': 2,
+    }
+)
diff --git a/gui/wato/cisco_fw_nat_translations.py b/gui/wato/cisco_fw_nat_translations.py
new file mode 100644
index 0000000..f5ed61c
--- /dev/null
+++ b/gui/wato/cisco_fw_nat_translations.py
@@ -0,0 +1,58 @@
+#!/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  : 2023-03-09
+#
+# Cisco Firewall NAT translations WATO plugin
+#
+# 2023-03-10: moved rule to Networking
+#
+#
+
+from cmk.gui.i18n import _
+from cmk.gui.valuespec import (
+    Dictionary,
+    Integer,
+    Tuple,
+)
+
+from cmk.gui.plugins.wato.utils import (
+    CheckParameterRulespecWithoutItem,
+    rulespec_registry,
+    RulespecGroupCheckParametersNetworking,
+    Levels,
+)
+
+
+def _parameter_valuespec_cisco_fw_nat_translations():
+    return Dictionary(elements=[
+        ('levels_upper',
+         Levels(
+             title=_('NAT translations'),
+             unit=_('Translations'),
+         )),
+        ('levels_lower',
+         Tuple(
+             help=_('This rule sets lower levels to the active number of NAT translations through the firewall. '
+                    'Will only be used if NAT translations is not predictive levels.'),
+             title=_('NAT translations lower levels'),
+             elements=[
+                 Integer(title=_('Warning if below'), unit='Translations'),
+                 Integer(title=_('Critical if below'), unit='Translations'),
+             ],
+         )),
+    ],)
+
+
+rulespec_registry.register(
+    CheckParameterRulespecWithoutItem(
+        check_group_name='cisco_fw_nat_translations',
+        group=RulespecGroupCheckParametersNetworking,
+        match_type='dict',
+        parameter_valuespec=_parameter_valuespec_cisco_fw_nat_translations,
+        title=lambda: _('Firewall NAT translatins'),
+    ))
diff --git a/packages/cisco_fw_nat_translations b/packages/cisco_fw_nat_translations
index e542bbd..8428fb2 100644
--- a/packages/cisco_fw_nat_translations
+++ b/packages/cisco_fw_nat_translations
@@ -2,11 +2,11 @@
  'description': 'Monitor Cisco Firewall NAT translations\n',
  'download_url': 'https://thl-cmk.hopto.org',
  'files': {'agent_based': ['cisco_fw_nat_translations.py'],
-           'web': ['plugins/metrics/cisco_fw_nat_translations.py',
-                   'plugins/wato/cisco_fw_nat_translations.py']},
+           'gui': ['metrics/cisco_fw_nat_translations.py',
+                   'wato/cisco_fw_nat_translations.py']},
  'name': 'cisco_fw_nat_translations',
  'title': 'Cisco Firewall NAT Translations',
- 'version': '20230310.v0.0.1a',
- 'version.min_required': '2.0.0',
- 'version.packaged': '2.1.0p22',
+ 'version': '0.0.2-20230607',
+ 'version.min_required': '2.1.0b1',
+ 'version.packaged': '2.1.0p21',
  'version.usable_until': None}
\ No newline at end of file
-- 
GitLab