[英]How To Reduce Prometheus(Federation) Scrape Duration
我有一個普羅米修斯聯盟,其中有 2 個普羅米修斯服務器 - 每個 Kube.netes 集群一個,一個中央管理它們。
隨着時間的推移,刮擦持續時間會增加。 在某個時候,抓取持續時間超過超時持續時間,然后指標丟失並觸發警報。
我試圖通過降低指標來減少擦除持續時間,但這是一場艱苦的戰斗,更像是西西弗斯然后是普羅米修斯。
有誰知道一種方法可以減少抓取時間而不丟失指標並且不必隨着時間的推移越來越多地下降?
提前致謝!
根據Prometheus的文檔 ,這些設置確定全局超時和警報規則評估頻率:
global:
# How frequently to scrape targets by default.
[ scrape_interval: <duration> | default = 1m ]
# How long until a scrape request times out.
[ scrape_timeout: <duration> | default = 10s ]
# How frequently to evaluate rules.
[ evaluation_interval: <duration> | default = 1m ]
...並且對於每個刮刮作業,該配置允許設置作業特定的值:
# The job name assigned to scraped metrics by default.
job_name: <job_name>
# How frequently to scrape targets from this job.
[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]
# Per-scrape timeout when scraping this job.
[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]
不了解更多有關目標的數量和每個目標的指標數量...我可以建議嘗試為每個作業配置適當的scrape_timeout
並相應地調整全局evaluation_interval
scrape_timeout
。
結合以上建議或單獨使用的建議,另一種選擇是使Prometheus實例專用於刮除不重疊的目標集。 因此,有可能按比例縮放普羅米修斯,並且每組目標具有不同的evaluation_interval
間隔。 例如,較長的工作需要較長的scrape_timeout
以及較低的evaluation_interval
時間scrape_timeout
(較高的值),以免影響其他工作。
另外,通過隨着時間的推移累積指標,而不是在抓取時僅提供當前讀數,來檢查出口商的行為是否正常,否則,返回普羅米修斯的清單會隨着時間的推移而不斷增長。
不建議在Prometheus federation之上構建數據復制,因為它不會像在描述的案例中看到的那樣隨着活動時間序列的數量而擴展。 最好通過Prometheus remote_write protocol設置數據復制。 例如,將以下行添加到 Prometheus 配置中,以便將數據復制到位於給定url
的VictoriaMetrics遠程存儲:
remote_write:
- url: http://victoriametrics-host:8428/api/v1/write
以下文檔可能對進一步閱讀有用:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.