Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » はじめに:Collectorを理解して使用する » Tutorial: Use the Collector to send container logs to Splunk Enterprise » Part 1: Configure the log collection environment

Part 1: Configure the log collection environment 🔗

ログを生成するコンテナ、Splunk Distribution of the OpenTelemetry Collector、Splunk Enterprise サーバーなど、チュートリアル環境に必要なすべてのサービスを設定します。チュートリアルの概要については、Tutorial: Use the Collector to send container logs to Splunk Enterprise を参照してください。

注釈

このチュートリアルでは、まずロギング、Collector、Splunk Enterpriseコンテナを作成します。チュートリアルの次のパートでは、ロギングコンテナボリュームからログを受信、処理、エクスポートするCollectorコンポーネントと、処理されたロギングデータを受信、保存するインデックスを定義します。

Create the log collection environment 🔗

このチュートリアルで使用するすべての設定ファイルは1つのディレクトリにあります。以下の手順に従って、ディレクトリと最初のファイルを作成してください:

  1. log-collectionというディレクトリを作成します。

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

Add the logging services 🔗

Docker Composeは、このチュートリアルで使用するサービスをデプロイし、管理します。ログを出力するBashサービスを設定するには、docker-compose.yml ファイルに次を追加します :

services:
  logging1:
    image: bash:latest
    container_name: logging1
    # Command that runs when the container starts.
    command: bash -c "while(true) do echo '{\"message\":\"logging1\"}' >> /output/file.log ; sleep 1; done"
    # Sets the logging services not to start until the Collector service starts.
    depends_on:
      - otelcollector
    # Routes the `./output` directory from the host machine to the `/output` volume.
    volumes:
      - ./output1:/output
  logging2:
    image: bash:latest
    container_name: logging2
    command: bash -c "while(true) do echo '{\"message\":\"logging2\"}' >> /output/file.log ; sleep 1; done"
    depends_on:
      - otelcollector
    volumes:
      - ./output2:/output

Add the Collector service 🔗

ロギングサービスから受信するログデータを受け入れ、チュートリアルの次の部分で定義するCollectorコンポーネントを実行するCollectorサービスを作成します。services セクションに、以下のコードを追加します:

otelcollector:
  image:  quay.io/signalfx/splunk-otel-collector:latest
  container_name: otelcollector
  # Command that runs when the container starts.
  command: ["--config=/etc/otel-collector-config.yml"]
  # Routes files and directories from the host machine to the container volumes
  volumes:
    - ./otel-collector-config.yml:/etc/otel-collector-config.yml
    - ./output1:/output1
    - ./output2:/output2
  # Sets the otelcollector service not to start until splunk service starts
  # and is in the Healthy state.
  depends_on:
    splunk:
      condition: service_healthy
  # Host machine port 18088 forwards to the container port 8088,
  # on which the otelcollector service listens for incoming log data.
  ports:
    - 18088:8088

Add the Splunk Enterprise service 🔗

Collectorサービスから受信するログデータを受け入れるSplunk Enterpriseサービスを作成します。services セクションに以下のコードを追加します:

splunk:
  image: splunk/splunk:9.1.2
  container_name: splunk
  # Sets environment variables to automatically accept the license agreement,
  # define the token for the Splunk HTTP Event Collector (HEC), and define the administrator password.
  environment:
    - SPLUNK_START_ARGS=--accept-license
    - SPLUNK_HEC_TOKEN=00000000-0000-0000-0000-0000000000000
    - SPLUNK_PASSWORD=changeme
  # Host machine port 18000 forwards to the container port 8000,
  # on which the splunk service listens for incoming log data.
  ports:
    - 18000:8000
  # Command that runs at regular intervals to check the health of the splunk service.
  healthcheck:
    test: ['CMD', 'curl', '-f', 'http://localhost:8000']
    interval: 5s
    timeout: 5s
    retries: 20
  # Routes the `./splunk.yml` file from the host machine to the `/tmp/defaults/default.yml` file
  # inside the container, and creates persistent storage locations for data and configuration files.
  volumes:
    - ./splunk.yml:/tmp/defaults/default.yml
    - /opt/splunk/var
    - /opt/splunk/etc

注釈

splunk/splunk 画像には必ず 9.1.2 タグを使ってください。latest タグを使うと、HECトークンの作成に関連して発生する既知の問題があります。

Next step 🔗

これで、Collectorを使用してコンテナログを収集し、Splunk Enterpriseインスタンスに送信するために必要なサービスが設定されました。次に、コンテナログの受信、処理、エクスポートに使用するCollectorコンポーネントを設定します。次に、Splunk Webでの検索と取得のためにログを保存するSplunk Enterpriseインデックスを設定します。続行するには、パート2: CollectorとSplunk Enterpriseインスタンスを設定する を参照してください。

さらに詳しく 🔗

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