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

Container Service for Kubernetes:Pod の環境変数を使用したアプリケーションログの収集

最終更新日:Jun 24, 2026

Simple Log Service (SLS) は、開発不要でログの収集、消費、転送、分析を可能にするワンストップのログデータサービスです。Container Service for Kubernetes (ACK) Serverless クラスターは、マネージド型の SLS 機能を提供します。 ACK Serverless クラスター内の Pod 環境変数を使用して、コンテナの標準出力 (stdout) とログファイルを SLS に収集します。

重要
  • ログ収集には、まず SLS の CRD による方法を推奨します。詳細については、「CRD を使用したアプリケーションログの収集」をご参照ください。

  • CRD による方法と環境変数による方法を併用しないでください。ログ収集が失敗する可能性があります。

ステップ1:アプリケーションの作成とログ収集の設定

イメージまたは YAML テンプレートからアプリケーションを作成し、ログ収集を設定します。詳細については、「Simple Log Service とは」をご参照ください。

イメージから作成

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. デプロイメント ページで、名前空間 から Namespace を選択し、イメージによる作成 をクリックします。

    1. 基本情報 タブで、名前Replicas:タイプ を設定し、 をクリックします。

    2. コンテナー タブで、ログサービス セクションを設定します。

      説明

      ここではログ収集に関するパラメーターのみを説明します。その他のパラメーターについては、「ステートレス Deployment の作成」をご参照ください。

      設定を行う前に、ロギングプラグイン がクラスターにインストールされていることを確認してください。

      パラメーター

      説明

      収集設定

      収集設定が変更された場合、ログの重複収集を避けるために、以前の設定を手動で削除してください。

      採集配置 をクリックし、ログストア容器内のログパス を設定します。

      • Logstore 名。英小文字、数字、ハイフン (-) のみ使用できます。

        指定した Logstore が存在しない場合、ACK Serverless はクラスターに関連付けられた SLS プロジェクト内に Logstore を作成します。

      • コンテナ内のログパス:収集対象のパス。例:Tomcat のテキストログの場合、/usr/local/tomcat/logs/catalina.*.log です。

        説明

        パスを stdout に設定すると、コンテナの stdout と stderr の両方が収集されます。

      各収集設定は、対応する Logstore の Logtail 設定を作成します。デフォルトでは、ログはシンプルモード (行ごと) で収集されます。高度な収集方法については、SLS コンソールにログインし、対応するプロジェクト (デフォルトでは k8s-log というプレフィックスが付きます) と Logstore の設定を変更します。

      カスタムタグ

      カスタマイズTag をクリックし、Tag名Tag値 を設定します。

      収集されたログエントリに付加されるキーと値のペアです。カスタムタグを使用して、バージョン番号など、コンテナのログデータにラベルを付けます。

    3. をクリックします。以降の手順については、「ステートレス Deployment の作成」をご参照ください。

