跳转至

应用程序日志分析管道

使用 日志通 支持应用程序日志的日志分析,例如 Nginx/Apache HTTP 服务器日志或自定义应用程序日志。

注意

使用 日志通 支持跨账户日志摄取。如果您想从同一账户摄取日志,则组中的资源将与您的 日志通 账户位于同一账户中。否则,它们将位于成员账户中。

来自 Amazon EC2 / Amazon EKS 的日志

使用 日志通 支持从 Amazon EC2 实例或 Amazon EKS 集群收集日志。工作流支持两种场景。

场景 1:使用 OpenSearch Engine

arch-app-log-pipeline EC2/EKS 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. Fluent Bit 作为底层日志代理,从应用程序服务器收集日志并将其发送到可选的日志缓冲区,或直接摄取到 OpenSearch 领域中。

  2. 日志缓冲区触发 Lambda(日志处理器)运行。

  3. 日志处理器读取和处理日志记录,并将日志摄取到 OpenSearch 领域中。

  4. 未能处理的日志被导出到 Amazon S3 存储桶(备份存储桶)。

场景 2:使用Light Engine

arch-app-log-pipeline-lighengine EC2/EKS 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. Fluent Bit 作为底层日志代理,从应用程序服务器收集日志并将其发送到可选的日志缓冲区。
  2. 日志缓冲区触发 Lambda,将对象从日志存储桶复制到暂存桶。
  3. 日志处理器,AWS Step Functions,批处理处理暂存桶中存储的原始日志文件,将其转换为 Apache Parquet 格式,并根据包括时间和地区在内的标准自动对所有传入数据进行分区。

来自 Amazon S3 的日志

使用 日志通 支持从 Amazon S3 存储桶收集日志。工作流支持三种场景。

场景 1:使用 OpenSearch Engine(持续加载)

arch-app-log-s3-on-going-pipeline S3 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. 用户将日志上传到 Amazon S3 存储桶(日志存储桶)。

  2. 创建新日志文件时,使用 S3 事件通知将事件通知发送到 Amazon SQS。

  3. Amazon SQS 启动 AWS Lambda。

  4. AWS Lambda 将对象从日志存储桶复制到暂存桶。

  5. 日志处理器读取和处理日志记录,并将日志摄取到 OpenSearch 领域中。

  6. 未能处理的日志被导出到 Amazon S3 存储桶(备份存储桶)。

场景 2:使用 OpenSearch Engine(一次性加载)

arch-app-log-s3-one-time-pipeline S3 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. 用户将日志上传到 Amazon S3 存储桶(日志存储桶)。

  2. Amazon ECS 任务迭代日志存储桶中的日志。

  3. Amazon ECS 任务将日志位置发送到 Amazon SQS 队列。

  4. Amazon SQS 启动 AWS Lambda。

  5. AWS Lambda 将对象从日志存储桶复制到暂存桶。

  6. 日志处理器读取和处理日志记录,并将日志摄取到 OpenSearch 领域中。

  7. 未能处理的日志被导出到 Amazon S3 存储桶(备份存储桶)。

场景 3:使用Light Engine(持续加载)

arch-app-log-s3-pipeline-lightengine S3 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. 用户将日志上传到 Amazon S3 存储桶(日志存储桶)。

  2. 创建新日志文件时,使用 S3 事件通知将事件通知发送到 Amazon SQS。

  3. Amazon SQS 启动 AWS Lambda。

  4. AWS Lambda 将对象从日志存储桶复制到暂存桶。

  5. (5. 6. 7.) 日志处理器,AWS Step Functions,批处理处理暂存桶中存储的原始日志文件。它将它们转换为 Apache Parquet 格式,并根据包括时间和地区在内的标准自动对所有传入数据进行分区。

来自 Syslog 客户端的日志

重要提示

  1. 确保您的 Syslog 生成器/发送器的子网连接到 日志通两个私有子网。您需要使用 VPC Peering 连接Transit Gateway 将这些 VPC 连接起来。
  2. 在架构图中的 NLB 与 ECS 容器一起只有在创建 Syslog 摄取时才会被提供,并且在没有 Syslog 摄取时会自动删除。

场景 1:使用 OpenSearch Engine

arch-syslog-pipeline Syslog 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. Syslog 客户端(如 Rsyslog)将日志发送到集中式日志与 OpenSearch 的私有子网中的网络负载均衡器(NLB),NLB 将其路由到运行 Syslog 服务器的 ECS 容器。
  2. Fluent Bit 作为 ECS 服务中的底层日志代理来解析日志,并将其发送到可选的日志缓冲区,或直接摄取到 OpenSearch 领域中。
  3. 日志缓冲区触发 Lambda(日志处理器)运行。
  4. 日志处理器读取和处理日志记录,并将日志摄取到 OpenSearch 领域中。
  5. 未能处理的日志被导出到 Amazon S3 存储桶(备份存储桶)。

场景 2:使用Light Engine

arch-syslog-pipeline-lightengine Syslog 的应用程序日志管道架构

日志管道运行以下工作流程:

  1. Syslog 客户端(如 Rsyslog)将日志发送到集中式日志与 OpenSearch 的私有子网中的网络负载均衡器(NLB),NLB 将其路由到运行 Syslog 服务器的 ECS 容器。
  2. Fluent Bit 作为 ECS 服务中的底层日志代理来解析日志,并将其发送到日志缓冲区。
  3. 创建新日志文件时,使用 S3 事件通知将事件通知发送到 Amazon SQS。
  4. Amazon SQS 启动 AWS Lambda。
  5. AWS Lambda 将对象从日志存储桶复制到暂存桶。
  6. (6. 7. 8.) 日志处理器,AWS Step Functions,批处理处理暂存桶中存储的原始日志文件。它将它们转换为 Apache Parquet 格式,并根据包括时间和地区在内的标准自动对所有传入数据进行分区。