Prometheus是什么

今天就跟大家聊聊有關(guān)Prometheus是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),松滋企業(yè)網(wǎng)站建設(shè),松滋品牌網(wǎng)站建設(shè),網(wǎng)站定制,松滋網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,松滋網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Prometheus 是什么?

Prometheus是一套開(kāi)源的監(jiān)控&報(bào)警&時(shí)間序列數(shù)據(jù)庫(kù)的組合,起始是由SoundCloud公司開(kāi)發(fā)的。隨著發(fā)展,越來(lái)越多公司和組織接受采用Prometheus,社會(huì)也十分活躍,他們便將它獨(dú)立成開(kāi)源項(xiàng)目,并且有公司來(lái)運(yùn)作。google SRE的書內(nèi)也曾提到跟他們BorgMon監(jiān)控系統(tǒng)相似的實(shí)現(xiàn)是Prometheus。現(xiàn)在最常見(jiàn)的Kubernetes容器管理系統(tǒng)中,通常會(huì)搭配Prometheus進(jìn)行監(jiān)控。

Prometheus 的優(yōu)點(diǎn)
  • 非常少的外部依賴,安裝使用超簡(jiǎn)單

  • 已經(jīng)有非常多的系統(tǒng)集成 例如:docker HAProxy Nginx JMX等等

  • 服務(wù)自動(dòng)化發(fā)現(xiàn)

  • 直接集成到代碼

  • 設(shè)計(jì)思想是按照分布式、微服務(wù)架構(gòu)來(lái)實(shí)現(xiàn)的

Prometheus 的特性
  • 自定義多維度的數(shù)據(jù)模型

  • 非常高效的存儲(chǔ) 平均一個(gè)采樣數(shù)據(jù)占 ~3.5 bytes左右,320萬(wàn)的時(shí)間序列,每30秒采樣,保持60天,消耗磁盤大概228G。

  • 強(qiáng)大的查詢語(yǔ)句

  • 輕松實(shí)現(xiàn)數(shù)據(jù)可視化

等等

相對(duì)于Graphite這種產(chǎn)品,還是有不少優(yōu)點(diǎn)的。最讓我覺(jué)得不錯(cuò)的是非常優(yōu)秀的寫性能和讀取性能,它數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)和OpenTSDB是有相似之處,有興趣可以看看這個(gè)文檔。解密OpenTSDB的表存儲(chǔ)優(yōu)

Prometheus 的系統(tǒng)架構(gòu)

Prometheus是什么

它的服務(wù)過(guò)程是這樣的 Prometheus daemon 負(fù)責(zé)定時(shí)去目標(biāo)上抓取 metrics(指標(biāo)) 數(shù)據(jù),每個(gè)抓取目標(biāo)需要暴露一個(gè)http服務(wù)的接口給它定時(shí)抓取。
Prometheus支持通過(guò)配置文件、文本文件、zookeeper、Consul、DNS SRV lookup等方式指定抓取目標(biāo)。
Alertmanager 是獨(dú)立于Prometheus的一個(gè)組件,可以支持Prometheus的查詢語(yǔ)句,提供十分靈活的報(bào)警方式。
Prometheus支持很多方式的圖表可視化,例如十分精美的Grafana,自帶的Promdash,以及自身提供的模版引擎等等,還提供HTTP API的查詢方式,自定義所需要的輸出。
PushGateway這個(gè)組件是支持Client主動(dòng)推送 metrics 到PushGateway,而Prometheus只是定時(shí)去Gateway上抓取數(shù)據(jù)。

如果有使用過(guò)statsd的用戶,則會(huì)覺(jué)得這十分相似,只是statsd是直接發(fā)送給服務(wù)器端,而Prometheus主要還是靠進(jìn)程主動(dòng)去抓取。

Prometheus 的數(shù)據(jù)模型

