Prometheus的基本術語
一、時間序列
1.1 時間序列數據庫
Prometheus會將所有采集到的樣本數據以時間序列(time·series)的方式保存在內存數據庫中,并且定時保存到硬盤上。
1.2 時間序列的概念
時間序列指在連續等間隔的時間點上獲取的數據值,存儲時間序列數據的數據庫稱為時間序列數據庫Time Series Database(TSDB),時間序列數據庫特點是寫遠大于讀,并且寫入平穩,基本不會涉及更新操作,
1.3 時間序列的主要名詞
指標(metric):metric name和描述當前樣本特征的labelsets;

時間戳(timestamp):一個精確到毫秒的時間截:
樣本值(value):一個folat64的浮點型數據表示當前樣本的值。
prometheus的metric的樣例:

<hr>
二、指標Metrics的四種類型
Prometheus 客戶端庫主要提供四種主要的 指標metric 類型:
1.Counter(計數器):一種累加的metric,典型的應用如:請求的個數,結束的任務數,出現的錯誤數等等。

2.Gauge(儀表盤):一種常規的metric,儀表盤,類似折線圖,典型的應用如:溫度、內存使用率,運行的 goroutines 的個數,可以任意加減。

3.Histogram(直方圖):可以理解為柱狀圖,典型的應用如:請求持續時間,響應大
小,可以對觀察結果采樣,分組及統計。
4.Summary(摘要):類似于Histogram,典型的應用如:請求持續時間,響應大小,提供觀測值的 count 和 sum 功能,提供百分位的功能,即可以按百分比劃分跟蹤結果。
prometheus主要用于監控 web 應用一需要暴露 metrics 端點,也可以監控服務器
<hr>
三、監控的四個黃金指標
4個黃金指標可以在服務級別幫助衡量終端用戶體驗、服務中斷、業務影響等層面的問題。主要關注與以下四種類型的指標:挺遲,通訊量,錯誤以及飽和度:
1.延遲:服務請求所需時間。
記錄用戶所有請求所需的時間,重點是要區分成功請求的延遲時間和失敗請求的延遲時間。例如在數據庫或者其他關鍵禍端服務異常觸發HTTP500的情況下,用戶也可能會很快得到請求失敗的響應內容,如果不加區分計算這些請求的延遲,可能導致計算結果與實際結果產生巨大的差異。除此以外,在微服務中通常提“快速失敗",開發人員需要特別注意這些延遲較大的錯誤,因為這些緩慢的錯誤會明顯影響系統的性能,因此追蹤這些錯誤的延遲也是非常重要的。
2.通訊量:監控當前系統的流量,用于衡量服務的容量需求。
申流量對于不同類型的系統而言可能代表不同的含義。例如,在HTTPRESTAPI中,流量通
常是每秒HTTP請求數;。錯誤:監控當前系統所有發生的錯誤請求,衡量當前系統錯誤發生的速率。對于失敗而言有些是顯式的(比如,HTTP 500錯誤),而有些是隱式(比如,HTTP響應200,單實際業務流程依然是失敗的)。對于一些顯式的錯誤如HTTP500可以通過在負載均衡器(如Nginx)上進行捕獲,而對于一些系統內部的異常,則可能需要直接從服務中添加鉤子統計并進行獲取。
3.飽和度:衡量當前服務的飽和度。
主要強調最能影響服務狀態的受限制的資源。例如,如果系統主要受內存影響,那就主要關注系統的內存狀態,如果系統主要受限與磁盤I/0,那就主要觀測磁盤I/0的狀態。因為通常情況下,當這些資源達到飽和后,服務的性能會明顯下降。同時還可以利用飽和度對系統做出預測,比如,“磁盤是否可能在4個小時候就滿了”。
4.RED方法
RED方法是Weave Cloud在基于Google的“4個黃金指標”的原則下結合Prometheus以及容器實踐,細化和總結的方法論,特別適合于云原生應用以及微服務架構應用的監控和度量。主要關注以下三種關鍵指標:
1.(請求)速率:服務每秒接收的請求數。
2.(請求)錯誤:每秒失敗的請求數。
3.(請求)耗時:每個請求的耗時。
在“4大黃金信號”的原則下,RED方法可以有效的幫助用戶衡量云原生以及微服務應用下
的用戶體驗問題
- Prometheus教程
- 一. dokcer 安裝
- 二. 安裝docker-compose
- 三. docker-compose安裝Prometheus
- 四. 配置grafana的數據源
- 五. Prometheus的Exporter
- 六. Prometheus的基本術語
- 七. 監控Linux
- 八. 監控redis和mongodb
- 九. 監控mysql數據庫
- 十. 監控go程序
- 十一. 監控nginx
- 十二. 監控消息隊列
- 十三. 監控docker
- 十四. 監控進程
- 十五. 域名監控
- 十六. SNMP監控
- 十七. 黑盒監控
- 十八. 自定義監控
- 十九. go實現自定義監控
- 二十. 服務發現概述
- 二十一. 基于文件的服務發現
- 二十二. 基于Consul的服務發現
- 二十三. relabeling機制