Prerequisites
- Docker installed.
- An agent key from the Observer console (Agents > Add agent). The key is shown once; copy it before navigating away.
- A Prometheus URL the host can reach, if you plan to use
Prometheus probes.
PROMETHEUS_SERVER_URLis optional: without it the agent starts, logs a warning, and Prometheus probes reportno_data. Active probes (HTTP, TCP, DNS, and the rest) work either way.
Proxies, private CAs and restricted egressIf the host reaches the internet through a proxy, a
TLS-intercepting proxy or a private CA, or cannot pull from public
registries, see
Run behind a proxy or in a restricted network.
Steps
1
Pull the image
2
Run the container
observer-agent-buffer volume holds the
local queue, so readings queued
during a cloud outage survive the container being recreated.
Agent images 1.6.0 and later set BUFFER_PATH to this path by
default. Drop the PROMETHEUS_SERVER_URL line when the agent runs
no Prometheus probes.3
Confirm the connection
Check the logs with
docker logs -f observer-agent: the agent
logs Successfully fetched metric definitions once it reaches the
cloud (typically within 30 seconds). The debug dashboard binds to the
container’s loopback, so publishing port 10101 alone does not
reach it; see
Read the agent dashboard to
expose it.The Agents page in the console marks the agent as running
within 90 seconds.Production deploymentsFor multi-host or cluster deployments, see
Install on Kubernetes. The
systemd wrap below works for bare-metal Linux hosts that don’t
run k8s. The Docker path is recommended only for single-host
development.
Compose
For a Compose-driven setup, use the snippet below. It pins the image, keeps the local queue on a volume, and reads secrets from a.env file.
PinningPin to an exact version (
agent:1.7.3), or to the major tag
(agent:1) to pick up 1.x releases as they ship. latest moves
only when a release is tagged. Track new releases at
github.com/useobserver/agent/releases
and roll forward when ready.docker-compose.yml
.env
Run under systemd
Use this when the host is bare-metal Linux without k8s and you want Docker isolation alongside systemd auto-restart + journal log capture. Prefer Install from a release binary when Docker isn’t a hard requirement. Fewer moving parts./etc/systemd/system/observer-agent.service
Why host networking
--network host lets the agent reach Prometheus and probe
targets bound to the host’s loopback or its private interface.
If your targets sit on a Docker bridge instead, drop the
host-network flag and use the bridge IP.
