《大數據搜尋與日誌挖掘及可視化方案——ELK Stack:Elasticsearch,Lo》是2016年6月出版的圖書,作者是高凱。
基本介紹
- 書名:大數據搜尋與日誌挖掘及可視化方案——ELK Stack:Elasticsearch,Lo
- 作者:高凱
- ISBN:9787302433286
- 定價:49.90元
- 出版社:清華大學出版社
- 出版時間:2016年6月
內容簡介,作者簡介,目錄,
內容簡介
數據的搜尋與挖掘,在當今的“網際網路+”時代是很有必要的。本書提出的分散式大數據搜尋與日誌挖掘及可視化方案是基於ELK Stack而提出的,它能有效應對海量大數據所帶來的分散式存儲與處理、全文檢索、日誌挖掘、可視化等問題。構建在全文檢索開源軟體Lucene之上的Elasticsearch,不僅能對海量規模的數據完成分散式索引與檢索,還能提供數據聚合分析。據國際權威的資料庫產品評測機構DBEngines的統計,在2016年1月,Elasticsearch已超過Solr等,成為排名第一的搜尋引擎類套用;Logstash能有效處理來源於各種數據源的日誌信息;Kibana能得出可視化分析結果。了解基於ELK Stack的大數據搜尋與日誌挖掘及可視化方案,掌握Elasticsearch、Logstash、Kibana的基本使用方法和技巧,很有必要。
作者簡介
高凱,男,漢族,教授;博士畢業於上海交通大學計算機套用技術專業,省級重點學科“計算機軟體與理論”中“信息檢索與雲計算”方向學術帶頭人,碩士研究生導師;中國計算機學會計算機套用專委會通信委員,國外學術期刊International Journal of Computer Applications in Technology副主編,5th /6th /7th /8th International Conference on Modelling, Identification and Control程式委員會委員;主要研究方向為大數據搜尋與挖掘、自然語言處理、網路信息檢索、社會計算等。
目錄
第1章概述1
1.1Elasticsearch的安裝與簡單配置3
1.2走進Elasticsearch6
1.2.1相關概念6
1.2.2Elasticsearch API的簡單使用方式8
1.2.3部分外掛程式簡介9
1.2.4Elasticsearch 基本架構11
1.3Elasticsearch索引及其構建12
1.3.1概述12
1.3.2藉助Head工具構建索引12
1.3.3Mapping簡述14
1.4信息檢索及其構建15
1.5中文分詞外掛程式16
1.6實例20
1.7擴展知識與閱讀25
1.8本章小結25
第2章文檔索引及管理26
2.1文檔索引概述26
2.2建立索引28
2.3通過映像Mapping配置索引32
2.3.1在索引中使用映像33
2.3.2管理/配置映像33
2.3.3獲取映像信息34
2.3.4刪除映像35
2.4管理索引檔案362.4.1打開、關閉、檢測、刪除索引檔案36
2.4.2清空索引快取36
[1][2][1][3]2.4.3刷新索引數據37
2.4.4最佳化索引數據37
2.4.5flush操作37
2.5設定中文分詞器38
2.6對文檔的其他操作39
2.6.1獲取指定的文檔信息39
2.6.2刪除文檔中的信息41
2.6.3數據更新41
2.6.4基於POST方式批量獲取文檔44
2.6.5刪除部分文檔46
2.7實例46
2.8擴展知識與閱讀49
2.9本章小結50
第3章信息檢索與結果過濾51
3.1實驗數據集描述52
3.2簡單檢索53
3.3基本檢索55
3.3.1設定不同欄位的排序權重55
3.3.2指定返回的欄位子集55
3.3.3term查詢、terms查詢、wildcard通配符查詢58
3.3.4match、match_all、match_phrase查詢59
3.3.5query_string查詢60
3.3.6prefix、range查詢61
3.3.7more_like_this、fuzzy_like_this查詢63
3.3.8跨欄位檢索64
3.4filter概述65
3.5常用filter及其套用67
3.5.1and filter及or filter67
3.5.2bool filter68
3.5.3exists filter和missing filter68
3.5.4type filter69
3.5.5match_all filter69
3.5.6not filter70
3.5.7query filter70
3.6複合查詢71
3.7結果排序74
3.8實例75
3.9擴展知識與閱讀79
3.10本章小結79
第4章信息統計分析與搜尋提示80
4.1facets概述81
4.2各種不同的facets統計82
4.2.1terms facets: 指定欄位的分布情況統計82
4.2.2range facets: 在某個範圍的分布情況統計86
4.2.3histogram facets89
4.2.4date_histogram facets92
4.2.5statistical facets94
4.2.6terms_stats facets96
4.3aggregations97
4.3.1概述97
4.3.2最值、求和、均值統計98
4.3.3stats aggregation及extended stats aggregation101
4.3.4terms aggregations103
4.3.5range aggregations108
4.3.6date_range aggregations111
4.3.7histogram aggregations111
4.3.8date_histogram aggregations114
4.3.9filter aggregations117
4.3.10missing aggregations119
4.4搜尋提示121
4.5實例122
4.6擴展知識與閱讀127
4.7本章小結127
第5章Elasticsearch部分功能的Java客戶端實現129
5.1Elasticsearch節點實例化129
5.1.1通過Maven添加對Elasticsearch依賴130
5.1.2初始化Elasticsearch Client132
5.2索引數據133
5.2.1準備json數據133
5.2.2索引json數據135
5.3對索引文檔的操作137
5.3.1獲取索引文檔137
5.3.2刪除索引文檔138
5.3.3更新索引文檔139
5.3.4批量操作索引檔案140
5.3.5簡單的統計操作141
5.4信息檢索142
5.4.1概述142
5.4.2multiSearch143
5.4.3Query DSL概述144
5.4.4matchQuery145
5.4.5matchAllQuery146
5.4.6multiMatchQuery146
5.4.7boolQuery147
5.4.8termQuery148
5.4.9wildcardQuery149
5.4.10queryString149
5.4.11moreLikeThis150
5.4.12filter概述151
5.4.13termFilter152
5.4.14existsFilter152
5.4.15matchAllFilter153
5.4.16queryFilter153
5.4.17rangeFilter154
5.4.18typeFilter155
5.4.19過濾器間的組合:boolFilter、notFilter、orFilter、andFilter155
5.5統計分析157
5.5.1facets157
5.5.2aggregations158
5.6對檢索結果的進一步處理160
5.6.1控制每頁的顯示數量及顯示排序依據160
5.6.2基於Scroll方法的檢索結果及其分頁161
5.6.3高亮顯示檢索詞163
5.7實例164
5.7.1連線Elasticsearch164
5.7.2信息採集與索引構建165
5.7.3搜尋模組的實現167
5.7.4推薦模組的實現169
5.8擴展知識與閱讀170
5.9本章小結170
第6章Elasticsearch配置與集群管理171
6.1Elasticsearch部分基本配置及其說明171
6.2提高索引和查詢效率的策略174
6.3監控集群狀態176
6.4控制索引分片與副本分配178
6.5集群管理180
6.6擴展知識與閱讀181
6.7本章小結181
第7章基於Logstash的日誌處理182
7.1概述183
7.2input:處理輸入的日誌數據185
7.2.1處理基於file方式輸入的日誌信息186
7.2.2處理基於generator產生的日誌信息187
7.2.3處理基於log4j的日誌信息188
7.2.4處理基於redis的日誌信息189
7.2.5處理基於stdin方式輸入的信息193
7.2.6處理基於TCP傳輸的日誌數據193
7.2.7處理基於UDP傳輸的日誌數據197
7.3codecs:格式化日誌數據199
7.3.1json格式199
7.3.2rubydebug格式201
7.3.3plain格式202
7.4基於filter的日誌處理與轉換202
7.4.1jsonfilter203
7.4.2grokfilter204
7.4.3kvfilter206
7.5output:處理輸出的日誌數據208
7.5.1將處理後的日誌輸出到Elasticsearch中208
7.5.2將處理後的日誌輸出至檔案中210
7.5.3將處理後的部分日誌輸出到csv格式的檔案中211
7.5.4將處理後的日誌輸出到redis中212
7.5.5將處理後的部分日誌通過UDP協定輸出214
7.5.6將處理後的部分日誌通過TCP協定輸出216
7.5.7將收集到的日誌信息傳輸到自定義的HTTP接口中220
7.6擴展知識與閱讀220
7.7本章小結221
第8章基於Kibana的數據分析可視化222
8.1安裝Kibana223
8.2Kibana概述224
8.2.1在儀錶盤上添加新行226
8.2.2在行中添加新面板226
8.2.3設定Query和Filtering228
8.3常用面板類型230
8.3.1histogram230
8.3.2table233
8.3.3map和bettermap234
8.3.4terms234
8.3.5text236
8.3.6sparklines237
8.3.7trends238
8.4網站性能監控可視化套用的設計與實現238
8.4.1概述239
8.4.2PageView240
8.4.3回響/請求時間241
8.4.4流量走勢與統計242
8.4.5狀態碼監控245
8.4.6UA行248
8.5KibanaV4簡介249
8.5.1新建視圖250
8.5.2建立Dashboard252
8.5.3配置252
8.6擴展知識與閱讀253
8.7本章小結254
第9章網路信息檢索與分析實踐255
9.1信息採集255
9.2基於Python的信息檢索及Web端設計260
9.2.1安裝Python及Django260
9.2.2安裝Elasticsearch的Python外掛程式261
9.2.3Web頁面設計262
9.3基於Logstash的日誌處理265
9.3.1安裝和配置Nginx266
9.3.2設計面向日誌檔案的模式266
9.3.3在Logstash中進行相關配置267
9.4基於Kibana的日誌分析結果可視化設計與實現268
9.4.1圖表1:狀態碼走勢分析269
9.4.2圖表2:查詢詞分析271
9.4.3圖表3:分析各狀態碼隨時間的變遷情況272
9.4.4集成上述圖表273
9.5擴展知識與閱讀274
9.6本章小結274
參考文獻275