1. 什麼是Prometheus

什麼是Prometheus

Prometheus是一個最初在SoundCloud上構建的開源系統監視和警報工具包 。自2012年成立以來,許多公司和組織都採用了Prometheus,該項目擁有一個很是活躍的開發人員和用戶社區。它如今是一個獨立的開源項目,能夠獨立於任何公司進行維護。爲了強調這一點,並澄清項目的治理結構,Prometheus 於2016年加入 雲計算本地計算基金會,做爲繼Kubernetes以後的第二個託管項目。git

有關Prometheus的更詳細概述,請參閱媒體部分連接的資源 。github

特徵

普羅米修斯的主要特色是:golang

  • 具備由度量名稱和鍵/值對標識的時間序列數據的多維數據模型
  • PromQL,一種靈活的查詢語言, 能夠利用這一維度
  • 不依賴分佈式存儲; 單個服務器節點是自治的
  • 時間序列集合經過HTTP上的拉模型發生
  • 推送時間序列經過中間網關支持
  • 經過服務發現或靜態配置發現目標
  • 多種圖形和儀表板支持模式

組件

Prometheus生態系統由多個組件組成,其中許多組件是可選的:服務器

大多數Prometheus組件都是用Go編寫的,所以很容易構建和部署爲靜態二進制文件。微信

架構

此圖說明了Prometheus的體系結構及其一些生態系統組件:網絡

普羅米修斯架構

Prometheus直接或經過中間推送網關從儀表工做中刪除指標,用於短時間工做。它在本地存儲全部已刪除的樣本,並對此數據運行規則,以彙總和記錄現有數據的新時間序列或生成警報。Grafana或其餘API使用者可用於可視化收集的數據。架構

何時適合?

Prometheus適用於錄製任何純數字時間序列。它適用於以機器爲中心的監控以及高度動態的面向服務架構的監控。在微服務的世界中,它對多維數據收集和查詢的支持是一種特殊的優點。分佈式

Prometheus專爲提升可靠性而設計,是您在停電期間能夠快速診斷問題的系統。每一個Prometheus服務器都是獨立的,不依賴於網絡存儲或其餘遠程服務。當基礎架構的其餘部分損壞時,您能夠依賴它,而且您不須要設置大量的基礎架構來使用它。微服務

何時不合適?

普羅米修斯重視可靠性。即便在故障狀況下,您也能夠隨時查看有關係統的可用統計信息。若是您須要100%的準確度,例如按請求計費,Prometheus不是一個好的選擇,由於收集的數據可能不夠詳細和完整。在這種狀況下,您最好使用其餘系統來收集和分析數據以進行計費,並使用Prometheus進行其他監控。工具

注:以上內容參考 prometheus官網

軟件測試汪簡書地址
軟件測試汪博客地址

歡迎關注微信公衆號:軟件測試汪。軟件測試交流羣:809111560

轉載請注意出處,謝謝合做

相關文章
相關標籤/搜索