Prometheus 是一个具有维度数据模型,灵活的查询语言,高效的时间序列数据库和现代警报方法的开源监视系统。
架构图如下:
主要组件功能组件如下:
Prometheus 的生态系统包括多个组件,大部分的组件都是用 Go 语言编写的,因此部署非常方便,而这些组件大部分都是可选的,主要组件介绍如下:
-
Prometheus Server
Prometheus Server 是 Prometheus 组件中的核心部分,负责实现对监控数据的获取,存储以及查询。Prometheus Server 可以通过静态配置管理监控目标,也可以配合使用 Service Discovery 的方式动态管理监控目标,并从这些监控目标中获取数据。
Prometheus Server 需要对采集到的监控数据进行存储,Prometheus Server 本身就是一个时序数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。
Prometheus Server 对外提供了自定义的 PromQL 语言,实现对数据的查询以及分析。