介绍
Prometheus 是一个开源的监控和报警系统,最初由SoundCloud于2012年创建,随着越来越多的公司采用Prometheus以及非常活跃的社区,Prometheus于2016年加入云原生基金会,成为Kubernetes之后的第二个托管项目,并于2018年毕业。
特点
- 通过PromQL来对基于指标名称和键值对的多维数据模型进行灵活查询
- 监控数据通过HTTP接口进行拉取
- PushGateway可以让客户端主动推送监控数据
- 通过服务注册中心发现或通过静态配置监控目标
- 提供了多种可视化功能
- 支持本地和第三方远程存储
- 高可用,可扩展
- 精确报警,使用灵活的PromQL定义告警设置
- 支持多种客户端,如Java、Go、Node.js、.NET等语言
架构
该图展示了Prometheus内部模块及相关组件之间的关系。Prometheus 主要由Prometheus Server、Pushgateway、Service discovery、Alertmanager、UI、Jobs/exporters 6个核心模块组成。
Prometheus 通过服务发现机制从Kubernetes、Eureka等发现target,还可以通过export监控第三方应用程序,监控数据通过 pull 模式 或通过 Pushgateway 获取,获取的数据通过TSDB或外部存储器存储起来,通过PromQL语句在