EKS 的 Container Insights 是一项强大功能,它收集、聚合和汇总指标与日志,提供 EKS 集群运行状态的全面视图。Container Insights 是一项完全托管的监控和可观测性服务,为 DevOps 工程师、开发人员、SRE 和 IT 管理人员提供开箱即用的容器化应用程序和微服务环境可见性。通过 Amazon CloudWatch Container Insights,我们可以以最少的努力监控、隔离和诊断 Kubernetes 集群中的问题。它以指标和日志的形式提供集群、服务和 Pod 的基础设施遥测数据,如 CPU、内存、网络和磁盘使用情况,这些数据可以在 CloudWatch 控制台中轻松可视化。
前置条件:
进入eks的Observability页面,点击Install CloudWatch Obserability add-on
:
它其实跳转到了eks安装add-on的页面,选择CloudWatch Obserability
。 这个插件会安装 CloudWatch Agent和 Fluent Bit,为我们提供基础设施和容器日志洞察。CloudWatch Agent将集群节点的关键基础设施指标发送到 CloudWatch。这使我们能够监控 CPU、网络、磁盘和其他低级节点指标。Fluent Bit 将集群中的容器日志发送到 CloudWatch Logs。这使我们能够洞察容器中的应用程序和系统日志:
在权限配置,使用EKS Pod Identity方式,如果没有创建,先点击Create recommend role
:
这个过程一直点击下一步就行,会自动命名并选择对应policy:
创建role完成后,回到之前的页面,选择使用刚创建的role,然后点击创建add-on:
创建完成后,等待状态变成Active
:
回到Observality
页面,点击跳转到cloudwatch container insight页面:
安装完成后,请验证 CloudWatch 代理和 Fluent Bit 是否正在运行:
# 检查 pods 状态
kubectl get pods -n amazon-cloudwatch
Container Insight里包括以下页面: