一文秒懂Prometheus 介绍及工作原理

1. prometheus 介绍

prometheus是一套开源的系统监控报警框,相比nagios或者zabbix拥有如下优点

1.1 易管理性

prometheus: prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。

1.2 业务数据相关性

prometheus:监控服务的运行状态,基于prometheus丰富的client库,用户可以轻松的在应用程序中添加对prometheus的支持,从而让用户可以获取服务和应用内部真正的运行状态。

1.3 高效:

单一prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点。

1.4 易于伸缩:

通过使用功能分区(sharing)+联邦集群(federation)可以对prometheus进行扩展,形成一个逻辑集群;prometheus提供多种语言的客户端sdk,这些sdk可以快速让应用程序纳入到prometheus的监控当中。

1.5 良好的可视化:

prometheus除了自带有prometheus ui,grafana可视化工具也提供了完整的proetheus支持

2. prometheus 框架图

3. prometheus 组件介绍

3.1 prometheus server:

prometheus sever是prometheus组件中的核心部分,负责实现对监控数据的获取,存储及查询。prometheus server可以通过静态配置管理监控目标,也可以配合使用service discovery的方式动态管理监控目标,并从这些监控目标中获取数据。其次prometheus sever需要对采集到的数据进行存储,prometheus server本身就是一个实时数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。prometheus server对外提供了自定义的promql,实现对数据的查询以及分析。另外prometheus server的联邦集群能力可以使其从其他的prometheus server实例中获取数据。

3.2 exporters:

exporter将监控数据采集的端点通过http服务的形式暴露给prometheus server,prometheus server通过访问该exporter提供的endpoint端点,即可以获取到需要采集的监控数据。可以将exporter分为2类:
直接采集:这一类exporter直接内置了对prometheus监控的支持,比如cadvisor,kubernetes,etcd,gokit等,都直接内置了用于向prometheus暴露监控数据的端点。
间接采集:原有监控目标并不直接支持prometheus,因此需要通过prometheus提供的client library编写该监控目标的监控采集程序。例如:mysql exporter,jmx exporter,consul exporter等。

3.3 alertmanager:

在prometheus server中支持基于prom ql创建告警规则,如果满足prom ql定义的规则,则会产生一条告警。在alertmanager从 prometheus server 端接收到 alerts后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,webhook 等。

3.4 pushgateway:

prometheus数据采集基于prometheus server从exporter pull数据,因此当网络环境不允许prometheus server和exporter进行通信时,可以使用pushgateway来进行中转。通过pushgateway将内部网络的监控数据主动push到gateway中,prometheus server采用针对exporter同样的方式,将监控数据从pushgateway pull到prometheus server。

4. prometheus的工作流:

4.1 prometheus server定期从配置好的jobs或者exporters中拉取metrics,或者接收来自 pushgateway发送过来的metrics,或者从其它的prometheus server中拉metrics。

4.2 prometheus server在本地存储收集到的metrics,并运行定义好的alerts.rules,记录新的时间序列或者向alert manager推送警报。

4.3 alertmanager根据配置文件,对接收到的警报进行处理,发出告警。

4.4 在图形界面中,可视化采集数据。

到此这篇关于一文秒懂prometheus 介绍及工作原理的文章就介绍到这了,更多相关prometheus 介绍及工作原理内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