Skip to main content

Prometheus + Grafana

Community-contributed integration

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

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

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

Self-hosted Ory:

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"] }]

Ory Network:

scrape_configs:
- job_name: ory-network
scheme: https
metrics_path: /metrics/prometheus
scrape_interval: 30s
static_configs:
- targets: ["<your-project>.projects.oryapis.com"]
labels:
environment: production

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