LogAgent | FileBeat | Fluentd | |
语言 | JS | Go | Ruby |
star | 292 | 8.6K | 8.9K |
代码更新 | 快 | 快 | 慢 |
产品所属 | Sematext | Elastic | Fluentd |
是否支持自动发现 | 是 | 是 | 否 |
是否能采集syslog | 是 | 是 | 是 |
k8s部署 | DaemonSet | DaemonSet | DaemonSet |
是否支持容器采集 | 是 | 是 | 是(官网没有) |
是否支持win系统日志 | 是 | 否(若采集,需要Winlogbeat) | 是 |
输出的数据格式 | Json | Json | Json |
支持的输出接口 | Files/http/kafka/ES/MQTT/influxDB | File/kafka/ES/redis/console/logstash | File/http/kafka/ES/mongo |
是否可可视化配置 | 否 | 否 | 是 |
是否支持缓存 | 是 | 否 | 是 |
可扩展性 | 插件化 | 插件化 | 插件化 |
易用性 | 不够细 | 详细 | 详细 |
脱敏功能 | 是 | 否 | 否 |
语言绑定 | Node.js | - | Java/ruby/python/perl/php/node.js/scala |
日志完整性 | 带磁盘缓冲区,网络恢复日志重传 | at-least-once机制 | 重试机制 |
以上三种均为轻量级开源日志采集器;
FileBeat支持自动发现功能,主要针对docker 和 K8S 容器日志发现;
三者都具有数据过滤功能;
Fluentd对于小的或者嵌入式的设备,可能需要看看 Fluent Bit;
LogAgent和FileBeat具备IP解析能力;
LogAgent:
GitHub 地址:https://github.com/sematext/logagent-js
在线文档:https://sematext.com/docs/logagent/
FileBeat:
GitHub 地址:https://github.com/elastic/beats/tree/master/filebeat
在线文档:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html
Fluentd:
GitHub 地址:https://github.com/fluent/fluentd/
在线文档:https://docs.fluentd.org/
Fluentd着实功能强大,但是ruby开发,感觉LogAgent 是fileBeat 的node版本,最终选择新秀 LogAgent。