From d306b99b1adf35e9be02ba4bf1bbfabac79e13e2 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Tue, 30 May 2023 22:09:24 +0200
Subject: [PATCH] update project

---
 agent_based/checkpoint_asg_sg_counters.py     |   1 +
 checkpoint_asg_sg_counters-0.4.0-20230530.mkp | Bin 0 -> 3412 bytes
 checkpoint_asg_sg_counters.mkp                | Bin 3398 -> 3412 bytes
 gui/metrics/checkpoint_asg_sg_counters.py     | 288 ++++++++++++++++++
 packages/checkpoint_asg_sg_counters           |   9 +-
 5 files changed, 293 insertions(+), 5 deletions(-)
 create mode 100644 checkpoint_asg_sg_counters-0.4.0-20230530.mkp
 create mode 100644 gui/metrics/checkpoint_asg_sg_counters.py

diff --git a/agent_based/checkpoint_asg_sg_counters.py b/agent_based/checkpoint_asg_sg_counters.py
index ff9b56d..c9ab403 100644
--- a/agent_based/checkpoint_asg_sg_counters.py
+++ b/agent_based/checkpoint_asg_sg_counters.py
@@ -12,6 +12,7 @@
 # 2021-09-10: rewritten for CMK 2.0
 # 2021-09-11: added metrics file
 # 2021-09-29: renamed from checkpoint_asg_smo_counters to checkpoint_asg_sg_counters
+# 2023-05-30: moved gui files to ~/local/lib/chek_mk/gui/plugins/...
 #
 # sample snmpwalk 
 # .1.3.6.1.4.1.2620.1.48.20.1.0 = STRING: "111802"
diff --git a/checkpoint_asg_sg_counters-0.4.0-20230530.mkp b/checkpoint_asg_sg_counters-0.4.0-20230530.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..de8827706ecbc721eb8cbae869f9066b42c2ac3b
GIT binary patch
literal 3412
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

literal 0
HcmV?d00001

diff --git a/checkpoint_asg_sg_counters.mkp b/checkpoint_asg_sg_counters.mkp
index 85bb25673e1b8ba47a59ea3e6e68a80a095bc7aa..de8827706ecbc721eb8cbae869f9066b42c2ac3b 100644
GIT binary patch
literal 3412
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

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

