Zabbix Java Gateway是Zabbix监控系统的组件,用于实现Zabbix Server对Java应用程序的JMX指标监控,作为网关连接Zabbix Server与Java应用,获取并传递Java应用性能数据。
收藏数: 37
下载次数: 4878300
类型:
zabbix/zabbix-java-gatewayZabbix是企业级开源分布式监控解决方案,可监控网络参数、服务器健康状态与完整性。它提供灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以便快速响应服务器问题。同时,Zabbix基于存储数据提供优秀的报告和数据可视化功能,适用于容量规划。
Zabbix Java Gateway是Zabbix的组件,提供对JMX(Java Management Extensions)应用的原生监控支持。它接受来自Zabbix server或Zabbix proxy的传入连接,仅用作"被动代理"(passive proxy),即由Zabbix server/proxy主动发起请求以获取JMX指标。
Zabbix Java Gateway适用于需要监控JMX兼容应用程序的场景,包括但不限于:
使用docker run命令启动容器:
consoledocker run --name some-zabbix-java-gateway -d zabbix/zabbix-java-gateway:tag
参数说明:
--name some-zabbix-java-gateway:自定义容器名称-d:后台运行容器zabbix/zabbix-java-gateway:tag:镜像名称及版本标签(tag需替换为具体版本,如alpine-7.4-latest)通过--link参数将Java Gateway与Zabbix Server/Proxy关联:
consoledocker run --name some-zabbix-java-gateway --link some-zabbix-server:zabbix-server -d zabbix/zabbix-java-gateway:tag
说明:--link some-zabbix-server:zabbix-server建立容器间连接,使Java Gateway可通过zabbix-server别名访问Zabbix Server容器。
以下是包含Zabbix Server、Java Gateway和MySQL的完整部署示例:
yamlversion: '3.8' services: zabbix-server: image: zabbix/zabbix-server-mysql:latest depends_on: - mysql environment: - DB_SERVER_HOST=mysql - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix_password - MYSQL_ROOT_PASSWORD=root_password - ZBX_JAVAGATEWAY=zabbix-java-gateway # 配置Java Gateway地址 - ZBX_JAVAGATEWAYPORT=*** # Java Gateway默认端口 ports: - "***:***" restart: always zabbix-java-gateway: image: zabbix/zabbix-java-gateway:latest environment: - ZBX_START_POLLERS=10 # 调整轮询器数量 - ZBX_TIMEOUT=5 # 设置超时时间 ports: - "***:***" # Java Gateway默认端口 restart: always mysql: image: mysql:8.0 environment: - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix_password - MYSQL_ROOT_PASSWORD=root_password - MYSQL_ALLOW_EMPTY_PASSWORD=no volumes: - mysql-data:/var/lib/mysql restart: always volumes: mysql-data:
通过docker exec命令获取容器内bash终端:
consoledocker exec -ti some-zabbix-java-gateway /bin/bash
通过Docker日志功能查看Java Gateway日志:
consoledocker logs some-zabbix-java-gateway
启动容器时可通过环境变量调整配置,支持的参数如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ZBX_START_POLLERS | 轮询器数量(同时处理的JMX请求数) | 5 |
ZBX_TIMEOUT | 连接超时时间(秒) | 3 |
ZBX_DEBUGLEVEL | 日志级别,支持值:trace、debug、info、want、error、all、off | info |
ZBX_PROPERTIES_FILE | 属性文件名,用于通过键值对设置额外配置(避免命令行可见) | 未设置 |
ZABBIX_OPTIONS | 额外启动参数,用于启用扩展库或功能 | 未设置 |
示例:调整轮询器数量和日志级别
consoledocker run --name some-zabbix-java-gateway -e ZBX_START_POLLERS=20 -e ZBX_DEBUGLEVEL=debug -d zabbix/zabbix-java-gateway:latest
容器支持挂载以下目录以扩展功能:
/usr/sbin/zabbix_java/ext_lib:用于添加额外JAR文件,扩展支持的协议或功能(如自定义JMX客户端库)。示例:挂载本地JAR文件目录
consoledocker run --name some-zabbix-java-gateway -v /local/ext_lib:/usr/sbin/zabbix_java/ext_lib -d zabbix/zabbix-java-gateway:latest
Zabbix Java Gateway提供多种版本标签,基于不同基础操作系统和Zabbix版本:
| Zabbix版本 | 标签示例(Alpine/Ubuntu/Oracle Linux) | 说明 |
|---|---|---|
| 6.0 | alpine-6.0-latest、ubuntu-6.0-latest、ol-6.0-latest | 长期支持版本 |
| 7.0 | alpine-7.0-latest、ubuntu-7.0-latest、ol-7.0-latest | 标准版本 |
| 7.2 | alpine-7.2-latest、ubuntu-7.2-latest、ol-7.2-latest | 标准版本 |
| 7.4 | alpine-7.4-latest、ubuntu-latest、ol-latest、latest | 最新稳定版(latest基于Alpine) |
| 8.0(开发中) | alpine-trunk、ubuntu-trunk、ol-trunk | 开发版本 |
alpine-<version>,轻量级基础镜像(约5MB),使用musl libc,适合对镜像大小敏感的场景。ubuntu-<version>,默认推荐镜像,基于Ubuntu 24.04,兼容性好,包含常用系统工具。ol-<version>,基于Oracle Linux 10,适合Oracle工作负载,支持Ksplice等特性。官方支持Docker 1.12.0及以上版本,对1.6及以上旧版本提供尽力支持。建议参考Docker安装文档升级Docker引擎。
镜像文档存储在zabbix/zabbix-docker GitHub仓库的java-gateway/目录。提交PR前请先阅读仓库README.md。
如遇镜像相关问题,请通过GitHub Issue提交。
欢迎贡献新功能、修复或更新。建议通过GitHub Issue提前讨论计划,确保与项目方向一致。
以下是 zabbix/zabbix-java-gateway 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。


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