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.
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."
|
|
|
|
|
|
Real-time infrastructure visibility with anomaly scores, host health, alerts and incident activity.
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 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
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. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββ
β 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 β
βββββββββββββββββββββββ
Infrastructure metrics are continuously generated by the simulator or connected infrastructure agents.
server-01
server-02 ββββββββΊ PulseOps
server-03
The Node.js backend receives individual or batched metric payloads.
POST /api/metrics
POST /api/metrics/bulkRedis decouples high-volume metric ingestion from database persistence and downstream processing.
Incoming Metrics
β
Redis
β
Async Processing
β
MongoDB
The FastAPI service evaluates infrastructure behaviour using an Isolation Forest model.
Metric
β
Feature Extraction
β
Isolation Forest
β
Anomaly Score
β
Normal / Anomalous
PulseOps aggregates anomaly behaviour to determine host-level operational risk.
Anomaly Frequency
+
Peak Anomaly Score
+
Recent Behaviour
β
Risk Score
When an anomaly satisfies incident conditions, PulseOps creates an incident and records its timeline.
Anomaly
β
Incident Engine
β
Severity
β
Incident Created
The incident context is passed to the Groq LLM to generate a structured explanation.
Incident
+
Metrics
+
Anomaly Information
β
Groq LLM
β
Structured RCA
n8n receives webhook events and triggers the configured notification workflow.
PulseOps
β
Webhook
β
n8n
βββ΄βββββββ¬ββββββββββ
β β β
Slack Telegram Email
PulseOps uses a two-layer intelligence system.
The Isolation Forest model detects unusual infrastructure behaviour without requiring labelled production failure data.
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.
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.
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.
| 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 |
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
Make sure you have:
- Docker Desktop
- Node.js 20+
- Python 3.11+
- Git
git clone https://github.com/Atharvverma1234/PulseOps.git
cd PulseOpscp backend/.env.example backend/.env
cp ai-service/.env.example ai-service/.envConfigure the backend environment:
MONGO_URI=mongodb://mongo:27017/pulseops
JWT_SECRET=your_secret_here
GROQ_API_KEY=gsk_your_key_hereNever commit
.envfiles or API keys to Git.
cd ai-service
python -m venv .venv.venv\Scripts\activatesource .venv/bin/activateInstall dependencies:
pip install -r requirements.txtGenerate the training dataset:
python scripts/generate_dataset.pyTrain the model:
python scripts/train_model.pyFrom the project root:
docker compose up --buildThis starts the core PulseOps infrastructure:
Frontend
Backend
AI Service
MongoDB
Redis
n8n
Nginx
In another terminal:
node simulator/simulate.jsThe simulator continuously generates infrastructure metrics for multiple hosts.
Example:
PulseOps Simulator
β Simulator started
β Pushing metrics every 5s
Hosts:
β’ server-01
β’ server-02
β’ server-03
http://localhost:5173
Register an account and open the dashboard.
You should now see infrastructure metrics streaming in real time.
POST /api/auth/register
POST /api/auth/login
GET /api/auth/me{
"name": "John Doe",
"email": "john@example.com",
"password": "password",
"role": "engineer"
}POST /api/metrics
POST /api/metrics/bulk
GET /api/metrics
GET /api/metrics/latest
GET /api/metrics/stats/:hostPOST /api/incidents
GET /api/incidents
GET /api/incidents/:id
PATCH /api/incidents/:id
POST /api/incidents/:id/timeline
GET /api/incidents/statsPOST /api/rca/:id/generate
GET /api/rca/stats
GET /api/ai/risk-summary
GET /api/ai/anomalies
GET /api/ai/score-history/:hostPOST /predict
POST /predict/bulk
GET /model/status
POST /trainRun the backend test suite:
cd backend
npm testGenerate coverage:
npm run test:coveragePulseOps includes a custom metric ingestion load-test script.
node scripts/loadtest.jsExample 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.
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.
docker compose up --build.\scripts\deploy.ps1./scripts/deploy.sh.\scripts\monitor.ps1Production 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
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.
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.
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.
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.
ββββββββββββββββ
β 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.
PulseOps brings together four traditionally separate layers:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OBSERVABILITY β
β β
β Metrics ββββββββΊ AI Detection ββββββββΊ Risk β
β β β
β βΌ β
β Incident β
β β β
β βΌ β
β AI Root Cause β
β β β
β βΌ β
β Automation β
β β β
β ββββββββββΌβββββββββ β
β βΌ βΌ βΌ β
β Slack Telegram Email β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The architecture is intentionally designed to support future expansion.
- 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
- Kubernetes integration
- Prometheus integration
- Grafana integration
- Distributed tracing
- Predictive incident detection
- Automatic remediation
- Multi-tenant organizations
- SSO / OAuth
- Advanced incident correlation
- Historical incident learning
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?"
Metric
β
Static Threshold
β
Alert
β
Human Investigation
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.
React β’ Node.js β’ Express β’ FastAPI β’ Python β’ Scikit-learn β’ MongoDB β’ Redis β’ Groq β’ n8n β’ Docker
Atharv Verma
Electrical & Electronics Engineering Student Dayananda Sagar College of Engineering, Bengaluru
This project is licensed under the MIT License.
Observe β Detect β Understand β Respond
Built to make infrastructure incidents less reactive and more intelligent.