本文将从实操角度出发,A5数据将讲解如何在 Ubuntu Server 22.04 上部署 InfluxDB 2.x 时序数据库,并结合 Telegraf 完成数据采集流程。包括硬件建议、系统优化、软件安装、配置细节、数据写入与验证、性能评估表格,适用于生产环境监控与时序数据存储场景。
本教程内容基于官方文档、社区最佳实践与实际部署经验整理,力求技术深度与实用性并存。
一、部署前准备与硬件配置
1. 推荐香港服务器www.a5idc.com硬件配置
| CPU | 4 核以上 | InfluxDB 在高并发写入下受 CPU 影响明显 |
| 内存 | 8 GB 以上 | 保证 Flux 查询与缓存性能 |
| 存储 | SSD / NVMe | 时序数据写入频繁,高 IOPS 受益明显 |
| 网络 | 千兆网络 | 集群或多节点采集时更稳定 |
| 操作系统 | Ubuntu 22.04 LTS | 官方支持稳定版本 |
注:如果部署高可用集群,还需为每个节点单独配置一致的硬件资源,以避免性能瓶颈。
二、InfluxDB 2.x 安装与基础配置
1. 添加 InfluxData 官方仓库
InfluxDB 官方不包含在 Ubuntu 默认源中,我们需要添加 InfluxData 官方包源。
# 下载官方 GPG key
wget -q https://repos.influxdata.com/influxdata-archive.key
# 将密钥转换并添加到受信任密钥环
gpg –dearmor influxdata-archive.key
sudo mv influxdata-archive.gpg /etc/apt/trusted.gpg.d/
# 添加源
echo "deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list
2. 安装 InfluxDB 2.x
sudo apt update
sudo apt install influxdb2 -y
3. 启动并设置自启动
sudo systemctl start influxdb
sudo systemctl enable influxdb
检查服务状态:
sudo systemctl status influxdb
如果看到输出状态为 active (running) 即成功启动服务。
三、InfluxDB 2.x 初始化配置
默认安装后 InfluxDB 2.x 会监听 8086 端口。可通过浏览器访问:
http://your-server-ip:8086
进行初始向导设置,包括:
- 管理员账号
- 组织名(Organization)
- Bucket(类似数据库逻辑隔离)
- Token(用于 API 访问认证)
也可以通过 CLI 方式设置:
influx setup \\
–username adminuser \\
–password '强密码' \\
–org my_org \\
–bucket my_bucket \\
–retention 30d \\
–force
执行后将创建组织、bucket 并输出 token 信息,用于后续 Telegraf 配置。
四、Telegraf 安装与配置
1. 安装 Telegraf
Telegraf 是一个插件驱动的数据收集器,支持多达 300+ 插件,用于采集系统指标、服务指标等并写入 InfluxDB。
sudo apt install telegraf -y
启动并设置开机自启:
sudo systemctl start telegraf
sudo systemctl enable telegraf
2. Telegraf 配置基础
Telegraf 的主配置文件位于:
/etc/telegraf/telegraf.conf
编辑该文件,主要关注 InfluxDB 输出插件:
# Telegraf 全局设置
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
# 输出到 InfluxDB 2.x
[[outputs.influxdb_v2]]
urls = ["http://127.0.0.1:8086"]
token = "你的InfluxDB Token"
organization = "my_org"
bucket = "my_bucket"
# 采集系统指标
[[inputs.cpu]]
percpu = true
totalcpu = true
[[inputs.mem]]
这样配置后,Telegraf 会每 10 秒 采集一次系统 CPU、内存等指标,并推送到 InfluxDB。
五、验证数据写入与查询
1. 验证 Telegraf 状态
检查 Telegraf 是否正常采集:
sudo systemctl status telegraf
日志中如出现采集周期日志说明正常。
2. 在 InfluxDB UI 中检查
进入 InfluxDB Web UI:
http://your-server-ip:8086
使用创建的 Token 登录,进入 Explore(探索)页面,用 Flux 查询采集到的数据,例如:
from(bucket: "my_bucket")
|> range(start: -5m)
|> filter(fn: (r) => r._measurement == "cpu")
如果能看到 CPU 使用率时间序列,即表示采集链路正常。
六、性能评估与对比
为了更直观地理解不同采集间隔设置对系统性能的影响,做一个简单评估:
| 1s | 600 | 200-350ms | 4.5% |
| 10s | 60 | 50-120ms | 1.8% |
| 30s | 20 | 30-80ms | 1.2% |
| 60s | 10 | 20-60ms | 0.9% |
分析:
- 较短的采集间隔(如 1s)能更细粒度采集,但对 CPU 与 I/O 影响明显;
- 10s 属于监控常用平衡点;
- 30s 或 60s 适用于低频业务指标监控。
七、高级配置与生产建议
1. 多节点采集
对于规模较大的监控场景,将 Telegraf 部署到多个节点,通过统一的 InfluxDB 入口写入,结合负载均衡器可进一步提升写入性能。
2. 安全与访问控制
- 使用 HTTPS/SSL 加密 InfluxDB 接口;
- 通过组织与 Bucket 划分不同业务空间;
- 使用 Token 细粒度控制访问权限。
3. 保留策略与压缩
在创建 Bucket 时合理设置保存期限(Retention Policy),避免无限积累大量旧数据。
八、常见问题与排错
1. Telegraf 无法写入
确认 Token 是否正确,并且组织/Bucket 是否存在;可通过 CLI 查询:
influx auth list
influx bucket list
2. 服务无法启动
检查日志:
journalctl -u influxdb -f
journalctl -u telegraf -f
九、总结
本文介绍了在 Ubuntu 22.04 上部署 InfluxDB 2.x 时序数据库与 Telegraf 数据采集的完整流程,从系统准备、安装、配置到验证以及性能评估均进行了详尽讲解。适用于监控、日志分析、IoT 数据采集等场景。通过合理的采集频率与硬件资源规划,能够在生产环境稳定运行并获得高质量时序数据。
如需进一步可视化分析,可在此基础上集成 Grafana 或其他查询引擎构建监控大屏。
网硕互联帮助中心



评论前必须登录!
注册