一、zabbix主动模式和被动模式可以同时使用吗?
Zabbix 的主动模式(Active Mode)和被动模式(Passive Mode)可以同时启用并共存,但需要满足以下条件:
1、agent配置
在 Zabbix Agent 的配置文件 zabbix_agentd.conf 中,需同时指定以下参数:
Server=被动模式允许连接的Zabbix Server IP
ServerActive=主动模式连接的Zabbix Server IP
- Server 定义被动模式下允许哪些 Server 访问 Agent(默认端口 10050)。
- ServerActive 定义主动模式下 Agent 向哪些 Server 主动发送数据(默认端口 10051)。
2、监控项类型:
每个监控项需明确指定使用主动或被动模式:
被动模式监控项:类型为 Zabbix Agent。
主动模式监控项:类型为 Zabbix Agent (Active)。
3、共存的工作原理
被动模式:由 Zabbix Server 主动向 Agent 发起请求(拉取数据),Agent 响应请求。
主动模式:由 Agent 定期向 Zabbix Server 请求监控项列表,并主动上报数据(推送数据)。
二者互不影响:Agent 会同时监听 Server 的被动请求(10050 端口)和主动向 Server 发起连接(10051 端口)。
二、主动模式下还需要创建hosts吗?
我们知道在被动模式下,需要在Zabbix Server 上创建主机(Host),但是在主动模式下还需要创建吗?答案是需要。
1、为什么需要创建主机?
无论主动模式还是被动模式,Zabbix Server 必须明确知道以下信息:
- 主机身份:哪个 Agent 属于哪个 Host(通过 Hostname 或 HostMetadata 标识)。
- 监控配置:关联的监控项(Items)、触发器(Triggers)、模板(Templates)等。
- 数据归属:上报的监控数据需要归属到具体的 Host,否则数据无法存储或展示。
2、Agent 配置文件要求
Hostname=Zabbix_Server_01 # 必须与 Web 界面中的 Host name 一致
ServerActive=Zabbix_Server_IP:10051
3、手动创建主机(推荐)
在 Zabbix Web 界面手动添加 Host,
- 导航到 Configuration → Hosts → Create Host。
- 填写以下关键字段:
Host name:必须与 Agent 配置文件中的 Hostname 完全一致。
Interfaces:添加一个 Zabbix Agent 类型的接口,选择 Active 模式(填写 Agent 的 IP 或 DNS)。 - 关联模板(如 Template OS Linux)。
4、自动注册(Auto Registration)
- agent配置
Hostname=Zabbix_Server_01
ServerActive=Zabbix_Server_IP:10051
HostMetadata=linux_web_server # 可选,用于标识主机类型`
- 在 Zabbix Server 配置自动注册动作:
导航到 Configuration → Actions → Event source: Auto registration → Create Action。
三、自动注册只能用在主动模式下吗?
自动注册(Auto Registration)功能确实只能用于主动模式(Active Mode)。
四、被动模式下的主机自动发现(Network Discovery)
如果需要在被动模式下实现类似自动注册的功能,可以使用网络发现(Network Discovery)
1、 原理:
Zabbix Server 主动扫描指定 IP 范围,通过 ICMP、SNMP 或 Agent 的响应检测设备,然后根据规则自动创建 Host。
2、配置示例:
- 在 Zabbix Web 界面配置 Network Discovery 规则(IP 范围、检测方式等)。
- 定义动作(Action),对发现的设备自动创建 Host 并关联模板。