Coder Social home page Coder Social logo

baskei0130 / cisco-api-driven-grafana-monitoring Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uzumal/cisco-api-driven-grafana-monitoring

0.0 0.0 0.0 1.64 MB

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: MIT License

Shell 4.67% Python 95.33%

cisco-api-driven-grafana-monitoring's Introduction

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

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=

cisco-api-driven-grafana-monitoring's People

Contributors

uzumal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.