本文來自Prometheus官網手冊 和 Prometheus簡介git
Prometheus是一個最初在SoundCloud上構建的開源系統監視和警報工具包。自2012年成立以來,許多公司和組織都採用了Prometheus,該項目擁有很是活躍的開發者和用戶社區。 它如今是一個獨立的開源項目,能夠獨立於任何公司進行維護。 爲了強調這一點,並闡明項目的治理結構,Prometheus於2016年加入Cloud Native Computing Foundation,做爲繼Kubernetes以後的第二個託管項目。github
Prometheus的主要特徵有:服務器
Prometheus生態包括了不少組件,它們中的一些是可選的:網絡
多數Prometheus組件是Go語言寫的,這使得這些組件很容易編譯和部署。架構
下面這張圖說明了Prometheus的總體架構,以及生態中的一些組件做用:分佈式
Prometheus能夠直接經過目標拉取數據,或者間接地經過中間網關拉取數據。它在本地存儲抓取的全部數據,並經過規則從現有數據中聚合記錄新的時間序列或者產生警告,Grafana 和其餘API可用於可視化收集的數據。微服務
Prometheus適用於記錄任何純數字時間序列。 它適用於以機器爲中心的監控以及高度動態的面向服務架構的監控。 在微服務的世界中,Prometheus的多維度數據收集和查詢很是強大。工具
Prometheus是爲服務的可靠性而設計的,當服務出現故障時,它可使你快速定位和診斷問題。 每一個Prometheus服務器都是獨立的,不依賴於網絡存儲或其餘遠程服務。 當基礎架構的其餘部分損壞時,您能夠依賴它,而且您不須要設置大量的基礎架構來使用它。spa
Prometheus重視可靠性。 即便在故障狀況下,您也能夠隨時查看有關係統的可用統計信息。 若是您須要100%的準確度,例如按請求計費,Prometheus不是一個好的選擇,由於收集的數據可能不夠詳細和完整。 在這種狀況下,您最好使用其餘系統來收集和分析數據以進行計費,並使用Prometheus進行其他監控。設計