0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

普羅米修斯:接近完美的監(jiān)控系統(tǒng)

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-17 11:44 ? 次閱讀

普羅米修斯(Prometheus)是一個(gè)SoundCloud公司開源的監(jiān)控系統(tǒng)。當(dāng)年,由于SoundCloud公司生產(chǎn)了太多的服務(wù),傳統(tǒng)的監(jiān)控已經(jīng)無(wú)法滿足監(jiān)控需求,于是他們?cè)?012年決定著手開發(fā)新的監(jiān)控系統(tǒng),即普羅米修斯。

普羅米修斯(下稱普羅)的作者 Matt T.Proud 在2012年加入SoundCloud公司,他從google的監(jiān)控系統(tǒng)Borgmon中獲得靈感,與另一名工程師Julius Volz合作開發(fā)了開源的普羅,后來其他開發(fā)人員陸續(xù)加入到該項(xiàng)目,最終于2015年正式發(fā)布。

普羅基于Go語(yǔ)言開發(fā),其架構(gòu)圖如下:

圖片

其中:

  • Prometheus Server: 用數(shù)據(jù)的采集和存儲(chǔ),PromQL查詢,報(bào)警配置。
  • Push gateway: 用于批量,短期的監(jiān)控?cái)?shù)據(jù)的匯報(bào)總節(jié)點(diǎn)。
  • Exporters: 各種匯報(bào)數(shù)據(jù)的exporter,例如匯報(bào)機(jī)器數(shù)據(jù)的node_exporter,匯報(bào)MondogDB信息的 MongoDB_exporter 等等。
  • Alertmanager: 用于高級(jí)通知管理。

1.怎么采集監(jiān)控?cái)?shù)據(jù)?

要采集目標(biāo)(主機(jī)或服務(wù))的監(jiān)控?cái)?shù)據(jù),首先就要在被采集目標(biāo)上安裝采集組件,這種采集組件被稱為Exporter。prometheus.io官網(wǎng)上有很多這種exporter,比如:

Consul exporter ( official )
Memcached exporter ( official )
MySQL server exporter ( official )
Node/system metrics exporter ( official )
HAProxy exporter ( official )
RabbitMQ exporter
Grok exporter
InfluxDB exporter ( official )

這些exporter能為我們采集目標(biāo)的監(jiān)控?cái)?shù)據(jù),然后傳輸給普羅米修斯。這時(shí)候,exporter會(huì)暴露一個(gè)http接口,普羅米修斯通過HTTP協(xié)議使用Pull的方式周期性拉取相應(yīng)的數(shù)據(jù)。

不過,普羅也提供了Push模式來進(jìn)行數(shù)據(jù)傳輸,通過增加 Push Gateway這個(gè)中間商實(shí)現(xiàn) ,你可以將數(shù)據(jù)推送到Push Gateway,普羅再通過Pull的方式從Push Gateway獲取數(shù)據(jù)。

這就是為什么你從架構(gòu)圖里能看到兩個(gè) Pull metrics 的原因,一個(gè)是采集器直接被Server拉取數(shù)據(jù)(pull);另一個(gè)是采集器主動(dòng)Push數(shù)據(jù)到Push Gateway,Server再對(duì)Push Gateway主動(dòng)拉取數(shù)據(jù)(pull)。

采集數(shù)據(jù)的主要流程如下:

  1. Prometheus server 定期從靜態(tài)配置的主機(jī)或服務(wù)發(fā)現(xiàn)的 targets 拉取數(shù)據(jù)(zookeeper,consul,DNS SRV Lookup等方式)
  2. 當(dāng)新拉取的數(shù)據(jù)大于配置內(nèi)存緩存區(qū)的時(shí)候,Prometheus會(huì)將數(shù)據(jù)持久化到磁盤,也可以遠(yuǎn)程持久化到云端。
  3. Prometheus通過PromQL、API、Console和其他可視化組件如Grafana、Promdash展示數(shù)據(jù)。
  4. Prometheus 可以配置rules,然后定時(shí)查詢數(shù)據(jù),當(dāng)條件觸發(fā)的時(shí)候,會(huì)將告警推送到配置的Alertmanager。
  5. Alertmanager收到告警的時(shí)候,會(huì)根據(jù)配置,聚合,去重,降噪,最后發(fā)出警告。

