From c3b84a51779cdc46b83acadad2121b716156d21b Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Fri, 10 Sep 2021 12:19:05 +0200 Subject: [PATCH] update project --- agent_based/checkpoint_asg_smo_counters.py | 235 +++++++++++++++++++++ checkpoint_asg_smo_counters.mkp | Bin 2227 -> 2558 bytes packages/checkpoint_asg_smo_counters | 14 +- 3 files changed, 242 insertions(+), 7 deletions(-) create mode 100644 agent_based/checkpoint_asg_smo_counters.py diff --git a/agent_based/checkpoint_asg_smo_counters.py b/agent_based/checkpoint_asg_smo_counters.py new file mode 100644 index 0000000..f67256f --- /dev/null +++ b/agent_based/checkpoint_asg_smo_counters.py @@ -0,0 +1,235 @@ +#!/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-11-09 +# +# Monitor Check Point Maestro SMO SGM Counters +# +# 2021-09-10: rewritten for CMK 2.0 +# +# +# sample snmpwalk +# .1.3.6.1.4.1.2620.1.48.20.1.0 = STRING: "111802" +# .1.3.6.1.4.1.2620.1.48.20.2.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.3.0 = STRING: "84" +# .1.3.6.1.4.1.2620.1.48.20.4.0 = STRING: "91" +# .1.3.6.1.4.1.2620.1.48.20.5.0 = STRING: "N/A" +# .1.3.6.1.4.1.2620.1.48.20.6.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.7.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.8.0 = STRING: "9" +# .1.3.6.1.4.1.2620.1.48.20.9.0 = STRING: "79" +# .1.3.6.1.4.1.2620.1.48.20.10.0 = STRING: "1" +# .1.3.6.1.4.1.2620.1.48.20.11.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.12.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.13.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.14.0 = STRING: "1" +# .1.3.6.1.4.1.2620.1.48.20.15.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.16.0 = STRING: "7" +# .1.3.6.1.4.1.2620.1.48.20.17.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.18.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.19.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.20.0 = STRING: "0" +# .1.3.6.1.4.1.2620.1.48.20.21.0 = STRING: "N/A" +# +# sample info +# [[u'111802', u'0', u'84', u'91', u'N/A', u'0', u'0', u'9', u'79', u'1', u'0', u'0', u'0', u'1', u'0', u'7', u'0', u'0', u'0', u'0', u'N/A']] +# +import time +from dataclasses import dataclass +from typing import List, Dict, NamedTuple, Optional + +from cmk.base.plugins.agent_based.agent_based_api.v1 import ( + register, + Service, + Result, + Metric, + State, + SNMPTree, + all_of, + startswith, + any_of, + equals, + check_levels, + render, +) +from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( + DiscoveryResult, + CheckResult, + StringTable, +) + + +def parse_checkpoint_asg_smo_counters(string_table: StringTable) -> Dict[str, Dict[str, int]]: + items = {} + for entry in string_table: + asgThroughput, asgConnectionRate, asgPacketRate, asgConcurrConn, asgClearConn, asgAccelConnectionRate, \ + asgNonAccelConnectionRate, asgAccelConcurrConn, asgNonAccelConcurrConn, asgLoad, asgAccelLoadAvg, \ + asgAccelLoadMin, asgAccelLoadMax, asgInstancesLoadAvg, asgInstancesLoadMin, asgInstancesLoadMax, \ + asgVpnThroughput, asgVpnConn, asgNatConnRate, asgNatConn, asgVsxCpu1MinAvg = entry + + items['Concurrent connections'] = { + 'asgConcurrConn': int(asgConcurrConn), + 'asgAccelConcurrConn': int(asgAccelConcurrConn), + 'asgNonAccelConcurrConn': int(asgNonAccelConcurrConn), + } + items['Connection rate'] = { + 'asgConnectionRate': int(asgConnectionRate), + 'asgAccelConnectionRate': int(asgAccelConnectionRate), + 'asgNonAccelConnectionRate': int(asgNonAccelConnectionRate), + } + + items['Load'] = { + 'asgLoad': int(asgLoad), + 'asgAccelLoadAvg': int(asgAccelLoadAvg), + 'asgAccelLoadMin': int(asgAccelLoadMin), + 'asgAccelLoadMax': int(asgAccelLoadMax), + } + + items['Instances load'] = { + 'asgInstancesLoadAvg': int(asgInstancesLoadAvg), + 'asgInstancesLoadMin': int(asgInstancesLoadMin), + 'asgInstancesLoadMax': int(asgInstancesLoadMax), + } + items['NAT'] = { + 'asgNatConnRate': int(asgNatConnRate), + 'asgNatConn': int(asgNatConn), + } + items['VPN'] = { + 'asgVpnThroughput': int(asgVpnThroughput), + 'asgVpnConn': int(asgVpnConn), + } + items['Throughput'] = { + 'asgThroughput': int(asgThroughput), + } + items['Packet rate'] = { + 'asgPacketRate': int(asgPacketRate), + } + return items + + +def discovery_checkpoint_asg_smo_counters(section:Dict[str, Dict[str, int]]) -> DiscoveryResult: + # sample parsed + # { + # 'Load': {'asgAccelLoadAvg': 0, 'asgAccelLoadMin': 0, 'asgLoad': 1, 'asgAccelLoadMax': 0}, + # 'Connection rate': {'asgConnectionRate': 0, 'asgNonAccelConnectionRate': 0, 'asgAccelConnectionRate': 0}, + # 'Instances load': {'asgInstancesLoadMin': 0, 'asgInstancesLoadMax': 7, 'asgInstancesLoadAvg': 1}, + # 'Throughput': {'asgThroughput': 111802}, + # 'Concurrent connections': {'asgAccelConcurrConn': 9, 'asgNonAccelConcurrConn': 79, 'asgConcurrConn': 91}, + # 'NAT': {'asgNatConn': 0, 'asgNatConnRate': 0}, + # 'VPN': {'asgVpnConn': 0, 'asgVpnThroughput': 0}, + # 'Packet rate': {'asgPacketRate': 84}} + # + + for item in section.keys(): + yield Service(item=item) + + +def check_checkpoint_asg_smo_counters(item, params, section:Dict[str, Dict[str, int]]) -> CheckResult: + try: + entry = section[item] + except KeyError: + yield Result(state=State.UNKNOWN, notice='Item not found in SNMP data') + return + + for key in entry.keys(): + yield Metric(value=entry[key], name=f'checkpoint_asg_mso_counters_{key}') + + if item.lower() == 'concurrent connections': + yield Result( + state=State.OK, + summary=f'all/accelerated/non accelerated: {entry["asgConcurrConn"]:d}/{entry["asgAccelConcurrConn"]:d}/{entry["asgNonAccelConcurrConn"]:d}' + ) + + elif item.lower() == 'load': + yield Result( + state=State.OK, + summary=f'current/average/min/max: {entry["asgLoad"]:d}/{entry["asgAccelLoadAvg"]:d}/{entry["asgAccelLoadMin"]:d}/{entry["asgAccelLoadMax"]:d}' + ) + + elif item.lower() == 'connection rate': + yield Result( + state=State.OK, + summary=f'all/accelerated/non accelerated: {entry["asgConnectionRate"]:d}/{entry["asgAccelConnectionRate"]:d}/{entry["asgNonAccelConnectionRate"]:d}' + ) + + elif item.lower() == 'instances load': + yield Result( + state=State.OK, + summary=f'average/min/max: {entry["asgInstancesLoadAvg"]:d}/{entry["asgInstancesLoadMin"]:d}/{entry["asgInstancesLoadMax"]:d}' + ) + + elif item.lower() == 'throughput': + yield Result( + state=State.OK, + summary=f'Throughput: {entry["asgThroughput"]:d}' + ) + + elif item.lower() == 'packet rate': + yield Result( + state=State.OK, + summary=f'Packet Rate: {entry["asgPacketRate"]:d}' + ) + + elif item.lower() == 'nat': + yield Result( + state=State.OK, + summary=f'NAT Connections/NAT connection rate: {entry["asgNatConn"]:d}/{entry["asgNatConn"]:d}' + ) + + elif item.lower() == 'vpn': + yield Result( + state=State.OK, + summary=f'VPN Connections/VPN Throughput: {entry["asgVpnConn"]:d}/{entry["asgVpnThroughput"]:d}' + ) + + +register.snmp_section( + name='checkpoint_asg_smo_counters', + parse_function=parse_checkpoint_asg_smo_counters, + fetch=SNMPTree( + base='.1.3.6.1.4.1.2620.1.48.20', # CHECKPOINT-MIB::asgIPv4PerformanceCounters + oids=[ + '1', # asgThroughput + '2', # asgConnectionRate + '3', # asgPacketRate + '4', # asgConcurrConn + '5', # asgClearConn + '6', # asgAccelConnectionRate + '7', # asgNonAccelConnectionRate + '8', # asgAccelConcurrConn + '9', # asgNonAccelConcurrConn + '10', # asgLoad + '11', # asgAccelLoadAvg + '12', # asgAccelLoadMin + '13', # asgAccelLoadMax + '14', # asgInstancesLoadAvg + '15', # asgInstancesLoadMin + '16', # asgInstancesLoadMax + '17', # asgVpnThroughput + '18', # asgVpnConn + '19', # asgNatConnRate + '20', # asgNatConn + '21', # asgVsxCpu1MinAvg + ] + ), + detect=any_of( + startswith('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.2620'), + all_of( + equals('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.8072.3.2.10'), + equals('.1.3.6.1.4.1.2620.1.6.1.0', 'SVN Foundation'), + ) + ) +) + +register.check_plugin( + name='checkpoint_asg_smo_counters', + service_name='ASG SMO counters %s', + discovery_function=discovery_checkpoint_asg_smo_counters, + check_function=check_checkpoint_asg_smo_counters, + check_ruleset_name='checkpoint_asg_smo_counters', + check_default_parameters={}, +) diff --git a/checkpoint_asg_smo_counters.mkp b/checkpoint_asg_smo_counters.mkp index 8da2e24319a8daf55b64a9d9934c86bdf0132650..12a3e8c8a121b008617504a9f0b1343b8d0323d2 100644 GIT binary patch delta 2553 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 Pe@XuZosfGX08jt`q(b<q delta 2220 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 diff --git a/packages/checkpoint_asg_smo_counters b/packages/checkpoint_asg_smo_counters index eb3414b..aa77ead 100644 --- a/packages/checkpoint_asg_smo_counters +++ b/packages/checkpoint_asg_smo_counters @@ -1,11 +1,11 @@ -{'author': u'Th.L. (thl-cmk[at]outlook[dot]com)', - 'description': u'Monitor Check Point Maestro SMO performance counters', +{'author': 'Th.L. (thl-cmk[at]outlook[dot]com)', + 'description': 'Monitor Check Point Maestro SMO performance counters\n', 'download_url': 'http://thl-cmk.hopto.org/', - 'files': {'checks': ['checkpoint_asg_smo_counters']}, + 'files': {'agent_based': ['checkpoint_asg_smo_counters.py']}, 'name': 'checkpoint_asg_smo_counters', 'num_files': 1, - 'title': u'Check Point Maestro SMO performance counters', - 'version': '20201110.v0.1', - 'version.min_required': '1.4.0p38', - 'version.packaged': '1.6.0p15', + 'title': 'Check Point Maestro SMO performance counters', + 'version': '20210910.v0.2', + 'version.min_required': '2.0.0', + 'version.packaged': '2021.07.14', 'version.usable_until': None} \ No newline at end of file -- GitLab