Skip to content
Atharvverma1234Public

Latest commit

Β 

History

20 Commits

Folders and files

Repository files navigation

⚑ Pulse_Ops

AI-Powered DevOps Incident Intelligence Platform

Detect anomalies. Understand incidents. Automate response.

PulseOps is a real-time infrastructure monitoring and incident intelligence platform that combines
AI anomaly detection, automated incident management,
LLM-powered root cause analysis, and multi-channel alert automation.


🎯 What is PulseOps?

Modern infrastructure can fail long before a traditional threshold-based alert fires.

A server may gradually consume more memory, experience unusual CPU behaviour, generate abnormal traffic, or exhibit a combination of subtle signals that individually look harmless.

PulseOps turns raw infrastructure metrics into actionable incident intelligence.

Instead of:

Metric β†’ Threshold β†’ Alert

PulseOps follows:

Infrastructure Metrics
        ↓
Real-Time Ingestion
        ↓
AI Anomaly Detection
        ↓
Risk Scoring
        ↓
Incident Creation
        ↓
LLM Root Cause Analysis
        ↓
Recommended Response
        ↓
Automated Notifications

The result is a system designed to help engineering teams move from:

"Something is wrong."

to:

"This is what happened, why it happened, how serious it is, and what should happen next."


✨ Core Features

πŸ“‘ Real-Time Infrastructure Monitoring

  • Live metric streaming
  • Socket.IO powered updates
  • CPU, memory, disk and network monitoring
  • Per-host metric visualization
  • Historical metric analysis
  • Recharts-based dashboards

πŸ€– AI Anomaly Detection

  • Isolation Forest model
  • Unsupervised anomaly detection
  • Continuous anomaly scoring
  • Per-host risk analysis
  • Score history
  • Anomaly trend visualization

🚨 Intelligent Incident Management

  • Automatic incident creation
  • Incident severity classification
  • Incident lifecycle tracking
  • Open β†’ Investigating β†’ Resolved workflow
  • Incident timeline
  • Incident statistics

🧠 AI Root Cause Analysis

  • Groq-powered LLM analysis
  • Structured RCA generation
  • Metric-aware reasoning
  • Incident summaries
  • Root cause identification
  • Suggested remediation

πŸ”” Alert Engine

  • Configurable threshold rules
  • Cooldown-based deduplication
  • Alert severity
  • Host-specific alerts
  • Alert history
  • Automated escalation

βš™οΈ Workflow Automation

  • Self-hosted n8n
  • Webhook-based automation
  • Slack notifications
  • Telegram notifications
  • Email notifications
  • Extensible workflow architecture

πŸ–₯️ Platform Overview

Live Operations Dashboard

Real-time infrastructure visibility with anomaly scores, host health, alerts and incident activity.

Screenshot 2026-08-27 005557

🚨 Incident Intelligence

Track incidents from initial detection through investigation and resolution.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     INCIDENT                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Severity       CRITICAL                                  β”‚
β”‚ Host           server-02                                 β”‚
β”‚ Status         INVESTIGATING                             β”‚
β”‚ Anomaly Score  0.94                                      β”‚
β”‚                                                          β”‚
β”‚ Timeline                                                 β”‚
β”‚                                                          β”‚
β”‚  14:21  Anomaly detected                                 β”‚
β”‚  14:22  Incident automatically created                   β”‚
β”‚  14:22  Risk score calculated                            β”‚
β”‚  14:23  AI RCA generated                                 β”‚
β”‚  14:24  Slack escalation triggered                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Screenshot 2026-08-27 005741

🧠 AI Root Cause Analysis

PulseOps converts raw telemetry into an engineering-friendly explanation.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ AI ROOT CAUSE ANALYSIS                                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                          β”‚
β”‚ Root Cause                                               β”‚
β”‚ Elevated CPU utilization combined with abnormal          β”‚
β”‚ memory pressure on server-02.                            β”‚
β”‚                                                          β”‚
β”‚ Confidence                                               β”‚
β”‚ High                                                     β”‚
β”‚                                                          β”‚
β”‚ Impact                                                   β”‚
β”‚ Increased request latency and potential service          β”‚
β”‚ degradation.                                             β”‚
β”‚                                                          β”‚
β”‚ Recommended Action                                       β”‚
β”‚ Investigate high-consumption processes and evaluate      β”‚
β”‚ recent deployments on the affected host.                 β”‚
β”‚                                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Screenshot 2026-08-29 000328

