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 packages 安装(适用于 Alma Linux、CentOS、Debian、Oracle Linux、Raspberry Pi OS、RHEL、Rocky Linux、SUSE Linux Enterprise Server、Ubuntu)。
-
从源代码 编译。
配置Zabbix进行监控
Zabbix agent可以(同时)在主动或被动模式下收集指标。
被动检查是一个简单的数据请求。 Zabbix server或proxy会要求agent提供一些数据 (例如,CPU负载), Zabbix agent 会将结果发回服务器。 主动检查需要更复杂的处理。代理必须首先从服务器检索要独立处理的项目列表,然后批量发送回数据。 详情请参阅 被动和主动模式的agent检查 。
Monitoring templates provided by Zabbix usually offer two alternatives - a template for Zabbix agent and a template for Zabbix agent (active). With the first option, the agent will collect metrics in passive mode. Such templates will deliver identical monitoring results, but using different communication protocols.
Further Zabbix configuration depends on whether you select a template for active or passive Zabbix agent checks.
被动模式检查
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 主动发起到服务器的,而不是由 agent 监听来自服务器的连接。

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

此操作将打开从 Linux 服务器主机收集的所有最新指标的列表。

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

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

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