リモート JMX モニタリング

リモート JMX モニタリング エージェントは、設定済みの JMX サーバに接続します。リモート JMX モニタリングは、JMX メトリックをレポートし、以下の追加機能を備えています。
  • 複数のリモート JMX サーバを監視します
  • 安全な JMX 接続を提供します。
  • 特定の管理対象 bean (Mbean)に設定可能な JMX メトリック名と値を提供します。
この記事には、以下のトピックが含まれます。
2
インフラストラクチャ エージェントのダウンロードと解凍
DX APM
へのアクセス権限を取得した後、リモート JMX モニタリングをダウンロードして解凍します。
以下の手順に従います。
  1. DX SaaS
    にログインします。
  2. Application Performance Management
    ]ボックスの[
    開く
    ]を選択します。[Application Performance Management]ホーム ページが表示されます。
  3. リモート JMX モニタリングが含まれているインフラストラクチャ エージェント パッケージをダウンロードします。
    1. [Application Performance Management]ページの中央上部で、
      [エージェントのダウンロード]
      を選択します。
    2. エージェントの選択
      ]ページで、ご利用のオペレーティング システムに対応するタブを選択します。
    3. 環境は[
      インフラストラクチャ
      ]を選択します。
    4. エージェントとして
      リモート JMX モニタリング
      を選択します。
    5. (オプション)ここで適切なプロパティを設定します。このプロパティは後からインフラストラクチャ エージェント
      bundle.properties
      ファイルで設定することもできます。
      introscope.agent.remotejmx.system.s1.hostport
      リモート JMX エージェントが使用可能な JMX サーバを監視するためのリモート JMX システム ホスト:ポート値。カンマを使用して、複数の値を区切ります。
      introscope.agent.remotejmx.server.s1.name
      リモート JMX エージェントが監視するリモート JMX サーバのシステム名。カンマを使用して、複数の値を区切ります。
    6. (オプション)リモート JMX モニタリングとホスト モニタリングとを関連付けるには、
      [エージェント コンポーネント]
      リストで、
      [ホスト モニタ]
      を選択します。ホスト モニタリングは、リモート JMX モニタリングのダウンロード済みパッケージに含まれています。
  4. ダウンロードおよびインストール
    ]を選択します。
    DX APM
    によって、コンピュータにパッケージがダウンロードされます。
  5. インフラストラクチャ エージェントのダウンロード ファイルにリモート JMX モニタリングのファイルが含まれていることを確認します。
    UNIX
    <remote_JMX-apmia-set_of_numbers
    _version>.tar
    .
    たとえば、
    Remote_JMX-apmia-20190708_v1.tar
    です。
    Windows
    <remote_JMX-apmia-set_of_numbers>.zip
    たとえば、
    Remote_JMX-apmia-20190708_v1.zip
    です。
    ファイルが見つからない場合は、手順 4 ~ 5 を繰り返します。
  6. ダウンロードしたインフラストラクチャ エージェント ファイルを解凍します。
    UNIX
    : 次のコマンドを実行します:
    tar -xf <remote_JMX-apmia-set_of_numbers_version>.tar
    たとえば、
    tar -xf Remote_JMX-apmia-20190708_v1.tar
    です。
    Windows
    : ファイルを解凍します。
インフラストラクチャ エージェントのインストールおよび実行
リモート JMX モニタリングをインストールする前に、インフラストラクチャ エージェントをインストールします。
以下の手順に従います。
  1. apmia/bin
    ディレクトリに移動します。
  2. 適切なコマンドを実行して、インフラストラクチャ エージェントをインストールします。
    UNIX
    ./APMIACtrl.sh install
    Windows
    APMIACtrl.bat install
ログ ファイル
<Infrastructure_Agent_Home>/logs
ディレクトリでインフラストラクチャ エージェントおよびリモート モニタリングのログを確認できます。
logs ディレクトリには以下のログ ファイルがあります。
  • IntroscopeAgent.log
  • APMIAgentConsole.log
