JMX メトリックの構成
Application Insights Java 3.x は既定で Java Management Extensions (JMX) メトリックの一部を収集しますが、多くの場合、これでは不十分です。 このドキュメントでは、JMX 構成オプションについて詳しく 説明します。
追加の JMX メトリックを収集する方法
JMX メトリック コレクションを構成するには、applicationinsights.json ファイルに "jmxMetrics"
セクションを追加します。 メトリックの名前を、Azure portal の Application Insights リソースに表示したい様式で入力します。 収集するメトリックごとに、オブジェクト名と属性が必要です。 glob スタイルのワイルドカード (詳細) には、オブジェクト名に *
を使用できます。
構成できるメトリックを確認する方法
オブジェクト名と属性は、必ず把握する必要があります。これらのプロパティは、ライブラリ、フレームワーク、アプリケーション サーバーによって異なり、多くの場合、十分に文書化されていません。 幸いなことに、特定の環境でどのような JMX メトリックがサポートされているかを正確かつ簡単に見つけることができます。
使用可能なメトリックを表示するには、applicationinsights.json
構成ファイル内で、自己診断レベルを DEBUG
に設定します。
{
"selfDiagnostics": {
"level": "DEBUG"
}
}
使用可能な JMX メトリック (オブジェクト名と属性名) が、Application Insights ログ ファイルに表示されます。
ログ ファイルの出力は、次の例のようになります。 大量に出力される場合もあります。
コマンド ライン ツールを使用して、使用可能な JMX メトリックを確認することもできます。
構成の例
使用可能なメトリックがわかると、それらを収集するようにエージェントを構成できます。 最初のものは、入れ子になったメトリック LastGcInfo
の例です。これにはいくつかのプロパティがあり、GcThreadCount
を取得する必要があります。
"jmxMetrics": [
{
"name": "Demo - GC Thread Count",
"objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
"attribute": "LastGcInfo.GcThreadCount"
},
{
"name": "Demo - GC Collection Count",
"objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
"attribute": "CollectionCount"
},
{
"name": "Demo - Thread Count",
"objectName": "java.lang:type=Threading",
"attribute": "ThreadCount"
}
],
Application Insights で JMX メトリックを確認できる場所
Azure portal で Application Insights リソースに移動すると、アプリケーション実行中に収集された JMX メトリックを表示できます。 メトリックを表示するには、[メトリック] タブで、下の画像で示すようにドロップダウンを選びます。