Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » はじめに:Collectorを理解して使用する » Tutorial: Use the Collector to send container logs to Splunk Enterprise » パート2: CollectorとSplunk Enterpriseインスタンスを設定する

パート2: CollectorとSplunk Enterpriseインスタンスを設定する 🔗

Docker Composeを使用してサービスを設定したので、OpenTelemetry Collector設定のSplunk Distributionを作成してすべてのCollectorコンポーネントを組み立て、Splunk Enterpriseインデックス設定を作成します。チュートリアルの概要については、Tutorial: Use the Collector to send container logs to Splunk Enterprise を参照してください。

Collector の設定 🔗

Collectorはコンテナログを収集し、Splunk Enterpriseサービスに送信します。以下の手順に従ってCollectorを設定します:

  1. ログ収集ディレクトリにotel-collector-config.ymlというファイルを作成します。

  2. otel-collector-config.ymlファイルで、2つのロギングサービスからログを収集するために使用されるレシーバーを定義します:

    receivers:
      # Each filelog receiver requires a unique name that follows the slash.
      filelog/output1:
        # The include field specifies the path from which the receiver collects the container logs.
        include: [ /output1/file.log ]
      filelog/output2:
        include: [ /output2/file.log ]
    
  3. otel-collector-config.ymlファイルのレシーバーの後に、収集したログデータをSplunk Enterpriseで使用するために変換するプロセッサーを定義します:

    # ...
    processors:
      # The batch processor helps regulate the data flow from the receivers.
      batch:
      # The transform processor is configured to set the `com.splunk.index` attribute to `index2`
      # for the logs with a `logging2` message, and `index1` for all other logs.
      transform:
        log_statements:
          - context: log
            statements:
              - set(attributes["com.splunk.index"], "index1")
              - set(attributes["com.splunk.index"], "index2") where ParseJSON(body)["message"] == "logging2"
      # The groupbyattrs processor groups the logs by their `com.splunk.index` attribute,
      # which is either `index1` or `index2`.
      groupbyattrs:
        keys:
          - com.splunk.index
    
  4. otel-collector-config.ymlファイルのプロセッサーの後に、ログをSplunkサーバーのHTTP Event Collector (HEC) に送信するために使用するエクスポーターを定義します:

    # ...
    exporters:
      splunk_hec/logs:
        # Splunk HTTP Event Collector token.
        token: "00000000-0000-0000-0000-0000000000000"
        # Splunk instance URL where the exporter sends the log data.
        endpoint: "https://splunk:8088/services/collector"
        tls:
          # Skips checking the certificate of the HEC endpoint when sending data over HTTPS.
          insecure_skip_verify: true
    
  5. otel-collector-config.ymlファイルでエクスポーターを定義した後、サービスを定義します。このサービスは、3つのコンポーネントタイプを通じてロギングデータのフローを編成する logs パイプラインで構成されます:

    # ...
    service:
      pipelines:
        logs:
          receivers: [ filelog/output1, filelog/output2 ]
          processors: [ transform, groupbyattrs, batch ]
          exporters: [ splunk_hec/logs ]
    

Configure the Splunk Enterprise indexes 🔗

Splunk Enterpriseインデックスは、CollectorがSplunk Enterpriseサービスに送信するデータを格納します。以下の手順に従ってインデックスを設定します:

  1. ログ収集ディレクトリにsplunk.ymlというファイルを作成します。

  2. splunk.ymlファイルで、index1index2 インデックスを定義します:

    splunk:
      conf:
        indexes:
          directory: /opt/splunk/etc/apps/search/local
          content:
            index1:
              coldPath: $SPLUNK_DB/index1/colddb
              datatype: event
              homePath: $SPLUNK_DB/index1/db
              maxTotalDataSizeMB: 512000
              thawedPath: $SPLUNK_DB/index1/thaweddb
            index2:
              coldPath: $SPLUNK_DB/index2/colddb
              datatype: event
              homePath: $SPLUNK_DB/index2/db
              maxTotalDataSizeMB: 512000
              thawedPath: $SPLUNK_DB/index2/thaweddb
    

Next step 🔗

これで、Collectorを使用してコンテナログを収集、処理、エクスポートするコンポーネントを定義し、ログを保存するSplunk Enterpriseインデックスを定義しました。次に、Docker Composeを使用してサービスをデプロイし、すべてが期待通りに動作することを確認します。続行するには、Part 3: Deploy and verify the environment を参照してください。

さらに詳しく 🔗

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