前言 *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字段 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 本章小結 |