Prometheus介绍和高可用方案简介

Prometheus是一款开源的系统监控报警框架,特点是多维数据模型、PromQL查询语言和主动拉取数据机制。文章介绍了Prometheus的主要组件,包括Server、Client、Push Gateway、Exporter和Alertmanager,并探讨了三种高可用方案,包括远程存储、联邦集群等,强调了第三种方案的完善性。新钛云服在此领域的专业服务和解决方案也被提及。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Prometheus简介:

Prometheus 是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,由SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于 2015 年正式发布。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅次于Kubernetes 的项目。

作为新一代的监控框架,Prometheus 具有以下特点:

  1. 由指标名称和和键/值对标签标识的时间序列数据组成的多维数据模型。

  2. 灵活强大的查询语言PromQL。

  3. 不依赖分布式存储;单个服务节点具有自治能力。

  4. 时间序列数据是服务端通过 HTTP 协议主动拉取(Pull)获得的。

  5. 也可以通过中间网关来推送(Push)时间序列数据。

  6. 可以通过静态配置文件(Prometheus.yml)或服务发现来获取监控目标。

Prometheus主要组件:

Prometheus系统有多个组件构成,并且其中部分组件是可选的。大部分Prometheus组件是由Go语言编写,所以使得这些组件很容易编译和部署。

  1. Prometheus Server:核心的服务器端,主要负责存储时间序列数据。

  2. Prometheus Client: 客户端,将需要被监控的服务生成对应的metrics,并暴露给Prometheus Server。

  3. Push Gateway:除了Pull方式,Prometheus还支持通过Push Gateway主动向服务端推送数据。该组件主要用于存在时间较短的任务,由于这类任务存在时间较短,可能当Prometheus来拉取(pull)之前,数据已经消失了,所以,这些任务可以直接向Prometheus Server主动端推送自己的metrics。这种方式主要用于服务层面的metrics,如果是机器层面的metrics,则需要用到exporter。

  4. Exporter:类似Agent,安装在客户端上,用来监控数据,并向服务器端提供监控数据样本,常见的有:node_exporter用来收集硬件信息、mysqld_ exporter用于收集MySQL信息等等,可以根据自身需要选择不同的Exporter。更多Exporter可以在https://prometheus.io/docs/instrumenting/exporters/中查看

  5. Alertmanager:用来处理报警,将告警信息发送给用户。

 

Prometheus 架构图:

结合上面的架构图可以知道,Prometheus获

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值