VisualVM监控远程阿里云主机
一、前言
使用VisualVM监控远程主机,主要是要在远程主机上部署JMX服务和jstat服务,jstat服务的部署花了我半天的时间,而且,网上的资基本都是缺胳膊少腿的,没有一篇是一个整体(行得通的)。
二、环境
1.客户端
JDK1.8
2.服务端
JDK1.8
阿里云主机,CentOS7
公网IP:37.19.213.44 私有IP:192.168.0.58 (这两个网络很重要)
确定服务器的主机名和IP是对应的,如下:
hostname -i # 如果匹配的结果是无法识别或者127.0.0.1, 则需要手动配置主机名和IP映射,假设主机名是alibaba vim /etc/hosts
# 添加一行。记住这里填的是私有IP,不能是公有IP,不能是公有IP,否则你会被坑得连自己姓什么都不知道。 一般默认会有一条这样的记录
192.168.0.58 alibaba
三、修改服务器配置
1.修改catalina.sh文件
进入tomcat中的bin目录,修改catalina.sh文件
cd /usr/local/tomcat/apache-tomcat-7.0.93/bin/
vim catalina.sh
# 添加如下配置:
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=37.19.213.44"
配置参数说明:
# -Dcom.sun.management.jmxremote.ssl 是否开启ssl传输,设为false即可
# -Dcom.sun.management.jmxremote.authenticate 是否校验,设为false即可
# -Dcom.sun.management.jmxremote.password.file 远程登录的账号、密码管理文件,下文会讲到如何获取
# -Dcom.sun.management.jmxremote.access.file 远程登录的账号权限管理文件,下文会讲到如何获取
# -Djava.rmi.server.hostname 这个很重要,如果不填的话,可以重启成功,按时客户端的jvisual是无法远程连接上的,这里的IP必须是公网IP,公网IP
配置截图:

2.添加jmx的端口监听
进入tomcat中的conf目录,修改server.xml文件。添加如下的监听配置。其中10001和10002是自定义的两个端口,用于远程连接需要。
<!-- 远程监控 -->
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
配置截图:

3.添加jmx的访问控制文件
# 进入tomcat/conf的目录
# 执行以下命令
# 复制jmxremote.password、jmxremote.access两个文件到conf目录
cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.password
cp $JAVA_HOME/jre/lib/management/jmxremote.access jmxremote.access
vi jmxremote.password # 取消下面两行的注释,取消注释表示你可以使用这两个账号进行远程登录
#monitorRole QED
#controlRole R&D # 也可以自定义账号,格式如 username passwd,如我想要添加一个zexin的账号,密码是123
vim jmxremote.password
# 在最后一行添加
# 格式为:账号 密码(中间用空格隔开)
origin admin
# 修改完jmxremote.password文件,还要修改jmxremote.access文件,添加权限
origin readwrite # 给予读写jmxremote.password、jmxremote.password文件的权限,如果没有读写的权限程序会抛异常
chmod 600 jmxremote.password
chmod 600 jmxremote.access
4.添加catalina-jmx-remote.jar
这里需要注意,可能会出现版本冲突的问题。我下载的7.0的版本,下载后copy到tomcat/lib目录
5.配置防火墙
阿里云:把10001、10002这两个端口加入到安全组

本地虚拟机:修改防火墙配置文件
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10001 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10002 -j ACCEPT
# 重启防火墙
service iptables restart
然后 重启Tomcat
四、本地开启远程监控(测试)
添加远程主机:

添加JMX连接:


成功连接:

GC不受此JVM支持:

我找的很多都没有得到解决。
五、插件安装
注意:由于java.net网站已关闭,无法在线安装插件。visualvm已经迁移到了github上,地址是https://visualvm.github.io/index.html
点击Plugins进入插件页面

找到对应的JDK版本地址点击进去,例如:java version "1.8.0_201"

选择你要安装的插件下载:

