flume

优势: 单source可支持多sink输出,能输出hdfs或者访问http接口,插件可扩展性较高(比如读个redis什么的)。失败策略保证消息的无丢失发送

劣势:不稳定,内存占用较大,长时间使用产生较多内存碎片。应用场景大多于离线文件搬运,偏大数据生态。

fluent-bit

优势:k8s生态组件,可自恢复,内存占用极少。守护进程,业务无侵入。 母组件fluentd可以做日志代理中心。

劣势:默认配置优化?读取端是单线程(所以cpu占用较高?)。插件只支持C、go语言,有专门的kafka插件,维护难度较高。

filebeat

elastic生态组件,golang组件, 为解决 Logstash "太重" 的问题

优势:资源占用极少,性能非常强。对文件控制很灵活,保证不重复读取。内置多种结构化方案(如json),output支持大部分主流组件(支持redis)。支持容器化。

劣势:默认配置需要优化(常见问题:注册表会很大)close_inactive和scan_frequency两个参数很重要。无法保证不重复发送。

logagent:

优势:使用简单。deamon进程。对外提供http拉取服务。记录文件消费位置。接入es很方便。

劣势:不支持大内容(20M)的返回。java编写的agent,gc会对宿主机有卡顿表现。

matomo:

优势:简单搜索和可视化集一身,

劣势:业务侵入,需要埋点。收集能力有局限性。

Logstash: 重,慢。

Logan:

美团开源移动端日志收集组件

相关资料:

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