范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

ESClickHouseLoki三种核心日志分析软件比较与思考

  背景与历史
  ES和ClickHouse都是开源火得不行的软件,日志分析究竟该用哪个一直争论不休。这篇文章我们不比较哪个更牛,应该选哪个,而是从软件背后去分析用户需求是什么?有没有更好的方法来解这个问题。
  先科普一下日志分析软件历史:
  方案A:Local Storage + Pssh扫描派(代表作:跳板机上各种脚本)
  在Unix设计哲学中,没有什么是不能用管道完成的。十年前没有大数据概念的时候,日志对研发而言就是随时抛弃,偶尔查问题需用一用。因此设定一定大小回滚策略+Pssh就是最不折腾的选择,所以我们在跳板机上经常能看到各种封装的shell脚本,只需要几个参数就能快速检索。方法简单粗暴,带来的局限性也挺多,例如磁盘坏数据丢失、速度慢、对线上有性能影响等。非集中式日志检索技术随着大数据兴起,使用场景逐步在萎缩。
  方案B:Central Storage + Inverted Index派(代表作:ES)
  说起ES不得不提到背后Lucene,Lucene实际是一个比Hadoop还早的爷爷辈软件,因为他们的作者是同一个人。Lucene是一个面向搜索引擎的倒排库,可以直接用来索引文档并提供接口来进行查询。但Lucene本身是一个Lib,离直接使用还有部分集成工作,之后Apache陆续有了Solr、Nutch等项目来帮助Lucene发展,但依然是不温不火好几年。2012年ES诞生后,通过优秀Restful API,分布式部署等机制把Lucene使用推向一个新高度。而之后 ELK(Logstash + Kibana)组合把在日志易用性上大大加速。ES 特点是通过O(1)索引,快速在海量数据上拿到结构,相比暴力扫描的方法,倒排索引速度和扫描数据量不是线性相关的。
  我们来看看ES成本模型,ES 模式是通过预处理生成索引,把之后检索变成常数级操作。ES存储构成为:原始数据(正排)、倒排索引(Inverted Index)、列存储(DocValue)3种类型。数据流入时需要消耗部分机器来对数据进行编码,但在查询时只需要消耗少量的资源便可快速找到数据。之后无论多少次查询,实际成本几乎是不变的。但带来的副作用是数据膨胀,例如AWS在ES使用建议上,一般推荐预留2-3倍的空间来应对数据存储(在2 Replica情况下)。
  方案C:Central Storage + Column Storage + MR派(代表作:Hive)
  Hadoop出现提供了HDFS分布式存储引擎,而Hive/Spark等MR引擎为了加快执行速度,天然集成了Column Storage(列存储类型),Column Storage对于类型固定的列有良好的压缩率,例如可以通过Delta、Dictionary等编码技术压缩原始数据大小,当查询时通过Histogram进行快速跳转。Column Storage对OLAP计算很友好,数据量小又能做启发式搜索。ES在五年前也推出了Column Storage类似的Doc Value技术,可以通过ES API来对列数据进行分析。
  Column Storage一般会搭配一个计算引擎,基于MR的Hive、Spark提供基于磁盘的外排能力,除了执行速度慢一些之外,几乎能够胜任所有的SQL92查询分析需求。
  方案D:Central Storage + Column Storage + MPP派(代表作:ClickHouse)
  MR方案可以通吃从小到大的各类场景,但带来的缺点是速度不够快,并发不高,不适合实时性高的场景。之后Druid、Presto等MPP引擎诞生通过内存来代替磁盘交换,把Query执行速度大大提升。最近2年ClickHouse横空出世吸引了不少粉丝,ClickHouse秉承俄罗斯人的简单粗暴出奇迹特点,把用Hand Craft计算发挥得淋漓尽致。虽然ES也在向OLAP领域进军,ClickHouse未来也会做倒排索引,但这背后存在一个不争的事实。日志分析除了日志的TP,也会有少量的AP情况需要混合考虑。
  Hive和MPP成本模型如下,数据写入一般需要前端机对数据进行转换,在读取时需要对数据进行排序过滤等,消耗一部分计算资源。
  方案E:Central Storage + 扫描类(代表作:Grafana-Loki)
  扫描压缩后的原始数据,看起来像是"返璞归真"的技术退化。但似乎又是一种顺应时代的做法。这个方案典型的代表是Grafana旗下Loki。Grafana因为没有存储技术的积累,因此光脚不怕穿鞋的,直接出了一个将日志直存对象存储 + 扫描方案。这个背后的理由也说的过去,云存储是未来是能够保证持续间隔竞争力的,而大部分日志是写多读少的,在一些场景下慢一些似乎也没什么差别。
  Loki方案占据存储成本极少,原始数据会以压缩方式写入,同时也可以通过列存(Parquet)来存储数据,以加快分析速度。当查询时解压缩原始数据,进行过滤,最后拿到结果。由于受限单机引擎,在查询速度、分析能力上比不过ES、Hive、ClickHouse等方案,但胜在便宜。如果数据只是偶尔查一查,要啥自行车呢。
  综合对比
  我们把上述方案做一个对比,如下:
  存储成本:Loki存储是裸数据,经过压缩后理论上空间是最小的。ES存储内容最多,因此存储成本比较高。而Hive、ClickHouse因只有列存,相对较小(对于比较随机的纯文本数据,列存理论上和字符串压缩接近)。
  分析能力:Hive支持完整SQL92,并且没有计算量的限制,分析能力最强。ClickHouse支持的是有限SQL集,对常见的场景足够用。接下来是ES、Loki最弱。
  查询速度:在建立索引情况下,ES是当之无愧的王者。基于MPP引擎的ClickHouse次之(对于带计算的分析,ClickHouse是最强的)。
  分析成本:Loki最高,读取数据后大部分工作都需要外围完成。
  查询成本:ES读取数据量最少,因此最优,接下来是ClickHouse,Hive和Loki。
  从需求角度而言,是否有一种更综合架构?
  为什么会有这么多的选择呢?主要是由二个因素决定的:处理需求 vs 实现成本。我们先从需求出发,看看业务需要什么?
  对Nginx、App访问日志而言,一般有如下典型用途:
  第一阶段(数据产生1分钟内):程序要看到实时业务,运营客服人员需要查看轨迹定位问题。这种场景一般都在小时内, 查询频率比较高。
  第二阶段(数据产生1-2小时左右):业务需要洞察数据,一般都是小时级或天级别。查询频率一般,往往也都是针对于聚合后的数据。
  第三阶段(一天后):审计需要,业务需要看趋势数据。查询频率比较低,往往是点查(例如回溯一个历史问题)。
  第一阶段:实时性和延时更重要
  这个阶段数据实时性变得无比重要,例如用户付款投诉时,我们需要快速通过TraceId来定位后台的用户行为。我们需要根据业务访问的QPS、下单率等快速在日志中找到错误日志。需要根据业务流量情况、趋势来调度资源。
  典型的访问如下:
  这个阶段大部分分析都是集中在最近5分钟时间内的数据,这些数据会被频繁访问到,并且Query条件变化范围会非常大。比较典型组合是TSDB/NoSQL/SQL + ES + ClickHouse,存储和计算成本会稍微大一些,但比起线上关键业务而言花一些钱还是值得的。
  第二阶段(天级):比拼分析能力
  第二个阶段业务需求会更复杂,这个阶段主要面向的是精细化需求。例如从延时、成功率等指标去度量接口稳定性,服务质量等。运营根据数据对比来发现群体特征,用来构筑质量体系等。运营会根据数据来确定投放、牵引等策略。
  这个阶段访问模式包含两种:
  第三阶段(月级):比拼成本
  这个阶段数据的访问往往两极分化:趋势型分析,一般可以通过预处理技术提前降低数据量来解决。大规模数据的统计、大规模数据中查找极小部分数据。后者一般发生的概率非常低,但每次几乎都是突发需求,如果能在较短的延时内获得结果对体验是最好的。
  定量分析:
  1. 存储成本
  原始数据量为X,倒排索引的数据量为原始数据的a倍,列存储空间为原始数据的b倍,需要预留的空间(例如redo log、reserved space)为c倍,每GB介质成本是e,为了保证可靠性,需要的副本是d。
  存储成本为 Y=X*(a+b+c)*d*e,经过我们对不同存储计算,每GB成本范围在3.12元/GB*Month -> 0.05 元/GB*Month之间。当然这个背后查询延时与IOPS也是不同的,例如成本更高方案可以支持1000次/S IOPS,而低成本方案只能做到5次/S,在多人使用情况下可能会被打爆。
  2. 计算/处理成本
  做个简单的计算,可以分解为,需要处理X GB原始数据,需要消耗的资源。在业务模式固定场景下,我们可以根据处理费用,查询费用计算出需要消耗的计算资源,例如100Core、50GB内存,最大化降低计算成本。
  在有一些特殊场景下,例如突然遍历几个TB数据,计算、查询某个结果情况下,需要额外计算机器+提供额外IOPS能力。
  从以上定量分析我们可以得到:
  不同类型的方案,本质上是IOPS、Latency、成本三个因素的平衡。
  三个因素不同的比例,满足各个阶段业务需求,是否需要实时性、访问频率如何、IOPS如何,突发性怎么样。
  不同方案之间,可以通过数据同步工具(例如Kafka)来迁移。
  阿里云如何解决这个问题?
  日志分析是一个如此通用的需求,在阿里、蚂蚁金服内部也有这样一套基础设施-SLS(日志服务),支撑数万工程师每日十几亿次的分析需求,涉及研发支撑(DevOps)、大数据运维(AIOps)、大数据安全(SecOps)、成本分析与增长(BusinessOps)等场景。
  SLS解决以上问题主要思路如下:
  1. 一套统一数据访问接口
  ES、Hbase、MySQL、ClickHouse、Hive都有自己的API,为了能够对接不同的应用场景,为了使用得在上层做大量的开发工作。当目标系统发生变化时,我们需要数据迁移工具,例如Kafka、Flink等进行数据ETL与转化。
  而在SLS设计中,数据的查询分析都通过SQL进行(也能通过标准JDBC访问),这样无论是查询时序数据、Log、Trace数据都能快速拿到结果,最大程度上支持DevOps工具、上层业务创新。
  更多参考:
  从运维和SRE角度看监控分析平台建设
  2. Serverless存储+计算设计,低成本弹性能力
  SLS 提供统一存储与计算能力,相对其他方案:
  默认提供N副本(对用户透明),保证可靠性。热数据存储单价为0.35元/GB*Month,冷数据存储单价仅为1/3(即将上线),超过6个月数据,在使用不变情况下可以设置为冷存储降低成本。
  写入按量收费,无预留收费,可以精确规划成本。
  查询分析免费(99.9%情况下),每秒钟可以提供千级IOPS查询能力,几十IOPS分析能力(相当于能并发Hive/ClickHouse查询),无需预留资源。
  当因业务需要突发大数据查询场景时(0.1%情况),可以申请独立计算资源加速,而无需数仓方案等待几十分钟出结果。
  更多参考:
  SLS SQL:融合ElasticSearch和ClickHouse的极速查询分析能力
  3. 提供BuildIn内部数据流动,降低成本
  素材及格式整理:IT运维技术圈
  来源:https://zhuanlan.zhihu.com/p/396211457
  小编有话说
  推荐服务:
  向下滑动查看更多
  点击【IT面试精选】查看全网最权威的一线大厂面试真题及面试经验,每天更新哦!
  点击【IT路边社】查看实时更新的IT新闻资讯点击【互联网资料存储站】获取全网最全运维流程文档、表格、脚本、架构、等保资料等
  点击【安全加固】获取最新安全加固脚本
  点击【一键iptables脚本】获取iptables自动设置脚本
  回复【加群】群满啦!~添加波哥微信拉您进群

