Using APIs to compare configs?

JackCastle
New here

Using APIs to compare configs?

Hello,

 

I've been working on a project which runs API calls to get all relevant configuration information from all our Meraki networks. The goal of this project is to be able to run a script that gets this configuration, and then we can compare it against the standard config we have decided on internally, to see which sites have configuration mismatches. I have had some success scripting in JS to this end, however the code is inherently unstable and fails often due to errors that I don't know how to interpret.

I am looking for other possible solutions which will help me out. Are there any known (preferably open-source) scripts or products which will allow us to pick and choose which APIs to run, run them on 40-50 networks simultaneously, and then output the results in a spreadsheet or otherwise readable/comparable format?

 

Any help or guidance is appreciated. Thank you.

4 Replies 4
MartinS
Building a reputation

Not exactly an answer to your question, but there are some very good Ecosystem partners that do exactly this (I don't work for either of these, but know them both well and trust them):

 

Boundless Digital
DevNetApp.io - CAE

 

---
COO
Highlight - Service Observability Platform
www.highlight.net
webfrank
Getting noticed

Hi,

  another option is V-App Backup & Versioning which has a tool to compare two different configurations apart from taking full backups and perform restore.

 

JasonM
Meraki Employee
Meraki Employee

There is this open source project that does diffs between config changes for a given network in an org. Might be useful out of the box or maybe slight modification depending on your specific needs, or at a minimum, gives you some ideas on how to approach solving for this.

 

https://github.com/jasoncdavis/meraki-settings-to-git-and-differ

JFink
Comes here often

Do you have specific errors? We did something very close to this just recently. We pull our configuration items. Store them into a sql db, config entry query ends up as its own table and each row is the site_id and updated_id so we can track the latest pull so we only compare the latest to our source of truth.

 

Currently we don't take any action but using the SQL we then built a PowerBI report compare the retrieved results compared to defined standards. We wrote the whole config pull via Python using the Meraki SDK and then have it scheduled to run nightly via a Github self-hosted runner.

Get notified when there are additional replies to this discussion.