使用 Zabbix agent 监控 Linux
介绍
本页面将引导您完成使用 Zabbix 开始对 Linux 机器进行基础监控所需的步骤。
本教程中描述的步骤适用于任何基于 Linux 的操作系统。
本指南适用对象
本指南面向新的 Zabbix 用户,包含启用对您的 Linux 机器进行基本监控所需的最少步骤。如果您正在寻找更深入的自定义选项,或者需要更高级的配置,请参阅 Zabbix 手册中的 Configuration 部分。
先决条件
在继续阅读本指南之前,您需要根据适用于您操作系统的说明,下载并安装 Zabbix 服务器和 Zabbix 前端。
安装 Zabbix agent
Zabbix agent 是负责收集数据的进程。
检查您的 Zabbix 服务器版本:
zabbix_server -V
在您要监控的 Linux 机器上安装相同版本的 Zabbix agent(推荐)。
根据您的监控需求,这台机器可以是安装了 Zabbix 服务器的同一台机器,也可以是完全不同的机器。
选择最适合的安装方式:
-
作为 Docker 容器运行 - 请参阅 Zabbix Docker 仓库 中可用镜像列表。
-
从 Zabbix 软件包 安装(适用于 Alma Linux、CentOS、Debian、Oracle Linux、Raspberry Pi OS、RHEL、Rocky Linux、SUSE Linux Enterprise Server、Ubuntu)。
-
从 源代码 编译。
配置 Zabbix 进行监控
Zabbix agent 可以以主动或被动模式(同时)收集指标。
被动检查是一种简单的数据请求。Zabbix 服务器或 proxy 会请求某些数据(例如 CPU 负载),然后 Zabbix agent 将结果发送回服务器。主动检查需要更复杂的处理。agent 必须先从服务器中检索一个监控项列表以进行独立处理,然后再批量将数据发送回去。更多信息请参见被动和主动 agent 检查。
Zabbix 提供的监控模板通常有两种选择 - Zabbix agent 模板和 Zabbix agent(主动)模板。使用第一种选项时,agent 将以被动模式收集指标。此类模板会提供相同的监控结果,但使用不同的通信协议。
后续的 Zabbix 配置取决于您选择的是 主动 还是 被动 Zabbix agent 检查模板。
被动检查
Zabbix agent
1. 在安装了 agent 的机器上打开 agent 配置文件。
sudo vi /etc/zabbix/zabbix_agentd.conf
2. 将你的 Zabbix 服务器的 IP 地址或 DNS 名称(以及可选端口)添加到 server 参数中。例如:
Server=192.0.2.1:10051
Zabbix agent 将使用此地址来仅接受来自指定 Zabbix 服务器或 proxy 的传入连接,以检索数据。
3. 重启 Zabbix agent。
systemctl restart zabbix-agent
Zabbix 前端
1. 登录 Zabbix 前端。
2. 在 Zabbix web 前端中创建主机。
- 在 Host name 字段中,输入主机名称(例如,“Linux server”)。
- 在 Templates 字段中,输入或选择将要链接到主机的模板“Linux by Zabbix agent”。
- 在 Host groups 字段中,输入或选择主机组(例如,“Linux servers”)。
- 在 Interfaces 参数中,添加 Agent 接口,并指定安装了 agent 的 Linux 机器的 IP 地址或 DNS 名称。

3. 单击 Add 以添加主机。此主机将代表被监控的 Linux 机器。
主动检查
Zabbix agent
1. 在安装了 agent 的机器上打开 agent 配置文件:
sudo vi /etc/zabbix/zabbix_agentd.conf
2. 将你的 Zabbix 服务器的 IP 地址或 DNS 名称(以及可选端口)添加到 ServerActive 参数中。例如:
ServerActive=192.0.2.1:10051
Zabbix agent 将使用此地址连接到 Zabbix 服务器的 trapper 端口(默认值:10051),并请求主动检查所需的配置数据。
3. 定义 Hostname 参数,该参数必须与将在 Zabbix 前端 中定义的主机名匹配。在我们的示例中,它是:
Hostname=Linux server
Hostname 的值必须匹配,因为对于主动检查,Zabbix agent 会使用它从服务器检索正确的主机配置。具体来说,agent 会发起到服务器的连接,并使用 Hostname 值进行标识。随后服务器会为该主机提供监控配置。如果这些值不同,agent 将不会收到正确的配置,从而导致指标缺失或监控问题。
4. 重启 Zabbix agent。
systemctl restart zabbix-agent
Zabbix 前端
1. 登录 Zabbix 前端。
2. 创建主机 在 Zabbix web interface 中。
- 在 Host name 字段中,输入一个主机名(例如,“Linux server”),该名称应与前面在 agent 配置文件中定义的 Hostname 参数值匹配。
- 在 Templates 字段中,输入或选择模板 “Linux by Zabbix agent active”,该模板将被链接到主机。
- 在 Host groups 字段中,输入或选择一个主机组(例如,“Linux servers”)。
- 保持 Interfaces 未定义;对于主动检查,不需要接口,因为 agent 会主动发起到服务器的连接,而不是监听来自服务器的连接。

3. 点击 Add 以添加主机。此主机将代表被监控的 Linux 机器。
查看已收集的监控项
恭喜!此时,Zabbix 已经在监控你的 Linux 机器了。
要查看已收集的监控项,请打开 Monitoring > Hosts 菜单部分,然后点击主机旁边的 Latest data。

此操作将打开一个列表,其中包含从 Linux 服务器主机收集到的所有最新监控项。

设置问题告警
Zabbix 可以通过多种方式通知您基础设施中的问题。
本指南提供了发送电子邮件告警的配置步骤。
1. 转到 User settings > Profile,切换到 Media 选项卡,并
添加您的电子邮件。

2. 按照接收问题通知指南进行操作。
下次 Zabbix 检测到问题时,您应该会通过电子邮件收到告警。
测试你的配置
在 Linux 上,你可以通过运行以下命令模拟高 CPU 负载,并因此收到问题告警:
cat /dev/urandom | md5sum
你可能需要运行多个 md5sum 进程,才能使 CPU 负载超过阈值。
当 Zabbix 检测到该问题时,它会显示在 Monitoring > Problems 部分中。

如果已配置告警,你还会收到问题通知。
另请参见:
- 创建监控项 - 如何开始监控额外指标(不使用模板的自定义监控)。
- Zabbix agent 监控项, Windows 上的 Zabbix agent 监控项 - 可使用 Windows 上的 Zabbix agent 监控的完整指标列表。
- 问题升级 - 如何创建多步骤告警场景 (例如,先向系统管理员发送消息,然后,如果问题在 45 分钟内未解决, 再向数据中心经理发送消息)。
- 从软件包安装 - 如何使用适用于各种 Linux 发行版的官方 RPM 和 DEB 软件包安装 Zabbix 组件,以确保获得最新功能和错误修复。