Skip to content
A dashboard displaying the performance of any server.
Python HTML JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
monitoringdashboard
notifications
servers
static
templates/admin
.gitignore
LICENSE
README.md
clean_up.sh
manage.py
manage.sh
requirements.txt
sample.png
uwsgi.ini

README.md

monitoring-dashboard

A dashboard displaying the performance of any server.

Requirements

  • Python3
  • Sqlite3 (no need to install. It will be created by default)
  • Redis (for scheduling alarms notifications)
$pip install -r requirements.txt

To run in production, change the PRODUCTION variable in manage.sh to True.

To get the data from the server, check out https://github.com/shubhamdipt/server-monitoring .

Usage

Create a superuser for login.

$./manage.sh createsuperuser

Initiate the web server

$./manage.sh runserver

Adding a device

  • Add IP address of your device to Device model.
  • The data coming from the device gets added to the DeviceData model.
  • In the admin index page, then you can visualize the graphs of all devices.

Creating an alarm

  • Create a notification channel first.
  • Create an Alarm.
  • Finally create a Device Alarm corresponding to a certain device.

On creation of a device alarm, it creates a scheduled task based on the frequency provided.

NOTE

Device Alarm : The frequency must be higher than or equal to the frequency (interval) of the incoming data from the respective Device added in the Device Alarm.

Device Alarm for DOWNTIME: The respective alarm comparison value(i.e. time period) entered should be higher than the frequency (interval) of the incoming data from the respective Device added in the Device Alarm.

Deleting old data

Run the following script. It will then keep on running in parallel and will delete any device data older than the given number of days.

$./clean_up.sh

Sample of the Admin page

You can’t perform that action at this time.