2.采集的數(shù)據(jù)結(jié)構(gòu)與指標(biāo)類型

2.1 數(shù)據(jù)結(jié)構(gòu)

了解普羅米修斯的數(shù)據(jù)結(jié)構(gòu)對(duì)于了解整個(gè)普羅生態(tài)非常重要。普羅采用鍵值對(duì)作為其基本的數(shù)據(jù)結(jié)構(gòu):

圖片

Key是指標(biāo)名字,Value是該指標(biāo)的值,此外Metadata(元信息)也非常重要,也可稱之為labels(標(biāo)簽信息)。這些標(biāo)簽信息指定了當(dāng)前這個(gè)值屬于哪個(gè)云區(qū)域下的哪臺(tái)機(jī)器,如果沒有l(wèi)abels,數(shù)據(jù)有可能會(huì)被丟失。

2.2 指標(biāo)類型

普羅米修斯的監(jiān)控指標(biāo)有4種基本類型:

1 . Counter (計(jì)數(shù)器 ):

計(jì)數(shù)器是我們最簡(jiǎn)單的指標(biāo)類型。比如你想統(tǒng)計(jì)某個(gè)網(wǎng)站的HTTP錯(cuò)誤總數(shù),這時(shí)候就用計(jì)數(shù)器。

計(jì)數(shù)器的值只能增加或重置為0,因此特別適合計(jì)算某個(gè)時(shí)段上某個(gè)時(shí)間的發(fā)生次數(shù),即指標(biāo)隨時(shí)間演變發(fā)生的變化。

2.Gauges

Gauges可以用于處理隨時(shí)間增加或減少的指標(biāo),比如內(nèi)存變化、溫度變化。

這可能是最常見的指標(biāo)類型,不過它也有一定缺點(diǎn):如果系統(tǒng)每5秒發(fā)送一次指標(biāo),普羅服務(wù)每15秒抓取一次數(shù)據(jù),那么這期間可能會(huì)丟失一些指標(biāo),如果你基于這些數(shù)據(jù)做匯總分析計(jì)算,則結(jié)果的準(zhǔn)確性會(huì)有所下滑。

3.Histogram(直方圖 )

直方圖是一種更復(fù)雜的度量標(biāo)準(zhǔn)類型。它為我們的指標(biāo)提供了額外信息,例如觀察值的總和及其數(shù)量,常用于跟蹤事件發(fā)生的規(guī)模。

比如,為了監(jiān)控性能指標(biāo),我們希望在有20%的服務(wù)器請(qǐng)求響應(yīng)時(shí)間超過300毫秒時(shí)發(fā)送告警。對(duì)于涉及比例的指標(biāo)就可以考慮使用直方圖。

4.Summary(摘要)

摘要更高級(jí)一些,是對(duì)直方圖的擴(kuò)展。除了提供觀察的總和和計(jì)數(shù)之外,它們還提供滑動(dòng)窗口上的分位數(shù)度量。分位數(shù)是將概率密度劃分為相等概率范圍的方法。

對(duì)比直方圖:

  1. 直方圖隨時(shí)間匯總值,給出總和和計(jì)數(shù)函數(shù),使得易于查看給定指標(biāo)的變化趨勢(shì)。
  2. 而摘要?jiǎng)t給出了滑動(dòng)窗口上的分位數(shù)(即隨時(shí)間不斷變化)。

3.實(shí)例概念

隨著分布式架構(gòu)的不斷發(fā)展和云解決方案的普及,現(xiàn)在的架構(gòu)已經(jīng)變得越來越復(fù)雜了。

分布式的服務(wù)器復(fù)制和分發(fā)成了日常架構(gòu)的必備組件。我們舉一個(gè)經(jīng)典的Web架構(gòu),該架構(gòu)由3個(gè)后端Web服務(wù)器組成。在該例子中,我們要監(jiān)視Web服務(wù)器返回的HTTP錯(cuò)誤的數(shù)量。

使用普羅米修斯語(yǔ)言,單個(gè)Web服務(wù)器單元稱為實(shí)例(主機(jī)實(shí)例)。該任務(wù)是計(jì)算所有實(shí)例的HTTP錯(cuò)誤數(shù)量。

