chenyahui / chenyahui.github.io

My blog
http://www.cyhone.com
0 stars 2 forks source link

Elastic-Filebeat 实现原理剖析 | 编程沉思录 #33

Open chenyahui opened 4 years ago

chenyahui commented 4 years ago

https://www.cyhone.com/articles/analysis-of-filebeat/

Filebeat 是使用 Golang 实现的轻量型日志采集器,也是 Elasticsearch stack 里面的一员。本质上是一个 agent,可以安装在各个节点上,根据配置读取对应位置的日志,并上报到相应的地方去。 Filebeat 的可靠性很强,可以保证日志 At least once 的上报,同时也考虑了日志搜集中的各类问题,例如日志断点续读、文件名更改、日志 Truncated 等。

younglifestyle commented 4 years ago

kfrico commented 4 years ago

請問一下,Harvester再log多行的設定下是否無法跨檔案收集?

我在filebeat收集k8s裡的log,單條log如果超過16k會分段輸出然後log檔案10M就會logrotate分切兩個檔案 但是Harvester又沒辦法跨檔案合併起來

chenyahui commented 4 years ago

請問一下,Harvester再log多行的設定下是否無法跨檔案收集?

我在filebeat收集k8s裡的log,單條log如果超過16k會分段輸出然後log檔案10M就會logrotate分切兩個檔案 但是Harvester又沒辦法跨檔案合併起來

@kfrico filebeat的确不支持这种跨文件的搜集,毕竟和其架构设定就不一致了。 不过对于这种特殊需求,可以自行开发filebeat的input组件,定制自己的需求

kfrico commented 4 years ago

這個好像也算是特殊需求,k8s預設的docker log driver是json-file 預設就16k分段也無法修改16k分段的設定,好奇的是怎麼大家都沒遇到這樣的問題