Snapshot of All Orginazation Networks- Devices and Clients

Stats
Here to help

Snapshot of All Orginazation Networks- Devices and Clients

I'm looking for an API and/or Python code that can give me all Orginazation networks (75+ sites) with all site devices and Clients (Endpoints).

Organization

          Site NetworkName  

                        Device Name

                                    Clients

                                          {Status, Last Seen, Description, Connection to,  Recent SSID, Manufacturer, Port, VLan,                                                  MAC, IPv4}

I would like to run this at any time to give me snapshot of the Orginations per site network connectivity.  If anyone has any help on retreiving this information in a json or csv format that would be outstanding.

Thank you!!

7 Replies 7
PhilipDAth
Kind of a big deal
Kind of a big deal

Check out the same scripts in the Meraki github.  It would be easiest to start with something and then modify it.

https://github.com/meraki/automation-scripts 

 

Check out this sample script, "aio_org_wide_clients_v1.py".
https://github.com/meraki/dashboard-api-python/blob/main/examples/aio_org_wide_clients_v1.py 

Stats
Here to help

PhilipDAth.. Thank you for your response.  I have the same frustration as I have in my other question, I put in regarding https://community.meraki.com/t5/Developers-APIs/Snapshot-of-All-Orginazation-Networks-Wireless-Air-M...  .  I think Meraki has a development hole in their portal for not giving us the proper tools to manage an Orginazation/Network(s).  Sort of the big picture reporting/dashboard aspect of the enterprise.  Anyway, thank you for the github url - I'll check it out.  Also, you should check out Todd Simmon's - https://youtu.be/P5JWxEUU544?si=ASVXHcvtXRfLDL0G and his github repo -  https://github.com/toddhsimmons/

PhilipDAth
Kind of a big deal
Kind of a big deal

Given hindsight, I think a Graph based API might have been better (where you can construct queries for the data you want).

RaphaelL
Kind of a big deal
Kind of a big deal

I don't see that as being a "hole in their portal". 

 

getOrganizationNetworks , getNetworkClients with a Org small like yours it will take maybe a minute or 2 to run. Having Org-wide calls with "volatile" info such as client info is pretty hard to run on big orgs , that is one of the reason they don't exist.

Jamieinbox
Building a reputation

I have code that may help you. This code lists clients for a 50+ network. I also have inventory code that drops everything (AP wise- not other equipment) into a spreadsheet for all for the network "AssetDataDump."

https://github.com/jadexing/Merakicode/blob/main/ListClients

Cheers.

Stats
Here to help

Thank you for this response.  This is very close to what I was looking for.    

Stats
Here to help

I have another quick question:  I'm able to add fields like "Recent SSID" and "Manufacturer", but for some reason I couldn't add "Connect to", "Port", "VLAN" etc.  I'm a Python newbie but I can usually find my way around code. Could you please explain why I can't grab this info from the client screen?  Thanks again.

 

print("List of active clients and their IDs with health scores:")
        all_active_clients_data = []
        for client in active_clients:
            client_name = client['description'] if client['description'] is not None else "None"
            client_data = {
                'Client Name': client_name,
                'Client ID': client['id'],
                'MAC Address': client['mac'],
            #   'Connect to': client['node'],
                'IP IPv4 address': client['ip'],
                'Recent SSID': client['ssid'],
            #   'Port': client['port'],
            #   'VLan': client['VLAN'],
                'Manufacturer': client['manufacturer'],
            #   'Last Seen': client['last_seen'],
                'Health Score': client.get('healthScore', 'N/A')
            }
            all_active_clients_data.append(client_data)
Get notified when there are additional replies to this discussion.