diff --git a/README.md b/README.md index 5e52450ea002663127f076b69f19fd84cfe60ec9..ab6ec8b6d6293df396bce611c21e3e5d8e622eff 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/juniper_led-0.0.2-20230603.mkp "juniper_led-0.0.2-20230603.mkp" +[PACKAGE]: ../../raw/master/mkp/juniper_led-0.0.3-20250117.mkp "juniper_led-0.0.3-20250117.mkp" # Juniper LED state Monitors the state of the Juniper LEDs using the JUNIPER-MIB. diff --git a/mkp/juniper_led-0.0.3-20250117.mkp b/mkp/juniper_led-0.0.3-20250117.mkp new file mode 100644 index 0000000000000000000000000000000000000000..98d8c1f2ef9e96ecb49d419187e06be927aedb7f Binary files /dev/null and b/mkp/juniper_led-0.0.3-20250117.mkp differ diff --git a/source/agent_based/juniper_led.py b/source/agent_based/juniper_led.py index 17ac79ba8d26f605c57299b4a1f7d07718edf0a9..f7212e21a33943ca73006b69fd5b71e4c46cb481 100644 --- a/source/agent_based/juniper_led.py +++ b/source/agent_based/juniper_led.py @@ -8,6 +8,9 @@ # Date : 2016-08-01 # # monitor Juniper Networks led state +# +# 2025-01-17: removed unused ruleset definition and default parameters (ThX to nick[at]fisk[dot]me[dot]uk) + # # sample snmpwalk # .1.3.6.1.4.1.2636.3.1.10.1.7.3.1.1.0.0 = STRING: " chassis alarm LED" @@ -25,19 +28,19 @@ # # ToDo: create WATO for monitoring levels for each LED state # -from typing import Optional, Dict +from typing import Dict, Optional from cmk.base.plugins.agent_based.agent_based_api.v1 import ( - register, - Service, Result, - State, SNMPTree, + Service, + State, + register, startswith, ) from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( - DiscoveryResult, CheckResult, + DiscoveryResult, StringTable, ) @@ -58,12 +61,13 @@ _juniper_led_alarm_ordered = { def parse_juniper_led(string_table: StringTable) -> Optional[Dict[str, str]]: - juniper_leds = {} + juniper_leds: Dict[str, str] = {} for led_description, led_state in string_table: # remove "LED" from description - led_description = led_description.replace('LED', '').strip(' ') - # changing the first letter into upper case + led_description: str = led_description.replace('LED', '').strip(' ') + # changing only the first letter into upper case (title() will change every first char, + # capitalize() will lower case inheriting except the first char) led_description = led_description[0].upper() + led_description[1:] juniper_leds[led_description] = led_state @@ -76,8 +80,8 @@ def discovery_juniper_led(section: Dict[str, str]) -> DiscoveryResult: yield Service(item=led) -def check_juniper_led(item, params, section: Dict[str, str]) -> CheckResult: - led_state = section.get(item) +def check_juniper_led(item, section: Dict[str, str]) -> CheckResult: + led_state: str = section.get(item) if led_state: state, state_readable = _juniper_led_alarm_ordered.get(led_state, (3, f'unhandled alarm type {led_state}')) yield Result(state=State(state), summary=state_readable) @@ -103,7 +107,4 @@ register.check_plugin( service_name='Alarm LED %s', discovery_function=discovery_juniper_led, check_function=check_juniper_led, - check_ruleset_name='juniper_led', - check_default_parameters={ - } ) diff --git a/source/packages/juniper_led b/source/packages/juniper_led index ca2001984306d79ab77c9fc12001e2e7e451a242..70fab59f5d4a418a02da3a8d6477f2d7add2d312 100644 --- a/source/packages/juniper_led +++ b/source/packages/juniper_led @@ -12,7 +12,7 @@ 'files': {'agent_based': ['juniper_led.py']}, 'name': 'juniper_led', 'title': 'Juniper Alarm LEDs', - 'version': '0.0.2-20230603', + 'version': '0.0.3-20250117', 'version.min_required': '2.0.0b1', - 'version.packaged': '2.2.0p24', + 'version.packaged': 'cmk-mkp-tool 0.2.0', 'version.usable_until': None}