目录
一、Zabbix 监控基础与核心价值
二、网络自动发现:批量主机自动化管理
(一)网络自动发现的核心能力与局限
(二)网络自动发现完整流程
(三)网络自动发现配置步骤
1. 客户端(被监控节点)配置 Zabbix Agent
2. 创建网络发现规则
3. 创建自动发现动作
4. 配置验证
(四)主机名称显示优化(可选配置)
三、自动注册:Agent 主动上报的自动化方案
(一)自动注册与自动发现的核心差异
(二)自动注册配置步骤
1. 清理历史配置
2. 客户端(Agent)配置
3. 创建自动注册动作
4. 配置验证
四、应用服务监控:以 Nginx 为例
(一)Nginx 部署与状态配置
1. 部署 Nginx(server01 节点)
2. Nginx 监控指标与自定义 Key
(1)核心监控指标
(2)自定义 Key 的作用与配置
3. Web 端添加 Nginx 监控项
五、Zabbix 邮件报警:故障及时通知机制
(一)邮件报警核心组件
(二)邮件报警配置步骤
1. 配置告警媒介(以 Email 为例)
2. 配置用户报警媒介
3. 配置触发器动作
4. 报警验证
一、Zabbix 监控基础与核心价值
在运维工作中,监控环节占比约 38%,其质量直接影响工作效率与稳定性。理想的监控应具备全自动化能力,包括主机自动添加、模板自动关联、故障自动告警等 ——Zabbix 正是满足这一需求的专业监控工具,可通过预设规则实现上述自动化操作。
本次实战环境的资源清单如下:
操作系统 配置 主机名 IP 地址 角色
openEuler 24.03 2C4G zabbix 192.168.207.137 Zabbix 服务端
openEuler 24.03 2C4G server01 192.168.207.138 被监控节点
openEuler 24.03 2C4G server02 192.168.207.139 被监控节点
二、网络自动发现:批量主机自动化管理
网络自动发现是 Zabbix 实现主机自动化监控的核心功能之一,其核心价值在于降低运维成本、提升部署效率,尤其适用于规模较大或频繁变化的 IT 环境。
(一)网络自动发现的核心能力与局限
核心优势
加快部署速度:无需手动添加主机,通过规则批量发现目标设备
简化管理:自动关联模板、分组,减少人工操作
适应动态环境:在设备频繁增减的场景中避免 “过度管理”
发现依据
网络自动发现基于以下信息判断目标设备:
IP 地址范围(需提前定义扫描网段)
外部服务状态(如 FTP、SSH、WEB 等端口是否开放)
Zabbix agent 信息(仅支持未加密模式)
SNMP agent 信息
局限说明
需注意的是,网络自动发现仅能实现主机和服务的发现,无法自动发现网络拓扑(如设备间连接关系)。
(二)网络自动发现完整流程
整个发现过程分为 4 个阶段,形成 “发现 - 动作 - 管理” 的闭环:
网络发现阶段
发现模块定期扫描指定 IP 范围,检测到服务或主机时生成 “发现事件”(如 “检测到 192.168.207.138 开放 SSH 服务”)。
执行动作阶段
基于发现事件触发预设动作,动作可根据设备类型、IP 地址、运行状态等条件精准执行(如 “仅对 192.168.207.138-139 网段的 Linux 主机执行操作”)。
创建主机阶段
动作执行时可自动完成主机添加、主机组归类、模板关联(如关联 “Linux by Zabbix agent” 模板)等操作,无需人工干预。
移除主机阶段
若已发现的主机脱离预设 IP 范围(如设备下线),Zabbix 会自动删除该主机记录(此功能从 Zabbix 2.4.0 版本开始支持)。
(三)网络自动发现配置步骤
1. 客户端(被监控节点)配置 Zabbix Agent
以 server01(192.168.207.138)为例:
修改 Agent 配置文件:
[root@server01 ~]# vim /etc/zabbix/zabbix_agentd.conf
# 指向Zabbix服务端IP
Server=192.168.207.137
ServerActive=192.168.207.137
# 定义主机名(需唯一)
Hostname=server01
重启 Agent 使配置生效:
[root@server01 ~]# systemctl restart zabbix-agent
2. 创建网络发现规则
在 Zabbix Web 界面操作:
路径:数据采集 → 自动发现 → 创建发现规则
核心配置项(共 9 项):
名称:自定义规则名称(如 “企业内网主机发现”)
代理程序:选择 “无代理”(由 Server 直接执行)或指定 Zabbix proxy
IP 范围:支持 4 种格式(如单个 IP“192.168.207.138”、范围 “192.168.207.1-255”、子网 “192.168.207.0/24”、列表 “192.168.207.138,192.168.4.0/24”)
更新间隔:定义扫描频率(如 60 秒,需平衡实时性与资源消耗)
检查类型:选择 “Zabbix 客户端”,端口设为 10050(Agent 默认端口),键值设为 “system.uname”(获取系统信息)
设备唯一性准则:选择 “IP 地址” 或 “主机名” 作为唯一标识,避免重复发现
已启用:勾选以激活规则
注意:若 IP 范围包含 1000 个地址,每次扫描会生成 1000 个事件,需合理规划范围以减少资源占用。
3. 创建自动发现动作
动作是连接 “发现事件” 与 “管理操作” 的桥梁:
路径:告警 → 动作 → 发现动作 → 创建动作
配置内容:
动作参数:设置动作名称(如 “自动添加 Linux 主机”),并关联前文创建的发现规则(确保仅触发目标规则的事件)。
操作设置:添加具体动作,推荐配置:
添加主机(自动将发现的设备录入 Zabbix)
添加到主机群组(如 “Linux servers”)
链接到模板(如 “Linux by Zabbix agent”,可按需添加其他模板)。
4. 配置验证
查看发现状态:路径 “监测 → 自动发现”,可看到已发现的主机列表(如 server01、server02)。
查看监控状态:路径 “数据采集 → 主机”,确认主机已被添加且模板关联成功。
(四)主机名称显示优化(可选配置)
默认情况下,主机名称可能显示为 IP 地址,可通过以下方式优化:
修改 Agent 配置(以 server01 为例):
[root@server01 ~]# vim /etc/zabbix/zabbix_agentd.conf
# 注释原Hostname,启用自动获取主机名
# Hostname=server01
HostnameItem=system.hostname
[root@server01 ~]# systemctl restart zabbix-agent
调整自动发现规则:
在 “主机名称”“可见名称” 中选