背景前段时间无意间看到一篇公众号招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe用于整合目前市面上散落在各地的Exporter,统一进行管理。比如我们常用的blackbox_exporter/mysqld_exporter等。以往的每一个 Exporter 都需要单独部署运维。同时又完全兼容Prometheus生态,也可以复用现有的监控面板。恰好这段时间我也在公司从事可观测性相关的业务,发现这确实是一个痛点。于是便一直在关注这个项目,同时也做了些贡献;因为该项目的核心是用于整合 exporter,所以为其编写插件也是非常重要的贡献了。编写插件整个项目执行流程图如下:可以看到编写插件最核心的便是自定义插件解析自定义的配置文件、抓取指标的逻辑。比如我们需要在配置中指定抓取目标的域名、抓取规则等。这里cprobe已经抽象出了两个接口,我们只需要做对应的实现即可。123456typePlugininterface{// ParseConfig is used to parse configParseConfig(baseDirstring, bs []byte) (any,error)// Scrape is used to scrape metrics, cfg need to be cast specific cfgScrape(ctx contex
...
继续阅读
(97)