`

jconsole_tomcat 基于jdk1.5--3

    博客分类:
  • java
阅读更多

Figure 15: List of All Logger Names.

Logging MBean也支持三种操作:

  • getParentLoggerName. 返回指定logger的父logger
  • getLoggerLevel. 返回指定logger的日志等级
  • setLoggerLevel.设置指定logger到一个新的等级

所有三个操作都把日志名称作为第一个参数。



 

Figure 16: Setting Log Level.

 

获取操作系统资源信息-Sun平台下的扩展

JDK5.0扩展了操作系统的MBean,以此可以获取一下系统资源的信息,如:

  • 处理的CPU
  • 总共的和空闲的物理内存
  • 可获得的虚拟内存。(即保证可以分配给运行的进程的虚拟内存)
  • 总共的和空闲的交换区
  • 打开的文件总数(只能在Unix下使用)

当打开MBeans标签下的Operating System MBean,你可以看到平台可以执行的所有属性和操作。你可以监控任何一个属性随时间的变化——如,CPU时间-双击属性的值域部分。

 



 

Figure 17: MBeans Tab OS.

除此之外,VM标签和Summary标签提供了操作系统资源的一些信息


管理应用的MBean
被监控的SampleTest应用有它自己的Hello MBean:

com.sun.example:type=Hello如果CacheSize 属性发生改变,Hello MBean将会发送一个通知。你可以和管理平台的MBeans一样使用MBeans标签页来管理你的应用的MBean。例如,当CacheSize 属性变化的时候你想监控。你首先可以在Notification标签页中订阅。如果你改变CacheSize,你可以看到一个通知被发送。

 



 

 

Figure 18: Notifications.

配置tomcat使用jconsole

修改catalina脚本

Windows平台:修改catalina.bat,在dorun和dostart段开头增加一行(注意是一行):

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port="9004"

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

 

Unix/Linux平台:修改catalina.sh,在dorun和dostart段开头增加一行(注意是一行):

JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port="9004"

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

启动jconsole

启动tomcat之后,根据上文中的jconsole简介中的命令启动jconsole,如果是在服务器本地运行jconsole,会出现如下界面:

 



 

 

直接进行连接即可。

如果是远程监控,需要点击远程选项卡并输入相关信息,示例如下:



 

 

“主机名或ip”处填写需要监视的主机ip,端口为服务器上上文中添加的-Dcom.sun.management.jmxremote.port="portNumber"设定的端口,本文以9004为例。在设定为:-Dcom.sun.management.jmxremote.authenticate="false" 的情况下,用户名和口令留空即可。

进阶安全设定

在上文中的配置适用于在测试环境中监视tomcat,如果是在生产环境中监视tomcat则需要在安全性上有进一步要求。

配置jmx访问密码

1. 修改上文中的catalina脚本中的JAVA_OPT参数,将
-Dcom.sun.management.jmxremote.authenticate="false" 修改为:
-Dcom.sun.management.jmxremote.authenticate="true"

2. 将$JRE/lib/management/jmxremote.password.template文件在同目录下复制一份,重命名为$JRE/lib/management/jmxremote.password,编辑jmxremote.password,添加允许访问的用户名及密码,比如添加用户zxwh,密码为zxme,则在文件尾添加一行:
zxwh zxme
注意用户密码不能包含空格,tab等字符

3. 编辑$JRE_HOME/lib/management/jmxremote.access文件,对刚才添加的用户赋予一定的权限:
zxwh readonly (或者readwrite)

4. 确认jmxremote.password和jmxremote.access两个文件中的用户是相同的。注意如果jmxremote.access中没有对应用户的话,配置是无效的。
注:以上配置文件的位置都是可以更改的,具体配置方法在此不再赘述。

5. 由于jmxremote.password中的密码都是明文保存的,所以jmxremote.password、jmxremote.access文件的权限要注意,应该设置为只有owner才可读,当然这个用户也必须是启动tomcat的用户。

6. 启动jconsole进行连接,在用户名和口令处输入设定的用户和密码。

7. 使用密码认证方式进行连接,不但可以提高安全性,而且可以对用户的权限进行设置。如果不使用密码认证的方式,则无法对用户的权限进行限制。

配置使用ssl进行加密连接


1. 在服务器上使用keytool创建密钥对
keytool是java平台自带的一个密钥和证书管理工具,使用keytool创建密钥对:
keytool -genkey -alias tomcat -keystore /somepath/tomcatKeyStore
按照提示输入相关信息(包括设定密码、姓、组织名等),这些信息是可以随便输入的,但从产品角度讲应该统一设定。输入的密码在今后操作中均需要使用。

 

2. 导出公钥
keytool -export -alias tomcat -keystore /somepath/tomcatKeyStore -file /somepath/jconsole.cert

 

3. 将公钥导入至需要运行jconsole的机器。
keytool –import –alias jconsole –keystore /somepath/jconsoleKeyStore -file /somepath/jconsole.cert

 

4. 修改tomcat的catalina脚本
将-Dcom.sun.management.jmxremote.ssl="false"修改为:
-Dcom.sun.management.jmxremote.ssl="true",并在 JAVA_OPTS变量行添加:
-Djavax.net.ssl.keyStore=/somepath/jconsoleKeyStore
-Djavax.net.ssl.keyStorePassword=设定的密码

 

5. 使用如下参数启动jconsole :
jconsole -J-Djavax.net.ssl.trustStore=/somepath/jconsoleKeyStore

 

6. 填入主机名、用户、口令连接服务器。

其他问题

1. 在执行shutdown.sh或者shutdown.bat脚本关闭tomcat时出现如下错误,tomcat无法关闭:


错误: 代理抛出异常: java.rmi.server.ExportException: Port already in use: 9004;
nested exception is:java.net.BindException: Address already in use: JVM_Bind

 

出错原因:JAVA_OPT变量设置的参数未放置于本文档中指定位置。

分享到:
评论

相关推荐

    jdk-8_tomcat-7_MySQL-client-5_MySQL-server-5.rar

    该压缩包"jdk-8_tomcat-7_MySQL-client-5_MySQL-server-5.rar"集合了四个关键组件,为在Linux系统上构建Java Web服务环境提供了必要的软件。下面将详细介绍这些组件及其重要性。 首先,JDK(Java Development Kit)...

    JConsole_远程监控Tomcat_ricky

    ### JConsole 远程监控 Tomcat 服务 #### 1. 概述 JConsole 是一个集成在 Java 开发工具包 (JDK) 中的图形用户界面 (GUI) 工具,它允许用户通过 Java 管理扩展 (JMX) 对正在运行的 Java 虚拟机 (JVM) 进行监控。...

    最新版windows jdk-18_windows-x64_bin.zip

    3. 安装:双击"jdk-18_windows-x64_bin.exe"执行安装。按照安装向导的提示,选择合适的安装路径,并勾选必要的组件,如公共JRE(Java Runtime Environment)。 4. 配置环境变量:安装完成后,需要在系统环境变量中...

    jconsole-tomcat配置

    ### jconsole-tomcat配置详解 #### 一、引言 在现代软件开发与运维过程中,性能监控与故障排查是确保应用稳定运行的关键环节之一。作为一款广泛使用的Java应用服务器,Tomcat同样需要进行细致的监控与管理。而...

    jdk-8u131适用64位系统.rar

    标题中的"jdk-8u131适用64位系统"指的是该压缩包包含了适用于64位操作系统的JDK版本8的更新131(Update 131)。在64位操作系统上安装64位的JDK能够确保程序能够利用到系统提供的全部内存资源,这对于处理大量数据或...

    jconsole+tomcat配置说明 附加Tomcat内存说明(基于jdk5.0).docx )

    【JConsole工具详解】 JConsole是Java Development Kit (JDK) 自带的一个强大的监测和管理工具,主要用于诊断和分析Java应用...对于基于JDK 5.0的Tomcat配置,确保JConsole的兼容性以及正确配置JMX代理是关键步骤。

    apache-tomcat-11.0.0-M17-windows-x64.zip

    3. **启动与停止**:在Tomcat的`bin`目录下,可以通过执行`startup.bat`启动Tomcat,执行`shutdown.bat`关闭Tomcat。也可以通过管理工具(如Windows服务)进行自动化管理。 4. **配置文件**:Tomcat的主要配置文件...

    apache-tomcat-7.0.42-windows-x64免安装包

    - 使用`jstack`和`jconsole`等JDK工具进行线程和内存分析。 通过理解以上内容,你可以有效地部署和管理Apache Tomcat 7.0.42 Windows x64免安装版本,同时利用其特性构建和运行Java Web应用程序。

    jdk-8u11-windows-x64.exe

    1. **下载**:首先从Oracle官网下载适用于Windows x64的JDK 8u11安装包,即“jdk-8u11-windows-x64.exe”。 2. **运行安装**:双击下载的exe文件,启动安装向导,按照提示进行下一步操作。 3. **选择安装路径**:...

    jdk-7u9-linux-i586.tar.gz

    **标题:“jdk-7u9-linux-i586.tar.gz”** 暗示着这是一个针对Linux系统(i586架构)的Java Development Kit(JDK)的压缩包,具体版本为7u9。在Java开发和部署环境中,JDK是必不可少的组件,它包含了编译、调试和...

    jdk-8u66-linux-x64

    在"jdk-8u66-linux-x64"这个压缩包中,我们主要关注的是JDK 8的第66次更新,这是一个针对64位Linux操作系统的版本。64位系统能够处理更大的内存和更多的计算任务,因此对于大型应用或服务器环境是理想的选择。 1. *...

    JDK安装压缩包(jdk_windows-11.0.6_x64_bin.zip)

    这个压缩包中包含的主要文件是"jdk-11.0.6_windows-x64_bin.exe",这是一个可执行文件,用于在Windows平台上安装JDK。安装程序将解压并配置JDK的环境,包括Java运行时环境(JRE)和开发工具,如编译器(javac)、类...

    JDK-Tomcat-MySql.zip

    【标题】"JDK-Tomcat-MySql.zip" 提供了三个关键组件:Java Development Kit (JDK),Apache Tomcat服务器以及MySQL数据库,这些都是构建和运行基于Java的Web应用程序的基础。 【描述】"JDK_Tomcat_MySql.zip" 指出...

    jdk-8u321-linux-x64

    标题“jdk-8u321-linux-x64”指的是Oracle JDK 8的第321次更新,针对Linux操作系统的64位版本。Oracle JDK是Java开发工具包的一个实现,它包含了Java运行环境(JRE)以及用于编译、调试和部署Java应用程序的工具。这...

    jdk12-16windows-x64_bin.exe安装包.zip

    Java开发工具包(Java Development Kit,简称JDK)是用于编写和运行Java应用程序的重要软件工具。JDK12-16windows-x64_bin.exe是一个适用于Windows操作系统的64位版本的Java JDK安装包,它包含了Java编译器、解释器...

    JAVA-JDK-8u221(Linux)x64.zip

    4. **服务器上的Web项目**:在Linux服务器上部署Web项目时,JDK是必需的,因为大多数Web服务器(如Apache Tomcat、Jetty或JBoss)都需要Java环境来解析和运行Java Web应用程序(如Servlets和JSPs)。通过安装JDK,...

    tomcat8+jdk1.8.zip

    【标题】"Tomcat8+jdk1.8.zip"是一个包含Tomcat 8服务器和Java Development Kit (JDK) 1.8版本的压缩包,适用于Linux和Windows操作系统。这个组合是开发和运行Java Web应用程序的常用环境配置。 【描述】提及的...

    jdk1.8.0_281.zip

    3. **JDK工具** - **javac**:Java编译器,将源代码编译成字节码。 - **javadoc**:生成API文档的工具。 - **jconsole**:Java监视和管理控制台,用于监控Java应用程序的性能和资源使用情况。 - **jmap**:用于...

    tomcat,jdk,redis

    【标题】:“Tomcat、JDK与Redis的配置与应用详解” 【描述】:“本文将深入探讨在无法直接获取特定环境包的情况下,如何利用现有的‘环境包’来配置和使用Tomcat服务器、Java Development Kit(JDK)以及Redis内存...

Global site tag (gtag.js) - Google Analytics