This is a full-stack monitoring solution that combines backend APIs with a frontend dashboard to deliver comprehensive system monitoring, application performance metrics, and business intelligence insights!
- Health Monitoring: Real-time health checks and system status monitoring
- Metrics Collection: Comprehensive application and system metrics
- Dashboard APIs: RESTful endpoints for dashboard data
- Webhook Support: Alert and notification webhook endpoints
- Prometheus Integration: Built-in Prometheus metrics collection
- Middleware: Request monitoring and performance tracking
- Real-time Dashboard: Live system metrics and performance data
- Service Status Monitoring: Application health and availability tracking
- Business Intelligence: User analytics and business metrics
- System Performance: CPU, memory, disk, and network monitoring
- Grafana Integration: Seamless integration with Grafana dashboards
- Responsive Design: Modern UI built with Tailwind CSS
- Prometheus: Metrics collection and storage
- Grafana: Visualization and dashboarding
- AlertManager: Alert routing and notification management
- Docker Compose: Easy deployment and orchestration
system_pulse/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── api/v1/
│ │ ├── core/
│ │ ├── monitoring/
│ │ └── data/
├── frontend/ # Next.js frontend
│ ├── src/app/
│ └── src/state/
├── monitoring/ # Monitoring stack config
│ ├── prometheus/
│ ├── grafana/
│ └── alertmanager/
└── docker-compose.monitoring.yml
- Docker and Docker Compose
- Python 3.8+
- Node.js 18+
git clone https://github.com/stuartasiimwe7/system_pulse.git
cd system_pulsecd backend
pip install -r requirements.txt
uvicorn app.main:app --reloadcd frontend
npm install
npm run devdocker-compose -f docker-compose.monitoring.yml up -dGET /api/v1/health- Health check endpointGET /api/v1/metrics- System and application metricsGET /api/v1/dashboard- Dashboard data aggregationPOST /api/v1/webhook- Webhook for alerts and notifications
As always, contributions are welcome! Please submit a PR.
This project is licensed under the MIT License - see the LICENSE file for details.