Prometheus 從根本上所有的存儲(chǔ)都是按時(shí)間序列去實(shí)現(xiàn)的,相同的 metrics(指標(biāo)名稱) 和 label(一個(gè)或多個(gè)標(biāo)簽) 組成一條時(shí)間序列,不同的label表示不同的時(shí)間序列。為了支持一些查詢,有時(shí)還會(huì)臨時(shí)產(chǎn)生一些時(shí)間序列存儲(chǔ)。

metrics name & label 指標(biāo)名稱和標(biāo)簽

每條時(shí)間序列是由唯一的 指標(biāo)名稱 和 一組 標(biāo)簽 (key=value)的形式組成。
指標(biāo)名稱 一般是給監(jiān)測(cè)對(duì)像起一名字,例如 http_requests_total 這樣,它有一些命名規(guī)則,可以包字母數(shù)字_之類的的。
通常是以應(yīng)用名稱開(kāi)頭_監(jiān)測(cè)對(duì)像_數(shù)值類型_單位這樣。
例如:

  1. push_total

  2. userlogin_MySQL_duration_seconds

  3. app_memory_usage_bytes

標(biāo)簽 就是對(duì)一條時(shí)間序列不同維度的識(shí)別了,例如 一個(gè)http請(qǐng)求用的是POST還是GET,它的endpoint是什么,這時(shí)候就要用標(biāo)簽去標(biāo)記了。
最終形成的標(biāo)識(shí)便是這樣了

http_requests_total{method="POST",endpoint="/api/tracks"}

記住,針對(duì)http_requests_total這個(gè)metrics name 無(wú)論是增加標(biāo)簽還是刪除標(biāo)簽都會(huì)形成一條新的時(shí)間序列。
查詢語(yǔ)句就可以跟據(jù)上面標(biāo)簽的組合來(lái)查詢聚合結(jié)果了。
如果以傳統(tǒng)數(shù)據(jù)庫(kù)的理解來(lái)看這條語(yǔ)句,則可以考慮 http_requests_total是表名,標(biāo)簽是字段,而timestamp是主鍵,還有一個(gè)float64字段是值了。(Prometheus里面所有值都是按float64存儲(chǔ))

Prometheus 的四種數(shù)據(jù)類型

Counter
  • Counter 用于累計(jì)值,例如 記錄 請(qǐng)求次數(shù)、任務(wù)完成數(shù)、錯(cuò)誤發(fā)生次數(shù)。

  • 一直增加,不會(huì)減少。

  • 重啟進(jìn)程后,會(huì)被重置。

例如:http_response_total{method="GET",endpoint="/api/tracks"} 100
10秒后抓取 http_response_total{method="GET",endpoint="/api/tracks"} 100

Gauge
  • Gauge 常規(guī)數(shù)值,例如 溫度變化、內(nèi)存使用變化。

  • 可變大,可變小。

  • 重啟進(jìn)程后,會(huì)被重置

例如: 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 < 抓取值

Histogram
  • Histogram 可以理解為柱狀圖的意思,常用于跟蹤事件發(fā)生的規(guī)模,例如:請(qǐng)求耗時(shí)、響應(yīng)大小。它特別之處是可以對(duì)記錄的內(nèi)容進(jìn)行分組,提供 count 和 sum 全部值的功能。

    例如:{小于10=5次,小于20=1次,小于30=2次},count=7次,sum=7次的求和值

Prometheus是什么

Summary
  • Summary和Histogram十分相似,常用于跟蹤事件發(fā)生的規(guī)模,例如:請(qǐng)求耗時(shí)、響應(yīng)大小。同樣提供 count 和 sum 全部值的功能。

  • 例如:count=7次,sum=7次的值求值

  • 它提供一個(gè)quantiles的功能,可以按%比劃分跟蹤的結(jié)果。例如:quantile取值0.95,表示取采樣值里面的95%數(shù)據(jù)。

看完上述內(nèi)容,你們對(duì)Prometheus是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享文章:Prometheus是什么
網(wǎng)站網(wǎng)址:http://bm7419.com/article40/gocdeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站建設(shè)品牌網(wǎng)站制作、網(wǎng)站排名、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)