Hadoop JMX

Collectd Hadoop モニターには、この Splunk Observability Cloud インテグレーションを使用してください。メリット、インストール、設定、メトリクスを参照してください

Splunk Distribution of OpenTelemetry Collectorは、Hadoop 2.0以上のクラスターからメトリクスを収集するために、Hadoop JMXモニタータイプでSmart Agentレシーバーを使用します。

このインテグレーションは、それぞれの nodeTypes で利用可能な組み込み MBeans のセットからメトリクスを生成します:

  • 名前ノード ( nameNode )

  • リソースマネージャー ( resourceManager )

  • ノードマネージャー ( nodeManager )

  • データノード ( dataNode )

このインテグレーションでは、collectd GenericJMX プラグインを使用します。REST API を使用して Hadoop クラスターに関する追加のメトリクスを収集するように hadoop モニターを設定することもできます。

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

メリット

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

要件

HadoopでJMXを有効にするには、hadoop-env.shとyarn-env.shに以下のJava仮想マシン(JVM)オプションを追加します:

hadoop-env.sh:

export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=5677 $HADOOP_NAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=5679 $HADOOP_DATANODE_OPTS"

yarn-env.sh:

export YARN_NODEMANAGER_OPTS="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=8002 $YARN_NODEMANAGER_OPTS"
export YARN_RESOURCEMANAGER_OPTS="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=5680 $YARN_RESOURCEMANAGER_OPTS"

インストール

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

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

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

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

設定

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

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

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

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

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

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

service:
  pipelines:
    metrics:
      monitors: [smartagent/collectd/hadoopjmx]

nodeTypesのサンプル設定

以下のサンプル設定は、異なる nodeTypes に対してモニターを構成する方法を示しています。

名前ノード:

receivers:
  smartagent/collectd/hadoopjmx:
    type: collectd/hadoopjmx
    host: 127.0.0.1
    port: 5677
    nodeType: nameNode

リソースマネージャ:

receivers:
  smartagent/collectd/hadoopjmx:
    type: collectd/hadoopjmx
    host: 127.0.0.1
    port: 5680
    nodeType: resourceManager

ノードマネージャ:

receivers:
  smartagent/collectd/hadoopjmx:
    type: collectd/hadoopjmx
    host: 127.0.0.1
    port: 8002
    nodeType: nodeManager

データノード:

receivers:
  smartagent/collectd/hadoopjmx:
    type: collectd/hadoopjmx
    host: 127.0.0.1
    port: 5679
    nodeType: dataNode

設定オプション

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

オプション

必須

タイプ

説明

host

string

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

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

port

はい

integer

アプリケーションの JMX 接続ポート。RMI ポートではありません。この

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

name

いいえ

string

serviceName

いいえ

string

Splunk Observability Cloud でサービスタイプを識別し

組み込みのコンテンツを取得できるようにする方法。カスタム JMX インテグレーションの場合は、任意の値を設定してください。

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

収集されるMBeansのリスト。

mBeanDefinitionsします。指定しない場合、定義されたすべての MBean が収集されます。

mBeansToOmit

いいえ

list of strings

省略する MBean のリスト。これは、ごくわずかな

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

mBeanDefinitions

いいえ

map of objects (see below)

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

Cassandra、Kafka、Activemq などのサービスモニターは、マッピングのセットがあらかじめ設定されています。追加のマッピングはそれらに統合されます。詳細については、Collectd のドキュメントを参照してください。

nodeType

はい

string

Hadoop nodeType。

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

オプション

必須

タイプ

説明

objectName

いいえ

string

MBeanServerからMBeansを取得するために使用されるパターンを設定します。

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

instancePrefix

いいえ

string

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

instanceFrom

いいえ

list of strings

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

プロパティが含まれています。これは、キーと値のペアの形式です。指定されたオブジェクト名が一意でなく、複数の MBean が返される場合、それらのプロパティの値が異なっている可能性があります。このオプションを使用して、適切なプロパティ値からプラグインインスタンスを構築します。複数のプロパティ値からプラグインインスタンスを生成するには、この設定の複数のインスタンスを使用します。

values

いいえ

list of objects (see below)

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

collectd の値リストにマッピングします。各 MBean ブロック内に少なくとも 1 つの value ブロックが存在する必要があります。

dimensions

いいえ

list of strings

ディメンションを表す文字列のリスト。

ネストされた values コンフィグ・オブジェクトには以下のフィールドがあります:

オプション

必須

タイプ

説明

type

いいえ

string

collectd 内で使用されるデータセットを設定して、

MBean属性の値を処理します。

table

いいえ

bool

返された属性が複合タイプであるかどうか。もし

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

instancePrefix

いいえ

string

MBeanブロックの instancePrefix オプションに似ていますが、

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

instanceFrom

いいえ

list of strings

MBeanブロックの instancePrefix オプションに似ていますが、

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

attribute

いいえ

string

値の読み込み元の属性の名前。クラスを

ドットを使用してキー名を属性名に連結することにより、複合タイプのキーにアクセスできます。たとえば、attrib0.key42 のようになります。tabletrue に設定されている場合、パスは複合タイプを指している必要があります。それ以外の場合は、数値タイプを指している必要があります。

attributes

いいえ

list of strings

attribute 設定の複数形。単一の MBean から

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

メトリクス

このインテグレーションでは、以下のメトリクスを使用できます:

https://raw.githubusercontent.com/signalfx/splunk-otel-collector/main/internal/signalfx-agent/pkg/monitors/collectd/hadoopjmx/metadata.yaml

備考

  • Splunk Observability Cloud で利用可能なメトリクスタイプの詳細は、「メトリクスタイプ」を参照してください。

  • ホストベースのサブスクリプションプランでは、デフォルトのメトリクスは、ホスト、コンテナ、バンドルメトリクスなど、Splunk Observability Cloud のホストベースのサブスクリプションに含まれるメトリクスです。カスタムメトリクスはデフォルトでは提供されていないため、料金が発生する場合があります。詳細については、「メトリクスカテゴリ」を参照してください。

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

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

トラブルシューティング

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

_________ __ ______ _____________ _____ _________

_________ __ ___________ _________ ___ ____ _____ _____

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

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