πŸ—οΈ Architecture

                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚    React + Vite     β”‚
                              β”‚     Dashboard       β”‚
                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                         β”‚
                              REST + Socket.IO
                                         β”‚
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚   Node.js / Express β”‚
                              β”‚      Backend        β”‚
                              β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
                                    β”‚    β”‚    β”‚
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚    └─────────────────┐
                   β”‚                     β”‚                      β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚     MongoDB     β”‚   β”‚      Redis      β”‚   β”‚      n8n       β”‚
          β”‚                 β”‚   β”‚                 β”‚   β”‚                β”‚
          β”‚ Metrics         β”‚   β”‚ Queue / Cache   β”‚   β”‚ Automation     β”‚
          β”‚ Incidents       β”‚   β”‚ Async Processingβ”‚   β”‚ Webhooks       β”‚
          β”‚ Alerts          β”‚   β”‚                 β”‚   β”‚                β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                         β”‚                    β”‚
                                         β”‚                    β”œβ”€β”€ Slack
                                         β”‚                    β”œβ”€β”€ Telegram
                                         β”‚                    └── Email
                                         β”‚
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚   FastAPI AI        β”‚
                              β”‚      Service        β”‚
                              β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
                              β”‚ Isolation Forest    β”‚
                              β”‚ Anomaly Scoring     β”‚
                              β”‚ Model Management    β”‚
                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                         β”‚
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚      Groq LLM       β”‚
                              β”‚ Root Cause Analysis β”‚
                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ How PulseOps Works

01 β€” Metric Collection

Infrastructure metrics are continuously generated by the simulator or connected infrastructure agents.

server-01
server-02  ───────►  PulseOps
server-03

02 β€” Metric Ingestion

The Node.js backend receives individual or batched metric payloads.

POST /api/metrics
POST /api/metrics/bulk

03 β€” Queue-Based Processing

Redis decouples high-volume metric ingestion from database persistence and downstream processing.

Incoming Metrics
      ↓
    Redis
      ↓
Async Processing
      ↓
   MongoDB

04 β€” AI Anomaly Detection

The FastAPI service evaluates infrastructure behaviour using an Isolation Forest model.

Metric
  ↓
Feature Extraction
  ↓
Isolation Forest
  ↓
Anomaly Score
  ↓
Normal / Anomalous

05 β€” Risk Calculation

PulseOps aggregates anomaly behaviour to determine host-level operational risk.

Anomaly Frequency
       +
Peak Anomaly Score
       +
Recent Behaviour
       ↓
   Risk Score

06 β€” Incident Creation

When an anomaly satisfies incident conditions, PulseOps creates an incident and records its timeline.

Anomaly
   ↓
Incident Engine
   ↓
Severity
   ↓
Incident Created

07 β€” AI Root Cause Analysis

The incident context is passed to the Groq LLM to generate a structured explanation.

Incident
   +
Metrics
   +
Anomaly Information
   ↓
Groq LLM
   ↓
Structured RCA

08 β€” Automated Escalation

n8n receives webhook events and triggers the configured notification workflow.

PulseOps
   ↓
Webhook
   ↓
  n8n
 β”Œβ”€β”΄β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 ↓        ↓         ↓
Slack  Telegram   Email

🧠 AI Architecture

PulseOps uses a two-layer intelligence system.

Layer 1 β€” Statistical Anomaly Detection

The Isolation Forest model detects unusual infrastructure behaviour without requiring labelled production failure data.

Why Isolation Forest?

Traditional monitoring often depends on fixed rules:

IF CPU > 90%
THEN ALERT

This can miss gradual or contextual anomalies.

PulseOps instead learns the characteristics of normal behaviour and identifies observations that are statistically unusual.

