prometheus组件静态结构(一):指标采集

本系列尝试分析prometheus中部分重要模块的静态结构。

scrape模块在prometheus中负责着采集具体指标,并记录到后端存储中的功能,可以说是prometheus最为核心的一个功能模块。

prometheus的指标采集模块静态结构如下图:

在一个管理面(scrapeManager)中,每次初始化(重载),会根据配置的份数创建出对应的采集缓冲池(scrapePool);在缓冲池中,每一个监控目标会对应创建一个采集循环(scrapeLoop);采集循环可以认为是最小的一个工作单位,下图进一步解析采集循环的静态结构:

采集的主要流程函数在scrape.go中的scrapeAndReport,采集接口(scraper)采集到数据后,会先调用append方法写到采集缓冲层(scrapeCache)中,最后调用持久化的Commit方法写到后端存储。

静态结构梳理清晰之后,阅读源码的难度会相对下降一些,通过分析每个层次实现的方法,基本可以打通这个模块的脉络。相应的源码解析博客附在文末。

参考文档:

https://blog.youkuaiyun.com/dengxiafubi/category_9042830.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值