Prometheus 是开源监控告警系统,是 Google BorgMon 监控系统的开源版本。 2016 年,Prometheus 加入 CNCF,成为继 Kubernetes 之后第二个被 CNCF 托管的项目。 随着 Kubernetes 在容器编排领头羊地位的确立,Prometheus 也成为 Kubernetes 容器监控的标配。
特性
- 通过指标名称和标签(key/value对)区分的多维度、时间序列数据模型
- 灵活的查询语法 PromQL
- 不需要依赖额外的存储,一个服务节点就可以工作
- 利用http协议,通过pull模式来收集时间序列数据
- 需要push模式的应用可以通过中间件gateway来实现
- 监控目标支持服务发现和静态配置
- 支持各种各样的图表和监控面板组件
核心组件
整个Prometheus生态包含多个组件,除了Prometheus server组件其余都是可选的
- Prometheus Server:主要的核心组件,用来收集和存储时间序列数据
- Client Library::客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当 Prometheus server 来 pull 时,直接返回实时状态的 metrics
- Push gateway:主要用于短期的 jobs,主要用于服务层面的 metrics
- Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
- Alertmanager: 从 Prometheus server 端接收到 alerts 后,会去除重复数据,分组。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等
网址为 Prometheus
我们提供针对 Prometheus 项目的技术支持。