個人最喜歡用的監控工具是Zabbix, 架構清晰簡單,配合基本的模塊和腳本幾乎可以全覆蓋企業內部的監控,可以說是功能非常強大。
但是後面k8s出現後, 就沒法用zabbix去做監控了,你需要寫大量的監控腳本,工作量大了不說,還需要去考慮怎麼通過腳本去拿到集羣信息,就比較麻煩。
所以, Prometheus就被劃入新的監控之一, 專門用來做k8s的監控。現在兩套監控, zabbix與prometheus, 剛好夠用。
也有一些文章去講解了zabbix與prometheus做集成,這個後續我再寫文檔分享出來。
一、簡介
prometheus是由谷歌研發的一款開源的監控軟件,目前已經被雲計算本地基金會託管,是繼k8s託管的第二個項目。
二、優勢
易於管理
輕易獲取服務內部狀態
高效靈活的查詢語句
支持本地和遠程存儲
採用http協議,默認pull模式拉取數據,也可以通過中間網關push數據
支持自動發現
可擴展
易集成
三、prometheus運行流程
prometheus根據配置定時去拉取各個節點的數據,默認使用的拉取方式是pull,也可以使用pushgateway提供的push方式獲取各個監控節點的數據。將獲取到的數據存入TSDB,一款時序型數據庫。此時prometheus已經獲取到了監控數據,可以使用內置的PromQL進行查詢。它的報警功能使用Alertmanager提供,Alertmanager是prometheus的告警管理和發送報警的一個組件。prometheus原生的圖標功能過於簡單,可將prometheus數據接入grafana,由grafana進行統一管理。
四、監控的目的
google指出,監控分爲白盒監控和黑盒監控之分。
白盒監控:通過監控內部的運行狀態及指標判斷可能會發生的問題,從而做出預判或對其進行優化。
黑盒監控:監控系統或服務,在發生異常時做出相應措施。
監控的目的如下:
1、根據歷史監控數據,對爲了做出預測
2、發生異常時,即使報警,或做出相應措施
3、根據監控報警及時定位問題根源
4、通過可視化圖表展示,便於直觀獲取信息
參考文檔:https://www.cnblogs.com/zqj-blog/p/10871033.html
參考文檔:https://www.cnblogs.com/chenqionghe/p/10494868.html