Prometheus 是什么

監(jiān)控系統(tǒng)不完全發(fā)展史

監(jiān)控系統(tǒng)的發(fā)展可以粗略地劃分為三個時代猾编。

最初是SNMP監(jiān)控時代桥爽,那時候的監(jiān)控系統(tǒng)基于 SNMP 協(xié)議抓取信息纳击;多用于監(jiān)控網(wǎng)絡(luò)設(shè)備续扔,以硬件監(jiān)控為主。典型代表有 Cadvisor + InfluxDB + Grafana焕数,這一代監(jiān)控系統(tǒng)只能從主機維度采集信息纱昧,沒有 NameSpace、Pod 等維度的匯聚功能堡赔。

而后出現(xiàn)了第二代识脆,算是第一代的改良版,可以對數(shù)據(jù)進行匯總善已。典型代表有 Heapster + InfluxDB + Grafana灼捂。其中,Heapster 負(fù)責(zé)調(diào)用各 node 中的 Cadvisor 接口换团,對數(shù)據(jù)進行匯總悉稠,然后導(dǎo)到 InfluxDB,可以從 cluster艘包、node的猛、pod 各個層面提供詳細(xì)的資源使用情況。

Prometheus-1.png

第三代是云原生監(jiān)控系統(tǒng)想虎。云計算時代到來后卦尊,云原生監(jiān)控系統(tǒng)成為新的主流。監(jiān)控系統(tǒng)具備監(jiān)控目標(biāo)的數(shù)據(jù)采集舌厨、存儲岂却、報警等一套監(jiān)控系統(tǒng)必備的功能,基于指標(biāo)、日志和鏈路三個立體維度進行立體的系統(tǒng)監(jiān)控淌友。典型代表有 Metrics- Server + Prometheus煌恢。

Prometheus-2.png

如上圖骇陈,Resource Metrics 對應(yīng)的接口是metrics.k8s.io震庭,主要的實現(xiàn)就是 metrics-server,它提供資源監(jiān)控能力你雌,比較常見的是節(jié)點級別器联,pod級別,namespace級別婿崭,class級別拨拓,這類的監(jiān)控指標(biāo)都可以通過 metrics.k8s.io 接口獲取。

Custom Metrics 對應(yīng)的接口是 custom metrics.k8s.io氓栈,主要的實現(xiàn)是 Prometheus渣磷,它提供的是資源監(jiān)控和自定義監(jiān)控。

常見監(jiān)控系統(tǒng)的三個立體維度:

指標(biāo)監(jiān)控(metrics):隨時間推移產(chǎn)生的一些與監(jiān)控相關(guān)的可聚合的數(shù)據(jù)點授瘦,該類數(shù)據(jù)具備:零散信息和可聚合的特性醋界。

日志監(jiān)控(logging):整體日志或分層次的日志和事件。

鏈路跟蹤(tracing):分布式系統(tǒng)提完,對分布式鏈路跟蹤形纺、調(diào)用過程中發(fā)生的一系列事情(性能數(shù)據(jù))做的收集。

Prometheus 簡介

