Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector コンポーネント » Collectorコンポーネント: エクスポーター » Splunk HEC エクスポーター

Splunk HEC エクスポーター 🔗

Splunk HTTP Event Collector (HEC) エクスポーターにより、OpenTelemetry Collector はトレース、ログ、メトリクスを Splunk HEC エンドポイントに送信できます。サポートされているパイプラインタイプは tracesmetricslogs です。詳細は パイプラインでデータを処理する を参照してください。

Splunk HEC エクスポーターの主な目的は、ログとメトリクスを Splunk Cloud Platform または Splunk Enterprise に送信することです。Log Observer Connect は現在、Splunk Cloud Platform と Splunk Enterprise のインデックスを Splunk Observability Cloud に取り込むために使用されています。詳細は Splunk Log Observer Connect を参照してください。

エクスポーターは、AlwaysOn Profilingデータも Splunk Observability Cloud に送信します。詳細については、Splunk APMのAlwaysOn Profilingにデータを取り込む を参照してください。

HECレシーバーについては、Splunk HEC レシーバー を参照してください。

はじめに 🔗

注釈

このコンポーネントは、logs パイプラインでホスト監視 (エージェント) モードでデプロイする場合、Splunk Distribution of the OpenTelemetry Collector のデフォルト設定に含まれます。詳細は Collector のデプロイモード を参照してください。

デフォルト設定の詳細については、Helmで Collector for Kubernetes を設定するCollector for Linux のデフォルト設定、または Collector for Windows のデフォルト設定 を参照してください。この文書で説明されているように、いつでも設定をカスタマイズすることができます。

Splunk Distribution of OpenTelemetry Collector のバージョン 0.81 以降では、デフォルトの構成に、標準のログエクスポーターとは別に AlwaysOn Profiling データ用のエクスポーターが含まれています。ログまたはプロファイリングデータをオフにする を参照してください。

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

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

  1. このドキュメントで説明されているように、エクスポーターを設定してください。

  2. Collector を再起動します。

サンプル構成 🔗

次の例は、Collector 設定ファイルでログパイプライン用に設定された Splunk HEC exporter インスタンスを示しています:

exporters:
  # ...
  splunk_hec:
    token: "<hec-token>"
    endpoint: "<hec-endpoint>"
    # Source. See https://docs.splunk.com/Splexicon:Source
    source: "otel"
    # Source type. See https://docs.splunk.com/Splexicon:Sourcetype
    sourcetype: "otel"

# ...

次に、設定ファイルの services セクションにエクスポーターを追加します:

service:
  # ...
  pipelines:
    logs:
      receivers: [fluentforward, otlp]
      processors:
      - memory_limiter
      - batch
      - resourcedetection
      exporters: [splunk_hec]

Splunk HEC トークンとエンドポイント 🔗

Splunk HEC エクスポーターには Splunk HEC トークンとエンドポイントが必要です。HEC トークンの取得と HEC エンドポイントの選択はターゲットによって異なります。次の表は、各バックエンドのエンドポイントと手順を示しています。ログを Splunk Cloud Platform または Splunk Enterprise に送信する場合は、source および sourcetype フィールドオプションを使用してください。

バックエンド

エンドポイント

トークン

Splunk Cloud Platform

Splunk Cloud Platform の HTTP Event Collector にデータを送信する 」を参照してください。

Splunk Cloud Platform で HTTP Event Collector (HEC) トークンを管理する 」を参照してください。

Splunk Enterprise

Splunk Enterprise の HTTP Event Collector にデータを送信する 」を参照してください。

Splunk Enterprise で Event Collector トークンを作成する 」を参照してください。

Splunk Observability Cloud

https://ingest.<realm>.signalfx.com/v1/log <realm> は Splunk Observability Cloud レルムで、例えば us0 です。

Splunk Observability Cloudを使用した組織のアクセストークンの作成および管理 を参照してください。

Splunk レルムを見つけるには、レルムに関する注意事項 を参照してください。

注釈

Splunk HEC データをプロキシ経由で送信するには、プロキシ設定を環境変数として構成します。詳細は Collectorのプロキシ設定を構成する を参照してください。

ユースケース 🔗

ログを Splunk Cloud Platform または Splunk Enterprise に送信する 🔗

ログ収集に Collector を使用していて、Splunk Cloud Platform または Splunk Enterprise にデータを送信する必要がある場合は、splunk_hec エクスポーターを設定して、Splunk endpointtoken を使用するようにしてください。例:

exporters:
   splunk_hec:
      # Splunk HTTP Event Collector token.
      token: "00000000-0000-0000-0000-0000000000000"
      # URL to a Splunk instance to send data to.
      endpoint: "https://splunk:8088/services/collector"
      # Optional Splunk source: https://docs.splunk.com/Splexicon:Source
      source: "otel"
      # Optional Splunk source type: https://docs.splunk.com/Splexicon:Sourcetype
      sourcetype: "otel"
      # Splunk index, optional name of the Splunk index targeted.
      index: "metrics"
      # Whether to deactivate gzip compression over HTTP. Defaults to false.
      disable_compression: false
      # HTTP timeout when sending data. Defaults to 10s.
      timeout: 10s
      # Whether to skip checking the certificate of the HEC endpoint when sending data over HTTPS. Defaults to false.
      tls:
        insecure_skip_verify: true

Splunk Cloud Platform または Enterprise と Splunk Observability Cloud の間でログデータを分割して、ログを Splunk に送信しながら AlwaysOn Profiling データを保持することができます。詳細については、OpenTelemetry Collectorの設定を確認する を参照してください。

