nachokelkar / data-centre-monitoring-tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Centre Monitoring Tool

A basic tool to monitor the network and servers in a data centre.

What it does (as of now)

  • Pings IP addresses
  • Tests if SSH is working with the given username and password
  • Checks and stores CPU data
  • Checks and stores memory utilisation
  • Checks and stores disk utilisation
  • Checks and stores uptime
  • Finds last 5 logged in users

Initial setup for inputs

  • Inputs must be in backend/inputs.xlsx
  • Column names "IP", "Rack_number", "Username", "Password" must not be changed.
  • "IP" should always be the first column
  • Make sure there are absolutely no errors in the addresses.
    We have done as much error handling as possible, there might be unhandled cases.

Backend

$ cd backend

Initial setup for database

HBase must be installed (https://hbase.apache.org/book.html#quickstart).\ To initialise the tables

$ python util/tables_init.py

To clear the tables

$ python util/tables_clr.py

The application does not initialise or clear tables by itself.
Before running, make sure tables are initialised.

Usage

  • Create input file input.txt as above
  • Make sure HBase is running
    (In HBase folder, $ bin/start-hbase.sh)
  • Thrift must be running on port 9090
    (In HBase folder, $ bin/hbase-daemon.sh start thrift -p 9090)
  • To start daemon processes,
    $ daemon/dcmt.sh start [timeout] [ping and ssh update freq] [snmp update freq]
  • To stop daemon processes,
    $ daemon/dcmt.sh stop
  • To restart daemon processes,
    $ daemon/dcmt.sh restart
  • To start flask app,
    $ python flaskapp.py
  • Outputs are stored as in tables 'snmp', 'ping' and 'ssh' in HBase
  • Daemon output and errors stored in daemon/dumps

Frontend

$ cd frontend

To run

$ yarn
$ yarn start

To-do

  • Last logged in (user, time)
  • Users on the systems (other than root)
  • Ansible (low priority)
  • Check out front-end
  • Check switch, router health (1)
  • Display log files (head, tail, entire file)

About


Languages

Language:JavaScript 70.3%Language:Python 26.2%Language:HTML 2.1%Language:Shell 1.3%