source_type and, for some types, one source_config field. The API
returns it as unit on metrics and on
probe tests: ms, %, days, s,
B/s, or null for a bare number (a query result in whatever unit the
query returns, or a 1/0 state). Set thresholds in the same unit.
Three further source types exist on metrics but are not probes. Observer
evaluates them itself and they never reach the agent:
When a probe gets no value, the metric reports
no_data with a reason
code instead. See Reason codes.
Per-type guides
Each runtime has a dedicated guide:- Prometheus
- HTTP
- TCP
- DNS
- TLS certificate
- ICMP
- gRPC
- WebSocket
- Database
- OpenTelemetry (OTLP)
- AWS CloudWatch
- Grafana Loki
- Elasticsearch and OpenSearch
- Custom
Notes on specific types
icmpshells out to the systemping. It needs theCAP_NET_RAWcapability on the agent host. When the capability or thepingbinary is unavailable, the probe reports a privilege/availability reason rather than falling back to TCP. The published container image has noping, so ICMP needs the release binary or a custom image that addsiputils. See ICMP probes.grpcruns the standard gRPC Health Checking Protocol only. It does not invoke arbitrary methods.websocketmeasures the handshake, and optionally an application-level round-trip when configured with a send/expect message pair.databaseruns a single read-only query per tick and reports the scalar result. PostgreSQL and MySQL accept SELECT-only statements; Redis accepts a small read-only command allowlist; MongoDB accepts document-count operations. The connection string is read from an environment variable on the agent host and is never sent to the cloud.hostreads the machine the agent runs on (inside its container, when it runs in one). On Linux, memory is used memory fromMemAvailable. On macOS, memory is Activity Monitor’s Memory Used: wired, active and compressed pages over physical memory, read fromvm_statandsysctl. Older agents count only free pages as available on macOS, so memory reads close to 100% on a healthy Mac. Network throughput is Linux only; elsewhere it reportsno_datawithhost_metric_unsupported_platform.mtls_httpis deprecated. Use thehttpsource with its mTLS fields instead.
Adding a new source typeNew source types require a coordinated agent and cloud release.
Contact Observer if you need a type not listed.
Common contract
Every source’s runtime exports the same interface:ProbeSource
{ value: null, status_hint: "no_data", reason: "<code>" }. The dispatcher applies the threshold rule
only when status_hint is absent. metadata stays on the agent: only
the value, status and reason code reach the cloud, and the agent does
not log probe error details. To see why a probe failed, reproduce the
request from the agent’s host with the protocol’s own tool (curl,
openssl s_client, grpcurl, logcli, the database client, ping,
nc).
