A System Metrics Monitoring Tool Built using Python3 , rabbitmq,Grafana and InfluxDB. Setup using docker compose. Use to monitor system performance with graphical interface of grafana , storage of influxdb and message queuing of rabbitmq
This repository has code to setup a system monitoring tool
The tools used are the follows
Python3.6
Docker
RabbitMQ
InfluxDB
Grafana
The directories have the following code
database: setup influxdb database connection
monitor: collect system metircs like cpu usage , network usage etc
rabbitmq: rabbitmq server and client configuration and processes setup
Steps to Run
- Create directories grafana_data , rabbitmq_data , influxdb_data
- Provide permissions to the grafana directory
sudo chown -R $USER grafana_data
sudo chmod -R 777 grafana_data
- setup virtualenv using any of your preferred step
virtualenv venv
source venv/bin/activate
- Install packages required
pip3 install -r requirements.txt
- Start the containers using the docker compose file
sudo docker-compose up -d
- Add influxdb as a datasource in grafana
- Start the server and client scripts seperately
python3 server.py
python3 client.py
- Setup grafana dashboards
PyG2Plot 🎨 Python3 binding for @AntV/G2Plot which an interactive and responsive charting library. Based on the grammar of graphics, you can easily ma