AWS Systems Manager
ユーザーガイド

CloudWatch Logs (CloudWatch エージェント) へのログの送信

インスタンスのメトリクスとログを収集するには、SSM エージェント を使用する代わりに、Amazon CloudWatch エージェント を設定して使用できます。SSM エージェント よりも CloudWatch エージェント を使用したほうが、Amazon EC2 インスタンスのメトリクスを多く収集できます。また、CloudWatch エージェント を使用すると、オンプレミスのサーバーからもメトリクスを収集できます。

エージェントの構成設定を Systems Manager パラメータストア に保存して CloudWatch エージェント で使用することもできます。

注記

Currently, AWS Systems Manager supports migrating from SSM エージェント to the CloudWatch エージェント for collecting logs and metrics on 64-bit versions of Windows only. For information about setting up the CloudWatch エージェント on other operating systems, and for complete information about using the CloudWatch エージェント, see Collect Metrics from Amazon Elastic Compute Cloud Instances and On-Premises Servers with the CloudWatch エージェント in the Amazon CloudWatch User Guide.

You can use the CloudWatch エージェント on other supported operating systems, but you will not be able to use Systems Manager to perform a tool migration.

Windows Server インスタンスのログ収集を CloudWatch エージェント に移行する

サポートされている Windows Server インスタンスで現在 SSM エージェント を使用して SSM エージェント のログファイルを Amazon CloudWatch Logs に送信している場合は、Systems Manager を使用して SSM エージェント からログ収集ツールの CloudWatch エージェント に移行できます。また、構成設定も移行できます。

CloudWatch エージェント は、32 ビットバージョンの Windows Server ではサポートされていません。

64 ビットの Amazon EC2 Windows インスタンスの場合、CloudWatch エージェント への移行は自動または手動で実行できます。オンプレミスサーバーと仮想マシンの場合、プロセスは手動で実行する必要があります。

注記

移行プロセス中に、CloudWatch へのデータ送信が中断または重複する場合があります。メトリクスとログデータは、移行の完了後に、再度 CloudWatch に正確に記録されます。

一部のインスタンスで移行をテストしてから、フリート全体を CloudWatch エージェント に移行することをお勧めします。必要に応じて、移行後に再度 SSM エージェント に戻してログ収集を行うことができます。

重要

以下の場合、このトピックで説明している手順を使用して CloudWatch エージェント に移行することはできません。

  • SSM エージェント の既存の設定で、複数のリージョンを指定している場合。

  • SSM エージェント の既存の設定で、複数のアクセス/シークレットキー認証情報のセットを指定している場合。

上記の場合は、SSM エージェント でのログ収集を無効にし、移行プロセスを使わずに CloudWatch エージェント をインストールする必要があります。詳細については、以下のトピックを参照してください。

開始する前に

CloudWatch エージェント に移行してログ収集を開始する前に、移行を実行するインスタンスが以下の要件を満たしていることを確認します。

  • OS が 64 ビットバージョンの Windows Server である。

  • SSM エージェント 2.2.93.0 以降がインスタンスにインストールされている。

  • インスタンスでモニタリングするように SSM エージェント が設定されている。

CloudWatch エージェント への自動移行

Amazon EC2 Windows インスタンスに限り、AWS Systems Manager コンソール、または AWS CLI を使用して、移行ツールとして CloudWatch エージェント に移行します。

注記

Currently, AWS Systems Manager supports migrating from SSM エージェント to the CloudWatch エージェント for collecting logs and metrics on 64-bit versions of Windows only. For information about setting up the CloudWatch エージェント on other operating systems, and for complete information about using the CloudWatch エージェント, see Collect Metrics from Amazon Elastic Compute Cloud Instances and On-Premises Servers with the CloudWatch エージェント in the Amazon CloudWatch User Guide.

You can use the CloudWatch エージェント on other supported operating systems, but you will not be able to use Systems Manager to perform a tool migration.

移行が成功したら、CloudWatch で結果をチェックし、必要なメトリクス、ログ、または Windows イベントログが収集されていることを確認します。結果に満足したら、オプションとして CloudWatch エージェント の構成設定を パラメータストア に保存するすることができます。移行が失敗した場合や、結果が不満足なものである場合は、SSM エージェント でのログ収集へのロールバックことができます。

注記

{hostname} エントリが含まれているソース設定ファイルを移行する場合、移行が完了した後で {hostname} エントリがフィールドの値を変更できることに注意してください。たとえば、次の "LogStream": "{hostname}" エントリが MyLogServer001 という名前のサーバーにマッピングされているとします。

