如何为我的 Amazon EKS 实例生成日志捆绑包?

1 分钟阅读
0

我正在对 Amazon Elastic Kubernetes Service(Amazon EKS)实例进行故障排除。我需要收集与该实例关联的所有相关 Amazon EKS 日志。

简短描述

使用 AWSSupport-CollectEKSInstanceLogs 自动化文档来收集您的 Amazon EKS 日志。

**重要提示:**为了自动执行此操作,您必须在 Amazon EKS 实例上安装并运行 SSM 代理。

解决方法

**注意:**以下解决方法仅适用于 Amazon EKS for Linux 中的 Worker 节点。

1.    打开 AWS Systems Manager 控制台

2.    在导航窗格中,选择 Automation(自动化)。

3.    选择 Execute automation(执行自动化)。

4.    在 Owned by Amazon(由 Amazon 所拥有)选项卡的 Automation document(自动化文档)搜索框中,输入 EKSInstanceLogs。然后,选择 AWSSupport-CollectEKSInstanceLogs 文档。

5.    选择 Next(下一步)。

6.    在 Automation Inputs(自动化输入)页面上,对于 EKSInstanceId,请输入您的目标 Amazon EKS 实例 ID。

7.    设置 LogDestinationAutomationAssumeRole 参数。

**注意:**日志捆绑包将上传到在 LogDestination 字段中指定的 Amazon Simple Storage Service(Amazon S3)存储桶。如果您没有指定存储桶,则可以从实例中检索日志捆绑包。日志捆绑包在本地保存在 /var/log/ 路径下。

8.    选择 Execute automation(执行自动化)。

运行上述自动化文档时,请注意以下最佳实践和要求:

  • 最佳实践是将 Amazon 托管的 AmazonSSMManagedInstanceCore 策略附加到相关的 AWS Identity and Access Management(IAM)角色。此 IAM 角色适用于以自动化为目标的 Amazon Elastic Compute Cloud(Amazon EC2)实例。
  • 如果您在自动化运行之前在 LogDestination 字段中提供 S3 存储桶名称,则实例配置文件可写入该存储桶。
  • 要运行自动化并将命令发送到实例,您必须至少具有 ssm:ExecuteAutomationssm:SendCommand 权限。
  • 要读取自动化输出,您必须具有 ssm:GetAutomationExecution 权限。

相关信息

为 Systems Manager 创建 IAM 实例配置文件

EKS 日志收集器(GitHub)

相关视频

AWS 官方
AWS 官方已更新 2 个月前