すべてのプロダクト
Search
ドキュメントセンター

:Docker コンテナーから標準出力を収集する (レガシー)

最終更新日:Nov 20, 2025

サーバーに Docker をデプロイした後、ログを収集してクエリや分析を行うことができます。Docker のログは、標準出力とファイルログの 2 種類に分類されます。ファイルログはコンテナー内で生成され、サーバー上の指定されたファイルディレクトリに書き込まれます。標準出力は、コンテナーのリアルタイム出力ストリームです。このトピックでは、Logtail を使用してコンテナーから Logstore に標準出力を収集する方法について説明します。

概要

ホストに Docker をインストールした後、Logtail を使用して、Docker 環境にデプロイされたアプリケーションコンテナーから標準出力 (stdout) および標準エラー (stderr) ログを収集できます。収集されたログデータは Logstore に送信され、簡単にクエリおよび分析できます。

前提条件

ステップ 1: Logtail コンテナーをインストールし、マシングループを作成する

  1. Logtail イメージをプルする

    ホストにログオンします。Simple Log Service プロジェクトのリージョンに基づいて、対応する ${region_id} を取得します。次に、次のコマンドの ${region_id} プレースホルダーを置き換えて実行し、Logtail イメージをプルします。

    重要
    • 各リージョンの ${region_id} については、「リージョンとゾーン」をご参照ください。たとえば、中国 (杭州) の ${region_id}cn-hangzhou です。

    #Logtail イメージをプルします:
    docker pull registry.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun
    #サーバーが Alibaba Cloud VPC にある場合は、次のコマンドを実行して Logtail イメージをプルします:
    docker pull registry-vpc.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun
  2. Logtail コンテナーを起動する

    1. パラメーターの説明

      パラメーター

      説明

      ${region_id}

      Simple Log Service プロジェクトのリージョンに対応する ${region_id} を取得します。各リージョンの ${region_id} については、「利用可能なリージョン」をご参照ください。ネットワークタイプの選択については、「Logtail のネットワークタイプ、起動パラメーター、および構成ファイル」をご参照ください。

      • たとえば、プロジェクトが中国 (杭州) リージョンにある場合、Alibaba Cloud 内部ネットワークアクセスの場合 ${region_id}cn-hangzhou で、パブリックネットワークアクセスの場合 cn-hangzhou-internet です。

      ${aliyun_account_id}

      Simple Log Service が属する Alibaba Cloud アカウントの ID。ID の取得方法の詳細については、「Alibaba Cloud アカウントの ID を取得する」をご参照ください。

      ${user_defined_id}

      マシングループのカスタム識別子を指定します (例: user-defined-docker-1)。識別子は、プロジェクトが配置されているリージョン内で一意である必要があります。

    2. パラメーターの説明に基づいて、コマンドテンプレートの ${region_id}${aliyun_account_id}、および ${user_defined_id} プレースホルダーを置き換えます。次に、コマンドを実行して Logtail コンテナーを起動します。

      # Logtail コンテナーを起動します。${region_id}、${aliyun_account_id}、および ${user_defined_id} を置き換えます。
      docker run -d \
          -v /:/logtail_host:ro \
          -v /var/run/docker.sock:/var/run/docker.sock \
          --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${region_id}/ilogtail_config.json \
          --env ALIYUN_LOGTAIL_USER_ID=${aliyun_account_id} \
          --env ALIYUN_LOGTAIL_USER_DEFINED_ID=${user_defined_id} \
          registry.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun
      重要

      次の条件が満たされている場合にのみ、Logtail コンテナーの起動パラメーターをカスタマイズできます。

      • 起動時に、ALIYUN_LOGTAIL_CONFIGALIYUN_LOGTAIL_USER_ID、および ALIYUN_LOGTAIL_USER_DEFINED_ID 環境変数を構成する必要があります。

      • ホストの /var/run ディレクトリを Logtail コンテナーの /var/run ディレクトリにマウントします。

      • ホストのルートディレクトリを Logtail コンテナーの /logtail_host ディレクトリにマウントします。

      • Logtail ログ (/usr/local/ilogtail/ilogtail.LOG) に The parameter is invalid : uuid=none エラーメッセージが表示された場合は、ホストに product_uuid ファイルを作成します。次に、169E98C9-ABC0-4A92-B1D2-AA6239C0D261 などの有効な UUID をファイルに入力し、そのファイルを Logtail コンテナーの /sys/class/dmi/id/product_uuid ディレクトリにマウントします。

    3. docker ps コマンドを実行して、コンテナーが正常に起動したかどうかを確認します。image

  3. カスタム識別子を使用してマシングループを作成する

    1. Simple Log Service コンソールにログオンします。[プロジェクト] セクションで、目的のプロジェクトをクリックします。

    2. 左側のナビゲーションウィンドウで、リソース > マシングループを選択します。[マシングループ] リストで、机器组 > マシングループの作成を選択します。image

    3. [マシングループの作成] ページで、[名前] を入力します。マシングループ識別子として [カスタム識別子] を選択します。[カスタム識別子] フィールドに、ステップ 1 の ${user_defined_id} パラメーターの値 (例: user-defined-docker-1) を入力します。image

      パラメーター

      説明

      マシングループ Topic

      任意。Topic は、異なるサーバーによって生成されたログを識別するために使用されます。

  4. マシングループのステータスを確認する

    [マシングループ] リストで、ターゲットマシングループをクリックします。[マシングループ構成] ページで、マシングループの構成とサーバーのステータスを表示できます。image

    ハートビートのステータスが [OK] の場合、構成は成功です。ステータスが [FAIL] の場合は、1 分待ってから [更新] をクリックします。[ハートビート] のステータスがまだ [FAIL] の場合は、次の項目を確認してください。

    1. Logtail コンテナーとプロジェクトが同じリージョンにあるかどうかを確認できます。

    2. ホストのセキュリティグループが Logtail からのアウトバウンドトラフィックを許可しているかどうかを確認できます。デフォルトのポートは 80 です。

    問題のトラブルシューティング方法の詳細については、「コンテナーログ収集エラーのトラブルシューティング」をご参照ください。

