温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Prometheus kafka 消息队列适配器

发布时间:2020-04-10 20:26:16 来源:网络 阅读:1523 作者:筑梦攻城狮 栏目:编程语言

        最近工作上有个需求,需要把prometheus 采集到的数据上报到kafka消息队列,看了下官方实现,prometheus 支持remote_write / remote_read 的方式扩展,可以在此基础上做文章。


        github 上面有个现成的插件,看了一下,主要存在以下一些问题:        

        1、从环境变量读取配置(不够灵活,后续不好优化,不能做到配置热加载)        

        2、把client 对象创建的逻辑放到了http handler里面(每次prometheus 调用/write 接口,都要new一个对象...)        

        3、使用golang kafka 插件sarama 的同步生产者方式写数据(数据量大的情况下,性能可能跟不上)


        于是自己动手写一个插件,练练手。


        代码比较简单,就是以插件的方式部署适配器,接收prometheus 产生的数据并通过异步kafka 生产者模式,将数据输送给kafka。


        大致逻辑是这样:        

        1、从配置文件中获取kafka相关配置        

        2、本地监听9201 端口提供http 服务供prometheus 写入数据        

        3、从/write API 获取到prometheus监控数据后,将数据写入到channel        

        4、起一个kafka 异步生产者,从channel里面读取监控数据,并写入到kafka


Prometheus kafka 消息队列适配器


        代码具体代码:

        https://gitee.com/pmghong/prometheus-kafka-adapter


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI