如何用VisualVM连接远程Tomcat

如何用VisualVM连接远程Tomcat,第1张

1、设置Tomcat的JAVA_OPTS参数:

JAVA_OPTS="$JAVA_OPTS

-Dcom.sun.management.jmxremote=true

-Dcom.sun.management.jmxremote.port=9090

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

-Djava.rmi.server.hostname=10.154.252.108"

此处IP填的是tomcat所在远程机器的IP(hostname -i ),需要确保这个端口没程序占用。

可以直接把这个参数写入到catalina.sh文件中。

2、添加JMX连接,并填入IP和刚刚设置的端口。

连接完成之后,监视、线程、概述选项卡可以正常显示,也可以添加插件,选择“工具 - 插件”。可以添加新的插件,此处我们添加了一个名叫 Visual GC 的插件,用于监控JVM 的垃圾回收情况。

4、美中不足的是, Visual GC 并不买账,无法显示。

Visual GC uses the jvmstat technology to gather data from the monitored application. This means that the monitored application must either run locally or there must be a jstatd agent up and running on the remote system. For remote applications added using the JMX connection you will only see the "Not supported for this JVM" message - there's no jvmstat available.

引用自:https://blogs.oracle.com/nbprofiler/entry/visual_gc_plugin_2_0

使用JMX监控的功能不支持Visual GC,需要以jstatd的方式来监控。

5、使用Jstatd方式关联监控

Jstatd方法是利用后台的RMI守护进程来实现对远程JVM的监控。启动jstatd不复杂,

找到tomcat所在机器的Java目录,在bin目录下首先创建一个监控策略文件:

?

1

2

3

4

vi jstatd.all.policy

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission

}

把"${java.home}/../"替换成JAVA安装目录。然后执行如下命令启动jstatd:jstatd -J-Djava.security.policy=jstatd.all.policy

查看jstatd是否启动:

[root@vm-10-154-252-108 bin]# jps -l 127.0.0.1

8618 sun.tools.jps.Jps

7516 sun.tools.jstatd.Jstatd

15815 org.apache.catalina.startup.Bootstrap

7670 org.apache.catalina.startup.Bootstrap

21315 org.apache.catalina.startup.Bootstrap

21481 org.apache.catalina.startup.Bootstrap

11470 org.apache.catalina.startup.Bootstrap

15649 org.apache.catalina.startup.Bootstrap

15732 org.apache.catalina.startup.Bootstrap

21398 org.apache.catalina.startup.Bootstrap

11634 org.apache.catalina.startup.Bootstrap

5、删除VisualVM之前对Tomcat的监控,添加“远程主机”,输入主机IP,通过“高级设置”可以看到远程主机默认是jstatd方式监控的。

点击确定,将会列出该机器上所有的可监控的Java程序,

找到我们需要监控的程序PID,双击:

虚拟机中Linux开启远程登录选项,然后用SecureCRT连接。

最近在学习Linux,看了网上很多SecureCRT连接本地虚拟机当中的Linux系统,很多都是需要设置Linux的配置文件,有点繁琐,所以自己就摸索了一下,把相关操作贴出来分享一下。

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。这样操作的时候不必进入到linux桌面,可以更方便的在命令行下进行操作。

1、环境

宿主机OS:Windows 8.1 64bits

虚拟机OS:Ubuntu 15.04 64bits

VMWare:11.1.0

SecureCRT: 7.1.1.264 64bits

2、配置过程

VMware的网络连接我们要选择NAT模式,还有一种方式就是选择桥接模式(这里就不做说明,不推荐这个方式,由于每次路由器动态分配给虚拟机的IP地址不一样,导致每次通过SecureCRT连接的时候host地址要更改)。

进入到Ubuntu下,先查看Ubuntu虚拟机的IP配置,打开终端(Ctrl+Alt+T),通过ifconfig命令查看,可以看到Ubuntu下的IP地址信息。 

可以看出,该IP地址为192.168.172.168,然后就可以到Windows下设置VMware Network Adapter VMnet8,其中VMnet8的IP地址和默认网关和虚拟机要相同(保持和虚拟机IP保持在同一个网段)

根据Ubuntu下的信息,设置如上图所示即可。

前期工作已经做好,接下来就是要在Ubuntu下安装SSH服务了,打开终端,先检查一下,是否已经安装了SSH服务。

输入命令:ssh username@localhost。如果出现了ssh: connect to host localhost port 22: Connection refused

一般都是没有安装SSH,这个时候需要安装SSH。

(1)安装SSH

打开Ubuntu的终端,输入:

sudo apt-get install openssh-server

安装完毕后ssh默认已启动。可以使用下述命令查看是否有进程在22端口上监听,即是否已启动:

netstat -nat | grep 22

如果连接不了,则我们需要关闭掉防火墙

(2)关闭掉防火墙

sudo ufw disable

关闭防火墙之后,netstat -nat | grep 22一下,就能看出SSH服务了

3、SecureCRT连接Ubuntu

打开SecureCRT软件,进行配置。ProtoCol模式选为SSH2,Port为22,HostName为192.168.172.168(就是我们Ubuntu的IP地址),UserName为我们Ubuntu的登录账户。

PassWord为我们Ubuntu的登录密码

然后就是见证奇迹的时候到了~~~

我们随便输入常见命令:ls

说明已经连接成功了。

4、常见问题

大家发现上面ls的时候,返回的数据是乱码。因为SecureCRT中文显示乱码

解决办法Options->Session Options->Terminal->Appearance,Character选择UTF-8。

然后再输入ls试试看,亲切的界面回来了。

用SecureCRT 实现 WIN7 与 Linux 双向通信的问题及文件互传问题解决 http://www.linuxidc.com/Linux/2014-08/105412.htm

如何使用SecureCRT6.6.2通过SSH方式登录Ubuntu系统 http://www.linuxidc.com/Linux/2011-03/33024p4.htm

SecureCRT 连接 Ubuntu http://www.linuxidc.com/Linux/2013-06/85824.htm

Ubuntu 12.04 + 虚拟机VMware 9 + Secure CRT + EditPlus 本地C++开发环境搭建 http://www.linuxidc.com/Linux/2013-05/84820.htm

利用SecureCRT在Linux与Windows之间传输文件 http://www.linuxidc.com/Linux/2014-08/105413.htm

Ubuntu 14.10安装SecureCRT 7.3 http://www.linuxidc.com/Linux/2014-10/108709.htm

1、安装完成虚拟机VMware,在网路连接里可以看到多出来两个虚拟网卡,VMware Network Adapter VMnet1和VMware Network Adapter VMnet8

2、设置网络,使用的是无线网络(如果是本地连接,设置方式相同),右键选择无线网络连接,在属性窗口中选择高级,选中允许其他网络用户通过此计算机的Internet连接来连接,并在家庭网络连接处,选择 VMware Network Adapter VMnet8

3、,查看下VMware Network Adapter VMnet8的网络连接属性,被自动设置为 192.168.0.1,255.255.255.0。

4、启动虚拟机,进入虚拟机操作系统,设置虚拟机的网络连接,设置IP为192.168.0.2,子网掩码为255.255.255.0,网关为192.168.0.1(网关是VMware Network Adapter VMnet8虚拟网卡的IP地址),DNS设为主机网络连接的DNS,(连接到外网的连接的DNS,使用的是无线网络连接,所以找到无线网络连接的DNS就是了,如果是宽带连接,就是本地连接的DNS)。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/308321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存