Normal Behaviour
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

                         β–ˆ
                        β–ˆ
                       β–ˆ
                  Anomaly

This makes the system suitable for environments where labelled failure datasets are limited.


Layer 2 β€” LLM Incident Intelligence

Once an incident is identified, the LLM provides human-readable reasoning.

Telemetry
    ↓
Anomaly Detection
    ↓
Incident Context
    ↓
   LLM
    ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Root Cause            β”‚
β”‚ Impact                β”‚
β”‚ Severity              β”‚
β”‚ Explanation           β”‚
β”‚ Recommendation        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

This separation keeps machine detection and language-based reasoning as distinct components.


πŸ“Š Risk Scoring

PulseOps provides host-level risk visibility rather than simply displaying individual alerts.

The dashboard tracks:

  • Anomaly frequency
  • Peak anomaly score
  • Recent anomaly behaviour
  • Host-level risk
  • Historical score trends

Example:

Host              Risk

server-01         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘  71%
server-02         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  94%
server-03         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘  38%

This allows operators to prioritize the infrastructure that requires attention first.


πŸ› οΈ Tech Stack

Layer Technology
Frontend React 18, Vite, Tailwind CSS v4
Visualization Recharts
Real-Time Socket.IO
Backend Node.js 20, Express
Database ODM Mongoose
AI Service FastAPI
ML Scikit-learn, Isolation Forest
LLM Groq
Queue / Cache Redis 7
Automation n8n
Notifications Slack, Telegram, Email
Database MongoDB 7
Reverse Proxy Nginx
Containerization Docker / Docker Compose
Testing Jest
Load Testing Custom Node.js load-test script

πŸ“ Project Structure

PulseOps/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard
β”‚   β”‚   β”‚   β”œβ”€β”€ Incidents
β”‚   β”‚   β”‚   β”œβ”€β”€ Alerts
β”‚   β”‚   β”‚   β”œβ”€β”€ AI
β”‚   β”‚   β”‚   └── Automation
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   └── hooks/
β”‚   β”‚       β”œβ”€β”€ useMetrics
β”‚   β”‚       β”œβ”€β”€ useAlerts
β”‚   β”‚       └── useRiskScores
β”‚   β”‚
β”‚   └── ...
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ auth
β”‚   β”‚   β”œβ”€β”€ metrics
β”‚   β”‚   β”œβ”€β”€ incidents
β”‚   β”‚   β”œβ”€β”€ alerts
β”‚   β”‚   └── rca
β”‚   β”‚
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ alertEngine
β”‚   β”‚   β”œβ”€β”€ anomalyProcessor
β”‚   β”‚   └── metricsQueue
β”‚   β”‚
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   └── __tests__/
β”‚
β”œβ”€β”€ ai-service/
β”‚   β”œβ”€β”€ routers/
β”‚   β”‚   β”œβ”€β”€ predict
β”‚   β”‚   β”œβ”€β”€ train
β”‚   β”‚   └── status
β”‚   β”‚
β”‚   β”œβ”€β”€ scripts/
β”‚   β”‚   β”œβ”€β”€ generate_dataset
β”‚   β”‚   └── train_model
β”‚   β”‚
β”‚   └── models/
β”‚
β”œβ”€β”€ simulator/
β”‚   └── simulate.js
β”‚
β”œβ”€β”€ nginx/
β”‚   └── nginx.conf
β”‚
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ deploy.ps1
β”‚   β”œβ”€β”€ deploy.sh
β”‚   β”œβ”€β”€ monitor.ps1
β”‚   └── loadtest.js
β”‚
β”œβ”€β”€ docker-compose.yml
└── README.md

πŸš€ Quick Start

Prerequisites

Make sure you have:

  • Docker Desktop
  • Node.js 20+
  • Python 3.11+
  • Git

1. Clone the Repository

git clone https://github.com/Atharvverma1234/PulseOps.git
cd PulseOps

2. Configure Environment Variables

cp backend/.env.example backend/.env
cp ai-service/.env.example ai-service/.env

Configure the backend environment:

