GuidesDefine a manual metric

Define a manual metric

The cleanest path for operators without metrics infrastructure.

If you do not have a Prometheus server, no observability for the target system, or want a status surface that follows operator judgment rather than a measurement, manual metrics are the right shape.

Steps

Create the metric

In the console, navigate to Metrics > New metric. In the Source type picker, choose Manual. The form hides the probe config and threshold sections; manual metrics carry neither.

Fill the title and description; pick the agent association if any (manual metrics ignore the agent at runtime, but the field stays for ownership / audit).

Set the initial status

Save. Open the metric. The detail page shows a clickable status pill. Pick the right initial status (healthy is the most common).

Bind the metric to a service and (optional) SLO

Manual metrics fit the same service / SLO model as probed metrics. Open the service, define an SLO that points at the manual metric, set a target, and the budget will burn whenever the metric is in the unhealthy state. The machinery is the same as a probed metric.

Hook up automation (optional)

For systems with their own observability, you can drive a manual metric from outside Observer:

curl -X POST https://use.observer/api/v1/metrics/<id>/status \
  -H "Authorization: Bearer obs_pub_..." \
  -H "Content-Type: application/json" \
  -d '{"status":"unhealthy","note":"Vendor incident #VND-12345"}'

The scope write:metrics is required. The note ends up in the audit log.

Incident-driven status

When an open incident lists a service that contains a manual metric, that metric auto-flips to mirror the incident's severity. This is intentional: manual metrics have no probe, so the only meaningful signal is what the operator says is true. See Manual metrics for the full semantics.