diff --git a/gui/metrics/checkpoint_asg_sg_counters.py b/gui/metrics/checkpoint_asg_sg_counters.py
new file mode 100644
index 0000000..47af58a
--- /dev/null
+++ b/gui/metrics/checkpoint_asg_sg_counters.py
@@ -0,0 +1,288 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+
+from cmk.gui.i18n import _
+
+from cmk.gui.plugins.metrics.utils import (
+    metric_info,
+    graph_info,
+    perfometer_info,
+)
+
+metric_info['checkpoint_asg_sg_counters_concurr_conn'] = {
+    'title': _('Connections'),
+    'unit': 'count',
+    'color': '26/a',
+}
+metric_info['checkpoint_asg_sg_counters_accel_concurr_conn'] = {
+    'title': _('Connections Accelerated'),
+    'unit': 'count',
+    'color': '32/a',
+}
+metric_info['checkpoint_asg_sg_counters_non_accel_concurr_conn'] = {
+    'title': _('Connections non Accelerated'),
+    'unit': 'count',
+    'color': '16/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_connection_rate'] = {
+    'title': _('Connection Rate'),
+    'unit': '1/s',
+    'color': '26/a',
+}
+metric_info['checkpoint_asg_sg_counters_accel_connection_rate'] = {
+    'title': _('Connection Rate Accelerated'),
+    'unit': '1/s',
+    'color': '32/a',
+}
+metric_info['checkpoint_asg_sg_counters_non_accel_connection_rate'] = {
+    'title': _('Connection Rate non Accelerated'),
+    'unit': '1/s',
+    'color': '16/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_load'] = {
+    'title': _('Load'),
+    'unit': '%',
+    'color': '26/a',
+}
+metric_info['checkpoint_asg_sg_counters_accel_load_max'] = {
+    'title': _('Accel load (max)'),
+    'unit': '%',
+    'color': '31/a',
+}
+metric_info['checkpoint_asg_sg_counters_accel_load_avg'] = {
+    'title': _('Accel load (avg)'),
+    'unit': '%',
+    'color': '16/a',
+}
+metric_info['checkpoint_asg_sg_counters_accel_load_min'] = {
+    'title': _('Accel load (min)'),
+    'unit': '%',
+    'color': '11/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_instances_load_avg'] = {
+    'title': _('Instances load (avg)'),
+    'unit': '%',
+    'color': '26/a',
+}
+metric_info['checkpoint_asg_sg_counters_instances_load_min'] = {
+    'title': _('Instances load (min)'),
+    'unit': '%',
+    'color': '32/a',
+}
+metric_info['checkpoint_asg_sg_counters_instances_load_max'] = {
+    'title': _('Instances load (max)'),
+    'unit': '%',
+    'color': '16/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_nat_conn'] = {
+    'title': _('NAT connections'),
+    'unit': 'count',
+    'color': '26/a',
+}
+metric_info['checkpoint_asg_sg_counters_nat_conn_rate'] = {
+    'title': _('NAT Conn Rate'),
+    'unit': '1/s',
+    'color': '32/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_vpn_conn'] = {
+    'title': _('VPN connections'),
+    'unit': 'count',
+    'color': '26/a',
+}
+metric_info['checkpoint_asg_sg_counters_vpn_throughput'] = {
+    'title': _('VPN Throughput'),
+    'unit': 'bytes/s',
+    'color': '32/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_throughput'] = {
+    'title': _('Throughput'),
+    'unit': 'bytes/s',
+    'color': '26/a',
+}
+
+metric_info['checkpoint_asg_sg_counters_packet_rate'] = {
+    'title': _('Packet Rate'),
+    'unit': '1/s',
+    'color': '26/a',
+}
+
+graph_info['checkpoint_asg_sg_counters_connections'] = {
+    'title': _('Check Point SG Concurrent Connections'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_non_accel_concurr_conn', 'line'),
+        ('checkpoint_asg_sg_counters_accel_concurr_conn', 'line'),
+        ('checkpoint_asg_sg_counters_concurr_conn', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_concurr_conn:max'),
+}
+
+graph_info['checkpoint_asg_sg_counters_connection_rate'] = {
+    'title': _('Check Point SG Counter Connection Rate'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_non_accel_connection_rate', 'line'),
+        ('checkpoint_asg_sg_counters_accel_connection_rate', 'line'),
+        ('checkpoint_asg_sg_counters_connection_rate', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_connection_rate:max'),
+}
+
+graph_info['checkpoint_asg_sg_counters_accel_load'] = {
+    'title': _('Check Point SG Counter Load'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_accel_load_min', 'line'),
+        ('checkpoint_asg_sg_counters_accel_load_avg', 'line'),
+        ('checkpoint_asg_sg_counters_accel_load_max', 'line'),
+        ('checkpoint_asg_sg_counters_load', 'area'),
+    ],
+    'range': (0, 110),
+}
+
+graph_info['checkpoint_asg_sg_counters_instances_load'] = {
+    'title': _('Check Point SG Counter Instances Load'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_instances_load_min', 'line'),
+        ('checkpoint_asg_sg_counters_instances_load_avg', 'area'),
+        ('checkpoint_asg_sg_counters_instances_load_max', 'line'),
+    ],
+    'range': (0, 110),
+}
+
+graph_info['checkpoint_asg_sg_counters_nat_conn'] = {
+    'title': _('Check Point SG Counter NAT connections'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_nat_conn', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_nat_conn:max'),
+}
+graph_info['checkpoint_asg_sg_counters_nat_conn_rate'] = {
+    'title': _('Check Point SG Counter NAT connection rate'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_nat_conn_rate', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_nat_conn_rate:max'),
+}
+
+graph_info['checkpoint_asg_sg_counters_vpn_conn'] = {
+    'title': _('Check Point SG Counter VPN connections'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_vpn_conn', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_vpn_conn:max'),
+}
+graph_info['checkpoint_asg_sg_counters_vpn_throughput'] = {
+    'title': _('Check Point SGM Counter VPN Throughput'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_vpn_throughput', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_vpn_throughput:max'),
+}
+
+graph_info['checkpoint_asg_sg_counters_throughput'] = {
+    'title': _('Check Point SG Counter Throughput'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_throughput', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_throughput:max'),
+}
+
+graph_info['checkpoint_asg_sg_counters_packet_rate'] = {
+    'title': _('Check Point SG Counter Packet Rate'),
+    'metrics': [
+        ('checkpoint_asg_sg_counters_packet_rate', 'area'),
+    ],
+    'range': (0, 'checkpoint_asg_sg_counters_packet_rate:max'),
+}
+
+
+perfometer_info.append(('stacked', [
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_accel_concurr_conn',
+        'half_value': 100000.0,
+        'exponent': 2,
+    },
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_non_accel_concurr_conn',
+        'half_value': 100000.0,
+        'exponent': 2,
+    },
+]))
+
+perfometer_info.append(('stacked', [
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_accel_connection_rate',
+        'half_value': 10000.0,
+        'exponent': 2,
+    },
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_non_accel_connection_rate',
+        'half_value': 10000.0,
+        'exponent': 2,
+    },
+]))
+
+perfometer_info.append({
+    'type': 'linear',
+    'segments': ['checkpoint_asg_sg_counters_accel_load_avg'],
+    'total': 100,
+})
+
+perfometer_info.append({
+    'type': 'linear',
+    'segments': ['checkpoint_asg_sg_counters_instances_load_avg'],
+    'total': 100,
+})
+
+perfometer_info.append(('stacked', [
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_nat_conn',
+        'half_value': 10000.0,
+        'exponent': 2,
+    },
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_nat_conn_rate',
+        'half_value': 500.0,
+        'exponent': 2,
+    },
+]))
+
+perfometer_info.append(('stacked', [
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_vpn_conn',
+        'half_value': 500.0,
+        'exponent': 2,
+    },
+    {
+        'type': 'logarithmic',
+        'metric': 'checkpoint_asg_sg_counters_vpn_throughput',
+        'half_value': 2592000.0,
+        'exponent': 2,
+    },
+]))
+
+perfometer_info.append({
+    'type': 'logarithmic',
+    'metric': 'checkpoint_asg_sg_counters_throughput',
+    'half_value': 500.0,
+    'exponent': 2,
+})
+
+perfometer_info.append({
+    'type': 'logarithmic',
+    'metric': 'checkpoint_asg_sg_counters_packet_rate',
+    'half_value': 100000.0,
+    'exponent': 2,
+})
\ No newline at end of file
diff --git a/packages/checkpoint_asg_sg_counters b/packages/checkpoint_asg_sg_counters
index 9bec67b..47eb9a7 100644
--- a/packages/checkpoint_asg_sg_counters
+++ b/packages/checkpoint_asg_sg_counters
@@ -2,11 +2,10 @@
  'description': 'Monitor Check Point Maestro SG performance counters\n',
  'download_url': 'http://thl-cmk.hopto.org/',
  'files': {'agent_based': ['checkpoint_asg_sg_counters.py'],
-           'web': ['plugins/metrics/checkpoint_asg_sg_counters.py']},
+           'gui': ['metrics/checkpoint_asg_sg_counters.py']},
  'name': 'checkpoint_asg_sg_counters',
- 'num_files': 2,
  'title': 'Check Point Maestro SG performance counters',
- 'version': '20210929.v0.3',
- 'version.min_required': '2.0.0',
- 'version.packaged': '2021.09.20',
+ 'version': '0.4.0-20230530',
+ 'version.min_required': '2.1.0b1',
+ 'version.packaged': '2.1.0p21',
  'version.usable_until': None}
\ No newline at end of file
-- 
GitLab