文档首页/ 云日志服务 LTS/ 常见问题/ 产品咨询问题/ 云日志服务LTS对比自建ELK Stack有什么优势?
更新时间:2024-11-01 GMT+08:00

云日志服务LTS对比自建ELK Stack有什么优势?

本章节主要介绍华为云日志服务(LTS)对比自建ELK,帮助您更好的了解LTS的主要功能和优势。

背景信息

提到日志搜索,很多人都会想到基于ELK Stack(Elasticsearch/Logstash/Kibana)来搭建,开源的ELK方案,在社区中有大量的内容和使用案例供大家参考。

华为云日志服务LTS,聚焦3大场景(应用运维/等保合规/业务运营),为客户提供采、存、查、加工、分析和告警全托管式日志分析平台。更多信息请参考图解云日志服务

功能对比

云日志服务LTS在功能特性的完备度、日志搜索分析性能方面对比ELK有明显的优势,详细对比请见如下表格:

特性

子特性

LTS

ELK

描述

日志采集

云服务日志采集

☆☆☆☆☆

ELK:不支持采集云服务日志。

LTS:云服务租户面日志统一采集到LTS。

虚机和容器日志采集

☆☆☆☆☆

☆☆☆☆

ELK:使用logstash或者filebeat等开源采集器采集日志。

LTS:使用ICAgent采集日志,有提供向导页面,上手难度低。

多语言SDK日志采集

☆☆☆

ELK:不支持。

LTS:提供java SDK直接上报日志到LTS

主机组管理(主机动态扩缩容)

☆☆☆☆☆

ELK:不支持。

LTS:提供主机管理、主机组管理能力,主机组支持自定义标识主机组,可以管理动态扩缩容主机组。

日志结构化解析

☆☆☆☆

☆☆☆☆☆

ELK:基于采集器实现自定义日志结构化解析。

LTS:提供结构化解析能力,可以正则表达式、JSON、分隔符、自定义模板等方式解析日志。

日志搜索

关键词搜索、模糊搜索、快速分析

☆☆☆☆☆

☆☆☆☆☆

ELK和LTS:提供类似的日志关键词搜索能力。

实时日志查看

☆☆☆☆☆

ELK:未提供实时日志查看页面。

LTS:提供实时日志查看页面。

百亿日志秒级搜索

☆☆☆☆☆

☆☆

ELK:自建ELK受限于机器资源数量,搜索海量日志时耗时较长。

LTS:利用公有云海量的弹性计算资源,百亿日志可以在3秒内返回搜索结果。

千亿级日志迭代搜索

☆☆☆☆☆

ELK:无法直接搜索千亿条日志,会出现响应超时。

LTS:提供迭代搜索能力,用户可以直接搜索千亿条日志。

日志管理规模

百PB级

百TB级

ELK:经常要关注机器扩容,费时费力。

LTS:按需付费,LTS自动管理百PB级日志,不用关心底层资源消耗情况。

日志搜索

SQL分析日志

☆☆☆☆☆

☆☆

ELK:SQL性能差,语法上不支持嵌套SQL。

LTS:SQL性能强,支持嵌套SQL。

日志搜索

SQL函数

☆☆☆☆☆

☆☆

ELK:只支持最基础的SQL统计函数。

LTS:在基础SQL函数基础上,提供了大量的扩展函数,例如IP函数、统计函数、环比同比函数、URL函数等,极大扩展了使用场景。

日志搜索

可视化图表

☆☆☆☆

☆☆☆

LTS:提供了表格、折线图、饼图、柱状图等多种可视化图表。

日志搜索

仪表盘

☆☆☆☆☆

☆☆

ELK:没有云服务日志开箱即用仪表盘。

LTS:提供开箱即用的仪表盘,对常见的云服务日志例如ELB/APIG/DDS/DCS/CFW等提供开箱即用的仪表盘。

日志告警

日志关键词告警和SQL告警

☆☆☆☆☆

ELK:没有日志告警功能。

LTS:提供准实时的日志关键词和SQL告警功能。

告警通知渠道(邮件、短信、HTTPS等)

☆☆☆☆☆

ELK:无法将告警方便地以钉钉、微信、短信等方式通知用户。

LTS:对接华为云消息通知服务,能以邮件、短信、微信、钉钉、飞书、HTTP等多种渠道通知客户。

日志转储

转储到对象存储

☆☆☆☆☆

ELK:无法直接转储对象存储。

LTS:页面简单配置可以将日志转储到对象存储。

日志转储

转储到kafka

☆☆☆☆☆

☆☆

ELK:需要自己部署程序将日志转发到KAFKA。

LTS:页面简单配置可以将日志实时转储到KAFKA。

日志转储

转储到数据仓库

☆☆☆☆☆

ELK:无法直接将日志转储到数据仓库。

LTS:页面简单配置可以将日志转储到数据仓库。

日志加工

定时SQL作业

☆☆☆☆☆

ELK:没有定时SQL作业能力。

LTS:可以配置定时SQL作业,将原始日志加工统计为想要的少量日志结果。

函数加工

☆☆☆☆☆

ELK:没有日志加工功能。

LTS:提供函数触发器,在函数服务中可以配置自定义脚本将日志灵活加工。

成本对比

场景一:

假设客户每天原始日志100GB(日志平均速率1.16MB/s),日志平均存储30天,30天原始日志总量为3000GB,日志存储方式为一主一副本。

根据Elasticsearch官方推荐,在一主一副本存储方式下,原始日志+副本数据+索引数据等合计占用的存储空间约为原始日志大小2.2倍,另外由于ES集群存在写不均匀且磁盘不能被耗尽,因此为了存储3000GB原始日志,至少需要准备3000GB*2.2(存储膨胀)*2(50%磁盘冗余) = 13200GB磁盘。

搭建ES最小典型配置是3台ECS(16U64G5TB),kafka双副本能支持缓存最近12小时的日志。

表1 自建ELK

大类

小类

月成本(合计:1764USD

费用占比

搭建ES

3 * ECS(C6 16U64G)

3*1999*0.1401=840USD

47.6%

云硬盘EVS(高IO 15TB)

0.35*15*1024*0.1401=753USD

42.7%

搭建KAFKA

3 * ECS(2U4G)

3*208*0.1401=87USD

4.9%

云硬盘EVS(超高IO 3*200GB)

600*0.1401=84USD

4.7%

LTS使用价格计算器,计算出来月成本约为539.89USD,使用LTS的成本约为自建ELK成本的16.7%,原因是在小日志量场景下,自建ELK起步资源成本很高,相比于按需付费的LTS,有很大劣势。

场景二:

假设客户每天原始日志1TB(日志平均速率11.6MB/s),日志平均存储7天,7天原始日志总量为7TB,日志存储方式为一主一副本。根据Elasticsearch官方推荐,在一主一副本存储方式下,原始日志+副本数据+索引数据等合计占用的存储空间约为原始日志大小2.2倍,另外由于ES集群存在写不均匀且磁盘不能被耗尽,因此为了存储7TB原始日志,至少需要准备7TB*2.2(存储膨胀)*2(50%磁盘冗余) = 31 TB磁盘。

搭建ES最小典型配置是3台ECS(16U64G10TB),kafka双副本能支持缓存最近12小时的日志

表2 自建ELK

大类

小类

月成本(合计:2652USD

费用占比

搭建ES

3 * ECS(C6 16U64G)

3*1999*0.1401=840USD

31.7%

云硬盘EVS(高IO 31TB)

0.35*31*1024*0.1401=1557USD

58.7%

搭建KAFKA

3 * ECS(2U4G)

3*208*0.1401=87USD

3.3%

云硬盘EVS(超高IO 3*400GB)

1200*0.1401=168USD

6.3%

LTS使用价格计算器,计算出来月成本约为3409.92USD,使用LTS的成本约为自建ELK成本的71%,原因是LTS的存储收费是按用量付费,自建ELK为了保证集群的正常运行需要留有很多磁盘冗余。

场景三:

假设客户每天原始日志5TB(日志平均速率58MB/s),日志平均存储30天,30天原始日志总量为150TB,日志存储方式为一主一副本。

根据Elasticsearch官方推荐,在一主一副本存储方式下,原始日志+副本数据+索引数据等合计占用的存储空间约为原始日志大小2.2倍,另外由于ES集群存在写不均匀且磁盘不能被耗尽,因此为了存储150TB原始日志,至少需要准备150TB*2.2(存储膨胀)*2(50%磁盘冗余) = 660 TB磁盘。

搭建ES最小典型配置是66台ECS(16U64G10TB),kafka双副本能支持缓存最近12小时的日志

表3 自建ELK

大类

小类

月成本(合计:52440USD

费用占比

搭建ES

66 * ECS(C6 16U64G)

66*1999*0.1401=18489USD

35.3%

云硬盘EVS(高IO 660TB)

0.35*660*1024*0.1401=33149USD

63.2%

搭建KAFKA

3 * ECS(2U4G)

3*208*0.1401=87USD

0.2%

云硬盘EVS(超高IO 3*1700GB)

5100*0.1401=715USD

1.4%

LTS使用价格计算器,计算出来月成本约为27648USD,使用LTS的成本约为自建ELK成本的28.8%,原因是LTS的存储收费是按用量付费,自建ELK为了保证集群的正常运行需要留有很多磁盘冗余。

总结

云日志服务LTS在功能、性能、成本方面对比ELK都有明显的优势,推荐您使用全托管式的云日志服务替代自建ELK。