MONGO_URI=mongodb://mongo:27017/pulseops
JWT_SECRET=your_secret_here
GROQ_API_KEY=gsk_your_key_here

Never commit .env files or API keys to Git.


3. Train the AI Model

cd ai-service

python -m venv .venv

Windows

.venv\Scripts\activate

Linux / macOS

source .venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Generate the training dataset:

python scripts/generate_dataset.py

Train the model:

python scripts/train_model.py

4. Start the Platform

From the project root:

docker compose up --build

This starts the core PulseOps infrastructure:

Frontend
Backend
AI Service
MongoDB
Redis
n8n
Nginx

5. Start the Metric Simulator

In another terminal:

node simulator/simulate.js

The simulator continuously generates infrastructure metrics for multiple hosts.

Example:

PulseOps Simulator

βœ“ Simulator started
βœ“ Pushing metrics every 5s

Hosts:
  β€’ server-01
  β€’ server-02
  β€’ server-03

6. Open PulseOps

http://localhost:5173

Register an account and open the dashboard.

You should now see infrastructure metrics streaming in real time.


πŸ”Œ API Reference

Authentication

POST /api/auth/register
POST /api/auth/login
GET  /api/auth/me

Register

{
  "name": "John Doe",
  "email": "john@example.com",
  "password": "password",
  "role": "engineer"
}

Metrics

POST /api/metrics
POST /api/metrics/bulk

GET /api/metrics
GET /api/metrics/latest
GET /api/metrics/stats/:host

Incidents

POST  /api/incidents
GET   /api/incidents
GET   /api/incidents/:id
PATCH /api/incidents/:id
POST  /api/incidents/:id/timeline
GET   /api/incidents/stats

AI & Risk

POST /api/rca/:id/generate

GET /api/rca/stats
GET /api/ai/risk-summary
GET /api/ai/anomalies
GET /api/ai/score-history/:host

AI Service

POST /predict
POST /predict/bulk

GET  /model/status

POST /train

πŸ§ͺ Testing

Run the backend test suite:

cd backend

npm test

Generate coverage:

npm run test:coverage

⚑ Load Testing

PulseOps includes a custom metric ingestion load-test script.

node scripts/loadtest.js

Example configuration:

Target:
  localhost:5000

Endpoint:
  /api/metrics/bulk

Concurrency:
  10

Requests:
  200

Batch Size:
  5

This can be used to evaluate the metric ingestion pipeline under concurrent traffic.


🐳 Docker Architecture

PulseOps is designed as a multi-service containerized system.

                    Docker Compose
                          β”‚
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚                  β”‚                  β”‚
   Frontend            Backend            AI Service
       β”‚                  β”‚                  β”‚
       β”‚             β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”             β”‚
       β”‚             β”‚         β”‚             β”‚
       β”‚          MongoDB    Redis           β”‚
       β”‚                                     β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
                        Nginx
                          β”‚
                        Client

This makes the platform easy to reproduce locally and provides a foundation for production deployment.


βš™οΈ Deployment

Development

docker compose up --build

Production β€” Windows

.\scripts\deploy.ps1

Production β€” Linux / macOS

./scripts/deploy.sh

Health Monitoring

.\scripts\monitor.ps1

🧩 Key Engineering Decisions

Why Isolation Forest?

Production infrastructure rarely provides perfectly labelled datasets containing every possible failure mode.

Isolation Forest provides an unsupervised approach that learns normal behaviour and identifies unusual observations.

Benefits:

  • No labelled production failures required
  • Lightweight inference
  • Suitable for numerical telemetry
  • Easy to retrain
  • Works well as an anomaly scoring layer

Why Redis?

Directly writing every incoming metric to MongoDB can create unnecessary pressure during traffic spikes.

Redis acts as a buffering and processing layer:

High-volume ingestion
        ↓
      Redis
        ↓
Batch processing
        ↓
     MongoDB

This separates ingestion from persistence and provides a more resilient processing pipeline.


Why n8n?

Incident response frequently requires integrations with external systems.

Instead of hard-coding every integration into the backend, PulseOps delegates workflow orchestration to n8n.

