Files

62 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
用 Docker 部署的 Zabbix Agent2,其默认工作模式取决于配置。下面这个表格汇总了关键信息,帮助你快速了解:
| 特性 | 默认及配置 |
| :--- | :--- |
| **默认模式倾向** | 配置文件同时设置 `Server` 和 `ServerActive` 时,**支持两种模式**。监控项类型决定实际使用哪种。 |
| **模式切换核心** | 在 **Zabbix Web 前台** 修改**监控项的类型**,并确保 **Agent2 容器配置**与之配合。 |
| **配置文件和变量** | 通过环境变量调整容器配置,如 `ZBX_SERVER_HOST`(被动)、`ZBX_SERVER_ACTIVE`(主动)、`ZBX_HOSTNAME`。 |
### 🐳 配置 Agent2 容器
启动 Docker 容器时,配置工作模式相关的环境变量至关重要:
- **被动模式配置示例**:主要依赖 `ZBX_SERVER_HOST`。
```shell
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`,并不总需要映射端口到宿主机。
```shell
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 前台中修改监控项类型是实现模式切换的关键。
1. **定位监控项**:进入"配置" → "主机",找到你的主机,点击"监控项"。
2. **批量修改类型**:
- 选择需要修改的监控项。
- 点击下方的"批量更新"按钮。
- 在"类型"下拉框中,选择 **"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 容器的命令中配置了正确的环境变量。
希望这些信息能帮助你顺利完成配置!如果你在具体操作中遇到其他问题,可以随时提问。