精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Prometheus 如何做到“活學活用”,大牛總結的避坑指南

新聞 架構
本文主要分享在 Prometheus 實踐中遇到的一些問題和思考,如果你對 K8S 監(jiān)控體系或 Prometheus 的設計還不太了解,可以先看下容器監(jiān)控系列。

 [[326958]]

監(jiān)控系統(tǒng)的歷史悠久,是一個很成熟的方向,而 Prometheus 作為新生代的開源監(jiān)控系統(tǒng),慢慢成為了云原生體系的事實標準,也證明了其設計很受歡迎。

本文主要分享在 Prometheus 實踐中遇到的一些問題和思考,如果你對 K8S 監(jiān)控體系或 Prometheus 的設計還不太了解,可以先看下容器監(jiān)控系列。

幾點原則:

  • 監(jiān)控是基礎設施,目的是為了解決問題,不要只朝著大而全去做,尤其是不必要的指標采集,浪費人力和存儲資源(To B商業(yè)產品例外)。
  • 需要處理的告警才發(fā)出來,發(fā)出來的告警必須得到處理。
  • 簡單的架構就是最好的架構,業(yè)務系統(tǒng)都掛了,監(jiān)控也不能掛。Google Sre 里面也說避免使用 Magic 系統(tǒng),例如機器學習報警閾值、自動修復之類。這一點見仁見智吧,感覺很多公司都在搞智能 AI 運維。

一、版本的選擇

Prometheus 當前最新版本為 2.16,Prometheus 還在不斷迭代,因此盡量用最新版,1.X版本就不用考慮了。

2.16 版本上有一套實驗 UI,可以查看 TSDB 的狀態(tài),包括Top 10的 Label、Metric.

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

二、Prometheus 的局限

  • Prometheus 是基于 Metric 的監(jiān)控,不適用于日志(Logs)、事件(Event)、調用鏈(Tracing)。
  • Prometheus 默認是 Pull 模型,合理規(guī)劃你的網絡,盡量不要轉發(fā)。
  • 對于集群化和水平擴展,官方和社區(qū)都沒有銀彈,需要合理選擇 Federate、Cortex、Thanos等方案。
  • 監(jiān)控系統(tǒng)一般情況下可用性大于一致性,容忍部分副本數據丟失,保證查詢請求成功。這個后面說 Thanos 去重的時候會提到。
  • Prometheus 不一定保證數據準確,這里的不準確一是指 rate、histogram_quantile 等函數會做統(tǒng)計和推斷,產生一些反直覺的結果,這個后面會詳細展開。二來查詢范圍過長要做降采樣,勢必會造成數據精度丟失,不過這是時序數據的特點,也是不同于日志系統(tǒng)的地方。

三、K8S 集群中常用的 exporter

Prometheus 屬于 CNCF 項目,擁有完整的開源生態(tài),與 Zabbix 這種傳統(tǒng) agent 監(jiān)控不同,它提供了豐富的 exporter 來滿足你的各種需求。你可以在這里看到官方、非官方的 exporter。如果還是沒滿足你的需求,你還可以自己編寫 exporter,簡單方便、自由開放,這是優(yōu)點。

但是過于開放就會帶來選型、試錯成本。之前只需要在 zabbix agent里面幾行配置就能完成的事,現(xiàn)在你會需要很多 exporter 搭配才能完成。還要對所有 exporter 維護、監(jiān)控。尤其是升級 exporter 版本時,很痛苦。非官方exporter 還會有不少 bug。這是使用上的不足,當然也是 Prometheus 的設計原則。

K8S 生態(tài)的組件都會提供/metric接口以提供自監(jiān)控,這里列下我們正在使用的:

  • cadvisor: 集成在 Kubelet 中。
  • kubelet: 10255為非認證端口,10250為認證端口。
  • apiserver: 6443端口,關心請求數、延遲等。
  • scheduler: 10251端口。
  • controller-manager: 10252端口。
  • etcd: 如etcd 寫入讀取延遲、存儲容量等。
  • docker: 需要開啟 experimental 實驗特性,配置 metrics-addr,如容器創(chuàng)建耗時等指標。
  • kube-proxy: 默認 127 暴露,10249端口。外部采集時可以修改為 0.0.0.0 監(jiān)聽,會暴露:寫入 iptables 規(guī)則的耗時等指標。
  • kube-state-metrics: K8S 官方項目,采集pod、deployment等資源的元信息。
  • node-exporter: Prometheus 官方項目,采集機器指標如 CPU、內存、磁盤。
  • blackbox_exporter: Prometheus 官方項目,網絡探測,dns、ping、http監(jiān)控
  • process-exporter: 采集進程指標
  • nvidia exporter: 我們有 gpu 任務,需要 gpu 數據監(jiān)控
  • node-problem-detector: 即 npd,準確的說不是 exporter,但也會監(jiān)測機器狀態(tài),上報節(jié)點異常打 taint
  • 應用層 exporter: mysql、nginx、mq等,看業(yè)務需求。
  • 還有各種場景下的自定義 exporter,如日志提取后面會再做介紹。

四、K8S 核心組件監(jiān)控與 Grafana 面板

k8s 集群運行中需要關注核心組件的狀態(tài)、性能。如 kubelet、apiserver 等,基于上面提到的 exporter 的指標,可以在 Grafana 中繪制如下圖表:

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

模板可以參考dashboards-for-kubernetes-administrators,根據運行情況不斷調整報警閾值。

這里提一下 Grafana 雖然支持了 templates 能力,可以很方便地做多級下拉框選擇,但是不支持templates 模式下配置報警規(guī)則,相關issue

官方對這個功能解釋了一堆,可最新版本仍然沒有支持。借用 issue 的一句話吐槽下:

  1. It would be grate to add templates support in alerts. Otherwise the feature looks useless a bit. 

五、采集組件 All IN One

Prometheus 體系中 Exporter 都是獨立的,每個組件各司其職,如機器資源用 Node-Exporter,Gpu 有Nvidia Exporter等等。但是 Exporter 越多,運維壓力越大,尤其是對 Agent做資源控制、版本升級。我們嘗試對一些Exporter進行組合,方案有二:

  • 通過主進程拉起N個 Exporter 進程,仍然可以跟著社區(qū)版本做更新、bug fix。
  • 用Telegraf來支持各種類型的 Input,N 合 1。

另外,Node-Exporter 不支持進程監(jiān)控,可以加一個Process-Exporter,也可以用上邊提到的Telegraf,使用 procstat 的 input來采集進程指標。

六、合理選擇黃金指標

采集的指標有很多,我們應該關注哪些?Google 在“Sre Handbook”中提出了“四個黃金信號”:延遲、流量、錯誤數、飽和度。實際操作中可以使用 Use 或 Red 方法作為指導,Use 用于資源,Red 用于服務。

  • Use 方法:Utilization、Saturation、Errors。如 Cadvisor 數據
  • Red 方法:Rate、Errors、Duration。如 Apiserver 性能指標

Prometheus 采集中常見的服務分三種:

  • 在線服務:如 Web 服務、數據庫等,一般關心請求速率,延遲和錯誤率即 RED 方法
  • 離線服務:如日志處理、消息隊列等,一般關注隊列數量、進行中的數量,處理速度以及發(fā)生的錯誤即 Use 方法
  • 批處理任務:和離線任務很像,但是離線任務是長期運行的,批處理任務是按計劃運行的,如持續(xù)集成就是批處理任務,對應 K8S 中的 job 或 cronjob, 一般關注所花的時間、錯誤數等,因為運行周期短,很可能還沒采集到就運行結束了,所以一般使用 Pushgateway,改拉為推。

對 Use 和 Red 的實際示例可以參考容器監(jiān)控實踐—K8S常用指標分析這篇文章。

七、K8S 1.16中 Cadvisor 的指標兼容問題

在 K8S 1.16版本,Cadvisor 的指標去掉了 pod_Name 和 container_name 的 label,替換為了pod 和 container。如果你之前用這兩個 label 做查詢或者 Grafana 繪圖,需要更改下 Sql 了。因為我們一直支持多個 K8S 版本,就通過 relabel配置繼續(xù)保留了原來的**_name。

  1. metric_relabel_configs:- source_labels: [container] 
  2.  
  3. regex: (.+) 
  4.  
  5. target_label: container_name 
  6.  
  7. replacement: $1 
  8.  
  9. action: replace 
  10.  
  11. - source_labels: [pod] 
  12.  
  13. regex: (.+) 
  14.  
  15. target_label: pod_name 
  16.  
  17. replacement: $1 
  18.  
  19. action: replace 

注意要用 metric_relabel_configs,不是 relabel_configs,采集后做的replace。

八、Prometheus 采集外部 K8S 集群、多集群

Prometheus 如果部署在K8S集群內采集是很方便的,用官方給的Yaml就可以,但我們因為權限和網絡需要部署在集群外,二進制運行,采集多個 K8S 集群。

