不同日志服务框架对比

Logtail Appender ELK Hadoop Splunk
费用 按量收费 按量收费 开源 开源 商业版
服务端 安装logtail服务端,配置采集源 logstash Splunk服务端
客户端 安装logtail客户端 替换log4j并配置 logstash-forwarder Splunk客户端
搭建难度 按照教程配置 简单 开源相关软件全部安装 开源相关软件全部安装 官网下载后破解
分布式支持 支持 支持 支持 支持
数据范围 增量数据 增量数据 全量数据 全量数据 全量数据
方式 目标机器 -> 服务端 服务端 -> 阿里云 目标机器 -> 阿里云 目标机器 -> 服务端 (logstash -> ElasticSearch) 目标机器 -> 服务端 目标机器 -> 服务端 (forward -> server)
传输格式 极简/分隔符/JSON格式 原内容 过滤后/JSON格式 可过滤 过滤后的索引文件
监控 logtail有控制台 logstash可监控 flume Splunk forward
可靠性(数据丢失率)
数据迁移/硬盘增加[指日志数据] 监控增加目录配置
查看[图形化界面] 阿里后台 阿里后台 kibana 分析结果入库查询? 服务端web控制台
权限 阿里账号 阿里账号 权限可分配 权限可分配
语法 大同小异
扩展 局限于阿里云系列产品 插件 插件
图形化支持
支持导出 导出阿里云存储类系列产品 kibana导出cvs/excel ? excel/其他

日志聚合工具:阿里云logtail,Appender,ELK,Hadoop,Splunk,Graylog2,Loki

阿里云logtail,配置简单,有问题也可提交工单进行询问,但是付费

阿里的Appender,配置简单,只要替换相关jar包,并做log4j的配置即可,且不占用自己磁盘空间,直接上传服务器。但是收费!

Splunk,免费仅支持每天500M数据,商业版按照数据大小计费.

ELK,开源,配置较多,需优化,比较笨重,并且开源版本没有登录限制.

Hadoop,过于重量级

Graylog2,开源,安装方便,可个性化定制开发

Loki,开源,安装简单,轻量且易于操作

对比

ELK vs Graylog

两者之间最重要的区别在于,从一开始,Graylog就定位为强大的日志解决方案,而ELK则是大数据解决方案。 Graylog可以通过网络协议直接从应用程序接收结构化日志和标准syslog。相反,ELK是使用Logstash分析已收集的纯文本日志的解决方案,然后解析并将它们传递给ElasticSearch。
在ELK中,Kibana扮演仪表盘的角色并显示从Logstash收到的数据。Graylog在这点上更方便,因为它提供了单一应用程序解决方案(不包括ElasticSearch作为灵活的数据存储),具有几乎相同的功能。因此,部署所需的时间更短。此外,与ELK相比,Graylog开箱即用,且具有出色的权限系统,而Kibana则不具备此功能。Graylog具有直观的GUI,并提供警报、报告和自定义分析功能。最重要的是,它能在多个日志源和跨机房收集数TB的数据。

  • 免费的开源工具
  • 相比ELK更优秀的报警功能
  • 更好的交互,通过跟踪Graylog收到的错误堆栈,工程师可以了解源代码中的上下文。这大量节省了排错的时间和精力
  • 强大的搜索功能,支持TB级别的查询
  • 有归档功能,超过30天的所有内容都可以存储在廉价存储中,在出现查询需求时,可以重新导入到Graylog
  • Python库支持

ELK vs Loki

  • ELK虽然功能丰富,但规模复杂,资源占用高,操作苦难,很多功能往往用不上,有点杀鸡用牛刀的感觉。
  • 不对日志进行全文索引。通过存储压缩非结构化日志和仅索引元数据,Loki 操作起来会更简单,更省成本。
  • 通过使用与 Prometheus 相同的标签记录流对日志进行索引和分组,这使得日志的扩展和操作效率更高。
  • 安装部署简单快速,且受 Grafana 原生支持。

总结

推荐使用Graylog2和Loki,轻量,开源,部署简单