Docs » Splunk Observability Cloud でサポートされているインテグレーション » アプリケーション・レシーバーの言語設定 » GenericJMX

GenericJMX 🔗

Splunk Distribution of OpenTelemetry Collector は、Smart Agent レシーバーgenericjmx モニターを使用し、管理情報を提供しクエリする汎用フレームワークである Java Management Extensions (JMX) 上のメトリクスを公開します。このインターフェイスは、Java仮想マシン(JVM)によって使用され、使用されるメモリとスレッドに関する情報を提供します。より柔軟な代替手段としては、JMXモニター を使用します。

このインテグレーションはKubernetesとLinuxでのみ利用可能です。

メリット 🔗

インテグレーションを設定すると、これらの機能にアクセスできるようになります:

インストール 🔗

このインテグレーションを導入するには、以下の手順に従ってください:

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

  2. 設定のセクションで説明するように、モニターを設定します。

  3. Splunk Distribution of OpenTelemetry Collector を再起動します。

設定 🔗

Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:

  1. Smart Agent レシーバーを設定ファイルに含めます。

  2. レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。

🔗

このインテグレーションを有効にするには、Collector構成に以下を追加します:

receivers:
  smartagent/genericjmx:
    type: collectd/genericjmx
    ...  # Additional config

次に、設定ファイルの service.pipelines.metrics.receivers セクションにモニターを追加します:

service:
  pipelines:
    metrics:
      receivers: [smartagent/genericjmx]

高度な設定例 🔗

次の例を参照してください:

receivers:
  smartagent/genericjmx:
    type: collectd/genericjmx
    host: my-java-app
    port: 7099
    mBeanDefinitions:
      threading:
        objectName: java.lang:type=Threading
        values:
          - type: gauge
            table: false
            instancePrefix: jvm.threads.count
            attribute: ThreadCount

コンフィギュレーション設定 🔗

次の表に、このモニターの設定オプションを示します:

オプション

必須

タイプ

説明

host

はい

string

接続先のホスト。JMX がリモートアクセス用に設定され

エージェントからアクセスできる必要があります。

port

はい

integer

アプリケーションの(RMIポートではない)JMX接続ポート。これ

は、アプリケーションの実行時にJVMに設定されるべき com.sun.management.jmxremote.port Javaプロパティに対応しています。

name

いいえ

string

serviceName

いいえ

string

これは、Splunk

Splunk Observability Cloud UI so that you can get built-in content.

serviceURL

いいえ

string

JMX接続文字列。これは Go テンプレートとしてレンダリングされ

はこの設定内の他の値にアクセスできます。注: この文字列を直接設定しないでください。上記のようにホストとポートを設定することをお勧めします。デフォルト値は service:jmx:rmi:///jndi/rmi://{{.Host}}:{{.Port}}/jmxrmi です。

instancePrefix

いいえ

string

生成されたプラグイン・インスタンスにプレフィックスをつけます。2番目の

instancePrefix が参照されるMBeanブロックで指定された場合、Connectionブロックで指定された接頭辞がプラグイン・インスタンスの先頭に現れ、MBeanブロックで指定された接頭辞がそれに追加されます。

username

いいえ

string

サーバーを認証するユーザー名

password

いいえ

string

サーバーを認証するためのユーザーパスワード

customDimensions

いいえ

map of strings

接続収集時にカスタムディメンションのキーと値のペアを取り込み

します。

mBeansToCollect

いいえ

list of strings

実際に収集するために mBeanDefinitions で定義されているMBeansの

ます。提供されない場合、定義されたすべての MBeans が収集されます。

mBeansToOmit

いいえ

list of strings

省略するMBeansのリスト。これは少数の

MBeansのみをデフォルトのリストから省く必要がある場合に有用です。

mBeanDefinitions

いいえ

map of objects (下表参照)

JMX MBean の値をメトリクスにマッピングする方法を指定します。

Cassandra、Kafka、ActiveMQなどのサービスモニターには、マッピングのセットがあらかじめロードされており、このオプションで追加すると、それらのマッピングにマージされます。詳細については、Collectd ドキュメント を参照してください。

ネストされた mBeanDefinitions コンフィギュレーション・オブジェクトは以下のフィールドを持ちます:

オプション

必須

タイプ

説明

objectName

いいえ

string

MBeanServerからMBeansを取得するために使われるパターンを設定

します。複数のMBeanが返される場合、instanceFrom オプションを使用して識別子を一意にする必要があります。

instancePrefix

いいえ

string

生成されたプラグイン・インスタンスにプレフィックスをつけます。

instanceFrom

いいえ

list of strings

JMX が MBeans を識別するために使用するオブジェクト名には、

「プロパティ 「。これは、基本的にキーと値のペアです。与えられたオブジェクト名が一意でなく、複数のMBeansが返される場合、これらのプロパティの値は通常異なります。このオプションを使用すると、適切なプロパティ値からプラグイン・インスタンスを構築できます。これはオプションで、複数のプロパティ値からプラグイン・インスタンスを生成するために繰り返すことができます。

values

いいえ

list of objects (下表参照)

value ブロックは、MBean の1つ以上の属性を

値のリストです。各MBeanブロック内に少なくとも1つの value ブロックがなければなりません。

dimensions

いいえ

list of strings

ネストされた values コンフィギュレーション・オブジェクトは以下のフィールドを持ちます:

オプション

必須

タイプ

説明

type

いいえ

string

MBean 属性の値を扱うために使われるデータセットを設定

します。

table

いいえ

bool

返された属性が複合型の場合、true に設定します。

true に設定すると、複合型内のキーが型インスタンスに追加されます。デフォルト値は false です。

instancePrefix

いいえ

string

MBeanブロックの直下にある同名のオプションと同様に機能

しますが、代わりに型インスタンスを設定します。

instanceFrom

いいえ

list of strings

MBeanブロックの直下にある同名のオプションと同様に機能

しますが、代わりに型インスタンスを設定します。

attribute

いいえ

string

値を読み込む属性名を設定します。

は、ドットを使ってキー名と属性名を連結することで、複合型のキーにアクセスできます。例えば、」attrib0.key42 「です。tabletrue に設定されている場合、path は複合型を指さなければならず、そうでない場合は数値型を指さなければなりません。

attributes

いいえ

list of strings

上記の attribute 設定の複数形。

1つの MBean から複数のメトリクスを導出するために使用されます。

メトリクス 🔗

備考 🔗

  • To learn more about the available in Splunk Observability Cloud see メトリクスタイプ

  • In host-based subscription plans, default metrics are those metrics included in host-based subscriptions in Splunk Observability Cloud, such as host, container, or bundled metrics. Custom metrics are not provided by default and might be subject to charges. See メトリクスカテゴリ for more information.

  • MTSベースのサブスクリプションプランでは、すべてのメトリクスがカスタムです。

  • メトリクスを追加するには、その他のメトリクスの追加extraMetrics の設定方法を参照してください。

トラブルシューティング 🔗

Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。

Splunk Observability Cloudをご利用のお客様

見込み客および無料トライアルユーザー様

  • Splunk Answers のコミュニティサポートで質問し、回答を得る

  • Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。

公開されているポート 🔗

以下の Java プロパティは、インバウンド接続に JMX ポートを公開する方法を示しています。詳細については、Javaドキュメントの「Monitoring and Management Using JMX Technology」を参照してください。

java \
  -Dcom.sun.management.jmxremote.port=5000 \
  -Dcom.sun.management.jmxremote.authenticate=false \
  -Dcom.sun.management.jmxremote.ssl=false \
  -Dcom.sun.management.jmxremote.rmi.port=5000 \
  ...

これは、エージェントがJavaアプリホスト上のポート5000へのアクセスを許可されている限り動作します。これは認証や暗号化をオンにしないことに注意してください。

以下のエラーメッセージは、ホスト設定が172.17.0.3、ポート設定が5000に設定されていることを前提としています。ホスト設定とポート設定は異なる可能性があります。以下のセクションでは、受信する可能性のあるエラーとその意味を示します:

接続拒否 🔗

java \
  -Dcom.sun.management.jmxremote.port=5000 \
  -Dcom.sun.management.jmxremote.authenticate=false \
  -Dcom.sun.management.jmxremote.ssl=false \
  -Dcom.sun.management.jmxremote.rmi.port=5000 \
  ...

このエラーは、JMX 接続ポートが指定されたホスト上で開いていないことを示しています。netstat/ss または他のツールを使用して、このポートが設定されたホスト上で実際に開いており、適切なアドレスでリッスンしていることを確認してください。エージェントがリモートサーバーで実行されている場合、JMX は localhost だけでリッスンしていない可能性があります。

RMI接続の問題 🔗

Creating MBean server connection failed: java.rmi.ConnectException: Connection refused to host: 172.17.0.3; nested exception is:
     java.net.ConnectException: Connection timed out (Connection timed out)

これは、JMX 接続ポートには正常に到達したが、接続先の RMI ポートがファイアウォールによってブロックされていることを示しています。Java アプリの com.sun.management.jmxremote.rmi.port プロパティが、JMX 接続ポートと同じポートに設定されていることを確認してください。Connection reset(接続リセット)または Connection refused(接続拒否)というエラー・メッセージには、同様の原因を示す他のバリエーションがある可能性があります。

This page was last updated on 2024年05月29日.