Prometheus系統(tǒng)通過以下方式收集指標數(shù)據(jù):
主動拉?。篜rometheus會定期向被監(jiān)控的目標服務發(fā)送HTTP請求,獲取指標數(shù)據(jù)。
服務端推送:被監(jiān)控的目標服務可以將指標數(shù)據(jù)推送給Prometheus服務器,Prometheus提供了一些客戶端庫來方便開發(fā)者實現(xiàn)服務端推送。
Exporter:Prometheus提供了一些Exporter組件,用來將不同的監(jiān)控系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換成Prometheus可以識別的格式,比如Node Exporter用來收集主機級別的指標數(shù)據(jù)。
監(jiān)控中間件:一些中間件如Kubernetes、Consul等也提供了與Prometheus集成的插件,可以直接獲取指標數(shù)據(jù)。
總的來說,Prometheus系統(tǒng)通過多種途徑收集指標數(shù)據(jù),然后將這些數(shù)據(jù)存儲在時間序列數(shù)據(jù)庫中,供用戶查詢和分析。