Files
zitadel/apps/docs/content/self-hosting/manage/metrics/overview.mdx
T

67 lines
2.7 KiB
Plaintext

---
title: Metrics
description: "Monitor ZITADEL operational performance using Prometheus-compatible metrics exposed via the /debug/metrics endpoint."
---
## 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.
## Settings
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:
- https://github.com/zitadel/zitadel/blob/main/cmd/defaults.yaml
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**.