{"id":12752,"date":"2013-03-26T08:30:32","date_gmt":"2013-03-25T23:30:32","guid":{"rendered":"http:\/\/www.sssg.org\/blogs\/hiro345\/?p=12752"},"modified":"2013-03-30T11:10:21","modified_gmt":"2013-03-30T02:10:21","slug":"jconsole-%e3%81%a7-tomcat7-%e3%82%92%e3%83%a2%e3%83%8b%e3%82%bf%e3%83%aa%e3%83%b3%e3%82%b0","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/12752.html","title":{"rendered":"jconsole \u3067 Tomcat7 \u3092\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0"},"content":{"rendered":"<p>jconsole \u3067 Tomcat7 \u3092\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u306b\u306f\u3001\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u6b21\u306e\u3088\u3046\u306b JAVA_OPTS \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<br \/>\n<!--more--><br \/>\n<strong>\u6e96\u5099<\/strong><br \/>\n\u3053\u3053\u3067\u306f\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u8d8a\u3048\u305f\u308a\u3059\u308b\u5834\u5408\u306e\u3053\u3068\u3082\u8003\u3048\u3066\u3001\u30ea\u30e2\u30fc\u30c8\u304b\u3089\u63a5\u7d9a\u3059\u308b\u306b\u3042\u305f\u3063\u3066\u306f SSH \u30dd\u30fc\u30c8\u30d5\u30a9\u30ef\u30fc\u30c9\u3067\u63a5\u7d9a\u3059\u308b\u65b9\u6cd5\u3092\u4f7f\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<ul>\n<li>tomcat.localdomain\u3068\u3044\u3046\u30db\u30b9\u30c8\u3067tomcat\u3092\u7a3c\u50cd\u3057\u3066\u3044\u308b\u3068\u3057\u307e\u3059\u3002<\/li>\n<li>tomcat.localdomain\u306e\u30de\u30b7\u30f3\u3067\u306f\u3001\/usr\/java\/jdk1.7.0_17 \u306b JDK7 \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3001Tomcat \u3092 $HOME\/applications\/apache-tomcat-7.0.37 \u3078\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/li>\n<li>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30de\u30b7\u30f3\u3067\u306fJDK7\u306f$HOME\/applications\/java\/jdk1.7.0_17\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/li>\n<li>Tomcat \u306e\u30b5\u30a4\u30c8\u304b\u3089 Extras: JMX Remote jar \uff08catalina-jmx-remote.jar\uff09\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/li>\n<\/ul>\n<p><strong>\u30ed\u30fc\u30ab\u30eb\u30de\u30b7\u30f3<\/strong><br \/>\n\u307e\u305a\u306f\u6b21\u306e\u3088\u3046\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7528\u610f\u3057\u3066\u3001\u540c\u3058\u30de\u30b7\u30f3\u3067 Tomcat7 \u3068 jconsole \u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n#!\/bin\/sh\r\nCATALINA_HOME=$HOME\/applications\/apache-tomcat-7.0.37\r\nJAVA_HOME=\/usr\/java\/jdk1.7.0_17\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Djava.rmi.server.hostname=127.0.0.1&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9993&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false&quot;\r\n\r\nexport JAVA_HOME\r\nexport JAVA_OPTS\r\nCATALINA_HOME\/bin\/startup.sh\r\n<\/pre>\n<p>\u30ed\u30fc\u30ab\u30eb\u30de\u30b7\u30f3\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3092\u3059\u308b\u3068\u304d\u306e jconsole \u306f\u4e0b\u8a18\u30b3\u30de\u30f3\u30c9\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ \/usr\/java\/jdk1.7.0_17\/bin\/jconsole\r\n<\/pre>\n<p>\u30d7\u30ed\u30bb\u30b9\u3067 tomcat \u306e\u3082\u306e\u3092\u9078\u629e\u3057\u3066\u304b\u3089\u63a5\u7d9a\u3068\u3057\u3066\u3082\u3088\u3044\u3067\u3059\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u3001localhost:9993 \u3092\u6307\u5b9a\u3057\u3066\u63a5\u7d9a\u3057\u3066\u3082\u3088\u3044\u3067\u3059\u3002\u958b\u767a\u30de\u30b7\u30f3\u3067\u306f\u3053\u306e\u3088\u3046\u306b\u30ed\u30fc\u30ab\u30eb\u30de\u30b7\u30f3\u3067\u52d5\u304b\u3059\u3053\u3068\u3082\u591a\u3044\u3067\u3057\u3087\u3046\u3002Eclipse\u304b\u3089\u306e\u63a5\u7d9a\u3082localhost:9993\u3067\u3044\u3051\u308b\u306e\u3067\u3001\u7c21\u5358\u306b\u4f7f\u3048\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<p><strong>\u30ea\u30e2\u30fc\u30c8\u30de\u30b7\u30f3<\/strong><br \/>\n\u6b21\u306b\u30ea\u30e2\u30fc\u30c8\u30de\u30b7\u30f3\u3067\u52d5\u4f5c\u3059\u308bTomcat\u3078\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30de\u30b7\u30f3\u304b\u3089\u63a5\u7d9a\u3092\u3059\u308b\u5834\u5408\u306e\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u307f\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u3061\u304c\u3046\u30de\u30b7\u30f3\u304b\u3089\u306e\u63a5\u7d9a\u3068\u306a\u308b\u3068\u3001JMX + RMI \u304c\u4f7f\u7528\u3055\u308c\u308b\u306e\u3067\u3001Tomcat \u306e\u30b5\u30a4\u30c8\u304b\u3089 Extras: JMX Remote jar \uff08catalina-jmx-remote.jar\uff09\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066 $CATALINA_HOME\/lib \uff08$HOME\/applications\/apache-tomcat-7.0.37\/lib\uff09\u3078\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>$CATALINA_HOME\/conf\/server.xml \u3067 Listener \u8981\u7d20\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u3044\u304f\u3064\u304b Listener \u8981\u7d20\u304c\u8a18\u8ff0\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u306a\u306e\u3067\u3001\u305d\u3053\u3078\u4e0b\u8a18\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"brush: xml; gutter: true\">\r\n  &lt;Listener\r\n   className=&quot;org.apache.catalina.mbeans.JmxRemoteLifecycleListener&quot;\r\n   useLocalPorts=&quot;true&quot;\r\n   rmiRegistryPortPlatform=&quot;9993&quot;\r\n   rmiServerPortPlatform=&quot;9994&quot;\/&gt;\r\n<\/pre>\n<p>\u5148\u307b\u3069\u4f5c\u6210\u3057\u305fTomcat\u7528\u306e\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u3082\u4e0b\u8a18\u306e\u3088\u3046\u306b\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n#!\/bin\/sh\r\nCATALINA_HOME=$HOME\/applications\/apache-tomcat-7.0.37\r\nJAVA_HOME=\/usr\/java\/latest\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Djava.rmi.server.hostname=localhost&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote=true&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false&quot;\r\nJAVA_OPTS=&quot;$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false&quot;\r\n\r\nexport JAVA_HOME\r\nexport JAVA_OPTS\r\n$CATALINA_HOME\/bin\/startup.sh\r\n<\/pre>\n<p>\u6e96\u5099\u304c\u3067\u304d\u305f\u3089\u3001Tomcat\u3092\u518d\u8d77\u52d5\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u305d\u308c\u3067\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30de\u30b7\u30f3\u304b\u3089\u306e\u63a5\u7d9a\u3092\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u6b21\u306e\u3088\u3046\u306a\u30c4\u30fc\u30eb\u7528\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u7528\u610f\u3057\u3066\u3001jconsole \u3092\u4f7f\u3044\u307e\u3059\u3002JMX Remote jar \uff08catalina-jmx-remote.jar\uff09\u304c\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u3082\u5fc5\u8981\u3060\u3068\u3044\u3046\u70b9\u306b\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\njconsole\/\r\n|-- bin\r\n|   `-- start.sh\r\n`-- lib\r\n    `-- catalina-jmx-remote.jar\r\n<\/pre>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8 start.sh \u306e\u5185\u5bb9\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002SSH\u30dd\u30fc\u30c8\u30d5\u30a9\u30ef\u30fc\u30c9\u3092\u505c\u6b62\u3059\u308b stop.sh \u3082\u7528\u610f\u3059\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u305d\u3061\u3089\u306f\u81ea\u5206\u3067\u8003\u3048\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n#!\/bin\/sh\r\nJAVA_HOME=$HOME\/applications\/jdk7\r\ncf=`readlink -f $0`\r\nd=`dirname $cf`\r\nTOOL_HOME=${d}\/..\r\n\r\nssh -f -N -L9993:localhost:9993 -L9994:localhost:9994 tomcat.localdomain\r\n\r\n$JAVA_HOME\/bin\/jconsole \\\r\n -debug \\\r\n -J&quot;-Djava.class.path=$JAVA_HOME\/lib\/tools.jar:$JAVA_HOME\/lib\/jconsole.jar:$TOOL_HOME\/lib\/catalina-jmx-remote.jar&quot; \\\r\n service:jmx:rmi:\/\/localhost:9994\/jndi\/rmi:\/\/localhost:9993\/jmxrmi\r\n<\/pre>\n<p>\u306a\u304a\u3001MacOS X \u3067\u306f JAVA_HOME \u3084 java.class.path \u306e\u6307\u5b9a\u306f\u4e0b\u8a18\u3088\u3046\u306b\u3059\u308b\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002readlink\u30b3\u30de\u30f3\u30c9\u3082\u6319\u52d5\u304cLinux\u3068\u306f\u3061\u304c\u3046\u306e\u3067\u4f7f\u308f\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002Mountain Lion \u3067\u306a\u3044\u5834\u5408\u306f\u3001JAVA_HOME\u306b\u306f\u300c\/System\/Library\/Frameworks\/JavaVM.framework\/Versions\/1.6.0\/Home\u300d\u306a\u3069\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n#!\/bin\/sh\r\nJAVA_HOME=`\/usr\/libexec\/java_home -v 1.7`\r\nSYSTEM_JAVA=&quot;\/System\/Library\/Frameworks\/JavaVM.framework&quot;\r\nd=`dirname $0`\r\nTOOL_HOME=${d}\/..\r\n\r\nssh -f -N -L9993:localhost:9993 -L9994:localhost:9994 tomcat.localdomain\r\n\r\n$JAVA_HOME\/bin\/jconsole \\\r\n -debug \\\r\n -J&quot;-Djava.class.path=$SYSTEM_JAVA\/Classes\/classes.jar:$SYSTEM_JAVA\/Classes\/jconsole.jar:$TOOL_HOME\/lib\/catalina-jmx-remote.jar&quot; \\\r\n service:jmx:rmi:\/\/localhost:9994\/jndi\/rmi:\/\/localhost:9993\/jmxrmi\r\n<\/pre>\n<p>Java7 \u3067\u306e\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u306b\u3064\u3044\u3066\u306f\u3001\u300c<a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/technotes\/guides\/management\/agent.html\">Monitoring and Management Using JMX Technology &#8211; Java SE Monitoring and Management Guide<\/a>\u300d\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002Apache Tomcat7 \u3067\u306e\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u306b\u3064\u3044\u3066\u306f\u300c<a href=\"http:\/\/tomcat.apache.org\/tomcat-7.0-doc\/config\/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener\">Apache Tomcat 7 Configuration Reference (7.0.37) &#8211; The LifeCycle Listener Component<\/a>\u300d\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>jconsole \u3067 Tomcat7 \u3092\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u306b\u306f\u3001\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u6b21\u306e\u3088\u3046\u306b JAVA_OPTS \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[26,830,1209,621],"class_list":["post-12752","post","type-post","status-publish","format-standard","hentry","category-java","tag-centos","tag-jconsole","tag-linux","tag-tomcat"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/12752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=12752"}],"version-history":[{"count":9,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/12752\/revisions"}],"predecessor-version":[{"id":12806,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/12752\/revisions\/12806"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=12752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=12752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=12752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}