监控集群性能并查看日志
您可以使用许多可用的监控或日志记录工具在 Amazon EKS 中观察数据。您的 Amazon EKS 日志数据可以流式传输到 Amazon 服务或合作伙伴工具来进行数据分析。Amazon Web Services Management Console 中提供有很多服务,它们提供数据来对您的 Amazon EKS 问题进行排查。您还可以使用 Amazon 支持的开源解决方案来监控 Amazon EKS 基础设施。
在 Amazon EKS 控制台的左侧导航窗格中选择集群后,您可以通过选择集群名称来查看集群运行状况和详细信息。要查看有关部署到集群的任何现有 Kubernetes 资源的详细信息,请参阅 在 Amazon Web Services Management Console中查看 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 集群的组。有关更多信息,请参阅 将控制面板日志发送到 CloudWatch Logs。
注意
当您在 Amazon CloudWatch 中检查 Amazon EKS 身份验证器日志时,系统将显示一些文本类似于以下示例文本的条目。
level=info msg="mapping IAM role" groups="[]" role="arn:aws-cn: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 操作的代码调用。有关更多信息,请参阅 日志 API 调用作为 Amazon CloudTrail 事件。
Kubernetes API 服务器公开了大量可用于监控和分析的指标。有关更多信息,请参阅 使用 Prometheus 监控集群指标。
要配置自定义 Amazon CloudWatch 日志的 Fluent Bit,请参阅《Amazon CloudWatch 用户指南》中的设置 Fluent Bit。
Amazon EKS 日志记录和监控工具
Amazon Web Services 为您提供了各种可用于监控 Amazon EKS 的工具。您可以配置一些工具来设置自动监控,但有些工具需要手动调用。我们建议您在环境和现有工具集允许的范围内尽量实现监控任务自动化。
下表介绍了各种日志记录工具选项。
领域 | 工具 | 描述 | 设置 |
---|---|---|---|
应用程序 |
它从容器化应用程序和微服务中收集、聚合和汇总指标与日志。 |
||
控制层面 |
它记录用户、角色或服务进行的 API 调用。 |
||
Amazon Fargate 实例的多个区域 |
对于 Amazon Fargate 实例,它将日志流式传输到 Amazon 服务或合作伙伴工具。将 Amazon 用于 Fluent Bit |
下表介绍了各种监控工具选项。
领域 | 工具 | 描述 | 设置 |
---|---|---|---|
应用程序 |
CloudWatch Container Insights 从容器化应用程序和微服务中收集、聚合和汇总指标与日志。 |
||
应用程序 |
它收集相关的指标、跟踪数据和元数据并将其发送到 Amazon 监控服务或合作伙伴。它可以通过 CloudWatch Container Insights 设置。 |
||
应用程序 |
它可以检测节点级别的运行性能和可用性。 |
||
应用程序 |
它接收有关应用程序的跟踪数据。此跟踪数据包括传入请求和传出请求以及有关请求的元数据。对于 Amazon EKS,实施需要 OpenTelemetry 附加组件。 |
||
应用程序 |
Amazon CloudWatch Observability Operator 收集指标、日志和跟踪数据。然后将其发送到 Amazon CloudWatch 和 Amazon X-Ray。 |
||
应用程序/控制面板 |
Prometheus 可用于监控应用程序和控制面板的指标和警报。 |