zoukankan      html  css  js  c++  java
  • Prometheus组件介绍

    Prometheus Server

    Prometheus Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。
    Prometheus Server可以通过静态配置管理监控目标,也可以配合使用Service Discovery的方式动态管理监控目标,并从这些监控目标中获取数据。
    其次Prometheus Server需要对采集到的监控数据进行存储,PrometheusServer本身就是一个时序数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。
    最后PrometheusServer对外提供了自定义的PromQL语言,实现对数据的查询以及分析。
    Prometheus Server内置的Express Browser UI,通过这个UI可以直接通过PromQL实现数据的查询以及可视化。
    Prometheus Server的联邦集群能力可以使其从其他的Prometheus Server实例中获取数据,因此在大规模监控的情况下,可以通过联邦集群以及功能分区的方式对Prometheus Server进行扩展。

    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等。

    AlertManager

    在Prometheus Server中支持基于PromQL创建告警规则,如果满足PromQL定义的规则,则会产生一条告警,而告警的后续处理流程则由AlertManager进行管理。
    在AlertManager中我们可以与邮件,Slack等等内置的通知方式进行集成,也可以通过Webhook自定义告警处理方式。
    AlertManager即Prometheus体系中的告警处理中心。

    PushGateway

    由于Prometheus数据采集基于Pull模型进行设计,因此在网络环境的配置上必须要让Prometheus Server能够直接与Exporter进行通信。
    当这种网络需求无法直接满足时,就可以利用PushGateway来进行中转。
    可以通过PushGateway将内部网络的监控数据主动Push到Gateway当中。而Prometheus Server则可以采用同样Pull的方式从PushGateway中获取到监控数据。

  • 相关阅读:
    AngularJS---核心特性
    前后端分离原理
    吴军 见识 读后感
    CSS 颜色名称和CSS 颜色十六进制值
    springmvc+jsp引用本地图片文件
    Eclipse 构建Maven项目--普通web项目 复制另外一个项目的配置文件导致的问题
    html input type=date 赋值问题 必须yyyy-mm-dd格式
    解决eclipse中运行web项目时弹出的"Port 8080 required by Tomcat 9.0 Server at localhost is already in use...
    解决 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)
    SpringMVC HelloWorld实例开发及部署
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13305764.html
Copyright © 2011-2022 走看看