一、规划
1、服务器
server IP | 软件/插件 | 用途 | 备注 |
---|---|---|---|
10.20.10.4 | TDengine+Bailongma+Grafana | 数据存储+web展示 | bailongma API |
10.20.10.5 | Telegraf | 数据采集 | telegraf插件部署到远程服务器 |
… | … | … | … |
2、软件/版本
-
TDengine
version:2.0.20.0 download:https://www.taosdata.com/cn/getting-started/ # 时序数据库
-
Bailongma
download:https://github.com/taosdata/Bailongma # git clone下来后再用go进行编译,生成对应可执行程序 # 为telegraf写入TDengine提供的API接口
-
Telegraf
version:1.18.1 download: https://portal.influxdata.com/downloads/ https://dl.influxdata.com/telegraf/releases/telegraf-1.18.1-1.x86_64.rpm
-
Golang
version:1.16.3(稳定版) download:https://studygolang.com/dl/golang/go1.16.3.src.tar.gz
-
Grafana
version:7.5.3 download:https://grafana.com/grafana/download/7.5.3 # web数据展示
二、部署
2.1 TDengine 部署
1、上传 TDengine安装包至服务器
登录官方网站进行下载,下载时需要填写你的邮箱信息,然后会给你填写的邮箱下发下载连接,点击进行下载即可。
2、安装
rpm -ivh TDengine-server-2.0.20.0-Linux-x64.rpm
3、启动
systemctl start taosd
# 配置文件:/etc/taos/taos.cfg
4、进入数据库
taos -h 127.0.0.1
2.2 Golang 部署
1、上传或下载 Go 安装包
wget download:https://studygolang.com/dl/golang/go1.16.3.src.tar.gz
2、解压至指定目录
tar xzf go1.16.3.src.tar.gz -C /usr/local
3、配置环境变量
mkdir -p /home/applications/gocode # 设置GOPATH目录
4、配置环境变量
vim /etc/profile
export GOROOT=/usr/local/go
export GOPATH=/home/applications/gocode
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile
5、验证 Go 环境
# go version
go version go1.16.3 linux/amd64
2.3 Bailongma 部署
TDengine提供一个小工具Bailongma,只需在Telegraf做简单配置,无需任何代码,就可将Telegraf采集的数据直接写入TDengine,并按规则在TDengine自动创建库和相关表项。
1、下载或上传 Bailongma 源码包
cd /home/applications
git clone https://github.com/taosdata/Bailongma.git
2、Go 编译源码包
cd /home/applications/Bailongma
go mod init bailongma/v2
cd blm_telegraf
go build
# 一切正常的情况下,就会在对应的目录下(blm_telegraf)生成一个blm_telegraf的可执行程序。
3、编译依赖问题
go get github.com/davyxu/xxx
# 这一步的操作在Bailongma目录下进行(不要在blm_telegraf下进行)
4、解决 go get 超时问题
go env -w GOPROXY=https://goproxy.cn
# 在go build的时候可能会提示缺少依赖的问题,可根据提示的缺少的依赖进行对应 go get下载,但可能会出现下载超时的情况,通过这条命名即可解决。
5、启动一个 blm_telegraf 的 API 服务
./blm_telegraf -host <IP> -port <port> &
# <IP>:Bailongma所在服务器的IP
# <port>:自定义端口,注意不要和现有端口冲突
# 例如:./blm_telegraf -host 10.20.10.4 -port 8089 &
# 执行上述命令后会运行8089端口的API进程,并在TDengine数据库中默认创建telegraf数据库
2.4 Telegraf 部署
1、服务器上传或wget下载 Telegraf 安装包
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.18.1-1.x86_64.rpm
# 该服务部署在被采集数据的服务器上,其采集到的数据将会通过API形式存储到Promethue上并通过Grafana进行展示
2、安装
yum localinstall -y telegraf-1.18.1-1.x86_64.rpm
3、启动
systemctl start telegraf.service
# 配置文件:/etc/telegraf/telegraf.conf
# 子配置文件:/etc/telegraf/telegraf.d/*.conf
4、Telegraf 配置
这里的telegraf是部署在远程服务器上的数据采集插件(当然也可部署在本机),远程或本地的 telegraf 配置文件修改如下
vim /etc/telegraf/telegraf.conf
[[outputs.http]]
url = "http://10.20.10.4:8089/telegraf"
data_format = "json"
json_timestamp_units = "1ms"
5、重启 telegraf
systemctl restart telegraf.service
# 重启后去TDengine数据库中查看telegraf数据库是否有数据,有说明数据采集成功,无数据说明配置可能存在问题
2.5 Grafana 部署
1、安装
# 服务器上传或wget下载grafana-7.5.3-1.x86_64.rpm安装包。
yum localinstall -y grafana-7.5.3-1.x86_64.rpm
2、启动
systemctl start grafana-server
systemctl enable grafana-server
3、验证
浏览器访问 http://10.20.10.4:3000/ 就到了登录界面
默认登录用户:admin
默认登录密码:admin
三、验证
如下图,数据采集成功,然后再进行 Grafana 数据展示。
Grafana导入官方提供的基础模板
在 Grafana 插件目录 /usr/local/taos/connector/grafana/tdengine/dashboard/ 下提供了一个 tdengine-grafana.json 可导入的 dashboard。
请参考:https://www.taosdata.com/cn/documentation/connections#grafana
四、FAQ
1、go get 超时问题
执行go env -w GOPROXY=https://goproxy.cn
2、启动 blm_telegraf 的API服务时注意
# 后台启动
./blm_telegraf -host 10.1.1.4 -port 8089 &