大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數據源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

Tomcat監控與管理

omcat監控與管理簡介

監控是系統管理中的重要環節。系統管理員的日常工作就包括:觀察服務器的運行細節,獲取統計數據,或者重新配置應用的某些內容。

啟用 JMX 遠程監控

注意:該配置只適用于需用遠程監控 Tomcat 的情況,使用同樣的用戶在本地監控 Tomcat 則不需要這么配置。

Oracle 的網站上介紹了如何在 Java 6 上配置 JMX 遠程:http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html。

下面是在 Java 6 上的快速配置向導:

將下列參數添加到 Tomcat 的 setenv.bat 腳本(具體詳細信息請查看 RUNNING.txt)。

注意:該語法格式適用于 Windows 系統。命令行只能寫在同一行中,包裝起來更具可讀性。如果 Tomcat 以 Windows 服務的形式運行,使用它的系統配置對話設置該服務的 java 選項。對于 UN\*X 系統來說,要將命令行開頭的 "set " 去掉。

set CATALINA_OPTS=-Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=%my.jmx.port%
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false

1.如果需要授權,則添加并修改下列命令:

-Dcom.sun.management.jmxremote.authenticate=
true-Dcom.sun.management.jmxremote.password.file
=../conf/jmxremote.password-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access

2.編輯訪問權限文件 $CATALINA_BASE/conf/jmxremote.access:

monitorRole readonly
controlRole readwrite

3.編輯密碼文件 $CATALINA_BASE/conf/jmxremote.password:

monitorRole tomcat
controlRole tomcat

技巧:密碼文件應該是只讀的,并且只能被運行 Tomcat 的操作系統用戶所訪問。

注意:JSR 160 JMX 適配器在一個隨機端口上打開了第二個數據通道。假如本地安裝了防火墻,這就會出現問題。要想解決它,可以按照偵聽器文檔中介紹的方法,配置一個 JmxRemoteLifecycleListener。

利用 JMX 遠程 Ant 任務來管理 Tomcat

為了簡化 JMX 的用法,加入了一些可能會與 antlib 使用的一系列任務。

antlib:將 catalina-ant.jar 從 $CATALINA_HOME/lib 復制到 $ANT_HOME/lib。

下面的例子展示了 JMX 存儲器的用法。

注意:為了提高可讀性,這里將 name 屬性值予以包裝。它必須寫在同一行中,不允許帶有空格。

<project name="Catalina Ant JMX"
      xmlns:jmx="antlib:org.apache.catalina.ant.jmx"
      default="state"
      basedir=".">
  <property name="jmx.server.name" value="localhost" />
  <property name="jmx.server.port" value="9012" />
  <property name="cluster.server.address" value="192.168.1.75" />
  <property name="cluster.server.port" value="9025" />

  <target name="state" description="Show JMX Cluster state">
    <jmx:open
      host="${jmx.server.name}"
      port="${jmx.server.port}"
      username="controlRole"
      password="tomcat"/>
    <jmx:get
      name="Catalina:type=IDataSender,host=localhost,
senderAddress=${cluster.server.address},senderPort=${cluster.server.port}"
      attribute="connected"
      resultproperty="IDataSender.backup.connected"
      echo="false"
    />
    <jmx:get
      name="Catalina:type=ClusterSender,host=localhost"
      attribute="senderObjectNames"
      resultproperty="senderObjectNames"
      echo="false"
    />
    <!-- get current maxActiveSession from ClusterTest application
       echo it to Ant output and store at
       property <em>clustertest.maxActiveSessions.orginal</em>
    -->
    <jmx:get
      name="Catalina:type=Manager,context=/ClusterTest,host=localhost"
      attribute="maxActiveSessions"
      resultproperty="clustertest.maxActiveSessions.orginal"
      echo="true"
    />
    <!-- set maxActiveSession to 100
    -->
    <jmx:set
      name="Catalina:type=Manager,context=/ClusterTest,host=localhost"
      attribute="maxActiveSessions"
      value="100"
      type="int"
    />
    <!-- get all sessions and split result as delimiter <em>SPACE</em> for easy
       access all session ids directly with Ant property sessions.[0..n].
    -->
    <jmx:invoke
      name="Catalina:type=Manager,context=/ClusterTest,host=localhost"
      operation="listSessionIds"
      resultproperty="sessions"
      echo="false"
      delimiter=" "
    />
    <!-- Access session attribute <em>Hello</em> from first session.
    -->
    <jmx:invoke
      name="Catalina:type=Manager,context=/ClusterTest,host=localhost"
      operation="getSessionAttribute"
      resultproperty="Hello"
      echo="false"
    >
      <arg value="${sessions.0}"/>
      <arg value="Hello"/>
    </jmx:invoke>
    <!-- Query for all application manager.of the server from all hosts
       and bind all attributes from all found manager MBeans.
    -->
    <jmx:query
      name="Catalina:type=Manager,*"
      resultproperty="manager"
      echo="true"
      attributebinding="true"
    />
    <!-- echo the create properties --><echo>
senderObjectNames: ${senderObjectNames.0}
IDataSender.backup.connected: ${IDataSender.backup.connected}
session: ${sessions.0}
manager.length: ${manager.length}
manager.0.name: ${manager.0.name}
manager.1.name: ${manager.1.name}
hello: ${Hello}
manager.ClusterTest.0.name: ${manager.ClusterTest.0.name}
manager.ClusterTest.0.activeSessions: ${manager.ClusterTest.0.activeSessions}
manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED:
 ${manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED}
manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS:
 ${manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS}</echo>

  </target>
</project>
導入:利用  導入 JMX 存取器項目,利用 jmxOpen、jmxSet、jmxGet、jmxQuery、jmxInvoke、jmxEquals 和 jmxCondition 來引用任務。
全部教程
主站蜘蛛池模板: 久草这里只有精品 | 欧美一级黄色录像 | 5g国产精品影院天天5g天天爽 | 看毛片免费 | 婷婷久久综合 | 国产精品视频福利视频网 | 精品久久久久久亚洲 | 超清乱人伦中文视频在线 | 亚洲国产成人资源在线软件 | 天天干在线免费视频 | 欧美久| 91麻豆精品一二三区在线 | 亚洲天堂一区在线 | 青娱乐91视频 | 亚洲综合色色图 | 456性欧美欧美在线视频 | 免费观看成人毛片 | 免费一级在线 | 精品啪啪 | 久久精品国产400部免费看 | 888米奇色狠狠俺去啦 | 国产精品66 | 日韩中文字幕在线亚洲一区 | 亚洲天堂一区二区 | 成年女人黄小视频 | 久久九九免费 | 精品综合久久久久久98 | 亚洲第一毛片 | 日日射夜夜操 | 老司机福利深夜亚洲入口 | 亚洲精品天堂自在久久77 | 国产高清在线精品免费 | 伊人网综合在线观看 | 国产自产在线 | 亚洲综合香蕉 | 天天靠天天擦天天摸 | 久久精品一区二区 | 国内精品久久久久影院老司 | 97超精品视频在线观看 | 国产福利一区二区在线精品 | 欧美日韩在线观看区一二 |