~/local/lib/check_mk/special_agents/agent_cisco_meraki.py - moved section name to utils/cisco_meraki.py (reuse with WATO) - added option to adjust piggyback names with prefix, suffix, upper/lower case - added section _SEC_NAME_DEVICE_UPLINKS_INFO (inventory of uplink information) - added section _SEC_NAME_APPLIANCE_UPLINKS (status and usage of appliance uplinks) - updated Cisco meraki dashboard SDK from version 1.27.0 to 1.38.0 (needed for appliance uplinks) - added section _SEC_NAME_APPLIANCE_VPNS (status and usage of appliance uplinks) 2023-11-09: removed nonworking original datacache (cleanup before reimplementing) added new cacheing code based on AWS agent - works this time ;-) 2023-11-10: a bit of cleanup, removed oneliner API calls, moved to the calling function moved add networks to MerakiOrganisation.query added cisco_meraki_org_networks output section (base to create networks inventory) 2023-10-11: fixed _get_device_piggyback drop hosts without names -> can be changed to use serial instead fixed in device info drop hosts without names -> can be changed to use serial instead fixed do nit access organisations where the API is not enabled added organisation overview section _SEC_NAME_ORGANISATIONS to discover orgs with API not enabled 2023-11-12: added --no-cache option re-added appliance uplink usage 2023-11-13: optimized API request: don't ask for device information's if there are no devices in an organisation API requests by product type: don't ask for products that are not available in the organisation ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_org_licenses_overview.py - changed Expiration date format from US (%b %d, %Y) to ISO (%Y-%m-%d) - changed remaining time (WATO) from Age (Days, Hours, Minutes, Seconds) to Days only - added discovery rule for ITEM variant (Org Name/Org ID - this is the default, Org Name, Org ID) information missing in the item can be shown in the info line (default) - added ORG_ID, ORG_NAME to the Details - added Metrics für remaining time and # of licensed devices - added perfometer with remaining time and # of licensed devices - added WATO option for License state is not ok -> default to WARN - added licensed devices overview to the inventory ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_org_device_status.py - made device status configurable via WATO - added last_reported as check_levels, levels_upper can be configured via WATO - added power supply's - added unknown components (for discovery) - removed device offline check from device status discovery function - added power supplys to inventory (hardware -> physical components -> power supplys - changed item from "Cisco Meraki Device" Status to "Device Status" -> we know this is a Meraki device ;-) 2023-11-09: fixed crash if no powersupply in components ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_org_device_info.py - added device to list of hardware -> physical components -> chassis - added network name to device info 2023-10-09: added host_labels function: meraki/org_id, meraki/org_name, meraki/net_id, meraki/net_name, cmk/vendor ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_org_sensor_readings.py 2023-11-10: removed ts check/sort, we get always only the last reading, so need to sort by last reported added ability to handle temperature, humidity and battery at the same time, not sure if there is a need to add some index (multiple temperature reading for example) added battery/humidity check changed section from Sequence to Mapping by metric ~/local/lib/check_mk/base/plugins/agent_based/utils/cisco_meraki.py - changed check_last_reported_ts to output report as metric/levels - added levels_upper check_last_reported_ts - added section names from the cisco meraki special agent (for use in WATO) ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_device_uplinks.py 2023-10-31: new inventory plugin ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_org_appliance_uplinks.py 2023-11-04: new check plugin ~/local/lib/check_mk/base/plugins/agent_based/cisco_meraki_org_appliance_vpns.py 2023-11-04: new check plugin ~/local/lib/check_mk/gui/plugins/metrics/cisco_meraki.py 2023-11-04: initial metrics ~/local/share/check_mk/web/plugins/views/cisco_meraki.py 2023-11-02: initial view 2023-11-17: moved view file from local/lib/ structure to local/share/ structure to avoid errors in web.log ~/local/lib/check_mk/gui/plugins/wato/agent_cisco_meraki.py - added check for duplicate organisation IDs - added some (basic) online help - changed clarified title of "orgs" from "Organisations" to "Organisation IDs" - added section titles from utils/cisco_meraki.py (reuse) - added option for host prefix/suffix/case per organisation -> needed for dynamic host management - added section names from utils/cisco_meraki.py (reuse with special agent) ~/local/lib/check_mk/gui/plugins/wato/check_parameters/cisco_meraki_org_licenses_overview.py - changed remaining time (WATO) from Age (Days, Hours, Minutes, Seconds) to Days only - added WATO option for License state is not ok -> default to WARN - added discovery rule for ITEM variant (Org Name/Org ID - this is the default, Org Name, Org ID) ~/local/lib/check_mk/gui/plugins/wato/check_parameters/cisco_meraki_org_device_status.py 2023-11-04: initial WATO ruleset ~/local/lib/check_mk/gui/plugins/wato/check_parameters/cisco_meraki_org_appliance_uplinks.py 2023-11-05: initial WATO ruleset ~/local/lib/check_mk/gui/plugins/wato/check_parameters/cisco_meraki_org_appliance_vpns.py 2023-11-05: initial WATO ruleset 2024-02-01: streamlined cdp/lldp inventory with inv_cdp_cache/inv_lldp_cache 2024-02-02: added wato for switch port status, wiretlees device status changed wato for uplink status to map uplink state to monitoring state backported/streamlined hostlabels from pull request #653 2024-04-05: fixed min SDK version for MerakiGetOrganizationApplianceUplinksUsageByNetwork and MerakiGetOrganizationWirelessDevicesEthernetStatuses removed cisco_meraki_org_sensor_readings.py, already part of CMK 2024-04-27: fixed crash in cisco_meraki_org_appliance_uplinks on missing "lastReportedAt" (THX to Norman Kühnberger) made data parsing more robust overall 2024-05-12: agent: updated Meraki SDK to 1.46.0 added MerakiGetOrganizationApiRequestsOverviewResponseCodesByInterval and MerakiGetOrganizationSwitchPortsStatusesBySwitch (Early Access, not in SDK) cisco_meraki_organisations_api: added api request count refactoring parse functions as class method cisco_meraki_switch_ports_statuses: added support for MerakiGetOrganizationSwitchPortsStatusesBySwitch (Early Access) added support for "realtime" traffic counters refactoring parse functions as class method 2024-05-15: fixed typo in output of uplink.received (in -> In) (ThX to Rickard Eriksson) moved parse function to the dataclasses 2024-05-17: fixed crash in the agent on missing network id (KeyError) added basic proxy support for Early Access requests 2024-05-19: fixed proxy usage (NO_PROXY, FROM_ENVIRONMENT) reworked appliance uplinks usage 2024-05-20: made appliance uplinks usage user selectable made API requests per org user selectable 2024-05-20: added discovery rule for switch port status 2024-06-23: added section cisco_meraki_org_appliance_performance (Utilization) added per section cache timeout option (or more precise per api request type) 2024-06-30: refactored for CMK 2.3 note there are many incompatible changes, so best remove the agent rules before the update and recreate them after the update 2024-07-13: wireless_device_status: fixed crash on missing metrics (device dormant) ThX to Leon Buhleier 2024-08-02: appliance_performance: fixed if perfscore was float instead of int 2024-08-07: wireless_device_status: fixed crash on missing power value (unit only) ThX to Leon Buhleier 2024-09-12: SDK: changed MKP max Version to 2.4.0b1 2024-09-12: Agent: added version check for min. Meraki SDK version Wireless Device Status: fixed missing SSID 0 ThX to Andreas Doehler 2024-09-15: Agent: fixed MerakiGetOrganizationSwitchPortsStatusesBySwitch -> return only list of switches 2024-11-16: fixed crash on missing items in MerakiGetOrganizationSwitchPortsStatusesBySwitch (ThX to Stephan Bergfeld) updated Meraki SDK to version 1.52.0 2024-11-17: wireless_ethernet_statuses.py: incompatible change item from "Port %s" to "Interface %s" -> rediscover your devices added interface inventory switch_ports_statuses.py: incompatible: changed operational/admin status to up/down from connected/disconnected, enabled/disabled -> reconfigure Cisco Meraki Switch Ports service discovery rule incompatible change item from "Port %s" to "Interface %s" -> (Port is moved to %s) -> rediscover your devices (tabularasa) added interface inventory added hostlabel function for nvdct/has_lldp_neighbours 2024-11-23 switch_ports_statuses.py: fixed crash on missing traffic data incompatible removed "Port" from item -> use only interface index 2024-12-12: wireless_ethernet_statuses: fixed crash if speed is None 2024-12-14: switch_ports_statuses.py: reworked output of port status