繁体   English   中英

如何限制普罗米修斯中的目标数量

[英]how to limit number of targets in prometheus

我想知道有没有办法限制普罗米修斯中的目标数量。 搜索了普罗米修斯文档,但找不到这样的文档。 我们在 k8s 集群上使用算子部署 prometheus,并使用 servicemonitor crd 添加目标。 这些 yaml 文件是由开发人员编写的,我作为基础设施团队无法控制开发人员所做的添加。 我正在寻找普罗米修斯中的全局选项,它可以限制在普罗米修斯中完成的目标的添加,并在普罗米修斯仪表板上抛出错误,说已经达到上限。

普罗米修斯 2.7 版

您不能限制目标的数量; 这将是一个非常奇怪的功能。 但是您可以监控 Prometheus 抓取的目标数量,并在此数量超过给定阈值时触发错误。

- alert: TooManyTargetsInPrometheus
  expr: count(up) > 42
  for: 5m
  labels:
    severity: critical
  annotations:
    summary: "Prometheus instance has too much jobs"
    description: "Prometheus has {{ $value }} targets which is way too much."

如果您想要自动化,您可以触发警报上的操作以回滚配置或缩小有问题的进程。

在我看来,如果您的错过抓取率开始增加或以秒为单位摄取的指标数量超过建议,您会发出警报,而不是任意限制。

您正在寻找名为“targetLimit”的 ServiceMonitor 属性。

以下是如何使用它的示例:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: service-scraper
  labels:
    release: kube-prometheus-stack-1606315657
spec:
  selector:
    matchLabels:
      monitor: 'true'
  targetLimit: 1
  endpoints:
  - port: web
    path: /metrics

Go 到 Prometheus 仪表板 -> 状态 -> 目标。 如果副本数超过 targetLimit 允许的数量,您会发现此错误。

在此处输入图像描述

检查 serviceMonitor 规格

从 Prometheus v2.21 开始,在scrape_config target_limit

(注明为实验性,未来可能会改变)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM