How Observer works
A high-level view of the agent, the cloud, and how they exchange data.
Observer has two parts:
- Observer Agent, a small process you run inside your network. It reads metrics from your existing observability stack (Prometheus, HTTP endpoints, TCP services, DNS, TLS certificates) and computes the status verdict locally.
- Observer Cloud, the control plane. It receives status pushes from agents, runs SLO evaluation, persists data, and renders status pages, dashboards, and the API.
What crosses the network
Only the precomputed verdict crosses the boundary from your network to Observer Cloud. The push payload is:
{ "metric_id": "<uuid>", "value": <number>, "status": "<healthy|degraded|unhealthy>", "timestamp": "<ISO8601>" }
Raw query strings (PromQL, HTTP request bodies, DNS resolver responses) do not leave the agent. The cloud has no path back into your network; it cannot pull from your Prometheus or hit your endpoints directly.
What runs where
| Concern | Location |
|---|---|
| Metric collection | Agent, in your network |
| Status verdict | Agent, computed against the threshold rule |
| SLO evaluation | Cloud, against pushed status |
| Status page render | Cloud |
| Webhook delivery | Cloud |
| Audit log | Cloud |
| Public API | Cloud |
Operational implications
- The agent must run in a network segment that can reach your metric sources. The cloud cannot reach them on your behalf.
- The agent's own health is reported back to the cloud through
heartbeats. The cloud surfaces a stalled agent as
agent.offline. - The agent is stateless with respect to historical data: lost agents do not lose history, because all status pushes are persisted in the cloud.
Was this page helpful?