Cisco Meraki is an amazing cloud-managed IT solution, simplying network, security, security cameras and IoT infrastructure. However, even the most intelligent AI/ML driven solution is still volunerable to users misconfiguring various options (usually without reading the documentation). Misconfiguration can result in an outage, or poor user experience (if you will limit user's traffic to 1Mbps - things will work slowly.. AI won't help there as it's the admin's "intent").
This script will leverage the Meraki API to compare an organization's settings and status against a set of best practices and thresholds - uncovering configurations that should be changed.
Summary tab:
Channel utilization tab:
RF Profile tab:
Switchport counters tab:
Convinced the health-check is worth 5 minutes of your time? let's do this!
ALWAYS keep your API key safe as it provides authentication to all of your organizations with the API enabled.
If your API key has been compromised - revoke it immediately through the dashboard, and generate a new API key.
pip install -r requirements.txt
You don't have to store the API key, as the script will ask you to enter it. However, it would be more covenient to store it instead of typing each every time.
Linux:
export MERAKI_DASHBOARD_API_KEY = <YOUR MERAKI API KEY>
Windows:
set MERAKI_DASHBOARD_API_KEY = <YOUR MERAKI API KEY>
python async_run.py
Feedback is a gift
Installing the Meraki Python SDK
pip install -r requirements.txt
Set as an environment variable with API KEY for testing
export MERAKI_DASHBOARD_API_KEY=d03190ff333a3c7feaed89fec5b3b2529f59e8ec
Run the following command
python async_run.py
Expected output
Fetching organizations...
Meraki Organizations
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Organization # ┃ Org Name ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ DeLab │
│ 1 │ DevNet Test Org │
│ 2 │ DevNet Test Org │
│ 3 │ DevNetAssoc │
│ 4 │ DevRelations │
│ 5 │ DevRelx23 │
│ 6 │ Forest City - Other │
│ 7 │ GGTEST_MyOrg1 │
│ 8 │ Hi Cory │
│ 9 │ Hi Cory │
│ 10 │ Jacks_test_net │
│ 11 │ MARYDALKO_HOME │
│ 12 │ MARYDALKO_HOME │
│ 13 │ MARYDALKO_HOME │
│ 14 │ My Org │
│ 15 │ My organization │
│ 16 │ My organization │
│ 17 │ My organization │
│ 18 │ My organization - clone │
│ 19 │ New Meraki Org │
│ 20 │ PM_Test │
│ 21 │ Personal.Lekhnath │
│ 22 │ SVR │
│ 23 │ Sample Org │
│ 24 │ TNF - The Network Factory │
│ 25 │ Wild Willys Org │
│ 26 │ Wils Test Creation │
│ 27 │ Wotan │
│ 28 │ Your Organization │
│ 29 │ abcdefg │
│ 30 │ changetest │
│ 31 │ gk │
│ 32 │ helloworld │
│ 33 │ organization with name changed │
│ 34 │ sample_network │
│ 35 │ thienbao │
└────────────────┴────────────────────────────────┘
Kindly select the organization ID you would like to query:
Type in 1
and press Enter
As a result of the running script, a related report file was created. In the current case file DevNet Test Org.xlsx
was created.
Sample Screenshots from the report
check_wifi_channel_utilization
function.Copyright (c) 2022 Cisco and/or its affiliates.
This software is licensed to you under the terms of the Cisco Sample Code License, Version 1.1 (the "License"). You may obtain a copy of the License at
https://developer.cisco.com/docs/licenses
All use of the material herein must be in accordance with the terms of the License. All rights not expressly granted by the License are reserved. Unless required by applicable law or agreed to separately in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.