リモート JMX モニタリング システム キーおよびシステム名の設定
リモート JMX システム キーおよびシステム名は、
bundle.properties
ファイルで設定します。
  1. apmia/extensions/RemoteJmxMonitorExtension
    ディレクトリに移動します。
  2. bundle.properties
    ファイルをテキスト エディタで開きます。
  3. リモート JMX システム キーを設定するには、
    introscope.agent.remotejmx.system.keys
    プロパティでカンマ区切りのリストを設定します。
    1. JMX システム タイプごとに 1 つのキーを設定します。たとえば、Tomcat の 2 つのインスタンスおよび JBoss の別の 2 つのインスタンスを監視する場合は、2 つのキーを設定します。Tomcat と JBoss のそれぞれに 1 つのキーを設定します。以下の例に示すように、プロパティを設定します。
      introscope.agent.remotejmx.system.keys=s1,s2
    2. この 2 つのオプションの
      いずれか
      を使用して、システムごとに接続詳細を追加します。
      • リモート システムごとにホストおよび JMX ポートを設定します。以下の例では、host1 および host2 のポートは Tomcat サーバ用です。host3 および host4 のポートは、JBoss サーバ用です。
        introscope.agent.remotejmx.system.s1.hostport=host1:1099,host2:1099 introscope.agent.remotejmx.system.s2.hostport=host3:9999,host4:9999
      • カスタム サービス名を使用して Java RMI サーバに登録される JMX サーバの JMX URL を設定します。デフォルトの JMX サーバ サービス名の値は
        jmxrmi
        です。例:
        introscope.agent.remotejmx.system.s1.jmxurl=service:jmx:rmi:///jndi/rmi://host1:1099/foo
  4. リモート JMX システム名を設定します。マップおよびメトリック ツリーに表示されるリモート JMX サーバの名前を設定します。以下の例に示すように、デフォルト値は
    JMX System
    です。
    introscope.agent.remotejmx.system.<s1>.name=JMX System
  5. ファイルを保存して閉じます。
  6. 適切なコマンドを使用してインフラストラクチャ エージェントを再起動します。
    UNIX
    :
    ./APMIACtrl.sh restart
    Windows
    APMIACtrl.bat restart
  7. (オプション)リモート モニタリング パースペクティブを作成するには、リモート モニタリング
    jmx port
    属性および
    jmx system name
    属性を使用します。
リモート JMX モニタリング セキュリティの設定
暗号化された認証情報を渡してリモート JMX サーバに接続するように、リモート JMX モニタリングを設定できます。
以下の手順に従います。
  1. apmia/extensions/RemoteJmxMonitorExtension
    ディレクトリに移動します。
  2. bundle.properties
    ファイルをテキスト エディタで開きます。
  3. 組織または環境の要件に応じて、セキュリティ関連のプロパティを設定します。
    • introscope.agent.remotejmx.ssl.keyStore
      キーストア ファイル名。両方の SSL が有効で、JMX サーバのクライアント認証が有効になっている場合には、キーストア ファイルが必要です。このファイルが
      <ext-home>/config/security
      ディレクトリにあることを確認してください。
      デフォルト:
      keystore
    • introscope.agent.remotejmx.ssl.keyStorePassword
      キーストア ファイルを開くためのパスワード。
      デフォルト:
      なし
    • introscope.agent.remotejmx.ssl.trustStore
      トラストストア ファイル名。SSL が有効である場合には、トラストストア ファイルが必要です。このファイルが
      <ext-home>/config/security
      ディレクトリにあることを確認してください。
      デフォルト:
      trustStore
    • introscope.agent.remotejmx.ssl.trustStorePassword
      トラストストア ファイルを開くためのパスワード。
      デフォルト:
      なし
    • introscope.agent.remotejmx.system.s1.authentication.password
      ファイルベースの JMX 認証用のパスワード。
      デフォルト:
      なし
    • introscope.agent.remotejmx.system.s1.authentication.username
      ファイルベースの JMX 認証用のユーザ名。
      デフォルト:
      なし
    • introscope.agent.remotejmx.system.s1.ssl
      リモート JMX サーバで SSL セキュリティが有効になっている場合は、このプロパティを
      true
      に設定します。
      デフォルト:
      false
  4. ファイルを保存して閉じます。
  5. 適切なコマンドを使用してインフラストラクチャ エージェントを再起動します。
    UNIX
    : ./APMIACtrl.sh restart
    Windows
    : APMIACtrl.bat restart
