文章目录

    • Prometheus架构图
    • Prometheus生态圈组件
      • Prometheus Server
      • client libraries
      • Pushgateway
      • exporter
      • Alartmanager
    • Prometheus架构理解
      • 存储计算层
      • 采集层
      • 应用层

Prometheus架构图

Prometheus生态圈组件

Prometheus Server

主服务器,负责收集和存储时间序列数据

client libraries

应用程序代码插桩,负责将监控指标嵌入到被监控应用中

Pushgateway

推送网关。为支持short-lived作业提供一个推送网关

exporter

专门为一些应用开发的数据镊取软件— exporter
如:HAProxy、StatsD、Graphite 等等。

Alartmanager

专门用于处理alart的组件

Prometheus架构理解

Prometheus既然设计为一个存储纬度的模型,那就可以将其理解为一个OLAP模型

存储计算层

  • Prometheus Server
    主服务器,包含了存储引擎和计算引擎

  • Retrival
    取数组件,它会主动从pushgateway或是exporter拉去指标数据

  • Service Discovery
    可以动态发现需要监控的指标

  • TSDB(时间序列数据库)
    数据核心存储和查询

  • HTTP Server
    对外提供http服务

采集层

采集分为两类:一类是生命周期较短的作业,另一类是生命周期较长的作业:

  • 短周期作业:直接通过API,在退出时间指标之前推送给pushgateway
  • 长周期作业:Retrival直接从Job或者exporter中拉取数据

应用层

应用层主要分为两部分:一是alartmanager,另一个是数据可视化

  • AlertManager
    对接 Pagerduty,是一套付费的监控报警系统。可实现短信报警、5 分钟无人 ack 打
    电话通知、仍然无人 ack,通知值班人员 Manager…Emial,发送邮件
  • 数据可视化
    Prometheus build-in WebUI
    Grafana
    其他基于 API 开发的客户端