zabbix/zabbix-web-serviceZabbix是企业级开源分布式监控解决方案,可监控网络参数、服务器健康状态及完整性。其提供灵活的通知机制,支持基于事件配置邮件告警,便于快速响应服务器问题,并具备强大的报表和数据可视化功能,适用于容量规划。
Zabbix web service是Zabbix生态的组件之一,用于通过无头浏览器(Headless Browser)执行各类任务,例如报告生成等需网页渲染的操作。
官方镜像基于不同Linux发行版和Zabbix版本提供以下标签(部分示例):
| Zabbix版本 | 基础镜像 | 标签格式 | 最新版标签示例 |
|---|---|---|---|
| 6.0 | Alpine/Ubuntu/Oracle Linux | alpine-6.0.* / ubuntu-6.0.* / ol-6.0.* | alpine-6.0-latest |
| 7.0 | Alpine/Ubuntu/Oracle Linux | alpine-7.0.* / ubuntu-7.0.* / ol-7.0.* | ubuntu-7.0-latest |
| 7.4(最新稳定版) | Alpine/Ubuntu/Oracle Linux | alpine-7.4.* / ubuntu-7.4.* / ol-7.4.* | alpine-latest / latest |
| 8.0(开发版) | Alpine/Ubuntu/Oracle Linux | alpine-trunk / ubuntu-trunk / ol-trunk | ubuntu-trunk |
完整标签列表参见Docker Hub标签页
使用以下命令启动Zabbix web service容器:
bashdocker run --name some-zabbix-web-service \ -e ZBX_ALLOWEDIP="192.168.1.100" \ # 允许访问的Zabbix server IP或DNS --cap-add=SYS_ADMIN \ # 解决Chromium命名空间限制 -p ***:*** \ # 暴露服务端口 -d zabbix/zabbix-web-service:latest
注意:
--cap-add=SYS_ADMIN用于解决无头Chromium运行时可能出现的"Operation not permitted"错误。
通过容器链接或网络使Zabbix server访问web service,示例如下:
bashdocker network create zabbix-net
bashdocker run --name zabbix-web-service \ --network zabbix-net \ -e ZBX_ALLOWEDIP="zabbix-server" \ # 允许Zabbix server容器访问 --cap-add=SYS_ADMIN \ -d zabbix/zabbix-web-service:latest
bashdocker run --name zabbix-server \ --network zabbix-net \ -e ZBX_STARTREPORTWRITERS="2" \ # 启动2个报告进程 -e ZBX_WEBSERVICEURL="[***]" \ # web service地址 -d zabbix/zabbix-server:latest
通过docker exec进入容器内部:
bashdocker exec -ti some-zabbix-web-service /bin/bash
通过Docker日志命令查看web service输出:
bashdocker logs some-zabbix-web-service
容器支持通过环境变量自定义配置,常用参数如下:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ZBX_ALLOWEDIP | zabbix-server | 允许访问的Zabbix server IP或DNS,支持逗号分隔的列表 |
ZBX_LISTENPORT | *** | 服务监听端口 |
ZBX_DEBUGLEVEL | 3 | 调试级别(0-5,0=基本信息,5=详细调试) |
ZBX_TIMEOUT | 3 | 请求处理超时时间(秒) |
ZBX_TLSACCEPT | unencrypted | TLS接受模式(unencrypted/tls/both) |
ZBX_IGNOREURLCERTERRORS | 0 | 是否忽略URL证书错误(0=不忽略,1=忽略) |
ZBX_TLSCAFILE | - | TLS CA证书文件路径(需挂载卷到/var/lib/zabbix/enc) |
ZBX_TLSCERTFILE | - | TLS证书文件路径 |
ZBX_TLSKEYFILE | - | TLS私钥文件路径 |
更多参数说明参见zabbix_web_service.conf官方文档
| 卷路径 | 用途 | 示例挂载命令 |
|---|---|---|
/var/lib/zabbix/enc | 存储TLS证书、CA文件等加密相关文件 | -v /host/path/to/tls:/var/lib/zabbix/enc |
以下是Zabbix server与web service集成的docker-compose.yml示例:
yamlversion: '3.8' services: zabbix-web-service: image: zabbix/zabbix-web-service:latest container_name: zabbix-web-service restart: always environment: - ZBX_ALLOWEDIP=zabbix-server # 允许zabbix-server服务访问 - ZBX_DEBUGLEVEL=3 # 调试级别 - ZBX_TIMEOUT=5 # 超时时间5秒 cap_add: - SYS_ADMIN # 解决Chromium权限问题 ports: - "***:***" volumes: - ./tls:/var/lib/zabbix/enc # 挂载TLS证书目录 networks: - zabbix-net zabbix-server: image: zabbix/zabbix-server:latest container_name: zabbix-server restart: always environment: - ZBX_STARTREPORTWRITERS=2 # 启动2个报告进程 - ZBX_WEBSERVICEURL=[***] # web service地址 depends_on: - zabbix-web-service networks: - zabbix-net networks: zabbix-net: driver: bridge
alpine-*标签)ubuntu-*标签)ol-*标签)镜像相关文档存储于zabbix-docker仓库的web-service/目录。
Failed to move to new namespace: Operation not permitted,需添加--cap-add=SYS_ADMIN权限。ZBX_TLS*FILE变量匹配,且权限正确。商业使用建议购买Zabbix技术支持,以支持项目持续开发。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务