ヒント:
リモート JMX サーバへの接続に暗号化された認証情報を渡す場合は、次のコマンドを実行します:
java -cp lib/Agent.jar com.wily.util.properties.PropertiesUtils encrypt <clear text key>
リモート JMX モニタリング メトリック レポートの設定
リモート JMX モニタリング エージェントは、以下の 3 つの方法でメトリックをレポートします。
  • デフォルトのレポート エージェントは、デフォルトですべての JMX Mbean をレポートします。リモート サーバ上の JMX Mbean について詳しい知識がない場合は、デフォルトのレポートを使用してください。
  • エージェントは、デフォルトのメトリック名および値に一致する JMX Mbean を選択してレポートします。このオプションの場合、プロパティを設定して、特定の JMX Mbean をブラック リストとホワイトリストに登録します。
  • エージェントは、カスタム メトリック名および値をレポートします。このオプションの場合、自分で設定モジュールを作成して、リモート JMX モニタリング エージェントがレポートするカスタム メトリック名と値を指定します。
どのレポート方法が自分の環境に最も有用であるかを判断します。複数の方法を使用することもできます。
リモート JMX モニタリングのデフォルト レポートおよび全般メトリック
リモート サーバ上の JMX Mbean について詳しい知識がない場合は、リモート JMX モニタリングのデフォルト レポートを使用してください。デフォルト レポートを使用して評価する場合には、以下の要因を考慮してください。
  • メトリック名が直感的でない場合があります。
  • エージェントによってリモート JMX Mbean から収集された値を操作することはできません。
  • リモート JMX モニタリング エージェントは、数値型および文字列型のデータのみをレポートします。エージェントは、JMX Mbean 属性値がカスタム タイプであるデータを無視します。
リモート JMX モニタリングは、デフォルトで有効になっています。デフォルトでは、デフォルトの
jvm
ディレクトリが用意されています。このディレクトリには、JMX beans の監視に使用する
jmx.yml
ファイルが含まれています。
すべての管理対象 bean のメトリック パスは次のとおりです:
<infra-agent>|<metricRootNode>|<domain>|<key-value-pair>:<attribute>
インフラストラクチャ エージェントが apmia-host で実行されているとします。以下の例に示すように、JMX ポート 1999 で設定された host1 上で Java アプリケーションが実行されています。
introscope.agent.remotejmx.system.s1.hostport=host1:1099
この Java アプリケーションの MBean オブジェクト名は、
com.example.domain:type=Foo,name=Bar
です。MBean 属性は
size
です。
リモート JMX モニタリングは、以下の MBean パスおよびメトリックをレポートします。
apmia-host|Infrastructure|Agent|JMX|JMX System on host1_1999|com.example.domain|name=bar|type=foo:size
以下の手順に従います。
  1. apmia/extensions/RemoteJmxMonitorExtension
    ディレクトリに移動します。
  2. bundle.properties
    ファイルをテキスト エディタで開きます。
  3. (オプション)リモート JMX モニタリングが新しい JMX サーバをシークする頻度を設定します。
    introscope.agent.remotejmx.server.discovery.interval
    プロパティを設定します。
    • introscope.agent.remotejmx.server.discovery.interval
      リモート JMX モニタリングが新しい JMX サーバをシークする頻度(ミリ秒)。
      デフォルト:
      jvm (有効)
      注:
      このプロパティの変更を有効にするには、インフラストラクチャ エージェントを再起動する必要があります。
      例:
      introscope.agent.remotejmx.server.discovery.interval=60000
  4. ファイルを保存して閉じます。
  5. 適切なコマンドを使用してインフラストラクチャ エージェントを再起動します。
    UNIX
    :
    ./APMIACtrl.sh restart
    Windows
    APMIACtrl.bat restart
  6. (オプション)リモート モニタリング パースペクティブを作成するには、リモート モニタリング
    jmx port
    属性および
    jmx system name
    属性を使用します。
