JMXレシーバー
JMXレシーバーは、MBeanサーバーからのメトリクスをレポートします。
JMX レシーバーは、MBean サーバーからメトリクスをレポートするために、OpenTelemetry JMX Metric Gatherer と連携して動作します。サポートされているパイプラインのタイプは metrics です。詳細については「パイプラインでデータを処理する」を参照してください。
JMX レシーバーを使用して、target_system 設定を使用している Cassandra などのサービスを監視できます。詳細については 、「詳細設定」 および 「設定」を参照してください。
前提条件
レシーバーは、指定された JMX 接続情報とターゲットの組み込み OTel-helper Groovy スクリプトで設定された JMX Metric Gatherer を実行する子 JRE プロセスを起動します。その後、暗黙的に作成された OTLP レシーバーにメトリクスを報告します。
JMX レシーバーを使用するには、次の前提条件を満たします。
-
JMX Metric Gatherer JAR の最新リリースをダウンロードし、そのパスでレシーバーを設定します。
-
システムで JRE が使用できることを確認します。
はじめに
以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:
-
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
-
次のセクションで説明するように、JMX レシーバーを設定します。
-
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フォーマットを使用する場合は、サービスURLservice: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
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______