使用 Prometheus 监控集群指标 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

使用 Prometheus 监控集群指标

Prometheus 是一个用于抓取端点的监控和时间序列数据库。提供查询、聚合和存储收集的数据的功能。您还可以将其用于警报和警报聚合。本主题介绍了如何将 Prometheus 设置为托管或开源选项。一个常见用例为监控 Amazon EKS 控制面板指标。

Amazon Managed Service for Prometheus 是一项与 Prometheus 兼容的监控和警报服务,可以轻松实现对容器化应用程序和基础设施的大规模监控。这是一项完全托管的服务,可自动扩展指标的提取、存储、查询和警报。这项服务还集成了 AWS 安全服务,可以快速安全地访问您的数据。您可以使用开源 ProMQL 查询语言来查询指标并发出警报。此外,您还可以使用 Amazon Managed Service for Prometheus 中的警报管理器来设置关键警报的提醒规则。然后,您可以将这些关键警报作为通知发送到某个 Amazon SNS 主题。

有关开启指标后如何使用 Prometheus 指标的详细信息,请参阅 《Amazon Managed Service for Prometheus 用户指南》

可以通过多种方式将 Prometheus 与 Amazon EKS 结合使用:

  • 您可以在首次创建 Amazon EKS 集群时开启 Prometheus 指标,本主题将介绍这一场景。

  • 如果您已经有现有的 Amazon EKS 集群,则可以创建自己的 Prometheus 抓取程序。有关更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的创建抓取程序

  • 您可以使用 Prometheus 部署 Helm。有关更多信息,请参阅 使用 Helm 部署 Prometheus

  • 您可以查看 Prometheus 格式的控制面板原始指标。有关更多信息,请参阅 查看 Prometheus 格式的控制面板原始指标

第 1 步:在创建集群时开启 Prometheus 指标

重要

适用于 Prometheus 的 Amazon 托管服务资源不在集群生命周期内,需要独立于集群进行维护。删除集群时,请务必同时删除所有适用的抓取器以停止适用的费用。有关更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的查找和删除抓取程序

创建新集群时,您可以开启向 Prometheus 发送指标的选项。在 AWS Management Console 中,此选项位于创建新集群的配置可观测性步骤中。有关更多信息,请参阅 创建 Amazon EKS 集群。

Prometheus 通过一个名为抓取的拉取模型从集群中发现和收集指标。设置抓取程序以从您的集群基础设施和容器化应用程序中收集数据。

当您开启发送 Prometheus 指标的选项时,Amazon Managed Service for Prometheus 会提供一个完全托管的无代理抓取程序。使用以下高级配置选项,根据需要自定义默认抓取程序。

抓取程序别名

(可选)输入抓取程序的唯一别名。

目标位置

选择 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-auth ConfigMap 才能向抓取程序提供集群内权限。有关更多信息,请参阅《Amazon Managed Service for Prometheus 用户指南》中的配置您的 Amazon EKS 集群

第 2 步:查看 Prometheus 抓取程序详细信息

在创建集群并开启 Prometheus 指标选项的情况下,您可以查看 Prometheus 抓取程序详细信息。在 AWS Management Console 中查看集群时,请选择可观测性选项卡。一个显示集群抓取程序列表的表格,包括抓取程序 ID、别名、状态和创建日期等信息。

要查看有关抓取程序的更多详细信息,请选择抓取程序 ID 链接。例如,您可以查看抓取程序配置、Amazon 资源名称(ARN)、远程写入 URL 和网络信息。您可以使用抓取程序 ID 作为 Amazon Managed Service for Prometheus API 操作的输入,例如 DescribeScraperDeleteScraper。您还可以使用 API 创建更多抓取程序。

有关使用 Prometheus API 的更多信息,请参阅 Amazon Managed Service for Prometheus API 参考