ステップ 2: Logtail 構成を作成する

  1. ログストレージ > Logstores タブで、目的の Logstore をクリックします。

  2. Logstore のメニューバーで、[Logtail 構成] をクリックし、次に [Logtail 構成の追加] をクリックします。image

  3. [クイックデータインポート] ページで、[Docker Stdout And Stderr - 旧バージョン] をクリックします。image

  4. ステップ 1 でマシングループを作成したため、[既存のマシングループを使用] をクリックします。image

  5. [マシングループ構成] ステップで、ステップ 1 で作成したマシングループを選択し、[>] をクリックして適用済みマシングループにマシングループを追加し、[次へ] をクリックします。image

  6. [Logtail 構成] ステップで、[構成名] を入力し、[次へ] をクリックします。image

  7. [クエリ分析構成] ステップで、[更新] をクリックして収集されたログをプレビューします。ログが表示されない場合は、コンテナーが標準出力ログを継続的に生成していることを確認してください。デフォルトでは、標準出力は /var/lib/docker/containers/<コンテナー ID>/<コンテナー ID>-json.log に保存されます。それでもログをプレビューできない場合は、詳細について「コンテナーログ収集エラーのトラブルシューティング方法」をご参照ください。image

ステップ 3: 結果を表示する

重要

Logtail は増分ログのみを収集します。Logtail 構成が適用された後、標準出力に対して新しいログが生成されない場合、Logtail は以前のログを収集しません。詳細については、「ログの読み取り」をご参照ください。

image

デフォルトでは、収集された各 Docker 標準出力ログには次のフィールドが含まれます。

フィールド

説明

__source__

Logtail コンテナーの IP アドレス。

__tag__:__hostname__

Logtail が配置されている Docker ホストの名前。

__tag__:__receive_time__

ログがサーバーに到着した時刻。

_time_

データがアップロードされた時刻。例: 2024-02-02T02:18:41.979147844Z

_source_

入力ソースのタイプ (stdout または stderr)。

_image_name_

イメージの名前。

_container_name_

コンテナーの名前。

_container_ip_

アプリケーションコンテナーの IP アドレス。

関連ドキュメント