以 Pod 方式運行在集群內是不需要證書的(In-Cluster 模式),但集群外需要聲明 token之類的證書,并替換address,即使用 Apiserver Proxy采集,以 Cadvisor采集為例,Job 配置為:

  1. - job_name: cluster-cadvisor 
  2.  
  3. honor_timestamps: true 
  4.  
  5. scrape_interval: 30s 
  6.  
  7. scrape_timeout: 10s 
  8.  
  9. metrics_path: /metrics 
  10.  
  11. scheme: https 
  12.  
  13. kubernetes_sd_configs: 
  14.  
  15. - api_server: https://xx:6443 
  16.  
  17. role: node 
  18.  
  19. bearer_token_file: token/cluster.token 
  20.  
  21. tls_config: 
  22.  
  23. insecure_skip_verify: true 
  24.  
  25. bearer_token_file: token/cluster.token 
  26.  
  27. tls_config: 
  28.  
  29. insecure_skip_verify: true 
  30.  
  31. relabel_configs: 
  32.  
  33. - separator: ; 
  34.  
  35. regex: __meta_kubernetes_node_label_(.+) 
  36.  
  37. replacement: $1 
  38.  
  39. action: labelmap 
  40.  
  41. - separator: ; 
  42.  
  43. regex: (.*) 
  44.  
  45. target_label: __address__ 
  46.  
  47. replacement: xx:6443 
  48.  
  49. action: replace 
  50.  
  51. - source_labels: [__meta_kubernetes_node_name] 
  52.  
  53. separator: ; 
  54.  
  55. regex: (.+) 
  56.  
  57. target_label: __metrics_path__ 
  58.  
  59. replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor 
  60.  
  61. action: replace 
  62.  
  63. metric_relabel_configs: 
  64.  
  65. - source_labels: [container] 
  66.  
  67. separator: ; 
  68.  
  69. regex: (.+) 
  70.  
  71. target_label: container_name 
  72.  
  73. replacement: $1 
  74.  
  75. action: replace 
  76.  
  77. - source_labels: [pod] 
  78.  
  79. separator: ; 
  80.  
  81. regex: (.+) 
  82.  
  83. target_label: pod_name 
  84.  
  85. replacement: $1 
  86.  
  87. action: replace 

bearer_token_file 需要提前生成,這個參考官方文檔即可。記得 base64 解碼。

對于 cadvisor 來說,__metrics_path__可以轉換為/api/v1/nodes/{1}/proxy/metrics/cadvisor,代表Apiserver proxy 到 Kubelet,如果網絡能通,其實也可以直接把 Kubelet 的10255作為 target,可以直接寫為:{1}:10255/metrics/cadvisor,代表直接請求Kubelet,規(guī)模大的時候還減輕了 Apiserver 的壓力,即服務發(fā)現(xiàn)使用 Apiserver,采集不走 Apiserver

因為 cadvisor 是暴露主機端口,配置相對簡單,如果是 kube-state-metric 這種 Deployment,以 endpoint 形式暴露,寫法應該是:

  1. - job_name: cluster-service-endpoints 
  2.  
  3. honor_timestamps: true 
  4.  
  5. scrape_interval: 30s 
  6.  
  7. scrape_timeout: 10s 
  8.  
  9. metrics_path: /metrics 
  10.  
  11. scheme: https 
  12.  
  13. kubernetes_sd_configs: 
  14.  
  15. - api_server: https://xxx:6443 
  16.  
  17. role: endpoints 
  18.  
  19. bearer_token_file: token/cluster.token 
  20.  
  21. tls_config: 
  22.  
  23. insecure_skip_verify: true 
  24.  
  25. bearer_token_file: token/cluster.token 
  26.  
  27. tls_config: 
  28.  
  29. insecure_skip_verify: true 
  30.  
  31. relabel_configs: 
  32.  
  33. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] 
  34.  
  35. separator: ; 
  36.  
  37. regex: "true" 
  38.  
  39. replacement: $1 
  40.  
  41. action: keep 
  42.  
  43. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] 
  44.  
  45. separator: ; 
  46.  
  47. regex: (https?) 
  48.  
  49. target_label: __scheme__ 
  50.  
  51. replacement: $1 
  52.  
  53. action: replace 
  54.  
  55. - separator: ; 
  56.  
  57. regex: (.*) 
  58.  
  59. target_label: __address__ 
  60.  
  61. replacement: xxx:6443 
  62.  
  63. action: replace 
  64.  
  65. - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_endpoints_name, 
  66.  
  67. __meta_kubernetes_service_annotation_prometheus_io_port] 
  68.  
  69. separator: ; 
  70.  
  71. regex: (.+);(.+);(.*) 
  72.  
  73. target_label: __metrics_path__ 
  74.  
  75. replacement: /api/v1/namespaces/${1}/services/${2}:${3}/proxy/metrics 
  76.  
  77. action: replace 
  78.  
  79. - separator: ; 
  80.  
  81. regex: __meta_kubernetes_service_label_(.+) 
  82.  
  83. replacement: $1 
  84.  
  85. action: labelmap 
  86.  
  87. - source_labels: [__meta_kubernetes_namespace] 
  88.  
  89. separator: ; 
  90.  
  91. regex: (.*) 
  92.  
  93. target_label: kubernetes_namespace 
  94.  
  95. replacement: $1 
  96.  
  97. action: replace 
  98.  
  99. - source_labels: [__meta_kubernetes_service_name] 
  100.  
  101. separator: ; 
  102.  
  103. regex: (.*) 
  104.  
  105. target_label: kubernetes_name 
  106.  
  107. replacement: $1 
  108.  
  109. action: replace 

