一文秒懂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 介绍及工作原理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何在本地部署DeepSeek大模型实现联网增强的AI应用

    如何在本地部署DeepSeek大模型实现联网增强的AI应用

    本文介绍了如何使用Microsoft SemanticKernel框架结合DeepSeek本地模型和自定义搜索技能,构建一个具备联网增强能力的智能应用,文章还提供了一个应用场景示例,说明如何在本地部署DeepSeek大模型并实现联网增强的AI应用,感兴趣的朋友一起看看吧
    2025-02-02
  • 使用git命令上传代码

    使用git命令上传代码

    这篇文章介绍了使用git命令上传代码的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • IEEE Spectrum 2014编程语言排行榜

    IEEE Spectrum 2014编程语言排行榜

    这篇文章主要介绍了IEEE Spectrum 2014编程语言排行榜,这不是TIOBE编程语言排行榜哦,需要的朋友可以参考下
    2014-08-08
  • ChatGPT将批量文档翻译成中文的方法

    ChatGPT将批量文档翻译成中文的方法

    文档翻译成中文软件是指在处理文档时,自动将文档中的内容翻译成中文的软件,本文就给大家介绍如何用ChatGPT将批量文档翻译成中文的方法,感兴趣的同学跟着小编一起来学习吧
    2023-06-06
  • 如何利用FFmpeg合并音频和视频(多种方式)

    如何利用FFmpeg合并音频和视频(多种方式)

    这篇文章主要介绍了如何利用FFmpeg合并音频和视频,详细介绍了FFmpeg 多个音频合并的2种方法,通过场景分享介绍了FFmpeg合并视频文件的4种方法,需要的朋友可以参考下
    2023-02-02
  • DeepSeek部署之GPU监控指标接入Prometheus的过程

    DeepSeek部署之GPU监控指标接入Prometheus的过程

    文章介绍了如何在GPU主机上部署DeepSeek大模型,并使用GPU资源加速推理计算,通过监控主机GPU的显存使用情况等指标,可以更好地进行运维和优化,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • Git工作流演示及三种工作方式

    Git工作流演示及三种工作方式

    在项目开发过程中使用Git的方式有三种工作方式,分别是集中式工作流,Git Flow工作流,Forking 工作流。下面主要针对Git工作流进行讲解
    2022-04-04
  • 解决Chrome在新版MacOS上报错 NET::ERR_CERT_WEAK_KEY 的问题

    解决Chrome在新版MacOS上报错 NET::ERR_CERT_WEAK_KEY 的问题

    这篇文章主要介绍了解决Chrome在新版MacOS上报错 NET::ERR_CERT_WEAK_KEY 的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • MobaXterm连接服务器如何在关闭会话的情况下依然执行程序(最新推荐)

    MobaXterm连接服务器如何在关闭会话的情况下依然执行程序(最新推荐)

    这篇文章主要介绍了MobaXterm连接服务器如何在关闭会话的情况下依然执行程序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Gateway网关工作原理及使用方法

    Gateway网关工作原理及使用方法

    本文详细讲解了Gateway网关工作原理及使用方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12

最新评论