Grafana

Grafana is the leading open-source platform for monitoring and observability. ArcadeDB provides two integration paths: a dedicated Grafana plugin (recommended) and a fallback via the built-in PostgreSQL data source.

The ArcadeDB Grafana plugin provides a native integration with dedicated query editors, time series visual builder, and graph visualization via Grafana’s Node Graph panel.

Features:

  • Time Series mode - visual query builder with auto-discovered types, fields, tags, and aggregation functions (SUM, AVG, MIN, MAX, COUNT)

  • SQL mode - ArcadeDB SQL with macro expansion ($timeFrom, $timeTo, $timeFilter(col), $interval)

  • Cypher mode - OpenCypher queries with optional Node Graph visualization

  • Gremlin mode - Apache Gremlin traversals with optional Node Graph visualization

  • Alerting - full Grafana alerting support via the Go backend

  • Template variables - dashboard variables populated from ArcadeDB queries

Installation:

grafana-cli plugins install arcadedb-arcadedb-datasource

Or build from source:

git clone https://github.com/ArcadeData/arcadedb-grafana-datasource.git
cd arcadedb-grafana-datasource
mage -v build:linux

For self-hosted Grafana with unsigned plugins, add to grafana.ini:

[plugins]
allow_loading_unsigned_plugins = arcadedb-arcadedb-datasource

Configuration:

  1. Go to Connections > Data Sources > Add data source and search for ArcadeDB.

  2. Set the URL to your ArcadeDB HTTP API (e.g., http://localhost:2480).

  3. Enable Basic Auth and enter your ArcadeDB credentials.

  4. Set the Database name in the ArcadeDB section.

  5. Click Save & Test.

Time Series query example:

  1. Select Time Series mode.

  2. Choose a type (e.g., cpu_metrics), fields (e.g., usage), and optional tag filters.

  3. Add an aggregation: AVG on usage with a bucket interval or leave it to auto-calculate.

SQL query example:

SELECT ts, temperature FROM weather
WHERE $__timeFilter(ts)
ORDER BY ts

Cypher query with Node Graph:

Enable the Node Graph toggle, then:

MATCH (p:Person)-[r:FRIEND_OF]->(f:Person)
RETURN p, r, f LIMIT 100

The result renders as an interactive graph in Grafana’s Node Graph panel.

PostgreSQL Data Source (Fallback)

If you cannot install the ArcadeDB plugin, use Grafana’s built-in PostgreSQL data source with ArcadeDB’s PostgreSQL wire protocol.

  1. Go to Connections > Data Sources > Add data source and select PostgreSQL.

  2. Set Host to localhost:5432, enter the Database name and credentials.

  3. Set TLS/SSL Mode to disable.

  4. Click Save & Test.

In panels, switch to Code mode and write SQL:

SELECT name, age FROM Person LIMIT 100

Use the {cypher} prefix for Cypher queries:

{cypher}MATCH (p:Person) RETURN p.name, p.age LIMIT 100
The PostgreSQL fallback does not support the time series visual builder, Node Graph visualization, ArcadeDB-specific macros, or alerting optimizations. Use the dedicated plugin for the full experience.

Grafana Time Series Endpoints

ArcadeDB also provides native Grafana DataFrame-compatible HTTP endpoints for time series data. See Time Series for full documentation of the /grafana/health, /grafana/metadata, and /grafana/query endpoints, as well as the PromQL-compatible endpoints.