ELk技术栈Elasticsearch+Logstash+Kibana一站式数据分析解决方案

2020-05-22 00:00:00 方案 介绍 插件 解析 几种

前言

从基础部署到千亿级扩展方案,从性能优化到插件开发,从数据模型到源码解析,全方位解析ELK.
ELK stack 是以Elasticsearch、Logstash、 Kibana三个开源软件为主的数据处理工具链,是目前开源界流行的实时数据分析解决方案,成为实时日志处理领域开源界的选择。 然而,ELK stack并不是实时数据分析的灵丹妙药,使用不恰当,反而会事倍功半。



ELK的学习路线



本篇分为三大部分,共19章,由于细节内容太多,所以只对部分内容做了简单介绍。

部分“Logstash"介绍Logstash的安装与配置、场景示例、性能与测试、扩展方案、源码解析、插件开发等

第1章:人门示例。该章介绍Logstash及其插件的配置安装方法,自定义配置语言的设计用途,并为不熟悉Linux系统管理的开发人员介绍了多种后台运行方式。
第2章:插件配置。该章列举Logstash常用的几十种插件,通过实际示例和效果,讲解各插件的配置细节和用途。
第3章:场景示例。该章以常见的运维、网络、开发和数据库场景,介绍Logstash处理Nginx、Postfix、 Ossec、Log4J、 MySQL、Docker 等日志的佳实践。
第4章:性能与监控。了解Logstash的性能情况一直是个难题, 该章从Logstash设计原理和JVM平台本质出发,介绍几种行之有效的检测和监控方案。
第5章:扩展方案。该章介绍采用Redis和Kafka完成Logstash水平扩展的方案,同时也介绍其他几种日志收集系统与Logstash的配合方式。
第6章: Logstash 源码解析。该章解析Logstash源码中重要的Pipeline设计,以及Logstash::Event的来龙去脉。
第7章:插件开发。该章以常见的用户登录记录和地址库解析、Consul 数据更新等需求,实际演示Logstash的自定义Filter、Input 和Output插件的编写,同时还涉及了插件打包的RubyGems规范共有HttpClient 功能项等细节。



第二部分“Elasticsearch”介绍Elasticsearch的架构原理、数据接口用例、性能优化、测试和扩展方案、映射与模板的定制、监控方案等;

第8章:架构原理。该章从更的架构层面,介绍Elasticsearch分布式设计中涉及稳定性和高性能的部分原理,并由此引发相关的优化配置介绍。另外,还提供了-一种针对时序数据索引的读写分离方案,适用于拥有少部分SSD设备的用户。
第9章:数据接口用例。该章介绍Elasticsearch的RESTful接口的基础知识,并针对常见的重建索引需求提供两种快速实现方案,为有Spark经验的读者介绍通过SparkStreaming接口读写Elasticsearch的方法。
第10章:性能优化。该章介绍Elasticsearch 在日志处理场景下的读写优化知识和官方推荐的curator工具,其中重点介绍了Elasticsearch 中几种不同的cache的区别和有效场景。
第11章:测试和扩展方案。该章介绍Elasticsearch在生产环境中需要的一- 些周边工具,比如Puppet配置管理、Shield 权限管理、版本升级操作、别名切换流程设计等。
第12章:映射与模板的定制。该章详细介绍Elasticsearch中的核心类型及其对应的常见映射设置,以及如何通过动态模板简化映射定制操作的复杂度。
第13章:监控方案。Elasticsearch作为一个分布式系统,也是有一定的运维难度的,因此其本身的监控也相当重要。该章介绍Elasticsearch 自带的- 系列监控接口,以及由此衍生的多种实时或长期的监控方案。
第14章: Elasticsearch 在运维监控领域的其他应用。该章介绍Elasticsearch在运维方面的其他运用方式,包括实时过滤接口、定时报警系统设计、时序数据存储和相关性排序等。



第三部分“Kibana”介绍Kibana 3和Kibana 4的特点对比,并分别讲解了Kibana 3和Kibana 4的配置、案例与源代码解析。

第15章: Kibana 的产品对比。该章介绍Kibana3与Kibana4之间,以及它们与Hadoop、Splunk之间的差异,方便读者在不同场景需求下选择更正确的工具。
第16章: Kibana 3。该章介绍Kibana 3的界面操作方式、面板的配置细节及其效果、动态仪表盘的用法,并提供了几种额外权限控制的部署方案。
第17章: Kibana 3源码解析。该章以index.html为入口,介绍Kibana 3如何利用angularjs、elasticjs和jquery.flot.js三大框架实现单页应用。重点解析面板的实现过程,并分别演示了采用facet 和agg接口开发个Kibana 3面板的过程。
第18章:Kibana4。该章介绍Kibana4的安装部署和界面操作方式,重点介绍Kibana4提供的几种可视化图表的配置细节和效果,并以几种场景的日志分析需求演示了Kibana4全新的子聚合功能的效果。后还介绍了一种采用phantom.js截图方式记录长期报表数据的方案。
第19章: Kibana 4源码解析。该章介绍Kibana 4的界面实现,重点包括其内部ORM实现的Counrier类、可视化绘图的Vislib 类等。



本篇对ELK stack的原理进行了解剖,不仅分享了大量实战案例和实现效果,而且分析了部分源代码,使读者不仅知其然还知其所以然。读者可通过本篇快速掌握实时日志处理方法,并搭建自己的数据分析系统。
由于篇幅限制,所以小编就不做过多的介绍了,需要【ELK stack权威指南】技术文档的小伙伴有福啦,可以转发此文关注小编,私信小编“学习”来得到获取方式哦~~~

相关文章