一、整体架构(JMX + Zabbix Java Gateway

Java 应用(JMX开启)
        ↓
Zabbix Java Gateway(中介)
        ↓
Zabbix Server(数据收集 & 告警)
        ↓
Zabbix Web UI(展示 & 配置)

二、步骤详解

1. 启动 Java 应用并开启 JMX

nohup java -Xms128m -Xmx512m -Dserver.port=8081 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=28080 -Dcom.sun.management.jmxremote.rmi.port=28080 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.11.144 -jar ./springboot-prac-1.0.jar > nohup.springboot-prac.out 2>&1 &

测试是否能连接:

# 在 Zabbix Server 上测试端口连通性
telnet 192.168.11.144 28080

2. 安装配置 Zabbix Java Gateway

Zabbix Server 无法直接读取 JMX 数据,需通过 Java Gateway 转发。

1)安装 Java Gateway

dnf install zabbix-java-gateway --nogpgcheck

出现“找不到命令”的错误提示,通常是因为系统中没有安装 DNF 包管理器,或者环境变量配置不正确。所以安装dnf

sudo yum install dnf 

安装完毕!

安装完毕dnf之后,继续安装Java Gateway,又报以下错:

解决办法:

创建新的 zabbix.repo

[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
autorefresh=1
[zabbix-frontend]
name=Zabbix Official Repository frontend - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/\$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
autorefresh=1
[zabbix-extra]
name=Zabbix Official Repository extra - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
autorefresh=1
EOF

刷新缓存:

dnf clean all
dnf makecache

下载成功:

2)启动服务

systemctl enable zabbix-java-gateway


systemctl start zabbix-java-gateway

systemctl status zabbix-java-gateway

3)检查配置文件 /etc/zabbix/zabbix_java_gateway.conf

LISTEN_IP=0.0.0.0
LISTEN_PORT=10052
PID_FILE=/var/run/zabbix/zabbix_java_gateway.pid
START_POLLERS=5

3. 配置 Zabbix Server 连接 Java Gateway

安装 Zabbix Server:

dnf install mariadb-server mariadb -y

systemctl enable mariadb --now

初始化安全设置:按提示设置 root 密码并删除测试项。

mysql_secure_installation

创建 Zabbix 数据库和用户

mysql -u root -p

执行 SQL:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;

安装 Zabbix 组件

dnf install \
    zabbix-server-mysql \
    zabbix-web-mysql \
    zabbix-apache-conf \
    zabbix-sql-scripts \
    zabbix-agent \
    -y

安装成功:

导入数据库结构

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

编辑主配置文件:

vim /etc/zabbix/zabbix_server.conf

安装 Zabbix Server:

systemctl restart zabbix-server