Overview
The Agglayer node exposes Prometheus metrics over an HTTP/metrics endpoint. Metric instruments are defined with OpenTelemetry and exported through opentelemetry-prometheus.
The listen address is configured under [telemetry] in the node’s TOML configuration:
http://<prometheus-addr>/metrics to collect the series described below.
Per-network certificate state
Two observable gauges report the current certificate state of each network. Values are read from storage at scrape time, so exported values always match storage truth, including after restarts and admin edits.
Stages exposed on
agglayer_node_network_height:
Notes on semantics:
- A network with no recorded pointer for a given stage exports no series for that stage. A height of
0is a valid height (the first certificate of a network) and is never used as a placeholder. agglayer_node_network_latest_certificate_in_errorreports the storage truth for the latest pending certificate header. It does not consult the disabled-networks list, so a disabled network with an in-error pending certificate still exportsin_error=1. Alerts that need to exclude disabled networks must join against that list separately.
Certificate bridging-time histograms
Two histograms measure how long certificates take to move through the lifecycle. Both use the OpenTelemetry meter scopeagglayer_node_certificate.
Stages exposed on
agglayer_certificate_stage_duration_seconds:
The three stages are contiguous, so their durations sum to
agglayer_certificate_duration_seconds for the same certificate.
Both histograms share one bucket set (seconds):
Timings are measured with in-memory timers on the certificate task and are not persisted. Counts reset when the node restarts.Only fresh certificates observed from
Pending through Settled within a single process lifetime contribute to these histograms. Certificates resumed after a restart (entering as Proven or Candidate) contribute no durations, which keeps end-to-end and per-stage distributions honest.A certificate that errors mid-lifecycle still contributes the stages that completed; only the end-to-end total requires reaching Settled.Timing starts when the certificate task begins processing the certificate, not at RPC receipt. Time spent waiting in the pending queue before pickup is not included.Example PromQL
End-to-end p95 bridging time per network:Deployment labels
Labels such asenvironment or cluster are expected to be added at scrape time via Prometheus external_labels rather than emitted by the node.