Skip to content

A comprehensive monitoring system designed for climate infrastructure and ML pipelines. Track service health, collect metrics, monitor pipelines, and manage alerts - all in one place

Notifications You must be signed in to change notification settings

Mumbai-Flood/system-monitor

Repository files navigation

Climate System Monitor 🌍

License: MIT Python Version Django Version

A comprehensive monitoring system designed for climate infrastructure and ML pipelines. Track service health, collect metrics, monitor pipelines, and manage alerts - all in one place.

🚀 Features

System Health Monitoring

  • Real-time service status tracking
  • Resource utilization metrics (CPU, Memory, Disk)
  • Response time monitoring
  • Error rate tracking

ML/Data Pipeline Monitoring

  • Pipeline execution tracking
  • Training metrics collection
  • Data processing status
  • Model performance monitoring

Alert Management

  • Multi-severity alert system
  • Telegram notifications
  • Alert acknowledgment
  • Custom alert rules

Metrics Collection

  • System performance metrics
  • Custom metric support
  • Time-series data storage
  • Metric visualization

🛠 Tech Stack

  • Backend: Django 4.2, Django REST Framework
  • Task Queue: Celery 5.3
  • Cache/Message Broker: Redis 5.0
  • Database: SQLite (development), PostgreSQL (production)
  • Monitoring: Built-in metrics collection
  • Notifications: Telegram integration

📦 Installation

  1. Clone the repository:
git clone https://github.com/your-org/climate-system-monitor.git
cd climate-system-monitor
  1. Create and activate virtual environment:
python -m venv env
source env/bin/activate  # Linux/Mac
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Run migrations:
python manage.py migrate
  1. Start the development server:
python manage.py runserver

🔌 Integration

Python Client

Install the official Python client:

pip install climate-monitor-client

Quick start:

from climate_monitor import SystemMonitorClient

monitor = SystemMonitorClient(
    base_url='http://your-monitor-host:8000',
    service_name='your-service'
)

# Update service status
monitor.update_status('up')

# Start collecting metrics
monitor.start_metric_collection(interval=60)

See Python Client Documentation for more details.

📊 Dashboard

Access the monitoring dashboard at http://your-host:8000/dashboard/

Features:

  • Service health overview
  • Real-time metrics visualization
  • Pipeline status tracking
  • Alert management interface

📚 Documentation

🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines before submitting a Pull Request.

Development Setup

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Topics

  • monitoring
  • climate-tech
  • machine-learning
  • devops
  • django
  • python
  • metrics
  • observability
  • pipeline-monitoring
  • alert-management
  • system-monitoring
  • real-time-monitoring
  • telegram-bot
  • climate-infrastructure
  • ml-ops

🔗 Related Projects

📧 Support

✨ Contributors

Thanks goes to these wonderful people:

🙏 Acknowledgments

  • Thanks to all contributors who have helped shape this project
  • Special thanks to the climate tech community for feedback and support
  • Built with ❤️ for the climate tech community

About

A comprehensive monitoring system designed for climate infrastructure and ML pipelines. Track service health, collect metrics, monitor pipelines, and manage alerts - all in one place

Topics

Resources

Stars

Watchers

Forks