Unleashing the Power of Cisco Observability: API-Driven Insights on a Single Dashboard
This project harnesses the potential of Cisco's observability products by leveraging the APIs of SD-WAN, Catalyst Center, Meraki, and ThousandEyes. By seamlessly integrating data from these diverse sources, we create a unified dashboard that provides comprehensive visibility and insights into your network.
Through the power of APIs, we break down silos and bring together critical information from multiple domains. Whether it's SD-WAN performance metrics, Catalyst Center analytics, Meraki network health, or ThousandEyes real-user monitoring data, our dashboard presents a holistic view of your infrastructure.
Our goal is to empower network administrators, IT teams, and decision-makers with the tools they need to monitor, troubleshoot, and optimize their networks effectively. By leveraging the rich capabilities of Cisco's observability products and the flexibility of Grafana, we deliver a solution that is both powerful and user-friendly.
Join us in this exciting journey as we revolutionize network observability and unlock new possibilities through API-driven insights. Together, we can create a more connected, efficient, and resilient world.
Note
To automate the execution of the Python scripts and reflect the changes in Grafana, you can utilize the provided shell scripts in the run-script directory. Follow these steps:
- Open a new tmux session for each script:
tmux new-session -s dnac
tmux new-session -s meraki
tmux new-session -s thousandeyes
tmux new-session -s sdwan
- In each tmux session, navigate to the run-script directory and execute the corresponding shell script with sudo permissions:
cd run-script
sudo ./run_dnacMain.sh
sudo ./run_merakiMain.sh
sudo ./run_teMain.sh
sudo ./run_sdwanMain.sh
By running these shell scripts, the associated Python scripts will be automatically executed, and the collected data will be seamlessly integrated into Grafana. This streamlined approach ensures that your Grafana dashboard stays up to date with the latest information from the Cisco platforms.
Before proceeding with the project, ensure that you have completed the following tasks:
Note
The Catalyst Center, SDWAN versions shown here are only those used in this environment.
- Provision and configure SDWAN environment
- cEdge: 17.05.01
- vManage: 20.5.1
- vBond: 20.5.1
- vSmart: 20.5.1
- Set up ThousandEyes account and configure necessary tests
- Configure Meraki dashboard and devices
- Install and configure Catalyst Center VM
- Version: 2.3.7.5
Once you have completed these prerequisites, you'll be ready to dive into the main project!
Warning
Different versions running may result in APIs that are no longer available
. ├── dnac-esxi-prod │ ├── __pycache__ │ ├── dnacApis.py │ └── dnacMain.py ├── meraki │ ├── __pycache__ │ ├── change_env.sh │ ├── const.py │ ├── influxdbApis.py │ ├── merakiApis.py │ ├── merakiMain.py │ └── venv ├── run-script │ ├── change_env.sh │ ├── run_dnacMain.sh │ ├── run_merakiMain.sh │ ├── run_teMain.sh │ └── run_sdwanMain.sh ├── thousandeyes │ ├── teMain.py │ ├── teApis.py │ └── data_processing.py ├── sdwan-cml-prod │ ├── __pycache__ │ ├── sdwanApis.py └── └── sdwanMain.py
# .env for Catalyst Center
DNAC_USERNAME=
DNAC_PASSWORD=
DNAC_HOST=
# .env for Catalyst SDWAN
SDWAN_USERNAME=
SDWAN_PASSWORD=
SDWAN_HOST=
# .env for Meraki
MERAKI_API_KEY=
# .env for ThousandEyes
TE_TOKEN=
# .env for ThousandEyes Proxy
HTTP_PROXY=
HTTPS_PROXY=