1 使用 Zabbix agent 监控 Linux
介绍
本页面将引导您完成使用 Zabbix 开始对 Linux 机器进行基本监控所需的步骤。 本教程中描述的步骤适用于任何基于 Linux 的操作系统。
本指南的适用对象
本指南面向Zabbix的新用户,包含启用对您的Linux主机进行基础监控所需的最少步骤。如果您需要深度定制选项或更高级的配置,请参见Zabbix手册中的 Configuration 章节。
前提条件
继续本指南之前,您需要根据您的操作系统说明安装download and install Zabbix server和Zabbix前端。
安装 Zabbix agent
Zabbix agent 是负责收集数据的进程。
检查你的 Zabbix server 版本:
zabbix_server -V
在你想要监控的 Linux 机器上安装相同 version(推荐)的 Zabbix agent。根据你的监控需求,它可以是安装了 Zabbix server 的同一台机器,也可以是完全不同的机器。
选择最适合的安装方式:
-
作为 Docker 容器运行 - 可在 Zabbix Docker repository 查看可用镜像列表。
-
从 Zabbix packages 安装(适用于 Alma Linux、CentOS、Debian、Oracle Linux、Raspberry Pi OS、RHEL、Rocky Linux、SUSE Linux Enterprise Server、Ubuntu)。
-
编译 from sources。
为监控配置 Zabbix
Zabbix agent 可以以主动或被动模式(同时)收集指标。
被动检查是一个简单的数据请求。Zabbix server 或 proxy 请求某些数据(例如,CPU 负载),然后 Zabbix agent 将结果发送回服务器。主动检查需要更复杂的处理。Agent 必须首先从服务器检索一个需要独立处理的 监控项 列表,然后批量发送数据回去。 更多信息请参见 Passive and active agent checks。
Zabbix 提供的监控模板通常提供两种选择 - 一种是用于 Zabbix agent 的模板,另一种是用于 Zabbix agent(主动)的模板。选择第一个选项时,Agent 将以被动模式收集指标。 这些模板将提供相同的监控结果,但使用不同的通信协议。
进一步的 Zabbix 配置取决于您选择的是用于主动 还是 被动 Zabbix agent 检查的模板。
被动检查
Zabbix agent
-
在安装了 Agent 的机器上打开 Agent 配置 file。
sudo vi /etc/zabbix/zabbix_agentd.conf
-
将您的 Zabbix server 的 IP 地址或 DNS 名称添加到 Server 参数中。
Server=192. 0.2. 22
-
重启 Zabbix agent。
systemctl restart zabbix-agent
Zabbix前端
-
登录到 Zabbix 前端。
-
Zabbix Web 界面中的 Create a host。
- 在 主机名 字段中输入 一个主机 名称(例如,“Linux server”)。
- 在 模板 字段中,键入或选择模板“Linux by Zabbix agent”,该模板将被 linked 到 主机。
- 在 主机 群组 字段中,键入或选择 一个主机 群组(例如,“Linux servers”)。
- 在 接口(Interfaces) 参数中,添加 Agent 接口,并指定安装 Agent 的 Linux 主机的 IP 地址或 DNS 名称。

- 点击 添加 来添加 主机。此 主机 将表示被监控的 Linux 主机。
主动检查
Zabbix agent
-
在安装 Agent 的计算机上打开 Agent 配置 file。
sudo vi /etc/zabbix/zabbix_agentd.conf
-
将你的Zabbix server的IP地址或DNS名称(以及可选的端口)添加到ServerActive参数中。例如:
ServerActive=192. 0.2. 0:10051
Zabbix agent 将使用此地址连接到 Zabbix server 的 trapper 端口(默认端口:10051),并请求主动检查的配置数据。
-
定义Hostname参数,该参数必须与在Zabbix前端中定义的主机名称匹配。在我们的示例中,它是:
Hostname=Linux server
主机名值必须匹配,因为对于主动检查,Zabbix agent 会使用它从服务器检索正确的 主机 配置。具体来说,Agent 会向服务器发起连接,并使用主机名值标识自身。然后服务器会提供该 主机 的监控配置。如果这些值不一致,Agent 将无法接收到适当的配置,从而导致指标缺失或监控 问题。
-
重启 Zabbix agent。
systemctl restart zabbix-agent
Zabbix前端
1.登录到 Zabbix 前端。
2.在 Zabbix Web 界面中,Create a host。
- 在 主机名 字段中,输入与之前在 Agent 配置文件中定义的 Hostname 参数值匹配的 一个主机 名称(例如,“Linux server”)。
- 在 模板 字段中,键入或选择模板“Linux by Zabbix agent active”,该模板将被 linked 到 主机。
- 在 主机 groups 字段中,键入或选择 一个主机 组(例如,“Linux servers”)。
- 保持 Interfaces 未定义状态;对于主动检查,不需要接口,因为 Agent 会主动发起与服务器的连接,而不是等待服务器的连接。

3.点击 Add 以添加 主机。此 主机 将代表被监控的 Linux 主机。
查看收集的指标
恭喜!此时,Zabbix 已经在监控您的 Linux 机器了。
要查看已收集的指标,请打开 监控->主机 menu section 并点击 主机 旁边的 最新数据。

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

设置问题告警
Zabbix可以通过多种方式通知您基础设施的问题。 本指南提供发送电子邮件警报的配置步骤。
1. 转到 用户设置 -> 个人资料,切换到 媒介 标签页,并 添加用户。

2. 请参考Receiving problem notification的指南。
下次当Zabbix检测到问题时,您应该会通过电子邮件收到警报。
测试配置
在Linux系统上,可以通过运行以下命令模拟高CPU负载,从而触发问题告警:
cat /dev/urandom | md5sum
您可能需要run多个md5sum进程才能使CPU负载超过阈值。
当Zabbix检测到问题时,该问题将显示在"监控->问题"区域。

如果已配置告警,您还将收到问题通知。
参见:
- Creating an item - 如何开始监控更多指标(不使用模板的自定义监控)。
- Zabbix agent items,
Zabbix agent items for Windows - 您可以使用 Zabbix agent 在 Windows 上监控的指标完整列表。 - Problem escalations - 如何使用 create 多步骤告警场景
(例如,首先发送消息给系统管理员,如果问题在 45 分钟内未解决,则发送消息给数据中心经理)。 - Installation from packages - 如何使用适用于各种 Linux 发行版的官方 RPM 和 DEB 包安装 Zabbix 组件,确保访问最新功能和错误修复。