Amazon CloudWatch Container Insights
在可观测性最佳实践指南的这一部分中,我们将深入探讨以下与 Amazon CloudWatch Container Insights 相关的主题:
- Amazon CloudWatch Container Insights 简介
- 将 Amazon CloudWatch Container Insights 与 AWS Distro for Open Telemetry 配合使用
- CloudWatch Container Insights 中的 Fluent Bit 集成(适用于 Amazon EKS)
- 使用 Container Insights 在 Amazon EKS 上节省成本
- 使用 EKS Blueprints 设置 Container Insights
简介
Amazon CloudWatch Container Insights 帮助客户收集、聚合和汇总来自容器化应用程序和微服务的 metrics 和 logs。Metrics 数据以性能日志事件的形式收集,使用嵌入式 metric 格式。这些性能日志事件使用结构化 JSON schema,能够大规模地摄取和存储高基数数据。CloudWatch 基于这些数据在 cluster、node、pod、任务和 service 级别创建聚合 metrics 作为 CloudWatch metrics。Container Insights 收集的 metrics 可在 CloudWatch 自动 dashboard 中查看。Container Insights 适用于具有自管理节点组、托管节点组和 AWS Fargate 配置文件的 Amazon EKS 集群。
从成本优化的角度出发,为了帮助您管理 Container Insights 的成本,CloudWatch 不会自动从日志数据中创建所有可能的 metrics。但是,您可以通过使用 CloudWatch Logs Insights 分析原始性能日志事件来查看更多 metrics 和更精细的粒度级别。Container Insights 收集的 metrics 按自定义 metrics 计费。有关 CloudWatch 定价的更多信息,请参阅 Amazon CloudWatch 定价。
在 Amazon EKS 中,Container Insights 使用由 Amazon 通过 Amazon Elastic Container Registry 提供的容器化版本的 CloudWatch agent 来发现集群中所有正在运行的容器。然后它在性能堆栈的每一层收集性能数据。Container Insights 支持使用 AWS KMS 密钥对其收集的 logs 和 metrics 进行加密。要启用此加密,您必须手动为接收 Container Insights 数据的日志组启用 AWS KMS 加密。这将导致 CloudWatch Container Insights 使用提供的 AWS KMS 密钥加密此数据。仅支持对称密钥,不支持非对称 AWS KMS 密钥来加密日志组。Container Insights 仅在 Linux 实例上受支持。Amazon EKS 的 Container Insights 在这些 AWS 区域中受支持。