検索

21.5. JBoss EAP の応答時間メトリクスの設定

download PDF
JBoss ON は、応答してデプロイされたアプリケーションがクライアントリクエストにどのように反応するかをテストすることで、アプリケーションのパフォーマンスを監視できます。特に、JBoss ON はアプリケーションがリクエストに応答する速度を決定することができます。これは 応答時間測定 と呼ばれます。
JBoss EAP サーバーの応答時間メトリクスを収集するには、最初に応答時間フィルターのサーブレット JAR をインストールし、Web サーバーがこれを使用するように設定します。次に、Web リソースのメトリクスコレクションを有効にします。

21.5.1. JBoss EAP 6 の応答時間フィルターのインストール

注記
応答時間メトリクスを収集するには、サーバー http(s)管理インターフェースに接続するために EAP 6 エージェントプラグインを設定する必要があります。

JBoss EAP での応答時間フィルターのインストール方法

以下の手順に従って、JBoss EAP 6 に応答時間フィルターを正しくインストール

前提条件

手順21.1

  1. JBoss ON UI から JBoss の応答時間パッケージをダウンロードします。応答時間フィルターは AS 7 モジュールとしてパッケージ化されます。以下を取得するモジュールは 2 つあります。
    rhq-rtfilter-module.zip
    rhq-rtfilter-subsystem-module.zip
    注記
    これは、wget以下のコマンドを使用してコマンドラインから行うこともできます。
    [root@server ~]# wget http://server.example.com:7080/downloads/connectors/rhq-rtfilter-module.zip
    [root@server ~]# wget http://server.example.com:7080/downloads/connectors/rhq-rtfilter-subsystem-module.zip
    1. トップメニューの Administration タブをクリックします。
    2. 左側の Configuration メニューボックスで、Downloads 項目を選択します。
    3. rhq-rtfilter-module.zip および rhq-rtfilter-subsystem-module.zip リンクをクリックし、ディレクトリーなどのアクセス可能なディレクトリーにファイルを保存し /tmp ます。
  2. JBoss EAP 6 インスタンスの modules/ ディレクトリーを開きます。例:
    [root@server ~]# cd /opt/jboss-eap-6.0/modules/
  3. rhq-rtfilter-module.zip アーカイブを展開して、応答時間フィルター JAR と関連する module.xml ファイルをインストールします。
    [root@server modules]# unzip /tmp/rhq-rtfilter-module.zip
  4. サーバーの設定ファイル domain.xml またはを開き standalone.xmlます。
  5. <subsystem> 要素内のグローバルモジュールのリストにモジュールを追加して、応答時間モジュールをグローバルにデプロイします。ファイルが完了したら、保存します。
    <profile...
    	<subsystem xmlns="urn:jboss:domain:ee:1.1">
    		<global-modules>
    		    <module name="org.rhq.helpers.rhq-rtfilter" slot="main"/>
    		</global-modules>
    	</subsystem>
    </profile>
  6. rhq-rtfilter-subsystem-module.zip アーカイブを展開してサブシステムの応答時間フィルター JAR と関連する module.xml ファイルをインストールします。
    [root@server modules]# unzip /tmp/rhq-rtfilter-subsystem-module.zip
    これにより、フィルターがアプリケーションサーバーまたは個別の Web アプリケーションのサブシステムとしてインストールされます。
  7. フィルターをインストールしたら、JBoss EAP 6 サーバーをサーバーを使用するように設定する必要があります。
    応答時間フィルターは、EAP/AS インスタンスがホストするすべての Web アプリケーションに対してグローバルにデプロイすることも、特定の Web アプリケーションに対して設定することもできます。
    フィルターをグローバルサブシステムとしてデプロイするには、以下を行います。
    1. サーバーの設定ファイル domain.xml またはを開き standalone.xmlます。
    2. 応答時間フィルターに <extensions> 要素を追加します。
      <extension module="org.rhq.helpers.rhq-rtfilter-subsystem"/>
  8. 要素の下に <subsystem> <profile> 要素を追加します。
    応答時間フィルターが機能するために必要となるのは、オプションのパラメーターを除いたデフォルトの <subsystem> 要素のみです。ただし、パラメーターのコメントを解除して、必要に応じて設定できます。異なるパラメーターについては、で説明してい 表21.1「ユーザー定義の <filter> Settings に使用できるパラメーター」 ます。
    オプションのパラメーターが設定されていない場合でも、<subsystem> 要素を追加する必要があります。
    <subsystem xmlns="urn:rhq:rtfilter:1.0">
        <!-- Optional parameters.
    
           <init-param>
               <param-name>chopQueryString</param-name>
               <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>logDirectory</param-name>
              <param-value>/tmp</param-value>
           </init-param>
           <init-param>
               <param-name>logFilePrefix</param-name>
               <param-value>localhost_7080_</param-value>
           </init-param>
           <init-param>
               <param-name>dontLogRegEx</param-name>
               <param-value></param-value>
           </init-param>
           <init-param>
              <param-name>matchOnUriOnly</param-name>
              <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>timeBetweenFlushesInSec</param-name>
               <param-value>73</param-value>
           </init-param>
           <init-param>
               <param-name>flushAfterLines</param-name>
               <param-value>13</param-value>
           </init-param>
           <init-param>
               <param-name>maxLogFileSize</param-name>
               <param-value>5242880</param-value>
           </init-param>
    -->
    </subsystem>

