JMXレシーバー

JMXレシーバーは、MBeanサーバーからのメトリクスをレポートします。

JMX レシーバーは、MBean サーバーからメトリクスをレポートするために、OpenTelemetry JMX Metric Gatherer と連携して動作します。サポートされているパイプラインのタイプは metrics です。詳細については「パイプラインでデータを処理する」を参照してください。

JMX レシーバーを使用して、target_system 設定を使用している Cassandra などのサービスを監視できます。詳細については 、「詳細設定」 および 「設定」を参照してください。

注: すぐに使えるダッシュボードとナビゲーターは、JMX レシーバーではまだサポートされていません。

前提条件

レシーバーは、指定された JMX 接続情報とターゲットの組み込み OTel-helper Groovy スクリプトで設定された JMX Metric Gatherer を実行する子 JRE プロセスを起動します。その後、暗黙的に作成された OTLP レシーバーにメトリクスを報告します。

JMX レシーバーを使用するには、次の前提条件を満たします。

  • JMX Metric Gatherer JAR の最新リリースをダウンロードし、そのパスでレシーバーを設定します。

  • システムで JRE が使用できることを確認します。

はじめに

以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. 次のセクションで説明するように、JMX レシーバーを設定します。

  3. Collector を再起動します。

サンプル構成

JMXレシーバーを有効にするには、設定ファイルの receiversセクションに jmx を追加します:

receivers:
  jmx:

設定を完了するには、設定ファイルの service セクションの metrics パイプラインに、レシーバーを含めます:

service:
  pipelines:
    metrics:
      receivers: [jmx]

詳細については、「設定」を参照してください。

設定例

この例では、レシーバーの設定詳細を提供します:

receivers:
  jmx:
    jar_path: /opt/opentelemetry-java-contrib-jmx-metrics.jar
    endpoint: my_jmx_host:12345
    target_system: jvm
    collection_interval: 10s
    initial_delay: 1s
    # optional: the same as specifying OTLP receiver endpoint.
    otlp:
      endpoint: mycollectorotlpreceiver:4317
    username: my_jmx_username
    # determined by the environment variable value
    password: ${env:MY_JMX_PASSWORD}
    resource_attributes: my.attr=my.value,my.other.attr=my.other.value
    log_level: info
    additional_jars:
      - /path/to/other.jar

詳細な設定

レシーバーでは、以下の詳細設定を使用できます:

  • jar_pathします。JMX Metric Gatherer uber JAR を実行するためのパス。GitHub からダウンロードできる、バージョン 1.9 以上の jar バージョンを使用します。デフォルトでは /opt/opentelemetry-java-contrib-jmx-metrics.jar です。

    • リリースされていないバージョンが必要な場合は、ldflags オプションを使用して、コレクターのビルド時にカスタムバージョンの jar の sha256 ハッシュを指定してカスタムバージョンを指定します。
      go build -ldflags "-X github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver.MetricsGathererHash=<sha256hash>" ...
  • endpointします。必須。Metric Gatherer の JMX クライアントが使用するサービス URL を構築するために使用される JMX サービス URL またはホストとポート。service:jmx:<protocol>:<sap> または host:port のフォーマットを使用します。

    • host:port フォーマットを使用する場合は、サービスURL service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi を作成します。

    • service:jmx:<protocol>:<sap> 形式を使用または強制する場合は、otel.jmx.service.url プロパティに対応します。

  • target_systemします。実行する組み込みターゲットシステム(またはシステム)メトリクス ギャザラー スクリプト。

    • 可能な値: "activemq""cassandra""hbase""hadoop""jetty""jvm""kafka""kafka-consumer""kafka-producer""solr""tomcat"、または "wildfly"

    • 同時に複数のターゲットシステムを指定することができます: "target_system": "activemq, kafka,kafka-consumer"

    • MetricsGathererHash ビルド時間設定を使用して設定されたカスタムの JMX metrics gatherer jar のために追加のターゲットシステムをサポートする必要がある場合は、別のビルド時間フラグを使用してそれらを追加します。これは otel.jmx.target.system プロパティに対応します。

go build -ldflags "-X github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver.MetricsGathererHash=<sha256hash>
      -X github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver.AdditionalTargetSystems=newtarget,othernewtarget" ...

設定

次の表に、JMX レシーバーの設定オプションを示します:

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/receiver/jmx.yaml

トラブルシューティング

__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____

_________ __ ______ _____________ _____ _________

_________ __ ___________ _________ ___ ____ _____ _____

  • ___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________

  • ____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______