美文网首页
open-falcon agent学习

open-falcon agent学习

作者: 一盆饭 | 来源:发表于2018-04-12 15:51 被阅读30次

    采集发送指标主流程:

    1.主函数调用BuildMappers()方法,agent初始化一个数组,存了五种类型的map的FuncsAndInterval,每个FuncsAndInterval结构体包括采集指标的匿名函数和循环周期

    2.当主函数执行collect()方法,每一种类型的map一个协程,分别回调FuncsAndInterval中的方法采集指标

    3.采集的指标过滤,打时间戳,发送transfer,是串行发送;也就是说一种类型的FuncsAndInterval指标一个协程采集->发送

    4.rpc调用transfer的update()方法发送指标,失败了记日志


    关于agent发送指标到transfer:

    1.遍历接收到的指标项,首先做异常处理,包括(nil,“kernel.hostname”,指标、endpoint为“”,指标类型不属于gauge/counter/derive,value为"",step<0,metric+endpoint长度>1024)都会过滤,reply.Invalid++

    *注释说要限制tag的数量,但是并未做处理

    2.发送三份数据分别到graph,judge,opentsdb

    除此之外还有

    定时向hbs心跳服务请求

    1.通过hbs获取缓存的策略,agent采集的本地指标,包括url,port,du

    2.通过hbs更新agent状态

    3.通过hbs更新agent插件

    相关文章

      网友评论

          本文标题:open-falcon agent学习

          本文链接:https://www.haomeiwen.com/subject/spxfkftx.html