JMX 統合は、2 種類の YAML ファイルを使用して統合データを定義および収集します: 統合構成オプションとメトリック収集オプション。JMX 統合がデータを収集する方法を変更するには、最初にログイン資格情報を統合の YAML 形式の構成に追加します。
統合をインストールし、収集するデータを確認するために読んでください。
互換性と要件
私たちの統合は、Java8以降と互換性があります。 PATH
で構成されているものとは異なるJavaバージョンを使用する必要がある場合は、GitHubにあるNewRelicの構成ドキュメントに従ってください。
統合をインストールする前に、次の要件を満たしていることを確認してください。
NewRelicアカウント。持っていませんか?無料でお申し込み頂けます!クレジットカードは必要ありません。
JMXがKubernetesまたはAmazonECSで実行されていない場合は、JMXを実行しているホストにインフラストラクチャエージェントをインストールする必要があります。さもないと:
本製品はIIOPプロトコルに対応していません。
インストールしてアクティブ化する
JMXインテグレーションをインストールするには、お使いの環境に応じた指示に従ってください。
''
その他の注意事項:
- 高度:統合はtarball形式でも利用可能であり、パッケージマネージャーの外部にインストールできます。
- インフラストラクチャエージェントが
nri-jmx
バイナリを実行すると、パスがPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
に設定されます。 Javaバイナリは、これらのパスの1つに含まれている必要があります。 nrjmx
およびjmx
は、JavaバイナリがシステムPATH
に存在する必要があります。これはrootユーザーのPATH
ではなく、/root/.bashrc
でPATH
環境変数を変更しても影響を受けません。 PATHシステム変数を変更する方法の詳細をお読みください。- オンホスト統合は自動的に更新されません。最良の結果を得るには、統合パッケージとインフラストラクチャエージェントを定期的に更新してください。
このドキュメントはインストールで役立ちましたか。
統合を構成する
統合のYAML形式の構成では、必要なログイン資格情報を配置し、データの収集方法を構成できます。どのオプションを変更するかは、セットアップと設定によって異なります。
インストール方法に応じて、統合を構成する方法はいくつかあります。
- Kubernetes経由で有効になっている場合: Kubernetesで実行されているサービスの監視をご覧ください。
- Amazon ECSを介して有効になっている場合: ECSで実行されている監視サービスを参照してください。
- ホストにインストールされている場合:統合のYAML構成ファイル
jmx-config.yml
の構成を編集します。
統合設定ファイル
構成ファイルには、 interval
、 timeout
、 inventory_source
などのすべての統合に適用できる共通の設定があります。これらの一般的な設定についてすべて読むには、 構成フォーマットのドキュメントを参照してください。
重要
従来の設定・定義ファイルを使用している場合は、 標準設定書 を参考にしてください。
JMXに関連する特定の設定は、構成ファイルのenv
セクションを使用して定義されます。これらの設定は、JMXインスタンスへの接続、およびその他のセキュリティ設定と機能を制御します。有効な設定のリストについては、このドキュメントの次のセクションで説明します。
設定オプションは以下の通りです。設定例については、 example config file を参照してください。
メトリクス収集ファイル
メトリクス・コレクション定義ファイルは構造化されたYAMLファイルで、どのようなメトリクスを収集するかをインテグレーションに伝えます。構成例については、 メトリクス・コレクション・ファイルの例 を参照してください。
デフォルトのJVMメトリック収集ファイル: /etc/newrelic-infra/integrations.d/jvm-metrics.yml
ヒント
整理やメンテナンスを容易にするために、異なるコレクションファイルを書くことができます。例として、 設定ファイル を参照してください。
Kubernetesのアノテーションを利用したコレクションの設定
Kubernetesアノテーションを使用して、コレクション構成を提供できます。これを実現するには、 nri-jmx
アプリケーションの構成ファイルを作成するKubernetesクラスターにconfigMap
をデプロイする必要があります。
この設定ファイルでは、 container auto-discovery のコマンドを指定する必要があります。これにより、Kubernetesのアノテーションを含む統合設定でプレースホルダーを使用することができます。
TomcatアプリケーションでJVMを監視するためのconfigMap
の例:
次に、アノテーションを使ってコレクションの構成を定義します。例えば、アノテーションを使用したTomcatのデプロイメントを示します。
apiVersion: apps/v1kind: Deploymentmetadata: name: tomcat-deployment labels: app: javaspec: replicas: 1 selector: matchLabels: app: java template: metadata: annotations: newrelic.config: >- { "collect": [ { "domain": "java.lang", "event_type": "JVMSample", "beans": [ { "query": "type=GarbageCollector,name=*", "attributes": [ "CollectionCount", "CollectionTime" ] }, { "query": "type=Memory", "attributes": [ "HeapMemoryUsage.Committed", "HeapMemoryUsage.Init", "HeapMemoryUsage.Max", "HeapMemoryUsage.Used", "NonHeapMemoryUsage.Committed", "NonHeapMemoryUsage.Init", "NonHeapMemoryUsage.Max", "NonHeapMemoryUsage.Used" ] }, { "query": "type=Threading", "attributes": [ "ThreadCount", "TotalStartedThreadCount" ] }, { "query": "type=ClassLoading", "attributes": [ "LoadedClassCount" ] }, { "query": "type=Compilation", "attributes": [ "TotalCompilationTime" ] } ] } ] } labels: app: java spec: containers: - name: tomcat image: tomcat:10.0.12 ports: - containerPort: 9999 env: - name: CATALINA_OPTS value: '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
カスタム コネクタ
JMX では、アプリケーションとの通信にカスタム・コネクタを使用することができます。カスタムコネクターを使用するには、nrjmx クラスパスにカスタムコネクターを含める必要があります。
デフォルトでは、サブフォルダーconnectors
はクラスパスにあります。このフォルダが存在しない場合は、nrjmxがインストールされているフォルダの下に作成してください。
たとえば、JBossのサポートを追加するには、デフォルト(Linux)ライブラリパス/usr/lib/nrjmx/
( /usr/lib/nrjmx/connectors/
)の下にconnectors
という名前のフォルダーを作成し、カスタムコネクターjar( $JBOSS_HOME/bin/client/jboss-cli-client.jar
)をそのフォルダーにコピーします。これで、JBossに対してJMXクエリを実行できます。
構成例
オン・ホスト・インストールのためのファイル構成例。
オンホスト統合構成の一般的な構造の詳細については、「 構成」を参照してください。