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
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.
Screenshots of the successful installation of Grafana, Python and Influx will result the following:
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
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
At the location of choice of MSP admin, unzip the rkscldmsp_grafana.zip. It should provide the following directory structure.
- Get a readonly admin account from RUCKUS MSP account https://ruckus.cloud
- Clone the repo
git clone https://github.com/indhradhanush/rkscldmsp_grafana.git
- Install to populate the credentials
python3 install.py
- 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 = "[email protected]" influx_host = '192.168.116.128' influx_port = 8086 influx_database = "ruckus" influx_username = 'ruckus_karthik' pageSize = 1000 #EOL
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/
- Add README
See the open issues for a full list of proposed features (and known issues).
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache License. See LICENSE.txt
for more information.
Karthikeyan Krish - @iamkarthikkrish
Project Link: https://github.com/indhradhanush/rkscldmsp_grafana
Dashboards from Grafana marketplace: