B站源码中的log-agent
抱着学习的心态学习一下别家农场
的代码,不同厂商的代码习惯肯定是不同的,标准更为的不同,这些都是我们可以学习的目标,毕竟很多东西是可以用来借鉴的,当然,轮子这玩意,能用现在还在维护的,就使用还在维护的,我其实有点不理解为啥要重复造轮子这事。
前言
根据现在在了解的东西,选了一个log-agent模块来看看,初看只看发现有点眼熟,后来看了下确实是filebeat
,这里面很多东西是搬的filebeat
那一套,当然,我说的就包括有设计框架,那到底B站是怎么魔改的呢,借此我要来学习了。
学习
代码目录:
见解:
代码详情:
这里我只写到两个函数就终止:
pipeline.InitPipelineMng:
hostlogcollector.InitHostLogCollector:
其中context的应用,也是一个可以关注的点,这个玩意在gin,trace等各类上下文的操作中都有着很多应用。
疑惑
另外我在这份代码上头有个疑惑,我认为这个地方有点问题:
最后
因为log-agent参考的是filebeat的代码,上面input很多参数信息都是需要参考下filebeat的,否则很多信息都是无法知晓其含义的。
看图应该是看不清的,如果后面有人看到这的,可以自行去搜索看看,在elastic官网上解释的非常详尽。
本文标题:B站源码中的log-agent
文章作者:小师
发布时间:2020-02-18
最后更新:2022-05-04
原始链接:chunlife.top/2020/02/18/B站源码中的log-agent/
版权声明:本站所有文章均采用知识共享署名4.0国际许可协议进行许可