Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台).pdf
《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台).pdf》由会员分享,可在线阅读,更多相关《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台).pdf(110页珍藏版)》请在咨信网上搜索。
1、卷首语Elasticsearch 全观测的核心是指把日志、指标、APM 甚至 Uptime 数据汇总到一个平台上,让运维人员、开发人员,甚至业务人员都可以在统一的大数据平台之上,对所有的数据从统一的视角进行观察,告警,以及可视化。本书从介绍 Elasticsearch、全观测技术原理、行业应用到技术实践,全面系统地解读在大数据背景下,运维人员、开发人员等应用全观测技术的价值和实践上手指南。目录走进阿里云 Elasticsearch4全观测技术原理与技术生态15全观测能力呈现与应用价值26ES 全观测性行业应用37使用SkyWalking和Elasticsearch实现全链路监控使用Filebe
2、at+Kafka+Logstash+Elasticsearch构建日志分析系统56基于Elasticsearch+Flink的日志全观测最佳实践67APM 应用性能监控分析最佳实践75通过Elastic实现Kubernetes容器全观测8549基础介绍篇应用实践篇摘要:本文对 Elasticsearch 进行了整体介绍,包括 Elasticsearch 生态矩阵的构成,它所具备的低成本和强功能等特性,以及与搭建开源 ES 服务相比阿里云 Elasticsearch 所具备的优势。此外,还对 Elasticsearch 全观测产品能力、架构、技术难点和实践案例进行了分享。希望通过本文,大家能对
3、Elasticsearch 和全观测有更全面的认识。走进阿里云 Elasticsearch走进阿里云 ElasticsearchElasticsearch 开源受到广大开发者的使用和接受并不只是基于 Elasticsearch 这一个检索引擎,除了 Elasticsearch 之外,它还包括 Beats,Logstash,Kibana 这一套生态矩阵。它是构建于 Apache Lucene 搜索引擎库之上的分布式全文搜索和分析引擎,提供搜集、分析、存储数据三方面能力。通过 Beats 这个轻量级数据采集工具,数据能进入 Elasticsearch 系统。它集合了多种单一用途数据采集器,它们从成
4、百上千或成千上万台机器和系统向下游发送数据。而在这套生态矩阵中,Beats 的下游就是 Logstash。Logstash 作为收集、过滤、传输数据的工具,能针对各种各样的日志数据做一些预处理和过滤。数据经过采集和处理,最后到Elasticsearch 这样一个检索系统中进行存储,然后我们可利用 Kibana 去做业务上的可视化报表和大盘分析的搭建。从 Beats,Logstash,Elasticsearch 到 Kibana 的这套开源生态矩阵,能帮用户解决各种各样的场景问题。目前阿里云上已提供了一个全托管的服务,用户不必再购买服务器和进行搭建,在阿里云上就可以直接一键开通整套服务。一一、那
5、么阿里云在这套生态矩阵中做了一些什么事?它又有哪些那么阿里云在这套生态矩阵中做了一些什么事?它又有哪些特性和优势?特性和优势?在开源生态下,Elasticsearch 有一套 X-Pack 商业插件,它包含数据权限、可视化、机器学习等能力,价值达到 6000 美元,而在阿里云上创建 Elasticsearch 服务,则可自动免费开启 X-pack 插件。走进阿里云 Elasticsearch走进阿里云 Elasticsearch目前,阿里云上有 30 多个行业上千位客户在使用我们的服务。在公共云的环境下,我们不仅能覆盖国内大部分地区和海外的一些数据中心,还能支持一些本地化的专有云的交付和提供混
6、合云的方案,使不同行业的用户都能够很好地去使用我们这套服务。二、二、与搭建开源与搭建开源 ESES 服务相比,阿里云服务相比,阿里云 ElasticsearchElasticsearch 的优势的优势在哪里?在哪里?下面这张图我们整理了 Elasticsearch 与搭建开源 ES 服务的对比,在各个业务场景下,Elasticsearch 带来了全方位的能力提升与性能优化。包括云上的全套托管、超低的运维成本、降低大数据量的存储成本、一键搭建集群、集群平滑扩缩、向量检索、QoS 索引级别限流等等尤其在安全性和高可用方面,大家搭建开源 ES 服务的时候没有那么多精力去做安全特性的补充,所以我们做了
7、一些 HTTP 的传输加密和内网环境管控等。同时,我们的数据可靠性和服务可靠性都达到几乎满分,能尽可能地保证客户在实现业务的时候不受到不稳定因素的影响。三、三、什么是全观测?什么是全观测?ElasticsearchElasticsearch 全观测能力如何全观测能力如何?我们对全观测概念的理解,是将日志、指标、APM 等数据在一个平台进行统一分析,而这样的能力正是 ELK,也就是 Elasticsearch 全观测解决方案所能提供的,它能帮助用户在ELK 平台上建立统一的可视化视图。另外,通过全链路问题的追踪,还能设置统一的监控走进阿里云 Elasticsearch走进阿里云 Elastics
8、earch我们可以通过下面的架构图看到 ELK 在运维监控全链路上的能力。通过 Packetbeat 对网关的数据做收集,通过 Metricbeat 对业务服务器上的指标进行收集,通过 Filebeat 做日志相关的收集,以及利用 APM 的 agent 对用户实时行为做链路追踪。通过对各种数据来源进行采集,我们会将其下发到 Kafka 组件,随后通过 Logstash 进行格式转化和结构处理,最后将数据传输到整个 Elasticsearch 集群里面,并基于上层的可视化组件搭建可视化的大屏。除此之外,我们还能去接入非常完备的一套告警配置和告警对接,因为对数据进行实时链路追踪的同时,也需要我们
9、对异常进行捕捉和判断,并通过短信网关等方式将这些判断及时返回给系统负责人,实现告警对接。走进阿里云 Elasticsearch走进阿里云 Elasticsearch四、四、什么时候用日志增强版?什么时候用日志增强版?当日志量达到 TB 级的时候,我们就建议使用日志增强版。此外,在增量日志并发高的时候,其峰值写入能达到 10W docs/s,并且会自动帮用户进行副本存储,保证数据不会丢失。五、五、ElasticsearchElasticsearch 能给客户提供什么样的场景化解决方案?能给客户提供什么样的场景化解决方案?有一些行业对全观测有特别的需求,比如游戏和教育行业。走进阿里云 Elasti
10、csearch走进阿里云 Elasticsearch5.专家级服务。云上我们有很多开发 Elasticsearch 和运维大规模集群的专家,能针对用户的实际使用场景进行解决方案和架构的优化,解决技术难点。八、八、用户案例:用户案例:基于基于日志的业务数据监控日志的业务数据监控不只是教育行业,在很多场景下,我们能搭建这样一套业务的监控看板,对各类业务数据进行监控,比如入侵监测、流量监测、交易额监测等。走进阿里云 Elasticsearch全观测技术原理与技术生态全观测技术原理与技术生态在谈全观测之前,我们先谈谈可观测。在谈全观测之前,我们先谈谈可观测。构建可观测性有 4 个步骤。第 0 阶,我们
11、会构建检查各个系统健康状况的检查机制。之后,我们会搭建采集系统各种性能的指标。然后,搭建集中化的日志平台,把所有系统的日志进行汇总并做一定程度的关联,帮助解决问题。最后,是涉及到应用的分布式性能的追踪,它要求更高,往往能从代码层面、API 层面直接度量性能的各方面指标。观看视频:https:/ APM 系统进行排查,找到线索并进行剖析,甚至找出服务间的依赖关系。因此从可观测性的角度讲,我们要探查的内容要远大于监控范畴,且获得的信号总量也层层递增,数据量越来越大。全观测技术原理与技术生态全观测技术原理与技术生态第二是指标,我们能在指标里观察些什么?第二是指标,我们能在指标里观察些什么?在建指标系
12、统的时候我们会收集这几类指标。第一是最基础的系统指标,包含 CPU、网络、磁盘等,这些性能指标至关重要;系统层之上是应用级别的指标,我们在做应用开发的时候要有意识地暴露很多指标,否则就不太好观测。这里面包含出错率、延迟、饱和度等应用的性能指标。它的暴露方式也可以用API 的形式来调用,让外围系统轮巡,但更常用的是通过日志的方式去打指标。比如在交易系统中,我们会把与这笔交易相关的原数据打到日志中,然后能通过日志分析了解系统的健康度。另外,现在流行的做法是打成像 Json 这样的结构化日志,这对后续的日志处理有很大帮助;再上面,是业务性的指标,它会涉及到很多 BI 的分析,比如处理的订单的数量、营
13、业额等。如果有业务指标的暴露,就可以反映系统支撑的各种业务量数据,这对运营人员比较重要。如何从指标获得观测性?有哪些方式?如何从指标获得观测性?有哪些方式?当前,像 Prometheus 这种系统应用得比较多,它的原理就是 Prometheus 提供的agent 从各个采集点采集结构化数据,写入 Prometheus 数据库,然后基于一些开源的工具进行指标的可视化展现。从告警的角度,它也可以写一些告警的规则,通过 webhook等对外告警。这是做指标系统比较常用的一套堆栈。全观测技术原理与技术生态全观测技术原理与技术生态第四,分布式追踪。如何从分布式的调用中获得可观测性?第四,分布式追踪。如何
14、从分布式的调用中获得可观测性?APM 是从微观的代码层面捕获各种数据,所以它获得观测性的关键就在于安装 APM 探针。它能从每个代码块的层面帮我们度量每一步花费的时间、捕获报错等等。比如能把一笔事务处理的链路追踪到每个系统中,把它串联成一个瀑布图呈现给大家。这对开发人员去追踪问题,运维人员去定位问题都是非常重要。说完如何获得可观测性,下面讲讲如何去建设。说完如何获得可观测性,下面讲讲如何去建设。前两个 level 比较简单,比如做日志,把日志集中化归档到文件服务器上就算做完了。当我们上了 ELK,把日志集中化之后,我们就能很轻易地在日志中做检索,达到检索级。全观测技术原理与技术生态全观测技术原
15、理与技术生态以上,我们谈了怎么可观测,以及如何去建设,下面谈谈全观测。全观测其实是对传统运维的改进。全观测其实是对传统运维的改进。像上面所讲,传统运维是一步步进行搭建的,每一步都会出一个开源或商业产品,这会导致产品间出现数据孤岛的状况,非常割裂;第二是有各种厂商的工具,导致很难做自动化统一分析,甚至它们的 API 都不一样,严重制约了我们构建各方面观察的自动化平台;第三,每个方面只能提供一方面的观察,而故障往往是立体的,可能要多方面观察才能定位到具体的故障;最后,很多系统只是做了收集,没有真正进行分析,没有发挥出大数据的价值,也没有改进运维质量。全观测技术原理与技术生态全观测技术原理与技术生态
16、现在很多厂商也在想打通数据,比如日志厂商想融合指标和 APM,APM 厂商想把日志和指标融合进来。但这是否容易实现呢?实际上有几个难点。三、三、实现全观测有哪些的难点?实现全观测有哪些的难点?首先最大的难点在数据量。日志、指标这些数据量都很大,这就需要一个分布式的系统去做。另外因为因为要检测很多东西,所有要有数据的关联,进行多维度的分析。这个地方的要求更高,不仅要能够动态地生成字段,所有的列要能够索引,而且要能够灵活地写各种各样的查询。所以,很多厂商会选择 Elasticsearch 作为底层数据引擎,因为 Elasticsearch 本身是分布式的,能够容纳海量的数据。第二个,它也有大量的多
17、维分析的灵活度存在。同时,它还能进行智能化的检测。全观测技术原理与技术生态全观测技术原理与技术生态现在我们讲究集成到一个平台上,这样日志、指标和 APM 就可以进行分析的联动和跳跃,而 Kibana 现在就能做到在一个平台纳入分析这三方面的数据,并且进行数据的跳跃和联动。最后,是全观测的主要流程。它包含数据采集阶段、数据处理、数据搜索存储和可视化几个步骤。在数据采集层,我们能用上面的各种工具对日志、指标、APM 进行采集,然后将其汇聚到Kafka;在数据处理层,用相应的数据处理工具从 Kafka 进行消费;随后,数据经过各种各样的处理,流入到数据存储层,在 Elasticsearch 里对数据
18、进行索引;最后,可以通过Kibana 或第三方工具进行可视化展现。不过,可视化只是帮助我们进行人工监控,如果要做到自动化,就一定要安装各种各样的规则,能够进行基于规则的和基于机器学习的监控和告警。以上就是全观测的基本原理和能够用到的一些工具,欢迎大家继续关注我们后续的课程。摘要:本文承接全观测技术原理与技术生态,介绍 Elastic 整套工具带来的能力,以及用 demo 展示怎么用这些能力构建全方位的观测性。全观测能力呈现与应用价值全观测能力呈现与应用价值一、一、ElasticElastic StackStack 提供的数据采集全套工具提供的数据采集全套工具我们有丰富的 beat,比如采集日志
19、文件的 Filebeat,有 30 多插件,能做到一定程度的开箱即用;Metricbeat 采集指标和底层的性能数据,有 40 多个插件;Packetbeat 从网络包层面采集数据;Functionbeat 主要对接在云端吐出来的指标日子;Winlogbeat 主要适配 Windows 上的日志系统;Heartbeat 主要检测服务的可用性,比如检测 API 是否在线等;最后,Auditbeat 可以连到 Linux 的 audit framework 来采集 Linux 各种各样的事件,汇总到 Elasticsearch。除此之外,我们的社区也制造了很多 beat,大家可以去看看。二、二、数
20、据处理工具数据处理工具数据处理工具提供的是 Logstash,它分为输入、过滤和输出三个部分。它并不是独属于Elasticsearch 数据输入和输出的工具,它有很多数据接入源,比如 syslog、redis 等,输出也可以到 Kafka、Elasticsearch 和其他数据库,而它的过滤部分主要体现在数据的加工和处理,比如用 grok 进行正则抽取。Logstash 能很容易地把像日志一样的流式文本抽取成 Json 的结构化数据,进而给后面的 Elasticsearch 进行存储和索引。全观测能力呈现与应用价值全观测能力呈现与应用价值四、四、告警系统告警系统全观测需要持续部署大量的监控规则
21、,来自动化地进行监控和告警。我们在 Kibana 里植入了新的告警系统,它能跟上层的各种 APP 和解决方案进行无缝整合,大幅简化使用门槛。除了基于规则的告警,Elastic Stack 还提供了机器学习的异常检测。Elasticsearch 中存在大量的指标数据,它们随时间序列的波动是非常常见的,但当指标数量越来越多,就很难用传统的方式一个一个地设置规则。所以我们利用机器学习,通过对历史数据的建模去学习正常的波动范围,不再需要人工来标注数据。同时,模型也会根据数据的持续写入来不停地更新,以反映最新的指标状态。全观测能力呈现与应用价值全观测能力呈现与应用价值再看另外一个较复杂的实例。下图呈现了
22、当前常见的微服务架构,它所有的服务都部署在 K8s 容器化的环境中。在前端,它全部基于 Nodejs 提供 Web 服务,而核心业务是基于 Spring 框架的 Java 服务,并连接到后端 MySQL 数据库,同时它还有基于 Python Flash 提供地址查询的 RestAPI 服务,通过连接 Elasticsearch 服务器实现全文搜索的功能。那么我们如何用上面的工具对这一架构进行监测呢?首先我们采用 Filebeat 去采集每一个 Pod 的日志,把它们汇总到 Elasticsearch 里,然后通过 Metricbeat 采集系统的性能数据,以及把 Packetbeat 安装在某
23、些 Pod 中采集网络包数据,最后是用 APM 探针植入到 Nodejs、Java 代码和 Python 中监控代码层面的各种性能、响应、延迟等数据。通过这些,我们就能把日志、指标、APM 数据汇总到一起,统一地进行观测。同时,由于数据量很大,所以也将使用机器学习来对里面的性能指标进行自动化的监控和告警。全观测能力呈现与应用价值全观测能力呈现与应用价值下面我们更具体地来看定位故障的每一步流程。八、八、机器学习告警机器学习告警我们能在机器学习告警页面看到很多机器学习的任务,他们能够进行告警对齐。另外,机器学习根据 API 响应时间的历史情况自动建模,当监控值超过动态阈值就触发告警,并且可以指出是
24、哪个 API 性能下降。这旁边还有 action,能引导我们到其他应用中做分析,比如跳转到 APM、仪表板、指标、Uptime 等来诊断这个故障。九、九、A APMPM 性能分析性能分析在 APM 层面,我们不仅能看到总体性能统计概览,还能根据各个 API 性能影响的情况进行倒排。全观测能力呈现与应用价值全观测能力呈现与应用价值十、十、仪表板综合分析仪表板综合分析在仪表板中也是一样,会把故障的时间点定位到最当中,然后可以参照前后性能状况来综合判断故障的状况。这个仪表板是完全可定制化的,所以可以把各种分析图都放在里面,包括日志、指标、APM 等。十一、十一、指标关联日志指标关联日志 A APMP
25、M在专门的性能指标应用中,我们能从主机、K8s、docker 等的角度观看所有性能的切片。这里面也体现了联动的精髓,比如当我们点击某一个 pod,就可以单独看到这个 pod 串联的日志、指标、APM、Uptime 数据,这样就方便我们灵活地进行跳转,更快地定位问题。全观测能力呈现与应用价值ES 全观测性行业应用ES 全观测性行业应用一、什么是全观测性一、什么是全观测性全观测性简单讲就是“监控”、“一体化的监控”。它包括几个方面:一方面叫日志数据,就是文本,第二方面包括一些指标数据,第三方面就是这套产品必须有告警通知。日志数据日志数据工作开发中日志是免不了的,它一般包含几个重要信息,比如发生时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Elasticsearch 观测 技术 解析 应用 构建 日志 指标 APM 统一 平台
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Stan****Shan】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Stan****Shan】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。