A FastAPI-based system monitoring platform that integrates Prometheus and Grafana to collect, visualize, and analyze metrics, enhanced with AI-driven recommendation logic using machine learning.
This project demonstrates a real-world monitoring stack commonly used in production systems.
- FastAPI – Backend API and metrics exposure
- Prometheus – Metrics scraping and storage
- Grafana – Metrics visualization and dashboards
- Docker & Docker Compose – Containerized deployment
- scikit-learn & pandas – AI-based recommendation logic
FastAPI Application
└── /metrics endpoint
└── Prometheus scrapes metrics
└── Grafana visualizes metrics
Make sure the following are installed on your system:
- Docker
- Docker Compose (v2)
Check installation:
docker --version
docker compose versionClone the repository:
git clone https://github.com/AryanSharma9917/SystemMonitoring.git
cd SystemMonitoringdocker compose up --build -ddocker compose downdocker compose logs --tail 50| Service | URL |
|---|---|
| FastAPI API | http://localhost:8000 |
| FastAPI Docs | http://localhost:8000/docs |
| Metrics | http://localhost:8000/metrics |
| Prometheus | http://localhost:9090 |
| Grafana | http://localhost:3000 |
- Username:
admin - Password:
admin
- Real-time metrics collection via Prometheus
- Interactive Grafana dashboards
- FastAPI endpoints for system monitoring
- AI-powered recommendation logic using similarity matrices
- Fully containerized setup using Docker Compose
The project includes a basic recommendation engine:
- User similarity matrix
- Item similarity matrix
- Built using
pandasandscikit-learn
This demonstrates how ML logic can coexist with monitoring systems.
SystemMonitoring/
├── assets/
├── provisioning/ # Grafana dashboards & datasources
├── data/ # Sample data
├── tests/ # Unit & integration tests
├── Dockerfile
├── docker-compose.yml
├── prometheus.yml
├── req.txt
└── apps.py
Available on Docker Hub:
https://hub.docker.com/r/aryansharma04/systemmonitoring
- Migrated to Python slim Docker image
- Added Docker Compose support
- Improved Grafana dashboards
- Added AI-based recommendation logic
- Introduced unit and integration tests
- Learning system monitoring with Prometheus & Grafana
- Demonstrating containerized microservices
- Showcasing DevOps + Backend + ML integration
- Portfolio-ready DevOps project
This project is open-source and available under the MIT License.
Aryan Sharma GitHub: https://github.com/AryanSharma9917