YAML ファイルから作成

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. デプロイメント ページで、名前空間 から Namespace を選択し、YAML のリソースの作成 をクリックします。

  4. 作成 ページで、サンプルテンプレートを選択し、YAML エディターで テンプレート を編集して、作成 をクリックします。

    YAML テンプレートは標準の Kubernetes 構文を使用します。ログ収集を設定するには、env を使用して収集設定とカスタムタグを追加し、対応する volumeMounts および volumes を作成します。Pod の YAML サンプル:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-demo
    spec:
      containers:
      - name: my-demo-app
        image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest'
        args:
        - -c
        - mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /var/log/test.log; sleep 1;done
        command:
        - /bin/sh
        env:
        ######### 環境変数の設定 ###########
        - name: aliyun_logs_log-stdout
          value: stdout
        - name: aliyun_logs_log-varlog
          value: /var/log/*.log
        - name: aliyun_logs_mytag1_tags
          value: tag1=v1
        ######### Volume Mounts の設定 ###########
        volumeMounts:
        - name: volumn-sls-mydemo
          mountPath: /var/log
      volumes:
      - name: volumn-sls-mydemo
        emptyDir: {}

    必要に応じて、これらの設定を Pod の YAML に追加します。

    説明

    高度な要件については、「ステップ2:高度な環境変数パラメーター」をご参照ください。

    1. 環境変数を使用して収集設定とカスタムタグを作成します。すべて aliyun_logs_ プレフィックスを使用します。

      1. 収集設定を作成するには:

        - name: aliyun_logs_log-stdout
          value: stdout
        - name: aliyun_logs_log-varlog
          value: /var/log/*.log

        この例では、aliyun_logs_{key} を使用して 2 つの収集設定を作成します。ここで {key}log-stdoutlog-varlog です。

        • aliyun_logs_log-stdout: この env 変数は、log-stdout 収集設定を定義し、log-stdout Logstore を作成して、コンテナの stdoutlog-stdout Logstore に収集します。

        • aliyun_logs_log-varlog: この env 変数は、パス /var/log/*.log 用の Logstore (log-varlog) と収集設定 (log-varlog) を作成します。/var/log/*.log のファイルは、log-varlog Logstore に送信されます。

      2. カスタムタグを作成するには:

        - name: aliyun_logs_mytag1_tags
          value: tag1=v1

        タグは、このコンテナから収集されたログに追加されます。タグキー (この例では mytag1) は、小文字、数字、ハイフン (-) のみを含めることができます。

    2. 収集パスが stdout でない場合は、対応する volumeMounts を作成します。 この例では、/var/log/*.log を収集するには、/var/log 用の volumeMounts が必要です。

ステップ2:高度な環境変数パラメーター

環境変数ベースの Logtail 構成は、さまざまなパラメータをサポートしています。環境変数を使用して詳細設定を構成し、ログ収集要件を満たすことができます。

重要

環境変数を使用して、エッジコンピューティングシナリオでログ収集を構成することはできません。

変数

説明

使用上の注意

aliyun_logs_{key}

  • 必須。{key} には、小文字、数字、およびハイフン(-)のみを含めることができます。

  • 指定された aliyun_logs_{key}_logstore 変数が存在しない場合、収集されたログを保存するために {key} という名前のログストアが自動的に作成されます。

  • コンテナの stdout を収集するには、値を stdout に設定します。コンテナ内のログファイルパスに値を設定することもできます。

  • - name: aliyun_logs_catalina
    
      value: stdout
  • - name: aliyun_logs_access-log
    
      value: /var/log/nginx/access.log
  • デフォルトでは、ログはシンプルモードで収集されます。収集されたログを解析する場合は、Simple Log Service コンソールまたは CRD を使用して関連設定を構成することをお勧めします。

  • {key} は Logtail 構成の名前を指定します。構成名は、Kubernetes クラスタ内で一意である必要があります。

aliyun_logs_{key}_tags

オプション。この変数は、ログにタグを追加するために使用されます。値は {tag-key}={tag-value} 形式である必要があります。

- name: aliyun_logs_catalina_tags

  value: app=catalina

該当なし。

aliyun_logs_{key}_project

オプション。この変数は、Simple Log Service プロジェクトを指定します。デフォルトのプロジェクトは、Logtail のインストール後に生成されるプロジェクトです。

- name: aliyun_logs_catalina_project

  value: my-k8s-project

プロジェクトは、Logtail と同じリージョンにデプロイする必要があります。

aliyun_logs_{key}_logstore

オプション。この変数は、Simple Log Service ログストアを指定します。デフォルト値: {key}。

- name: aliyun_logs_catalina_logstore

  value: my-logstore

該当なし。

aliyun_logs_{key}_shard

オプション。この変数は、ログストアのシャード数を指定します。有効な値: 1 ~ 10。デフォルト値: 2。

説明

指定したログストアが既に存在する場合、この変数は有効になりません。

- name: aliyun_logs_catalina_shard

  value: '4'

該当なし。

aliyun_logs_{key}_ttl

オプション。この変数は、ログの保存期間を指定します。有効な値: 1 ~ 3650。

  • 値を 3650 に設定すると、ログは永続的に保存されます。

  • デフォルトの保存期間は 90 日です。

説明

指定したログストアが既に存在する場合、この変数は有効になりません。

- name: aliyun_logs_catalina_ttl

  value: '3650'

該当なし。

aliyun_logs_{key}_machinegroup

オプション。この変数は、アプリケーションがデプロイされているマシングループを指定します。デフォルトのマシングループは、Logtail がデプロイされているマシングループです。この変数の使用方法の詳細については、「ACK クラスタからコンテナログを収集する」をご参照ください。

- name: aliyun_logs_catalina_machinegroup

  value: my-machine-group

該当なし。

aliyun_logs_{key}_logstoremode

オプション。この変数は、ログストアのタイプを指定します。デフォルト値: standard。有効な値: standard および query。

説明

指定したログストアが既に存在する場合、この変数は有効になりません。

  • standard: 標準ログストア。このタイプのログストアはログ分析機能をサポートしており、リアルタイムモニタリングやインタラクティブ分析などのシナリオに適しています。このタイプのログストアを使用して、包括的な可観測性システムを構築できます。

  • query: クエリログストア。このタイプのログストアは、高パフォーマンスのクエリをサポートしています。クエリログストアのインデックストラフィック料金は、standard ログストアの約半分です。クエリログストアは SQL 分析をサポートしていません。クエリログストアは、データ量が大きく、ログ保存期間が長く、ログ分析が不要なシナリオに適しています。ログが数週間または数か月間保存される場合、ログ保存期間は長いと見なされます。

  • - name: aliyun_logs_catalina_logstoremode
      value: standard 
  • - name: aliyun_logs_catalina_logstoremode
      value: query 

この変数を使用するには、logtail-ds コンポーネントのイメージバージョンが 1.3.1 以降であることを確認してください。

  • カスタム要件 1:複数のアプリケーションから同じログストアにデータを収集する

    このシナリオでは、 aliyun_logs_{key}_logstore パラメータを構成します。次の例は、2 つのアプリケーションから stdout-logstore ログストアに stdout を収集する方法を示しています。

    アプリケーション 1 の {key}app1-stdout に設定され、アプリケーション 2 の {key}app2-stdout に設定されます。

    アプリケーション 1 に次の環境変数を構成します。

    # 環境変数を構成します。
        - name: aliyun_logs_app1-stdout
          value: stdout
        - name: aliyun_logs_app1-stdout_logstore
          value: stdout-logstore

    アプリケーション 2 に次の環境変数を構成します。

    # 環境変数を構成します。
        - name: aliyun_logs_app2-stdout
          value: stdout
        - name: aliyun_logs_app2-stdout_logstore
          value: stdout-logstore
  • カスタム要件 2:複数のアプリケーションから異なるプロジェクトにデータを収集する

    このシナリオでは、次の手順を実行します。

    1. 各プロジェクトにマシングループを作成し、マシングループのカスタム識別子を k8s-group-{cluster-id} 形式で設定します。ここで、{cluster-id} はクラスタの ID です。カスタムマシングループ名を指定できます。

    2. 各アプリケーションの環境変数で、プロジェクト、ログストア、およびマシングループを指定します。マシングループの名前は、前の手順で作成した名前と同じです。

      次の例では、アプリケーション 1 の {key}app1-stdout に設定され、アプリケーション 2 の {key}app2-stdout に設定されます。2 つのアプリケーションが同じ Kubernetes クラスタにデプロイされている場合は、アプリケーションに同じマシングループを使用できます。

      アプリケーション 1 に次の環境変数を構成します。

      # 環境変数を構成します。
          - name: aliyun_logs_app1-stdout
            value: stdout
          - name: aliyun_logs_app1-stdout_project
            value: app1-project
          - name: aliyun_logs_app1-stdout_logstore
            value: app1-logstore
          - name: aliyun_logs_app1-stdout_machinegroup
            value: app1-machine-group

      アプリケーション 2 に次の環境変数を構成します。

      # 環境変数を構成します。
          - name: aliyun_logs_app2-stdout
            value: stdout
          - name: aliyun_logs_app2-stdout_project
            value: app2-project
          - name: aliyun_logs_app2-stdout_logstore
            value: app2-logstore
          - name: aliyun_logs_app2-stdout_machinegroup
            value: app1-machine-group

ステップ3:ログの表示

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [ログセンター] を選択します。

  3. ログセンター ページで、アプリケーションログ タブをクリックし、Logstore を選択してコンテナログを表示します。