本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EKS 上的 Prometheus 监控
Amazon Managed Service for Prometheus提供可扩展、安全、AWS面向开源 Prometheus 的托管服务。您可以使用 Prometheus 查询语言 (ProMQL) 监控容器化工作负载的性能,而无需管理用于摄取、存储和查询运营指标的底层基础设施。您可以使用以下方法从亚马逊 EKS 和亚马逊 ECS 收集 Prometheus 指标AWS对于 Distro OpenTelemetry (ADOT)或者 Prometheus 服务器作为收集代理。
Prometheus CloudWatch Container Insights 监控使您可以配置和使用 CloudWatch 代理来发现来自亚马逊 ECS、Amazon EKS 和 Kubernetes 工作负载的 Prometheus 指标,并将它们作为 CloudWatch 指标提取。这个解决方案是合适的, CloudWatch 是你的主要可观察性和监控解决方案。但是,以下列表概述了面向 Prometheus 的亚马逊托管服务为摄取、存储和查询 Prometheus 指标提供了更多灵活性的使用案例:
-
面向 Prometheus 的亚马逊托管服务使您能够使用部署在 Amazon EKS 或自管 Kubernetes 中的现有 Prometheus 服务器,并将其配置为写入针对 Prometheus 的亚马逊托管服务,而不是本地配置的数据存储。这消除了为您的 Prometheus 服务器及其基础设施管理高可用性数据存储所带来的无差别繁重的工作。当您拥有成熟的 Prometheus 部署时,面向 Prometheus 的亚马逊托管服务是合适的选择,而且您想在AWS云。
-
Grafana 直接支持 Prometheus 作为可视化的数据源。如果您想将 Grafana 用于 Prometheus 而不是 CloudWatch 用于监控容器的仪表板,然后面向 Prometheus 的亚马逊托管服务可以满足您的要求。面向 Prometheus 的亚马逊托管服务与亚马逊托管 Grafana 集成,以提供托管开源监控和可视化解决方案。
-
Prometheus 使您能够使用 ProMQL 查询对运营指标进行分析。相比之下,这 CloudWatch 代理程序以嵌入式指标格式提取 Prometheus 指标进入 CloudWatch 导致的日志 CloudWatch 指标。使用以下方法可以查询嵌入式指标格式日志。 CloudWatch 记录见解。
-
如果您不打算使用 CloudWatch 为了进行监控和捕获指标,那么您应该将面向 Prometheus 的亚马逊托管服务与您的 Prometheus 服务器和 Grafana 之类的可视化解决方案一起使用。你需要配置你的 Prometheus 服务器以从你的 Prometheus 目标中抓取指标,然后将服务器配置为将远程写入您的 Amazon Managed Service of Prometheus 工作区. 如果你使用亚马逊托管 Grafana,那么你可以使用随附的插件直接将亚马逊托管 Grafana 与您的 Prometheus 亚马逊托管服务数据源集成. 由于指标数据存储在针对 Prometheus 的亚马逊托管服务中,因此没有依赖关系来部署 CloudWatch 代理或将数据提取到 CloudWatch 的要求。这些区域有: CloudWatch Prometheus 需要代理人进行 Container Insights 监控。
您还可以使用 ADOT Collector 从 Prometheus 仪器的应用程序中抓取数据,然后将指标发送到针对 Prometheus 的亚马逊托管服务。有关 ADOT Collector 的更多信息,请参阅AWSOpenTelemetry 的 Distro