Zabbix前端是一款用于网络、服务器、应用程序等IT资源监控的界面,它基于Nginx Web服务器构建,并支持MySQL数据库作为数据存储后端,能够为用户提供直观的监控数据展示、配置管理及告警信息查看等功能,是Zabbix监控系统中实现用户与系统交互的核心组件。
收藏数: 266
下载次数: 37368962
类型:
zabbix/zabbix-web-nginx-mysql!logo
Zabbix 是一款企业级开源分布式监控解决方案,可对网络参数、服务器健康状态及完整性进行全面监控。它支持灵活的通知机制,允许用户为各类事件配置邮件告警,以便快速响应服务器问题。同时,Zabbix 基于存储数据提供出色的报表和数据可视化功能,适用于容量规划场景。
更多 Zabbix 组件信息及相关下载,可访问:[***] 和 *** Zabbix Web 界面
Zabbix Web 界面是 Zabbix 软件的组成部分,用于管理被监控资源和查看监控统计数据。
以下是官方发布的 Zabbix Web 界面 Docker 镜像,基于 Alpine Linux v3.22、Ubuntu 24.04(noble)、CentOS Stream 10 和 Oracle Linux 10 构建。支持的 Zabbix Web 界面版本及对应标签如下:
镜像会随新版本发布同步更新,其中 latest 标签默认基于 Alpine Linux。
Zabbix Web 界面提供四种版本,分别对应不同的 Web 服务器和数据库组合:
本文档主要介绍 基于 Nginx + MySQL 的 Zabbix Web 界面镜像。
zabbix-web-nginx-mysql 容器通过以下命令启动 Zabbix Web 界面容器:
consoledocker run --name some-zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER="some-user" \ -e MYSQL_PASSWORD="some-password" \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="some-timezone" \ -d zabbix/zabbix-web-nginx-mysql:tag
参数说明:
some-zabbix-web-nginx-mysql:自定义容器名称some-mysql-server:MySQL 服务器的 IP 或 DNS 名称some-user:连接 MySQL 数据库的用户名some-password:MySQL 用户密码some-zabbix-server:Zabbix 服务器/代理的 IP 或 DNS 名称some-timezone:PHP 时区(如 Asia/Shanghai)tag:指定镜像版本标签(参考上文“支持的版本及标签”)完整标签列表可查看 Docker Hub。
如需将 Web 界面容器与 Zabbix Server 关联,可使用 --link 参数:
consoledocker run --name some-zabbix-web-nginx-mysql \ --link some-zabbix-server:zabbix-server \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER="some-user" \ -e MYSQL_PASSWORD="some-password" \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="some-timezone" \ -d zabbix/zabbix-web-nginx-mysql:tag
如需关联 MySQL 容器,同样使用 --link 参数:
consoledocker run --name some-zabbix-web-nginx-mysql \ --link some-mysql-server:mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER="some-user" \ -e MYSQL_PASSWORD="some-password" \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="some-timezone" \ -d zabbix/zabbix-web-nginx-mysql:tag
使用 docker exec 命令进入容器内部:
consoledocker exec -ti some-zabbix-web-nginx-mysql /bin/bash
通过 Docker 容器日志命令查看 Zabbix Web 界面运行日志:
consoledocker logs some-zabbix-web-nginx-mysql
启动容器时,可通过 -e 参数设置环境变量调整 Zabbix Web 界面配置。以下为常用变量说明:
| 变量名 | 说明 | 默认值 |
|---|---|---|
ZBX_SERVER_HOST | Zabbix 服务器/代理的 IP 或 DNS 名称 | zabbix-server |
ZBX_SERVER_PORT | Zabbix 服务器监听端口 | *** |
DB_SERVER_HOST | MySQL 服务器的 IP 或 DNS 名称 | mysql-server |
DB_SERVER_PORT | MySQL 服务器端口 | 3306 |
MYSQL_USER | MySQL 数据库用户名 | zabbix |
MYSQL_PASSWORD | MySQL 用户密码 | zabbix |
MYSQL_DATABASE | Zabbix 数据库名称 | zabbix |
PHP_TZ | PHP 时区(如 Asia/Shanghai) | Europe/Riga |
为避免明文传递密码,可通过文件方式注入 MySQL 用户名/密码(适用于 Docker Swarm/Kubernetes 等场景):
MYSQL_USER_FILE:指向存储用户名的文件路径MYSQL_PASSWORD_FILE:指向存储密码的文件路径示例(本地文件挂载):
consoledocker run --name some-zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -v ./.MYSQL_USER:/run/secrets/MYSQL_USER \ -e MYSQL_USER_FILE=/run/secrets/MYSQL_USER \ -v ./.MYSQL_PASSWORD:/run/secrets/MYSQL_PASSWORD \ -e MYSQL_PASSWORD_FILE=/run/secrets/MYSQL_PASSWORD \ -e PHP_TZ="Asia/Shanghai" \ -d zabbix/zabbix-web-nginx-mysql:tag
示例(Docker Swarm 密钥):
console# 创建密钥 printf "zabbix" | docker secret create MYSQL_USER - printf "zabbix" | docker secret create MYSQL_PASSWORD - # 使用密钥启动容器 docker run --name some-zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER_FILE=/run/secrets/MYSQL_USER \ -e MYSQL_PASSWORD_FILE=/run/secrets/MYSQL_PASSWORD \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="Asia/Shanghai" \ -d zabbix/zabbix-web-nginx-mysql:tag
| 变量名 | 说明 |
|---|---|
ZBX_HISTORYSTORAGEURL | Elasticsearch 历史存储服务的 HTTP(S) URL(3.4.5+ 支持) |
ZBX_HISTORYSTORAGETYPES | 需存储到 Elasticsearch 的值类型(如 ['uint', 'dbl']) |
ZBX_SERVER_NAME | Web 界面顶部显示的 Zabbix 实例名称 |
DB_DOUBLE_IEEE754 | 是否启用 64 位浮点型历史数据的 IEEE754 兼容模式(5.0.0+,默认启用) |
ZBX_DB_ENCRYPTION | 是否启用数据库连接加密(5.0.0+,默认禁用,设为 true 启用) |
还支持 PHP-FPM 配置(如 PHP_FPM_PM_MAX_CHILDREN)、Nginx 配置(如 WEB_REAL_IP_FROM)、TLS 加密(如 ZBX_DB_CA_FILE)、SAML 认证(如 ZBX_SSO_SP_KEY)等,详细说明可参考 官方文档。
可通过 -v 参数挂载宿主机目录到容器,实现自定义配置或持久化数据:
/etc/ssl/nginx用于启用 HTTPS,需挂载包含以下文件的目录:
ssl.crt:SSL 证书文件ssl.key:SSL 私钥文件dhparam.pem:DH 参数文件配置方法参考 Nginx 官方文档。
/etc/zabbix/web/certs用于 SAML 认证,需挂载包含以下文件的目录(5.0.0+ 支持):
sp.key:服务提供商(SP)私钥sp.crt:服务提供商(SP)证书idp.crt:身份提供商(IDP)证书/var/lib/zabbix/enc用于存储 TLS 相关文件(7.4.0+ 支持),需与 ZBX_SERVER_TLS_CAFILE(CA 文件路径)、ZBX_SERVER_TLS_KEYFILE(私钥路径)等变量配合使用。
Zabbix Web 界面镜像提供多种基础系统版本,适用于不同场景:
alpine-<version>基于 Alpine Linux,镜像体积极小(约 5MB 基础镜像),适合对资源敏感的场景。需注意其使用 musl libc,部分依赖 glibc 的软件可能存在兼容性问题。
ubuntu-<version>基于 Ubuntu 24.04,为默认推荐版本,兼容性好,适合大多数通用场景。
ol-<version>基于 Oracle Linux 10,针对 Oracle 工作负载优化,支持 Ksplice、DTrace 等企业级特性。
官方推荐 Docker 1.12.0 及以上版本,旧版本(低至 1.6)可尝试使用,但不保证完全兼容。
升级 Docker 方法参考 Docker 官方文档。
镜像详细文档位于 GitHub 仓库 的 web-nginx-mysql/ 目录。
如遇使用问题,可通过 GitHub Issues 提交。
欢迎提交功能改进、bug 修复或更新,建议先通过 GitHub Issues 讨论计划,再提交 Pull Request。
商业用户可通过购买技术支持获取额外服务。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。




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