《Google監控系統BorgMon相似實現普羅米修斯Prometheus(一)》要點:
本文介紹了Google監控系統BorgMon相似實現普羅米修斯Prometheus(一),希望對您有用。如果有疑問,可以聯系我們。
最近一直在折騰時序類型的數據庫,經過一段時間項目應用,覺得十分不錯.而Prometheus又是剛剛推出不久的開源方案,中文資料較少,所以打算寫一系列應用的實踐過程分享一下.
Prometheus是一套開源的監控&報警&時間序列數據庫的組合,起始是由SoundCloud公司開發的.隨著發展,越來越多公司和組織接受采用Prometheus,社會也十分活躍,他們便將它獨立成開源項目,并且有公司來運作.google SRE的書內也曾提到跟他們BorgMon監控系統相似的實現是Prometheus.現在最常見的Kubernetes容器管理系統中,通常會搭配Prometheus進行監控.
等等
相對于Graphite這種產品,還是有不少優點的.最讓我覺得不錯的是非常優秀的寫性能和讀取性能,它數據結構實現和OpenTSDB是有相似之處,有興趣可以看看這個文檔.解密OpenTSDB的表存儲優
它的服務過程是這樣的 Prometheus daemon 負責定時去目標上抓取 metrics(指標) 數據,每個抓取目標需要暴露一個http服務的接口給它定時抓取.
Prometheus支持通過配置文件、文本文件、zookeeper、Consul、DNS SRV lookup等方式指定抓取目標.
Alertmanager 是獨立于Prometheus的一個組件,可以支持Prometheus的查詢語句,提供十分靈活的報警方式.
Prometheus支持很多方式的圖表可視化,例如十分精美的Grafana,自帶的Promdash,以及自身提供的模版引擎等等,還提供HTTP API的查詢方式,自定義所需要的輸出.
PushGateway這個組件是支持Client主動推送 metrics 到PushGateway,而Prometheus只是定時去Gateway上抓取數據.
如果有使用過statsd的用戶,則會覺得這十分相似,只是statsd是直接發送給服務器端,而Prometheus主要還是靠進程主動去抓取.
Prometheus 從根本上所有的存儲都是按時間序列去實現的,相同的 metrics(指標名稱) 和 label(一個或多個標簽) 組成一條時間序列,不同的label表示不同的時間序列.為了支持一些查詢,有時還會臨時產生一些時間序列存儲.
每條時間序列是由唯一的 指標名稱 和 一組 標簽 (key=value)的形式組成.
指標名稱 一般是給監測對像起一名字,例如 http_requests_total 這樣,它有一些命名規則,可以包字母數字_之類的的.
通常是以應用名稱開頭_監測對像_數值類型_單位這樣.
例如:
標簽 就是對一條時間序列不同維度的識別了,例如 一個http請求用的是POST還是GET,它的endpoint是什么,這時候就要用標簽去標記了.
最終形成的標識便是這樣了
http_requests_total{method=”POST”,endpoint=”/api/tracks”}
記住,針對http_requests_total這個metrics name 無論是增加標簽還是刪除標簽都會形成一條新的時間序列.
查詢語句就可以跟據上面標簽的組合來查詢聚合結果了.
如果以傳統數據庫的理解來看這條語句,則可以考慮 http_requests_total是表名,標簽是字段,而timestamp是主鍵,還有一個float64字段是值了.(Prometheus里面所有值都是按float64存儲)
例如:http_response_total{method=”GET”,endpoint=”/api/tracks”} 100
10秒后抓取 http_response_total{method=”GET”,endpoint=”/api/tracks”} 100
例如: memory_usage_bytes{host=”master-01″} 100 < 抓取值
memory_usage_bytes{host=”master-01″} 30
memory_usage_bytes{host=”master-01″} 50
memory_usage_bytes{host=”master-01″} 80 < 抓取值
例如:{小于10=5次,小于20=1次,小于30=2次},count=7次,sum=7次的求和值
下一章說說Prometheus安裝過程.
原文出處:http://www.cnblogs.com/vovlie/p/Prometheus_CONCEPTS.html
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4347.html