{ "Id": "CloudWatchIISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Production-Windows-IIS", "LogStream": "{hostname}" } }

移行後、このエントリは ip-11-1-1-11.production.ExampleCompany.com などのドメインにマップされます。ローカルホスト名の値を保持するには、{hostname} ではなく {local_hostname} を指定します。

CloudWatch エージェント に自動的に移行するには (コンソール)

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[Run Command] を選択し、次に [Run command (コマンドの実行)] を選択します。

  3. [Command document (コマンドのドキュメント)] リストで、AmazonCloudWatch-MigrateCloudWatchAgent を選択します。

  4. [Targets] セクションでオプションを選択し、更新するインスタンスを選択します。

  5. [Run] を選択します。

CloudWatch エージェント に自動的に移行するには (AWS CLI)

  • 次のコマンドを実行します。

    aws ssm send-command --document-name AmazonCloudWatch-MigrateCloudWatchAgent --targets Key=instanceids,Values=ID1,ID2,ID3

    ID1ID2ID3 は、更新するインスタンスの ID ( i-02573cafcfEXAMPLE など) です。

CloudWatch エージェント への手動での移行

オンプレミスの Windows インスタンスまたは Amazon EC2 Windows インスタンスの場合は、以下のステップに従って、ログ収集を Amazon CloudWatch エージェント に手動で移行します。

注記

{hostname} エントリが含まれているソース設定ファイルを移行する場合、移行が完了した後で {hostname} エントリがフィールドの値を変更できることに注意してください。たとえば、次の "LogStream": "{hostname}" エントリが MyLogServer001 という名前のサーバーにマッピングされているとします。

{ "Id": "CloudWatchIISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Production-Windows-IIS", "LogStream": "{hostname}" } }

移行後、このエントリは ip-11-1-1-11.production.ExampleCompany.com などのドメインにマップされます。ローカルホスト名の値を保持するには、{hostname} ではなく {local_hostname} を指定します。

ステップ 1: CloudWatch エージェントをインストールするには (コンソール)

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[Run Command] を選択し、次に [Run command (コマンドの実行)] を選択します。

  3. [Command document (コマンドのドキュメント)] リストで、AWS-ConfigureAWSPackage を選択します。

  4. [Targets] セクションでオプションを選択し、更新するインスタンスを選択します。

  5. [アクション] リストで、Install を選択します。

  6. [名前] に AmazonCloudWatchAgent と入力します。

  7. [バージョン] に、latest と入力します (デフォルトで提供されていない場合)。

  8. [Run (実行)] を選択します。

ステップ 2: 設定データの JSON 形式を更新するには

  • CloudWatch エージェント の既存の構成設定の JSON 形式を更新するには、AWS Systems Manager [Run Command] を使用するか、RDP 接続を通じて直接インスタンスにログインすることで、以下の Windows PowerShell コマンドを 1 回に 1 つずつインスタンスで実行します。

    cd ${Env:ProgramFiles}\\Amazon\\AmazonCloudWatchAgent
    .\\amazon-cloudwatch-agent-config-wizard.exe --isNonInteractiveWindowsMigration

    {Env:ProgramFiles} は、CloudWatch エージェント が含まれている Amazon フォルダの場所 (通常は C:\Program Files) を表します。

ステップ 3: CloudWatch エージェントを設定して開始するには (コンソール)

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[Run Command] を選択し、次に [Run command (コマンドの実行)] を選択します。

  3. [Command document (コマンドのドキュメント)] リストで、AWS-RunPowerShellScript を選択します。

  4. [Targets] セクションでオプションを選択し、更新するインスタンスを選択します。

  5. [Commands] ボックスに、次の 2 つのコマンドを入力します。

    cd ${Env:ProgramFiles}\Amazon\AmazonCloudWatchAgent
    .\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:config.json -s

    {Env:ProgramFiles} は、CloudWatch エージェント が含まれている Amazon フォルダの場所 (通常は C:\Program Files) を表します。

  6. [Run (実行)] を選択します。