ログパイプラインを分割するには、Collector設定ファイルの receiver および exporters セクションに2つの別々の splunk_hec エントリーを設定します。次に、両方を logs パイプラインに追加します。例:

receivers:
  # Default OTLP receiver--used by Splunk platform logs
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
   # OTLP receiver for AlwaysOn Profiling data
  otlp/profiling:
    protocols:
      grpc:
      # Make sure to configure your agents
      # to use the custom port for logs when
      # setting SPLUNK_PROFILER_LOGS_ENDPOINT
        endpoint: 0.0.0.0:4319

exporters:
  # Export logs to Splunk platform
  splunk_hec/platform:
    token: "<splunk_token>"
    endpoint: "https://splunk:8088/services/collector"
    source: "otel"
    sourcetype: "otel"
    index: "main"
    disable_compression: false
    timeout: 10s
    tls:
      insecure_skip_verify: true
   # Export profiling data to Splunk Observability Cloud
  splunk_hec/profiling:
    token: "<splunk_o11y_token>"
    endpoint: "https://ingest.<realm>.signalfx.com/v1/log"
    source: "otel"
    sourcetype: "otel"
    log_data_enabled: false

processors:
  batch:
  memory_limiter:
    check_interval: 2s
    limit_mib: ${SPLUNK_MEMORY_LIMIT_MIB}

# Other settings

service:
  pipelines:
    # Traces and metrics pipelines
    # Logs pipeline for Splunk platform
    logs/platform:
      receivers: [fluentforward, otlp]
      processors:
      - memory_limiter
      - batch
      exporters: [splunk_hec/platform]
     # Logs pipeline for AlwaysOn Profiling
    logs/profiling:
      receivers: [otlp/profiling]
      processors:
      - memory_limiter
      - batch
      exporters: [splunk_hec/profiling]

ログまたはプロファイリングデータをオフにする 🔗

注釈

Splunk Distribution of OpenTelemetry Collector のバージョン 0.81 から、ログとプロファイリングパイプラインが分割されるようになりました。その場合、必要に応じて削除したりコメントアウトしたりできます。

特定のホストまたはコンテナの AlwaysOn Profiling データが不要な場合は、Collector 構成ファイルの splunk_hec exporter 設定で profiling_data_enabled オプションを false に設定します。例:

splunk_hec:
  token: "${SPLUNK_HEC_TOKEN}"
  endpoint: "${SPLUNK_HEC_URL}"
  source: "otel"
  sourcetype: "otel"
  profiling_data_enabled: false

APM 用の AlwaysOn Profilingデータを保持しながら Splunk Observability Cloud 用のログ収集をオフにするには、log_data_enabled オプションを false に設定します。詳細は Collector のログデータを除外する を参照してください。

splunk_hec/profiling:
  token: "${SPLUNK_HEC_TOKEN}"
  endpoint: "${SPLUNK_HEC_URL}"
  source: "otel"
  sourcetype: "otel"
  log_data_enabled: false

If you need to turn off log data export to Splunk Observability Cloud, for example because you’re using Log Observer Connect, set log_data_enabled to false in the splunk_hec exporter of your Collector configuration file:

splunk_hec:
  token: "${SPLUNK_HEC_TOKEN}"
  endpoint: "${SPLUNK_HEC_URL}"
  source: "otel"
  sourcetype: "otel"
  log_data_enabled: false

注釈

log_data_enabled の設定は、OpenTelemetry Collector バージョン 0.49.0 以降の Splunk ディストリビューションで利用可能です。

EC2でカスタム構成を使用するには、Deploy the Collector using a custom configuration を参照してください。Fargateでカスタム構成を使用するには、カスタム設定を使用する を参照してください。

Helmチャートを使用してKubernetesにCollectorをデプロイしている場合は、カスタムチャートまたはvalues.yamlファイルの splunkObservability セクションで以下の設定を変更してください:

splunkObservability:
  # Other settings
  logsEnabled: false

メトリクスを Splunk Cloud Platform または Splunk Enterprise に送信する 🔗

Collector を使用して、Splunk Cloud Platform または Splunk Enterprise にメトリクスを送信できます。

例えば、以下のような設定でPrometheusのメトリクスをスクレイピングしている場合:

pipelines:
  metrics:
      receivers: [prometheus]
      processors: [batch]
      exporters: [splunk_hec/metrics]

receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: 'otel-collector'
          scrape_interval: 5s
          static_configs:
            - targets: ['<container_name>:<container_port>']

次の例に示すように、splunk_hec エクスポーターを設定する必要があります:

exporters:
    splunk_hec/metrics:
        # Splunk HTTP Event Collector token.
        token: "00000000-0000-0000-0000-0000000000000"
        # URL to a Splunk instance to send data to.
        endpoint: "https://splunk:8088/services/collector"
        # Optional Splunk source: https://docs.splunk.com/Splexicon:Source
        source: "app"
        # Optional Splunk source type: https://docs.splunk.com/Splexicon:Sourcetype
        sourcetype: "jvm_metrics"
        # Splunk index, optional name of the Splunk index targeted.
        index: "metrics"

Splunk HEC でメトリクスを取り込むには、インデックスをメトリクスインデックスとして宣言する必要があります。メトリクスインデックス技術の詳細については、Splunk docs の Get started with metrics を参照してください。

設定 🔗

次の表にSplunk HECエクスポーターの設定オプションを示す。max_idle_connsmax_idle_conns_per_host などのHTTP設定については、GitHubの HTTP config options for the Collector を参照してください。

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

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

Splunk Observability Cloudをご利用のお客様

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

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

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

このページは 2024年12月12日 に最終更新されました。