圖片

事實(shí)上,這甚至可以說是最簡(jiǎn)單的架構(gòu)了,再?gòu)?fù)雜一點(diǎn),實(shí)例不僅能是主機(jī)實(shí)例,還能是服務(wù)實(shí)例,因此你需要增加一個(gè)instance_type的標(biāo)簽標(biāo)記主機(jī)或服務(wù)。

再再?gòu)?fù)雜一點(diǎn),同樣的IP,可能存在于不同云區(qū)域下,這屬于不同的機(jī)器,因此還需要一個(gè)cloud標(biāo)簽,最終該數(shù)據(jù)結(jié)構(gòu)可能會(huì)變?yōu)椋?/p>

cpu_usage {job="1", instance="128.0.0.1", cloud="0", instance_type="0"}

4.數(shù)據(jù)可視化

如果使用過基于InfluxDB的數(shù)據(jù)庫(kù),你可能會(huì)熟悉InfluxQL。普羅米修斯也內(nèi)置了自己的SQL查詢語(yǔ)言用于查詢和檢索數(shù)據(jù),這個(gè)內(nèi)置的語(yǔ)言就是PromQL。

我們前面說過,普羅米修斯的數(shù)據(jù)是用鍵值對(duì)表示的。PromQL也用相同的語(yǔ)法查詢和返回結(jié)果集。

PromQL會(huì)處理兩種向量:

即時(shí)向量:表示當(dāng)前時(shí)間,某個(gè)指標(biāo)的數(shù)據(jù)向量。

時(shí)間范圍向量:表示過去某時(shí)間范圍內(nèi),某個(gè)指標(biāo)的數(shù)據(jù)向量。

如針對(duì)8核CPU的使用率:

圖片

知道怎么提取數(shù)據(jù)后,可視化數(shù)據(jù)就簡(jiǎn)單了。

Grafana是一個(gè)大型可視化系統(tǒng),功能強(qiáng)大,可以創(chuàng)建自己的自定義面板,支持多種數(shù)據(jù)來源,當(dāng)然也支持普羅米修斯。

通過配置數(shù)據(jù)源,Grafana會(huì)使用相應(yīng)的SQL拉取并繪制圖表,能直接看到普羅米修斯的各個(gè)指標(biāo)數(shù)據(jù)圖表:

圖片

更方便的是,Grafana有很多儀表盤模板供你使用,只要import模板進(jìn)行簡(jiǎn)單的配置,就能得到以下效果:

圖片

5.應(yīng)用前景

普羅米修斯非常強(qiáng)大,可以應(yīng)用到各行各業(yè)。

5.1 DevOps

為了觀察整個(gè)服務(wù)體系是否在正常運(yùn)轉(zhuǎn),運(yùn)維非常需要監(jiān)控系統(tǒng)。在實(shí)例的創(chuàng)建速度和銷毀速度一樣快的容器世界中,靈活配置各類容器的監(jiān)控項(xiàng)并迅速安裝啟動(dòng)監(jiān)控是非常重要的。

5.2 金融行業(yè)

金融服務(wù)巨頭Northern Trust于2017年6月選擇普羅米修斯,不是為了進(jìn)行應(yīng)用程序的監(jiān)視,而是為了更好地了解其某些硬件的運(yùn)作情況。Northern Trust使用普羅米修斯監(jiān)控其平臺(tái)上的750多種微服務(wù)。

5.3 汽車行業(yè)

Life360是一款用于定位、行車安全和家庭成員之間共享信息的移動(dòng)應(yīng)用程序,他們需要給用戶提供穩(wěn)定的定位服務(wù),而原有的監(jiān)控方案都非常局限,無(wú)法監(jiān)視到所有組件的工作狀態(tài)。

因此該公司使用普羅米修斯來監(jiān)視其MySQL多主群集和一個(gè)12節(jié)點(diǎn)的Cassandra環(huán),該環(huán)可容納約4TB的數(shù)據(jù)。普羅米修斯在初步測(cè)試中表現(xiàn)良好。

在普羅米修斯的有限部署之后,Life360報(bào)告了監(jiān)控方面的巨大進(jìn)步,并設(shè)想在其數(shù)據(jù)中心基礎(chǔ)架構(gòu)的其他部分中使用它。

