Prometheus是一個開源監控系統,它前身是SoundCloud的警告工具包。從2012年開始,許多公司和組織開始使用Prometheus。該項目的開發人員和用戶社區很是活躍,愈來愈多的開發人員和用戶參與到該項目中。目前它是一個獨立的開源項目,且不依賴與任何公司。 爲了強調這點和明確該項目治理結構,Prometheus在2016年繼Kurberntes以後,加入了Cloud Native Computing Foundation。git
Prometheus的主要特徵有:github
Prometheus生態包括了不少組件,它們中的一些是可選的:服務器
多數Prometheus組件是Go語言寫的,這使得這些組件很容易編譯和部署。架構
下面這張圖說明了Prometheus的總體架構,以及生態中的一些組件做用: 分佈式
Prometheus服務,能夠直接經過目標拉取數據,或者間接地經過中間網關拉取數據。它在本地存儲抓取的全部數據,並經過必定規則進行清理和整理數據,並把獲得的結果存儲到新的時間序列中,PromQL和其餘API可視化地展現收集的數據微服務
Prometheus在記錄純數字時間序列方面表現很是好。它既適用於面向服務器等硬件指標的監控,也適用於高動態的面向服務架構的監控。對於如今流行的微服務,Prometheus的多維度數據收集和數據篩選查詢語言也是很是的強大。工具
Prometheus是爲服務的可靠性而設計的,當服務出現故障時,它可使你快速定位和診斷問題。它的搭建過程對硬件和服務沒有很強的依賴關係。spa
Prometheus,它的價值在於可靠性,甚至在很惡劣的環境下,你均可以隨時訪問它和查看系統服務各類指標的統計信息。 若是你對統計數據須要100%的精確,它並不適用,例如:它不適用於實時計費系統命令行