prometheus監控實戰 資料

2022-07-08 23:48:14 字數 1752 閱讀 3896

1 prometheus資料儲存方式

prometheus才用time-series(時間序列)的方式以一種自定義格式儲存在本地硬碟,本地tsdb以每兩小時為間隔來分block(塊)儲存,每一塊又分為多個chunk檔案,chunk檔案存放著採集的t-s資料,metadata和索引檔案(index)

index檔案是對metrics(prometheus中一次k/v採集資料叫做乙個metrics)和labels進行索引,之後儲存在chunk,chunk作為儲存的基本單位

prometheus平時將採集的資料先都存在記憶體中,以類似快取的方式用於加快搜尋和訪問,當出現宕機時,prometheus的保護機制wal可以將資料定期存入硬碟chunk中,並在重新啟動時恢復到記憶體中

通過啟動引數--storage.tsdb.path=「/data」指定tsdb路徑,即採集資料存放路徑,wal目錄下資料相當於對存放在記憶體中的近期資料的冷備

2 prometheus資料採集方式

prometheus的客戶端主要有兩種採集方式

pull主動拉取和push被動推送

pull:被監控主機先安裝各類exporters,exporter以守護程序方式執行,在主機系統上採集資料

exporter本身也是乙個http_server,可以對htp請求作出相應,返回資料(k/v metrics)

prometheus server通過pull方式(http get)去訪問每個節點上的exporter並取樣回需要的資料

push:客戶端或者服務端安裝pushgateway外掛程式,使用運維自行開發的各種指令碼把監控資料組織成k/v的形式 metrics形式傳送給pushgateway,之後pushgateway再推送給prometheus

3 prometheus資料格式

prometheus監控中對於監控過來的資料統稱為metrics資料

metrics是一種對取樣資料的總稱(metrics並不代表具體的資料格式,是一種對於度量計算單位的抽象)

metrics的幾種資料型別:

gauges:最簡單的度量指標,只有乙個簡單的返回值(瞬時狀態)

例如監控磁碟或者記憶體的使用量,那麼就應該使用gauges格式來度量

counts: 從資料量為0開始累積計算,在理想狀態下只能永遠增長,不會降低

例如對使用者訪問量的取樣資料

histograms:統計資料的分布情況,比如最小值、最大值、中間值,還有中位數,75百分位,90百分位,95百分位,98百分位,99百分位,99.9百分位的值,代表的是一種近似的百分比估值

例如http_response_time(http響應時間)代表是一次使用者http請求在系統傳輸和執行過程中總共花費的時間

通過histogram型別可以分別統計出全部使用者的響應時間中=0.05秒的有多少,00.05秒的有多少,>2秒的有多少

4 metrics

通過http訪問監控節點埠可得到export採集到的實時metrics資料,以k/v的形式展現和儲存

curl localhost:9100/metrics
go_gc_duration_seconds 2.1286e-05
prometheus的每條指標資料由指標名稱和指標標籤(鍵值對)來標識,如下:

Prometheus 監控節點

tar xf node exporter 0.18.1.linux amd64.tar.gz cd node exporter 0.18.1.linux amd64 cp node exporter usr local bin 檢視版本 root server03 media prometheus ...

prometheus監控exporter部署

harbor exporter docker run d p 9107 9107 restart always network harbor harbor add host mec hub.21cn.com x.x.x.x e harbor username admin e harbor passw...

安裝prometheus監控

github位址包含docker compose安裝方法 元件介紹 prometheus server 包含資料採集scrapes job,stores time series data push gateway prometheus server的乙個 節點,當一些節點沒有提供http endpo...