Skip to content

indhradhanush/rkscldmsp_grafana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Ruckus MSP Cloud monitoring with Grafana

This project is to pull data from Ruckus MSP Cloud API inventory and store in influxDB. Finally influxdb data is used as data source for Grafana.

Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Links

About The Project

Product Name Screen Shot

Ruckus MSP Cloud is a platform for managed service providers to manage and monitor their customers' Ruckus networks. It provides tools for remote network performance monitoring, account and billing management, and reporting.

Grafana is an open-source platform for data visualization and monitoring. It allows you to create, explore, and share dashboards and supports multiple backends for storing time series data. It is commonly used for DevOps, IoT, and real-time analytics.

Grafana helps solving the MSP related problem where an MSP admin can do the following.
1. Single Dashboard to view all device status irrespective of tenant.
2. View limited monitoring information quickly about a tenant without must go to MSP inventory page.
3. Kiosk requirement – MSP admins often require Kiosk screen to show in a centralized NOC display, which allows quick glance of status of devices. Change settings token_rotation_interval_minutes and login_maximum_inactive_lifetime_days in Grafana.ini Grafana, an open-source tool is implemented as a separate system in a Linux machine. This is only a visualization tool, so it would need a time series database (TSDB) to visualize. In this guide dog we will use Influxdb as the TSDB. To get the data from Ruckus MSP Cloud to Influxdb, Python program will be used. Python will retrieve data using Ruckus MSP API and moderate it before inserting into Influxdb.

(back to top)

Demo pod

Screenshots of the successful installation of Grafana, Python and Influx will result the following:

Logo Logo Logo Logo

(back to top)

Getting Started

To get started one has to have an Linux server (Recommended) or Windows machine that runs python. The following pre-requisites has to be met Installation of Grafana, Python are not covered in here. https://onlyoneaman.medium.com/how-to-install-tig-stack-telegraf-influx-and-grafana-on-ubuntu-405755901ac2 https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-ubuntu-22-04

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • python3
    pip install -r requirements.txt

Installation

At the location of choice of MSP admin, unzip the rkscldmsp_grafana.zip. It should provide the following directory structure.

  1. Get a readonly admin account from RUCKUS MSP account https://ruckus.cloud
  2. Clone the repo
    git clone https://github.com/indhradhanush/rkscldmsp_grafana.git
  3. Install to populate the credentials
    python3 install.py
  4. Enter RUCKUS MSP Cloud and Influx details in configure.py
    # Ruckus Cloud MSP - Python program to extract from API and update influx database.
    # configure.py - edit this script to store variables. 
    # - Store variables to use in program.
    rks_domain = "ruckus.cloud"
    rks_username = "karthik@countrymsp.com"
    influx_host = '192.168.116.128'
    influx_port = 8086
    influx_database = "ruckus"
    influx_username = 'ruckus_karthik'
    pageSize = 1000
    #EOL

(back to top)

Usage

To run this python project, run the app.py which is the main file of this project. Before running this make sure all the pre-requisites are met. Python script outputs the data while inserting into InfluxDB. This info are for troubleshooting purposes.

python3 src/app.py

Install and run Grafana Dashboards. Dashboards ID are 17847, 17852, 17853, and 17854 from https://grafana.com/grafana/dashboards/

(back to top)

Roadmap

  • Add README

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the Apache License. See LICENSE.txt for more information.

(back to top)

Contact

Karthikeyan Krish - @iamkarthikkrish

Project Link: https://github.com/indhradhanush/rkscldmsp_grafana

(back to top)

LINKS

Dashboards from Grafana marketplace:

(back to top)