Observability for autonomous systems

Your agent already knows what's wrong.
Let it tell you.

Sermon is a lightweight observability daemon built for operators who already work with AI agents. Your agent drives; Sermon shows them what's happening.

quick_start.sh
# Install the daemon on each server
 curl -fsSL https://sermon.fyi/install.sh | bash -s -- $TOKEN

# Or start it manually after enrollment
 sermon agent start

System architecture

Three components. A lightweight collector on each box, a central aggregator, and a protocol that any agent can call.

Status: online Latency: 12ms
01 / Ingestion [daemon]
[SERVER] ──(logs)──> +────────+
[POD-1]  ──(otel)──> | SERMON |
[SYS]    ──(proc)──> +────────+

Omnivorous daemon

Runs as a ~2MB Zig binary on every server. Reads /proc, tails journalctl, and pushes metric samples over a single authenticated endpoint. No runtime. No agent. Just the binary.

02 / Storage [duckdb + postgres]
      ←── Vectorized
           execution
      ←── Local storage

Embedded analytics

Each daemon stores full-resolution telemetry locally in an embedded DuckDB with 7-day retention. Central Postgres aggregates across the fleet for the dashboard and long-term queries.

03 / Access [mcp / api]
+──────+   [MCP]  +───────+
|SERMON| <======> | AGENT |
+──────+  (CLI)   +───────+
[HUMAN]

Machine-first protocol

An MCP server exposes the fleet to any agent that speaks the protocol. Your Claude Code, Cursor, or custom client queries metrics, tails logs, and dispatches alerts without touching the UI.

design_philosophy.txt

Designed for agents.
Not humans.

Traditional observability tools assume a human is staring at a dashboard, trying to correlate colored lines on a graph. Sermon assumes an AI agent is polling an API.

We deliver structured, high-density context. When something breaks, your agent receives exactly the relevant logs and correlated metrics — ready to act, not just alert.

  • Investigates root causes Agents pull the last 15 minutes of metrics, correlate with log lines, and surface likely causes.
  • Proposes remediations Sermon never executes. Your agent executes, under your trust, with the evidence it needs.
  • Runs continuous watches Long-running agents register query-as-alerts: "cpu > 80 for 5m, fire with context."
agent_session_id: 9x4-aql live

agent: Evaluating cluster state…

agent: Anomalous latency detected on aniara-1. Pulling correlated logs.

  mcp.tool: query_metrics
payload: { "server": "aniara-1", "since": "-15m", "fields": "cpu,mem" }

system: Returned 600 samples. cpu_percent crossed 80% at 13:57:06; sustained 5m.

agent: Correlating with nginx logs... found worker crash at 14:02:03. Proposing fix.

action proposed
Restart nginx Dismiss

Give your agents eyes.

Stop forcing LLMs to scrape dashboards. Give them the structured telemetry they need to act autonomously.