不同日志服务框架对比
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,轻量,开源,部署简单