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

Amazon EKS 中的可观察性

您可以使用许多可用的监控或日志记录工具在 Amazon EKS 中观察数据。配置 Fargate 日志路由器后,您的 Amazon EKS 日志数据可以流式传输到 Amazon 服务或合作伙伴工具来进行数据分析。这些 Amazon 服务在 Amazon Web Services Management Console 中提供。您可以使用 Amazon CloudWatch 监控 Amazon EKS 资源。本主题介绍了 Amazon EKS 中的可用功能和格式。Amazon Web Services Management Console 中提供有很多服务,它们提供数据来对您的 Amazon EKS 问题进行排查。有关这些服务的概述,请参阅 Amazon Web Services Management Console 文档

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

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

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

  • 需要观察哪些资源?

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

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

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

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

Amazon EKS 中的日志记录和监控

Amazon EKS 提供了用于日志记录和监控的内置工具。您可以选择从控制面板开始的日志记录级别。控制面板日志记录记录对集群的所有 API 调用,审计信息,以捕获哪些用户对集群执行了哪些操作,以及基于角色的日志。

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

注意

当您在 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 设置为 DaemonSet 以将日志发送到 Amazon CloudWatch Logs

Amazon EKS 日志记录和监控工具

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

日志记录
领域 工具 日志 设置
应用程序 Amazon CloudWatch Container Insights

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

设置过程

要为 ADOT 设置 Amazon CloudWatch Container Insights 日志记录,请使用此过程

容器 Amazon Fargate

它为容器提供计算容量,包括资源使用量。

设置过程

控制层面

Prometheus

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

设置过程
控制层面 Amazon CloudTrail 它记录用户、角色或服务进行的 API 调用。 设置过程

多个领域

Fargate 日志路由器

将日志流式传输到 Amazon 服务或合作伙伴工具。将 Amazon 用于 Fluent Bit。日志可以流式传输到其他 Amazon 服务或合作伙伴工具。

设置过程
监控
领域 工具 日志 设置

应用程序

Amazon CloudWatch Container Insights

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

Amazon Web Services Management Console 的设置过程

应用程序 Amazon Distro for OpenTelemetry (ADOT)

它收集相关的指标、跟踪数据和元数据并将其发送到 Amazon 监控服务或合作伙伴。

它可以通过 Amazon CloudWatch Container Insights 设置。

设置过程

应用程序 Amazon DevOps Guru 它可以检测节点级别的运行性能和可用性。 启用 Amazon CloudWatch Container Insights
应用程序 Amazon X-Ray

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

设置过程
Cluster Amazon CloudWatch

它会记录集群资源。

不适用
容器 Amazon Fargate

它为容器提供计算容量,包括资源使用量。

设置过程