Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)
准备:
1 一个war包或者jar包,这里我用springboot的
2 linux环境,安装tomcat,jdk,我用的jdk11和tomcat9,jdk11和8的拷贝权限文件路径有点不一样,这个需要注意
3 不管是Jconsole还是VisualVM,项目或者tomcat的配置都是一样的!
参考文章: https://blog.csdn.net/u010004317/article/details/82948040
远程监控WAR包:
1 设置hostname -i 为私有IP,如果是虚拟机ip,需要设置为连接的IP
vim /etc/hosts 添加:

2 修改catalina.sh文件,设置启动参数,在tomcat /bin目录:

添加JMX启动参数:
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access -Djava.rmi.server.hostname=公有IP"
3 server.xml添加监听端口,即连接的端口:

添加监听端口:
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="6379" rmiServerPortPlatform="3306" />
4 拷贝jmxremote权限文件,并编辑
这里jdk11和jdk8目录不一样,jdk11在jdk-11.0.4/conf/management/ 下面,拷贝到tomcat刚才配置的路径即可
编辑jmxremote.password:

编辑jmxremote.access:

5 添加catalina-jmx-remote.jar:
下载地址:http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote 我用的9.0.14,放到tomcat/lib下面,正常启动就可以了
6 测试连接,用配置的用户名或者默认的

注意: 如果连接不通,可以先看端口能否Telnet,然后 hostname -i Ip是否正常!
远程监控JAR包: (这个实际测试中一直连接失败,暂时没找到原因)
项目 pom加入JMX依赖,需要和tomcat版本对应:
tomcat-catalina-jmx-remote: springboot 2.0.6对应的是8.5.34
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina-jmx-remote</artifactId>
<version>8.5.34</version>
</dependency>
权限文件处理和war包一样,jar项目启动直接在后面加上配置权限即可,权限是必须配置的,还有端口在这里直接配置:
java -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=~/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=~/jmxremote.access -Djava.rmi.server.hostname=47.93.1.227 -Dcom.sun.management.jmxremote.port=8011 -jar springmvc-0.0.1-SNAPSHOT.jar
Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)的更多相关文章
- VisualVM监控远程阿里云主机
一.前言 使用VisualVM监控远程主机,主要是要在远程主机上部署JMX服务和jstat服务,jstat服务的部署花了我半天的时间,而且,网上的资基本都是缺胳膊少腿的,没有一篇是一个整体(行得通的) ...
- 免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比
网站会因为各种原因而导致宕机,具体表现为服务器没有响应,用户打不开网页,域名解析出错,搜索引擎抓取页面失败,返回各种HTTP错误代码.网站宕机可能带来搜索引擎的惩罚,网站服务器不稳定与百度关系文章中就 ...
- 使用jvisualvm远程监控tomcat(阿里云ECS)
写在前面: 使用jvisualvm远程监控tomcat(阿里云ECS),连接是报错:service:jmx:rmi:////jndi/rmi:IP:端口// 连接到 IP:端口,网上找了很多资料, ...
- VisualVM监控远程主机上的JAVA应用程序
使用VisualVM监控远程主机上JAVA应用程序时,需要开启远程主机上的远程监控访问,或者在远程JAVA应用程序启动时,开启远程监控选项,两种方法,选择其中一种就可以开启远程监控功能,配置完成后就可 ...
- 重磅!容器集群监控利器 阿里云Prometheus 正式免费公测
Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架.它启发于 Google 的 borgmon 监控系统,并于 2015 年正式发布.2016 年,Prometheu ...
- VisualVM监控远程主机
参考博客 https://blog.csdn.net/u010004317/article/details/82948040 https://blog.csdn.net/lienfeng6/artic ...
- 容器监控—阿里云&容器内部服务监控
目前Docker的使用越来越离不开对容器的监控,阿里云最近上线了容器服务,不但提供了核心的容器和宿主机监控能力,而且支持集成 Cloud Insight 监控,下面会介绍如何集成. 首先介绍一下阿里云 ...
- 阿里云ECS的CPU100%排查
一.背景和现象 初创公司,架构lanmp,web前端和后端分开服务器,业务驱动主要是nginx和apache,nginx主要是处理静态文件和反向代理,前后端.搜索引擎.缓存.队列等附加的服务都是用do ...
- Knative 应用在阿里云容器服务上的最佳实践
作者|元毅 阿里云智能事业群高级开发工程师 相信通过前面几个章节的内容,大家对 Knative 有了初步的体感,那么在云原生时代如何在云上玩转 Knative?本篇内容就给你带来了 Knative 应 ...
随机推荐
- DEVOPS技术实践_09:Jenkins多分支管道
简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...
- iptables限速
####限速 限制指定时间包的允许通过数量及并发数-m limit --limit n/{second/minute/hour}:指定时间内的请求速率"n"为速率,后面为时间分别为 ...
- 【一起学源码-微服务】Nexflix Eureka 源码十三:Eureka源码解读完结撒花篇~!
前言 想说的话 [一起学源码-微服务-Netflix Eureka]专栏到这里就已经全部结束了. 实话实说,从最开始Eureka Server和Eureka Client初始化的流程还是一脸闷逼,到现 ...
- springboot-实现文件下载
一 前言 本文实现的文件下载是使用Apache 的 commons-fileupload 实现:在之前的springboot系列文件中已经讲述过如何实现多文件上传:这篇文件实现的文件下载功能主要是能在 ...
- [技术翻译]Web网页内容是如何影响电池使用寿命的?
本周再来翻译一些技术文章,本次预计翻译三篇文章如下: 04.[译]使用Nuxt生成静态网站(Generate Static Websites with Nuxt) 05.[译]Web网页内容是如何影响 ...
- 深度学习论文翻译解析(六):MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications
论文标题:MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications 论文作者:Andrew ...
- html 拨打电话
其实就一行 你们别想太复杂 直接在手机中访问 点击a标签(如果你在pc端我就没话说了) <a href="tel:13999999999"></a>
- 浅谈Go类型转换之间的那些事
试着答一答这些问题 s[i]和(for _,v range)的v的区别是什么 var s string = "AB" fmt.Println(reflect.TypeOf(s[0] ...
- list绑定
/** * 首页信息查询的回调函数 * @param 返回值 */ M_Main.ajaxCallBack = function (data){ var dataSource = data.resiC ...
- 2019牛客暑期多校第六场题解ABDJ
A.Garbage Classification 传送门 题意:给你两个串,第一个串s由小写字母组成,第二个串t由dwh组成,长度为26,分别表示字母a到z代表的字符.现在要你判断: 如果字符串中‘h ...