Back to Onyx

Onyx Local Monitoring Stack

profiling/README.md

3.3.02.1 KB
Original Source

Onyx Local Monitoring Stack

Prometheus + Grafana for local development. Pre-loaded with dashboards for the Onyx backend.

Usage

bash
cd profiling/
docker compose up -d
ServiceURLCredentials
Grafanahttp://localhost:3001admin / admin
Prometheushttp://localhost:9090

Dashboards

  • Onyx DB Pool Health — PostgreSQL connection pool utilization
  • Onyx Indexing Pipeline v2 — Per-connector indexing throughput, queue depth, task latency
  • Onyx Permission Sync — Doc permission sync and external group sync duration, throughput, errors, and Celery task metrics

Scrape targets

JobPortSource
onyx-api-server8080FastAPI /metrics (matches .vscode/launch.json)
onyx-monitoring-worker9096Celery monitoring worker
onyx-docfetching-worker9092Celery docfetching worker
onyx-docprocessing-worker9093Celery docprocessing worker
onyx-heavy-worker9094Celery heavy worker (pruning, perm sync, group sync)
onyx-light-worker9095Celery light worker (vespa sync, deletion, permissions upsert)

Environment variables

Override defaults with a .env file in this directory or by setting them in your shell:

VariableDefaultDescription
PROMETHEUS_PORT9090Host port for Prometheus UI
GRAFANA_PORT3001Host port for Grafana UI
GF_ADMIN_PASSWORDadminGrafana admin password

Editing dashboards

allowUiUpdates: true is set in the provisioning config, so you can edit dashboards in the Grafana UI. However, changes don't persist across docker compose down — to keep edits, export the dashboard JSON and overwrite the file in grafana/dashboards/onyx/.