3.6 KiB
3.6 KiB
用 Docker 部署的 Zabbix Agent2,其默认工作模式取决于配置。下面这个表格汇总了关键信息,帮助你快速了解:
| 特性 | 默认及配置 |
|---|---|
| 默认模式倾向 | 配置文件同时设置 Server 和 ServerActive 时,支持两种模式。监控项类型决定实际使用哪种。 |
| 模式切换核心 | 在 Zabbix Web 前台 修改监控项的类型,并确保 Agent2 容器配置与之配合。 |
| 配置文件和变量 | 通过环境变量调整容器配置,如 ZBX_SERVER_HOST(被动)、ZBX_SERVER_ACTIVE(主动)、ZBX_HOSTNAME。 |
🐳 配置 Agent2 容器
启动 Docker 容器时,配置工作模式相关的环境变量至关重要:
-
被动模式配置示例:主要依赖
ZBX_SERVER_HOST。docker run --name zabbix-agent2 \ -e ZBX_SERVER_HOST="zabbix-server-ip" \ -e ZBX_HOSTNAME="monitored-hostname" \ -p 10050:10050 \ --privileged \ -v /var/run/docker.sock:/var/run/docker.sock \ -d zabbix/zabbix-agent2:latest -
主动模式配置示例:主要依赖
ZBX_SERVER_ACTIVE,并不总需要映射端口到宿主机。docker run --name zabbix-agent2 \ -e ZBX_SERVER_ACTIVE="zabbix-server-ip" \ -e ZBX_HOSTNAME="monitored-hostname" \ --privileged \ -v /var/run/docker.sock:/var/run/docker.sock \ -d zabbix/zabbix-agent2:latest
🔄 在 Zabbix Web 前台切换监控项类型
在 Zabbix Web 前台中修改监控项类型是实现模式切换的关键。
- 定位监控项:进入"配置" → "主机",找到你的主机,点击"监控项"。
- 批量修改类型:
- 选择需要修改的监控项。
- 点击下方的"批量更新"按钮。
- 在"类型"下拉框中,选择 "Zabbix 客户端(主动式)" 或 "Zabbix 客户端"。
- 点击"更新"确认。
⚙️ 确保 Agent2 能监控 Docker
要让 Zabbix Agent2 成功监控 Docker,无论哪种模式,都需确保:
- 以
--privileged特权模式运行容器。 - 将宿主机的 Docker 套接字文件映射到容器内:
-v /var/run/docker.sock:/var/run/docker.sock。这是 Zabbix Agent2 的 Docker 插件与 Docker API 通信的基础。
🔧 注意事项与建议
- 权限问题:如果容器内默认的
zabbix用户无法读取 Docker 套接字文件,你可能需要根据宿主机上的套接字文件权限,调整容器内用户的权限或组关系。一个常见的做法是确保zabbix用户在容器内属于能访问/var/run/docker.sock的组(如docker组)。不过,在容器环境中处理权限可能稍复杂, privileged 特权模式通常能解决大部分权限问题。 - 主动模式的优势:在监控主机数量多、监控项数量大的情况下,主动模式能显著减轻 Zabbix Server 的压力,因为 Agent2 会主动上报数据,Server 无需为每个监控项主动轮询。
- 模板应用:为主机链接 "Template App Docker" 或类似模板,Zabbix 会自动配置发现规则和监控项。你可以根据需求,批量将这些监控项修改为主动或被动模式。
💎 总结
总的来说,Docker 部署的 Zabbix Agent2 默认通常同时支持主动和被动模式,最终由前台定义的监控项类型决定。切换模式主要通过在 Zabbix Web 前台 修改监控项的类型来实现,同时确保启动 Agent2 容器的命令中配置了正确的环境变量。
希望这些信息能帮助你顺利完成配置!如果你在具体操作中遇到其他问题,可以随时提问。