监控神器-普罗米修斯Prometheus
什么是Prometheus?Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。Prometheus是监控平台,通过HTTP实时查看系统各项性能指标。足够支撑上万台规模的集群。Prometheus的特点多维度数据模型。灵活的查询语言。不依赖分布式存储,单个服务器节点是自主的。通过基于HTTP的pull方式采集时序数据。可以通过中间网关进行时序列数据推送。通过服务
什么是Prometheus?
- Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。
- Prometheus是监控平台,通过HTTP实时查看系统各项性能指标。足够支撑上万台规模的集群。
Prometheus的特点
- 多维度数据模型。
- 灵活的查询语言。
- 不依赖分布式存储,单个服务器节点是自主的。
- 通过基于HTTP的pull方式采集时序数据。
- 可以通过中间网关进行时序列数据推送。
- 通过服务发现或者静态配置来发现目标服务对象。
- 支持多种多样的图表和界面展示,比如Grafana等。
架构图
基本原理
Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。
怎么采集监控数据?
要采集目标(主机或服务)的监控数据,首先就要在被采集目标上安装采集组件,这种采集组件被称为Exporter。http://prometheus.io官网上有很多这种exporter,比如:
Consul exporter (official)
Memcached exporter (official)
MySQL server exporter (official)
Node/system metrics exporter (official)
HAProxy exporter (official)
RabbitMQ exporter
Grok exporter
InfluxDB exporter (official)
这些exporter能为我们采集目标的监控数据,然后传输给普罗米修斯。这时候,exporter会暴露一个http接口,普罗米修斯通过HTTP协议使用Pull的方式周期性拉取相应的数据。
不过,普罗也提供了Push模式来进行数据传输,通过增加Push Gateway这个中间商实现,你可以将数据推送到Push Gateway,普罗再通过Pull的方式从Push Gateway获取数据。
这就是为什么你从架构图里能看到两个 Pull metrics 的原因,一个是采集器直接被Server拉取数据(pull);另一个是采集器主动Push数据到Push Gateway,Server再对Push Gateway主动拉取数据(pull)。
采集数据的主要流程如下:
-
Prometheus server 定期从静态配置的主机或服务发现的 targets 拉取数据(zookeeper,consul,DNS SRV Lookup等方式)
-
当新拉取的数据大于配置内存缓存区的时候,Prometheus会将数据持久化到磁盘,也可以远程持久化到云端。
-
Prometheus通过PromQL、API、Console和其他可视化组件如Grafana、Promdash展示数据。
-
Prometheus 可以配置rules,然后定时查询数据,当条件触发的时候,会将告警推送到配置的Alertmanager。
-
Alertmanager收到告警的时候,会根据配置,聚合,去重,降噪,最后发出警告, Alertmanager是独立于Prometheus的一个组件,可以支持Prometheus的查询语句,提供十分灵活的报警方式。。
三大套件
- Server 主要负责数据采集和存储,提供PromQL查询语言的支持。
- Alertmanager 警告管理器,用来进行报警。
- Push Gateway 支持临时性Job主动推送指标的中间网关。
安装:
https://www.cnblogs.com/chenqionghe/p/10494868.html
https://blog.csdn.net/heian_99/article/details/103956931
https://blog.csdn.net/qq_31725371/article/details/114697770
更多推荐
所有评论(0)