打开jvisualvm选择:工具 ——> 插件 ——> 已下载 ——> 添加插件 ——> 选择下载好的插件
VisualVM监控远程阿里云主机的更多相关文章
- Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)
准备: 1 一个war包或者jar包,这里我用springboot的 2 linux环境,安装tomcat,jdk,我用的jdk11和tomcat9,jdk11和8的拷贝权限文件路径有点不一样,这个需 ...
- 使用jvisualvm远程监控tomcat(阿里云ECS)
写在前面: 使用jvisualvm远程监控tomcat(阿里云ECS),连接是报错:service:jmx:rmi:////jndi/rmi:IP:端口// 连接到 IP:端口,网上找了很多资料, ...
- 阿里云主机CentOS7设置远程连接MySQL数据库
有一个困扰了我好久的问题,今天终于解决了. 看网上的答案只有一部分.今天把完整的发篇博客纪念一下下. 首先,连接阿里云主机并登录数据库, 1.添加一个Host mysql>select User ...
- 放弃阿里云主机,选择高性价比Vultr VPS免备案
阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...
- 阿里云主机Nginx下配置NodeJS、Express和Forever
https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...
- 免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比
网站会因为各种原因而导致宕机,具体表现为服务器没有响应,用户打不开网页,域名解析出错,搜索引擎抓取页面失败,返回各种HTTP错误代码.网站宕机可能带来搜索引擎的惩罚,网站服务器不稳定与百度关系文章中就 ...
- 远程连接云主机MySql数据库
笔者最近在学习MySql数据库,试着远程连接阿里云主机数据库.在连接过程中遇到不少麻烦,这里总结一下过程中遇到的问题. 基本前提 先在本地电脑和远程主机上安装MySql数据库,保证数据库服务启动. 云 ...
- 阿里云主机windows系统Apache启用浏览器缓存的方法
一群友使用卡卡网的网站速度诊断工具诊断网站速度时,发现有几个需要优化的地方,其中较为重要的是“启用浏览器缓存”.诊断结果显示,网站尚未启用浏览器缓存. 图一:浏览器缓存未启用 群友找我帮忙设置一下,据 ...
- 阿里云主机(aliyun-Linux) x64安装Redis详解
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/97.html?1455870336 如何在Linux上安装Redis呢, ...
随机推荐
- 【大数据之数据仓库】kudu性能测试报告分析
本文由 网易云发布. 这篇博文主要的内容不是分析说明kudu的性能指标情况,而是分析为什么kudu的scan性能会这么龊!当初对外宣传可是加了各种 逆天黑科技的呀:列独立存储.bloom filte ...
- [USACO5.1] 乐曲主题Musical Themes
题目链接:戳我 Emmm......hash怎么做啊不会啊 这里是SA后缀数组版本的 就是先两两做差分,作为要处理后缀的数组.普通地求出来h数组之后,我们二分这个答案,然后判定是否合法就行了.是否合法 ...
- 【文文殿下】Win7打开无线热点
下载程序 : https://files.cnblogs.com/files/Syameimaru/wifi.rar 打开config.ini 修改相关信息,然后运行程序. 运行成功后,打开网络和共享 ...
- docker容器的基本操作
docker容器是独立运行的一个或一组应用,以及它们的运行态环境.下面具体介绍如何管理一个容器,包括容器的创建,启动和停止等. 启动容器 基于镜像新建一个容器并启动 将终止状态的容器重新启动 新建并启 ...
- apt小问题
安装软件遇到情况,一直等待: root@test-xxx:/opt# apt-get install vsftpdReading package lists... DoneBuilding depen ...
- PCA(主成分分析)和LDA详解
http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html http://www.c ...
- (转)防止人为误操作MySQL数据库技巧一例
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1321061 防止人 ...
- Java之IO(十二)CharArrayReader和CharArrayWriter
转载请注明源出处:http://www.cnblogs.com/lighten/p/7082668.html 1.前言 本章介绍字符数组流,作用和ByteArrayInputStream字节数组流相同 ...
- Java之IO(十一)BufferedReader和BufferedWriter
转载请注明源出处:http://www.cnblogs.com/lighten/p/7074488.html 1.前言 按照字节流的顺序一样,字符流也提供了缓冲字符流,与字节流不同,Java虽然提供了 ...
- [转]ASP.NET Core 十种方式扩展你的 Views
http://www.cnblogs.com/savorboard/p/aspnetcore-views.html