[英]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 允許的數量,您會發現此錯誤。
從 Prometheus v2.21 開始,在scrape_config
target_limit
(注明為實驗性,未來可能會改變)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.