• /
  • ログイン
  • 無料アカウント

Javaエージェント:YAMLによるカスタムJMXインストゥルメンテーション

Java SE Platformには、Java Management Extensions (JMX)が含まれます。JMXはアプリケーション、デバイス、サービスをモニターし、管理する1つの方法です。通常の場合、アプリケーションサーバーには監視できるJMXメトリックスが組み込まれています。

New RelicのJavaエージェントには、カスタムインストゥルメンテーションYAMLファイルを使用して、コードを変更せずにMBeansおよびアプリケーションの属性から特定のメトリックスを監視する機能があります。Javaエージェントは、起動時にYAMLファイルを読み込み、特定のメトリックスを記録します。

ヒント

Infrastructure JMX インテグレーションを使用して、JMXをモニタリングすることもできます。

要件およびアクセス

Javaエージェントは、現在のJVMのMBeansからのみメトリックスを表示します。リモートからMBeansにアクセスしている場合、またはMBeansが個別のJVMに存在している場合、New RelicのJavaエージェントはそれらを使用できません。

カスタム JMX データは APM チャートに表示されませんが、データをクエリして、結果からカスタムチャートを作成できます。

このインテグレーションでは、単純な数値のみが報告されます。他のタイプの値をレポートする場合は、Infrastructure JMX インテグレーションを使用することをお勧めします。

ファイル構造の規則

カスタムインストゥルメンテーションファイルは、YAML形式にする必要があります。New RelicのJavaエージェントで使用する前に、YAMLバリデータを使用して構文が正しいことを確認し、以下の規則に従ってください。

  • YAMLファイルには、大文字と小文字の区別があります。
  • すべてのインデントは、2文字の空白にします。ファイルの同じスタンザのデータは、同じレベルのインデントを使用する必要があります。サブスタンザは、2つの空白を追加してインデントします。
  • 変更を有効にするには、JVMホストプロセスを再起動する必要があります。

使用可能なプロパティ

以下に、JMXファイルの各プロパティをまとめます。詳細については、カスタムJMX YAMLの例をご覧ください。

定義

name

YAMLカスタムインストゥルメンテーションファイルを識別するための分かりやすいプライマリ名。nameプロパティの前に1つのスペースを含めます。

version

拡張ファイルのバージョン。2つの拡張に同じ名前が付いている場合は、最新のバージョンの拡張のみが使用されます。versionプロパティは、必ずnameと別の行にしてください。versionプロパティの前に1つのスペースを含めます。

enabled

trueの場合、Javaエージェントは拡張を読み取ります。falseの場合、Javaエージェントは拡張を無視します。enabledプロパティの前に1つのスペースを含めます。

jmx

jmxプロパティの後に値はありません。プロパティの前にスペースは不要です。

object_name

特定のMBeanのオブジェクトに一致します。JDKバージョン1.6またはそれ以降を使用している場合は、object_nameにアスタリスク(*)を含めることができます。ダッシュの前に2つのスペース、ダッシュとobject_nameの間に1つのスペースを含めます。

root_metric_name

New RelicのJavaエージェントのバージョン3.7.0またはそれ以降で利用可能です。New Relicで使用するメトリックに名前を付けるためのオプションのプロパティ。object_nameプロパティの値を使用するには、プロパティキーを中括弧({})で囲みます。New Relicは、root_metric_nameの前にJMXによって指定されたプレフィックスを自動的に付け、メトリックの最後に属性名を追加します。root_metric_nameの前に4つのスペースを含めます。

metrics

metrics行に値はありません。metricsの前に4つのスペースを含めます。

attributes

MBeanの属性のコンマ区切りのリストです。属性名は正確に一致する必要があります。ダッシュの前に6つのスペース、ダッシュとattributesキーワードの間に1つのスペースを含めます。

type

  • simpleの場合、New Relicコレクターに各値がレポートされます。
  • monotonically_increasing(デフォルト)の場合、New Relicコレクターに正の差異がレポートされます。

YAMLファイルの場所

Javaエージェントは、プロセスの開始時にYAMLファイルを読み込みます。YAMLファイルの場所を指定するには、以下の2つの方法があります。

注意

エージェントと同じフォルダーに複数のYAMLファイルがある場合、カスタムメトリックは機能しません。カスタマイズするときは、バックアップやコピーを別のフォルダーに移動してください。

ファイルの読み込みを確認する

エージェントがYAMLファイルを読み込んでいることを確認するには:

  1. newrelic.yml設定ファイルを開きます。

  2. ログレベルのプロパティをlog_level: finerに変更します。

  3. アプリケーションを起動します。

  4. logs/newrelic_agent.logファイルに、ファイルが読み込まれたことを示す以下のステートメントが含まれていることを確認します。

    Reading custom extension file /path/to/file/file.yml
  5. このステートメントが見つからない場合は、YAMLファイルの場所を確認します。プロセスにファイルに対する読み取りアクセス権があることも確認します。

  6. ファイルに以下のステートメントが含まれることを確認します。

    Adding extension with name NAME_FROM_YAML and version VERSION_FROM_YAML
  7. このステートメントが見つからない場合は、ドキュメントが正しく解析されていることを確認します。より高いバージョン番号で、同じ名前の別の拡張ファイルがあるかどうかも確認します。

JMX データのクエリとチャート作成

JMX データのクエリを実行し、結果を使用してカスタムチャートを作成できます。この種のデータのクエリの詳細については、クエリAPMメトリックを参照してください。

JMXを探すか、YAMLファイルに設定されているカウンタへのパスを直接探す方法をここに示します。

メトリックスに名前を付けて保存する方法の詳細については、カスタムJMX YAMLファイルの例をご覧ください。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成するこのページを編集する
Copyright © 2020 New Relic Inc.