View a markdown version of this page

教程:使用收集主机级日志 Fluent Bit - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程:使用收集主机级日志 Fluent Bit

在本教程中,您将使用在 Amazon Batch 托管计算环境实例上设置自动日志收集Fluent Bit。完成本教程后,主机级诊断日志会自动上传到 Amazon S3 以进行故障排除并与 Amazon 支持人员共享。

Host-level 日志是由底层 Amazon EC2 实例生成的诊断文件。这些日志包括 Amazon ECS 代理日志、Docker 和容器运行时日志、内核消息、系统日记条目和网络状态。它们不同于任务容器日志,后者捕获应用程序的stdoutstderr输出。有关容器日志记录的更多信息,请参阅使用 awslogs 日志驱动程序

您可以将这种方法用于使用亚马逊 EC2 On-Demand 和 Amazon EC2 Spot 的 Amazon Batch 托管计算环境。要开启或关闭日志记录,计算环境必须支持基础架构更新。有关更多信息,请参阅 执行基础设施更新

本主题中的说明假设您使用的是适用于亚马逊 Linux 2023 的亚马逊 ECS-optimized AMI。如果您使用自定义 AMI,则可能需要额外的配置。

Fluent Bit作为 systemd 服务在每个实例上运行,通过启动模板user-data脚本安装。该代理收集诊断日志文件,应用 Lua-based 编辑过滤器删除敏感数据,并将按实例 ID 组织的压缩日志文件上传到 Amazon S3。

重要

示例 Lua 编辑脚本为敏感数据提供了尽最大努力的编辑。经过编辑的数据包括机密环境变量、Amazon ECS 配置值和 Docker 检查环境输出。为工作负载特定的机密添加自定义模式。在与外部各方共享文件之前,请查看日志输出。

完成本教程需要大约 30 分钟。

重要

您在本教程中创建的资源可能会向您的 Amazon 账户收费。有关更多信息,请参阅亚马逊 EC2 亚马逊 S3 和的定价页面Amazon Batch

先决条件
  • 有权创建 IAM 策略、亚马逊 EC2 启动模板、亚马逊 S3 存储桶和 Amazon Batch 计算环境的 Amazon 账户。

  • Amazon Command Line Interface 已安装并配置(如果您更喜欢 CLI 步骤)。

要设置主机级日志收集,请完成以下步骤:

  1. 设置 Amazon S3 存储桶和Fluent Bit配置。

  2. 为您的实例角色配置 IAM 权限。

  3. 创建启动模板并将其附加到计算环境。

  4. 验证并排除故障。

  5. 清理资源。