Zabbix部署监控Linux-Server 主动检查与被动插件 最佳实践

Zabbix部署监控Linux-Server 主动检查与被动插件 最佳实践
28.7的博客在 Linux 服务器上部署 Zabbix Agent 并配置监控
中文方法
介绍
在 Zabbix 监控中,主动检查(Active Checks)和被动检查(Passive Checks)是 Agent 与 Server 之间数据收集的两种核心模式,主要区别体现在请求发起方、工作流程、资源消耗等方面,具体如下:
1. 被动模式
Zabbix Server 主动向 Agent 发送数据查询请求,Agent 被动收集数据并返回给 Server;若数据量过大,会造成 Server 端负载过高。
图 1:Zabbix 被动模式数据交互流程
2. 主动模式
Zabbix Agent 主动向 Server 发起连接,请求监控项配置,然后按周期收集数据并上报给 Server。
图 2:Zabbix 主动模式数据交互流程
二、主动检查与被动检查核心区别
在 Zabbix 监控中,主动检查(Active Checks)和被动检查(Passive Checks)是 Agent 与 Server 之间数据收集的两种核心模式,主要区别体现在请求发起方、工作流程、资源消耗等方面。
1. 核心区别:谁发起请求?
被动检查(Passive Checks):
Zabbix Server 主动向 Agent 发起数据请求,Agent 被动响应。
(Server 问,Agent 答)主动检查(Active Checks):
Zabbix Agent 主动向 Server 发送数据,Server 被动接收。
(Agent 主动上报,Server 接收)
2. 工作流程差异
被动检查流程
- Zabbix Server 根据预设监控项(Item)周期,向目标 Agent 发送数据请求(TCP 连接 Agent 的 10050 端口)。
- Agent 收到请求后,执行监控项逻辑(如获取 CPU 使用率、内存占用等)。
- Agent 将收集到的数据返回给 Server。
- Server 接收数据并存储(写入数据库),用于后续展示或告警触发。
主动检查流程
- Zabbix Agent 启动后,主动连接 Zabbix Server 的 10051 端口,请求“需要主动上报的监控项列表”。
- Server 返回该 Agent 对应的监控项配置(含监控频率、指标类型等)。
- Agent 根据配置周期,自主收集监控项数据。
- 到达上报时间后,Agent 主动将数据发送给 Server(通过 10051 端口)。
- Server 接收并存储数据。
3. 配置参数差异
| 配置项 | 被动检查依赖 | 主动检查依赖 |
|---|---|---|
| Agent 配置文件 | Server=Zabbix_Server_IP(允许发起请求的 Server 地址) |
ServerActive=Zabbix_Server_IP(Agent 主动连接的 Server 地址)Hostname=Agent_Hostname(Agent 标识名称,需与 Server 主机名一致) |
| 端口要求 | Agent 开放 10050 端口(供 Server 连接) | Server 开放 10051 端口(供 Agent 连接) |
4. 优缺点对比
| 对比维度 | 被动检查 | 主动检查 |
|---|---|---|
| Server 负载 | 高(需主动向所有 Agent 发请求,Agent 越多负载越大) | 低(仅接收数据,无需主动发起请求) |
| 网络流量 | 集中在 Server 侧(Server 向多 Agent 发请求) | 分散在 Agent 侧(多 Agent 向 Server 发数据) |
| 灵活性 | 监控频率由 Server 统一控制,调整方便 | 监控频率由 Agent 本地配置,适合不同 Agent 自定义周期 |
| 适用场景 | 小规模监控(Agent 数量少,如几十台以内) | 大规模监控(Agent 数量多,如几百/几千台) |
| 故障排查 | 易排查(Server 日志可直接查看请求失败原因) | 较复杂(需检查 Agent 连接权限、网络等) |
模式选择总结
- 被动检查:适合小规模环境,配置简单、Server 主导数据收集,但大规模下易成瓶颈。
- 主动检查:适合大规模环境,减轻 Server 压力、Agent 自主上报,但配置稍复杂(需确保 Agent 能连接 Server)。
实际使用中可混合模式:关键指标用被动,非关键指标用主动。
三、环境准备
前提条件
- 已部署并运行 Zabbix Server(服务器端)。
- 待监控 Linux 服务器(Ubuntu 22.04)与 Zabbix Server 网络互通(需开放 10050 端口,Agent 默认端口)。
四、安装 Zabbix Agent(Linux 端)
执行以下命令完成 Zabbix Agent 安装:
1 | # 下载 Zabbix 源配置包 |
图 3:Zabbix Agent 安装过程示例
📌 提示:安装完成后,需根据监控规模选择模式:服务器数量多时优先选主动模式,避免 Zabbix Server 负载过高。
五、配置被动检查
1. 编辑 Agent 配置文件
1 | vim /etc/zabbix/zabbix_agentd.conf |
修改以下核心参数(按实际环境替换):
1 | # 允许发起请求的 Zabbix Server IP(可填写多个,用逗号分隔) |
2. Zabbix 前端添加主机
- 登录 Zabbix 前端,导航至:配置 > 主机 > 创建主机(右上角)。
- 填写基本信息:
- 主机名称:必须与 Agent 配置文件的
Hostname一致(如UbuntuServer-22.04)。 - 模板选择:搜索并勾选
Linux by zabbix agent。 - 可见名称:自定义显示名称(如 “Web 服务器 - 01”)。
- 群组:点击「选择」,添加到目标群组(如 “Linux 服务器”,无则新建)。
- 主机名称:必须与 Agent 配置文件的
图 4:被动模式主机基本信息配置
图 5:主机群组选择示例
3. 启动并设置 Agent 服务
1 | # 重启 Agent 服务(应用配置) |
图 6:Zabbix Agent 服务运行状态示例
4. 开放 10050 端口
允许 Zabbix Server 访问 Agent 默认端口:
1 | # 开放 10050 TCP 端口 |
六、配置主动检查
1. 编辑 Agent 配置文件
1 | vim /etc/zabbix/zabbix_agentd.conf |
2. 修改核心配置参数(必选)
1 | # 主动连接的 Zabbix Server IP(可填多个,逗号分隔,约 171 行) |
图 7:主动模式 Agent 配置示例
3. Zabbix 前端添加主机
- 导航至:配置 > 主机 > 创建主机(右上角)。
- 填写基本信息:
- 主机名称:与 Agent 配置的
Hostname完全一致(如UbuntuServer-22.04)。 - 模板选择:搜索并勾选
Linux by Zabbix agent active。 - 可见名称:自定义显示名称(如 “数据库服务器 - 01”)。
- 群组:添加到目标群组(如 “Linux 服务器”)。
- 主机名称:与 Agent 配置的
4. 启动并设置 Agent 服务
1 | # 重启 Agent 服务 |
七、Zabbix 前端主机配置效果
配置完成后,在「配置 > 主机」页面可看到目标主机状态为「已启用」,模板绑定成功:
图 8:主机配置完成后的前端展示
八、监控数据查看
查看实时指标数据
- 登录 Zabbix 前端,导航至:监视 > 主机。
- 在目标主机右侧,点击「最新数据」。
- 可查看 CPU、内存、磁盘、网络等指标的实时数据(需等待 1-5 分钟数据采集周期)。
图 9:监控指标最新数据示例
九、配置邮箱监控告警
1. 配置用户媒体(接收告警的邮箱)
- 登录 Zabbix 前端,点击右上角用户名,选择「用户设置 > 配置」。
- 切换至「媒体」选项卡,点击「添加」。
- 填写配置信息:
- 类型:选择「Email」。
- 收件人:输入接收告警的邮箱地址。
- 其他参数默认(或按企业邮箱要求调整 SMTP 配置)。
- 点击「更新」保存配置。
图 10:用户媒体配置入口
图 11:邮箱告警详细配置
2. 启用告警触发器(可选)
默认模板已包含基础告警触发器(如 CPU 使用率过高、磁盘空间不足等),若需自定义告警阈值,可在「配置 > 模板 > 触发器」中调整。

