對于 endpoint 類型,需要轉換__metrics_path__為/api/v1/namespaces/{1}/services/{2}:${3}/proxy/metrics,需要替換 namespace、svc 名稱端口等,這里的寫法只適合接口為/metrics的exporter,如果你的 exporter 不是/metrics接口,需要替換這個路徑。或者像我們一樣統(tǒng)一約束都使用這個地址。

這里的__meta_kubernetes_service_annotation_prometheus_io_port來源就是 exporter 部署時寫的那個 annotation,大多數文章中只提到prometheus.io/scrape: ‘true’,但也可以定義端口、路徑、協(xié)議。以方便在采集時做替換處理。

其他的一些 relabel 如kubernetes_namespace 是為了保留原始信息,方便做 promql 查詢時的篩選條件。

如果是多集群,同樣的配置多寫幾遍就可以了,一般一個集群可以配置三類job:

  • role:node 的,包括 cadvisor、 node-exporter、kubelet 的 summary、kube-proxy、docker 等指標
  • role:endpoint 的,包括 kube-state-metric 以及其他自定義 Exporter
  • 普通采集:包括Etcd、Apiserver 性能指標、進程指標等。

九、GPU 指標的獲取

nvidia-smi可以查看機器上的 GPU 資源,而Cadvisor 其實暴露了Metric來表示容器使用 GPU 情況,

  1. container_accelerator_duty_cycle 
  2.  
  3. container_accelerator_memory_total_bytes 
  4.  
  5. container_accelerator_memory_used_bytes 

如果要更詳細的 GPU 數據,可以安裝dcgm exporter,不過K8S 1.13 才能支持。

十、更改 Prometheus 的顯示時區(qū)

Prometheus 為避免時區(qū)混亂,在所有組件中專門使用 Unix Time 和 Utc 進行顯示。不支持在配置文件中設置時區(qū),也不能讀取本機 /etc/timezone 時區(qū)。

其實這個限制是不影響使用的:

  • 如果做可視化,Grafana是可以做時區(qū)轉換的。
  • 如果是調接口,拿到了數據中的時間戳,你想怎么處理都可以。
  • 如果因為 Prometheus 自帶的 UI 不是本地時間,看著不舒服,2.16 版本的新版 Web UI已經引入了Local Timezone 的選項,區(qū)別見下圖。
  • 如果你仍然想改 Prometheus 代碼來適應自己的時區(qū),可以參考這篇文章。

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

 

關于 timezone 的討論,可以看這個issue。

十一、如何采集 LB 后面的 RS 的 Metric

假如你有一個負載均衡 LB,但網絡上 Prometheus 只能訪問到 LB 本身,訪問不到后面的 RS,應該如何采集 RS 暴露的 Metric?

  • RS 的服務加 Sidecar Proxy,或者本機增加 Proxy 組件,保證 Prometheus 能訪問到。
  • LB 增加 /backend1 和 /backend2請求轉發(fā)到兩個單獨的后端,再由 Prometheus 訪問 LB 采集。

十二、Prometheus 大內存問題

隨著規(guī)模變大,Prometheus 需要的 CPU 和內存都會升高,內存一般先達到瓶頸,這個時候要么加內存,要么集群分片減少單機指標。這里我們先討論單機版 Prometheus 的內存問題。

原因:

  • Prometheus 的內存消耗主要是因為每隔2小時做一個 Block 數據落盤,落盤之前所有數據都在內存里面,因此和采集量有關。
  • 加載歷史數據時,是從磁盤到內存的,查詢范圍越大,內存越大。

這里面有一定的優(yōu)化空間。

  • 一些不合理的查詢條件也會加大內存,如 Group 或大范圍 Rate。

我的指標需要多少內存:

  • 作者給了一個計算器,設置指標量、采集間隔之類的,計算 Prometheus 需要的理論內存值:計算公式
  • 以我們的一個 Prometheus Server為例,本地只保留 2 小時數據,95 萬 Series,大概占用的內存如下:

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

有什么優(yōu)化方案:

  • Sample 數量超過了 200 萬,就不要單實例了,做下分片,然后通過 Victoriametrics,Thanos,Trickster 等方案合并數據。
  • 評估哪些 Metric 和 Label 占用較多,去掉沒用的指標。

2.14 以上可以看 Tsdb 狀態(tài)

  • 查詢時盡量避免大范圍查詢,注意時間范圍和 Step 的比例,慎用 Group。
  • 如果需要關聯(lián)查詢,先想想能不能通過 Relabel 的方式給原始數據多加個 Label,一條Sql 能查出來的何必用Join,時序數據庫不是關系數據庫。

Prometheus 內存占用分析:

  • 通過 pprof分析:

https://www.robustperception.io/optimising-prometheus-2-6-0-memory-usage-with-pprof

  • 1.X 版本的內存:

https://www.robustperception.io/how-much-ram-does-my-prometheus-need-for-ingestion