PulseOps Event
      ↓
   Webhook
      ↓
     n8n
   ↙  ↓  β†˜
Slack Telegram Email

New integrations can therefore be added without heavily modifying the core application.


Why Groq?

Root cause analysis is an interactive operation where response latency matters.

Groq provides low-latency LLM inference suitable for generating structured incident analysis while keeping the LLM layer independent from the anomaly detection system.


πŸ” Security Considerations

PulseOps includes several backend security mechanisms:

  • JWT-based authentication
  • Protected API routes
  • Request rate limiting
  • Authentication-specific rate limiting
  • Environment-based secrets
  • Helmet security middleware
  • CORS configuration
  • Input validation
  • Cooldown-based alert deduplication

Secrets should always be supplied through environment variables rather than committed to source control.


πŸ“ˆ Incident Lifecycle

             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β”‚   DETECTED   β”‚
             β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
                    β–Ό
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β”‚     OPEN     β”‚
             β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
                    β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚   INVESTIGATING     β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚
                     β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚      RESOLVED       β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Every transition can be represented in the incident timeline, creating an operational history that can be used for investigation and post-incident analysis.


🌐 Observability Pipeline

PulseOps brings together four traditionally separate layers:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    OBSERVABILITY                        β”‚
β”‚                                                         β”‚
β”‚  Metrics ───────► AI Detection ───────► Risk            β”‚
β”‚                                             β”‚           β”‚
β”‚                                             β–Ό           β”‚
β”‚                                        Incident         β”‚
β”‚                                             β”‚           β”‚
β”‚                                             β–Ό           β”‚
β”‚                                      AI Root Cause      β”‚
β”‚                                             β”‚           β”‚
β”‚                                             β–Ό           β”‚
β”‚                                        Automation       β”‚
β”‚                                             β”‚           β”‚
β”‚                                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚                                    β–Ό        β–Ό        β–Ό  β”‚
β”‚                                  Slack  Telegram  Email β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ—ΊοΈ Roadmap

The architecture is intentionally designed to support future expansion.

Completed

  • Real-time infrastructure dashboard
  • Socket.IO metric streaming
  • MongoDB metric persistence
  • Redis processing layer
  • Isolation Forest anomaly detection
  • Host-level risk scoring
  • Incident lifecycle management
  • AI-powered RCA
  • Alert engine
  • n8n automation
  • Slack / Telegram / Email workflows
  • Docker Compose deployment
  • Load testing
  • Backend test suite

Future

  • Kubernetes integration
  • Prometheus integration
  • Grafana integration
  • Distributed tracing
  • Predictive incident detection
  • Automatic remediation
  • Multi-tenant organizations
  • SSO / OAuth
  • Advanced incident correlation
  • Historical incident learning

πŸ’‘ What Makes PulseOps Different?

Traditional monitoring answers:

"Did a threshold get crossed?"

PulseOps aims to answer:

"Is this behaviour unusual, how risky is it, what caused it, and what should the team do next?"

Traditional Monitoring

Metric
  ↓
Static Threshold
  ↓
Alert
  ↓
Human Investigation

PulseOps

Metric
  ↓
AI Anomaly Detection
  ↓
Risk Scoring
  ↓
Incident Intelligence
  ↓
LLM Root Cause Analysis
  ↓
Recommended Action
  ↓
Automated Escalation

The goal isn't simply to generate more alerts.

The goal is to reduce the amount of investigation required after an alert occurs.


πŸ† Built With

React β€’ Node.js β€’ Express β€’ FastAPI β€’ Python β€’ Scikit-learn β€’ MongoDB β€’ Redis β€’ Groq β€’ n8n β€’ Docker


πŸ‘¨β€πŸ’» Author

Atharv Verma


Electrical & Electronics Engineering Student Dayananda Sagar College of Engineering, Bengaluru



πŸ“„ License

This project is licensed under the MIT License.


⚑ PulseOps

Observe β†’ Detect β†’ Understand β†’ Respond



Built to make infrastructure incidents less reactive and more intelligent.

Releases

Packages

Contributors

Languages