Skip to main content

Prometheus + Grafana

Community-contributed integration

This integration is community-maintained. Reference: ory/integrates/monitoring-observability/prometheus-grafana.

Every self-hosted Ory service exposes a Prometheus-compatible metrics endpoint at /metrics/prometheus. The self-hosted observability docs document this as the recommended metrics path.

Self-hosted only

/metrics/prometheus is bound on each service's admin port, which Ory Network does not expose. Your project domain on projects.oryapis.com serves the public API only and has no metrics endpoint to scrape. On Ory Network, use the Ory Console's Activity > Logs & Events view instead.

ServiceDefault metrics endpoint
Kratoshttp://{host}:4434/metrics/prometheus (admin port)
Hydrahttp://{host}:4445/admin/metrics/prometheus
Ketohttp://{host}:4468/metrics/prometheus
Oathkeeperhttp://{host}:9000/metrics/prometheus

Scrape config

scrape_configs:
- job_name: ory-kratos
metrics_path: /metrics/prometheus
static_configs: [{ targets: ["kratos-admin:4434"] }]
- job_name: ory-hydra
metrics_path: /admin/metrics/prometheus
static_configs: [{ targets: ["hydra-admin:4445"] }]

Dashboards

There's no officially published Grafana dashboard JSON for Ory. Build your own around the standard Go runtime metrics (go_*, process_*) plus Ory's HTTP request metrics for the public API paths most relevant to your product (login, registration, verification, OAuth2 token, sessions).

For richer signals, pair with the OpenTelemetry integration for traces and a backend like Tempo.

Resources