Monitoring

Set GDB_METRICS_BIND to a host:port and the server answers GET /metrics there in the Prometheus text format, and GET /health with ok. The endpoint is off by default and has no authentication, so bind it to an interface only your monitoring can reach.

# prometheus.yml
scrape_configs:
  - job_name: galactus
    static_configs:
      - targets: ['db:9187']        # GDB_METRICS_BIND=0.0.0.0:9187
MetricTypeMeaning
gdb_build_info{version}gaugeAlways 1; the label carries the version
gdb_uptime_secondsgaugeSeconds since the server started
gdb_connections_activegaugeConnections currently open
gdb_connections_accepted_totalcounterConnections accepted
gdb_connections_rejected_totalcounterConnections closed because GDB_MAX_CONNECTIONS was reached
gdb_tls_handshake_failures_totalcounterTLS handshakes that failed
gdb_auth_failures_totalcounterRejected authentication attempts
gdb_statements_total{outcome}counterStatements finished: ok, error, timeout, terminated
gdb_statements_runninggaugeStatements executing or waiting on a lock
gdb_statement_duration_secondshistogramTime from RUN to the result being ready
gdb_rows_streamed_totalcounterResult rows sent to clients
gdb_results_deferred_totalcounterLarge results read as they were pulled (from 1.2.0)
gdb_transactions_activegaugeExplicit transactions open
gdb_transactions_committed_totalcounterExplicit transactions committed
gdb_transactions_rolled_back_totalcounterExplicit transactions rolled back or aborted
gdb_database_nodes{database}gaugeLive nodes
gdb_database_relationships{database}gaugeLive relationships

A scrape never waits for a write: a database that is write-locked at that moment is left out of the two per-database gauges for that scrape. Log, cache and checkpoint figures are not exported yet.

For one query, PROFILE reports per-operator counters; see EXPLAIN and PROFILE. Running statements are listed by CALL dbms.listQueries(); see transactions.

Server configuration · Transactions and concurrency · Docker deployment

Planning a deployment? Review compatibility and licence setup for your instance.