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

 更新时间:2021年01月24日 12:16:30   作者:冰冷的燃烧着  
这篇文章主要介绍了一文秒懂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 介绍及工作原理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • UUencode 编码,UU编码介绍、UUencode编码转换原理与算法

    UUencode 编码,UU编码介绍、UUencode编码转换原理与算法

    这篇文章主要介绍了UUencode 编码,UU编码介绍、UUencode编码转换原理与算法,需要的朋友可以参考下
    2016-06-06
  • 计算机科学中32个常用的基础算法

    计算机科学中32个常用的基础算法

    这篇文章主要介绍了计算机科学中32个常用的基础算法,也是计算机科学中最重要的算法,需要的朋友可以参考下
    2014-06-06
  • Python实现用户登录并且输入错误三次后锁定该用户

    Python实现用户登录并且输入错误三次后锁定该用户

    这篇文章主要介绍了Python实现用户登录并且输入错误三次后锁定该用户,文中通过c#代码给大家补充介绍了密码输入三次错误后锁定用户功能,需要的朋友可以参考下
    2020-01-01
  • 持续集成工具之Jenkins安装部署的详细教程

    持续集成工具之Jenkins安装部署的详细教程

    这篇文章主要介绍了持续集成工具之Jenkins安装部署,本文通过图文的形式给大家啊介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • WebStorm 11.0.4安装图文教程

    WebStorm 11.0.4安装图文教程

    这篇文章主要为大家详细介绍了WebStorm 11.0.4安装图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 利用ChatGPT与MindShow制作一个PPT的方法详解

    利用ChatGPT与MindShow制作一个PPT的方法详解

    PPT制作是商务、教育和各种场合演讲的重要组成部分,然而,很多人会花费大量时间和精力在内容生成和视觉设计方面,为了解决这个问题,我们可以利用两个强大的工具——ChatGPT和MindShow,来提高制作PPT的效率,感兴趣的同学可以参考阅读
    2023-06-06
  • 详解git submodule使用以及注意事项

    详解git submodule使用以及注意事项

    这篇文章主要介绍了详解git submodule使用以及注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 2022编程语言需求排名出炉:第一不是Python,也不是Java

    2022编程语言需求排名出炉:第一不是Python,也不是Java

    编程语言的流行程度、发展前景、就业市场这些一直都是程序员们非常关注的话题,需求排名是程序员们关注学习的风向标,毕竟是市场经济,学以致用,如果热门编程不了解,都不好意思告诉别人你是程序员。编程语言的种类有超过200+,但还有很多不为人知。
    2022-12-12
  • 总结一些你可能不知道的ip地址

    总结一些你可能不知道的ip地址

    IP对大家来说应该再熟悉不过了,但其实IP地址有一些不为人知的事情,可能你并不知道。例如短IP、不同进制的ip等,所以下面这篇文章主要给大家总结介绍了一些你可能不知道的ip地址知识,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • thymeleaf实现th:each双重多重嵌套功能

    thymeleaf实现th:each双重多重嵌套功能

    今天给大家分享一个使用 thymeleaf 实现一个动态加载一二级文章分类的功能,本文通过代码讲解的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11

最新评论