Skip to main content

Grafana

TDengine 能够与开源数据可视化系统 Grafana 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表的内容可以在仪表盘(DashBoard)上进行可视化展现。关于 TDengine 插件的使用您可以在GitHub中了解更多。

前置条件

要让 Grafana 能正常添加 TDengine 数据源,需要以下几方面的准备工作。

  • TDengine 集群已经部署并正常运行
  • taosAdapter 已经安装并正常运行。具体细节请参考 taosAdapter 的使用手册

记录以下信息:

  • TDengine 集群 REST API 地址,如:http://tdengine.local:6041
  • TDengine 集群认证信息,可使用用户名及密码。

安装 Grafana

目前 TDengine 支持 Grafana 7.5 以上的版本。用户可以根据当前的操作系统,到 Grafana 官网下载安装包,并执行安装。下载地址如下:<https://grafana.com/grafana/download>。

配置 Grafana

安装 Grafana Plugin 并配置数据源

对于使用 Grafana 7.x 版本或使用 Grafana Provisioning 配置的用户,可以在 Grafana 服务器上使用安装脚本自动安装插件即添加数据源 Provisioning 配置文件。

bash -c "$(curl -fsSL \
https://raw.githubusercontent.com/taosdata/grafanaplugin/master/install.sh)" -- \
-a http://localhost:6041 \
-u root \
-p taosdata

安装完毕后,需要重启 Grafana 服务后方可生效。

保存该脚本并执行 ./install.sh --help 可查看详细帮助文档。

创建 Dashboard

回到主界面创建 Dashboard,点击 Add Query 进入面板查询页面:

TDengine Database Grafana plugin create dashboard

如上图所示,在 Query 中选中 TDengine 数据源,在下方查询框可输入相应 SQL 进行查询,具体说明如下:

  • INPUT SQL:输入要查询的语句(该 SQL 语句的结果集应为两列多行),例如:select _wstart, avg(mem_free) from log.taosd_dnodes_info where _ts >= $from and _ts < $to interval($interval) ,其中,from、to 和 interval 为 TDengine 插件的内置变量,表示从 Grafana 插件面板获取的查询范围和时间间隔。除了内置变量外,也支持可以使用自定义模板变量
  • ALIAS BY:可设置当前查询别名。
  • GENERATE SQL: 点击该按钮会自动替换相应变量,并生成最终执行的语句。
  • Group by column name(s): 半角逗号分隔的 group bypartition by 列名。如果是 group by or partition by 查询语句,设置 Group by 列,可以展示多维数据。例如:INPUT SQL 为 select _wstart as ts, avg(mem_free), dnode_ep from log.taosd_dnodes_info where _ts>=$from and _ts<=$to partition by dnode_ep interval($interval),设置 Group by 列名为 dnode_ep,可以按 dnode_ep 展示数据。
  • Format to: Group by 或 Partition by 场景下多维数据 legend 格式化格式。例如上述 INPUT SQL,将 Format to 设置为 mem_free_{{dnode_ep}},展示的 legend 名字为格式化的列名。
note

由于 REST 接口无状态, 不能使用 use db 语句来切换数据库。Grafana 插件中 SQL 语句中可以使用 <db_name>.<table_name> 来指定数据库。

按照默认提示查询当前 TDengine 部署所在服务器指定间隔系统剩余内存平均值如下:

TDengine Database Grafana plugin create dashboard

查询每台 TDengine 服务器指定间隔系统剩余内存平均值如下:

TDengine Database Grafana plugin create dashboard

关于如何使用 Grafana 创建相应的监测界面以及更多有关使用 Grafana 的信息,请参考 Grafana 官方的文档

导入 Dashboard

在数据源配置页面,您可以为该数据源导入 TDinsight 面板,作为 TDengine 集群的监控可视化工具。如果 TDengine 服务端为 3.0 版本请选择 TDinsight for 3.x 导入。注意 TDinsight for 3.x 需要运行和配置 taoskeeper。

TDengine Database Grafana plugine import dashboard

其中适配 TDengine 2.* 的 Dashboard 已发布在 Grafana:Dashboard 15167 - TDinsight) 。

使用 TDengine 作为数据源的其他面板,可以在此搜索。以下是一份不完全列表:

  • 15146: 监控多个 TDengine 集群
  • 15155: TDengine 告警示例
  • 15167: TDinsight
  • 16388: Telegraf 采集节点信息的数据展示