使用 Prometheus 监控集群指标
Prometheus
Amazon Managed Service for Prometheus 是一项与 Prometheus 兼容的监控和警报服务,可以轻松实现对容器化应用程序和基础设施的大规模监控。这是一项完全托管的服务,可自动扩展指标的提取、存储、查询和警报。这项服务还集成了 AWS 安全服务,可以快速安全地访问您的数据。您可以使用开源 ProMQL 查询语言来查询指标并发出警报。此外,您还可以使用 Amazon Managed Service for Prometheus 中的警报管理器来设置关键警报的提醒规则。然后,您可以将这些关键警报作为通知发送到某个 Amazon SNS 主题。
可以通过多种方式将 Prometheus 与 Amazon EKS 结合使用:
-
您可以在首次创建 Amazon EKS 集群时开启 Prometheus 指标,也可以为现有集群创建自己的 Prometheus 抓取程序。本主题涵盖了这两个选项。
-
您可以使用 Prometheus 部署 Helm。有关更多信息,请参阅使用 Helm 部署 Prometheus。
-
您可以查看 Prometheus 格式的控制面板原始指标。有关更多信息,请参阅获取 Prometheus 格式的控制面板原始指标。
步骤 1:开启 Prometheus 指标
重要
Amazon Managed Service for Prometheus 资源不在集群生命周期内,需要独立于集群进行维护。删除集群时,请务必同时删除所有适用的抓取器以停止适用的费用。有关更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的查找和删除抓取程序。
Prometheus 通过一个名为抓取的拉取模型从集群中发现和收集指标。设置抓取程序以从您的集群基础设施和容器化应用程序中收集数据。当您开启发送 Prometheus 指标的选项时,Amazon Managed Service for Prometheus 会提供一个完全托管的无代理抓取程序。
如果您尚未创建集群,您可以在首次创建集群时开启向 Prometheus 发送指标的选项。在 Amazon EKS 控制台中,此选项位于创建新集群的配置可观测性步骤中。有关更多信息,请参阅创建 Amazon EKS 集群。。
如果您已经有现有的集群,则可以创建自己的 Prometheus 抓取程序。要在 Amazon EKS 控制台中执行此操作,请导航到集群的可观测性选项卡,然后选择添加抓取器按钮。如果您更愿意使用 AWS API 或 AWS CLI 执行此操作,请参阅《Amazon Managed Service for Prometheus 用户指南》中的创建抓取程序。
使用 Amazon EKS 控制台创建抓取程序时,可以使用以下选项。
- 抓取程序别名
-
(可选)输入抓取程序的唯一别名。
- 目标位置
-
选择 Amazon Managed Service for Prometheus 工作区。工作区是专用于存储和查询 Prometheus 指标的逻辑空间。借助此工作区,您将能够查看有权访问该工作区账户的 Prometheus 指标。创建新工作区选项指示 Amazon EKS 使用您提供的工作区别名,来代表您创建工作区。您可以使用选择现有工作区选项,从下拉列表中选择一个现有工作区。有关工作区的更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的管理工作区。
- 服务访问
-
本节总结了您在发送 Prometheus 指标时授予的权限:
-
允许 Amazon Managed Service for Prometheus 描述抓取的 Amazon EKS 集群
-
允许远程写入 Amazon Managed Prometheus 工作区
如果
AmazonManagedScraperRole
已存在,抓取程序会进行使用。选择AmazonManagedScraperRole
链接以查看权限详细信息。如果AmazonManagedScraperRole
尚不存在,请选择查看权限详细信息链接,以查看您通过发送 Prometheus 指标授予的特定权限。 -
- 子网
-
根据需要修改抓取程序将继承的子网。如果需要添加灰显的子网选项,请返回创建集群指定网络步骤。
- 抓取程序配置
-
根据需要修改 YAML 格式的抓取程序进行配置。为此,请使用表单或上传替换的 YAML 文件。有关更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的抓取程序配置。
Amazon Managed Service for Prometheus 指的是与集群一起创建的无代理抓取程序,作为 AWS 托管的收集器。有关 AWS 托管的收集器的更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的 使用 AWS 托管收集器摄取指标。
重要
-
如果您使用 AWS CLI 或 AWS API 创建 Prometheus 抓取程序,则需要调整其配置以向抓取程序授予集群内的权限。有关更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的配置您的 Amazon EKS 集群。
-
如果您在 2024 年 11 月 11 日之前创建了使用
aws-auth
ConfigMap
而非访问条目的 Prometheus 抓取工具,则需要对其进行更新才能从 Amazon EKS 集群控制面板访问其他指标。有关更新的配置,请参阅《Amazon Managed Service for Prometheus 用户指南》中的手动配置 Amazon EKS 以获取抓取工具访问权限。
第 2 步:使用 Prometheus 指标
有关为集群开启 Prometheus 指标后如何使用这些指标的详细信息,请参阅《Amazon Managed Service for Prometheus 用户指南》https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html。
第 3 步:管理 Prometheus 抓取程序
要管理抓取程序,请在 Amazon EKS 控制台中选择可观测性选项卡。一个显示集群抓取程序列表的表格,包括抓取程序 ID、别名、状态和创建日期等信息。您可以添加更多抓取程序、删除抓取程序或查看有关当前抓取程序的更多信息。
要查看有关抓取程序的更多详细信息,请选择抓取程序 ID 链接。例如,您可以查看 ARN、环境、工作空间 ID、IAM 角色、配置和网络信息。您可以使用抓取程序 ID 作为 Amazon Managed Service for Prometheus API 操作的输入,例如 DescribeScraper
和 DeleteScraper
。有关使用 Prometheus API 的更多信息,请参阅 Amazon Managed Service for Prometheus API 参考。