Skip to content

Unify Cisco's observability products (SD-WAN, Catalyst, Meraki, ThousandEyes) into a single Grafana dashboard using APIs. Gain comprehensive network visibility, streamline monitoring, and unlock insights for optimized performance. Embrace the power of API-driven observability.

License

Notifications You must be signed in to change notification settings

uzumal/cisco-api-driven-grafana-monitoring

Repository files navigation

InfluxDB published

Cisco Api-driven Grafana Monitoring

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.

Preview

Screenshot 2024-04-05 at 14 49 08 Screenshot 2024-04-05 at 14 50 01 Screenshot 2024-04-05 at 14 50 01

Contributors

Usage

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:

  1. 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
  1. 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.

Prerequisites

Before proceeding with the project, ensure that you have completed the following tasks:

Environment Setup

Cisco Platforms

Note

The Catalyst Center, SDWAN versions shown here are only those used in this environment.

SDWAN

  • Provision and configure SDWAN environment
  • cEdge: 17.05.01
  • vManage: 20.5.1
  • vBond: 20.5.1
  • vSmart: 20.5.1

ThousandEyes

  • Set up ThousandEyes account and configure necessary tests

Meraki

  • Configure Meraki dashboard and devices

Catalyst Center

  • 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

Directory Structure

.
├── 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

Environment Variables

# .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=

About

Unify Cisco's observability products (SD-WAN, Catalyst, Meraki, ThousandEyes) into a single Grafana dashboard using APIs. Gain comprehensive network visibility, streamline monitoring, and unlock insights for optimized performance. Embrace the power of API-driven observability.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published