我想知道有没有办法限制普罗米修斯的目标数量。搜索了普罗米修斯的文档,但找不到这样的文档。我们在k8s集群上使用运算符部署普罗米修斯,并使用servicemonitor crd添加目标。这些yaml文件是由开发人员编写的,而我作为一个基础设施团队无法控制开发人员所做的添加。我正在寻找普罗米修斯的全局选项,它可以限制在普罗米修斯中完成的目标的添加,并在普罗米修斯仪表盘上抛出错误,如已达到上限。
普罗米修斯版本-2.7
发布于 2020-05-11 00:31:07
您不能限制目标的数量;这将是一个非常奇怪的特性。但您可以监视普罗米修斯抓取的目标数量,并在该数量超过给定阈值时触发错误。
- 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."如果需要自动化,可以在警报上触发操作,以回滚配置或缩小违规进程的大小。
在我看来,如果您的擦伤错失率开始增加,或者秒数超过建议的指标数量,您应该发出警报,而不是任意限制。
发布于 2020-11-26 19:51:34
您正在寻找一个名为“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转至Prometheus dashboard -> Status -> Targets。如果副本数量超过targetLimit允许的数量,则会发现此错误。

发布于 2020-12-16 02:25:06
从PrometheusV2.21开始,在scrape_config下有一个配置选项target_limit。
(标记为实验性,未来可能会发生变化)
https://stackoverflow.com/questions/61651827
复制相似问题