一篇囊括,全屋清洁设备大推荐我稍微有点洁癖,每周至少要花半天的时间,上上下下专门打扫卫生。不过毕竟21世纪了,社会进步就是因为像我这种懒人太多推动的。所以,我也在日常生活中,探索有哪些新科技能够让居家日常清洁一万左右的i79700k2070显卡的配置雨星的朋友点名了要题中所要的配置那雨星也只能尽力而为。首先就是CPU和主板选择的是题主所要的i79700k搭载微星z390TOMAHAWK。接下来就是显卡,朋友既然选择2070以上农村小伙用1500元装了一台全新家用游戏电脑,一起来看看吧山外青山楼外楼,电脑问题找雨星,大家好我是雨星。这几天很多粉丝私聊雨星想要1000到1500之间的电脑主机配置,想要玩游戏和日常学习家用,雨星想了想,这个价位其实没必要二手了,所以2019年4月4000元左右的电脑配置推荐(纯主机)山外青山楼外楼,电脑问题找雨星,大家好我是雨星。有4000元预算,这个价位雨星选择R52600主板这个价位有很多种选择,当然最主流的是微星B450迫击炮,但是雨星今天给大家推荐的却横评,不同价位,最火的3款网易人体工学椅到底怎么样网易严选人体工学椅,基础升级款高端升级款星舰定制款,怎么选?作为一个每天伏案工作的社畜,为了买到一把满意的人体工学椅,我真是做尽了功课。去年双11的时候,我先逛了宜家,实地感受了下小伙居然用1000块组装流畅吃鸡电脑?快来看看他是怎么弄的吧山外青山楼外楼,电脑问题找雨星,大家好我是雨星。现在都2019年绝地求生已经火遍咱们国家,大吉大利今晚吃鸡的口号相信并不陌生,其实大家去很多地方的小网吧却感觉3块一小时的机子只能低2019年4月份1000左右的办公电脑全新的2019到了,很多人都已经踏上了工作的路途,雨星这里给大家推荐一款办公电脑,全部是淘宝京东全新购买,大家可放心。既然是办公电脑,现在有g4560和2200G一级200ge不过2002019年2000元左右高特效吃鸡电脑山外青山楼外楼,电脑问题找雨星,大家好,我是雨星。绝地求生火了都有几年了,很多人想玩害怕自己的老电脑带不了,而又懒得去网吧,但是手头上预算又不太充足,所以雨星今天为大家带来一款202019年1000块大战腾讯三大网游的主机配置推荐山外青山楼外楼,电脑问题找雨星。英雄联盟已经陪我们走过了8个年头,其中包涵了多少辛酸苦辣只有各位玩家自己知道穿越火线也差不多陪我走们走过许多个年头,这其中又有多少青春热血在里面地下为什么大多数纯电汽车没有安装变速器?内燃机汽车依赖变速箱原因在于有实际的需求,而纯电汽车在民用这一块目前没有对变速箱的需求,所以目前的纯电汽车就没有配备变速器了并不是说电动汽车不能装变速器,只是说目前电动汽车不用变速SUV就应该是更全面的存在,国内大七座SUV三强谁更全能?在国内的汽车文化中,实用性出色的SUV自然是不少消费者的首选。而随着近日79内乘用车实施六年内免检610年两年一检新政策的出台,大七座SUV车型无疑成为了备受瞩目的选项。但是,在S
涨价缺货真这么猛?两家显示驱动IC厂半年业绩预增812倍驱动IC最近一直呈现紧缺态势,缺货涨价屡见不鲜。明微电子富满电子也早就举起涨价大旗。而近日,明微电子富满电子先后发布了半年度业绩预告,净利呈现大幅增长。富满电子净利润预计增长112学区房巨变!深圳出手了一hr光说不练假把式!动真格地来了!刚刚,中国改革开放的最前沿深圳,终于扔出了重磅炸弹。它正式宣布学区房巨变!8月1日,深圳社会建设领域的基本法深圳经济特区社会建设条例(草案征求意利亚德MicroLED首次800KK月产能如期投产文章来源自行家说Talk7月2日,利亚德在投资者互动平台上披露了产品进度技术进展客户合作等方面的信息。据利亚德表示,公司与台湾晶电的合资公司利晶微电子正在努力寻求与苹果在MiniLLED显示厂再发涨价函,芯片等原材料涨价成主因文章转载自科创板日报随着LED显示行业上游原材料一路高涨,涨价野火渐渐烧到了终端下游企业。近日,LED应用产品及解决方案供应商利亚德洲明科技先后发布产品调价通知。据集微网报道,利亚户外安装的LED显示屏需要具备什么特点?按应用领域分,LED显示屏大概可以分为户外LED显示屏和室内LED显示屏。相对来说,应用于户外的LED显示屏在材质制作工艺等方面都要比室内的LED显示屏严格得多,这主要是因为户外的利亚德LED产业逐步回暖渠道下沉再渗透显示板块整体进展据董秘李楠楠介绍,利亚德自2019年调整战略为深耕显示,从2020年的年报当中也会看到,利亚德这两年在显示的研发市场的拓展等各方面都做了很多储备,去年虽然有疫情的影2020年全球LED显示屏厂商市占率排名一览根据TrendForce集邦咨询2021全球LED显示屏市场分析报告显示,2020年全球LED显示屏市场受到疫情影响,整体产值仅达55。3亿美元,年减12。8,其中又以欧美地区需求掘金细分领域!党建屏开辟LED显示应用新航道今年是中国共产党成立一百周年,值此百年华诞之际,各地掀起了党建高潮,学党史交流党建经验蔚然成风。为方便各基层党组织和党员开展党建交流和学习,各地党政部门利用LED显示屏创新学习方式技术夏季来临,如何给LED屏做好散热?随着经济的发展社会的不断进步,led屏在日常运用中十分广泛,一年之中夏天对户外LED屏挑战最大,潮湿与高温的天气让LED屏防潮与散热这对天然的矛盾体正面交锋。如何在多雨的天气之中做又有新进度!利亚德洲明雷曼联建齐齐刷屏7月,正值建党100周年活动庆典。LED显示屏作为红色文化传播的重要纽带闪耀在各大街头舞台甚至文化馆内,这出色成绩的背后离不开利亚德洲明联建雷曼等LED显示企业的努力和付出。近日,利亚德李军现在是轻装上阵发布2021年半年度业绩预告后,利亚德先后举行了几场投资者调研活动,由董事长兼总经理李军就公司情况进行了分析介绍。获益于国内显示市场需求持续旺盛,利亚德上半年新签订单创下历史新高,