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

Elastic Container Instance:ECI ログ収集のカスタマイズ

最終更新日:Jun 05, 2026

環境変数を設定して、ECI ログを SLS のカスタムプロジェクト、Logstore、マシン グループに転送します。

背景

Simple Log Service (SLS) は、ログデータ向けのワンストップサービスです。カスタム開発を行うことなく、ログの収集、利用、転送、クエリ、分析が可能です。詳細については、「Simple Log Service の概要」をご参照ください。

重要

SLS は従量課金制です。課金の概要

Elastic Container Instance (ECI) インスタンス作成時にログ収集を有効にすると、システムはデフォルトのプロジェクトとマシン グループを作成します。

  • プロジェクト名: eci-log-default-project-{Region}-{AccountID}

  • マシン グループ名: eci-log-default-machine-group-{Region}

カスタムプロジェクト、Logstore、またはマシン グループを使用するには、ログ設定をコンテナ環境変数として設定します。指定されたリソースが SLS に存在しない場合、システムは自動的にリソースを作成します。

注意事項

  • ログ関連の環境変数は、インスタンス作成時にのみ有効です。インスタンス更新時に設定された変数は無視されます。

  • 使用していないカスタムプロジェクトと Logtail 設定を削除して、課金を回避してください。

  • 環境変数の名前を変更しても、元の設定は削除されません。課金を回避するために、手動で削除してください。

設定

カスタムログ設定 (プロジェクト、Logstore、Logtail 設定、マシン グループ、シャード数、保持期間、タグ) をコンテナ環境変数として設定します。

説明

ログ関連の環境変数名は aliyun_logs_{key} で始まる必要があります。ここで、{key} は Logtail 設定名です。key には小文字、数字、ハイフン (-) のみを使用できます。

パラメーター

環境変数

値の説明

Logtail 設定

aliyun_logs_{key}

Logtail 設定を作成し、ログ収集パスを指定します。

  • 標準出力を収集するには、次のいずれかの値を使用します。

    • stdout:通常の出力とエラーメッセージの両方を収集します。

    • stderr-only:エラーメッセージのみを収集します。

    • stdout-only:通常の出力のみを収集します。

  • テキストファイルを収集するには、コンテナ内のファイルパスに値を設定します。

プロジェクト

aliyun_logs_{key}_project

プロジェクトを指定します。名前の要件は次のとおりです:

  • 長さは 3~63 文字である必要があります。

  • 小文字、数字、ハイフン (-) のみを含めることができます。小文字または数字で始まり、小文字または数字で終わる必要があります。

説明

プロジェクト名はグローバルに一意である必要があり、作成後は変更できません。無効な名前は無視され、デフォルトのプロジェクトが使用されます。

Logstore

aliyun_logs_{key}_logstore

Logstore を指定します。名前の要件は次のとおりです:

  • 長さは 3~63 文字である必要があります。

  • 小文字、数字、ハイフン (-)、アンダースコア (_) のみを含めることができます。小文字または数字で始まり、小文字または数字で終わる必要があります。

説明

無効な名前は無視され、デフォルトの Logstore が使用されます。デフォルトの Logstore 名は、Logtail 設定名 {key} と一致します。

マシン グループ

aliyun_logs_{key}_machinegroup

マシン グループを指定します。名前の要件は次のとおりです:

  • 長さは 3~63 文字である必要があります。

  • 小文字、数字、ハイフン (-)、アンダースコア (_) のみを含めることができます。小文字または数字で始まり、小文字または数字で終わる必要があります。

説明

無効な名前は無視され、デフォルトのマシン グループが使用されます。

シャード

aliyun_logs_{key}_shard

Logstore のシャード数を設定します。値は 1~10 の整数です。

Logstore で読み書きされるログはシャードに保存されます。各 Logstore にはデフォルトで 2 つのシャードがあります。

ログ保持期間

aliyun_logs_{key}_ttl

ログ保持期間を日数で設定します。値は 1~3,650 の整数です。

  • 3650 の値は、ログが永続的に保存されることを示します。

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

タグ

aliyun_logs_{key}_tags

ログにタグを追加します。値は tag-key=tag-value 形式である必要があります。

次の例では、以下のカスタムログ設定を使用します:

  • Logtail 設定と Logstore 名:標準出力ログは stdout-eci に保存され、テキストファイルログは file-eci に保存されます。

  • プロジェクト名: project-eci-test

  • マシン グループ名: mg-eci-test

説明

これらは例の値です。独自の設定を使用し、プロジェクト名がグローバルに一意であることを確認してください。

API

CreateContainerGroup API を呼び出し、Container.N.EnvironmentVar.N.Key および Container.N.EnvironmentVar.N.Value パラメーターで環境変数を設定します。

ContainerGroupName=test-sls
Container.1.Name=busybox
Container.1.Image=registry-vpc.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
Container.1.Command.1=/bin/sh
Container.1.Arg.1=-c
Container.1.Arg.2=mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /log/busy.log; sleep 1;done
# stdout ログを収集します
Container.1.EnvironmentVar.1.Key=aliyun_logs_stdout-eci
Container.1.EnvironmentVar.1.Value=stdout
Container.1.EnvironmentVar.2.Key=aliyun_logs_stdout-eci_project
Container.1.EnvironmentVar.2.Value=project-eci-test
Container.1.EnvironmentVar.3.Key=aliyun_logs_stdout-eci_machinegroup
Container.1.EnvironmentVar.3.Value=mg-eci-test
# テキストファイルを収集します
Container.1.EnvironmentVar.4.Key=aliyun_logs_file-eci
Container.1.EnvironmentVar.4.Value=/log/*.log
Container.1.EnvironmentVar.5.Key=aliyun_logs_file-eci_project
Container.1.EnvironmentVar.5.Value=project-eci-test
Container.1.EnvironmentVar.6.Key=aliyun_logs_file-eci_machinegroup
Container.1.EnvironmentVar.6.Value=mg-eci-test

コンソール

Elastic Container Instance コンソールで ECI インスタンスを作成する際、コンテナー設定 セクションでコンテナを選択し、その詳細設定を展開してから、環境変数 を有効にして変数を追加します。

stdout ログを収集するには、次の環境変数を追加します: aliyun_logs_stdout-eci = stdoutaliyun_logs_stdout-eci_project = project-eci-testaliyun_logs_stdout-eci_machinegroup = mg-eci-test。テキストファイルログを収集するには、次の環境変数を追加します: aliyun_logs_file-eci = /log/*.logaliyun_logs_file-eci_project = project-eci-testaliyun_logs_file-eci_machinegroup = mg-eci-test

結果の確認

Simple Log Service コンソールで、対象のプロジェクトを開き、Logstore のログを表示します。

標準出力

project-eci-test プロジェクトを開き、[stdout-eci] Logstore を選択します。stdout ログには、_container_name__image_name__namespace__pod_name__pod_uid__source_content などのフィールドが含まれます。

テキストファイル

Logstore には、ECI インスタンスから収集されたテキストファイルログが表示され、内容は hello sls です。