ilogtail采集数据中缺乏采集文件路径 #267
-
下面是通过ilogtail采集容器标准输出日志后控制台的打印
对比其它开源例如fluent bit会展示容器的标准输出采集文件的路径
fluent bit或者是filebeat会把当时采集文件的路径 当然对于容器标准日志输出的才加也可以不要返回采集路径,可以看社区未来是否有人需要。 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
1、首先需要明确下iLogtail内部数据流涉及的数据结构,顶层结构为LogGroup,子字段中Topic、LogTags、Logs都是跟日志相关的一些字段,具体可见链接。这个数据结构是跟SLS存储模型对应的,日志公共的一些信息会存在LogTags里,因此Logs跟LogTags组合才是完整的日志内容。 2、标准输出,虽然没有问题中提到的log_file_path(这个路径里有很多业务属性不太强的字符),但是ilogtail是有一些等价信息的:pod name、容器名、类型是stdout还是stderr,而这些信息是业务强关联的,所以友好型更强一些。 下图是标准输出采集到SLS后的结果(pod name、容器名、类型都是有的),因为SLS存储会去感知LogTags、Logs所以内容自然就展开了。 之所以上面输出到kafka的例子没有这些信息,是因为这些信息作为日志公共字段存在LogTags里了。所以kafka flusher里解下LogTags拼到日志里就可以了。 |
Beta Was this translation helpful? Give feedback.
1、首先需要明确下iLogtail内部数据流涉及的数据结构,顶层结构为LogGroup,子字段中Topic、LogTags、Logs都是跟日志相关的一些字段,具体可见链接。这个数据结构是跟SLS存储模型对应的,日志公共的一些信息会存在LogTags里,因此Logs跟LogTags组合才是完整的日志内容。
2、标准输出,虽然没有问题中提到的log_file_path(这个路径里有很多业务属性不太强的字符),但是ilogtail是有一些等价信息的:pod name、容器名、类型是stdout还是stderr,而这些信息是业务强关联的,所以友好型更强一些。
下图是标准输出采集到SLS后的结果(pod name、容器名、类型都是有的),因为SLS存储会去感知LogTags、Logs所以内容自然就展开了。
之所以上面输出到kafka的例子没有这些信息,是因为这些信息作为日志公共字段存在LogTags里了。所以kafka flusher里解下LogTags拼到日志里就可以了。
3、文件采集,日志中是有文件路径的: