9.2. 确定为什么 Prometheus 消耗大量磁盘空间

标签用于以键-值对的形式为指标定义属性。会为每个键-值对创建唯一的时间序列。为标签添加多个值可导致所创建的时间序列数量呈指数增加。这可能会影响 Prometheus 性能,并消耗大量磁盘空间。

当 Prometheus 消耗大量磁盘空间时:

  • 您可以检查正在收集的提取示例数量
  • 减少创建的唯一时间序列数量,您可以减少分配给用户定义的指标的未绑定属性数量

    注意

    未绑定属性是指可包含任何可能值的属性。使用绑定到一组有限可能值的属性可减少潜在的键-值对组合数量。

  • 集群管理员可以强制限制可在用户定义的项目中提取的示例数量

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift CLI(oc)。

流程

  1. Administrator 视角中,导航到 MonitoringMetrics
  2. Expression 字段中运行以下 Prometheus Query Language (PromQL) 查询。这会返回具有最高提取示例数的十个指标:

    topk(10,count by (job)({__name__=~".+"}))
  3. 如果指标的提取示例数大于预期,请检查分配给指标的未绑定标签值数量。

    • 如果指标与用户定义的项目相关,请查看分配给您的工作负载的指标键-值对。它们通过应用程序级别的 Prometheus 客户端库实施。尝试限制标签中引用的未绑定属性数量。
    • 如果指标与 OpenShift Container Platform 核心项目相关,请在红帽客户门户网站上创建一个红帽支持问题单。

其他资源