總而言之,普羅米修斯這樣的分布式監(jiān)控系統(tǒng),在未來的世界中用處可能會(huì)越來越大,它或許將會(huì)成為監(jiān)控領(lǐng)域寡頭式的存在,希望我們能熟悉這個(gè)工具,并在以后的架構(gòu)和實(shí)踐中使用它解決系統(tǒng)和應(yīng)用監(jiān)控的問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6808

    瀏覽量

    88743
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4226

    瀏覽量

    85578
  • 監(jiān)控系統(tǒng)

    關(guān)注

    21

    文章

    3843

    瀏覽量

    173424
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3215

    瀏覽量

    42329
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    普羅米修斯的火種 以色列創(chuàng)新技術(shù)和IoT領(lǐng)域?qū)<乙街袊?guó)創(chuàng)新之都深圳

    創(chuàng)新如同普羅米修斯的火種,為人類文明的延續(xù)與發(fā)展燃起了希望之光。不論是曾震驚世界的中國(guó)古代四大發(fā)明、誕生于美國(guó)硅谷的第一臺(tái)可編程計(jì)算機(jī),還是令沙漠開出花朵的以色列滴灌技術(shù),都體現(xiàn)出了人類在不同時(shí)期
    的頭像 發(fā)表于 11-27 15:29 ?1.8w次閱讀

    速騰聚創(chuàng)首次發(fā)布LiDAR算法 六大模塊助力自動(dòng)駕駛

    、車道標(biāo)識(shí)線檢測(cè)、障礙物檢測(cè)、動(dòng)態(tài)物體跟蹤、障礙物分類識(shí)別等六大功能模塊,有助于自動(dòng)駕駛車輛立刻獲得LiDAR感知能力。今年4月份,速騰聚創(chuàng)宣布啟動(dòng)“普羅米修斯”計(jì)劃,致力于向合作伙伴提供一系列軟硬件
    發(fā)表于 10-13 16:08

    即插即用的自動(dòng)駕駛LiDAR感知算法盒子 RS-Box

    "高精度定位、障礙物識(shí)別、動(dòng)態(tài)物體跟蹤、車道線檢查......"你的智能汽車準(zhǔn)備好升級(jí)L3級(jí)別以上的LiDAR算法方案了嗎?今年4月份,速騰聚創(chuàng)推出「普羅米修斯」計(jì)劃。該計(jì)劃承諾
    發(fā)表于 12-15 14:20

    人工智能的神奇復(fù)活

    了青春,引發(fā)了新一輪研究,例如,公開抓物演示,引起了對(duì)機(jī)器人的恐懼潮,使得人們重新思考系統(tǒng)設(shè)計(jì)的某些門類。 圖1. 就像“現(xiàn)代普羅米修斯”中的怪物,AI通過對(duì)早期概念的修修補(bǔ)補(bǔ)看起來又復(fù)活了。
    發(fā)表于 07-16 09:00

    普羅米修斯芯片布局

    發(fā)表于 02-16 17:48 ?16次下載

    電解液行業(yè)的普羅米修斯什么時(shí)候會(huì)降臨?

    受益新能源車高速發(fā)展,電解液未來需求增速高,或?qū)⒅饾u呈現(xiàn)成長(zhǎng)性。預(yù)計(jì)到2020 年,國(guó)內(nèi)鋰電池需求量有望達(dá)到153GWh,對(duì)應(yīng)電解液需求量22.7 萬(wàn)噸。
    的頭像 發(fā)表于 07-11 10:37 ?2928次閱讀

    數(shù)字貨幣交易平臺(tái)“IX”能做些什么?

    lX是全球首家支持比特幣作為平臺(tái)權(quán)益證明的交易所,持有比特幣的平臺(tái)用戶,按照在平臺(tái)。上的比特幣持有比例分配平臺(tái)的部分收入。比特幣就是區(qū)塊鏈?zhǔn)澜绲?b class='flag-5'>普羅米修斯之火。比特幣的火焰應(yīng)該燃燒在每一個(gè)區(qū)塊鏈信徒的心靈的圣壇之中。這是我們致敬的方式,也是我們時(shí)時(shí)照看初心的方式。
    發(fā)表于 09-25 10:55 ?6234次閱讀

    中通最新油電混合無(wú)人機(jī)完成首飛

    12月7日,中通快遞最新發(fā)布的普羅米修斯1600A油電合物流無(wú)人機(jī)在國(guó)家級(jí)貧困縣陜西旬陽(yáng)完成山區(qū)惡劣天氣條件下首次載貨飛行。
    的頭像 發(fā)表于 12-12 10:58 ?4169次閱讀

    小度在家體驗(yàn) 代表了旗艦標(biāo)桿的水準(zhǔn)

    5月底百度推出了普羅米修斯計(jì)劃—小度校園Open Day活動(dòng)開始在全國(guó)范圍內(nèi)展開,全年計(jì)劃走訪6大城市的10余所高校,同時(shí)選拔高校學(xué)子作為小度在家的體驗(yàn)官。
    的頭像 發(fā)表于 04-12 11:04 ?2349次閱讀

    AI在醫(yī)療領(lǐng)域的潛力露出冰山一角 心血管領(lǐng)域痛點(diǎn)問題或能解決

    電影《普羅米修斯》中有一個(gè)橋段,女主通過全自動(dòng)手術(shù)機(jī)器人取出寄生在體內(nèi)的外星生物。電影展現(xiàn)的醫(yī)療AI,給我們帶來了強(qiáng)烈的視覺震撼與對(duì)未來無(wú)限的遐想!或許某一天電影中的情節(jié)能夠?qū)崿F(xiàn)。
    發(fā)表于 03-27 10:31 ?2144次閱讀

    1G空白、2G跟隨、3G參與、4G追趕,5G同步!中國(guó)移動(dòng)通信發(fā)展史

    在這場(chǎng)如普羅米修斯為人間盜火一般的時(shí)刻里,中國(guó)的有志之士第一次和西方同仁站在了同一起跑線上。
    的頭像 發(fā)表于 03-28 16:17 ?1.9w次閱讀

    部署普羅米修斯(Prometheus)監(jiān)控平臺(tái)前需考慮的六大因素

    企業(yè)在采用容器的同時(shí),也將容器的監(jiān)控問題放在了比較優(yōu)先的位置上,不少企業(yè)使用普羅米修斯(Prometheus)監(jiān)控容器和微服務(wù),對(duì)于規(guī)模企業(yè)通常會(huì)更加激進(jìn),所以當(dāng)他們規(guī)模部署時(shí)將面臨擴(kuò)展的挑戰(zhàn)。
    的頭像 發(fā)表于 09-07 10:16 ?5490次閱讀

    從仿象到仿真,什么才是真實(shí)的世界?

    縱觀人類文明史,可以說,技術(shù)的發(fā)展與人的生存相伴相生。早在古希臘時(shí)代,就有柏拉圖對(duì)于“愛比造人”的技術(shù)源發(fā)性意義的思考。而普羅米修斯為人類盜來的技術(shù)與火種正是人類得以超越自身“缺
    的頭像 發(fā)表于 10-08 14:00 ?1771次閱讀

    人工智能在醫(yī)療影像領(lǐng)域還能走多遠(yuǎn)

    012年,美國(guó)科幻大片《普羅米修斯》中,女主在太空艙里讓機(jī)器人幫自己做剖腹手術(shù)的情節(jié)令人印象深刻。8年后,盡管科幻理想尚未照進(jìn)現(xiàn)實(shí)中的手術(shù)室,人工智能卻已深度介入生命健康管理的各個(gè)階段,在輔助診斷、介入治療、術(shù)后康復(fù)和健康監(jiān)測(cè)等方面不斷打磨醫(yī)療精度。
    的頭像 發(fā)表于 11-29 10:59 ?2975次閱讀

    網(wǎng)龍子公司普羅米推出ActivPanel LX

    其全球領(lǐng)先的課堂技術(shù)子公司普羅米,推出一款價(jià)格較低的互動(dòng)平板ActivPanel LX,為客戶提供更優(yōu)越的易用性及靈活性功能,同時(shí)保證產(chǎn)品的質(zhì)量和使用壽命。隨著這一新產(chǎn)品的推出,普羅米
    的頭像 發(fā)表于 05-05 06:56 ?456次閱讀