Grafana
GreptimeDB 服务可以配置为 Grafana 数据源。 你可以选择使用以下三个数据源之一连接 GreptimeDB 与 Grafana:GreptimeDB、Prometheus 或 MySQL。
GreptimeDB 数据源插件
GreptimeDB 数据源插件专为 GreptimeDB 打造:更好地适配 GreptimeDB SQL 查询,并提供 Logs 与 Traces 查询类型(支持 OpenTelemetry 预设及自定义列映射)。基于 ClickHouse 数据源插件修改。
安装
该插件尚未上架 Grafana 插件市场,因此请安装未签名的压缩包,并在 grafana.ini 中显式放行:
[plugins]
allow_loading_unsigned_plugins = info8fcc-greptimedb-datasource
对应的环境变量是 GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS。Grafana Cloud 不接受未签名插件,请使用自建
Grafana。如果需要与自己 Grafana root_url 绑定的签名版本,请联系我们。
在安装插件前请确保 Grafana 已经安装并运行。
你可以任选以下一种安装方式:
- 从发布页面下载
info8fcc-greptimedb-datasource-unsigned.zip,解压到你的 grafana 插件目录。 - 使用 Grafana Cli 下载并安装:
grafana cli --pluginUrl https://github.com/GreptimeTeam/greptimedb-grafana-datasource/releases/latest/download/info8fcc-greptimedb-datasource-unsigned.zip plugins install info8fcc - 使用我们 预构建的 Grafana 镜
像,已经提前包含了
GreptimeDB 数据源插件
docker run -p 3000:3000 greptime/grafana-greptimedb:latest
注意,安装插件后可能需要重新启动 Grafana 服务器。
Connection 配置
在 GreptimeDB server URL 中填写以下地址:
http://<host>:4000
在 Auth 部分中单击 basic auth,并在 Basic Auth Details 中填写 GreptimeDB 的用户名和密码。未设置 可留空:
- User:
<username> - Password:
<password>
然后单击 Save & Test 按钮以测试连接。
基础查询设置
在选择任何查询类型之前,需要先配置要查询的 Database 和 Table。
| 设置项 | 说明 |
|---|---|
| Database | 选择数据库 |
| Table | 选择表 |
每个 Builder 面板都会自动包含 Within Dashboard Time Range 过滤条件。
这会在 SQL 中生成 $__timeFilter("col"),由插件展开为仪表盘当前时间范围。

Table 查询
当查询结果不包含时间列时,选择 Table 查询类型,适合展示表格数据。
| 设置项 | 说明 |
|---|---|
| Columns | 选择要查询的列,可多选 |
| Filters | 设置筛选条件 |

Time Series 查询
当查询包含时间列和数值时,选择 Time Series 查询类型,适合按时间可视化指标。
使用 date_bin 分桶查询
对一段时间做聚合时,可用 date_bin 对时序数据降采样:按时间间隔计算分桶,
并将每个时间戳映射到最近区间的起点,从而把行归入时间窗口,再对每个窗口应用
聚合或选择函数。
示例(或原始 SQL):
SELECT date_bin('$__interval', timestamp) AS time,
SUM(`span_attributes.gen_ai.usage.input_tokens`) AS input_tokens
FROM opentelemetry_traces
WHERE $__timeFilter(timestamp)
GROUP BY time
ORDER BY time;
$__interval 跟随 Grafana 面板间隔;$__timeFilter 限制仪表盘时间范围。
更多宏见 SQL Macros。
| 设置项 | 说明 |
|---|---|
| Time | 选择时间列 |
| Columns | 选择标签列(如 host、region) |
| Aggregate functions | 对数值列使用 AVG / MAX / MIN / SUM / COUNT |
| Group By | 选择分组列 |
| Filters | 可选条件:=、!=、>、<、LIKE、IN、IS NULL,以及 AND/OR |

Multi-Frame 拆分
当查询结果包含 时间 + 字符串 + 数值 字段时,插件会自动将长表拆成多个 frame——每个唯一标签组合一个。Grafana 将每个 frame 渲染为图表中的独立序列。
例如,GROUP BY host 且有三个 host 时,会生成三个 frame(host-a、host-b、host-c),各自有独立标签和颜色。
若要避免拆分,请改用 Table 查询类型。
Logs 查询
选择 Logs 查询类型以查询日志数据。
| 设置项 | 说明 |
|---|---|
| Time | 选择时间戳列 |
| Message | 选择日志内容列 |
| Log Level |