リモート JMX モニタリングの選択的 JMX MBean レポート
リモート JMX モニタリングは、ブラック リストおよびホワイトリストのプロパティ値を使用して JMX Mbean を評価することにより、メトリックをレポートできます。リモート JMX モニタリング エージェントは、ホワイトリストのプロパティ値に一致し、かつブラック リストのプロパティ値によって除外されない JMX Mbean をクエリします。
すべての管理対象 bean のメトリック パスは次のとおりです:
<infra-agent>|<metricRootNode>|<domain>|<key-value-pair>:<attribute>
リモート JMX モニタリング エージェントによってレポートされる特定の JMX Mbean をブラック リストおよびホワイトリストに登録できます。
以下の手順に従います。
  1. apmia/extensions/RemoteJmxMonitorExtension
    ディレクトリに移動します。
  2. bundle.properties
    ファイルをテキスト エディタで開きます。
  3. (オプション) JMX MBean オブジェクトのレポートを JMX メトリックとしてブラック リストに登録します。
    1. JMX MBean の仕様に従って、オブジェクト名を定義します。オブジェクト名にはセミコロンを使用しないでください。
    2. introscope.agent.remotejmx.system.<system-key>.mbeanPatternsBlackList
      プロパティを設定します。
      • introscope.agent.remotejmx.system.<system-key>.mbeanPatternsBlackList
        JMX MBean オブジェクト名をセミコロンで区切ったリスト。リモート JMX モニタリングは、一致するすべての Mbean を無視し、JMX メトリックとして Mbean をレポートしません。
        デフォルト:
        なし
        注:
        このプロパティの変更を有効にするには、インフラストラクチャ エージェントを再起動する必要があります。
        例:
        introscope.agent.remotejmx.system.s1.mbeanPatternsBlackList=com.example.domain:type=Legacy;com.example.domain:name=Unknown
  4. (オプション) JMX MBean オブジェクトのレポートを JMX メトリックとしてホワイトリストに登録します。
    1. JMX MBean の仕様に従って、オブジェクト名を定義します。オブジェクト名にはセミコロンを使用しないでください。
    2. introscope.agent.remotejmx.system.<system-key>.mbeanPatternsWhiteList
      プロパティを設定します。
      • introscope.agent.remotejmx.system.<system-key>.mbeanPatternsWhiteList
        MBean オブジェクト名をセミコロンで区切ったリスト。リモート モニタリング エージェントは、一致する Mbean の JMX メトリックを自動的にレポートします。
        デフォルト:
        *:*
        注:
        このプロパティの変更を有効にするには、インフラストラクチャ エージェントを再起動する必要があります。
        例:
        introscope.agent.remotejmx.system.s1.mbeanPatternsWhiteList=Users:type=Role,*;Catalina:type=Manager,*
  5. ファイルを保存して閉じます。
  6. 適切なコマンドを使用してインフラストラクチャ エージェントを再起動します。
    UNIX
    :
    ./APMIACtrl.sh restart
    Windows
    APMIACtrl.bat restart
