Observer
Observer Agent

Agent and cloud boundary

What crosses the network and what does not.

The Observer Agent is the only component that runs inside your network. The cloud sits across an HTTPS boundary and never reaches back into your network. This page is the explicit description of what crosses that boundary and what stays put.

What the agent sends to the cloud

POST /api/agent/heartbeat
  every ~30 seconds. Self-state report (queue depth, uptime,
  active source types). See the heartbeat payload reference.

GET /api/agent/metrics-definitions
  every 5 minutes. Pull of the metric definitions assigned to
  this agent. The response is the canonical list the agent
  schedules against.

POST /api/agent/receiver
  per status push. The body is one row:
    { metric_id, value, status, timestamp, reason? }

POST /api/agent/log (optional)
  only when BROADCAST_LOGS=true. Forwards a subset of agent log
  lines for surfacing on the agent detail page. PromQL query
  strings are always redacted to a SHA-256 prefix and length.

That is the entire surface. There are no other outbound calls.

What the agent does not send

  • Raw PromQL query strings.
  • Raw HTTP request bodies, response bodies, or response headers beyond what the probe required.
  • DNS resolver responses beyond a substring match against expected_value if configured.
  • TLS certificate chains. Only days_until_expiry and a few metadata fields (subject CN, issuer CN, valid_to) are sent.
  • Any metric series outside the explicit metric definitions.

What the cloud sends to the agent

Only the response to GET /api/agent/metrics-definitions. The response shape is the projection in the public @observer/protocol package's MetricDefinition type.

The cloud has no path back into your network. It cannot pull from your Prometheus, hit your endpoints, or query your DNS. Every probe runs from the agent's vantage point.

Trust assumptions

  • The agent trusts the cloud's TLS certificate by default. Set SKIP_SSL_VERIFICATION=true in development only.
  • The cloud trusts the agent only after the agent presents a valid AGENT_KEY. Keys are bound to a single agent identity and a single organisation.
  • A compromised agent key affects only that agent's pushes. The cloud restricts each request to the agent's own organisation; a stolen key cannot read or write across tenants.
Was this page helpful?