详情页标题前

阿里云日志服务SLS日志采集Agent对比-云淘科技

详情页1

日志采集场景下客户端测评

DT时代,数以亿万计的服务器、移动终端、网络设备每天产生海量的日志。中心化的日志处理方案有效地解决了在完整生命周期内对日志的消费需求,而日志从设备采集上云是始于足下的第一步。阿里云日志服务SLS日志采集Agent对比-云淘科技

三款日志采集工具

  • Logstash
    • 开源界ELK stack中的”L”,社区活跃,生态圈提供大量插件支持
    • Logstash基于JRuby实现,可以跨平台运行在JVM上。
    • 模块化设计,有很强的扩展性和互操作性。
  • Fluentd
    • 开源社区中流行的日志采集工具,td-agent已正式商用,由Treasure Data公司维护,是本文选用的评测版本。
    • Fluentd基于CRuby实现,并对性能表现的一些关键组件用C语言重新实现,整体性能不错。
    • Fluentd设计简洁,pipeline内数据传递可靠性高。
    • 相较于Logstash,其插件支持相对少一些。
  • Logtail
    • 阿里云日志服务的生产者,经过多年阿里集团大数据场景考验。
    • 采用C++语言实现,在稳定性、资源控制、管理等方面表现较好,性能良好。
    • 相比于Logstash、Fluentd的社区支持,Logtail功能较为单一,专注日志采集功能。

功能对比

功能项LogstashFluentdLogtail
日志读取轮询轮询事件触发
文件轮转支持支持支持
Failover处理 (本地checkpoint)支持支持支持
通用日志解析支持grok(基于正则表达式)解析支持正则表达式解析支持正则表达式解析
特定日志类型支持delimiter、key-value、json等主流格式支持delimiter、key-value、json等主流格式支持delimiter、key-value、json等主流格式
数据发送压缩插件支持插件支持LZ4
数据过滤支持支持支持
数据buffer发送插件支持插件支持支持
发送异常处理插件支持插件支持支持
运行环境JRuby实现,依赖JVM环境CRuby、C实现,依赖Ruby环境C++实现,无特殊要求
线程支持支持多线程多线程受GIL限制支持多线程
热升级不支持不支持支持
中心化配置管理不支持不支持支持
运行状态自检不支持不支持支持cpu/内存阈值保护

日志文件采集场景-性能对比

以Nginx的access log为样例,如下一条日志365字节,结构化成14个字段:阿里云日志服务SLS日志采集Agent对比-云淘科技

在下面的测试中,将模拟不同的压力将该日志重复写入文件,每条日志的time字段取当前系统时间,其它13个字段相同。相比于实际场景,模拟场景在日志解析上并无差异,有一点区别是:较高的数据压缩率会减少网络写出流量。

Logstash

logstash-2.0.0版本,通过grok解析日志并写出到kafka(内置插件,开启gzip压缩)。

日志解析配置:

grok {    
    patterns_dir=>"/home/admin/workspace/survey/logstash/patterns"
    match=>{ "message"=>"%{IPORHOST:ip} %{USERNAME:rt} - \[%{HTTPDATE:time}\] \"%{WORD:method} %{DATA:url}\" %{NUMBER:status} %{NUMBER:size} \"%{DATA:ref}\" \"%{DATA:agent}\" \"%{DATA:cookie_unb}\" \"%{DATA:cookie_cookie2}\" \"%{DATA:monitor_traceid}\" %{WORD:cell} %{WORD:ups} %{BASE10NUM:remote_port}" }
    remove_field=>["message"]
}

测试结果:

写入TPS 写入流量(KB/s) CPU使用率(%) 内存使用(MB)
500 178.22 22.4 427
1000 356.45 46.6 431
5000 1782.23 221.1 440
10000 3564.45 483.7 450

Fluentd

td-agent-2.2.1版本,通过正则表达式解析日志并写入kafka(第三方插件fluent-plugin-kafka,开启gzip压缩)。

日志解析配置:


  type tail
  format /^(?\S+)\s(?\d+)\s-\s\[(?[^\]]*)\]\s"(?[^\"]+)"\s(?\d+)\s(?\d+)\s"(?[^\"]+)"\s"(?[^\"]+)"\s"(?\d+)"\s"(?\w+)"\s"(?
\w+)"\s(?\w+)\s(?\w+)\s(?\d+).*$/
  time_format %d/%b/%Y:%H:%M:%S %z
  path /home/admin/workspace/temp/mock_log/access.log
  pos_file /home/admin/workspace/temp/mock_log/nginx_access.pos
  tag nginx.access