リモート JMX モニタリングのカスタム JMX メトリック レポート
設定モジュールが、リモート JMX モニタリングを拡張します。設定モジュールを作成すると、特定のリモート JMX コンポーネントに対してカスタム メトリック名および値を指定できます。通常、設定モジュール名とは、JMX メトリックを提供するコンポーネントのことです。
以下のモジュール設定の例は、仮想キャッシュ システムのメトリックを収集する方法を示しています。
version:
"1.0"
configElements:
- objectName:
"com.foo.server:type=Cache"
attribute:
"RequestsIn"
metricName:
"{rootNode}|{type}:Requests In Per Interval"
metricType:
"counter"
- objectName:
"com.foo.server:type=Cache"
attribute:
"name"
metricName:
"{rootNode}|{type}:{name}"
metricType:
"string"
- objectName:
"com.foo.server:type=Cache,name=MemoryBytes"
attribute:
"size"
metricName:
"{rootNode}|{type}:Cache Size (mb)"
metricType:
"counter"
valueFactor:
0.000001
valueAddition:
0
- objectName:
"com.foo.server:type=Cache,name=MemoryBytes"
attribute:
"size"
metricName:
"{rootNode}|{type}:Cache Size Increase Per Interval"
metricType:
"rate"
設定モジュールを作成するには、メトリック タイプ、メトリック名、プレースホルダを決定する必要があります。また、
introscope.agent.remotejmx.system.<system-key>.config.modules
プロパティを設定します。
以下の手順に従います。
  1. apmia/extensions/RemoteJmxMonitorExtension/config/modules
    ディレクトリに移動します。
  2. 監視対象のアプリケーションまたはコンポーネント用にモジュール ディレクトリを作成して名前を付けます。たとえば、
    cache
    とします。
    apmia/extensions/RemoteJmxMonitorExtension/config/modules/cache
    重要:
    どのモジュール ディレクトリにも、
    jmx.yml
    ファイルが含まれている必要があります。このファイルの内容は、リモート JMX エージェントが監視しているアプリケーションまたはコンポーネントによって異なる場合があります。手順 3 のオプションを使用して、
    jmx.yml
    ファイルを作成することをお勧めします。このコードには、事前に形式が設定された有用なメトリックがいくつか指定されているからです。
  3. (オプション)事前に形式が設定された
    jmx.yml
    ファイルを作成します。
    1. テキスト エディタを使用して、
      jmx.yml
      ファイルを作成します。
    2. この手順の前に提供されている、サンプルの仮想キャッシュ システム モジュールのコード ブロックをコピーします。
    3. 手順 4b および 4c の手順を使用して、ファイル内のメトリックを追加、削除、または変更します。
    4. ファイルを保存して閉じます。
  4. (オプション)カスタムの
    jmx.yml
    ファイルを作成します。
    1. テキスト エディタを使用して、
      jmx.yml
      ファイルを作成します。
    2. 設定モジュールに対して 1 つ以上のメトリック タイプを定義します。
      • カウンタ使用状況:
        カウンタ メトリック タイプを使用して、数値を返す属性をレポートします。この値は、変動するものの、新しいデータが利用可能になるまで前回の既知の値のままになります。
        プリミティブ型の値:
        int
        long
        float
        double
        オブジェクト型:
        Integer
        Long
        Float
        Double
        例:
        現在のキャッシュ サイズを返す
        getSize()
        属性が設定されたキャッシュ MBean があるとします。戻り値の型は
        long
        です。
        最新の値をメトリックとしてレポートするには、以下の設定を使用します。
        - objectName: "com.foo.server:type=Cache,name=MemoryBytes" attribute: "size" metricName: "{rootNode}|{type}:Cache Size (mb)" metricType: "counter"
        この設定は、たとえば
        100(mb)
        というメトリック値をレポートできます。
      • 使用率:
        率メトリック タイプを使用して、前回の既知の値から現在の値に増加した属性をレポートします。この値は、変動するものの、新しいデータが利用可能になるまで前回の既知の値のままになります。
        属性値の型:
        numeric
        戻り値の型:
        long
        例:
        現在のキャッシュ サイズを返す
        getSize()
        属性が設定されたキャッシュ MBean があるとします。間隔 1 では、キャッシュ サイズは 100 mb です。間隔 2 では、キャッシュ サイズは 103 mb に増加します。値の増加をメトリックとしてレポートするには、以下の設定を使用します。
        - objectName: "com.foo.server:type=Cache,name=MemoryBytes" attribute: "size" metricName: "{rootNode}|{type}:Cache Size (mb) Increase Per Interval" metricType: "rate"
        この設定は、メトリック値
        3
        をレポートします。
      • 文字列使用状況:
        文字列型を使用して、戻り値の型が
        string
        である属性をレポートします。
        例:
        文字列型のキャッシュを返す
        getType()
        属性が設定されたキャッシュ MBean があるとします。最新の値をレポートするには、以下の設定を使用します。
        - objectName: "com.foo.server:type=Cache,name=MemoryBytes" attribute: "type" metricName: "{rootNode}|{type}:Cache Type" metricType: "string"
        この設定は、たとえば LRU (最も長い間使われていないキャッシュ)というメトリック値をレポートできます。
    3. 以下のプレースホルダを使用して、設定モジュールに 1 つ以上のカスタム メトリック名を指定します。
      • 属性
        エージェントがデータを収集している属性の名前。
      • attributeType
        エージェントがデータを収集している属性のタイプ。
      • className
        リモート オブジェクト クラス名
      • componentName
        bundle.properties
        ファイル内のリモート システムに割り当てられる名前。
      • ドメイン
        MBean オブジェクト ドメイン名。
      • host
        リモート JMX システム ホスト名。
      • port
        リモート JMX システム JMX ポート。
      • rootNode
        特定のリモート JMX システムのルート ノード。rootNode 値は、メトリック ツリー パスを表示するために使用されます。
        例:
        SuperDomain|<apmia-host>|Infrastructure|Agent|JMX|<jmx-system-name on host_port>
  5. jmx.yml
    ファイルを保存して閉じます。
  6. introscope.agent.remotejmx.system.<system-key>.config.modules
    プロパティに設定モジュールを定義します。
      • introscope.agent.remotejmx.system.<system-key>.config.modules
        このプロパティでは、JMX 設定モジュールのカンマ区切りリストを指定します。
        デフォルト:
        JVM。デフォルトでは、
        JVM
        モジュールは有効になっています。
        注:
        このプロパティの変更を有効にするには、インフラストラクチャ エージェントを再起動する必要があります。
    1. apmia/extensions/RemoteJmxMonitorExtension
      ディレクトリに移動します。
    2. bundle.properties
      ファイルをテキスト エディタで開きます。
    3. 以下のオプションの
      いずれか
      を使用します。
      • (オプション)
        introscope.agent.remotejmx.system.s1.config.modules
        プロパティに新しいディレクトリの名前を追加します。
        たとえば、
        cache
        ディレクトリを作成した場合は、以下のコード サンプルに示すように
        cache
        を追加します。
        introscope.agent.remotejmx.system.s1.config.modules=jvm,cache
        この例では、JMX bean を監視する
        jmx.yml
        ファイルが含まれているデフォルトの
        jvm
        ディレクトリを保持しています。新しい
        cache
        ディレクトリを追加しようとしています。
      • (オプション)
        introscope.agent.remotejmx.system.s1.config.modules
        プロパティにディレクトリの絶対パスを追加します。以下に例を示します。
        introscope.agent.remotejmx.system.s1.config.modules=/opt/jmx/jvm,/opt/jmx/cache
  7. ファイルを保存して閉じます。
  8. 適切なコマンドを使用してインフラストラクチャ エージェントを再起動します。
    UNIX
    :
    ./APMIACtrl.sh restart
    Windows
    APMIACtrl.bat restart
