Grafana
Grafana is a popular observability and monitoring application used to visualize data and help with time-series data analysis. It has an extensive ecosystem of widgets and plugins. QuestDB supports connecting to Grafana via the Postgres endpoint.
#
Prerequisites#
Start GrafanaYou can start a grafana docker container with this command:
#
Add a data source- Open Grafana's UI (by default available at
http://localhost:3000
) - Go to the
Configuration
section and click onData sources
- Click
Add data source
- Choose the
PostgreSQL
plugin and configure it with the following settings:
- When adding a panel, use the "text edit mode" by clicking the pencil icon and adding a query
note
localhost will be the IP address reported by QuestDB on startup.
#
Global variablesUse global variables to simplify queries with dynamic elements such as date range filters.
$__timeFilter(timestamp)
#
This variable allows filtering results by sending a start-time and end-time to QuestDB. This expression evaluates to:
$__interval
#
This variable calculates a dynamic interval based on the time range applied to the dashboard. By using this function, the sampling interval changes automatically as the user zooms in and out of the panel.
#
Example query#
Known issuesFor alert queries generated by certain Grafana versions, the macro
$__timeFilter(timestamp)
produces timestamps with nanosecond precision, while
the expected precision is millisecond precision. As a result, the alert queries
are not compatible with QuestDB and lead to an Invalid date
error. To resolve
this, we recommend the following workaround:
See Grafana issues for more information.