具体描述
				
				
					YL5315  9787111563297  9787111524168
ELK Stack权威指南 第2版
ELK是Elasticsearch、Logstash、Kibana三个开源软件的组合,是目前开源界流行的实时数据分析方案,成为实时日志处理领域开源界的第壹选择。然而,ELK也并不是实时数据分析界的灵丹妙药,使用不恰当,反而会事倍功半。本书对ELK的原理进行了解剖,不仅分享了大量实战案例和实现效果,而且分析了部分源代码,使读者不仅知其然还知其所以然。读者可通过本书的学习,快速掌握实时日志处理方法,并搭建符合自己需要的大数据分析系统。本书分为三大部分,第壹部分“Logstash”介绍Logstash的安装与配置、场景示例、性能与测试、扩展方案、源码解析、插件开发等,第二部分“Elasticsearch”介绍Elasticsearch的架构原理、数据接口用例、性能优化、测试和扩展方案、映射与模板的定制、监控方案等,第三部分“Kibana”介绍Kibana3和Kibana5的特点对比,Kibana的配置、案例与源代码解析。
前 言 
1部分 Logstash 
第1章 入门示例     3 
1.1 下载安装   3 
1.2 Hello World  4 
1.3 配置语法    8 
1.3.1 语法     8 
1.3.2 命令行参数    10 
1.3.3 设置文件示例    11 
1.4 插件安装   12 
1.5 长期运行方式    13 
第2章 插件配置    15 
2.1 输入插件    15 
2.1.1 标准输入    16 
2.1.2 文件输入    17 
2.1.3 TCP输入    18 
2.1.4 syslog输入    19 
2.1.5 http_poller抓取    21 
2.2 编解码配置    22 
2.2.1 JSON编解码    23 
2.2.2 多行事件编码    24 
2.2.3 网络流编码    26 
2.2.4 collectd输入    27 
2.3 过滤器配置    30 
2.3.1 date时间处理    30 
2.3.2 grok正则捕获    33 
2.3.3 dissect解析    35 
2.3.4 GeoIP地址查询    36 
2.3.5 JSON编解码    38 
2.3.6 key-value切分    38 
2.3.7 metrics数值统计    40 
2.3.8 mutate数据修改    41 
2.3.9 随心所欲的Ruby处理    45 
2.3.10 split拆分事件    47 
2.3.11 交叉日志合并    48 
2.4 输出插件    49 
2.4.1 输出到Elasticsearch    49 
2.4.2 发送email    54 
2.4.3 调用系统命令执行    54 
2.4.4 保存成文件  55 
2.4.5 报警发送到Nagios    56 
2.4.6 statsd    58 
2.4.7 标准输出stdout    61 
2.4.8 TCP发送数据    62 
2.4.9 输出到HDFS    62............
深入理解ElasticSearch
第1章介绍ApacheLucene的工作方式、ElasticSearch的基本概念。第2章描述Lucene评分机制、如何进行查询重写,另外还介绍ElasticSearch的批处理API及如何使用过滤器来优化查询。第3章描述如何修改Lucene评分,如何使用不同的倒排索引格式来改变索引字段的结构。第4章阐述如何选择恰当的索引分片、路由工作机制、索引分片机制。第5章介绍如何为具体应用选择正确的目录实现,同时阐述发现、网关、恢复模块及其配置方式,以及调优ElasticSearch的缓存机制。第6章介绍JVM垃圾收集的工作原理、重要性以及如何调优,还介绍如何控制ElasticSearch的I/O操作数量和如何诊断ElasticSearch中的问题。第7章介绍帮助修正查询中的拼写错误以及构建高效的自动完成机制——查询建议,还通过实际的案例展示如何通过使用不同查询类型和ElasticSearch的其他功能来提高查询相关性。第8章重点阐释ElasticSearch的JAVAAPI。第9章通过演示如何开发你自己的河流和语言处理插件来介绍ElasticSearch的插件开发。
译者序前言致谢作者简介评审者简介第1章 ElasticSearch简介11.1 Apache Lucene简介11.1.1 熟悉Lucene21.1.2 Lucene的总体架构21.1.3 分析你的数据31.1.4 Lucene查询语言41.2 ElasticSearch简介61.2.1 ElasticSearch的基本概念71.2.2 ElasticSearch架构背后的关键概念81.2.3 ElasticSearch的工作流程91.3 小结13第2章 查询DSL进阶142.1 Apache Lucene默认评分公式解释142.1.1 何时文档被匹配上152.1.2 TF/IDF评分公式152.1.3 ElasticSearch如何看评分162.2 查询改写172.2.1 前缀查询范例172.2.2 回顾Apache Lucene192.2.3 查询改写的属性202.3 二次评分212.3.1 理解二次评分212.3.2 范例数据212.3.3 查询222.3.4 二次评分查询的结构222.3.5 二次评分参数配置232.3.6 小结242.4 批量操作242.4.1 批量取242.4.2 批量查询262.5 排序272.5.1 基于多值字段的排序282.5.2 基于多值geo字段的排序282.5.3 基于嵌套对象的排序302.6 数据更新API312.6.1 简单字段更新312.6.2 使用脚本按条件更新322.6.3 使用更新 API创建或删除文档332.7 使用过滤器优化查询332.7.1 过滤器与缓存342.7.2 词项查找过滤器362.8 ElasticSearch切面机制中的过滤器与作用域402.8.1 范例数据402.8.2 切面计算和过滤412.8.3 过滤器作为查询的一部分422.8.4 切面过滤器442.8.5 全局作用域452.9 小结47第3章 底层索引控制483.1 改变Apache Lucene的评分方式483.1.1 可用的相似度模型493.1.2 为每字段配置相似度模型493.2 相似度模型配置503.2.1 选择默认的相似度模型513.2.2 配置被选用的相似度模型523.3 使用编解码器533.3.1 简单使用范例533.3.2 工作原理解释543.3.3 可用的倒排表格式553.3.4 配置编解码器563.4 准实时、提交、更新及事务日志583.4.1 索引更新及更新提交593.4.2 事务日志603.4.3 准实时读取623.5 深入理解数据处理623.5.1 输入并不总是进行文本分析623.5.2 范例的使用653.5.3 索引期更换分词器673.5.4 搜索时更换分析器683.5.5 陷阱与默认分析683.6 控制索引合并683.6.1 选择正确的合并策略693.6.2 合并策略配置703.6.3 调度723.7 小结73第4章 分布式索引架构744.1 选择合适的分片和副本数744.1.1 分片和过度分配754.1.2 一个过度分配的正面例子754.1.3 多分片与多索引764.1.4 副本764.2 路由764.2.1 分片和数据774.2.2 测试路由功能774.2.3 索引时使用路由804.2.4 别名834.2.5 多个路由值834.3 调整默认的分片分配行为844.3.1 分片分配器简介844.3.2 even_shard 分片分配器844.3.3 balanced分片分配器854.3.4 自定义分片分配器854.3.5 裁决者864.4 调整分片分配884.4.1 部署意识894.4.2 过滤914.4.3 运行时更新分配策略924.4.4 确定每个节点允许的总分片数934.4.5 更多的分片分配属性964.5 查询执行偏好974.6 应用我们的知识994.6.1 基本假定994.6.2 配置1004.6.3 变化来了1044.7 小结105第5章 管理ElasticSearch1065.1 选择正确的目录实现-存储模块1065.2 发现模块的配置1095.2.1 Zen发现1095.2.2 ***EC2发现1115.2.3 本地网关1145.2.4 恢复配置1155.3 索引段统计1165.3.1 segments API简介1165.3.2 索引段信息的可视化1185.4 理解ElasticSearch缓存1195.4.1 过滤器缓存1195.4.2 字段数据缓存1215.4.3 清除缓存1265.5 小结127.........
				 
				
				
					《ELK Stack指南(第2版)》 + 《深入理解Elasticsearch》  内容简介  这两本精心编撰的图书,将带您踏上一段全面而深入的Elastic Stack探索之旅。无论您是初次接触日志分析、全文搜索,还是希望在现有Elasticsearch集群上实现更高级的功能,亦或是对Elasticsearch底层原理充满好奇,这两本书都将成为您不可或缺的宝贵资源。它们不仅提供了详尽的操作指南,更深入剖析了Elasticsearch的核心概念与设计哲学,助您成为一名真正掌握Elastic Stack的专家。  《ELK Stack指南(第2版)》  本书聚焦于Elastic Stack(Elasticsearch, Logstash, Kibana)的实际应用与部署,为您提供了一条清晰的学习路径,从搭建基础环境到构建复杂的日志分析和可视化系统,全程提供手把手的指导。  第一部分:ELK Stack基础与入门     ELK Stack概览与架构解析: 在开始实际操作之前,本书将首先为您清晰地阐述ELK Stack的组成部分及其在整个数据处理流程中的作用。我们将深入剖析Elasticsearch的分布式特性、Logstash的数据采集与转换能力、以及Kibana的数据可视化与探索功能。您将理解它们如何协同工作,形成一个强大的端到端解决方案。    Elasticsearch入门: 您将学习如何安装和配置Elasticsearch,了解其核心概念,如节点(Node)、集群(Cluster)、索引(Index)、文档(Document)、映射(Mapping)和分片(Shard)。我们将通过实际示例,演示如何创建索引、添加文档、执行基本的搜索查询(如全文搜索、短语搜索、模糊搜索)以及如何理解搜索结果。    Logstash实战: 本书将重点介绍Logstash的强大数据处理能力。您将学会如何配置Logstash的输入(Input)、过滤器(Filter)和输出(Output)插件,以适应各种数据源(如文件、数据库、网络协议)和输出目标(如Elasticsearch、Kafka)。我们将通过丰富的案例,演示如何对原始日志进行解析、字段提取、数据转换(如日期格式化、IP地址解析、数据类型转换)以及数据富化(如地理位置信息添加)。    Kibana可视化与探索: Kibana是ELK Stack的“脸面”,它赋予了您直观地探索和可视化海量数据的能力。本书将引导您熟悉Kibana的各个模块,包括Discover(发现)用于实时数据探索,Visualize(可视化)用于创建各种图表(柱状图、折线图、饼图、地理地图等),以及Dashboard(仪表盘)用于整合和展示多个可视化图表。您将学会如何构建精美的仪表盘,以监控系统状态、分析用户行为、追踪业务指标等。    搭建第一个ELK Stack: 结合前述内容,本书将指导您完成一个完整的ELK Stack搭建过程。从服务器环境准备、各组件的安装与配置,到实际采集、处理和展示日志数据,您将亲手搭建起一个功能完备的日志分析系统。  第二部分:ELK Stack高级应用与实践     Elasticsearch索引管理与优化: 随着数据量的增长,索引的管理和性能优化变得至关重要。本书将深入探讨Elasticsearch的索引生命周期管理(ILM),学习如何自动管理索引的创建、迁移和删除。您还将了解分片策略、副本策略的优化,以及如何使用索引别名(Index Aliases)进行平滑的数据迁移。    Logstash高级配置与性能调优: 对于复杂的数据处理场景,Logstash的配置需要更加精细。本书将介绍Logstash的流水线(Pipeline)概念,以及如何通过配置多个流水线来提高处理效率。同时,我们将深入探讨Logstash的性能调优技巧,包括如何配置工作进程(Worker Processes)、缓冲区大小(Buffer Size)以及选择高效的插件。    Kibana高级查询与数据分析: Kibana的查询功能远不止基础的搜索。本书将引导您掌握Kibana的KQL(Kibana Query Language)和Lucene查询语法,学习如何构建复杂的过滤条件和聚合查询。您还将了解Kibana的Lens、TSVB(Time Series Visual Builder)等高级可视化工具,以及如何使用Canvas(画布)创建交互式的报告。    ELK Stack的扩展与集成: 本书还将介绍如何将ELK Stack与其他系统集成,例如使用Beats(Filebeat, Metricbeat等)作为更轻量级的数据收集器,以及如何将ELK Stack与Kafka等消息队列集成,构建更具弹性的数据管道。    安全加固与监控: 在生产环境中,ELK Stack的安全至关重要。本书将介绍如何配置Elasticsearch的安全特性(如用户认证、权限控制),以及如何使用Kibana的监控功能来观察ELK Stack的运行状态,及时发现和解决潜在问题。  《深入理解Elasticsearch》  本书将带领您超越表面的API操作,深入Elasticsearch的内部机制与设计哲学。您将理解“为什么”Elasticsearch能够以如此高效的方式进行检索和分析,从而帮助您更好地设计数据模型、优化查询性能,并解决实际生产环境中遇到的复杂问题。  第一部分:Elasticsearch核心原理与架构     Lucene基础: Elasticsearch建立在Apache Lucene库之上,因此,理解Lucene是深入理解Elasticsearch的关键。本书将从Lucene倒排索引(Inverted Index)的基本原理讲起,深入剖析词项(Term)、词项向量(Term Vector)、文档频率(Document Frequency)、词频(Term Frequency)等概念。您将理解一个文档是如何被索引,以及搜索引擎是如何通过倒排索引快速定位匹配的文档的。    Elasticsearch的分布式架构: Elasticsearch作为一个分布式系统,其节点、集群、主节点(Master Node)、数据节点(Data Node)、协调节点(Coordinating Node)等角色的划分至关重要。本书将详细解析Elasticsearch的分布式协调机制,包括脑裂(Split Brain)问题的发生与规避,以及分片(Shard)和副本(Replica)在数据冗余和高可用性中的作用。    数据模型与映射(Mapping): Elasticsearch的数据模型与传统关系型数据库有着显著差异。本书将深入探讨Elasticsearch的文档结构、字段类型(如text, keyword, numeric, date, boolean)以及动态映射(Dynamic Mapping)和显式映射(Explicit Mapping)的原理与最佳实践。您将理解不同字段类型对搜索和聚合性能的影响。    索引创建与写入流程: 当您向Elasticsearch写入文档时,背后究竟发生了什么?本书将详细解析文档写入Elasticsearch的完整流程,包括客户端请求的接收、路由到主分片、副本的分发、Translog(事务日志)的写入以及Segment(段)的生成与刷新(Refresh)和合并(Merge)机制。  第二部分:Elasticsearch搜索与聚合深度剖析     搜索API与查询 DSL: 您将学习Elasticsearch强大的查询 DSL(Domain Specific Language),掌握各种查询类型(如match, term, range, bool, prefix, wildcard, regexp)的用法,以及它们是如何被翻译成Lucene查询的。本书将重点讲解bool查询的组合逻辑,以及各种查询子句(must, filter, should, must_not)的细微差别。    相关性排序(Scoring): Elasticsearch的搜索结果是根据相关性得分排序的。本书将深入剖析TF-IDF(Term Frequency-Inverse Document Frequency)和BM25等经典的评分算法,以及Elasticsearch如何利用这些算法为搜索结果打分。您还将学习如何通过`function_score` API来自定义评分机制。    聚合(Aggregations)详解: Elasticsearch强大的聚合功能是其在数据分析领域独树一帜的关键。本书将详细介绍各种类型的聚合,包括指标聚合(Metrics Aggregations,如count, sum, avg, min, max)、桶聚合(Bucket Aggregations,如terms, range, date_histogram, geo_distance)以及管道聚合(Pipeline Aggregations)。您将学会如何构建复杂的聚合查询,以实现诸如用户行为分析、销售数据统计、日志事件分组等高级分析任务。    搜索与聚合的性能优化: 面对海量数据,搜索和聚合的性能直接影响用户体验。本书将从原理层面剖析导致性能瓶颈的常见原因,并提供行之有效的优化策略,包括查询缓存(Query Cache)、请求缓存(Request Cache)、切片搜索(Search Sharding)的优化、以及如何利用Filter Context来避免不必要的评分计算。    Elasticsearch的内存模型与 JVM 调优: Elasticsearch运行在JVM之上,JVM的性能直接影响Elasticsearch的整体表现。本书将简要介绍Elasticsearch的内存模型,包括堆内存(Heap Memory)和堆外内存(Off-Heap Memory)的使用,并提供一些基本的JVM调优建议,帮助您更好地管理Elasticsearch的资源。  总结  通过阅读这两本图书,您将不仅能够熟练运用ELK Stack进行日常的数据分析和监控工作,更能深刻理解Elasticsearch底层的运行机制。这种深入的理解将使您在面临复杂的业务场景、性能瓶颈或架构设计时,能够做出更明智的决策,从而最大化Elastic Stack的价值,构建出更稳定、高效、智能化的数据处理与分析系统。无论您是开发人员、运维工程师、数据分析师,还是对分布式系统和搜索技术充满好奇的学习者,这两本书都将为您提供无与伦比的指导与启发。