zabbix配置jmx监控java应用

简介: zabbix配置jmx监控java应用

1.在被监控端上安装jdk


这里我是下载好的jdk.tar包安装的

[root@node2 local]# tar xf /root/jdk-8u211-linux-x64.tar.gz

改名

[root@node2 local]# mv jdk1.8.0_211/ java


2.解压tomcat软件到/usr/local/目录下


[root@node2 local]# tar xf  /root/apache-tomcat-8.5.45.tar.gz
[root@node2 local]# mv apache-tomcat-8.5.45/ tomcat


3.设置环境变量


追加下列内容到 /etc/profile

export JAVA_HOME=/usr/local/java
export TOMCAT_HOME=/usr/local/tomcat
export JRE_HOME=/usr/local/java/jre
export PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


生效环境变量

[root@node2 local]# source /etc/profile
[root@node2 local]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)


4.编辑 catalina.sh 文件,添加JMX参数


[root@node2 local]# cd tomcat/
[root@node2 tomcat]# ls
bin   lib      logs    RELEASE-NOTES  temp     work
conf  LICENSE  NOTICE  RUNNING.txt    webapps
[root@node2 tomcat]# cd bin/
[root@node2 bin]# vim catalina.sh 
CATALINA_OPTS='-Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=8888    ##监听端口号,方便远程访问
  -Dcom.sun.management.jmxremote.ssl=false     ##是否对连接开启SSL加密,默认开启
  -Dcom.sun.management.jmxremote.authenticate=false'    ##是否需要开启用户认证,默认开启


5.启动tomcat并查看端口号


[root@server2 bin]# ./startup.sh 
[root@server2 bin]# netstat -ntlp

查看端口


另一个


6.在zabbix监控端上编辑zabbix_server.conf配置文件


[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf 
JavaGateway=172.25.21.1
JavaGatewayPort=10052
StartJavaPollers=5


7.重启zabbix-server服务


[root@server1 ~]# systemctl restart zabbix-server


8.zabbix监控端上安装zabbix-java-gateway


[root@server1 ~]# yum install -y zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm


9.查看zabbix_java_gateway的配置文件(只是查看不用做修改)并开启服务


[root@server1 ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
[root@server1 ~]# systemctl start zabbix-java-gateway


10.在zabbix的监控界面点击被监控端主机,添加JMX接口



点击模板,选择Java JMX模板


点击更新


更新后,server2的JMX变绿说明配置成功



目录
相关文章
|
2月前
|
监控 算法 Java
【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Gauge和Histogram篇)
【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Gauge和Histogram篇)
36 0
|
23天前
|
JavaScript Java 测试技术
基于Java的新冠病毒校园监控平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的新冠病毒校园监控平台的设计与实现(源码+lw+部署文档+讲解等)
22 0
|
23天前
|
运维 监控 Java
Java 性能监控和故障排查技巧
【4月更文挑战第19天】Java应用的开发与运行需重视性能监控和故障排查,以确保稳定性和可靠性。利用日志记录、系统性能指标和VisualVM等工具进行监控。通过错误日志分析、分阶段测试、内存和线程分析来排查问题。关注性能瓶颈定位,并提前规划、定期监控,提升数据分析能力和团队协作,以优化应用性能。
|
1月前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
22 0
|
1月前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
Java相关配置
Java相关配置
1223 0
|
3天前
|
Java 数据库
【Java多线程】对线程池的理解并模拟实现线程池
【Java多线程】对线程池的理解并模拟实现线程池
12 1
|
1天前
|
Java
Java一分钟:线程协作:wait(), notify(), notifyAll()
【5月更文挑战第11天】本文介绍了Java多线程编程中的`wait()`, `notify()`, `notifyAll()`方法,它们用于线程间通信和同步。这些方法在`synchronized`代码块中使用,控制线程执行和资源访问。文章讨论了常见问题,如死锁、未捕获异常、同步使用错误及通知错误,并提供了生产者-消费者模型的示例代码,强调理解并正确使用这些方法对实现线程协作的重要性。
9 3
|
1天前
|
安全 算法 Java
Java一分钟:线程同步:synchronized关键字
【5月更文挑战第11天】Java中的`synchronized`关键字用于线程同步,防止竞态条件,确保数据一致性。本文介绍了其工作原理、常见问题及避免策略。同步方法和同步代码块是两种使用形式,需注意避免死锁、过度使用导致的性能影响以及理解锁的可重入性和升级降级机制。示例展示了同步方法和代码块的运用,以及如何避免死锁。正确使用`synchronized`是编写多线程安全代码的核心。
11 2
|
1天前
|
安全 Java 调度
Java一分钟:多线程编程初步:Thread类与Runnable接口
【5月更文挑战第11天】本文介绍了Java中创建线程的两种方式:继承Thread类和实现Runnable接口,并讨论了多线程编程中的常见问题,如资源浪费、线程安全、死锁和优先级问题,提出了解决策略。示例展示了线程通信的生产者-消费者模型,强调理解和掌握线程操作对编写高效并发程序的重要性。
10 3

推荐镜像

更多