Amazon EKS 中的可观察性 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon EKS 中的可观察性

您可以使用许多可用的监控或日志记录工具在 Amazon EKS 中观察数据。您的 Amazon EKS 日志数据可以流式传输到 Amazon Web Services或合作伙伴工具来进行数据分析。Amazon Web Services Management Console 中提供有很多服务,它们提供数据来对您的 Amazon EKS 问题进行排查。

在 Amazon EKS 控制台的左侧导航窗格中选择集群后,您可以通过选择集群名称来查看集群运行状况和详细信息。要查看有关部署到集群的任何现有 Kubernetes 资源的详细信息,请参阅 查看 Kubernetes 资源

监控是保持 Amazon EKS 和您的 Amazon 解决方案的可靠性、可用性和性能的重要方面。我们建议您从您的 Amazon 解决方案的所有部分收集监控数据。这样,您可以更轻松地调试出现的多点故障。在开始监控 Amazon EKS 之前,请确保您的监控计划可以解决以下问题。

  • 您的目标是什么? 如果集群大幅扩展,是否需要实时通知?

  • 需要观察哪些资源?

  • 您需要多久观察一次这些资源? 贵公司是否想快速应对风险?

  • 您想使用什么工具? 如果您已经在启动过程中运行 Amazon Fargate,则您可以使用内置的日志路由器

  • 您想由谁负责执行监控任务?

  • 当出现问题时,您希望向谁发送通知?

Amazon EKS 中的日志记录和监控

Amazon EKS 提供了用于日志记录和监控的内置工具。控制面板日志记录记录对集群的所有 API 调用、审计信息,以捕获哪些用户对集群执行了哪些操作,以及基于角色的信息。有关更多信息,请参阅《Amazon 规范性指导》中的 Amazon EKS 的日志记录和监控

Amazon EKS 控制层面日志记录将审计和诊断日志直接从 Amazon EKS 控制层面提供到您账户中的 CloudWatch Logs。这些日志可让您轻松地保护和运行您的集群。您可以选择您需要的确切的日志类型,日志将作为日志流发送到 CloudWatch 中每个 Amazon EKS 集群的组。有关更多信息,请参阅Amazon EKS 控制面板日志记录

注意

当您在 Amazon CloudWatch 中检查 Amazon EKS 身份验证器日志时,系统将显示一些文本类似于以下示例文本的条目。

level=info msg="mapping IAM role" groups="[]" role="arn:aws:iam::111122223333:role/XXXXXXXXXXXXXXXXXX-NodeManagerRole-XXXXXXXX" username="eks:node-manager"

预期为包含此文本的条目。username 是一个 Amazon EKS 内部服务角色,用于为托管节点组和 Fargate 执行特定操作。

对于低级、可自定义的日志记录,Kubernetes 日志记录可用。

Amazon EKS 与 Amazon CloudTrail 集成,后者是在 Amazon EKS 中提供用户、角色或Amazon服务所采取操作的记录的服务。CloudTrail 将 Amazon EKS 的所有 API 调用作为事件捕获。这些捕获包括来自 Amazon EKS 控制台的调用和对 Amazon EKS API 操作的代码调用。有关更多信息,请参阅使用 Amazon CloudTrail 记录 Amazon EKS API 调用

Kubernetes API 服务器公开了大量可用于监控和分析的指标。有关更多信息,请参阅Prometheus 指标

要配置 Amazon CloudWatch 自定义日志的 Fluent Bit,请参阅《Amazon CloudWatch 用户指南》中的设置 Fluent Bit

Amazon EKS 日志记录和监控工具

Amazon Web Services 为您提供了各种可用于监控 Amazon EKS 的工具。您可以配置一些工具来设置自动监控,但有些工具需要手动调用。我们建议您在环境和现有工具集允许的范围内尽量实现监控任务自动化。

日志记录工具
领域 工具 描述 设置

应用程序

Amazon CloudWatch Container Insights

它从容器化应用程序和微服务中收集、聚合和汇总指标与日志。

设置过程

控制层面

Amazon CloudTrail

它记录用户、角色或服务进行的 API 调用。

设置过程

Amazon Fargate 实例的多个区域

Amazon Fargate 日志路由器

对于 Amazon Fargate 实例,它将日志流式传输到 Amazon 服务或合作伙伴工具。将 Amazon 用于 Fluent Bit。日志可以流式传输到其他 Amazon Web Services 或合作伙伴工具。

设置过程

监控工具
领域 工具 描述 设置

应用程序

CloudWatch Container Insights

CloudWatch Container Insights 从容器化应用程序和微服务中收集、聚合和汇总指标与日志。

设置过程

应用程序

Amazon Distro for OpenTelemetry (ADOT)

它收集相关的指标、跟踪数据和元数据并将其发送到 Amazon 监控服务或合作伙伴。它可以通过 CloudWatch Container Insights 设置。

设置过程

应用程序

Amazon DevOps Guru

它可以检测节点级别的运行性能和可用性。

设置过程

应用程序

Amazon X-Ray

它接收有关应用程序的跟踪数据。此跟踪数据包括传入请求和传出请求以及有关请求的元数据。对于 Amazon EKS,实施需要 OpenTelemetry 附加组件。

设置过程

应用程序 Amazon CloudWatch Observability Operator Amazon CloudWatch Observability Operator 收集指标、日志和跟踪数据。然后将其发送到 Amazon CloudWatch 和 Amazon X-Ray。 设置过程

控制层面

Prometheus

CloudWatch Logs 摄取、归档存储和数据扫描速率适用于已启用的控制层面日志。

设置过程