一、常见agent 对比
功能项 | logstash | filebeats | fluentd | logtail(阿里) | loglistener(CLS) |
---|---|---|---|---|---|
日志读取 | 轮询 | 轮询 | 轮询 | 事件 | 事件 |
日志格式 | 支持delimiter、key-value、json等主流格式 | json、单行和多行 | 支持delimiter、key-value、json等主流格式 | 支持delimiter、key-value、json等主流格式 | 支持delimiter、key-value、json等主流格式 |
采集源 | 文件和TCP(Lumberjack和syslog) | 文件和TCP(syslog和\n分隔符) | 文件和TCP(json) | 文件和TCP(Lumberjack和syslog) | 文件 |
发送压缩 | 插件支持 | 支持 | 插件支持 | 支持 | 支持 |
热升级 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 |
实现语言 | JRuby(JVM) | go | CRuby和C | C/C++ | C/C++ |
多核支持 | 支持 | 支持 | 支持但受GIL限制 | 支持 | 不支持 |
支持平台 | Linux、windows和MAC | Linux、windows和MAC | Linux、windows和MAC | Linux和windows | Linux |
备注 | 可以作为采集agent和server,插件很多ali提供了直接写日志服务的插件 | 采集agent直接写ES或者支持输出Lumberjack 协议 | 支持写入到kafka、hdfs等 | 写入到aliyun日志服务, 或者接收Lumberjack协议的输入 | 写入到腾讯云CLS |
注:beats系列(MetricBeat、PacketBeat、Winlogbeat、Auditbeat、Filebeat、Heartbeat等)
特点对比:
二、协议格式
常用的协议格式有:
三、对比loglistener和logtail
监测指标: cpu 、内存、磁盘、网络消耗和 qps情况,监控方式3秒钟一个点求均值。
测试日志格式: nginx 日志 分隔符和单行全文
测试环境: CVM: 2cpu + 4Gmem + 200Mbps
四、对比结果
分析: cpu使用率logtail比loglistener低5%左右,但是内存比loglistener高了差不多一倍,网络消耗基本差不多,采集能力基本上都是10w/s没有积压。
2. 分隔符-10w/s qps
分析: 采集能理上loglistener是1.96w/s,logtail是4.93w/s都有积压,cpu logtail 高20%,单内存消耗是loglistener
的3.5倍,网络差不多是4倍。
3. 对比分析
测试项 | qps | cpu | 内存 | 网络 | |
---|---|---|---|---|---|
单行全文(10w/s) | loglistener | 10w/s | 30% | 40MB | 13MB |
logtail | 10w/s | 38% | 80MB | 13MB | |
分隔符(10w/s) | loglistener | 3.69w/s | 80% | 40MB | <5MB |
logtail | 4.93w/s | 100% | 145MB | 20MB |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。