Monitoring

ArcadeDB provides built-in metrics collection and integration with Prometheus and Grafana for production monitoring.

Enabling Metrics

Metrics are enabled by default. Verify with:

SELECT FROM ( SELECT expand(settings) FROM schema:database ) WHERE key = 'arcadedb.serverMetrics'

Or set in arcadedb-server.properties:

arcadedb.serverMetrics=true
arcadedb.serverMetrics.logging=true

Prometheus Integration

The Prometheus metrics plugin auto-registers when the metrics module is on the classpath (included in the standard distributions) and metrics are enabled (arcadedb.serverMetrics=true, the default). It exposes a scrape endpoint at http://localhost:2480/prometheus.

Authentication on the scrape endpoint is on by default; set arcadedb.serverMetrics.prometheus.requireAuthentication=false to allow unauthenticated scraping.

Configure Prometheus to scrape ArcadeDB:

# prometheus.yml
scrape_configs:
  - job_name: 'arcadedb'
    scrape_interval: 15s
    metrics_path: /prometheus
    static_configs:
      - targets: ['localhost:2480']
    basic_auth:
      username: root
      password: arcadedb

Available Metrics

ArcadeDB exposes metrics for:

  • Database operations — Query count, command count, read/write throughput

  • Cache — Page cache hits, misses, evictions

  • Disk — Read/write operations, compaction activity

  • Transactions — Active transactions, commits, rollbacks

  • Network — HTTP request count, response times

  • JVM — Heap usage, GC pauses, thread count

Periodic Metric Dumps

For environments without Prometheus, enable periodic metric logging:

arcadedb.dumpMetricsEvery=60

This dumps metrics to the server log every 60 seconds.

Grafana Dashboard Setup

  1. Install Grafana and add a Prometheus datasource pointing to your Prometheus instance

  2. Import or create dashboards using ArcadeDB metrics

  3. For time series data visualization, use ArcadeDB’s native Grafana integration endpoints with the Infinity datasource plugin

Health Checks

Use the server info endpoint for health monitoring:

curl http://localhost:2480/api/v1/server

For time series health:

curl http://localhost:2480/api/v1/ts/mydb/grafana/health

Further Reading