TDengine + Telegraf + Grafana 实现图形化服务器状态监控
技术栈
- Telegraf
Telegraf 是一个开源的指标收集代理,用于从各种数据源收集、处理和传输指标数据。它是由InfluxData(现在称为InfluxDB)开发的一款工具,旨在帮助用户轻松地收集系统、应用程序和服务的性能指标数据,并将其发送到不同的目标数据存储、监控系统或时间序列数据库中,以便后续的分析和可视化。
- Grafana
Grafana 是一个开源的数据可视化和监控平台,用于创建、查看和分享各种数据源的实时图表和仪表盘。它允许用户将来自不同数据源的数据聚合、展示和分析,从而帮助用户更好地理解数据、监控系统性能以及做出决策。
- TDengine
TDengine 是时序库,用于存储Telegraf采集的指标数据。
环境搭建
安装tdenginue
下载安装包
https://www.taosdata.com/assets-download/3.0/TDengine-server-3.1.0.0-Linux-x64.tar.gz
解压文件
tar -zxvf TDengine-server--Linux-x64.tar.gz
运行安装文件
sudo ./install.sh
当安装第一个节点时,出现 Enter FQDN: 提示的时候,不需要输入任何内容。只有当安装第二个或以后更多的节点时,才需要输入已有集群中任何一个可用节点的 FQDN,支持该新节点加入集群。当然也可以不输入,而是在新节点启动前,配置到新节点的配置文件中。
启动td
sudo systemctl start taosd
运行 taosAdapter
taosAdapter 提供了restful风格的链接方式,安装td-server的时候已经默认注册了服务,这里只要开启就好
systemctl start taosadapter
安装Telegraf
添加yum源
bash
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
安装
sudo yum install telegraf
生成配置文件
telegraf --sample-config > telegraf.conf
生成位置是 /etc/telegraf
修改配置文件
这里现需要配置采集数据的发送方式
vi telegraf.conf
最末尾添加如下内容
bash
[[outputs.http]]
url = "http://<TDengine server/cluster host>:6041/influxdb/v1/write?db=<database name>"
method = "POST"
timeout = "5s"
username = "<TDengine's username>"
password = "<TDengine's password>"
data_format = "influx"
启动telegraf
sudo systemctl start telegraf
安装Grafana
直接yum安装
bash
sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.3-1.x86_64.rpm
安装td数据源配置
这里用了代理
bash
wget https://ghproxy.com/github.com/taosdata/grafanaplugin/releases/download/v3.3.5/tdengine-datasource-3.3.5.zip
解压缩
sudo unzip tdengine-datasource-3.3.5.zip -d /var/lib/grafana/plugins/
启动Grafana
systemctl start grafana-server
默认端口是3000,初次登录用户名密码是admin/admin
配置数据源
Home > Connections > Data sources > Add data source
这里按照之前安装的进行填写(td默认用户名密码是 root/taosdata)
导入dashboard
dashboard页面选择导入
下载td的dashboard文件
把下载好的json文件拖入上传即可
效果展示
记得要在最上面选择你的数据源以及td的database