Grafana
更新时间:2026-09-16
Grafana 可以通过官方 InfluxDB 数据源连接 TSDB 专享版,查询语言选择 SQL,即可使用 Builder 或 Code 模式查询并展示时序数据。
版本要求
| 组件 | 最低版本 |
|---|---|
| Grafana | 13.2.1 或更高版本 |
| Grafana 官方 InfluxDB 数据源 | 13.1.1 或更高版本 |
使用更高版本的相同组件时,操作方法一致。
准备连接信息
配置数据源前,请准备:
- 集群详情页显示的访问地址和服务端口。
- 目标 Database 名称。
- 对目标 Database 或 Table 具有
read权限的业务访问令牌。
建议使用内网地址,并为 Grafana 单独创建一个业务访问令牌,只授予它需要读取的 Database 或 Table 权限。如果 Grafana 通过公网连接,请先完成 EIP 来源 IP 白名单配置。TSDB 专享版当前不支持 HTTPS/TLS,连接内容为明文传输,连接方式和安全边界请参见连接地址与认证。
令牌应保存在凭证管理系统中,运行时注入 Grafana,不要写进 dashboard、查询语句或日志。
添加 InfluxDB 数据源
- 登录 Grafana,进入数据源管理页面。
- 添加 InfluxDB 数据源。
- 将查询语言选择为 SQL。
- 在连接地址中填写
http://<访问地址>:<端口>,地址和端口以集群详情页显示的为准。 - 填写目标 Database 和业务访问令牌。
- 启用 Insecure Connection。TSDB 专享版不支持 HTTPS/TLS,不启用该项无法建立连接。
- 单击 Save & test,返回成功即完成配置。
使用 Builder 查询
- 进入 Explore 或新建 panel,选择已配置的数据源。
- 在 Builder 中选择目标 Table。
-
选择时间列、用于区分序列的 Tag 列和需要展示的数值 Field。例如:
- 时间列:
time - Tag 列:
device - Field 列:
temperature
- 时间列:
- 将结果格式选择为 Time series。
- 设置时间范围,并在 Order 中选择按
time升序排列。 - 执行查询,图表和结果表按 Tag 分别展示对应的序列。
只选择 Time series 而没有设置 Order 时,Builder 生成的查询不包含 ORDER BY,Grafana 会提示结果未按时间排序。
使用 Code 模式查询
Code 模式可以直接编写 SQL,并使用 Grafana 的时间宏限制查询范围:
SQL
1SELECT time, device, temperature
2FROM sensor_metrics
3WHERE $__timeFilter(time)
4ORDER BY time ASC
把 sensor_metrics、device 和 temperature 替换为实际的 Table、Tag 和 Field。运行前先调整 Grafana 的时间范围,使其覆盖要查询的数据。
完整 SQL 语法和函数请参见SQL 查询语言参考。
创建 dashboard
- 在 Explore 中确认查询结果正确,或直接在 dashboard 中新建 panel。
- 选择 Time series 可视化,并保存查询。
- 保存 dashboard,然后手动刷新一次,确认各序列仍能正常加载。
刷新后如果没有数据,先确认 dashboard 的时间范围覆盖了数据的时间,再检查查询条件和令牌是否仍然有效。
常见问题
Save & test 失败
- 检查集群状态、访问地址、服务端口,以及客户端到集群的网络连通性。
- 确认目标 Database 存在,且与 Grafana 中填写的名称一致。
- 确认业务访问令牌有效,并具有目标 Database 或 Table 的
read权限。 - TSDB 专享版不支持 HTTPS/TLS,请确认已启用 Insecure Connection。
Builder 中没有目标 Table 或字段
- 确认 Grafana 中配置的 Database 正确。
- 检查业务访问令牌对目标 Table 是否具有
read权限。 - 如果 Table 是刚通过写入创建的,等约 5 秒后重新打开列表,实际时间可能受集群运行状态影响。
图表提示数据未按时间排序
Grafana 要求时序数据按时间升序返回。在 Builder 的 Order 中选择 time 升序,或在 Code 模式的 SQL 末尾添加:
SQL
1ORDER BY time ASC
查询成功但图表没有数据
- 调整 Grafana 的时间范围,使其覆盖数据的时间戳。
- 确认查询中包含时间列和数值 Field。
- 确认 Tag 列选择正确,过滤条件没有排除目标数据。
评价此篇文章
