Send netdisco-users mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/netdisco-users
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of netdisco-users digest..."
Today's Topics:

   1. Re: Meraki Dashboard integration: current extension and
      upstream direction (Andy Millett)
--- Begin Message ---
Hi mailing list,

I’m writing to share an update on the Meraki integration work discussed around 
NetDisco issue #1369:
https://github.com/netdisco/netdisco/issues/1369

The work started from osmogr’s netdisco-meraki project, which provided a 
valuable, working foundation for bringing Meraki Dashboard data into NetDisco. 
We’re grateful for that initial implementation. Building on it, we’ve developed 
and tested a more complete site-local extension against a NetDisco deployment:
https://github.com/osmogr/netdisco-meraki

The extension keeps SNMP discovery as NetDisco’s normal device-discovery path 
and uses the Dashboard API to enrich information that SNMP does not provide 
reliably. It currently provides:

- Device enrichment by a unique serial match, including firmware/software 
version, chassis/serial identity, MAC address, and location, while retaining 
the SNMP-discovered management IP.
- Meraki MS switch port names and state, native VLAN and VLAN membership, plus 
available topology/neighbour information. MX/Z appliance VLAN interfaces, 
routed addresses, and verified management CIDR data are also represented.
- Available STP and PoE state, supported power-supply inventory, and MR 
access-point SSID/BSSID and radio band/channel/power data, using NetDisco’s 
existing tables.
- Client MAC/IP observations through NetDisco’s native macsuck and arpnip 
workers. Wired clients are placed only when the Dashboard serial and switch 
port map to known NetDisco records. Wireless clients are associated with a 
uniquely matched AP on a logical wireless interface, with SSID observations 
stored separately. This supports the built-in AP Client Count report and adds 
AP-total and AP-by-SSID reports.
- Pagination, rate-limit and transient-error handling, and snapshot 
reconciliation that preserves existing data when an API response is incomplete 
or invalid. A Meraki macsuck hook also reconciles VLAN 0 duplicates when a 
recent API observation provides a matching nonzero VLAN.

The NetDisco integration is currently a standalone site-local extension: worker 
plugins are loaded through extra_worker_plugins, the reports through 
extra_web_plugins, and discovery/client data is handled in worker phases. It 
does not require a NetDisco core fork or schema change. merakisync handles 
initial or targeted inventory work; merakiclients handles recurring client 
updates. On our test deployment we reduced the client poll to hourly because 
the normal macsuck and arpnip waves already take a substantial portion of their 
hourly cycle. The current client path still launches native per-device ingest 
commands, so reducing that fan-out and aligning client data with normal 
per-device worker processing is an important next step.

We validated the extension on a NetDisco 2.112 test host. In one client-poll 
check, 1,074 current AP client associations were visible across 247 APs, and 
the AP-total and per-SSID counts reconciled. This is representative validation, 
not exhaustive coverage of every Meraki family or client-movement case.

Our proposed longer-term direction is to fetch and paginate each network’s 
client snapshot once, stage only complete results, then let normal per-device 
macsuck/arpnip workers consume the relevant observations. That should avoid a 
separate command per affected device and make API data easier to schedule and 
reconcile alongside NetDisco’s existing collection.

There are known limits: Dashboard does not reliably identify the client’s 
physical radio band, the API does not provide the signal-quality history needed 
for RSSI/SNR reporting in our test organization, and client placement reflects 
the online/recent API view rather than a continuous event stream. We’re also 
considering how best to align API requests with a shared NetDisco HTTP 
transport if that is the project’s preferred direction.

SNMP::Info device recognition is a separate workstream in netdisco/snmp-info PR 
#627; it is not part of these API integration changes:
https://github.com/netdisco/snmp-info/pull/627

I’ve asked in the original repository and issue discussion about the preferred 
contribution route but haven’t yet heard back. I’d appreciate maintainers’ 
advice: should we prepare a draft PR against osmogr’s repository, continue this 
as a separately maintained extension, or propose moving the appropriate pieces 
into NetDisco itself? We want to preserve credit for the original work and 
follow the project’s preferred architecture before publishing a fork or opening 
a PR.

The current implementation and its detailed change history are available in our 
working copy; I can provide a fork or draft PR for review once we’ve agreed on 
the right destination.

Finally, it would be remiss of me not to mention that a substantial amount of 
the work on this has been done with the use of Codex. 

Thanks,
Andy

--- End Message ---
_______________________________________________
Netdisco mailing list - Digest Mode
[email protected]
https://lists.sourceforge.net/lists/listinfo/netdisco-users

Reply via email to