Zabbix 是一个企业级的开源监控解决方案,它能够监控众多网络参数以及服务器健康和完整性。Zabbix 支持两种主要的数据采集模式:被动检查(Passive checks)和主动检查(Active checks)。这里我们专注于 Zabbix 的主动模式。
主动模式(Active checks)
在主动模式下,Zabbix 代理(agent)会主动连接到 Zabbix 服务器或代理(如果使用了分布式监控架构),并发送数据。这种方式有以下几个特点:
- 发起方:Zabbix agent 是主动的一方,它会根据配置文件中的设置定期向 Zabbix server 或者 Zabbix proxy 发送数据。
- 适用场景:适用于防火墙策略严格限制入站连接的情况,因为在这种情况下,让被监控主机主动向外发送数据可能更容易满足安全要求。
- 性能影响:由于是 agent 定期主动发送数据,这可能会对网络带宽造成一定的压力,特别是在有很多监控项且频率较高的时候。
- 配置灵活性:可以通过调整 agent 配置文件中的
StartAgents
参数来控制是否启用主动模式。对于主动检查,通常不需要启动监听线程(listener threads),所以这个值可以设为 0。 - 数据更新频率:可以为不同的监控项配置不同的更新频率,确保关键指标能更频繁地被监控,而非关键指标则减少数据传输以节省资源。
为了实现主动模式,你需要在 Zabbix agent 的配置文件(通常是 zabbix_agentd.conf)中设置以下参数:
Server
: 指定 Zabbix server 或 proxy 的 IP 地址,agent 将从这些地址接收配置和命令。ServerActive
: 指定 Zabbix server 或 proxy 的 IP 地址,agent 将主动向这些地址发送数据。Hostname
: 设置此 agent 所代表的主机名称,必须与 Zabbix frontend 中定义的主机名匹配。
当配置好后,重启 Zabbix agent 服务使其生效。然后,在 Zabbix frontend 中为该主机配置相应的监控项,并选择 "主动" 类型,这样 agent 就会按照设定的时间间隔开始向服务器发送数据了。