CloudwatchAgent自動起動失敗発生の原因と対策を教えてください。

2022.08.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

CloudWatchのアラートメールを受信しており、対象サーバ起動後CloudWatchによる監視が出来ていない状況となっておりました。
Cloudwatchagentのエラーログがありますので、以下に連携いたします。
【エラーログ内容】

2022-06-03T08:00:26.802+09:00[System] [ERROR] [7009] [Service Control Manager] [xxxxxxx.local] [AmazonCloudWatchAgent サービスの接続を待機中にタイムアウト (30000 ミリ秒) になりました。]
2022-06-03T08:00:26.802+09:00[System] [ERROR] [7000] [Service Control Manager] [xxxxxxx.local] [AmazonCloudWatchAgent サービスを、次のエラーが原因で開始できませんでした:
そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。]

発生原因

対象エラーメッセージ(イベント ID 7009)は、CloudWatch エージェントの起動が Windows Server OS のサービスの起動に許容されるデフォルトの時間 (30秒) 以上要したためにタイムアウトしたという内容です。
一部の Windows Server インストールでは、CloudWatch エージェントの起動に 30 秒以上かかります。Windows Server では、サービスの起動に許容されるデフォルトの時間が 30 秒のみであるため、エージェントが失敗して上記のようなエラーが表示される場合があります。
また、当該時間帯に内部の負荷等によりサービス起動に時間を要したためCloudWatch エージェントの稼働状況に問題が生じていた可能性も考えられます。

回避策

  • サービスのタイムアウト値を増やします。
  • 当該インスタンス OS 上の CloudWatch エージェント (AmazonCloudWatchAgent) サービスのプロパティにて、サービスの開始設定 (スタートアップの種類) を 「自動」 から 「自動(遅延開始)」 に変更するという方法があります。

参考資料

[1]CloudWatch エージェントのトラブルシューティング - CloudWatch エージェントが Windows Server で開始されない
[2]A service does not start, and events 7000 and 7011 are logged in Windows Server - Windows Server | Microsoft Docs