Prometheus架构解析

一、整体架构模式

Prometheus主体是Pull(拉取)模型:Prometheus Server主动去各个target拉取指标;

只有短生命周期任务使用Push(推送),推送到Pushgateway

二、各个组件拆解

1.被监控端(监控目标targets)

①exporter(Jobs/exporters)

-- 持续运行的客户端采集程序,采集CPU、内存、磁盘、网络等metrics指标

-- 对外暴露/metrics接口,Prometheus server pull 拉取指标数据

例子:node_exporter、cAdvisor、mysqld_exporter

②短作业程序Short-lived jobs

程序执行完就退出,不会持续运行,不能等待Prometheus来拉取

解决办法:程序结束时,push推送指标给Pushgateway

2.Pushgateway(中间人,临时存放数据)

作用:专门接收短生命周期任务推送过来的监控指标,做临时存储

-- 注意:不是给普通exporter使用,只给一次性短作业使用

3.Service discovery 服务发现

自动发现监控target目标,不用手动写大量targets

①kubernetes:对接k8s,自动发现pod、service

②file_sd:读取配置文件,动态加载监控目标

4.Prometheus Server 服务核心(三大模块)

①Retrieval 抓取模块

按照scrape_interval抓取间隔(图中标15s),主动pull拉取各个target的metrics指标

②TSDB时序数据库

把采集到的指标,以时间序列格式持久化保存到磁盘(HDD/SSD)

时间序列:指标名+标签+时间戳+数值

③HTTP server API

对外提供API接口,支持PromQL查询,提供Web UI访问

5.告警链路

①Prometheus内部根据告警规则计算,产生警告,push推送给Alertmanager

②Alertmanager告警管理器:接受告警,做去重、分组、降噪

③通知渠道:Email邮件、pagerduty、微信、短信、电话等通知运维工程师

6.查询与可视化

①PromQL:Prometheus专属查询语句,用来查询时序指标数据

②Prometheus web UI:自带简易web页面,可以写PromQL查询,自带图表

③Grafana:专业可视化组件,调用Prometheus API,做丰富仪表盘、图形展示

④API clients:其他程序调用 Prometheus API 获取监控数据

7.完整两条数据流

①长期运行服务(exporter)

被监控主机exporter采集指标 → Prometheus Server(Retrieval 拉取 → TSDB 磁盘存储) → Grafana/webUI 展示;触发告警交给 Alertmanager 发送通知

②短生命周期一次性任务

短作业程序 push推送指标 → Pushgateway 临时保存 → Prometheus Server pull 拉取数据 → 存储、查询、告警展示

8.五大核心组件

①Prometheus server:核心,抓取、存储、计算告警规则

②exporter:被监控端采集指标

③grafana:可视化绘图

④alertmanager:告警管理、发送通知

⑤pushgateway:短作业推送指标的中间件

相关推荐
lbb 小魔仙4 天前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
zhoupenghui1684 天前
Golang pprof 工具详解:监控、压测与调优实战指南
prometheus·pprof
ggaofeng6 天前
prometheus时序数据库
prometheus
A心有千千结10 天前
Nginx网关可观测建设:打通流量入口,加速线上故障诊断
nginx·prometheus·devops
天天喝旺仔10 天前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
川石课堂软件测试14 天前
涨薪技术|Prometheus之HTTP API中使用PromQL
网络协议·测试工具·jmeter·http·单元测试·postman·prometheus
IT界的老黄牛16 天前
Prometheus TSDB 拆不出来、也存不了一年:4 条外部存储出路 + 容量测算
prometheus·时序数据库·监控·thanos·victoriametrics·remote_write
Ningcode_cloud16 天前
Kubernetes 弹性伸缩实验手册:从集群搭建到 HPA / VPA 自动扩缩容
云原生·k8s·prometheus
2601_9620973617 天前
可观测性实战:Prometheus+Grafana+OTel构建监控
grafana·prometheus·微服务架构·可观测性·opentelemetry
IT界的老黄牛17 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则