リモート JMX 稼働状況の監視
Application Performance Management で
コンポーネント
ビューおよびその他のビューを使用して、リモート JMX インスタンス データを表示できます。
  1. DX SaaS
    にログインします。
  2. Application Performance Management
    ]ボックスの[
    開く
    ]を選択します。[Application Performance Management]ホーム ページが表示されます
  3. 左側のナビゲーション ペインで、[
    マップ
    ]アイコンを選択します。
  4. リモート JMX インフラストラクチャ レイヤ データを表示します。
    1. 左上隅のドロップダウン ボックスで[
      インフラストラクチャ レイヤ
      ]を選択します。
    2. 右側のドロップダウン ボックスで
      [デフォルト]
      を選択します。
    3. <
      jmx-system-name>
      ノードがマップに表示されます。jmx_system_name で識別されるすべてのリモート JMX サーバがグループ化されていることに注意してください。たとえば、お使いの環境に Hello World JMS サーバと Tomcat JMS サーバがある場合、両方のサーバが 1 つの
      JMV-System-Type
      ボックス内のマップに表示されます。
    4. [jmx system name]
      ノードを選択すると、
      コンポーネント
      ビュー
      がマップの右側に開きます。タイプが
      JMX_System
      であることに注意してください。
    5. [JMX システム]
      タブを選択して、インフラストラクチャ レイヤの属性およびメトリックを表示します。ホスト モニタリングを有効にしてインフラストラクチャ エージェントをインストールすると、エージェントはリモート JMX システムのホスト名と IP アドレスの属性を使用して、ホスト モニタリングとの関連付けを行います。
      Java エージェントで監視されるアプリケーションは、リモート JMX モニタリング インフラストラクチャ エージェント拡張機能で監視されている JMX メトリックを生成できます。この場合、マップ インフラストラクチャ レイヤ内の JMX_SYSTEM ノードは、Java エージェントおよびアプリケーションに相関付けられています。各 JMX_System ノードでは、コンポーネント ビューに
      [アプリケーション]
      [エージェント]
      、および
      [JMX_System]
      の 3 つのタブが表示され、マップ レイヤ間の相関を提供します。
  5. データを下にスクロールしてリモート JMX モニタリング メトリックを確認し、いずれかの値がパフォーマンスの低下を示しているかどうかを判断します。
  6. メトリック ブラウザで、以下のリモート JMX モニタリング エージェント メトリックを確認します。
    SuperDomain|<apmia-host>|Infrastructure|Agent|JMX|<jmx-system-name on host_port>
    注:
    リモート JMX モニタリングでは、JConsole に表示されるメトリックの一部がレポートされない場合があります。この状況が発生するのは、一部のメトリックが
    DX APM
    でサポートされていない複雑なメトリックであるためです。
