サポートセンターホーム


JMXデータ収集

JMXコレクターは、公開されたMBeanを使用してJavaアプリケーションからデータを収集するために使用されます。 JMXコレクションの構成に関する問題については、を参照してください。 このページ.

MBeanは、ドメインとプロパティのリストの組み合わせによって識別されます。 たとえば、domain = java.langおよびプロパティtype = Memoryは、JVMのメモリ使用量を報告するMBeanを識別します。

各MBeanは、名前で照会および収集できるXNUMXつ以上の属性を公開します。

MBean属性は次のようになります。

  • int、long、double、StringなどのプリミティブJavaデータ型
  • データの配列(「データ」自体は、プリミティブデータ型、データの配列、データのハッシュなどである可能性があります)
  • データのハッシュ

LogicMonitorは、各属性が完全に指定されてプリミティブデータ型になる限り、上記のすべてのデータ型を処理できます。 ただし、ご注意ください LogicMonitorは現在、ドット/ピリオドを含むJMXクエリをサポートしていません(つまり、 「。」 ) それらが配列の一部ではない場合、たとえばrep.Containerの属性名。

収集するJMXオブジェクトを指定するときは、以下を指定する必要があります。

  • 名前–オブジェクトを識別するために使用されます
  • MBean ObjectName –MBeanのJMXドメインとパスを指定するために使用されます
  • Mbean属性–収集する属性を指定するために使用されます。

例:単純なケース:

収集される属性が複雑なオブジェクトの一部である場合は、ピリオド区切り記号を使用して修飾できます。

また、必要に応じて、複数レベルのセレクターを指定できます。 たとえば、収集するには LogicMonitorドメインのタイプrrdfsのMBeanのインデックスが「move」のマップの属性「key1」の値:

CompositeDataとマップのサポート

MBean属性式は、CompositeDataとMapをサポートします。 たとえば、MBeanjava.lang:type = GarbageCollector、name = Copy 属性があります LastGcInfo その値はCompositeDataです(下の図を参照)。1

CompositeDataとマップのサポート


GcThreadCountの値にアクセスするには、属性式は「
LastGcInfo.GcThreadCount「。 値がマップの場合、同じルールを使用できます。

TabularDataのサポート

MBean式はTabularDataをサポートします。 たとえば、MBean java.lang:type = GarbageCollector、name = Copy 属性LastGcInfoがあります。 その子値の1つであるmemoryUsageAfterGcはTabularDataです。 次の図は、そのスキーマとデータを示しています。XNUMX

TabularDataのサポート

テーブルには2つの列があります– 'キー'と''。 コラム 'キー'はテーブルにインデックスを付けるために使用されます(したがって、インデックス値を指定することで行を一意に見つけることができます。たとえば、 key =”コードキャッシュ” 1行目を返します)。 XNUMX番目の行の列 'value'の値を取得する場合、式は次のようになります。「lastGcInfo.memoryUsageAfterGc.EdenSpace.value」、 コラボレー 「エデンスペース」 は行を一意に見つけるための列「key」の値であり、「value」は値にアクセスする列の名前です。

TabularDataに複数のインデックス列がある場合があります。 次に例を示します(この例は偽造されていることに注意してください)。

このTabularDataには4つの列があります。 「プロセス」列と「ヒープ」列はインデックス列です。 それらの値の組み合わせは、行を一意に見つけるために使用されます。 例えば、 process = Tomcat、heap =コードキャッシュ 最初の行を返します。

3行目の「コミット済み」列の値を取得するには、次の式を使用できます。LastGcInfo.memoryUsageAfterGc.Tomcat、Perm Gen.committed"、 どこ 'Tomcat、Perm Gen”はインデックス列の値(コンマで区切る)、 'コミットした'は、値にアクセスする列の名前です。

配列またはリストのサポート

Mbean式は、配列またはリストをサポートします。 たとえば、MBean java.lang:type = GarbageCollector、name = Copy 値が文字列配列(String []、下の図を参照)である属性MemoryPoolNamesがあります。

配列またはリストのサポート

MemoryPoolNamesの最初の要素にアクセスするには、式は「MemoryPoolNames.0「、ここで「0」は配列へのインデックスです(0ベース)。 リスト内の要素にアクセスするために同じルールが使用されます。

jmxコレクターは、デバイスのプロパティ(jmx.userおよびjmx.pass)からユーザー名とパスワードの情報を取得します。

記事上で