Monitoring & Observability
XTDB offers a suite of tools & templates to facilitate monitoring and observability. These include a Healthz Server for health checks, Metrics for performance insights, integrations with third-party monitoring systems and Grafana dashboards for visualizing the health and performance of XTDB nodes.
Healthz Server
Section titled “Healthz Server”The Healthz Server is a lightweight HTTP server that runs by default on all XTDB nodes. It provides health indicators, making it useful for monitoring in containerized and orchestrated environments.
Configuration
Section titled “Configuration”The Healthz Server can be configured to run on a custom port:
healthz: # Port to run the Healthz Server on. # Default: 8080 (can be set as an !Env value). port: 8080
Health Routes
Section titled “Health Routes”The following routes are exposed by the Healthz Server and can be used to monitor the node’s status:
/healthz/started
: Indicates whether the node has completed startup and has caught up on indexing.- Recommended for startup probes.
- We recommend configuring a generous initial timeout, as it waits for indexing to stabilize.
/healthz/alive
: Confirms the application is running without critical errors.- Suitable for liveness probes.
/healthz/ready
: Signals that the node is ready to process requests.- Suitable for readiness probes.
Metrics
Section titled “Metrics”XTDB provides various metrics for monitoring the health and performance of its nodes. These metrics are available via Prometheus and can also be integrated with cloud-based observability services.
Prometheus Metrics
Section titled “Prometheus Metrics”By default, XTDB nodes expose metrics in the Prometheus format. These can be accessed at the following endpoint on the Healthz Server:
<node_url>:<healthz_port>/metrics
Cloud Integrations
Section titled “Cloud Integrations”XTDB nodes can be configured to report metrics to the following cloud-based monitoring services:
Grafana Dashboards
Section titled “Grafana Dashboards”XTDB provides pre-built Grafana dashboards for monitoring the health and performance of XTDB clusters and individual nodes.
For more information on how to set these up on Grafana, see the “Monitoring XTDB with Grafana” guide.