本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!logo
Zabbix 是一款企业级开源分布式监控解决方案。它能监控网络的多项参数及服务器的健康状态与完整性,支持灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以便快速响应服务器问题。同时,Zabbix 基于存储的数据提供出色的报表和数据可视化功能,非常适合容量规划。
更多信息及 Zabbix 组件的相关下载,请访问 [***] 和 *** 什么是 Zabbix 代理?
Zabbix 代理(Zabbix proxy)是一个进程,可从一个或多个被监控设备收集监控数据,并将信息发送到 Zabbix 服务器,本质上代表服务器工作。所有收集的数据会先在本地缓冲,然后传输到该代理所属的 Zabbix 服务器。
以下是官方唯一的 Zabbix 代理 Docker 镜像,基于 Alpine Linux v3.22、Ubuntu 24.04(noble)、CentOS Stream 10 和 Oracle Linux 10 构建。可用的 Zabbix 代理版本及标签如下:
镜像会随新版本发布更新,latest 标签基于 Alpine Linux。
该镜像使用 MySQL 数据库存储收集的数据(发送到 Zabbix 服务器前),启动流程如下:
MYSQL_ROOT_PASSWORD 或 MYSQL_ALLOW_EMPTY_PASSWORD,实例会尝试创建 MYSQL_USER 用户(密码为 MYSQL_PASSWORD),供 Zabbix 服务器后续使用MYSQL_DATABASE 数据库是否存在,不存在则创建dbversion 表是否存在,若不存在则创建 Zabbix 代理数据库 schemazabbix-proxy-mysql启动 Zabbix 代理容器的命令如下:
docker run --name some-zabbix-proxy-mysql -e DB_SERVER_HOST="some-mysql-server" -e MYSQL_USER="some-user" -e MYSQL_PASSWORD="some-password" -e ZBX_HOSTNAME=some-hostname -e ZBX_SERVER_HOST=some-zabbix-server --init -d zabbix/zabbix-proxy-mysql:tag
参数说明:
some-zabbix-proxy-mysql:容器名称some-mysql-server:MySQL 服务器的 IP 或 DNS 名称some-user:连接 MySQL 服务器上 Zabbix 数据库的用户some-password:连接 MySQL 服务器的密码some-hostname:Zabbix 代理配置文件中的 Hostname 参数值some-zabbix-server:Zabbix 服务器的 IP 或 DNS 名称tag:指定版本的标签(见上文版本列表),完整标签可查看 标签列表[!NOTE] Zabbix 服务器可通过
fping工具执行 ICMP 检查。若容器运行在无 root 模式或受限环境中,可能会遇到fping: Operation not permitted或「所有资源丢包」等错误,此时需在docker run或podman run命令中添加--cap-add=net_raw。此外,非 root 环境下运行fping可能需要修改 sysctl:net.ipv4.ping_group_range=0 1995(1995 为zabbix用户组 GID)。
若设置 ZBX_PROXYMODE=1(被动代理模式),此镜像会暴露标准 Zabbix 代理端口(10051)。启动 Zabbix 服务器容器并关联代理容器的命令如下:
$ docker run --name some-zabbix-server --link some-zabbix-proxy-mysql:zabbix-proxy-mysql --init -d zabbix/zabbix-server:latest
默认模式为主动代理模式,启动代理容器并关联 Zabbix 服务器的命令如下:
$ docker run --name some-zabbix-proxy-mysql --link some-zabbix-server:zabbix-server --init -d zabbix/zabbix-proxy-mysql:latest
通过 docker exec 可在容器内执行命令,例如进入 bash 终端:
$ docker exec -ti some-zabbix-proxy-mysql /bin/bash
Zabbix 代理日志可通过 Docker 容器日志查看:
$ docker logs some-zabbix-proxy-mysql
启动镜像时,可通过 docker run 命令行传递环境变量调整 Zabbix 代理配置,常用变量如下:
ZBX_PROXYMODE0(主动代理)0(主动)、1(被动)ZBX_HOSTNAMEHostname 参数zabbix-proxy-mysqlZBX_SERVER_HOSTServer 参数zabbix-server:端口号(例如 ZBX_SERVER_HOST=some-server:10052)ZBX_SERVER_PORT10051ZBX_SERVER_HOST(如 ZBX_SERVER_HOST=some-server:10052)DB_SERVER_HOSTmysql-serverDB_SERVER_PORT3306MYSQL_USER、MYSQL_PASSWORD、MYSQL_USER_FILE、MYSQL_PASSWORD_FILE_FILE 变量可指定存储凭据的文件路径(适用于 Docker Swarm/Kubernetes 密钥管理),需注意 MYSQL_USER 与 MYSQL_USER_FILE 互斥docker run --name some-zabbix-proxy-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 -e ZBX_HOSTNAME=some-hostname -e ZBX_SERVER_HOST=some-zabbix-server --init -d zabbix/zabbix-proxy-mysql:tag
printf "zabbix" | docker secret create MYSQL_USER - printf "zabbix" | docker secret create MYSQL_PASSWORD - docker run --name some-zabbix-proxy-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 ZBX_HOSTNAME=some-hostname --init -d zabbix/zabbix-proxy-mysql:tag
MYSQL_USER=zabbix,MYSQL_PASSWORD=zabbixMYSQL_DATABASEzabbix_proxyZBX_LOADMODULE/var/lib/zabbix/modules 卷使用dummy1.so,dummy2.soZBX_DEBUGLEVELDebugLevel 参数3(警告)0(启动/停止信息)、1(关键信息)、2(错误信息)、3(警告)、4(调试)、5(详细调试)ZBX_TIMEOUT4ZBX_JAVAGATEWAY_ENABLEfalse镜像还支持通过环境变量配置 zabbix_proxy.conf 中的多数参数,部分常用变量及默认值如下:
ZBX_ALLOWUNSUPPORTEDDBVERSIONS=0 # 6.0.0+ 支持 ZBX_DBTLSCONNECT= # 5.0.0+ 支持(数据库 TLS 连接模式) ZBX_DBTLSCAFILE= # 5.0.0+ 支持(数据库 CA 证书文件路径) ZBX_ENABLEREMOTECOMMANDS=0 # 3.4.0+ 支持(允许远程命令) ZBX_STARTPOLLERS=5 # 轮询进程数 ZBX_STARTPREPROCESSORS=3 # 4.2.0+ 支持(预处理进程数) ZBX_STARTPINGERS=1 # ICMP 检查进程数 ZBX_JAVAGATEWAY=zabbix-java-gateway # Java Gateway 地址 ZBX_JAVAGATEWAYPORT=10052 # Java Gateway 端口 ZBX_STARTJAVAPOLLERS=0 # Java 检查进程数 ZBX_CACHESIZE=8M # 缓存大小 ZBX_HISTORYCACHESIZE=16M # 历史数据缓存大小
完整参数说明可参考官方 zabbix_proxy.conf 文档。
/usr/lib/zabbix/externalscriptsExternalScripts 参数/var/lib/zabbix/modulesZBX_LOADMODULE 启用),用于扩展 Zabbix 代理功能/var/lib/zabbix/encZBX_TLSCAFILE、ZBX_TLSKEYFILE 等变量指定文件名;也可直接通过 ZBX_TLSCA、ZBX_TLSKEY 等变量传入明文内容/var/lib/zabbix/ssh_keysSSHKeyLocation 参数/var/lib/zabbix/ssl/certs、/var/lib/zabbix/ssl/keys、/var/lib/zabbix/ssl/ssl_caSSLCertLocation、SSLKeyLocation、SSLCALocation 参数/var/lib/zabbix/snmptrapssnmptraps.log 文件,可与 zabbix-snmptraps 容器共享(通过 volumes_from 继承),配合 ZBX_ENABLE_SNMP_TRAPS=true 启用 SNMP 陷阱处理/var/lib/zabbix/mibszabbix-proxy-mysql 提供多种镜像变体,适用于不同场景:
zabbix-proxy-mysql:alpine-<version>zabbix-proxy-mysql:ubuntu-<version>zabbix-proxy-mysql:ol-<version>官方支持 Docker 1.12.0 及以上版本,1.6~1.11 版本提供有限支持(尽力而为)。升级 Docker 引擎可参考 Docker 安装文档。
镜像文档存放于 zabbix/zabbix-docker GitHub 仓库 的 proxy-mysql/ 目录,提交 PR 前建议先阅读仓库 README.md。
若使用中遇到问题或有疑问,可通过 GitHub Issue 联系我们。
欢迎提交新功能、修复或更新(无论大小),我们会尽快处理 PR。代码贡献前建议通过 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429