大數據時代,程式設計師一定要跨入ElasticSearch、Logstash、Kibana本書從分散式大數據搜索、記錄檔採擷與視覺化三個角度出發,以非結構化文字資訊、半結構化的記錄檔資料為處理物件,進行巨觀解決方案與微觀方法技巧全面闡釋。
從專案實作的角度掌握ELK 的基本使用方法和技巧,是一本綜合介紹ELK架構的編著,範圍廣泛,內容新穎,條理清晰。
適用:網站開發人員、 程式設計人員,或大專院校相關科系師生。
作者簡介:
高凱博士
上海交通大學電腦應用技術博士,碩士研究生導師。
英國學術期刊International Journal of Computer Applications in Technology編委會委員,5th、6th、7th lnternational Conference on Modelling,Identification and Control委員。主要研究方向為自然語言處理、網路資訊檢索、社會網路計算、大數據搜索與挖掘、雲端運算等
作者序
前言
建立在分散式系統之上的大數據搜索與採擷應用,是當今IT 業的研究與專案實作熱點之一。在DB-Engines 公佈的2015 年度最受歡迎的資料庫系統中,Elasticsearch 名列前茅。作為開放原始分碼散式檢索與資料處理平台,Elasticsearch 不僅是一個資料庫,它還是一個以Lucene 建置為基礎的開放原始碼、分散式、RESTful 資訊檢索架構。
以Elasticsearch+Logstash+Kibana為基礎的資訊處理架構,為程式設計人員提供了一種分散式可擴充的資訊儲存和全文檢索機制,以及以Logstash 為基礎的記錄檔處理機制、以Kibana為基礎的採擷結果視覺化機制。它不僅能對巨量規模的資料完成分散式索引與檢索, 還能提供資料聚合分析和視覺化。因此, 從實戰的角度掌握Elasticsearch、Logstash、Kibana 的基本使用方法和技巧,很有必要。
大數據這個術語的出現,大概可追溯到以Lucene 為基礎的Apache 開放原始碼專案Nutch。從2009 年開始,大數據開始成為網際網路企業的流行詞彙,也吸引了越來越多的關注。物聯網、雲端運算、行動網際網路、手機與平板電腦、PC 以及遍佈各個角落的各種各樣的感測器,無一不是大數據的來源方或承載方。可以說,大數據就在我們身邊。從阿里巴巴等電子商務資料,到LINE 等即時聊天內容,再到Google、Bing,又到社會網路與臉書、Twitter等,都在生產、承載著大數據。隨著資訊處理量的增大,對大數據的分散式儲存、快速搜索與採擷顯得特別必要。舉例來說,採擷使用者的行為習慣和喜好,從淩亂紛繁的大數據背後找到符合使用者興趣和習慣的產品和服務,並對產品和服務進行有針對性的調整和最佳化,本身就蘊含著極大的商機。但是,傳統的以關聯式資料庫管理系統為基礎的方法,在高效處理大數據時顯得有些力不從心。雖然開放原始碼的全文檢索工具Lucene 能處理非結構化和半結構化的資訊,但其某些版本在分散式處理方面的不足限制了它在大數據方面的應用。我們希望找到一個快速的分散式資訊檢索解決方案,它是一個零設定和易於上手的全文檢索模式,能夠簡單地使用JSON 透過HTTP 索引資料,更希望它支援分散式處理並支援系統擴充,能夠即時搜索,並且穩定、可靠。
Elasticsearch 是一個以Lucene 為基礎的開放原始分碼散式資訊檢索架構和全文檢索搜尋工具。建置在Elasticsearch 基礎上的記錄檔處理工具Logstash和資訊視覺化元件Kibana,能有效銜接並高效處理由Elasticsearch 索引的分散式資料,三者優勢互補,各司其職,共同完成網路大數據分散式儲存、倒排索引、全文檢索、Web 記錄檔處理、採擷結果視覺化這一整套的資訊處理流程。目前這方面的資料很少,僅有的幾部譯著所提及的Elasticsearch 版本較舊,且沒有任何有關Logstash 和Kibana 的書籍。因此我們有了一個想法,將Elasticsearch、Logstash、Kibana(統稱為ELK)連袂奉獻給廣大軟體開發者,幫助他們儘快熟悉ELK 架構,並建置自己的Web 應用程式,完成對分散式資訊的檢索與分析工作。
本書強調實作,內容新穎,條理清晰,組織合理。透過實戰說明的方式,讓讀者更進一步地了解ELK 架構的實現細節。全書內容涵蓋ELK 簡介、文件索引與處理、資訊檢索與過濾、資訊統計與分析、以Java 用戶端為基礎的Elasticsearch 功能實現、Elasticsearch 設定與管理、以Logstash 為基礎的網路記錄檔處理、以Kibana 為基礎的分析結果視覺化、應用實例等多個部分。
全書由高凱提出寫作大綱,第1 章和第6 章由高凱撰寫並完成全書彙整和審稿工作, 其餘各章均由高莘撰寫, 其中, 第1 章概述Elasticsearch、
Logstash、Kibana 的主要功能, 對相關的一些概念進行簡介, 並從實用
的角度出發,透過對實例的說明,介紹索引、檢索的實現機制;第2 章對
Elasticsearch 中的索引、對映等說明;第3 章介紹Elasticsearch 中的檢索功
能;第4 章介紹以Facets、Aggregations 為基礎的資料聚合與統計功能;第5章從專案實作的角度,介紹針對Java 用戶端的Elasticsearch 部分功能的設計與實現;第6 章介紹Elasticsearch 的設定及一些進階功能、監控等的使用;第7 章介紹記錄檔處理及Logstash 的應用;第8 章介紹以Kibana 為基礎的視覺化技術;第9 章列出一個綜合應用實例,該實例從網頁擷取、處理、儲存、索引、記錄檔處理、視覺化展示等入手,介紹了以ELK 為基礎的分散式資訊檢索與記錄檔採擷解決方案。
本書的順利完成也得益於參閱了大量的相關工作及研究成果,部分內容來自Elasticsearch、Logstash、Kibana 的官方文件。在寫作過程中,也參考了相關文獻和網際網路上許多熱心網友提供的素材,在此謹向這些文獻的作者、熱心網友以及為本書提供幫助的老師,特別是那些由於篇幅所限未及在參考文獻中提及的相關文獻的作者和網站,致以誠摯的謝意和崇高的敬意。
由於我們的學識、功力均有限,書中不妥之處在所難免,懇請讀者們批評指正。
繁體版說明:
本書使用Elasticsearch、Kibana 及Logstash, 目前其介面支援簡體中
文,因此本書部分示範圖為簡體中文介面。
前言
建立在分散式系統之上的大數據搜索與採擷應用,是當今IT 業的研究與專案實作熱點之一。在DB-Engines 公佈的2015 年度最受歡迎的資料庫系統中,Elasticsearch 名列前茅。作為開放原始分碼散式檢索與資料處理平台,Elasticsearch 不僅是一個資料庫,它還是一個以Lucene 建置為基礎的開放原始碼、分散式、RESTful 資訊檢索架構。
以Elasticsearch+Logstash+Kibana為基礎的資訊處理架構,為程式設計人員提供了一種分散式可擴充的資訊儲存和全文檢索機制,以及以Logstash 為基礎的記錄檔處理機制、以Kibana為基礎的採擷結果視覺化機制...
目錄
推薦序1
推薦序2
前言
Chapter 01 概 述
1.1 Elasticsearch 的安裝與簡單設定
1.2 走近Elasticsearch
1.3 Elasticsearch 索引及其建置
1.4 資訊檢索及其建置
1.5 實例
1.6 擴充知識與閱讀
1.7 本章小結他效果
Chapter 02 文件索引及管理
2.1 文件索引概述
2.2 建立索引
2.3 透過映射Mapping 設定索引
2.4 管理索引檔案
2.5 設定中文分詞器
2.6 對文件的其他操作
2.7 擴充知識與閱讀
2.8 本章小結
Chapter 03 資訊檢索與結果過濾
3.1 實驗資料集描述
3.2 簡單檢索
3.3 基本檢索
3.4 Filter 概述
3.5 常用Filter 及其應用
3.6 複合查詢
3.7 結果排序
3.8擴充知識與閱讀
3.9 本章小結
Chapter 04 資訊統計分析與搜索提示
4.1 Facets 概述
4.2 各種不同的facets 統計
4.3 Aggregations
4.4 搜索提示
4.5 擴充知識與閱讀
4.6 本章小結
Chapter 05 Elasticsearch 部分功能的Java 用戶端實現
5.1 Elasticsearch 節點產生實體
5.2 索引資料
5.3 對索引文件的操作
5.4資訊檢索
5.5 統計分析
5.6 對檢索結果的進一步處理
5.7 擴充知識與閱讀
5.8 本章小結
Chapter 06 Elasticsearch 設定與叢集管理
6.1 Elasticsearch 部分基本設定及其說明
6.2 加強索引和查詢效率的策略
6.3 監控叢集狀態
6.4 控制索引分片與備份分配
6.5 擴充知識與閱讀
6.6 本章小結
Chapter 07以Logstash 為基礎的記錄檔處理
7.1 概述
7.2 Input:處理輸入的記錄檔資料
7.3 Codecs:格式化記錄檔資料
7.4 Filter 的記錄檔處理與轉換
7.5 Output:處理輸出的記錄檔資料
7.6 擴充知識與閱讀
7.7 本章小結
Chapter 08以Kibana 為基礎的資料分析視覺化
8.1 安裝Kibana
8.2 Kibana 概述
8.3 常用面板類型
8.4 網站效能監控視覺化應用的設計與實現
8.5 Kibana V4 簡介
8.6 擴充知識與閱讀
8.7 本章小結
Chapter 09網路資訊檢索與分析實作
9.1 資訊擷取
9.2 以Python 為基礎的資訊檢索及Web 端設計
9.3 以Logstash 為基礎的記錄檔處理
9.4 以Kibana 為基礎的記錄檔分析結果視覺化設計與實現
9.5 擴充知識與閱讀
9.6 本章小結
參考文獻
推薦序1
推薦序2
前言
Chapter 01 概 述
1.1 Elasticsearch 的安裝與簡單設定
1.2 走近Elasticsearch
1.3 Elasticsearch 索引及其建置
1.4 資訊檢索及其建置
1.5 實例
1.6 擴充知識與閱讀
1.7 本章小結他效果
Chapter 02 文件索引及管理
2.1 文件索引概述
2.2 建立索引
2.3 透過映射Mapping 設定索引
2.4 管理索引檔案
2.5 設定中文分詞器
2.6 對文件的其他操作
2.7 擴充知識與閱讀
2.8 本章小結
Chapter 03 資訊檢索與結果過濾
3.1 實驗資料集描述
3.2 簡單檢索
3.3 基本檢索
3.4 Filter 概述 ...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。