Skip to content

Grafana datasources

import { Aside, Steps } from ‘@astrojs/starlight/components’;

PulsusDB serves the Prometheus HTTP API natively. Logs and traces use product-neutral PulsusDB APIs by default, with optional compatibility aliases for existing Grafana datasources.

Add a Prometheus datasource with the PulsusDB reader or all process as its URL:

http://pulsusdb:3100

Grafana will call endpoints such as /api/v1/query, /api/v1/query_range, label discovery, metadata, and status routes.

Enable compatibility endpoints:

Terminal window
PULSUS_COMPAT_ENDPOINTS=true

Then configure a Loki datasource whose URL is the PulsusDB base URL. Compatibility aliases map Loki-style query paths onto PulsusDB’s LogQL handlers.

The Helm chart can render a Grafana sidecar-compatible datasource ConfigMap:

pulsusdb:
config:
compat_endpoints: true
grafana:
datasourceProvisioning:
enabled: true

Set PULSUS_COMPAT_ENDPOINTS=true, then point the trace datasource to the PulsusDB base URL with no path.

Grafana’s Service Graph tab reads span-metrics series from a separately configured metrics datasource. PulsusDB’s native /api/traces/v1/service_graph response is not the datasource’s span-metrics protocol.

If both PULSUS_AUTH_USER and PULSUS_AUTH_PASSWORD are set, turn on Basic authentication in every datasource and enter the same pair. A reader or all process serves query routes; a writer process does not.

Symptom Check
404 on log or trace datasource test PULSUS_COMPAT_ENDPOINTS=true and the request reaches an all or reader process
401 Unauthorized Datasource Basic auth matches the server configuration
PromQL works but log queries fail Metrics routes are always present; log compatibility aliases require the flag
Service Graph is empty Configure an appropriate span-metrics producer and metrics datasource
Queries time out Review PULSUS_QUERY_TIMEOUT, reader metrics, and ClickHouse query logs