zabbix 5.0 监控tomcat JMX Java-Gateway 配置,详细流程全套(图文结合)
zabbix 5.0监控tomcat前提环境需要一个部署好zabbix 5.0的环境需要一个部署好tomcat的环境Zabbix JMX 监控架构配置Tomcat 客户端开启Tomcat JMX重启Tomcat,发生错误,原因不要在catalina.sh 脚本里面配置解决方法zabbix server端配置安装jdk修配置环境安装zabbix-java-gateway开启java-gateway修
zabbix 5.0监控tomcat
前提环境
需要一个部署好zabbix 5.0的环境
详细部署流程看这篇:CentOs7安装部署zabbix5.0详细流程(ip为:192.168.1.130)
需要一个部署好tomcat的环境
详细部署流程看这篇:linux安装jdk,tomcat详细流程(ip为:192.168.1.134)
Zabbix JMX 监控架构
当zabbix server 需要知道Java应用程序的某项性能时候,会启动一个StartJavaPollers进程连接Zabbix-JavaGateway 请求数据,而zabbix Javagateway收到请求后使用“JMXmanagentAPI”去查询特定的应用程序;
前提是:应用程序端需要通过“Docm.sun.managment,jmxremote”开启JMX远程查询,并开启12345端口,向zabbix-JavaGateway提供性能数据。
配置zabbix监控Java应用程序关键在于:配置JavaGateway,让zabbix server能够连接到JavaGateway,Tomcat开启JVM远程监控功能
配置Tomcat 客户端
开启Tomcat JMX
#编辑运行脚本
[root@localhost ~]# vi /usr/local/tomcat/apache-tomcat-9.0.56/bin/catalina.sh
在脚本开头加入下面语句
CATALINA_OPTS="-Docm.sun.management.jmxremote
-Docm.sun.management.jmxremote.authenticate=false
-Docm.sun.management.jmxremote.ssl=false
-Docm.sun.management.jmxremote.port=12345
-Djava.rmi.server.hostname=192.168.1.134"
参数 | 说明 |
---|---|
-Docm.sun.management.jmxremote | 启用JMX |
-Docm.sun.management.jmxremote.authenticate=false | 是否开启认证,看是否有需求(若开启,需要定义账户和密码) |
-Docm.sun.management.jmxremote.ssl=false | 远程ssl验证 |
-Docm.sun.management.jmxremote.port=12345 | 远程监听端口 |
-Djava.rmi.server.hostname=192.168.1.134 | Tomcat 所在服务器IP |
重启Tomcat,发生错误,原因不要在catalina.sh 脚本里面配置
解决方法
详细流程,看这篇:配置catalian.sh不生效,jmx端口起不来,
#tomcat bin/路径下创建脚本
[root@localhost ~]# vi /usr/local/tomcat/apache-tomcat-9.0.56/bin/setenv.sh
#写入一下语句
CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.1.134"
CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=12345"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.rmi.port=12345"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
zabbix server端配置
安装jdk
#创建jdk文件
[root@localhost ~]# mkdir /usr/local/jdk
#将jdk包解压到jdk文件夹下
[root@localhost ~]# tar zxvf /home/jdk-8u311-linux-x64.tar.gz -C /usr/local/jdk/
[root@localhost ~]# cd /usr/local/jdk
[root@localhost jdk]# ll
总用量 0
drwxr-xr-x 8 10143 10143 273 9月 27 20:29 jdk1.8.0_311
[root@localhost jdk]#
jdk下载地址:jdk官网下载地址
页面向下翻,我这里是安装jdk8
修配置环境
[root@localhost jdk]# vi /etc/profile
#文件最后加上下面四句,配置一下环境
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_311
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#看下是否安装成功
[root@localhost jdk]# source /etc/profile #定义环境变量生效
[root@localhost jdk]# java -version
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)
[root@localhost jdk]#
#安装成功
安装zabbix-java-gateway
[root@localhost jdk]# yum list zabbix*
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* centos-sclo-rh: mirrors.163.com
* centos-sclo-sclo: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
已安装的软件包
zabbix-agent.x86_64 5.0.18-1.el7 @zabbix
zabbix-get.x86_64 5.0.18-1.el7 @zabbix
zabbix-nginx-conf-scl.noarch 5.0.18-1.el7 @zabbix-frontend
zabbix-release.noarch 5.0-1.el7 installed
zabbix-server-mysql.x86_64 5.0.18-1.el7 @zabbix
zabbix-web.noarch 5.0.18-1.el7 @zabbix-frontend
zabbix-web-deps-scl.noarch 5.0.18-1.el7 @zabbix-frontend
zabbix-web-mysql-scl.noarch 5.0.18-1.el7 @zabbix-frontend
可安装的软件包
zabbix-agent2.x86_64 5.0.18-1.el7 zabbix
zabbix-apache-conf-scl.noarch 5.0.18-1.el7 zabbix-frontend
zabbix-java-gateway.x86_64 5.0.18-1.el7 zabbix
zabbix-js.x86_64 5.0.18-1.el7 zabbix
zabbix-proxy-mysql.x86_64 5.0.18-1.el7 zabbix
zabbix-proxy-pgsql.x86_64 5.0.18-1.el7 zabbix
zabbix-proxy-sqlite3.x86_64 5.0.18-1.el7 zabbix
zabbix-sender.x86_64 5.0.18-1.el7 zabbix
zabbix-server-pgsql.x86_64 5.0.18-1.el7 zabbix
zabbix-web-deps-scl-php73.noarch 5.0.18-1.el7 zabbix-frontend
zabbix-web-japanese.noarch 5.0.18-1.el7 zabbix-frontend
zabbix-web-mysql-scl-php73.noarch 5.0.18-1.el7 zabbix-frontend
zabbix-web-pgsql-scl.noarch 5.0.18-1.el7 zabbix-frontend
zabbix-web-pgsql-scl-php73.noarch 5.0.18-1.el7 zabbix-frontend
[root@localhost jdk]# yum install zabbix-java-gateway.x86_64 -y
总下载量:991 k
安装大小:2.0 M
Downloading packages:
zabbix-java-gateway-5.0.18-1.el7.x86_64.rpm | 991 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : zabbix-java-gateway-5.0.18-1.el7.x86_64 1/1
验证中 : zabbix-java-gateway-5.0.18-1.el7.x86_64 1/1
已安装:
zabbix-java-gateway.x86_64 0:5.0.18-1.el7
完毕!
开启java-gateway
[root@localhost jdk]# systemctl start zabbix-java-gateway.service
[root@localhost jdk]# systemctl enable zabbix-java-gateway.service
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-java-gateway.service to /usr/lib/systemd/system/zabbix-java-gateway.service.
[root@localhost jdk]# netstat -antup | grep 10052
tcp6 0 0 :::10052 :::* LISTEN 4134/java
[root@localhost jdk]#
修改zabbix server配置文件,配置Java-Gateway
[root@localhost jdk]# vi /etc/zabbix/zabbix_server.conf
#将下面语句的注释去掉,并修改参数
JavaGateway=127.0.0.1 #修改为javagateway所在的服务器的ip地址,这里javagateway在zabbix server同在一台机器上,所以配置为127.0.0.1
JavaGatewayPort=10052 #端口号
StartJavaPollers=5 #进程数,大于客户端的数量
#重启服务
[root@localhost jdk]# systemctl restart zabbix-server.service
[root@localhost jdk]# cd ~
用工具cmdline-jmxclient-0.10.3.jar 测试,出现回显信息,就是成功
cmdline-jmxclient-0.10.3.jar下载:链接:https://pan.baidu.com/s/17ZV_qgkLv_wLj4faSwPhlg
提取码:xukd
[root@localhost ~]# java -jar /home/cmdline-jmxclient-0.10.3.jar - 192.168.1.134:12345 java.lang:type=Memory HeapMemoryUsage
12/23/2021 16:54:42 +0800 org.archive.jmx.Client HeapMemoryUsage:
committed: 24244224
init: 16777216
max: 247332864
used: 14229288
web端配置
更多推荐
所有评论(0)