答案:Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus服务器会定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。Prometheus 机制每个被监控的主机都可以通过专用的 exporter 程序提供输出监控数据的接口,它会在目标处收集监控数据,并暴露出一个 HTTP 接口 供 Prometheus 查询,Prometheus 通过基于 HTTP 的 pull 的方式来周期性的采集数据。 如果存在告警规则,则抓取到数据之后会根据规则进行计算,满足告警条件则会生成告警,并发送到 Alertmanager 完成告警的汇总和分发。当被监控的目标有主动推送数据的需求时,可以 Pushgateway 组件进行接收并临时存储数据,然后等待 Prometheus 服务器完成数据的采集。