Skip to content

25.3 Telegraf、InfluxDB 与 Grafana 监控平台架构

系统监控是运维管理和性能优化的基础,通过实时采集、存储和可视化系统指标,可预警故障、分析性能、规划容量。

该架构属于 TIG 技术栈(Telegraf、InfluxDB、Grafana),是一套开源监控平台体系,遵循数据采集、存储与可视化分离的设计原则。

其中 InfluxDB 作为时序数据库负责高效存储监控数据,Telegraf 作为插件化的采集代理负责指标收集,Grafana 则提供可视化能力。

25.3.1 InfluxDB 安装与配置

InfluxDB 是一款存储和分析时间序列数据的开源数据库。FreeBSD Ports 中提供的版本为 1.8.x,该版本仍可正常使用,但 InfluxData 官方已推荐用户迁移至 InfluxDB 2.x 或 3.x。

25.3.1.1 安装 InfluxDB

使用 pkg 包管理器安装:

sh
# pkg install influxdb

或者使用 Ports 方式安装:

sh
# cd /usr/ports/databases/influxdb/
# make install clean

25.3.1.2 服务管理

安装完成后,需设置 InfluxDB 服务开机自启并启动服务。

设置 InfluxDB 服务开机自启:

sh
# service influxd enable

启动 InfluxDB 服务:

sh
# service influxd start

25.3.1.3 修改 InfluxDB 配置

如需自定义配置,可修改 InfluxDB 的配置文件 /usr/local/etc/influxd.conf

修改完成后重启 InfluxDB 服务:

sh
# service influxd restart

25.3.1.4 创建 InfluxDB 数据库

需在 InfluxDB 中为 Telegraf 创建数据库和用户。

sql
# influx # 连接到 InfluxDB 数据库
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> CREATE DATABASE mydb -- 创建 InfluxDB 数据库
> CREATE USER username WITH PASSWORD 'password' -- 创建数据库用户及密码,此处用户名为 username,密码为 password
> SHOW DATABASES -- 查看数据库
name: databases
name
----
_internal
mydb
>
> quit -- 退出 InfluxDB shell

25.3.2 Telegraf

Telegraf 是一款采集和报告指标的代理程序。

25.3.2.1 安装 Telegraf

使用 pkg 包管理器安装:

sh
# pkg install telegraf

或者使用 Ports 方式安装:

sh
# cd /usr/ports/net-mgmt/telegraf/
# make install clean

25.3.2.2 加入启动项

安装完成后,需设置 Telegraf 服务开机自启。

设置 Telegraf 服务开机自启:

sh
# service telegraf enable

此时暂不启动 Telegraf 服务。

25.3.2.3 配置 InfluxDB 连接

目录结构:

sh
/usr/local/
└── etc/
    ├── influxd.conf              # InfluxDB 配置文件
    └── telegraf.conf             # Telegraf 配置文件

需要配置 Telegraf,以将采集的数据发送到 InfluxDB。此处使用的是 InfluxDB 1.8 版本。

需要在配置文件 /usr/local/etc/telegraf.conf 中做如下修改:

ini
# 配置 InfluxDB 连接信息,此处的内容应与上面配置的 InfluxDB 数据库账号和密码一致
[[outputs.influxdb]]        # 输出插件类型为 InfluxDB
  urls = ["http://127.0.0.1:8086"]  # InfluxDB 服务地址
  database = "mydb"                 # 要写入的数据库名称
  username = "username"             # 数据库用户名
  password = "password"             # 数据库密码

25.3.2.4 配置采集指标

需配置 Telegraf 的采集指标。配置文件路径为 /usr/local/etc/telegraf.conf

此处收集系统的 CPU、磁盘(disk)、磁盘 IO(diskio)、内存(memory)、交换空间(swap)等指标。以下是 Telegraf 配置文件中的部分内容,其中部分参数默认启用,部分参数需手动取消注释。

详情参见:官方文档[EB/OL]. [2026-03-26]. https://docs.influxdata.com/telegraf/v1.26/configuration/,提供 Telegraf 完整配置参数及插件使用说明。

ini
# 内存
[[inputs.mem]]

# swap
[[inputs.swap]]

# 磁盘
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]

# 磁盘 IO
[[inputs.diskio]]

# 进程
[[inputs.processes]]

# 系统(运行时长等)
[[inputs.system]]

# 网络
[[inputs.net]]

25.3.2.5 启动服务

所有配置完成后,可启动 Telegraf 服务开始采集数据。

启动 Telegraf 服务:

sh
# service telegraf start

25.3.3 Grafana

Grafana 是一款开源的数据可视化和监控平台,可将 InfluxDB 等数据源中的数据以图表形式展示。

25.3.3.1 安装 Grafana

使用 pkg 包管理器安装:

sh
# pkg install grafana

使用 Ports 方式安装 Grafana:

sh
# cd /usr/ports/www/grafana/
# make install clean

25.3.3.2 守护进程

安装完成后,需设置 Grafana 服务开机自启并启动服务。

设置 Grafana 服务开机自启:

sh
# service grafana enable

启动 Grafana 服务:

sh
# service grafana start

25.3.3.3 登录 Grafana

Grafana 服务启动后,可通过浏览器访问其 Web 界面进行配置。Grafana 的默认登录地址为 http://localhost:3000

Grafana 主页

  • 默认登录用户名和密码:
    • Username(用户名):admin
    • Password(密码):admin

Grafana 登录页面

登录后会要求修改密码。

25.3.3.4 配置数据源

需要在 Grafana 中配置数据源,以从 InfluxDB 读取数据。

  • 登录后点击左上角的 Connections -> 选择 Add new connection

grafana-datasource-add

  • 在右边的输入框中输入 InfluxDB -> 选择搜索结果中的 InfluxDB,点击

choose-influxdb

  • 点击右上角的 Add new data source 按钮 -> 配置 InfluxDB 相关的内容。

grafana-datasource-create

  • 在数据源配置页面填写相关的 InfluxDB 连接信息,需配置内容如下:

注意

上面使用的是 InfluxDB 1.8,查询语言须选择 InfluxQL(默认选项)

URL 输入:http://localhost:8086

grafana-influxdb-source-config1

在数据源配置中,Database 输入 mydb,User 输入 username,Password 输入 password(这些值在创建 InfluxDB 数据库时设置)。

grafana-influxdb-source-config2

点击 Save & Test 按钮保存配置。显示连接成功并已获取数据:

grafana-influxdb-source-config3

25.3.3.5 配置 Dashboard

数据源配置完成后,可配置 Dashboard 可视化展示监控数据。选择展示数据的 Dashboard,可自行开发,也可使用 官方模板库 中社区贡献的仪表板资源。

此处导入 id 为 928 的模板,该模板专为 Telegraf 系统监控设计,展示系统指标。

  • 导入模板,点击右上角的 + -> Import dashboard 进入导入模板页面。

Grafana 导入模板

  • 选择 id928 的模板导入,输入 928,再点击“Load”。

Grafana 选择 id

选择数据库。

Grafana 选择数据库

  • 模板最终效果

Grafana 模板最终效果

25.3.3.6 设置中文

依次进入 Home -> Administration -> General -> Default preferences -> Language,选择“简体中文”。

Grafana 设置中文

25.3.4 故障排除与未竟事宜

25.3.4.1 内核、网络、CPU 相关信息均未显示

问题可能与 /proc 文件系统有关。

25.3.5 参考文献