我想收集我的 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 控制台
- 打开 Systems Manager 控制台。
- 在导航窗格的变更管理下,选择自动化。
- 选择执行自动化。
- 在 Amazon 所有选项卡上,搜索并选择 AWSSupport-CollectElasticBeanstalkLogs 自动化文件,然后选择下一步。
- 在输入参数部分中,填写适合您场景的字段。
- 选择执行。
要监控自动化的进度,请完成以下步骤:
- 在 Systems Manager 控制台导航窗格的变更管理部分中,选择自动化。
- 在执行 ID 列中,选择您的自动化。
- 查看您的自动化的进度。执行步骤部分显示了自动化当前处于的阶段。输出部分包含日志,可帮助您在自动化失败时对问题进行故障排除。
AWS CLI
-
收集捆绑日志并将其上传到您账户中 Elastic Beanstalk 的默认 S3 存储桶:
aws ssm start-automation-execution --document-name "AWSSupport-CollectElasticBeanstalkLogs"\
--parameters "InstanceId=INSTANCEID,\
EnvironmentId=ENVIRONMENTID,\
AutomationAssumeRole=AUTOMATIONROLE"
-
收集捆绑日志并将其上传到您的 S3 存储桶:
aws ssm start-automation-execution --document-name "AWSSupport-CollectElasticBeanstalkLogs"\
--parameters "InstanceId=INSTANCEID,\
EnvironmentId=ENVIRONMENTID,\
S3BucketName=BUCKETNAME,\
S3BucketPath=BUCKETPATH,\
AutomationAssumeRole=AUTOMATIONROLE"
-
检索执行输出:
aws ssm get-automation-execution --automation-execution-id EXECUTIONID --output text --query 'AutomationExecution.Outputs'