Prometheus 由 SoundCloud 開發(fā)的開源監(jiān)控報警系統(tǒng)和時序列數(shù)據(jù)庫(TSDB)徒欣,主要用 Go 編寫逐样。自2012年起,許多公司及組織已經(jīng)采用 Prometheus,并且該項目有著非常活躍的開發(fā)者和用戶社區(qū)打肝,現(xiàn)在已經(jīng)成為一個獨立的開源項目脂新,并且保持獨立于任何公司,Prometheus 在2016加入 CNCF ( Cloud Native Computing Foundation ), 作為在 kubernetes 之后的第二個由基金會主持的項目粗梭。github地址(https://github.com/prometheus

Prometheus 的主要特征

  • 多維數(shù)據(jù)模型(時序列數(shù)據(jù)有metric和一組key/value組成)
  • 在多維度上靈活的查詢語言(PromQl)
  • 不依賴分布式存儲争便,單主節(jié)點工作.
  • 可以通過pushgateway進行時序列數(shù)據(jù)推送(pushing)
  • 可以通過服務(wù)發(fā)現(xiàn)或者靜態(tài)配置去獲取要采集的目標(biāo)服務(wù)器
  • 多種可視化圖表及儀表盤支持

Prometheus 架構(gòu)

Prometheus 架構(gòu).png

prometheus生態(tài)系統(tǒng)由多個組件組成,其中許多組件是可選的楼吃。

  • promethues server:主要獲取和存儲時間序列數(shù)據(jù)始花。
  • client libraries:用于對接 Prometheus Server, 可以查詢和上報數(shù)據(jù)。右下角部分孩锡。
  • exporters:主要是作為agent收集數(shù)據(jù)發(fā)送到prometheus server酷宵,不同的數(shù)據(jù)收集由不同的exporters實現(xiàn),如監(jiān)控主機有node-exporters躬窜,mysql有MySQL server exporters浇垦。
  • pushgateway:允許短暫和批處理的jobs推送它們的數(shù)據(jù)到prometheus;由于這類工作的存在時間不夠長荣挨,所以需要他們主動將數(shù)據(jù)推送到pushgateway男韧,然后由pushgateway將數(shù)據(jù)發(fā)送的prometheus朴摊。總結(jié):類似于zabbix proxy
  • alertmanager:實現(xiàn)prometheus的告警功能此虑。

prometheus 直接或通過pushgateway抓取數(shù)據(jù)甚纲。將數(shù)據(jù)存儲在本地,并對這些數(shù)據(jù)運行規(guī)則朦前,以便從現(xiàn)有數(shù)據(jù)聚合和記錄新時間序列介杆,或者生成警報。然后利用 grafana 等工具可視化數(shù)據(jù)韭寸。

Prometheus 適合做什么

Prometheus適用于錄制任何純數(shù)字時間序列春哨。它適用于以機器為中心的監(jiān)控以及高度動態(tài)的面向服務(wù)架構(gòu)的監(jiān)控。在微服務(wù)的世界中恩伺,它對多維數(shù)據(jù)收集和查詢的支持是一種特殊的優(yōu)勢赴背。

Prometheus專為提高可靠性而設(shè)計,是您在停電期間可以快速診斷問題的系統(tǒng)晶渠。每個Prometheus服務(wù)器都是獨立的凰荚,不依賴于網(wǎng)絡(luò)存儲或其他遠(yuǎn)程服務(wù)。當(dāng)基礎(chǔ)架構(gòu)的其他部分損壞時乱陡,您可以依賴它浇揩,并且您不需要設(shè)置大量的基礎(chǔ)架構(gòu)來使用它。

Prometheus 不適合做什么

雖然 Prometheus 是一個全面的監(jiān)控解決方案憨颠,但它不適合某些角色胳徽。Prometheus 的設(shè)計以可靠性和性能為核心原則。這會導(dǎo)致衡量指標(biāo)準(zhǔn)確性的權(quán)衡爽彤。

Prometheus 不保證收集到的數(shù)據(jù)是 100% 準(zhǔn)確的养盗。它適用于偶爾丟失的事件不會影響全局的高容量場景。如果您正在跟蹤需要正確的敏感統(tǒng)計數(shù)據(jù)适篙,您應(yīng)該使用其他平臺來處理這些指標(biāo)往核。對于系統(tǒng)中不太重要的值,您仍然可以采用 Prometheus嚷节。

此外聂儒,Prometheus 可能不是您想要的監(jiān)控堆棧中的唯一組件。它專注于存儲和查詢您的事件硫痰,主要使用 HTTP API衩婚。內(nèi)置的 Web UI 提供基本的繪圖功能,但不支持高級自定義儀表板效斑。數(shù)據(jù)可視化場景通常通過部署一個Grafana實例來處理非春;這通過內(nèi)置的Prometheus 集成提供儀表板和指標(biāo)分析功能。

**注:以上內(nèi)容參考 **prometheus官網(wǎng)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市奇昙,隨后出現(xiàn)的幾起案子护侮,更是在濱河造成了極大的恐慌,老刑警劉巖储耐,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羊初,死亡現(xiàn)場離奇詭異,居然都是意外死亡弧岳,警方通過查閱死者的電腦和手機凳忙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門业踏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來禽炬,“玉大人,你說我怎么就攤上這事勤家「辜猓” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵伐脖,是天一觀的道長热幔。 經(jīng)常有香客問我,道長讼庇,這世上最難降的妖魔是什么绎巨? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蠕啄,結(jié)果婚禮上场勤,老公的妹妹穿的比我還像新娘。我一直安慰自己歼跟,他們只是感情好和媳,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哈街,像睡著了一般留瞳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上骚秦,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天她倘,我揣著相機與錄音,去河邊找鬼作箍。 笑死硬梁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蒙揣。 我是一名探鬼主播靶溜,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了罩息?” 一聲冷哼從身側(cè)響起嗤详,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓷炮,沒想到半個月后葱色,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡娘香,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年苍狰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烘绽。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡淋昭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出安接,到底是詐尸還是另有隱情翔忽,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布盏檐,位于F島的核電站歇式,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏胡野。R本人自食惡果不足惜材失,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望硫豆。 院中可真熱鬧龙巨,春花似錦、人聲如沸够庙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耘眨。三九已至昼榛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間剔难,已是汗流浹背胆屿。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留偶宫,地道東北人非迹。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像纯趋,于是被迫代替她去往敵國和親憎兽。 傳聞我的和親對象是個殘疾皇子冷离,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容