如何从我的 Elastic Beanstalk 环境中收集 Windows 实例的日志?

1 分钟阅读
0

我想收集我的 AWS Elastic Beanstalk 环境中 Windows 实例的日志。

简短描述

您可以使用 AWSSupport-CollectElasticBeanstalkLogs 自动化来收集 Elastic Beanstalk 环境中 Windows 实例的日志。对于 Windows 实例,使用远程桌面协议(RDP)连接到每个 Windows 实例,然后一次收集一个日志。然而,您可以使用 AWSSupport-CollectElasticBeanstalkLogs 自动化从多个 Windows 实例自动收集日志,从而避免这种手动操作流程。

默认情况下,该自动化会将您的实例的日志包以 .zip 文件格式上传到以下来源:

  • 您账户中默认的 Elastic Beanstalk 桶
  • 您指定的 Amazon Simple Storage Service(Amazon S3)桶

该自动化从以下位置收集日志文件:

  • C:\Program Files\Amazon\ElasticBeanstalk\HealthD\Logs\*
  • C:\Program Files\Amazon\ElasticBeanstalk\logs\*
  • C:\cfn\log\*
  • C:\inetpub\logs\*

**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新的 AWS CLI 版本

解决方法

您可以使用 AWS Systems Manager 控制台或 AWS CLI 运行该自动化。

AWS Systems Manager 控制台

  1. 打开 Systems Manager 控制台
  2. 在导航窗格的变更管理下,选择自动化
  3. 选择执行自动化
  4. Amazon 所有选项卡上,搜索并选择 AWSSupport-CollectElasticBeanstalkLogs 自动化文件,然后选择下一步
  5. 输入参数部分中,填写适合您场景的字段。
  6. 选择执行

要监控自动化的进度,请完成以下步骤:

  1. 在 Systems Manager 控制台导航窗格的变更管理部分中,选择自动化
  2. 执行 ID 列中,选择您的自动化。
  3. 查看您的自动化的进度。执行步骤部分显示了自动化当前处于的阶段。输出部分包含日志,可帮助您在自动化失败时对问题进行故障排除。

AWS CLI

1.    收集捆绑日志并将其上传到您账户中 Elastic Beanstalk 的默认 S3 桶:

aws ssm start-automation-execution --document-name "AWSSupport-CollectElasticBeanstalkLogs"\
        --parameters "InstanceId=INSTANCEID,\
                               EnvironmentId=ENVIRONMENTID,\
                               AutomationAssumeRole=AUTOMATIONROLE"

2.    收集捆绑日志并将其上传到您的 S3 桶:

aws ssm start-automation-execution --document-name "AWSSupport-CollectElasticBeanstalkLogs"\
        --parameters "InstanceId=INSTANCEID,\
                              EnvironmentId=ENVIRONMENTID,\
                              S3BucketName=BUCKETNAME,\
                              S3BucketPath=BUCKETPATH,\
                              AutomationAssumeRole=AUTOMATIONROLE"

3.    检索执行输出:

aws ssm get-automation-execution --automation-execution-id EXECUTIONID --output text --query 'AutomationExecution.Outputs'
AWS 官方
AWS 官方已更新 6 个月前