手順21.2 JBoss EAP 6 で個別の Web アプリケーションに応答時間フィルターを設定する方法

  1. Web アプリケーションの web.xml ファイルを開きます。
    [root@server ~]# vim WARHomeDir/WEB-INF/web.xml
  2. フィルターを追加し、設定に応じてマッピング要素をファイルにフィルターします。これにより、応答時間フィルターが有効になります。
    応答時間フィルターが機能するために必要となるのは、オプションのパラメーターを除いたデフォルトの <filter> 要素のみです。ただし、パラメーターのコメントを解除して、必要に応じて設定できます。異なるパラメーターについては、で説明してい 表21.1「ユーザー定義の <filter> Settings に使用できるパラメーター」 ます。
       <filter>
           <filter-name>RhqRtFilter</filter-name>
           <filter-class>org.rhq.helpers.rtfilter.filter.RtFilter</filter-class>
    
    <!-- Optional parameters.
    
           <init-param>
               <param-name>chopQueryString</param-name>
               <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>logDirectory</param-name>
              <param-value>/tmp</param-value>
           </init-param>
           <init-param>
               <param-name>logFilePrefix</param-name>
               <param-value>localhost_7080_</param-value>
           </init-param>
           <init-param>
               <param-name>dontLogRegEx</param-name>
               <param-value></param-value>
           </init-param>
           <init-param>
              <param-name>matchOnUriOnly</param-name>
              <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>timeBetweenFlushesInSec</param-name>
               <param-value>73</param-value>
           </init-param>
           <init-param>
               <param-name>flushAfterLines</param-name>
               <param-value>13</param-value>
           </init-param>
           <init-param>
               <param-name>maxLogFileSize</param-name>
               <param-value>5242880</param-value>
           </init-param>
    -->
    
       </filter>
    
       <!-- Use this only when also enabling the RhqRtFilter in the filter
       <filter-mapping>
           <filter-name>RhqRtFilter</filter-name>
           <url-pattern>/*</url-pattern>
       </filter-mapping>
       -->
  3. JBoss EAP サーバーを再起動して、新しい web.xml 設定を読み込みます。
表21.1 ユーザー定義の <filter> Settings に使用できるパラメーター
パラメーター
description
chopQueryString
このパラメーターが true に設定されている場合、クエリーの URI 部分のみがログに記録されます。それ以外の場合は、クエリー行全体がログに記録されます。デフォルトは true です。
logDirectory
ログファイルが書き込まれるディレクトリー。デフォルト設定は {jboss.server.log.dir}/rt/ (通常は server/xxx/log/rt)です。このプロパティーが定義されていない場合は、フォールバックは {java.io.tmpdir}/rt/ (/tmp/ on)になります。 UNIX®および ~/Application Data/Local Settings/Temp - TEMP 環境変数が使用されることを確認します。この init パラメーターを指定すると、ディレクトリーは作成 rt/ されませんが、指定したディレクトリーは文字どおりに取得されます。
logFilePrefix
ログファイルの前に配置される接頭辞。デフォルトは空の文字列です。
dontLogRegEx
クエリー文字列に適用される正規表現。See java.util.regex.Pattern.パラメーターが指定されていない場合や、空の文字列は適用されません。
matchOnUriOnly
dontLogRegEx はクエリーの URI 部分(true)またはクエリー文字列(false)全体に適用される必要があります。デフォルトは true です。
timeBetweenFlushesInSec
ログ行はデフォルトでバッファーされます。指定の秒数を超え、新しいリクエストを受け取ると、(を参照)後にフラッシュする行数がまだ到達していない場合でも、バッファーされた行はディスクにフラッシュされます。デフォルト値は 60 秒(1 分)です。
flushAfterLines
ログ行はデフォルトでバッファーされます。指定された行がバッファーされると、ディスクにフラッシュされます。デフォルト値は 10 行です。
maxLogFileSize
ログファイルの最大許容サイズ(バイト単位)。ログファイルがこの制限を超えると、フィルターは切り捨てられます。デフォルト値は 5242880(5 MB)です。
vHostMappingFile
このプロパティーファイルは、Tomcat プロセスクラスパスに存在する必要があります。たとえば、../conf/vhost-mappings.properties のようになります。ファイルには、「着信」 vhost(サーバー名)から応答時間のログファイル名の接頭辞として使用する vhost へのマッピングが含まれます。マッピングがない場合(ファイルまたはエントリーの応答時間が設定されていない場合)、受信 vhost(サーバー名)が使用されます。例:
pickeldi.users.acme.com=pickeldi
pickeldi=
%HOST%=
最初のマッピングでは、受信 vhost が 'host1.users.acme.com' の場合は、ログファイル名に「host1」の vhost をプレフィックスとして取得し、コンテキストルート部分から _ で区切ります。2 つ目のマッピングでは、「incoming」 vhost が「host1」で、接頭辞なし、_ を使用しない場合が示されます。3 つ目のマッピングは、特別な左端トークンである%HOST%' を使用します。このマッピングでは、「incoming」 vhost が localhost の表現である場合、接頭辞なし、_ を使用すべきです。
%host% は、InetAddress.getLocalHost()の実装によって返されるホスト名、または正規のホスト名または IP アドレスに一致します。
2 つ目のマッピングは空の右側の例ですが、vhost も提供しました。
これはワンタイム置換です。1 行目の結果が 2 番目の行に適用されるという形式の再帰はありません。

21.5.2. JBoss EAP 7 の応答時間フィルターのインストール

注記
応答時間メトリクスを収集するには、JBoss EAP 7 エージェントプラグインを設定してサーバー http(s)管理インターフェースに接続する必要があります。

JBoss EAP での応答時間フィルターのインストール方法

以下の手順に従って、JBoss EAP 7 に応答時間フィルターを正しくインストール

前提条件

手順21.3

  1. JBoss ON UI から JBoss の応答時間パッケージをダウンロードします。応答時間フィルターは AS 7 モジュールとしてパッケージ化されます。取得するモジュールは 2 つあります。両方は 1 つの zip アーカイブに含まれます。
    rhq-rtfilter-wfly-10-dist.zip
    注記
    これは、wget以下のコマンドを使用してコマンドラインから行うこともできます。
    [root@server ~]# wget http://server.example.com:7080/downloads/connectors/rhq-rtfilter-wfly-10-dist.zip
    1. トップメニューの Administration タブをクリックします。
    2. 左側の Configuration メニューボックスで、Downloads 項目を選択します。
    3. rhq-rtfilter-wfly-10-dist.zip リンクをクリックして、ディレクトリーなどのアクセス可能なディレクトリーにファイルを保存し /tmp ます。
  2. JBoss EAP 7 インスタンスの modules/ ディレクトリーを開きます。例:
    [root@server ~]# cd /opt/jboss-eap-7.0/modules/
  3. rhq-rtfilter-wfly-10-dist.zip アーカイブを展開して JAR と関連する module.xml ファイルをインストールします。
    [root@server modules]# unzip /tmp/rhq-rtfilter-wfly-10-dist.zip
  4. サーバーの設定ファイル domain.xml またはを開き standalone.xmlます。
  5. <subsystem> 要素内のグローバルモジュールのリストにモジュールを追加して、応答時間モジュールをグローバルにデプロイします。domain:ee サブシステムのバージョンは JBoss EAP のバージョンごとに異なることに注意してください。ファイルが完了したら、保存します。
    <profile...
    	<subsystem xmlns="urn:jboss:domain:ee:1.1">
    		<global-modules>
    		    <module name="org.rhq.helpers.rhq-rtfilter" slot="main"/>
    		</global-modules>
    	</subsystem>
    </profile>
  6. フィルターをインストールしたら、JBoss EAP 7 サーバーをサーバーを使用するように設定する必要があります。
    応答時間フィルターは、JBoss EAP インスタンスがホストするすべての web アプリケーションに対してグローバルにデプロイすることも、特定の web アプリケーションに設定することもできます。
    フィルターをグローバルサブシステムとしてデプロイするには、以下を行います。
    1. サーバーの設定ファイル domain.xml またはを開き standalone.xmlます。
    2. 応答時間フィルターに <extensions> 要素を追加します。
      <extension module="org.rhq.helpers.rhq-rtfilter-wfly-10-subsystem"/>
  7. 要素の下に <subsystem> <profile> 要素を追加します。
    応答時間フィルターが機能するために必要となるのは、オプションのパラメーターを除いたデフォルトの <subsystem> 要素のみです。ただし、パラメーターのコメントを解除して、必要に応じて設定できます。異なるパラメーターについては、で説明してい 表21.2「ユーザー定義の <filter> Settings に使用できるパラメーター」 ます。
    オプションのパラメーターが設定されていない場合でも、<subsystem> 要素を追加する必要があります。
    <subsystem xmlns="urn:rhq:rtfilter:1.0">
        <!-- Optional parameters.
    
           <init-param>
               <param-name>chopQueryString</param-name>
               <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>logDirectory</param-name>
              <param-value>/tmp</param-value>
           </init-param>
           <init-param>
               <param-name>logFilePrefix</param-name>
               <param-value>localhost_7080_</param-value>
           </init-param>
           <init-param>
               <param-name>dontLogRegEx</param-name>
               <param-value></param-value>
           </init-param>
           <init-param>
              <param-name>matchOnUriOnly</param-name>
              <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>timeBetweenFlushesInSec</param-name>
               <param-value>73</param-value>
           </init-param>
           <init-param>
               <param-name>flushAfterLines</param-name>
               <param-value>13</param-value>
           </init-param>
           <init-param>
               <param-name>maxLogFileSize</param-name>
               <param-value>5242880</param-value>
           </init-param>
    -->
    </subsystem>

手順21.4 JBoss EAP 7 で個別の Web アプリケーションに応答時間フィルターを設定する方法

  1. Web アプリケーションの web.xml ファイルを開きます。
    [root@server ~]# vim WARHomeDir/WEB-INF/web.xml
  2. フィルターを追加し、設定に応じてマッピング要素をファイルにフィルターします。これにより、応答時間フィルターが有効になります。
    応答時間フィルターが機能するために必要となるのは、オプションのパラメーターを除いたデフォルトの <filter> 要素のみです。ただし、パラメーターのコメントを解除して、必要に応じて設定できます。異なるパラメーターについては、で説明してい 表21.2「ユーザー定義の <filter> Settings に使用できるパラメーター」 ます。
       <filter>
           <filter-name>RhqRtFilter</filter-name>
           <filter-class>org.rhq.helpers.rtfilter.filter.RtFilter</filter-class>
    
    <!-- Optional parameters.
    
           <init-param>
               <param-name>chopQueryString</param-name>
               <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>logDirectory</param-name>
              <param-value>/tmp</param-value>
           </init-param>
           <init-param>
               <param-name>logFilePrefix</param-name>
               <param-value>localhost_7080_</param-value>
           </init-param>
           <init-param>
               <param-name>dontLogRegEx</param-name>
               <param-value></param-value>
           </init-param>
           <init-param>
              <param-name>matchOnUriOnly</param-name>
              <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>timeBetweenFlushesInSec</param-name>
               <param-value>73</param-value>
           </init-param>
           <init-param>
               <param-name>flushAfterLines</param-name>
               <param-value>13</param-value>
           </init-param>
           <init-param>
               <param-name>maxLogFileSize</param-name>
               <param-value>5242880</param-value>
           </init-param>
    -->
    
       </filter>
    
       <!-- Use this only when also enabling the RhqRtFilter in the filter
       <filter-mapping>
           <filter-name>RhqRtFilter</filter-name>
           <url-pattern>/*</url-pattern>
       </filter-mapping>
       -->
  3. JBoss EAP サーバーを再起動して、新しい web.xml 設定を読み込みます。
表21.2 ユーザー定義の <filter> Settings に使用できるパラメーター
パラメーター
description
chopQueryString
このパラメーターが true に設定されている場合、クエリーの URI 部分のみがログに記録されます。それ以外の場合は、クエリー行全体がログに記録されます。デフォルトは true です。
logDirectory
ログファイルが書き込まれるディレクトリー。デフォルト設定は {jboss.server.log.dir}/rt/ (通常は server/xxx/log/rt)です。このプロパティーが定義されていない場合は、フォールバックは {java.io.tmpdir}/rt/ (/tmp/ on)になります。 UNIX®および ~/Application Data/Local Settings/Temp - TEMP 環境変数が使用されることを確認します。この init パラメーターを指定すると、ディレクトリーは作成 rt/ されませんが、指定したディレクトリーは文字どおりに取得されます。
logFilePrefix
ログファイルの前に配置される接頭辞。デフォルトは空の文字列です。
dontLogRegEx
クエリー文字列に適用される正規表現。See java.util.regex.Pattern.パラメーターが指定されていない場合や、空の文字列は適用されません。
matchOnUriOnly
dontLogRegEx はクエリーの URI 部分(true)またはクエリー文字列(false)全体に適用される必要があります。デフォルトは true です。
timeBetweenFlushesInSec
ログ行はデフォルトでバッファーされます。指定の秒数を超え、新しいリクエストを受け取ると、(を参照)後にフラッシュする行数がまだ到達していない場合でも、バッファーされた行はディスクにフラッシュされます。デフォルト値は 60 秒(1 分)です。
flushAfterLines
ログ行はデフォルトでバッファーされます。指定された行がバッファーされると、ディスクにフラッシュされます。デフォルト値は 10 行です。
maxLogFileSize
ログファイルの最大許容サイズ(バイト単位)。ログファイルがこの制限を超えると、フィルターは切り捨てられます。デフォルト値は 5242880(5 MB)です。
vHostMappingFile
このプロパティーファイルは、Tomcat プロセスクラスパスに存在する必要があります。たとえば、../conf/vhost-mappings.properties のようになります。ファイルには、「着信」 vhost(サーバー名)から応答時間のログファイル名の接頭辞として使用する vhost へのマッピングが含まれます。マッピングがない場合(ファイルまたはエントリーの応答時間が設定されていない場合)、受信 vhost(サーバー名)が使用されます。例:
pickeldi.users.acme.com=pickeldi
pickeldi=
%HOST%=
最初のマッピングでは、受信 vhost が 'host1.users.acme.com' の場合は、ログファイル名に「host1」の vhost をプレフィックスとして取得し、コンテキストルート部分から _ で区切ります。2 つ目のマッピングでは、「incoming」 vhost が「host1」で、接頭辞なし、_ を使用しない場合が示されます。3 つ目のマッピングは、特別な左端トークンである%HOST%' を使用します。このマッピングでは、「incoming」 vhost が localhost の表現である場合、接頭辞なし、_ を使用すべきです。
%host% は、InetAddress.getLocalHost()の実装によって返されるホスト名、または正規のホスト名または IP アドレスに一致します。
2 つ目のマッピングは空の右側の例ですが、vhost も提供しました。
これはワンタイム置換です。1 行目の結果が 2 番目の行に適用されるという形式の再帰はありません。

21.5.3. 呼び出し時メトリックの有効化

応答時間メトリクスは、ライブアプリケーションのデプロイメントで設定されます。デプロイメントリソースは、スタンドアロン EAP 6 サーバーまたはサーバーグループのいずれかの子です。

図21.2 Web ランタイムリソース

Web ランタイムリソース
  1. トップメニューの Inventory タブをクリックします。
  2. Servers - Top Level Imports 項目をクリックし、JBoss EAP 6 リソースを選択します。
  3. デプロイメントリソースに移動し、web サブシステムにアプリケーションを展開します。
  4. Web リソースエントリーの Monitoring タブをクリックします。
  5. Schedules サブタブをクリックします。
  6. Response Time メトリクスを選択します。このメトリクスは呼び出し時間 タイプ です。
  7. 一覧の Enable 下部にあるをクリックします。
  8. Web エントリーの Inventory タブをクリックします。
  9. Connection Settings サブタブを選択します。
  10. 応答時間設定のチェックボックスの設定を解除し、Web アプリケーションに適した値を入力します。
    • 特定の Web アプリケーションによって使用される応答時間ログ。ログファイルは、call-time データコレクションが機能するのに必須の設定です。
    • 応答時間の測定から除外するファイル、要素、またはページ。応答時間ログは、Web サーバーが処理するすべてのリソースの時間を記録します。これには、CSS ファイルやアイコン、背景イメージなどのサポートファイルが含まれます。
    • URL で渡された異なるパラメーターを使用して同じページにアクセスできます。この Response Time Url Transforms フィールドは、渡されたパラメーターのストライピングや置き換えに使用できる正規表現を提供します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.