TDengine 与开源数据可视化系统 Grafana 快速集成搭建数据监测报警系统
- 一、介绍
- 二、前置条件
- 三、Grafana 安装及配置
- 3.1 下载
- 3.2 安装
- 3.2.1 windows安装 - 图形界面
- 3.2.2 linux安装 - 安装脚本
- 四、Grafana的TDEngine配置及使用
- 4.1 登录
- 4.2 安装 Grafana Plugin 并配置数据源
- 4.2 TDEngine使用
- 4.2.1 创建 Dashboard
一、介绍
TDengine 能够与开源数据可视化系统 Grafana 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,Grafana能够模拟客户的应用,将存储在 TDengine 中的数据进行展示,TDengine 中数据表的内容可以在仪表盘(DashBoard)上进行可视化展现。
官网TDEngine - 第三方工具Grafana
二、前置条件
要让 Grafana 能正常添加 TDengine 数据源,需要以下几方面的准备工作:
- TDengine 集群已经部署并正常运行
- taosAdapter 已经安装并正常运行。具体细节请参考 taosAdapter 的使用手册
记录以下信息:
- TDengine 集群 REST API 地址,如:http://tdengine.local:6041。
- TDengine 集群认证信息,可使用用户名及密码。
三、Grafana 安装及配置
3.1 下载
目前 TDengine 支持 Grafana 7.5 以上的版本
。用户可以根据当前的操作系统,到 Grafana 官网下载安装包,并执行安装。下载地址如下:https://grafana.com/grafana/download
3.2 安装
3.2.1 windows安装 - 图形界面
-
双击下载的应用程序(.msi文件),进入可视化安装界面:
-
点击next,同意协议
-
选择安装目录,点击next
-
点击install,开始安装
3.2.2 linux安装 - 安装脚本
- 下载安装包:
(1)如果服务器可连网,执行下载命令:sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.1-1.x86_64.rpm
(2)如果服务器不可连网,先在可联网的机器浏览器输入:https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.1-1.x86_64.rpm
,下载安装包后,传输至服务器指定位置。 - 执行安装命令:
rpm -ivh grafana-enterprise-10.0.1-1.x86_64.rpm
- 此时如果有提示,依赖检测失败,则需要先根据提示安装依赖。依赖安装参考:linux 资源包安装详细教程
本安装包依赖如下:
- 执行命令:
#查看服务状态
systemctl status grafana-server.service
#设置服务开机自启动
systemctl enable grafana-server.service
#启动服务
systemctl start grafana-server.service
#关闭服务
systemctl stop grafana-server.service
四、Grafana的TDEngine配置及使用
4.1 登录
- 安装完成后,在浏览器输入访问网址:
http://ip:3000
- 默认的登录用户名/密码:
admin/admin
- 首次登录后,建议根据导航提示修改密码
4.2 安装 Grafana Plugin 并配置数据源
使用 Grafana 最新版本(8.5+),可以在 Grafana 中浏览和管理插件(对于 7.x 版本,请使用 安装脚本 或 手动安装并配置 方式)。
1.进入 Grafana 管理界面中的 Configurations > Plugins 页面
-
在页面直接搜索并按照提示安装
TDengine
如下图所示,说明安装完毕。
-
按照指示添加数据源
Create a TDengine data source
-
输入 TDengine 相关配置,完成数据源配置
配置完毕,现在可以使用 TDengine 创建 Dashboard 了。
4.2 TDEngine使用
4.2.1 创建 Dashboard
- 回到主界面创建 Dashboard:
- 进入面板查询页面
如上图所示,在 Query 中选中 TDengine 数据源,在下方查询框可输入相应 SQL 进行查询,具体说明如下:
INPUT SQL
:输入要查询的语句(该 SQL 语句的结果集应为两列多行),例如:select _wstart, avg(mem_system) from log.dnodes_info where ts >= $from and ts < t o i n t e r v a l ( to interval( tointerval(interval) ,其中,from、to 和 interval 为 TDengine 插件的内置变量,表示从 Grafana 插件面板获取的查询范围和时间间隔。除了内置变量外,也支持可以使用自定义模板变量。
ALIAS BY
:可设置当前查询别名。
GENERATE SQL
: 点击该按钮会自动替换相应变量,并生成最终执行的语句。
Group by column name(s)
: 半角逗号分隔的 group by 或 partition by 列名。如果是 group by or partition by 查询语句,设置 Group by 列,可以展示多维数据。例如:INPUT SQL 为 select wstart as ts, avg(mem_system), dnode_ep from log.dnodes_info where ts>= f r o m a n d t s < = from and ts<= fromandts<=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_system{{dnode_ep}},展示的 legend 名字为格式化的列名。
NOTE
由于 REST 接口无状态, 不能使用 use db 语句来切换数据库。Grafana 插件中 SQL 语句中可以使用 <db_name>.<table_name> 来指定数据库。
- 查看最大、最小值:
sql:
select _wstart as `ts`,max(maxval) as `up`,min(minval) as `low`,min(val) as `min`,max(val) as `max` from tljd_datan.BX0101_HUMI where ts>=$from and ts<= $to interval($interval)