Anatomy of an Incident
Scenario: OOMKill in Production
1. Automatic Detection
The Watcher detects thatpayment-service pods are being OOMKilled:
2. Issue Created
The CorrelationEngine groups the anomalies into an Issue:View Issue details
View Issue details
3. Notification Sent
Slack automatically receives: > High Severity: OOM Kill Detected > > | Severity | Resource | Namespace | State | > |----------|----------|-----------|-------| > | high | payment-service | production | Analyzing | > > Issue: INC-20260319-001 | 2026-03-19T15:20:00Z4. AI Analyzes the Problem
5. Approval Required
The ApprovalPolicy requires approval for resource changes in production:http://localhost:8090 -> Approvals -> Approve with reason.
Option B β Approve via REST API:
6. Remediation Executed
After approval, the RemediationReconciler executes:- Captures structured
ResourceSnapshot(replicas, images, CPU/memory requests+limits, HPA min/max) - Creates
ActionCheckpointbefore each action - Applies
AdjustResources(memory 512Mi -> 1Gi) - Waits 90s verifying deployment health
readyReplicas >= desired-> Completed
7. Issue Resolved
- Slack receives resolution notification
- Pattern Store records: βoom_kill + Deployment + high -> AdjustResources worksβ
- 10min dedup cooldown activated (configurable via
aiops.resolutionCooldownMinutes)
8. Automatic PostMortem
View complete PostMortem
View complete PostMortem