Prometheus系统通过以下方式收集指标数据:
-
主动拉取:Prometheus会定期向被监控的目标服务发送HTTP请求,获取指标数据。
-
服务端推送:被监控的目标服务可以将指标数据推送给Prometheus服务器,Prometheus提供了一些客户端库来方便开发者实现服务端推送。
-
Exporter:Prometheus提供了一些Exporter组件,用来将不同的监控系统的数据转换成Prometheus可以识别的格式,比如Node Exporter用来收集主机级别的指标数据。
-
监控中间件:一些中间件如Kubernetes、Consul等也提供了与Prometheus集成的插件,可以直接获取指标数据。
总的来说,Prometheus系统通过多种途径收集指标数据,然后将这些数据存储在时间序列数据库中,供用户查询和分析。