1 使用 Zabbix agent 监控Linux
介绍
本页将引导您完成使用Zabbix开始对Linux机器进行基本监控所需的步骤。 本教程中描述的步骤可应用于任何基于 Linux 的操作系统。
本指南适用于谁
本指南专为Zabbix新用户设计,包含了对Linux计算机进行基本监控所需的最少步骤集。 如果您正在寻找深度自定义选项或需要更高级的配置,请参阅Zabbix手册的 配置 部分。
前提条件
在继续本指南之前,您需要根据您的操作系统说明下载并安装 Zabbix 服务器和 Zabbix 前端。
安装 Zabbix agent
Zabbix agent 是负责收集数据的进程。
检查你的 Zabbix 服务器版本:
zabbix_server -V
在你想要监控的 Linux 机器上安装相同版本的 Zabbix agent(推荐)。
根据你的监控需求,它可以是安装了 Zabbix 服务器的同一台机器,也可以是完全不同的
机器。
选择最合适的安装方法:
-
作为 Docker 容器运行 - 请参见 Zabbix Docker repository 中可用镜像列表。
-
从 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 界面中创建主机。
- 在 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. 转到 用户设置 > 个人资料,切换到 媒体 选项卡,并
添加您的电子邮件。

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

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