Prometheus 快速入門教程(五):Prometheus 的關鍵概念


文章首發於【陳樹義】公眾號,點擊跳轉到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw

前面幾篇文章,我們單刀直入地講解了 Prometheus 能做什么。接着用一個例子來讓大家知道如何使用 Prometheus,以及如何進行告警配置。最后,還用了一篇文章來講解如何進行圖表配置。但是 Prometheus 里面也有一些關鍵性的概念,理解這些概念有利於我們后續更深入的學習。

Metric 指標

在 Prometheus 中,我們所有的信息都以 Metrics(指標) 的形式存在。

Metrics 由 metric name 和 label name 組成。

<metric name>{<label name>=<label value>, ...}

例如下面的 api_http_requests_total 就是 metrics name(指標名稱),而 method 就是 label name(標簽)。而 metric name 加上 label name 就是一個完整的 Metric。

api_http_requests_total{method="POST", handler="/messages"}

Metric Type 指標類型

Prometheus 中主要有四種不同的指標類型,用來適應不同的指標類型。

  • counter 計數器
  • gauges 計量器
  • histogram 柱狀圖
  • summary 匯總

counter 計數器

數據從 0 開始累計,理想狀態下應該是永遠增長或者是不變。

適用於例如機器開機時間、HTTP 訪問量等數值。

gauges 量器

獲取一個返回值,采集回來是多少就是多少。數值可能升高,也可能降低。

適用於例如硬盤容量、CPU 內存使用率等數值。

histogram 柱狀圖

counter 和 gauges 反應的是數值的情況,而 histogram 則是反應數值的分布情況。

histogram 柱狀圖反映了樣本的區間分布梳理,經常用來表示請求持續時間、響應大小等信息。

例如我們 1 分鍾內有 1000 個 http 請求,我們想要知道大多數的請求耗時是多少。這時我們使用評價耗時可能不太准,但是我們使用 histogram 柱狀圖就可以看出這些請求大多數都是分布在哪個耗時區間。

Summary 匯總

文章首發於【陳樹義】公眾號,點擊跳轉到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw

柱狀圖同樣表示樣本的分布情況,與 Histogram 類似,其會有總數、數量表示。但其多了一個是中位數的表示。 常用來表示類似於:請求持續時間、響應大小的信息。

Histogram 與 summary

為了區分是平均的慢還是長尾的慢,最簡單的方式就是按照請求延遲的范圍進行分組。例如,統計延遲在010ms之間的請求數有多少而1020ms之間的請求數又有多少。通過這種方式可以快速分析系統慢的原因。Histogram和Summary都是為了能夠解決這樣問題的存在,通過Histogram和Summary類型的監控指標,我們可以快速了解監控樣本的分布情況。

Histogram 指標直接反應了在不同區間內樣本的個數,區間通過標簽len進行定義。而 summary 則是使用中位數反映樣本的情況。

任務(Job)和實例(Instance)

在 Prometheus 中抓取數據的應用叫做實例(Instance),而幾個為了同個目的的實例組合起來稱之為任務(Job)。例如下面是一個有4個實例的服務工作。

job: api-server  // 名為api-server的job
    instance 1: 1.2.3.4:5670  
    instance 2: 1.2.3.4:5671  
    instance 3: 5.6.7.8:5670
    instance 4: 5.6.7.8:5671

文章首發於【陳樹義】公眾號,點擊跳轉到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw

總結

這篇文章我們介紹了 Prometheus 的幾個關鍵概念:

  • Metric 指標
  • Metric Type 指標類型
  • 工作(Job)和實例(Instance)

它們之間的關系如下圖所示:

一個任務(Job)可以有多個實例(Instance),一個實例上可以有多個指標(Metric),一個指標只會有一個指標類型(Metric Type)。

文章首發於【陳樹義】公眾號,點擊跳轉到原文:https://mp.weixin.qq.com/s/_eLAnJC6yKjeS4dvpBMdJw


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM