62 lines
3.6 KiB
Markdown
62 lines
3.6 KiB
Markdown
用 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 容器的命令中配置了正确的环境变量。
|
||
|
||
希望这些信息能帮助你顺利完成配置!如果你在具体操作中遇到其他问题,可以随时提问。 |