Prometheus是什么
Prometheus(普羅米修斯)是一個名字非常酷的開源監控系統。
它支持多維度的指標數據模型,服務端通過HTTP協議定時拉取數據后,通過靈活的查詢語言,實現監控的目的。
如上圖,客戶端記錄相關指標數據,對外提供查詢接口。Prometheus服務端通過服務器發現機制找到客戶端,並定時抓取存儲為時間序列數據。最后通過Grafana等圖表工具集成展示。
Prometheus可以做什么
-
在業務層用作埋點系統
Prometheus支持各個主流開發語言(Go,java,python,ruby官方提供客戶端,其他語言有第三方開源客戶端)。我們可以通過客戶端方面的對核心業務進行埋點。如下單流程、添加購物車流程。 -
在應用層用作應用監控系統
一些主流應用可以通過官方或第三方的導出器,來對這些應用做核心指標的收集。如redis,mysql。 -
在系統層用作系統監控
除了常用軟件, prometheus也有相關系統層和網絡層exporter,用以監控服務器或網絡。 -
集成其他的監控
prometheus還可以通過各種exporte,集成其他的監控系統,收集監控數據,如AWS CloudWatch,JMX,Pingdom等等。
不要用Prometheus做什么
prometheus也提供了Grok exporter等工具可以用來讀取日志,但是prometheus是監控系統,不是日志系統。應用的日志還是應該走ELK等工具棧。