您好,登錄后才能下訂單哦!
不管做什么事情,我們都需要做好充足的準備。蓋房子需要打地基,根基不穩地動山搖。我們學習也一樣,所以我們想學好一個東西必須根基要打牢。好了廢話不多說了,我們來打下prometheus的根基。
##數據模型
prometheus存儲是時序數據(time-series),即按照相同時許(相同的名字和標簽),以時間維度存儲連續的數據的集合。
時序(time series)是由名字(metrice),以及一組key/value
標簽定義的,具有相同的名字以及標簽屬于同一時間序列。
時序的名字有ASCLL字符,數字,下劃線,以及冒號組成,它必須滿足正則表達式[a-zA-Z_:][a-zA-Z0-9_:]*
,其名字因該具有語義化(看到名字就知道這個抓取的是什么值),一般表示一個可以度量的指標,例如:http_requset_total
,表示http的總請求數。
時序的標簽可以使prometheus的數據更加豐富,能夠區分具體不同的實例,例如http_requests_total{method="POST"}
,可以表示所有的POST請求。
標簽名稱有ASCLL字符,數字,以及下劃線組成,其中_
開頭的屬于prometheus保留,標簽的只可以是任何ubicode字符,支持中文
按照莫哥時序以時間維度采集的數據,稱之為樣本,其值包含:
prometheus 時序格式 與OPenTSDB相似
<metric name>{<label name>=<label value>,....}
其中包含時序名字以及時序的標簽。
獲取的數值,只增加(減少),理想狀態下是不會減少(增加)的。我們往往用它記錄服務的請求總量,錯誤總數
最簡單的度量指標,只有一個簡單的返回值,或者叫做瞬時狀態,例如:監控硬盤或者內存的使用量,在當前時間只有一個值,因為硬盤的容量和內存的使用量是隨著時間的推移不斷變化,沒有規律可循
統計數據的分布情況,比如最大值,最小值,中間值還有中位數,75百分位,這是一種特殊的metrics數據類型,代表的是一種近似百分比
summary和histogram類似,由<basename>{quantile="<>"}
,<basename>_sum
,<basename>_count
組成,主要用于表示一段時間內數據采樣結果(通常是請求持續時間或響應大小),它直接存儲了quantile數據,而不是根據統計出區間計算出來的
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。