9.2. 确定为什么 Prometheus 消耗大量磁盘空间
标签用于以键-值对的形式为指标定义属性。会为每个键-值对创建唯一的时间序列。为标签添加多个值可导致所创建的时间序列数量呈指数增加。这可能会影响 Prometheus 性能,并消耗大量磁盘空间。
当 Prometheus 消耗大量磁盘空间时:
- 您可以检查正在收集的提取示例数量
要减少创建的唯一时间序列数量,您可以减少分配给用户定义的指标的未绑定属性数量
注意未绑定属性是指可包含任何可能值的属性。使用绑定到一组有限可能值的属性可减少潜在的键-值对组合数量。
- 集群管理员可以强制限制可在用户定义的项目中提取的示例数量
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
- 在 Administrator 视角中,导航到 Monitoring → Metrics。
在 Expression 字段中运行以下 Prometheus Query Language (PromQL) 查询。这会返回具有最高提取示例数的十个指标:
topk(10,count by (job)({__name__=~".+"}))
如果指标的提取示例数大于预期,请检查分配给指标的未绑定标签值数量。
- 如果指标与用户定义的项目相关,请查看分配给您的工作负载的指标键-值对。它们通过应用程序级别的 Prometheus 客户端库实施。尝试限制标签中引用的未绑定属性数量。
- 如果指标与 OpenShift Container Platform 核心项目相关,请在红帽客户门户网站上创建一个红帽支持问题单。
其他资源
- 如需有关如何设置提取示例限制和创建相关警报规则的详细信息,请参阅为用户定义的项目设置提取示例限制
- 提交支持问题单