From df0a0d0de4205ef4812945a01e665c3c783c5cfb Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sat, 4 Mar 2023 11:03:02 +0100 Subject: [PATCH] update project --- CHANGELOG | 1 + agent_based/checkpoint_fw_connections.py | 1 + checkpoint_fw_connections.mkp | Bin 4617 -> 4671 bytes gui/metrics/checkpoint_fw_connections.py | 135 +++++++++++++++++++++++ gui/wato/checkpoint_fw_connections.py | 100 +++++++++++++++++ packages/checkpoint_fw_connections | 16 +-- 6 files changed, 245 insertions(+), 8 deletions(-) create mode 100644 gui/metrics/checkpoint_fw_connections.py create mode 100644 gui/wato/checkpoint_fw_connections.py diff --git a/CHANGELOG b/CHANGELOG index 6e98a36..31252d3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -9,3 +9,4 @@ 2020-06-08: changed snmp-scan function code cleanup 2022-11-30: WATO: fixed CheckParameterRulespecWithoutItem (from CheckParameterRulespecWithItem) +2023-03-04: changed for CMK 2.1 (moved gui files from local/share/.. to local/lib/..) diff --git a/agent_based/checkpoint_fw_connections.py b/agent_based/checkpoint_fw_connections.py index 4f07e0a..ea85933 100644 --- a/agent_based/checkpoint_fw_connections.py +++ b/agent_based/checkpoint_fw_connections.py @@ -20,6 +20,7 @@ # 2021-08-24: rewritten for CMK 2.0, # added relative thresholds (idea and code based on cmk PR #312 by https://github.com/gradecke) # added lower levels and admin_table_limit, removed default values except for 'levels_upper_relative' +# 2023-03-04: changed for CMK 2.1 (moved gui files from local/share/.. to local/lib/..) # # # sample string_table diff --git a/checkpoint_fw_connections.mkp b/checkpoint_fw_connections.mkp index bacbe9fe31da4add1d2a3185d8eb0c73a6fadc27..4201b73e6891a94f92edcd26745ba6f61638831e 100644 GIT binary patch literal 4671 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 literal 4617 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 diff --git a/gui/metrics/checkpoint_fw_connections.py b/gui/metrics/checkpoint_fw_connections.py new file mode 100644 index 0000000..62d926b --- /dev/null +++ b/gui/metrics/checkpoint_fw_connections.py @@ -0,0 +1,135 @@ +#!/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 : 2018-03-17 +# +# Check Point Firewall connections metrics plugins +# checkpoint_fw_connections +# +# 2023-02-18: moved metrics file from ~/local/share/check_mk/... to ~/local/lib/check_mk/... +# + +from cmk.gui.i18n import _ + +from cmk.gui.plugins.metrics.utils import ( + metric_info, + graph_info, + perfometer_info, +) + +metric_info['checkpoint_fw_connections_fwconnectionstcp'] = { + 'title': _('TCP connections'), + 'unit': '1/s', + 'color': '11/a', +} +metric_info['checkpoint_fw_connections_fwconnectionsudp'] = { + 'title': _('UDP connections'), + 'unit': '1/s', + 'color': '25/a', +} +metric_info['checkpoint_fw_connections_fwconnectionsicmp'] = { + 'title': _('ICMP connections'), + 'unit': '1/s', + 'color': '31/a', +} +metric_info['checkpoint_fw_connections_fwconnectionsother'] = { + 'title': _('Other connections'), + 'unit': '1/s', + 'color': '41/a', +} +metric_info['checkpoint_fw_connections_fwconnectionssum'] = { + 'title': _('Total connections'), + 'unit': '1/s', + 'color': '15/a', +} +metric_info['checkpoint_fw_connections_fwconnectionrate'] = { + 'title': _('Connections rate'), + 'unit': '1/s', + 'color': '22/a', +} + +metric_info['checkpoint_fw_connections_fwcurrentnumconn'] = { + 'title': _('Current connections'), + 'unit': 'count', + 'color': '26/a', +} +metric_info['checkpoint_fw_connections_fwpeaknumconn'] = { + 'title': _('Peak Connections'), + 'unit': 'count', + 'color': '16/a', +} + +metric_info['checkpoint_fw_connections_relative'] = { + 'title': _('Connections relative'), + 'unit': '%', + 'color': '36/a', +} + +graph_info['checkpoint_fw_connections_fwpeaknumconn'] = { + 'title': _('Check Point Firewall Connections absolute'), + 'metrics': [ + ('checkpoint_fw_connections_fwcurrentnumconn', 'area'), + ('checkpoint_fw_connections_fwpeaknumconn', 'line'), + ], + 'scalars': [ + ('checkpoint_fw_connections_fwcurrentnumconn:crit', _('crit')), + ('checkpoint_fw_connections_fwcurrentnumconn:warn', _('warn')), + ], +} + +graph_info['checkpoint_fw_connections_relative'] = { + 'title': _('Check Point Firewall Connections relative to connection table limit'), + 'metrics': [ + ('checkpoint_fw_connections_relative', 'area'), + ], + 'scalars': [ + ('checkpoint_fw_connections_relative:crit', _('crit')), + ('checkpoint_fw_connections_relative:warn', _('warn')), + ], + 'range': (0, 110), +} + +graph_info['checkpoint_fw_connections_fwconnectionstcp'] = { + 'title': _('Check Point Firewall Connections per second'), + 'metrics': [ + ('checkpoint_fw_connections_fwconnectionsother', 'stack'), + ('checkpoint_fw_connections_fwconnectionsicmp', 'stack'), + ('checkpoint_fw_connections_fwconnectionsudp', 'stack'), + ('checkpoint_fw_connections_fwconnectionstcp', 'stack'), + ('checkpoint_fw_connections_fwconnectionssum', 'line'), + ('checkpoint_fw_connections_fwconnectionrate', 'line'), + ], +} + +perfometer_info.append(('stacked', [ + { + 'type': 'linear', + 'segments': ['checkpoint_fw_connections_relative'], + 'total': 100, + }, + { + 'type': 'logarithmic', + 'metric': 'checkpoint_fw_connections_fwconnectionrate', + 'half_value': 1000.0, + 'exponent': 2, + }, +])) + +perfometer_info.append(('stacked', [ + { + 'type': 'logarithmic', + 'metric': 'checkpoint_fw_connections_fwcurrentnumconn', + 'half_value': 100000.0, + 'exponent': 2, + }, + { + 'type': 'logarithmic', + 'metric': 'checkpoint_fw_connections_fwconnectionrate', + 'half_value': 1000.0, + 'exponent': 2, + }, +])) diff --git a/gui/wato/checkpoint_fw_connections.py b/gui/wato/checkpoint_fw_connections.py new file mode 100644 index 0000000..d72a8a2 --- /dev/null +++ b/gui/wato/checkpoint_fw_connections.py @@ -0,0 +1,100 @@ +#!/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 : 2020-06-07 +# +# 2023-02-18: moved wato file from ~/local/share/check_mk/... to ~/local/lib/check_mk/... +# + + +from cmk.gui.i18n import _ +from cmk.gui.valuespec import ( + Dictionary, + Tuple, + Integer, + Percentage, +) +from cmk.gui.plugins.wato.utils import ( + CheckParameterRulespecWithItem, + rulespec_registry, + RulespecGroupCheckParametersNetworking, +) + + +def _parameter_valuespec_checkpoint_fw_connections(): + return Dictionary( + elements=[ + ('levels_upper_absolute', + Tuple( + title=_('Maximum number of firewall connections'), + help=_('This rule sets upper limits to the current number of connections through ' + 'a Checkpoint firewall.'), + elements=[ + Integer(title=_('Warning at'), minvalue=0, unit=_('connections')), + Integer(title=_('Critical at'), minvalue=0, unit=_('connections')), + ])), + ('levels_lower_absolute', + Tuple( + title=_('Minimum number of firewall connections'), + help=_('This rule sets lower limits to the current number of connections through ' + 'a Checkpoint firewall.'), + elements=[ + Integer(title=_('Warning blow'), minvalue=0, unit=_('connections')), + Integer(title=_('Critical below'), minvalue=0, unit=_('connections')), + ])), + ('admin_table_limit', + Integer( + title=_('Admin connection table limit'), + help=_('This rule sets the maximum number of connections through the firewall. This is use full ' + 'if your firewall is set to automatic connection table limit and you still want ' + 'relative metrics. This setting takes precedence over the the fwConnTableLimit ' + 'configured on the firewall (only for monitoring purposes of curse). This value should match' + 'the real values of your firewall, if not you might get relative values above 100%.'), + minvalue=0, + unit=_('connections'), + )), + ('levels_upper_relative', + Tuple( + title=_('Percentage of maximum connections (only used if a limit is defined on ' + 'the Check Point device)'), + help=_('This relative threshold can only be used if a maximum number is defined on ' + 'the firewall side and then read from fwConnTableLimit. By default, this ' + 'limit is not set in Check Point devices and this check than falls back to ' + 'the absolute defaults or the ones defined above'), + elements=[ + Percentage( + title=_('Warning at'), unit='%', minvalue=0.0, maxvalue=100.0, default_value=80.0), + Percentage( + title=_('Critical at'), unit='%', minvalue=0.0, maxvalue=100.0, default_value=90.0), + ])), + ('levels_lower_relative', + Tuple( + title=_('Percentage of minimum connections (only used if a limit is defined on ' + 'the Check Point device)'), + help=_('This relative threshold can only be used if a maximum number is defined on ' + 'the firewall side and then read from fwConnTableLimit. By default, this ' + 'limit is not set in Check Point devices and this check than falls back to ' + 'the absolute defaults or the ones defined above'), + elements=[ + Percentage( + title=_('Warning below'), unit='%', minvalue=0.0, maxvalue=100.0), + Percentage( + title=_('Critical below'), unit='%', minvalue=0.0, maxvalue=100.0), + ])), + ], + # optional_keys=['levels_upper_relative'], + ) + + +rulespec_registry.register( + CheckParameterRulespecWithItem( + check_group_name='checkpoint_fw_connections', + group=RulespecGroupCheckParametersNetworking, + match_type='dict', + parameter_valuespec=_parameter_valuespec_checkpoint_fw_connections, + title=lambda: _('Check Point Firewall Connections'), + )) diff --git a/packages/checkpoint_fw_connections b/packages/checkpoint_fw_connections index 602f145..118f7fd 100644 --- a/packages/checkpoint_fw_connections +++ b/packages/checkpoint_fw_connections @@ -15,7 +15,8 @@ ' - Connections rate/s\n' ' - Current connections\n' ' - Peak Connections\n' - ' - Current connections relative to table limit (if available)\n' + ' - Current connections relative to table limit (if ' + 'available)\n' '\n' 'WATO\n' ' - Upper/Lower levels for current connections (absolute)\n' @@ -24,12 +25,11 @@ ' - Admin connection table limit\n', 'download_url': 'https://thl-cmk.hopto.org', 'files': {'agent_based': ['checkpoint_fw_connections.py'], - 'web': ['plugins/metrics/checkpoint_fw_connections.py', - 'plugins/wato/checkpoint_fw_connections.py']}, + 'gui': ['metrics/checkpoint_fw_connections.py', + 'wato/checkpoint_fw_connections.py']}, 'name': 'checkpoint_fw_connections', - 'num_files': 3, 'title': 'Check Point Connections', - 'version': '20210825.v.0.0.3a', - 'version.min_required': '2.0.0', - 'version.packaged': '2021.07.14', - 'version.usable_until': None} + 'version': '20230303.v.0.0.4', + 'version.min_required': '2.1.0', + 'version.packaged': '2.1.0p21', + 'version.usable_until': None} \ No newline at end of file -- GitLab