相關 issue:

  • https://groups.google.com/forum/#!searchin/prometheus-users/memory%7Csort:date/prometheus-users/q4oiVGU6Bxo/uifpXVw3CwAJ
  • https://github.com/prometheus/prometheus/issues/5723
  • https://github.com/prometheus/prometheus/issues/1881

十三、Prometheus 容量規(guī)劃

容量規(guī)劃除了上邊說的內存,還有磁盤存儲規(guī)劃,這和你的 Prometheus 的架構方案有關。

  • 如果是單機Prometheus,計算本地磁盤使用量。
  • 如果是 Remote-Write,和已有的 Tsdb 共用即可。
  • 如果是 Thanos 方案,本地磁盤可以忽略(2H),計算對象存儲的大小就行。

Prometheus 每2小時將已緩沖在內存中的數據壓縮到磁盤上的塊中。包括Chunks、Indexes、Tombstones、Metadata,這些占用了一部分存儲空間。一般情況下,Prometheus 中存儲的每一個樣本大概占用1-2字節(jié)大小(1.7Byte)。可以通過Promql來查看每個樣本平均占用多少空間:

  1. rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1h])/ 
  2.  
  3. rate(prometheus_tsdb_compaction_chunk_samples_sum[1h]){instance="0.0.0.0:8890", job="prometheus"1.252747585939941 

如果大致估算本地磁盤大小,可以通過以下公式:

磁盤大小=保留時間*每秒獲取樣本數*樣本大小

保留時間(retention_time_seconds)和樣本大小(bytes_per_sample)不變的情況下,如果想減少本地磁盤的容量需求,只能通過減少每秒獲取樣本數(ingested_samples_per_second)的方式。

查看當前每秒獲取的樣本數:

  1. rate(prometheus_tsdb_head_samples_appended_total[1h]) 

有兩種手段,一是減少時間序列的數量,二是增加采集樣本的時間間隔。考慮到 Prometheus 會對時間序列進行壓縮,因此減少時間序列的數量效果更明顯。

舉例說明:

采集頻率 30s,機器數量1000,Metric種類6000,1000600026024 約 200 億,30G 左右磁盤。

只采集需要的指標,如 match[], 或者統(tǒng)計下最常使用的指標,性能最差的指標。

以上磁盤容量并沒有把 wal 文件算進去,wal 文件(Raw Data)在 Prometheus 官方文檔中說明至少會保存3個 Write-Ahead Log Files,每一個最大為128M(實際運行發(fā)現(xiàn)數量會更多)。

因為我們使用了 Thanos 的方案,所以本地磁盤只保留2H 熱數據。Wal 每2小時生成一份Block文件,Block文件每2小時上傳對象存儲,本地磁盤基本沒有壓力。

關于 Prometheus 存儲機制,可以看這篇。

十四、對 Apiserver 的性能影響

如果你的 Prometheus 使用了 kubernetes_sd_config 做服務發(fā)現(xiàn),請求一般會經過集群的 Apiserver,隨著規(guī)模的變大,需要評估下對 Apiserver性能的影響,尤其是Proxy失敗的時候,會導致CPU 升高。當然了,如果單K8S集群規(guī)模太大,一般都是拆分集群,不過隨時監(jiān)測下 Apiserver 的進程變化還是有必要的。

在監(jiān)控Cadvisor、Docker、Kube-Proxy 的 Metric 時,我們一開始選擇從 Apiserver Proxy 到節(jié)點的對應端口,統(tǒng)一設置比較方便,但后來還是改為了直接拉取節(jié)點,Apiserver 僅做服務發(fā)現(xiàn)。

十五、Rate 的計算邏輯

Prometheus 中的 Counter 類型主要是為了 Rate 而存在的,即計算速率,單純的 Counter 計數意義不大,因為 Counter 一旦重置,總計數就沒有意義了。

Rate 會自動處理 Counter 重置的問題,Counter 一般都是一直變大的,例如一個 Exporter 啟動,然后崩潰了。本來以每秒大約10的速率遞增,但僅運行了半個小時,則速率(x_total [1h])將返回大約每秒5的結果。另外,Counter 的任何減少也會被視為 Counter 重置。例如,如果時間序列的值為[5,10,4,6],則將其視為[5,10,14,16]。

Rate 值很少是精確的。由于針對不同目標的抓取發(fā)生在不同的時間,因此隨著時間的流逝會發(fā)生抖動,query_range 計算時很少會與抓取時間完美匹配,并且抓取有可能失敗。面對這樣的挑戰(zhàn),Rate 的設計必須是健壯的。

Rate 并非想要捕獲每個增量,因為有時候增量會丟失,例如實例在抓取間隔中掛掉。如果 Counter 的變化速度很慢,例如每小時僅增加幾次,則可能會導致【假象】。比如出現(xiàn)一個 Counter 時間序列,值為100,Rate 就不知道這些增量是現(xiàn)在的值,還是目標已經運行了好幾年并且才剛剛開始返回。

建議將 Rate 計算的范圍向量的時間至少設為抓取間隔的四倍。這將確保即使抓取速度緩慢,且發(fā)生了一次抓取故障,您也始終可以使用兩個樣本。此類問題在實踐中經常出現(xiàn),因此保持這種彈性非常重要。例如,對于1分鐘的抓取間隔,您可以使用4分鐘的 Rate 計算,但是通常將其四舍五入為5分鐘。

如果 Rate 的時間區(qū)間內有數據缺失,他會基于趨勢進行推測,比如:

Prometheus 如何做到“活学活用”,大牛总结的避坑指南

 

責任編輯:張燕妮 來源: 高效運維
相關推薦

2024-04-24 13:45:00

2024-04-03 12:30:00

C++開發(fā)

2021-02-26 00:46:11

CIO數據決策數字化轉型

2018-03-26 11:14:13

程序猿bug代碼

2020-12-16 10:00:59

Serverless數字化云原生

2009-06-19 20:38:49

Linux操作系統(tǒng)

2023-05-24 10:06:42

多云實踐避坑

2021-05-07 21:53:44

Python 程序pyinstaller

2022-03-04 18:11:16

信服云

2021-05-08 12:30:03

Pythonexe代碼

2021-02-22 17:00:31

Service Mes微服務開發(fā)

2018-01-20 20:46:33

2022-09-26 09:53:18

開發(fā)緩存

2011-11-09 15:49:52

API

2020-06-12 11:03:22

Python開發(fā)工具

2019-11-21 10:25:28

分布式架構系統(tǒng)

2021-04-28 09:26:25

公有云DTS工具

2018-10-26 09:22:57

微服務架構應用開發(fā)

2020-07-07 09:00:00

SIEM安全信息和事件管理網絡安全

2009-11-20 11:37:11

Oracle完全卸載
點贊
收藏

51CTO技術棧公眾號

亚洲一区免费观看| 国产成人免费视频精品含羞草妖精| 欧美中文字幕一区二区三区| 亚洲一区在线免费| 中文字幕自拍偷拍| 国内精品久久久久久久影视麻豆 | 欧美国产一级片| 羞羞色午夜精品一区二区三区| 欧美日韩综合视频| 97视频热人人精品| 香蕉影院在线观看| 精品国产一区二区三区噜噜噜| 91久久香蕉国产日韩欧美9色| 热re99久久精品国99热蜜月| 国产普通话bbwbbwbbw| 久久久久久久久久久9不雅视频| 欧美精品18+| www.国产区| 成年人在线观看| 成人晚上爱看视频| 成人网欧美在线视频| 五月婷婷色丁香| 亚洲视频高清| 久久精品在线视频| 中文字幕1区2区| 久久女人天堂| 在线视频国产一区| 久久久999免费视频| 色呦呦呦在线观看| 亚洲欧洲精品一区二区三区| 日本不卡在线观看| 少妇av一区二区| 国产成人高清视频| 亚洲www视频| 中文字幕一区二区三区精品 | 亚洲资源av| 欧美丰满片xxx777| 四虎精品免费视频| 欧美挤奶吃奶水xxxxx| 欧美成人激情免费网| 亚洲精品在线视频播放| 国产精品久久乐| 91福利国产成人精品照片| 一区二区在线观| 国产有码在线| 久久久不卡影院| 91在线观看免费高清完整版在线观看 | 免费看欧美黑人毛片| 国产原创视频在线观看| 成人免费小视频| 国内一区在线| 色婷婷av一区二区三区之e本道| 石原莉奈在线亚洲三区| 欧美中在线观看| 男女做暖暖视频| 91精品91| 色综合天天综合网国产成人网| 精品少妇人妻一区二区黑料社区| 不卡一区视频| 日韩手机在线导航| 黄色激情在线观看| 台湾佬综合网| 亚洲人成网在线播放| 阿v天堂2014| 久久99国产精品久久99大师| 4hu四虎永久在线影院成人| 91视频这里只有精品| av成人在线网站| 精品美女一区二区| 亚洲调教欧美在线| 国产欧美日韩精品一区二区免费 | 中文字幕一区二区在线观看视频| 美女av在线免费看| 在线视频欧美精品| 国产福利精品一区二区三区| 视频二区不卡| 欧美日韩成人在线一区| 成年人性生活视频| 欧美激情15p| 尤物精品国产第一福利三区| 色婷婷在线影院| 色综合久久网| 国产一区二区三区欧美| 国产精品99久久久久久成人| 在线欧美福利| 国产精品国产自产拍高清av水多| 久久久久久久久影院| 日本91福利区| 国产精品久久久久久久久久直播 | 日韩精品一区二区三区色偷偷| 老熟妇一区二区三区啪啪| 国产精品婷婷| 成人www视频在线观看| 最近中文在线观看| 国产成人在线看| 18成人在线| 青青久草在线| 亚洲欧美日韩国产一区二区三区| 少妇特黄a一区二区三区| av在线free| 色天天综合久久久久综合片| 色婷婷一区二区三区在线观看| 24小时成人在线视频| 欧美人牲a欧美精品| 国产高潮视频在线观看| 欧美激情黄色片| 欧美有码在线观看| 亚洲av无码不卡| 三级久久三级久久| 国产超碰91| 色网站免费在线观看| 午夜精品久久久久久久99水蜜桃| 九九九九免费视频| 欧美电影h版| 精品乱人伦小说| 精品亚洲乱码一区二区| 老司机精品导航| 国产欧美亚洲日本| 午夜在线激情影院| 欧美日韩国产免费一区二区| 亚洲熟妇无码av| 激情综合自拍| 99re视频| 成人在线播放免费观看| 欧美日韩精品一区二区三区四区| 亚洲高清av一区二区三区| 精品一区av| 国产成人综合亚洲| 免费人成黄页在线观看忧物| 五月婷婷激情综合网| 性生交大片免费看l| 欧美激情一级片一区二区| 国产在线播放不卡| 日本综合在线| 欧美日韩在线一区二区| 男人的天堂av网| 日本怡春院一区二区| 91沈先生播放一区二区| 菠萝菠萝蜜在线视频免费观看 | 在线午夜精品自拍| 久久久久久久久黄色| 91免费看`日韩一区二区| 日本a在线免费观看| 99精品在免费线中文字幕网站一区 | 久久免费大视频| 久久久久久有精品国产| 丰满人妻一区二区三区无码av| 久久精品网站免费观看| 成人在线看视频| 亚州国产精品| 国产成人精彩在线视频九色| 艳母动漫在线看| 色综合久久综合网欧美综合网| 无码人妻一区二区三区在线视频| 亚欧日韩另类中文欧美| 欧美在线亚洲在线| 你懂的视频在线免费| 91国模大尺度私拍在线视频| 无码人妻久久一区二区三区蜜桃| 欧美一二区在线观看| 久久久久久久一区二区| 婷婷色在线视频| 色屁屁一区二区| 狂野欧美性猛交| 国产伦精品一区二区三区免费 | 国内精品免费视频| 国产欧美短视频| 欧美日韩国产综合在线| 久久日本片精品aaaaa国产| 久久影视电视剧免费网站| 国产福利第一页| 国产精品二区一区二区aⅴ污介绍| 日本成年人网址| 91麻豆精品国产91久久久久推荐资源| 国产亚洲福利一区| 亚洲熟女综合色一区二区三区| 国产99精品视频| 久草资源站在线观看| 欧美mv日韩| 国产精品视频免费观看| 成人香蕉视频| 成年无码av片在线| 四虎在线观看| 欧美精品日韩一本| 亚洲精品视频在线观看免费视频| 成人免费看的视频| 国产成人手机视频| jvid福利在线一区二区| 成人影片在线播放| 是的av在线| 久久香蕉国产线看观看av| 亚洲三区在线播放| 91精品婷婷国产综合久久竹菊| 国产精品精品软件男同| 久久激情综合网| 国产九九九九九| 99久久夜色精品国产亚洲狼| 国产日韩精品久久| 95精品视频| 欧美精品在线视频观看| 九色网友自拍视频手机在线| 日韩视频一区二区三区| 免费在线不卡av| 欧美日韩一区二区免费在线观看| 熟女俱乐部一区二区| 国产精品系列在线播放| 美女喷白浆视频| 亚洲免费播放| 麻豆传媒网站在线观看| 第四色在线一区二区| 国产精品久久综合av爱欲tv| 秋霞成人影院| 亚洲欧美激情四射在线日| 国产av无码专区亚洲av麻豆| 欧美性一级生活| 国产原创视频在线| 亚洲风情在线资源站| 亚洲波多野结衣| 成人涩涩免费视频| 国产精品自在自线| 琪琪一区二区三区| 国产a级片免费观看| 亚洲激情专区| 男人的天堂avav| 影音先锋成人在线电影| 色之综合天天综合色天天棕色| 欧美综合影院| 高清亚洲成在人网站天堂| 国产剧情在线| 久久天天躁狠狠躁夜夜躁 | 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 亚洲视频一区二区在线观看| 久久久久久久久福利| 国产婷婷色一区二区三区四区| 一级黄色大片儿| 国产乱人伦偷精品视频不卡| 拔插拔插华人永久免费| 精品综合久久久久久8888| 亚洲欧洲日本精品| 免费观看在线色综合| 另类小说第一页| 蜜桃在线一区二区三区| 国产原创中文在线观看| 成人久久久久| 亚洲人成77777| 99re久久最新地址获取| 伊人久久av导航| 午夜国产一区二区| 日韩视频在线免费播放| 天天做天天爱天天综合网| 美女主播视频一区| 一区二区三区四区在线看| 蜜桃精品久久久久久久免费影院 | 轻轻草成人在线| 五月婷婷之综合激情| 看电视剧不卡顿的网站| 凹凸日日摸日日碰夜夜爽1| 丝袜a∨在线一区二区三区不卡| 成人av在线播放观看| 亚洲看片一区| 黄色免费网址大全| 精品一区二区国语对白| 美女被艹视频网站| 99天天综合性| 中文字幕成人动漫| 中文字幕在线不卡| 久久久久久av无码免费网站| 红桃视频成人在线观看| 无码人妻一区二区三区线| 偷拍与自拍一区| 欧美一级淫片免费视频黄| 欧美怡红院视频| 国产成人精品无码高潮| 9191成人精品久久| 亚洲老妇色熟女老太| 亚洲人成绝费网站色www | 国产一区视频导航| 中国xxxx性xxxx产国| 国产成人综合自拍| 国产福利在线观看视频| 中文字幕欧美日韩一区| 免费一级片在线观看| 欧美视频在线观看 亚洲欧| 国产无码精品在线播放| 欧美在线观看视频一区二区| 国产成人精品毛片| 亚洲男人天堂九九视频| 国产在线高清理伦片a| 91精品国产777在线观看| 成人亚洲综合| 国产亚洲欧美另类一区二区三区| 亚洲一二av| 国产欧美日韩91| 久久中文资源| a级网站在线观看| 男女av一区三区二区色多| 初高中福利视频网站| 国产亚洲欧洲997久久综合| 久久国产一级片| 欧美视频一区在线| 色鬼7777久久| 亚洲欧美中文日韩在线v日本| 欧美理论在线观看| 欧美黄色免费网站| 77thz桃花论族在线观看| 国产色综合天天综合网| 亲子伦视频一区二区三区| 欧洲美女和动交zoz0z| 视频一区二区中文字幕| 影音先锋黄色资源| 亚洲精品乱码久久久久| 在线观看中文字幕2021| 亚洲精品中文字幕有码专区| 美女精品导航| 成人免费观看a| 99久久.com| 精品久久久久久无码中文野结衣| 在线亚洲成人| 久久久久亚洲av无码网站| 亚洲视频在线一区观看| 中文字幕一区二区三区四区免费看| 欧美久久久一区| 成人高清免费观看mv| 日本a级片电影一区二区| 国产日韩三级| 欧美这里只有精品| 国产一区二区不卡老阿姨| 精品伦精品一区二区三区视频密桃 | 日韩欧美国产成人精品免费| 欧美熟乱第一页| av亚洲在线| 国产精品久久久久久久久免费看| 玖玖精品一区| 正在播放一区二区三区| 蜜桃视频在线观看一区| 非洲一级黄色片| 一区二区在线观看免费视频播放| 日本熟女毛茸茸| 亚洲美女黄色片| 波多野结衣久久精品| 欧美不卡三区| 玖玖在线精品| 亚洲欧美日韩第一页| 欧美色窝79yyyycom| 1024免费在线视频| 91精品国产综合久久香蕉的用户体验 | 日韩欧美精品在线观看| 男人的天堂av高清在线| 国产成人精品久久久| 日韩理论电影大全| 精品久久久99| 一区二区三区四区国产精品| 亚洲精品一区二区三区不卡| 欧美激情免费在线| 欧美三级午夜理伦三级小说| 天天操天天干天天玩| 国产精品18久久久久久久久| 欧美精品乱码视频一二专区| 精品国产91亚洲一区二区三区婷婷| 永久免费在线观看视频| 国产一区视频在线| 激情综合网址| 亚洲天堂久久新| 欧美日韩性生活| 污视频网站免费在线观看| 久草热久草热线频97精品| 肉丝袜脚交视频一区二区| 91麻豆精品成人一区二区| 精品国产凹凸成av人网站| 色呦呦在线看| 蜜桃久久影院| 激情综合色播激情啊| 国产亚洲欧美精品久久久久久| 91精品国产综合久久婷婷香蕉 | 国产精品女同互慰在线看| 国产色片在线观看| 18一19gay欧美视频网站| 日韩成人影院| 国产香蕉精品视频| 欧美中文字幕一区二区三区亚洲| 国产小视频福利在线| 亚洲www永久成人夜色| 香蕉久久国产| 五月天激情丁香| 亚洲免费人成在线视频观看| 视频91a欧美| 亚洲 高清 成人 动漫| 国产精品看片你懂得| 老熟妇高潮一区二区高清视频| 欧美激情精品在线| 国产成人一区二区三区影院| 中文字幕人妻无码系列第三区| 一区二区三区四区国产精品| 黄色毛片在线观看| 国产精品视频免费一区二区三区| 日韩视频一区| 少妇aaaaa| 国产香蕉97碰碰久久人人| 黄色美女久久久| 久久精品99国产|