リモート JMX モニタリングを使用した Zookeeper クラスタのモニタリング
Zookeeper サービスは、クラスタ内の複数のノードを管理します。すべてのノードでリモート JMX モニタリングを有効にすると、クラスタのメトリックを監視して収集できます。
Zookeeper クラスタには通常、以下のタイプのノードが含まれています。
  • リーダー ノード
    - 他のすべてのノード間の調整を図るリーダーとして機能するノード。
  • フォロワー ノード
    - リーダー ノードによって確立された関係に従うノード。
  • ブローカ ノード
    - Zookeeper サービスに接続され、サービスとクラスタ ノードの間で情報をリレーするノード。
Zookeeper モニタリング用のリモート JMX モニタリングの設定
bundle.properties
ファイルに Zookeeper のモニタリング用にリモート JMX モニタリングを設定できます。
以下の手順に従います。
  1. apmia/extensions/RemoteJmxMonitorExtension
    ディレクトリに移動します。
  2. bundle.properties
    ファイルをテキスト エディタで開きます。
  3. リモート JMX システム キーを設定するには、
    introscope.agent.remotejmx.system.keys
    プロパティでカンマ区切りのリストを設定します。
    たとえば、
    introscope.agent.remotejmx.system.keys=s1
    とします。
  4. introscope.agent.remotejmx.system.<jmx_system_key>.hostport
    プロパティにシステムごとの接続詳細を設定します。
    Zookeeper リモート システムのホストおよび JMX ポートを設定します。これが Zookeeper クラスタである場合は、JMX ポートを備えたすべてのノード ホストを追加します。
    たとえば、
    introscope.agent.remotejmx.system.s1.hostport=zookeeper-host1:9010, zookeeper-host1:9011, zookeeper-host3:9012
    とします。
  5. introscope.agent.remotejmx.system.<jmx_system_key>.name
    プロパティにリモート JMX システム名を設定します。
    リモート JMX サーバの名前が、
    マップ
    ビューおよび
    メトリック ツリー
    ビューに表示されます。
    たとえば、
    introscope.agent.remotejmx.system.s1.name=JMX Remote System
    とします。
    デフォルトでは、この値は
    JMX System
    です。
  6. ファイルを保存して閉じます。
  7. 適切なコマンドを使用してインフラストラクチャ エージェントを再起動します。
    • UNIX
      : ./APMIACtrl.sh restart
    • Windows
      : APMIACtrl.bat restart
Zookeeper JMX リモート ホストがセキュリティ保護されている場合は、以下の手順に従ってリモート JMX モニタリング セキュリティを設定します。
Zookeeper メトリック
メトリック パス
JMX|<Zookeeper_cluster_name>|Default|<Zookeeper_service_Name>
Zookeeper クラスタおよびノードでリモート JMX モニタリングが収集するメトリックのリストを以下に示します。
  • Zookeeper クラスタ
    • Connection Status
    • StartTime
    • TickTime
    • InitLimit
    • QuorumSize
    • SyncLimit
    • Number of Alive Connections
    • Data Directory Size
  • Leader Node
    • RequestThrottleStallTime
    • RequestThrottleLimit
    • DataDirSize
    • NumAliveConnections
    • TickTime
  • Follower Node
    • DataDirSize
    • NumAliveConnections
    • TickTime
  • Zookeeper Connection/JMX Metrics/Broker Node
    • Nodes
    • SourceIP
    • Avg Latency
    • Packets Sent
    • Packets Received