跳至内容

如何对重启实例后出现的 CloudWatch 代理启动失败问题进行故障排除?

2 分钟阅读
0

我想对重启 Amazon Elastic Compute Cloud (Amazon EC2) 实例后出现的 Amazon CloudWatch 代理启动错误进行故障排除。

简述

当您使用 CloudWatch 代理启动或重启 Amazon EC2 实例时,会出现以下问题:

  • 您已安装 CloudWatch 代理,但是当您启动该服务时,会收到错误“1053”。
  • CloudWatch 代理会运行,但在您重启 EC2 实例时不会自动启动。
  • 在不受支持的 Windows Server 版本上,CloudWatch 代理无法启动,并显示“access violation exception (0xc0000005)”错误。

解决方法

对错误“1053”进行故障排除

当 CloudWatch 代理无法打开或找到配置文件 C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json 时,将会出现此错误。当 CloudWatch 代理开始回滚时,C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs 中没有配置文件。

要解决此错误,请完成以下步骤:

  1. 使用 CloudWatch 代理配置向导创建 CloudWatch 代理配置文件。
    -或-
    手动创建或编辑 CloudWatch 代理配置文件。
  2. 将文件复制到配置文件夹 C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs。
  3. 启动 CloudWatch 代理服务。

注意: CloudWatch 代理配置文件位于以下默认路径中。CloudWatch 在执行代理操作(例如重启或配置更新)时可能会自动移除该文件:

  • 对于 Linux:
    /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
  • 对于 Windows:
    $Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json

如果 CloudWatch 删除了您的配置文件,请重命名配置文件,或将配置文件放在其他目录中。然后,运行以下命令之一,以便在启动代理时使用 -c file: 参数指定完整路径。

  • 对于 Linux:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:example-custom-file-path.json
  • 对于 PowerShell:

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:example-custom-file-path.json"

注意: 对于前面的命令,请将 example-custom-file path 替换为您的自定义文件路径。

对重启实例时无法自动启动的 CloudWatch 代理进行故障排除

默认情况下,CloudWatch 代理会在实例重启后自动启动。如果代理无法启动,请检查窗口事件日志中是否显示以下错误消息:

“The Amazon CloudWatch agent service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.A timeout was reached (30000 milliseconds) while waiting for the Amazon CloudWatch agent service to connect.”

在安装 Windows Server 期间,CloudWatch 代理启动时间超过 30 秒时,就会出现此超时错误。要解决此错误,请增加服务超时值。有关详细信息,请参阅 Microsoft 网站上的由于 Windows 中的超时错误,服务启动速度缓慢。

或者,您可以将启动类型更改为 Automatic (Delayed Start)[自动(延迟启动)]。要更改启动类型,请完成以下步骤:

  1. 通过以下命令打开 Windows 服务控制台:
    services.msc
  2. 找到 Amazon CloudWatch agent(Amazon CloudWatch 代理)服务。
  3. 选择服务并选择 Properties(属性)。
  4. 将 Startup type(启动类型)更改为 Automatic (Delayed Start)[自动(延迟启动)]。
  5. 选择 OK(确定)。
  6. 要验证更改,请重启实例。

对“Exception 0xc0000005 0x8 0x0 0x0”错误进行故障排除

以下错误表明您的 Windows Server 版本未在受支持的操作系统文档中列出:

“****** processing amazon-cloudwatch-agent ******

Exception 0xc0000005 0x8 0x0 0x0

The exception code "0xc0000005" shows that the CloudWatch agent binary is incompatible with the operating system version and causes an access violation.”

要解决此错误,请检查 CloudWatch 是否支持您的 Windows Server 版本。

如果 CloudWatch 不支持您的 Windows Server 版本,请更新到 CloudWatch 支持的 Windows Server 版本。

如果 CloudWatch 支持您的操作系统,请检查您使用的是否为最新版本的 CloudWatch 代理。

相关信息

安装 CloudWatch 代理

CloudWatch 代理故障排除

创建 CloudWatch 代理配置文件

AWS 官方已更新 5 个月前