Prometheus+ Grafana 微服務系統監控方案搭建
阿新 • • 發佈:2019-02-10
Prometheus是由 SoundCloud 開發的開源監控報警系統和時序列資料庫(TSDB).自2012年起,許多公司及組織已經採用 Prometheus,並且該專案有著非常活躍的開發者和使用者社群.現在已經成為一個獨立的開源專案核,並且保持獨立於任何公司,Prometheus 在2016加入 CNCF ( Cloud Native Computing Foundation ), 作為在 kubernetes 之後的第二個由基金會主持的專案.
prometheus 的特點
和其他監控系統相比,Prometheus的特點包括:
- 多維資料模型(時序列資料由metric名和一組key/value組成)
- 在多維度上靈活的查詢語言(PromQl)
- 不依賴分散式儲存,單主節點工作.
- 通過基於HTTP的pull方式採集時序資料
- 可以通過中間閘道器進行時序列資料推送(pushing)
- 目標伺服器可以通過發現服務或者靜態配置實現
- 多種視覺化和儀表盤支援
prometheus 相關元件
Prometheus生態系統由多個元件組成,其中許多是可選的:
- Prometheus 主服務,用來抓取和儲存時序資料
- client library 用來構造應用或 exporter 程式碼 (go,java,python,ruby)
- push 閘道器可用來支援短連線任務
- 視覺化的dashboard (兩種選擇,promdash 和 grafana.目前主流選擇是 grafana.)
- 一些特殊需求的資料出口(用於HAProxy, StatsD, Graphite等服務)
- 實驗性的報警管理端(alartmanager,單獨進行報警彙總,分發,遮蔽等 )
promethues 的各個元件基本都是用 golang 編寫,對編譯和部署十分友好.並且沒有特殊依賴.基本都是獨立工作