What Keel does
- Detect — Prometheus evaluates alert rules against a local TSDB every 15 seconds.
- Route — Alertmanager fans critical alerts to the AI pipeline and Communication MCP.
- Triage — The supervisor agent classifies severity and assigns an incident ID. A correlation engine groups related alerts using temporal and causal signals.
- Investigate — The observability agent queries metrics, logs, and traces. A Neo4j knowledge graph maps blast radius. Context prioritisation selects the top three relevant services within a 4,000-token budget. An LLM synthesises the root cause analysis.
- Remediate — A runbook is selected — and optionally enriched by the LLM for critical incidents. An approval gate blocks auto-remediation when priority exceeds 0.8. A five-state lifecycle tracks the incident from triage through resolved.
- Notify — A ticket is created in Jira or ServiceNow with auto-transition to Done on closure. Slack/Teams/PagerDuty via Communication MCP. Multi-channel Slack (eight channels) plus Teams and ServiceNow are notified, with per-channel on/off flags.
- Resolve — Three resolution paths converge on one handler: OmniView's Mark Resolved button, Alertmanager's auto-resolve webhook, or a direct API call.
- Learn — The RCA is seeded into the knowledge base. Episodic memory stores the incident for similarity matching against future alerts, so recurring failures resolve faster with each iteration.
- Monitor — A usage report tracks tokens, cost, and latency per provider. Server-sent events stream live updates to the OmniView dashboard with a LIVE badge.
All of this happens in under a minute, with zero human intervention for known failure patterns. For anything novel or high-priority, the approval gate stops and waits for a human to sign off.
The architecture in seven layers
Keel separates responsibility across seven discrete layers. Each layer has a single job, a single set of dependencies, and a single failure profile — so you can replace any one without rewriting the others.
Every layer runs in its own container. The full stack spins up in 29 containers on a single docker compose up.
Further reading
- Full README on GitHub → — Complete reference with component deep-dives, configuration flags, and API endpoints.
- Feature catalogue → — All 133 implemented features, organised by subsystem, with file references.
- Quickstart → — Five-minute
make allonboarding.