ステップ 4: SSM エージェント でログコレクションを無効にするには (コンソール)

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[Run Command] を選択し、次に [Run command (コマンドの実行)] を選択します。

  3. [Command document (コマンドのドキュメント)] リストで、AWS-ConfigurecloudWatch を選択します。

  4. [Targets] セクションでオプションを選択し、更新するインスタンスを選択します。

  5. [Status (ステータス)] リストで、Disabled を選択します。

  6. [Run (実行)] を選択します。

    以上の手順を完了したら、CloudWatch で結果をチェックし、必要なメトリクス、ログ、または Windows イベントログが収集されていることを確認します。結果に満足したら、オプションとして CloudWatch エージェント の構成設定を パラメータストア に保存するすることができます。移行が失敗した場合や、結果が不満足なものである場合は、SSM エージェント でのログ収集へのロールバックことができます。

CloudWatch エージェント の構成設定を パラメータストア に保存する

Amazon CloudWatch エージェント 設定ファイルの内容を パラメータストア に保存できます。この設定データをパラメータに保持すると、その構成設定を複数のインスタンスで継承できるため、構成ファイルの作成や手動の更新をインスタンスで行う必要がなくなります。たとえば、Run Command を使用してパラメータの内容を複数のインスタンスの設定ファイルに書き込んだり、ステートマネージャー を使用してインスタンスのフリート全体で CloudWatch エージェント 構成設定の設定ドリフトを回避したりできます。

CloudWatch エージェント 設定ウィザードを実行すると、このウィザードで構成設定を新しいパラメータとして パラメータストア に保存できます。CloudWatch エージェント の設定ウィザードの詳細については、「ウィザードで CloudWatch エージェント 設定ファイルを作成する」を参照してください。

ウィザードを実行しても、設定をパラメータとして保存するオプションを選択しなかった場合や、CloudWatch エージェント 設定ファイルを手動で作成した場合は、インスタンスでデータを取得してパラメータとして次のファイルに保存できます。

${Env:ProgramFiles}\Amazon\AmazonCloudWatchAgent\config.json

{Env:ProgramFiles} は、CloudWatch エージェント が含まれている Amazon フォルダの場所 (通常は C:\Program Files) を表します。

このファイルの JSON のバックアップを作成し、インスタンス自体とは異なる場所に保持することをお勧めします。

パラメータの作成方法については、「Systems Manager パラメータの作成」を参照してください。

CloudWatch エージェント の詳細については、Amazon CloudWatch User Guide の「CloudWatch エージェントを使用して Amazon Elastic Compute Cloud インスタンスとオンプレミスサーバーからメトリクスを収集する」を参照してください。

SSM エージェント でのログ収集へのロールバック

ログ収集に再び SSM エージェント を使用する場合は、以下の手順に従います。

ステップ 1: SSM エージェント から設定データを取得するには

  1. ログ収集に再び SSM エージェント を使用するインスタンスで、SSM エージェント 設定ファイルの内容を見つけます。通常、この JSON ファイルは次の場所にあります。

    ${Env:ProgramFiles}\\Amazon\\SSM\\Plugins\\awsCloudWatch\\AWS.EC2.Windows.CloudWatch.json

    {Env:ProgramFiles} は、Amazon フォルダがある場所 (通常は C:\Program Files) を表します。

  2. このデータをテキストファイルにコピーし、後のステップで使用します。

    JSON のバックアップは、インスタンス自体とは異なる場所に保存することをお勧めします。

ステップ 2: CloudWatch エージェント をアンインストールするには (コンソール)

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[Run Command] を選択し、次に [Run command (コマンドの実行)] を選択します。

  3. [Command document (コマンドのドキュメント)] リストで、AWS-ConfigureAWSPackage を選択します。

  4. [Targets] セクションでオプションを選択し、更新するインスタンスを選択します。

  5. [アクション] リストで、Uninstall を選択します。

  6. [名前] に AmazonCloudWatchAgent と入力します。

  7. [Run (実行)] を選択します。

ステップ 3: SSM エージェント のログ収集を再度有効にするには (コンソール)

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[Run Command] を選択し、次に [Run command (コマンドの実行)] を選択します。

  3. [Command document (コマンドのドキュメント)] リストで、AWS-ConfigureCloudWatch を選択します。

  4. [Targets] セクションでオプションを選択し、更新するインスタンスを選択します。

  5. [Status (ステータス)] リストで、Enabled を選択します。

  6. [Properties (プロパティ)] ボックス (AWS Systems Manager コンソール) または [Parameters (パラメータ)] ボックス (Amazon EC2 コンソール) に、テキストファイルとして前に保存した設定データの内容を貼り付けます。

  7. [Run (実行)] を選択します。