!logo
Zabbix 是一款企业级开源分布式监控解决方案。
它能监控网络的多项参数及服务器的健康状态与完整性,支持灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警,以便快速响应服务器问题。同时,Zabbix 基于存储数据提供出色的报表和数据可视化功能,非常适合容量规划。
更多信息及组件下载可访问:[***] 和 ***
Zabbix server 是 Zabbix 软件的核心进程。
它负责数据的轮询与捕获、触发器计算、向用户发送通知。Zabbix 代理(agents)和代理服务器(proxies)会向其上报系统的可用性和完整性数据。此外,server 自身可通过简单的服务检查远程监控网络服务(如 Web 服务器、邮件服务器)。
以下是***唯一的 Zabbix server Docker 镜像,基于 Alpine Linux v3.22、Ubuntu 24.04(noble)、CentOS Stream 10 和 Oracle Linux 10 构建。支持的 Zabbix server 版本及标签如下:
镜像会随新版本发布更新,latest 标签基于 Alpine Linux。
镜像使用 MySQL 数据库,启动流程如下:
MYSQL_ROOT_PASSWORD 或 MYSQL_ALLOW_EMPTY_PASSWORD,尝试创建 MYSQL_USER 用户并设置 MYSQL_PASSWORD,供 Zabbix server 使用;MYSQL_DATABASE 数据库是否存在,不存在则创建;dbversion 表是否存在,不存在则创建 Zabbix server 数据库 schema 并导入初始数据样本。zabbix-server-mysql通过以下命令启动 Zabbix server 容器:
bashdocker run --name some-zabbix-server-mysql -e DB_SERVER_HOST="some-mysql-server" -e MYSQL_USER="some-user" -e MYSQL_PASSWORD="some-password" --init -d zabbix/zabbix-server-mysql:tag
参数说明:
some-zabbix-server-mysql:容器名称;some-mysql-server:MySQL 服务器的 IP 或 DNS 名称;some-user/some-password:连接 Zabbix 数据库的用户及密码;tag:指定镜像版本标签(见上文“Zabbix server 镜像”中的标签列表)。[!NOTE]
Zabbix server 可通过fping工具执行 ICMP 检查。若容器运行在无 root 模式或受限制环境中,可能出现fping: Operation not permitted错误或丢包问题。此时需在docker run或podman run命令中添加--cap-add=net_raw,并修改系统参数:bashsysctl -w net.ipv4.ping_group_range=0 1995 # 1995 为 zabbix 用户组 GID
使用 docker exec 命令进入容器:
bashdocker exec -ti some-zabbix-server-mysql /bin/bash
通过 Docker 容器日志查看:
bashdocker logs some-zabbix-server-mysql
启动镜像时,可通过 -e 参数指定环境变量调整 Zabbix server 配置。
DB_SERVER_HOST:MySQL 服务器 IP 或 DNS 名称,默认 mysql-server;DB_SERVER_PORT:MySQL 端口,默认 3306;MYSQL_USER/MYSQL_PASSWORD:连接数据库的用户及密码,默认均为 zabbix;MYSQL_USER_FILE/MYSQL_PASSWORD_FILE:从文件读取用户/密码(适用于 Docker Swarm/Kubernetes 密钥管理),与 MYSQL_USER/MYSQL_PASSWORD 互斥,只能选一种。bashdocker run --name some-zabbix-server-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=/var/run/secrets/MYSQL_PASSWORD \ --init -d zabbix/zabbix-server-mysql:tag
bashprintf "zabbix" | docker secret create MYSQL_USER - # 创建用户密钥 printf "zabbix" | docker secret create MYSQL_PASSWORD - # 创建密码密钥 docker run --name some-zabbix-server-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER_FILE=/run/secrets/MYSQL_USER \ -e MYSQL_PASSWORD_FILE=/run/secrets/MYSQL_PASSWORD \ --init -d zabbix/zabbix-server-mysql:tag
ZBX_LOADMODULE:逗号分隔的可加载模块列表(需配合 /var/lib/zabbix/modules 卷),如 dummy1.so,dummy2.so;ZBX_DEBUGLEVEL:调试级别(0-5,默认 3),对应 zabbix_server.conf 中的 DebugLevel;ZBX_TIMEOUT:检查超时时间(默认 4 秒);ZBX_JAVAGATEWAY_ENABLE:是否启用 Java Gateway(默认 false)。更多变量(如 ZBX_STARTPOLLERS、ZBX_CACHESIZE 等)及默认值见下方,均对应 zabbix_server.conf 中的参数:
ZBX_ALLOWUNSUPPORTEDDBVERSIONS=0 # 支持非兼容数据库版本(6.0.0+) ZBX_DEBUGLEVEL=3 # 调试级别(0-5) ZBX_TIMEOUT=4 # 检查超时时间(秒) ZBX_STARTPOLLERS=5 # 轮询进程数 ZBX_STARTPINGERS=1 # ICMP 检查进程数 ZBX_CACHESIZE=8M # 缓存大小 ZBX_HISTORYCACHESIZE=16M # 历史数据缓存大小
完整参数说明可参考 zabbix_server.conf ***文档。
/usr/lib/zabbix/alertscripts自定义告警脚本目录,对应 zabbix_server.conf 中的 AlertScriptsPath。
/usr/lib/zabbix/externalscripts外部检查脚本目录(用于 Item 类型为“外部检查”),对应 ExternalScripts。
/var/lib/zabbix/modules存放可加载模块,配合 ZBX_LOADMODULE 变量扩展功能。
/var/lib/zabbix/enc存放 TLS 相关文件(如 CA 证书、密钥),需通过 ZBX_TLSCAFILE 等变量指定文件名。
/var/lib/zabbix/ssh_keysSSH 检查/动作的密钥目录,对应 SSHKeyLocation。
/var/lib/zabbix/snmptrapssnmp traps.log 文件目录,需与 zabbix-snmptraps 容器共享,并设置 ZBX_ENABLE_SNMP_TRAPS=true 启用 SNMP traps 处理。
zabbix-server-mysql:alpine-<version>基于 Alpine Linux,体积极小(~5MB 基础镜像),适合对镜像大小敏感的场景。使用 musl libc,部分依赖 glibc 的软件可能不兼容。
zabbix-server-mysql:ubuntu-<version>基于 Ubuntu,默认推荐版本。使用 glibc,兼容性更广,适合大多数通用场景。
zabbix-server-mysql:ol-<version>基于 Oracle Linux,针对 Oracle 工作负载优化,支持 Ksplice 内核热补丁、DTrace 诊断等 Oracle 特有功能。
***支持 Docker 1.12.0 及以上版本,1.6 及以上旧版本提供有限支持。
升级 Docker 可参考 Docker ***安装文档。
镜像文档存放于 zabbix-docker 仓库的 server-mysql/ 目录,提交 PR 前建议先阅读仓库 README.md。
使用中遇到问题可通过 GitHub Issue 提交。
欢迎提交功能改进、bug 修复或更新,建议先通过 GitHub Issue 讨论方案。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429