Skip to main content

Autonomous SRE agents that watch your services, detect anomalies, and generate blameless postmortems

Project description

DevOps Sentinel

PyPI version Python 3.10+ License: MIT

Autonomous SRE Agent System - Reduce Mean Time to Detection (MTTD) from minutes to under 10 seconds.

Install from PyPI | Documentation | GitHub

Features

  • Continuous Monitoring - Health checks at configurable intervals
  • Multi-Agent Analysis - CrewAI-powered investigation and root cause analysis
  • AI Postmortems - Automated incident documentation
  • Incident Memory - Learn from past incidents with similarity matching
  • Real-time Dashboard - WebSocket-powered live updates
  • CLI Interface - Terminal-first developer experience
  • Privacy-First - No telemetry, transparent data handling

Architecture

┌─────────────────────────────────────────────────────────────┐
│                      DevOps Sentinel                         │
├─────────────────────────────────────────────────────────────┤
│  CLI (Typer)  │  API (FastAPI)  │  Dashboard (WebSocket)    │
├─────────────────────────────────────────────────────────────┤
│                   Monitoring Orchestrator                    │
├─────────────────────────────────────────────────────────────┤
│  Watcher Agent  │  Triage Agent  │  Investigator  │  Strategist  │
├─────────────────────────────────────────────────────────────┤
│  Health Check  │  Slack Alert  │  Log Analysis  │  DB Health  │
├─────────────────────────────────────────────────────────────┤
│  Supabase (Persistence)  │  OpenRouter (LLM)  │  Slack       │
└─────────────────────────────────────────────────────────────┘

Installation

# Install from PyPI (recommended)
pip install devops-sentinel

For Developers

# Clone the repository
git clone https://github.com/jagadeepmamidi/devops-sentinel.git
cd devops-sentinel

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install in editable mode for development
pip install -e .

Quick Start

# Login to DevOps Sentinel
sentinel login

# Check a service health
sentinel health https://api.example.com

# Monitor a service continuously
sentinel monitor https://api.example.com/health

# View your projects
sentinel projects list

CLI Commands

Command Description
sentinel init Interactive configuration setup
sentinel monitor <url> Monitor a service URL
sentinel status Show monitored services
sentinel incidents List recent incidents
sentinel postmortem <id> View incident postmortem
sentinel serve Start dashboard server
sentinel lint <path> Run pre-deploy checks

Configuration

Create a .env file or run sentinel init:

OPENROUTER_API_KEY=your_key_here
DEFAULT_MODEL=google/gemini-pro
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your_anon_key
SLACK_WEBHOOK_URL=https://hooks.slack.com/...

Docker Deployment

# Build and run
docker-compose up -d

# View logs
docker-compose logs -f sentinel

How It Works

  1. Watcher Agent continuously monitors service health endpoints
  2. On failure, First Responder sends a Slack alert
  3. Investigator analyzes logs, deployments, and database status
  4. Strategist creates a prioritized action plan
  5. AI generates a structured postmortem saved to Supabase

Privacy

  • All data stays local or in YOUR Supabase instance
  • No telemetry or external data collection
  • Use --privacy flag to see exactly what data is processed
  • OpenRouter calls only contain health check context (no PII)

Supabase Schema

-- Run these in your Supabase SQL editor
CREATE TABLE services (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    name TEXT NOT NULL,
    url TEXT NOT NULL,
    check_interval INTEGER DEFAULT 10,
    is_active BOOLEAN DEFAULT true,
    created_at TIMESTAMPTZ DEFAULT now()
);

CREATE TABLE incidents (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    service_id UUID REFERENCES services(id),
    status TEXT DEFAULT 'detecting',
    detected_at TIMESTAMPTZ DEFAULT now(),
    resolved_at TIMESTAMPTZ,
    mttd_seconds FLOAT,
    postmortem TEXT
);

CREATE TABLE health_checks (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    service_id UUID REFERENCES services(id),
    status_code INTEGER,
    response_time_ms FLOAT,
    is_healthy BOOLEAN,
    checked_at TIMESTAMPTZ DEFAULT now()
);

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devops_sentinel-0.1.2.tar.gz (117.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devops_sentinel-0.1.2-py3-none-any.whl (130.6 kB view details)

Uploaded Python 3

File details

Details for the file devops_sentinel-0.1.2.tar.gz.

File metadata

  • Download URL: devops_sentinel-0.1.2.tar.gz
  • Upload date:
  • Size: 117.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for devops_sentinel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ff8d72e686e1b8c94952f67334cc96a987b725778422093d0fd1809b9340c021
MD5 5aa07a1348f2295e83f091b4e7be75ad
BLAKE2b-256 dfd2402b4ea9fd783d957558b74ef915f29445c61ad66107b5e9ad5dc4fa1f09

See more details on using hashes here.

File details

Details for the file devops_sentinel-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for devops_sentinel-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eb626f647f0dd73a8d9f822b523ac279852a9da12701d0e152a6e4ddcef9aafb
MD5 e068bdc38ae17fbface6884be6a3b57e
BLAKE2b-256 7e51d36a165f9d6586a6ff302c8bc3d53cf82bbf591b0dbb2e7ba886a3c66681

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page