From cf2f1ceb8daa3b7b4ef7ca14e7678ed8768e4cb2 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Fri, 10 Sep 2021 11:02:51 +0200 Subject: [PATCH] update project --- agent_based/checkpoint_asg_interface.py | 115 ++++++++++++------------ checkpoint_asg_interface.mkp | Bin 4196 -> 4271 bytes packages/checkpoint_asg_interface | 2 +- 3 files changed, 59 insertions(+), 58 deletions(-) diff --git a/agent_based/checkpoint_asg_interface.py b/agent_based/checkpoint_asg_interface.py index 608fa25..e5b5421 100644 --- a/agent_based/checkpoint_asg_interface.py +++ b/agent_based/checkpoint_asg_interface.py @@ -10,6 +10,7 @@ # Monitor Check Point Maestro SMO interfaces # # 2021-03-03: rewrite for CMK 2.0 +# 2021-09-10: changed render function to networkbandwidth # # sample snmpwalk (for one interface) # .1.3.6.1.4.1.2620.1.48.26.1.1.1.4.0 = Gauge32: 4 @@ -48,13 +49,13 @@ import time from typing import Mapping, Dict, List, Tuple, NamedTuple -from .agent_based_api.v1.type_defs import ( +from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, StringTable, CheckResult, ) -from .agent_based_api.v1 import ( +from cmk.base.plugins.agent_based.agent_based_api.v1 import ( register, Service, equals, @@ -87,13 +88,13 @@ class CheckPointASGInterface(NamedTuple): asgNetIfTx: int -def parse_checkpoint_asg_interface(string_table: List[StringTable]) -> Dict: +def parse_checkpoint_asg_interface(string_table: List[StringTable]) -> Dict[str, CheckPointASGInterface]: parsed = {} for entry in string_table[0]: - asgNetIfName, asgNetIfIPv4Addr, asgNetIfIPv6Addr, asgNetIfMACAddr, asgNetIfInfo, asgNetIfState, asgNetIfSpeed, asgNetIfMTU, asgNetIfDuplex, asgNetIfRx, asgNetIfTx = entry + asgNetIfName, asgNetIfIPv4Addr, asgNetIfIPv6Addr, asgNetIfMACAddr, asgNetIfInfo, asgNetIfState, \ + asgNetIfSpeed, asgNetIfMTU, asgNetIfDuplex, asgNetIfRx, asgNetIfTx = entry # if not asgNetIfIPv4Addr == asgNetIfIPv6Addr == '-': # do not add interfaces without ip address - item = '%s' % (asgNetIfName) - parsed.update({item: CheckPointASGInterface( + parsed[asgNetIfName] = CheckPointASGInterface( asgNetIfIPv4Addr, asgNetIfIPv6Addr, asgNetIfMACAddr, @@ -104,12 +105,12 @@ def parse_checkpoint_asg_interface(string_table: List[StringTable]) -> Dict: asgNetIfDuplex, int(asgNetIfRx), int(asgNetIfTx) - )}) + ) return parsed -def discovery_checkpoint_asg_interface(section: Dict) -> DiscoveryResult: +def discovery_checkpoint_asg_interface(section: Dict[str, CheckPointASGInterface]) -> DiscoveryResult: # sample section # # { @@ -134,59 +135,59 @@ def discovery_checkpoint_asg_interface(section: Dict) -> DiscoveryResult: yield Service(item=item, parameters={'asgNetIfSpeed': section[item].asgNetIfSpeed}) -def check_checkpoint_asg_interface(item, params, section: Dict) -> CheckResult: +def check_checkpoint_asg_interface(item, params, section: Dict[str, CheckPointASGInterface]) -> CheckResult: try: asg_interface = section[item] + except KeyError: + yield Result(state=State.UNKNOWN, notice='Item not found in SNMP data.') + return - inv_asgNetIfSpeed = params['asgNetIfSpeed'] - - now = time.time() - value_store = get_value_store() - - try: - in_rate = get_rate(value_store, 'in', now, asg_interface.asgNetIfRx, raise_overflow=True, ) - except GetRateError as exc: - yield IgnoreResults(str(exc)) - else: - yield from check_levels(in_rate, metric_name='if_in_octets', render_func=render.iobandwidth, label='In', ) - - out_rate = get_rate(value_store, 'out', now, asg_interface.asgNetIfTx, raise_overflow=True, ) - yield from check_levels(out_rate, metric_name='if_out_octets', render_func=render.iobandwidth, label='Out', ) - - details = '' - details += '\nIPv4 Address: %s' % asg_interface.asgNetIfIPv4Addr - details += '\nIPv6 Address: %s' % asg_interface.asgNetIfIPv6Addr - details += '\nMAC Address: %s' % asg_interface.asgNetIfMACAddr - details += '\nType: %s' % asg_interface.asgNetIfInfo - details += '\nMTU: %s' % asg_interface.asgNetIfMTU - details += '\nDuplex: %s' % asg_interface.asgNetIfDuplex - - if not asg_interface.asgNetIfIPv4Addr == '-': - summary = 'IPv4: %s' % asg_interface.asgNetIfIPv4Addr - else: - summary = 'IPv4: N/A' - - yield Result(state=State.OK, summary=summary, details=details) - - yield_text = 'State: %s' % asg_interface.asgNetIfState - if not asg_interface.asgNetIfState.lower() == '(up)/(up)': - yield Result(state=State.CRIT, summary=yield_text) - else: - yield Result(state=State.OK, summary=yield_text) - - if not asg_interface.asgNetIfSpeed == inv_asgNetIfSpeed: - yield Result(state=State.WARN, - summary='Speed: %s (%s expected)' % (asg_interface.asgNetIfSpeed, inv_asgNetIfSpeed)) - elif not asg_interface.asgNetIfSpeed == 'NA': - yield Result(state=State.OK, summary='Speed %s' % asg_interface.asgNetIfSpeed) - - if not asg_interface.asgNetIfDuplex.lower(): - yield Result(state=State.CRIT, summary='Duplex: %s (Full expected)' % asg_interface.asgNetIfDuplex) - else: - yield Result(state=State.OK, summary='Duplex: %s' % asg_interface.asgNetIfDuplex) + inv_asgNetIfSpeed = params['asgNetIfSpeed'] - except KeyError: - pass + now = time.time() + value_store = get_value_store() + + try: + in_rate = get_rate(value_store, 'in', now, asg_interface.asgNetIfRx, raise_overflow=True, ) + except GetRateError as exc: + yield IgnoreResults(str(exc)) + else: + yield from check_levels(in_rate, metric_name='if_in_octets', render_func=render.networkbandwidth, label='In', ) + + out_rate = get_rate(value_store, 'out', now, asg_interface.asgNetIfTx, raise_overflow=True, ) + yield from check_levels(out_rate, metric_name='if_out_octets', render_func=render.networkbandwidth, label='Out', ) + + details = '' + details += '\nIPv4 Address: %s' % asg_interface.asgNetIfIPv4Addr + details += '\nIPv6 Address: %s' % asg_interface.asgNetIfIPv6Addr + details += '\nMAC Address: %s' % asg_interface.asgNetIfMACAddr + details += '\nType: %s' % asg_interface.asgNetIfInfo + details += '\nMTU: %s' % asg_interface.asgNetIfMTU + details += '\nDuplex: %s' % asg_interface.asgNetIfDuplex + + if not asg_interface.asgNetIfIPv4Addr == '-': + summary = 'IPv4: %s' % asg_interface.asgNetIfIPv4Addr + else: + summary = 'IPv4: N/A' + + yield Result(state=State.OK, summary=summary, details=details) + + yield_text = 'State: %s' % asg_interface.asgNetIfState + if not asg_interface.asgNetIfState.lower() == '(up)/(up)': + yield Result(state=State.CRIT, summary=yield_text) + else: + yield Result(state=State.OK, summary=yield_text) + + if not asg_interface.asgNetIfSpeed == inv_asgNetIfSpeed: + yield Result(state=State.WARN, + summary='Speed: %s (%s expected)' % (asg_interface.asgNetIfSpeed, inv_asgNetIfSpeed)) + elif not asg_interface.asgNetIfSpeed == 'NA': + yield Result(state=State.OK, summary='Speed %s' % asg_interface.asgNetIfSpeed) + + if not asg_interface.asgNetIfDuplex.lower(): + yield Result(state=State.CRIT, summary='Duplex: %s (Full expected)' % asg_interface.asgNetIfDuplex) + else: + yield Result(state=State.OK, summary='Duplex: %s' % asg_interface.asgNetIfDuplex) register.snmp_section( diff --git a/checkpoint_asg_interface.mkp b/checkpoint_asg_interface.mkp index afc8d5541053c490a3cc5a95109765f3c1354e93..8f761411c1f27b9b1ca53ae97818f0d6943510a6 100644 GIT binary patch literal 4271 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 literal 4196 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 diff --git a/packages/checkpoint_asg_interface b/packages/checkpoint_asg_interface index daa8f35..a7a370c 100644 --- a/packages/checkpoint_asg_interface +++ b/packages/checkpoint_asg_interface @@ -10,5 +10,5 @@ 'title': 'Check Point Maestro SMO interfaces', 'version': '20201109.v0.1', 'version.min_required': '2.0.0b8', - 'version.packaged': '2.0.0p1', + 'version.packaged': '2021.07.14', 'version.usable_until': None} \ No newline at end of file -- GitLab