zabbix通过JMX监控tomcat

在server.zabbix.com中我们在编译时已经添加--enabled-java选项并布置好了java环境所以不再做过多描述

一、配置java网关

复制代码
[root@server ~]# cd /usr/local/zabbix/sbin/zabbix_java/

[root@server zabbix_java]# ls
bin  lib  settings.sh  shutdown.sh  startup.sh

[root@server zabbix_java]# vim settings.sh

9 LISTEN_IP="0.0.0.0"
17 LISTEN_PORT=10052
27 PID_FILE="/tmp/zabbix_java.pid"
35 START_POLLERS=5

[root@server zabbix_java]# cd

[root@server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf   #末行追加

JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

[root@server ~]# sh /usr/local/zabbix/sbin/zabbix_java/startup.sh    #启动配置脚本

[root@server ~]# netstat -anpt | grep 10052      #查看10052端口装态 启动成功
tcp6       0      0 :::10052                :::*                    LISTEN      19451/java  

二、安装tomcat

tomcat源码包提取链接: https://pan.baidu.com/s/11ectXLVaSzmQs4tuspZKSw?pwd=2hye
**提取码:**2hye

复制代码
[root@server ~]# java -version

java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
[root@server ~]# javac -version
javac 1.8.0_91

[root@server ~]# which java
/usr/local/java/bin/java

[root@server ~]# tar xf apache-tomcat-8.5.16.tar.gz

[root@server ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat/

三、修改tomcat启动脚本

复制代码
[root@server ~]# vim /usr/local/tomcat/bin/catalina.sh

#!/bin/sh                     #添加如下信息CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote         #启用远程监控
JMX-Dcom.sun.management.jmxremote.port=12345             #jmx远程端口,Zabbix添加时必须一致
-Dcom.sun.management.jmxremote.authenticate=false         #不开启用户密码认证
-Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.2.20"     #运行tomcat服务IP(不要填写错了)

四、启动tomcat

复制代码
[root@server ~]# /usr/local/tomcat/bin/catalina.sh start

[root@server ~]# netstat -anpt | grep LISTEN | grep java 
tcp6       0      0 :::1028                 :::*                    LISTEN      31310/java          
tcp6       0      0 :::10052                :::*                    LISTEN      19451/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      31310/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      31310/java          
tcp6       0      0 :::17806                :::*                    LISTEN      31310/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      31310/java          
tcp6       0      0 :::12345                :::*                    LISTEN      31310/java   

五、Zabbix -web端配置

添加J MX 信息

导入模板

模板提取链接: https://pan.baidu.com/s/1KQeNlQAphVp7RQNhOSQT5Q?pwd=l3yp
**提取码:**l3yp

为server .zabix.com 添加模板

等待一会效果如下(1-2分钟)

如变红色 查看在tomcat的启动脚本中配置的端口后是否启动 为下面状态

复制代码
[root@agent ~]# netstat -antp | grep java
tcp6       0      0 :::21406                :::*                    LISTEN      11385/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      11385/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      11385/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      11385/java          
tcp6       0      0 :::25464                :::*                    LISTEN      11385/java          
tcp6       0      0 :::12345                :::*                    LISTEN      11385/java          
tcp6       0      0 192.168.200.112:12345   192.168.200.111:39274   ESTABLISHED 11385/java                #如果没有就重启一下tomcat       
tcp6       0      0 192.168.200.112:21406   192.168.200.111:26844   ESTABLISHED 11385/java          
tcp6       0      0 192.168.200.112:21406   192.168.200.111:26846   ESTABLISHED 11385/java

查看tomcat出图情况

其他JVM项出垃圾回收均可出图

相关推荐
懒鸟一枚24 分钟前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我123452 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑2 小时前
Sentinel安装
java·后端·微服务
凤凰院凶涛QAQ4 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
掘金_答案4 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅5 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp5 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
NG4775 小时前
【软件设计与体系结构】-策略设计模式
java·设计模式·软件工程
程序员天天困6 小时前
优雅记录操作日志:从注解到 SpEL 的全链路实践与开源方案对比
java·后端