Apache Sparkレシーバー

Apache SparkレシーバーはApache Spark REST APIを通じてApache Sparkクラスターのメトリクスを取得します。

Apache Spark レシーバは、メモリ使用率、CPU 使用率、シャッフル操作などのパフォーマンスメトリクスを収集することで、Apache Spark クラスターおよびその上で実行されているアプリケーションを監視します。サポートされているパイプラインのタイプは metrics です。詳細については「パイプラインでデータを処理する」を参照してください。

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

レシーバーは、以下のエンドポイントを使用してApache Spark REST APIからメトリクスを取得します: /metrics/json/api/v1/applications/[app-id]/stages/api/v1/applications/[app-id]/executors/api/v1/applications/[app-id]/jobs endpoints

前提条件

このレシーバーはApache Sparkバージョン3.3.2以降をサポートしています。

はじめに

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

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

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

  3. Collector を再起動します。

サンプル構成

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

receivers:
  apachespark:
    collection_interval: 60s
    endpoint: http://localhost:4040
    application_names:
    - PythonStatusAPIDemo
    - PythonLR

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

service:
  pipelines:
    metrics:
      receivers: [apachespark]

設定オプション

以下の設定はオプションです:

  • collection_interval。デフォルトでは 60s です。このレシーバーがメトリクスを収集する間隔を設定します。

    • この値は、Golang の time.ParseDuration で読み取り可能な文字列である必要があります。詳細については、Go 公式ドキュメントの https://pkg.go.dev/time#ParseDuration を参照してください。

    • 有効な時間単位は nsusµs )、mssmh です。

    • initial_delay。デフォルトでは 1s です。このレシーバーが初めてメトリクスを収集するまでの待機時間を決定します。

  • endpoint。デフォルトでは http://localhost:4040 です。[http][://]{host}[:{port}] の形式で接続する Apache Spark のエンドポイントです。

  • application_namesします。メトリクスの収集元である Spark アプリケーション名の配列です。アプリケーション名が指定されていない場合は、指定されたエンドポイントにあるクラスター上で実行されているすべての Spark アプリケーションのメトリクスが収集されます。

設定

このレシーバに公開されている設定の全リストは、GitHub の「Apache Spark receiver config repo」から確認できます。

メトリクス

以下のメトリクス、リソース属性、および属性が使用できます。

注: SignalFx エクスポータは、デフォルトでいくつかの利用可能なメトリクスを除外します。デフォルトのメトリクスフィルタの詳細については、「List of metrics excluded by default」を参照してください。

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/metric-metadata/apachesparkreceiver.yaml

特定のメトリクスをアクティブまたは非アクティブにする

各メトリクスの metrics セクションの enabled フィールドを設定することで、特定のメトリクスをアクティブまたは非アクティブにできます。例:

receivers:
  samplereceiver:
    metrics:
      metric-one:
        enabled: true
      metric-two:
        enabled: false

以下は、アクティブ化されたメトリクスを持つホスト・メトリクス・レシーバーの構成例です:

receivers:
  hostmetrics:
    scrapers:
      process:
        metrics:
          process.cpu.utilization:
            enabled: true
注: 非アクティブ化されたメトリックは Splunk Observability Cloud に送信されません。
請求
  • MTS ベースのサブスクリプションの場合、すべてのメトリックがメトリックの使用にカウントされます。

  • ホストベースのプランを使用している場合、このドキュメントでアクティブ(アクティブ:はい)としてリストされているメトリックはデフォルトと見なされ、無料で含まれています。

詳細については、「Infrastructure Monitoringのサブスクリプション使用状況(ホストとメトリクスのプラン)」を参照してください。

トラブルシューティング

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

_________ __ ______ _____________ _____ _________

_________ __ ___________ _________ ___ ____ _____ _____

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

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