Skip to main content

Metrics

ZITADEL exposes operational and performance metrics to support monitoring, alerting, and capacity planning.

Metrics are enabled by default in standard deployments and are exposed via an HTTP endpoint that can be consumed by Prometheus and other monitoring systems that understand the Prometheus exposition format or use an OpenTelemetry pipeline.

Metrics endpoint​

ZITADEL exposes metrics at the following endpoint: /debug/metrics

This endpoint returns a snapshot of the current metrics in Prometheus-compatible exposition format.

If you changed ports, paths, or network exposure as part of your deployment (for example via Helm values, reverse proxies, or ingress), adjust the endpoint accordingly.

Instrumentation model​

Internally, ZITADEL instruments metrics using OpenTelemetry (OTel).

The exposed metrics include:

  • Process and runtime metrics
    (for example Go runtime, memory usage, goroutines)

  • HTTP and gRPC server metrics
    (request counts, latencies, error rates)

  • ZITADEL-specific metrics
    (server behavior and internal components available in your version)

The exact set of metrics and labels may evolve between ZITADEL releases.

Collection and compatibility​

The /debug/metrics endpoint can be consumed in multiple ways:

  • Prometheus can scrape the endpoint directly.
  • OpenTelemetry Collector can scrape the endpoint using a Prometheus receiver and forward metrics to other backends.
  • Managed monitoring platforms (for example Grafana Cloud, Amazon Managed Service for Prometheus, Datadog, New Relic) can ingest the same endpoint via Prometheus-compatible agents or collectors.

ZITADEL does not require a specific metrics backend. Any system capable of scraping or ingesting Prometheus-format metrics can be used.

Configuration​

Metrics are enabled by default in standard ZITADEL deployments.

If metrics were explicitly disabled in your configuration, re-enable them before proceeding. The default configuration is defined in the project's defaults.yaml file:

Refer to the configuration documentation for details on enabling or adjusting metrics behavior.

Next steps​

Choose how you want to collect and store metrics:

  • Prometheus β€” scrape metrics directly from ZITADEL
  • OpenTelemetry Collector β€” aggregate and forward metrics to another backend
  • Managed observability platforms β€” use their Prometheus-compatible agents

The following sections describe concrete setups, starting with Prometheus.

Was this page useful?