Prometheus監控教程:初識Prometheus

轉載:https://blog.csdn.net/guting18893110463/article/details/129655698?spm=1001.2014.3001.5502

本章作爲Prometheus監控教程的開篇,我們會帶讀者瞭解Prometheus的前世今生,Prometheus是如何從衆多的監控平臺中脫穎而出成爲下一代監控系統的首選。同時通過一個簡單的例子帶領讀者快速瞭解Prometheus是如何工作的,從而瞭解Prometheus中的一些概念以及架構模式。

一、Prometheus簡介

Prometheus受啓發於Google的Brogmon監控系統(相似的Kubernetes是從Google的Brog系統演變而來),從2012年開始由前Google工程師在Soundcloud以開源軟件的形式進行研發,並且於2015年早期對外發布早期版本。

2016年5月繼Kubernetes之後成爲第二個正式加入CNCF基金會的項目,同年6月正式發佈1.0版本。2017年底發佈了基於全新存儲層的2.0版本,能更好地與容器平臺、雲平臺配合。

Prometheus作爲新一代的雲原生監控系統,目前已經有超過650+位貢獻者參與到Prometheus的研發工作上,並且超過120+項的第三方集成。

二、Prometheus的特點

1. 多維度數據模型

2. 靈活的查詢語言

3. 不依賴分佈式存儲,單個服務器節點是自主的

4. 以HTTP方式,通過pull模型拉去時間序列數據

5. 也通過中間網關支持push模型

6. 通過服務發現或者靜態配置,來發現目標服務對象

7. 支持多種多樣的圖表和界面展示,grafana也支持它

三、Prometheus的組件

Prometheus生態包括了很多組件,它們中的一些是可選的:

1. 主服務Prometheus Server負責抓取和存儲時間序列數據

2. 客戶庫負責檢測應用程序代碼

3. 支持短生命週期的PUSH網關

4. 基於Rails/SQL儀表盤構建器的GUI

5. 多種導出工具,可以支持Prometheus存儲數據轉化爲HAProxy、StatsD、Graphite等工具所需要的數據存儲格式

6. 警告管理器

7. 命令行查詢工具

8. 其他各種支撐工具

多數Prometheus組件是Go語言寫的,這使得這些組件很容易編譯和部署。

四、Prometheus的架構圖

下面這張圖說明了Prometheus的整體架構,以及生態中的一些組件作用:

Prometheus服務,可以直接通過目標拉取數據,或者間接地通過中間網關拉取數據。它在本地存儲抓取的所有數據,並通過一定規則進行清理和整理數據,並把得到的結果存儲到新的時間序列中,PromQL和其他API可視化地展示收集的數據。

五、Prometheus的適用場景

Prometheus在記錄純數字時間序列方面表現非常好。它既適用於面向服務器等硬件指標的監控,也適用於高動態的面向服務架構的監控。對於現在流行的微服務,Prometheus的多維度數據收集和數據篩選查詢語言也是非常的強大。

Prometheus是爲服務的可靠性而設計的,當服務出現故障時,它可以使你快速定位和診斷問題。它的搭建過程對硬件和服務沒有很強的依賴關係。

六、Prometheus的不適用場景

Prometheus,它的價值在於可靠性,甚至在很惡劣的環境下,你都可以隨時訪問它和查看系統服務各種指標的統計信息。如果你對統計數據需要100%的精確,它並不適用,例如:它不適用於實時計費系統。
————————————————
版權聲明:本文爲CSDN博主「IT運維先森」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/guting18893110463/article/details/129655698

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章