Prometheus

說明

Prometheus 以GO 語言所開發, 也是基於 Apache 2.0 授權的開源軟體.

Prometheus是專注於目前所發生的事, 而不只是追蹤本週/月的資料. 所以它是設計來提供”接近實時的內部檢查監控系統”, 用來監控”服務”、”微服務”、”應用程式”和”系統狀態”等, 以更完整的視野來衡量及監測系統的運行.從而達到以下目的:

  • 長期趨勢分析:通過對監控樣本資料的持續收集和統計,對監控指標進行長期趨勢分析。例如,通過對磁碟空間增長率的判斷,我們可以提前預測在未來什麼時間節點上需要對資源進行擴容。
  • 對照分析:兩個版本的系統運行資源使用情況的差異如何?在不同容量情況下系統的併發和負載變化如何?通過監控能夠方便的對系統進行跟蹤和比較。
  • 告警:當系統出現或者即將出現故障時,監控系統需要迅速反應並通知管理員,從而能夠對問題進行快速的處理或者提前預防問題的發生,避免出現對業務的影響。
  • 故障分析與定位:當問題發生後,需要對問題進行調查和處理。通過對不同監控監控以及歷史資料的分析,能夠找到並解決根源問題。
  • 數據視覺化:通過視覺化儀錶盤能夠直接獲取系統的運行狀態、資源使用情況、以及服務運行狀態等直觀的資訊。

適用對象及時機

  • 對主機運轉時的狀態、效能、服務等需要實時監控的 Linux / Windows 主機都適用,特別是在以”定時”查詢類的應用,
  • 由”監控伺服器主機” 主動去擷取終端(被監控主機)的資訊. 所以很適合用在伺服器的主機狀態和服務狀態的監測.
  • 不論系統的開發、評估、測試或是上線主機都應該監控或記錄系統及服務的狀態及測量值, 以做為評估的基準。例如: 監測系統資源或網站存取的熱門時段, 或配合壓力測試來評估系統上線所需的規格.
  • 除了己規劃的事件需要特別的監控及記錄之外, 對於平時也應該記錄及評估實時監控資訊, 和長期統計分析.
  • 系統監控也要能對異常的狀況觸發警示和通知, 讓作業人員可以在即時處理問題或是了解狀況

Prometheus的特性說明

  • 易於管理, 拉式監控為主, 並提供 Pushgateway 做為推式監控的橋樑
  • 監控服務的內部運行狀態,提供豐富的Client端程式庫,用戶可以在應用程式中添加對Prometheus的支援,從而獲取服務和應用內部真正的運行狀態。具備多項己完成的 Exporter , 如: Linux/Windows Exporter, Database …….
  • 強大的資料模型, 並將資料儲存在自有的TSDB 資料庫 •自有獨特的查詢語言PromQL
  • 高效,在良好的主機規格下可以每秒處理數十萬的資料點。
  • 可擴展, 支援 Linux/Windows 系統和 分散多機的架構
  • 容易整合及開放性, 可以與 alertmanager 警示系統整合,
  • 可以與 Grafana 儀表板整合

Prometheus 預設使用 9090 port做為登入的連結埠。當 Prometheus 啟動後(以命令或是服務),使用者可以先連線到它的GUI管理介面檢查各項連結是否正常(如: Node_exporter / wmi_exporter)