《Elastic Stack套用寶典》是2019年機械工業出版社出版的圖書,作者是田雪松。
基本介紹
- 中文名:Elastic Stack套用寶典
- 作者:田雪松
- 出版社:機械工業出版社
- 出版時間:2019年11月1日
- ISBN:9787111634447
內容簡介,圖書目錄,作者簡介,
內容簡介
《Elastic Stack套用寶典》系統地介紹了Elastic Stack套用與開發。Elastic Stack由一組處理和分析全文數據的組件構成,在日誌、監控等領域中都有著廣泛套用。《Elastic Stack套用寶典》在分析了Elastic Stack體系結構的基礎之上,對Elastic Stack中的Elasticsearch、Logstash、Kibana和Beats組件分章節做了詳細介紹。在講解這些組件時,還列舉了大量的套用實例,使讀者可以在實踐操作中迅速掌握這些組件的使用方法。
《Elastic Stack套用寶典》以Elastic Stack*新發布的版本7為基礎編寫,介紹了Elastic Stack中引入的新技術和新變化。《Elastic Stack套用寶典》適於有一定開發基礎的軟體編程人員,也可以做為架構師和運維人員的參考資料。
圖書目錄
前言
第1章 初識Elastic Stack
1.1 從ELK到Elastic Stack
1.1.1 歷史
1.1.2 版本演變
1.1.3 許可授權
1.1.4 套用場景
1.2 Elasticsearch概覽
1.2.1 安裝與配置
1.2.2 體驗Elasticsearch
1.3 Kibana概覽
1.3.1 安裝與配置
1.3.2 連線Elasticsearch
1.3.3 體驗Kibana
1.3.4 導入樣例數據
1.4 Logstash概覽
1.4.1 安裝Logstash
1.4.2 啟動Logstash
1.4.3 連線Elasticsearch
1.5 Beats概覽
1.5.1 安裝Filebeats
1.5.2 配置Filebeat
1.5.3 啟動Filebeat
1.6 本章小結
第2章 Elasticsearch原理與實現
2.1 全文檢索與倒排索引
2.1.1 全文檢索
2.1.2 倒排索引
2.1.3 Elasticsearch索引
2.1.4 Elasticsearch映射
2.2 文檔欄位
2.2.1 欄位索引
2.2.2 欄位存儲
2.2.3 欄位參數
2.2.4 元欄位
2.2.5 欄位限制
2.3 欄位數據類型
2.3.1 核心類型
2.3.2 衍生類型
2.3.3 多數據類型
2.4 分片與複製
2.4.1 分片與集群
2.4.2 路由
2.4.3 容量規劃
2.4.4 副本
2.5 客戶端API概覽
2.5.1 REST接口
2.5.2 Painless腳本
2.5.3 Java API
2.6 本章小結
第3章 Elasticsearch索引與文檔
3.1 索引別名與配置
3.1.1 索引別名
3.1.2 索引配置
3.2 動態映射與索引模板
3.2.1 動態欄位
3.2.2 動態模板
3.2.3 索引模板
3.2.4 _mapping接口
3.3 容量控制與快取機制
3.3.1 _split接口
3.3.2 _shrink接口
3.3.3 _reindex接口
3.3.4 快取機制
3.3.5 查看運行狀態
3.4 操作文檔
3.4.1 索引文檔
3.4.2 獲取文檔
3.4.3 刪除文檔
3.4.4 更新文檔
3.4.5 批量操作
3.5 本章小結
第4章 Elasticsearch分析與檢索
4.1 _search接口
4.1.1 基於URI
4.1.2 基於請求體
4.2 分頁與排序
4.2.1 from/size參數
4.2.2 scroll參數
4.2.3 search_after參數
4.2.4 sort參數
4.3 欄位投影
4.3.1 _source參數
4.3.2 stored_fields參數
4.3.3 docvalue_fields參數
4.3.4 script_fields參數
4.4 分析器與規整器
4.4.1 設定分析器
4.4.2 _analyze接口
4.4.3 _termvectors接口
4.4.4 規整器
4.5 內置分析器與中文分析器
4.5.1 standard分析器
4.5.2 stop分析器
4.5.3 pattern分析器
4.5.4 custom分析器
4.5.5 其它內置分析器
4.5.6 中文分析器
4.6 其它檢索接口
4.6.1 _count接口
4.6.2 _msearch接口
4.6.3 _scripts接口
4.6.4 輔助接口
4.7 本章小結
第5章 葉子查詢與模糊查詢
5.1 基於詞項的查詢
5.1.1 term、terms和terms_set
5.1.2 range與exists
5.1.3 使用模式匹配
5.1.4 type與ids
5.1.5 停止詞與common查詢
5.2 基於全文的查詢
5.2.1 詞項匹配
5.2.2 短語匹配
5.2.3 查詢字元串
5.2.4 間隔查詢
5.3 模糊查詢與糾錯提示
5.3.1 Levenshtein與NGram
5.3.2 模糊查詢
5.3.3 糾錯與提示
5.4 本章小結
第6章 相關性評分與組合查詢
6.1 相關性評分
6.1.1 相關度模型
6.1.2 TF/IDF
6.1.3 BM25
6.1.4 相關度解釋
6.1.5 相關度權重
6.2 組合查詢與相關度組合
6.2.1 bool組合查詢
6.2.2 dis_max組合查詢
6.2.3 constant_score查詢
6.2.4 boosting查詢
6.2.5 function_score查詢
6.2.6 相關度組合
6.3 本章小結
第7章 聚集查詢
7.1 度量聚集
7.1.1 平均值聚集
7.1.2 計數聚集與極值聚集
7.1.3 統計聚集
7.1.4 百分位聚集
7.2 使用範圍分桶
7.2.1 數值範圍
7.2.2 間隔範圍
7.2.3 聚集嵌套
7.3 使用詞項分桶
7.3.1 terms聚集
7.3.2 significant_terms聚集
7.3.3 significant_text聚集
7.3.4 樣本
7.4 單桶聚集與聚集組合
7.4.1 單桶聚集
7.4.2 聚集組合
7.4.3 鄰接矩陣
7.5 管道聚集
7.5.1 基於兄弟聚集
7.5.2 基於父聚集
7.5.3 矩陣聚集
7.6 本章小結
第8章 處理特殊數據類型
8.1 父子關係
8.1.1 join類型
8.1.2 has_child查詢
8.1.3 has_parent查詢
8.1.4 parent_id查詢
8.1.5 children聚集
8.1.6 parent聚集
8.2 嵌套類型
8.2.1 nested類型
8.2.2 nested查詢
8.2.3 nested聚集
8.3.4 reverse_nested聚集
8.3 處理地理信息
8.3.1 GeoHash
8.3.2 地理類型欄位
8.3.3 geo_shape查詢
8.3.4 geo_bounding_box查詢
8.3.5 geo_distance查詢
8.3.6 geo_polygon查詢
8.3.7 geohash_grid與geo_distance
8.4 使用SQL語言
8.4.1 _sql接口
8.4.2 SQL語法
8.4.3 操作符與函式
8.5 本章小結
第9章 Kibana文檔發現
9.1 索引模式
9.1.1 創建索引模式
9.1.2 管理模式欄位
9.2 時間範圍與過濾器
9.2.1 數據發現界面結構
9.2.2 使用時間過濾文檔
9.2.3 自定義過濾器
9.3 使用查詢語言
9.3.1 修改查詢語言
9.3.2 使用Lucene語言
9.3.3 使用KQL語言
9.3.4 查詢對象
9.4 文檔展示與欄位過濾
9.4.1 柱狀圖
9.4.2 文檔展示
9.4.3 添加過濾器
9.4.4 分享
9.5 本章小結
第10章 Kibana文檔可視化
10.1 二維坐標圖
10.1.1 面積圖
10.1.2 折線圖與柱狀圖
10.1.3 度量疊加
10.1.4 桶型疊加
10.2 圓形與弧形
10.2.1 餅圖配置
10.2.2 餅圖疊加
10.2.3 目標
10.2.4 儀表
10.3 熱度
10.3.1 熱力圖
10.3.2 標籤雲
10.3.3 坐標地圖
10.3.4 區域地圖
10.4 表格與控制項
10.4.1 表格
10.4.2 控制項
10.5 本章小結
第11章 Kibana綜合展示
11.1 儀錶盤
11.1.1 創建儀錶盤
11.1.2 控制項作用
11.1.3 分享
11.2 畫布
11.2.1 使用workpad
11.2.2 管理圖片資源
11.2.3 添加數據元素
11.3 監控
11.3.1 開啟監控
11.3.2 查看監控圖表
11.4 地圖
11.4.1 疊加圖層
11.4.2 使用聚集
11.4.3 矢量圖層
11.5 本章小結
第12章 Logstash結構與配置
12.1 Logstash體系結構
12.1.1 外掛程式
12.1.2 事件
12.1.3 佇列
12.1.4 Logstash監控
12.2 管道配置
12.2.1 主管道配置
12.2.2 單管道配置
12.2.3 多管道配置
12.3 編解碼器外掛程式
12.3.1 plain編解碼器
12.3.2 按行編解碼
12.3.3 JSON編解碼
12.3.4 序列化編解碼
12.3.5 collectd編解碼
12.3.6 cef編解碼
12.4 本章小結
第13章 輸入與輸出
13.1 beats與elasticsearch
13.1.1 beats外掛程式
13.1.2 elasticsearch外掛程式
13.1.3 dead_letter_queue外掛程式
13.2 面向檔案的外掛程式
13.2.1 事件屬性
13.2.2 讀取模式
13.2.3 SinceDB
13.2.4 多檔案
13.2.5 配置參數
13.2.6 檔案輸出外掛程式
13.3 面向關係型資料庫的外掛程式
13.3.1 連線與語句
13.3.2 執行狀態
13.3.3 配置參數
13.4 面向訊息中間件的外掛程式
13.4.1 Kafka外掛程式
13.4.2 Redis外掛程式
13.4.3 RabbitMQ外掛程式
13.5 面向通信協定的外掛程式
13.5.1 TCP協定
13.5.2 HTTP協定
13.5.3 UDP協定
13.5.4 IMAP與SMTP協定
13.6 其它外掛程式
13.6.1 執行命令
13.6.2 自動生成
13.6.3 雲服務
13.6.4 未綁定外掛程式
13.7 本章小結
第14章 過濾器
14.1 全文數據結構化
14.1.1 grok過濾器
14.1.2 dissect過濾器
14.2 處理半結構化文本
14.2.1 json過濾器
14.2.2 xml過濾器
14.2.3 csv過濾器
14.2.4 kv過濾器
14.3 事件聚集
14.3.1 task_id與code
14.3.2 map與map_meta
14.3.3 其它參數
14.4 使用外部資源
14.4.1 Elasticsearch
14.4.2 JDBC
14.4.3 IP位址
14.4.4 Memcached
14.4.5 HTTP
14.5 數據轉換
14.5.1 mutate過濾器
14.5.2 de_dot過濾器
14.5.3 translate過濾器
14.5.4 date過濾器
14.5.5 urldecode與useragent
14.6 數據添加與刪除
14.6.1 uuid與fingerprint
14.6.2 cidr過濾器
14.6.3 產生事件
14.6.4 截取
14.6.5 刪除
14.6.6 限流
14.6.7 其它過濾器
14.7 本章小結
第15章 Beats原理與結構
15.1 Beats體系結構
15.1.1 共有組件
15.1.2 Beats配置
15.1.3 Beats與Kibana
15.2 Beats處理器
15.2.1 添加邏輯信息
15.2.2 添加基礎信息
15.2.3 添加雲信息
15.2.4 刪除數據
15.2.5 轉換數據
15.3 Beats輸出組件
15.3.1 輸出到Elasticsearch
15.3.2 輸出到Logstash
15.3.3 輸出到Kafka
15.3.4 輸出到Redis
15.3.5 輸出到檔案
15.4 本章小結
第16章 輸入組件
16.1 網路通信
16.1.1 安裝配置
16.1.2 通信協定
16.1.3 通信流程
16.1.4 本地進程
16.1.5 事件屬性
16.2 檔案數據
16.2.1 輸入類型
16.2.2 模組
16.2.3 檔案讀取
16.3 度量數據
16.3.1 Metricbeat
16.3.2 Heartbeat
16.3.3 Uptime
16.4 作業系統信息
16.4.1 Auditbeat
16.4.2 Journalbeat
16.4.3 Winlogbeat
16.5 本章小結
作者簡介
田雪松,北京航空航天大學碩士研究生,軟體研發專家。深耕軟體行業十多年,精通多種程式語言,並在中間件、微服務、大數據等方面有著豐富實戰經驗。參與過銀行、石油、通信、衛生、安全等諸多領域的軟體研發。曾主持設計和開發了多套網際網路套用,一些套用在國內至今仍保持領先地位。曾為國內外眾多知名企業進行研發技術專業培訓,並實際參與到部分企業實際問題的解決當中,形成了較為完善的知識與實踐講授方法。