Amazon ECS ログコレクターを使用したコンテナログの収集
コンテナインスタンスのさまざまなログをすべて収集する方法がわからない場合は、Amazon ECS ログコレクターを使用できます。Linux
-
Amazon Linux
-
Red Hat Enterprise Linux 7
-
Debian 8
-
Ubuntu 14.04
-
Ubuntu 16.04
-
Ubuntu 18.04
-
Windows Server 2016
注記
LinuxにAmazon ECS ログコレクターをダウンロードして実行するには
-
コンテナインスタンスに接続します。
-
Amazon ECS ログ コレクタースクリプトをダウンロードします。
curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
-
スクリプトを実行してログを収集し、アーカイブを作成します。
注記
Docker デーモンと Amazon ECS コンテナエージェントに対してデバッグモードを有効にするには、次のコマンドに
--mode=enable-debug
オプションを追加します。これにより、Docker デーモンが再起動され、インスタンスで実行されているすべてのコンテナが強制終了されます。デバッグモードを有効にする前に、コンテナインスタンスをドレインし、重要なタスクを他のコンテナインスタンスに移動することを検討してください。詳細については、「Amazon ECS コンテナインスタンスをドレインする」を参照してください。[ec2-user ~]$
sudo bash ./ecs-logs-collector.sh
重要
ログを編集し、ファイルからすべての機密データを削除することをお勧めします。既知のデータを検索でき、ファイル内の AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
などの環境変数も検索できます。
スクリプトを実行した後、スクリプトによって作成された collect
フォルダに収集されたログを調べることができます。collect.tgz
ファイルはすべてのログの圧縮アーカイブであり、AWS Supportと共有することで診断に役立ちます。
WindowsでAmazon ECS ログコレクターをダウンロードして実行するには
-
コンテナインスタンスに接続します。詳細については、「Amazon EC2 ユーザーガイド」の「Windows インスタンスに接続する」を参照してください。
-
PowerShell を使用して、Amazon ECSログコレクターのスクリプトをダウンロードします。
Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
-
スクリプトを実行してログを収集し、アーカイブを作成します。
注記
Docker デーモンと Amazon ECS コンテナエージェントに対してデバッグモードを有効にするには、次のコマンドに
-RunMode debug
オプションを追加します。これにより、Docker デーモンが再起動され、インスタンスで実行されているすべてのコンテナが強制終了されます。デバッグモードを有効にする前に、コンテナインスタンスをドレインし、重要なタスクを他のコンテナインスタンスに移動することを検討してください。詳細については、「Amazon ECS コンテナインスタンスをドレインする」を参照してください。.\ecs-logs-collector.ps1
重要
ログを編集し、ファイルからすべての機密データを削除することをお勧めします。既知のデータを検索でき、ファイル内の AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
などの環境変数も検索できます。
スクリプトを実行した後、スクリプトによって作成された collect
フォルダに収集されたログを調べることができます。collect.tgz
ファイルはすべてのログの圧縮アーカイブであり、診断に役立つように AWS サポートと共有できます。