测试结果:

写入TPS 写入流量(KB/s) CPU使用率(%) 内存使用(MB)
500 178.22 13.5 61
1000 356.45 23.4 61
5000 1782.23 94.3 103


说明 受GIL限制,Fluentd单进程最多使用1个cpu核,可以使用插件multiprocess以多进程的形式支持更大的日志吞吐。

Logtail

logtail 0.9.4版本,设置正则表达式进行日志结构化,数据LZ4压缩后以HTTP协议写到阿里云日志服务,设置batch_size为4000条。

日志解析配置:

logRegex : (\S+)\s(\d+)\s-\s\[([^]]+)]\s"([^"]+)"\s(\d+)\s(\d+)\s"([^"]+)"\s"([^"]+)"\s"(\d+)"\s"(\w+)"\s"(\w+)"\s(\w+)\s(\w+)\s(\d+).*
keys : ip,rt,time,url,status,size,ref,agent,cookie_unb,cookie_cookie2,monitor_traceid,cell,ups,remote_port
timeformat : %d/%b/%Y:%H:%M:%S

测试结果:

写入TPS 写入流量(KB/s) CPU使用率(%) 内存使用(MB)
500 178.22 1.7 13
1000 356.45 3 15
5000 1782.23 15.3 23
10000 3564.45 31.6 25

单核处理能力对阿里云日志服务SLS日志采集Agent对比-云淘科技

总结

可以看到三款日志工具各有特点:

  • Logstash支持所有主流日志类型,插件支持最丰富,可以灵活DIY,但性能较差,JVM容易导致内存使用量高。
  • Fluentd支持所有主流日志类型,插件支持较多,性能表现较好。
  • Logtail占用机器CPU/内存资源最少,性能吞吐量较好,针对常用日志场景支持全面,但缺少插件等机制,灵活性和可扩展性不如以上两个客户端。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/165918.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSCDN加速和OSS传输加速的区别-云淘科技

    概述 本文主要介绍阿里云对象存储OSS的传输加速功能和CDN加速OSS资源的区别,以便您根据实际业务进行选择。 详细信息 阿里云对象存储OSS以海量、安全、低成本、高可靠等特点已经成为用户存储静态资源和文件的首要选择,实际使用中面向全球各地用户访问OSS资源时,访问速度会受到客户端网络、OSS的下行带宽、Bucket地域、访问链路长等限制出现访问慢的情况。以…

    阿里云对象存储 2023年12月10日
  • 阿里云日志服务SLS查看告警记录-云淘科技

    日志服务以告警日志方式提供告警历史记录信息,并自动创建仪表盘以可视化展示所有告警规则的执行与通知情况。 背景信息 在Logstore中查看告警日志 创建告警规则时,日志服务自动为告警所属的Project创建一个名为internal-alert-history的Logstore。当前Project内所有告警规则的每一次执行无论是否触发告警,都会产生一条日志并写…

    2023年12月10日
  • 阿里云日志服务SLS管理数据加工任务-云淘科技

    本文介绍如何在日志服务控制台上管理数据加工任务,包括查看任务详情与状态,修改、启动、停止和删除任务,设置告警等操作。 查看任务详情 登录日志服务控制台。 在Project列表区域,单击目标Project。 在左侧导航栏中,选择任务管理 > 数据加工。 在加工任务列表中,单击目标加工任务。 在数据加工概览页面,查看加工任务详情。 配置项 说明 源日志库 …

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS如何在日志中搜索包含空格的关键字-云淘科技

    本文主要介绍如何在日志中搜索包含空格的关键字。 搜索包含空格的关键字时,如果在筛选框直接搜索,则会得到包含空格左侧关键字或右侧关键字的所有日志。建议您在查询包含空格关键字时,将关键字使用双引号包裹起来,将引号中的内容作为一个关键字进行搜索,搜索结果就是符合条件的日志内容。 例如,当您搜索POS version时,会得到包含POS或者version的所有日志,…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云人工智能平台PAI什么是机器学习PAI-云淘科技

    机器学习PAI(Platform of Artificial Intelligence)是阿里云人工智能平台,提供一站式的机器学习解决方案。本文为您介绍什么是机器学习PAI。 什么是机器学习 机器学习是指机器通过统计学算法对大量历史数据进行学习,进而利用生成的经验模型指导业务。目前,机器学习主要应用在以下场景: 营销类场景:商品推荐、用户群体画像或广告精准投…

    阿里云人工智能平台PAI 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。