From eccb5a3b5c0f1aa66027f37e26bb4b74aea992b7 Mon Sep 17 00:00:00 2001 From: thl-cmk <thl-cmk@outlook.com> Date: Mon, 24 Jun 2024 20:51:18 +0000 Subject: [PATCH] update project --- README.md | 2 +- mkp/cisco_meraki-1.3.1-20240624.mkp | Bin 0 -> 37819 bytes .../cisco_meraki_org_appliance_uplinks.py | 42 +++++++++--------- .../cisco_meraki_org_device_status.py | 13 +++--- source/gui/metrics/cisco_meraki.py | 5 ++- source/packages/cisco_meraki | 2 +- source/web/plugins/wato/agent_cisco_meraki.py | 2 +- 7 files changed, 36 insertions(+), 30 deletions(-) create mode 100644 mkp/cisco_meraki-1.3.1-20240624.mkp diff --git a/README.md b/README.md index 9459c6f..a7bcca2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/cisco_meraki-1.3.0-20240623.mkp "cisco_meraki-1.3.0-20240623.mkp" +[PACKAGE]: ../../raw/master/mkp/cisco_meraki-1.3.1-20240624.mkp "cisco_meraki-1.3.1-20240624.mkp" [SDK]: ../../raw/master/mkp/MerakiSDK-1.46.0-20240516.mkp "MerakiSDK-1.46.0-20240516.mkpp" # Cisco Meraki special agent diff --git a/mkp/cisco_meraki-1.3.1-20240624.mkp b/mkp/cisco_meraki-1.3.1-20240624.mkp new file mode 100644 index 0000000000000000000000000000000000000000..2b2cc3f29a5951d38529793f04b51936ab31a2c2 GIT binary patch literal 37819 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 literal 0 HcmV?d00001 diff --git a/source/agent_based/cisco_meraki_org_appliance_uplinks.py b/source/agent_based/cisco_meraki_org_appliance_uplinks.py index ba13a69..5bfe043 100644 --- a/source/agent_based/cisco_meraki_org_appliance_uplinks.py +++ b/source/agent_based/cisco_meraki_org_appliance_uplinks.py @@ -13,7 +13,8 @@ # made data parsing more robust # 2024-05-15: fixed typo in output of uplink.received (in -> In) (ThX to Rickard Eriksson) # moved parse function to the dataclasses -# 2025-05-19: reworked appliance uplinks usage +# 2024-05-19: reworked appliance uplinks usage +# 2024-04-24: fixed, we can have no traffic if uplinc is not connected from dataclasses import dataclass from datetime import datetime @@ -186,25 +187,26 @@ def check_appliance_uplinks(item: str, params: Mapping[str, any], section: Appli yield Result(state=State.OK, summary=f'Public IP: {uplink.public_ip}') yield Result(state=State.OK, notice=f'Network: {section.network_name}') - if uplink.received: # and params.get('show_traffic'): - value = uplink.received * 8 / _TIMESPAN # Bits / Timespan - yield from check_levels( - value=value, # Bits - label='In', - metric_name='if_in_bps', - render_func=lambda v: render.networkbandwidth(v/8), # Bytes - # notice_only=True, - ) - - if uplink.sent: # and params.get('show_traffic'): - value = uplink.sent * 8 / _TIMESPAN # Bits / Timespan - yield from check_levels( - value=value, # Bits - label='Out', - metric_name='if_out_bps', - render_func=lambda v: render.networkbandwidth(v/8), # Bytes - # notice_only=True, - ) + if uplink.status in ['active']: # we can only have traffic, if uplinc is connected + if uplink.received: # and params.get('show_traffic'): + value = uplink.received * 8 / _TIMESPAN # Bits / Timespan + yield from check_levels( + value=value, # Bits + label='In', + metric_name='if_in_bps', + render_func=lambda v: render.networkbandwidth(v/8), # Bytes + # notice_only=True, + ) + + if uplink.sent: # and params.get('show_traffic'): + value = uplink.sent * 8 / _TIMESPAN # Bits / Timespan + yield from check_levels( + value=value, # Bits + label='Out', + metric_name='if_out_bps', + render_func=lambda v: render.networkbandwidth(v/8), # Bytes + # notice_only=True, + ) # not needed, will show in device status (?) # yield from check_last_reported_ts(last_reported_ts=section.last_reported_at.timestamp()) diff --git a/source/agent_based/cisco_meraki_org_device_status.py b/source/agent_based/cisco_meraki_org_device_status.py index 7d18010..48ebb61 100644 --- a/source/agent_based/cisco_meraki_org_device_status.py +++ b/source/agent_based/cisco_meraki_org_device_status.py @@ -15,10 +15,12 @@ # # 2023-11-09: fixed crash if no powersupply in components # 2023-11-19: fixed crash in inventory if no powersupply in components +# 2024-06-24: fixed don't output empty model/serial for poer supply + +from collections.abc import Mapping, Sequence from dataclasses import dataclass from datetime import datetime -from collections.abc import Mapping, Sequence from cmk.base.plugins.agent_based.agent_based_api.v1 import ( register, @@ -30,8 +32,8 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import ( from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( CheckResult, DiscoveryResult, - StringTable, InventoryResult, + StringTable, ) from cmk.base.plugins.agent_based.utils.cisco_meraki import ( @@ -176,9 +178,10 @@ def check_device_status_ps(item: str, params: Mapping[str, any], section: Device state=State(params.get('state_not_powering', 1)), summary=f'Status: {power_supply.status}', ) - - yield Result(state=State.OK, summary=f'Model: {power_supply.model}') - yield Result(state=State.OK, summary=f'Serial: {power_supply.serial}') + if power_supply.model: + yield Result(state=State.OK, summary=f'Model: {power_supply.model}') + if power_supply.serial: + yield Result(state=State.OK, summary=f'Serial: {power_supply.serial}') if power_supply.poe: yield Result( state=State.OK, diff --git a/source/gui/metrics/cisco_meraki.py b/source/gui/metrics/cisco_meraki.py index 25fb10a..75e896c 100644 --- a/source/gui/metrics/cisco_meraki.py +++ b/source/gui/metrics/cisco_meraki.py @@ -9,6 +9,7 @@ # # 2023-11-12: added wireless device status (channel, channel width, signal power) # 2024-05-12: added switch port statuses and API return Codes +# 2024-06-24: fixed, wrong total dor SSID perfometer signal_power -> 30 from cmk.gui.i18n import _ @@ -146,7 +147,7 @@ graph_info['cisco_meraki.wireless_device_status.channel'] = { perfometer_info.append({ 'type': 'linear', 'segments': ['signal_power'], - 'total': "signal_power", + 'total': 30, }) # @@ -328,4 +329,4 @@ perfometer_info.append({ # 'usage_in', # 'usage_out', # ] -# } \ No newline at end of file +# } diff --git a/source/packages/cisco_meraki b/source/packages/cisco_meraki index 5504fc1..65c1dc0 100644 --- a/source/packages/cisco_meraki +++ b/source/packages/cisco_meraki @@ -60,7 +60,7 @@ 'plugins/wato/agent_cisco_meraki.py']}, 'name': 'cisco_meraki', 'title': 'Cisco Meraki special agent', - 'version': '1.3.0-20240623', + 'version': '1.3.1-20240624', 'version.min_required': '2.2.0b1', 'version.packaged': '2.2.0p27', 'version.usable_until': '2.3.0b1'} diff --git a/source/web/plugins/wato/agent_cisco_meraki.py b/source/web/plugins/wato/agent_cisco_meraki.py index a06ee75..60192b5 100644 --- a/source/web/plugins/wato/agent_cisco_meraki.py +++ b/source/web/plugins/wato/agent_cisco_meraki.py @@ -158,7 +158,7 @@ def _valuespec_special_agent_cisco_meraki() -> ValueSpec: (_SEC_NAME_SWITCH_PORTS_STATUSES, _SEC_TITLE_SWITCH_PORTS_STATUSES), (_SEC_NAME_WIRELESS_ETHERNET_STATUSES, - _SEC_TITLE_SWITCH_PORTS_STATUSES), + _SEC_TITLE_WIRELESS_ETHERNET_STATUSES), (_SEC_NAME_WIRELESS_DEVICE_STATUS, _SEC_TITLE_WIRELESS_DEVICE_STATUS), (_SEC_NAME_ORG_SWITCH_PORTS_STATUSES, -- GitLab