《精通Elastic Stack》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(印)Y.古普塔(Yuvraj Gupta),(印)R.K.古普塔
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302492436
  • 页数:394 页
图书介绍:对大数据的搜索、挖掘、可视化以及集群管理,在当今的“互联网+”时代是很有必要的。了解基于Elastic Stack5的各相关组件并掌握它们的基本使用方法和技巧,对于大数据搜索与挖掘,是很有必要的。但国内目前尚无有关Elastic Stack的专业书籍,已有的少数书籍均是基于很早版本的Elasticsearch.因此,讲本书内容译成中文,很有必要。

第1章 Elastic Stack概述 1

1.1 ELK Stack简介 1

1.1.1 Logstash 2

1.1.2 Elasticsearch 3

1.1.3 Kibana 3

1.2 Elastic Stack的诞生 3

1.3 谁在使用Elastic Stack? 4

1.3.1 Salesforce 5

1.3.2 CERN 5

1.3.3 Green Man Gaming 5

1.4 竞争者 6

1.5 设置Elastic Stack的使用环境 6

1.5.1 安装Java 6

1.5.2 安装Elasticsearch 9

1.5.3 安装Kibana 12

1.5.4 安装Logstash 15

1.5.5 安装Filebeat 16

1.6 X-Pack简介 18

1.7 本章小结 19

第2章 走进Elasticsearch 20

2.1 Elasticsearch的起源 20

2.2 了解Elasticsearch的体系结构 22

2.2.1 推荐的集群配置 23

2.2.2 了解文档处理 24

2.3 Elasticsearch API 25

2.3.1 有关文档的API 25

2.3.2 有关搜索的API 38

2.3.3 有关索引的API 43

2.3.4 Cat API 51

2.3.5 Cluster API 52

2.4 Query DSL 52

2.5 聚合 52

2.5.1 Buckets聚合 52

2.5.2 Metrics聚合 59

2.6 Painless脚本说明 64

2.7 本章小结 66

第3章 探索Logstash及其组件 67

3.1 Logstash简介 68

3.2 为什么需要用Logstash 68

3.3 Logstash的特点 69

3.4 Logstash插件的体系架构 70

3.5 Logstash配置文件的结构 71

3.5.1 值类型 71

3.5.2 条件判断的用法 73

3.6 插件种类 74

3.6.1 数据输入插件Input 74

3.6.2 数据过滤插件Filter 74

3.6.3 数据输出插件Output 75

3.6.4 编解码插件Codec 75

3.7 学习数据输入插件Input 76

3.7.1 stdin 77

3.7.2 file 78

3.7.3 path 79

3.7.4 udp 82

3.8 学习数据过滤插件Filter 83

3.8.1 grok 84

3.8.2 mutate 86

3.8.3 csv 89

3.9 学习数据输出插件Output 90

3.9.1 stdout 90

3.9.2 file 91

3.9.3 elasticsearch 93

3.10 学习编解码插件Codec 95

3.10.1 rubydebug 95

3.10.2 json 96

3.10.3 avro 96

3.10.4 multiline 97

3.11 插件的命令行操作 99

3.11.1 列出插件列表 100

3.11.2 安装插件 100

3.11.3 移除插件 101

3.11.4 更新插件 101

3.11.5 压缩插件 102

3.11.6 解压插件 102

3.12 Logstash的命令行操作 103

3.13 使用Logstash的小技巧 105

3.13.1 引用字段及其值 106

3.13.2 添加自定义的grok模式 106

3.13.3 Logstash不显示任何输出信息 107

3.14 用于解析日志的Logstash配置 108

3.14.1 Catalina日志示例 108

3.14.2 Tomcat日志示例 108

3.14.3 基于grok模式的Catalina日志 109

3.14.4 基于grok模式的Tomcat日志示例 109

3.14.5 Logstash配置文件 110

3.15 监控系统相应状态信息的API 112

3.15.1 节点信息API 113

3.15.2 插件信息API 115

3.15.3 节点状态API 116

3.15.4 Hot threads API 116

3.16 本章小结 117

第4章 Kibana界面 118

4.1 Kibana及其功能 118

4.2 探索Discover界面 120

4.3 时间过滤器 121

4.3.1 快捷时间过滤器 122

4.3.2 相对时间过滤器 122

4.3.3 绝对时间过滤器 122

4.3.4 自动刷新 122

4.4 查询和搜索数据 123

4.4.1 全文检索 123

4.4.2 范围搜索 123

4.4.3 布尔搜索 124

4.4.4 邻近搜索 124

4.4.5 通配符搜索 124

4.4.6 正则表达式搜索 125

4.4.7 分组 125

4.5 字段和过滤器 125

4.5.1 过滤字段 125

4.5.2 过滤器的功能 126

4.6 查询页面选项 127

4.7 探索Visualize界面 127

4.7.1 了解聚合 129

4.7.2 可视化画布 133

4.7.3 面积图 133

4.7.4 数据表 133

4.7.5 折线图 133

4.7.6 气泡图 133

4.7.7 Markdown部件 134

4.7.8 Metric 134

4.7.9 饼图 134

4.7.10 标签云 134

4.7.11 瓦片地图 134

4.7.12 时间序列 134

4.7.13 直方图 134

4.8 探索Dashboard界面 135

4.9 了解Timelion 137

4.10 探索开发者工具 139

4.11 探索设置界面 140

4.11.1 索引模式 141

4.11.2 已保存的对象 141

4.11.3 高级设置 141

4.11.4 状态 143

4.12 综合应用 143

4.12.1 输入数据 143

4.12.2 创建Logstash配置文件 144

4.12.3 使用Kibana 147

4.12.4 在Kibana中创建面板 155

4.13 本章小结 157

第5章 使用Beats 158

5.1 Beats简介 158

5.2 Beats与Logstash的不同之处 159

5.3 Beats如何融入Elastic Stack 160

5.4 不同类型的Beats组件概述 162

5.4.1 Elastic团队开发的Beats组件 162

5.4.2 社区开发者开发的Beats组件 164

5.5 Elastic团队开发的Beats组件 164

5.5.1 了解Filebeat 165

5.5.2 理解Metricbeat 172

5.5.3 理解Packetbeat 177

5.6 社区开发者开发的Beats组件 179

5.7 Beats在Elastic Stack中的实战 182

5.7.1 用Logstash和Kibana探索Metricbeat 182

5.7.2 用Elasticsearch和Kibana探索Elasticbeat 191

5.8 本章小结 195

第6章 Elastic Stack实战 196

6.1 理解问题场景 196

6.2 准备Elastic Stack管道 199

6.2.1 要获取什么数据? 200

6.2.2 更新体系结构 200

6.3 配置Elastic Stack组件 201

6.3.1 搭建Elasticsearch 202

6.3.2 搭建agents/Beats 202

6.3.3 搭建Logstash 207

6.3.4 设置Kibana 213

6.4 设置Kibana面板 213

6.4.1 Packetbeat 214

6.4.2 Metricbeat 214

6.4.3 查看数据库(MySQL)性能 215

6.4.4 分析CPU的使用 216

6.4.5 内存使用情况 217

6.4.6 检查日志 217

6.4.7 寻找访问最多的网页 219

6.4.8 访客地图 219

6.4.9 一定时间范围内的访客数量 220

6.4.10 请求类型 221

6.4.11 错误类型——日志的级别 221

6.4.12 首选的referrer 223

6.4.13 首选的代理agent 223

6.5 使用Logstash电子邮件功能发警报 224

6.6 使用消息代理 225

6.7 本章小结 226

第7章 个性化定制Elastic Stack 227

7.1 扩展Elasticsearch 227

7.1.1 Elasticsearch开发环境 228

7.1.2 剖析一个Elasticsearch Java插件 229

7.1.3 构建插件 230

7.2 扩展Logstash 231

7.3 扩展Beat s 239

7.3.1 Libbeat框架 239

7.3.2 创建一个Beat 240

7.4 扩展Kibana 251

7.4.1 设置Kibana开发环境 252

7.4.2 生成一个插件 253

7.4.3 剖析一个插件 254

7.5 本章小结 257

第8章 Elasticsearch API 258

8.1 集群API 258

8.1.1 集群健康状况 258

8.1.2 集群状态 260

8.1.3 集群统计信息 261

8.1.4 待处理任务 261

8.1.5 集群重路由 261

8.1.6 集群更新设置 262

8.1.7 节点统计信息 262

8.1.8 节点信息API 263

8.1.9 任务管理API 264

8.2 Cat API 265

8.3 Elasticsearch模块 268

8.3.1 集群模块 269

8.3.2 Discovery模块 269

8.3.3 Gateway模块 269

8.3.4 HTTP模块 269

8.3.5 索引模块 269

8.3.6 网络模块 269

8.3.7 节点客户端 270

8.3.8 插件模块 270

8.3.9 脚本 270

8.3.10 快照/恢复模块 271

8.3.11 线程池 271

8.3.12 Transport模块 271

8.3.13 Tribe节点模块 272

8.4 Ingest节点 272

8.5 Elasticsearch客户端 276

8.5.1 支持的客户端 276

8.5.2 社区提供的客户端 276

8.6 Java API 277

8.6.1 连接到集群 277

8.6.2 管理任务 278

8.6.3 索引级任务 281

8.7 Elasticsearch插件 286

8.7.1 Discovery插件 287

8.7.2 Ingest插件 287

8.7.3 Elasticsearch SQL 288

8.8 本章小结 289

第9章 X-Pack插件中的Security与Monitoring组件 290

9.1 X-Pack介绍 290

9.2 X-Pack的安装 291

9.2.1 在Elasticsearch中安装X-Pack 291

9.2.2 在Kibana中安装X-Pack 292

9.2.3 在离线系统中安装X-Pack 292

9.2.4 卸载X-Pack 293

9.3 Security组件 294

9.3.1 列出所有Security中的用户 295

9.3.2 列出Security中的角色 296

9.3.3 了解Security中的角色 297

9.3.4 理解默认用户角色 299

9.3.5 在Security中添加新角色 299

9.3.6 在Security中更新角色 300

9.3.7 了解字段级的Security 301

9.3.8 在Security中添加新用户 302

9.3.9 在Security中更新用户详细信息 303

9.3.10 在Security中修改用户密码 304

9.3.11 在Security中删除角色 304

9.3.12 在Security中删除用户 304

9.4 查看X-Pack信息 305

9.5 Monitoring组件 307

9.5.1 探索Elasticsearch的监控统计 308

9.5.2 探索Kibana的监控统计 314

9.6 了解Profiler 315

9.7 本章小结 317

第10章 X-Pack插件中的Alerting、Graph和Reporting组件 318

10.1 Alerting与Notification组件 318

10.2 Graph组件 336

10.3 Reporting组件 341

10.4 本章小结 344

第11章 最佳实践范例 345

11.1 为什么需要最佳实践范例 345

11.2 了解你的用例 346

11.3 管理配置文件 347

11.3.1 Elasticsearch——elasticsearch.yml 347

11.3.2 Kibana——kibana.yml 348

11.4 选择正确的硬件 348

11.4.1 内存 349

11.4.2 磁盘 351

11.4.3 输入输出 353

11.4.4 CPU 354

11.4.5 网络 354

11.5 搜索和索引性能 354

11.5.1 过滤缓存 354

11.5.2 Fielddata的容量 355

11.5.3 索引缓冲区 356

11.6 调整Elasticsearch集群 357

11.6.1 选择正确的节点 357

11.6.2 确定节点数 359

11.6.3 确定分片数 360

11.6.4 缩减磁盘空间 361

11.7 Logstash配置文件 361

11.7.1 对多个数据源分类 362

11.7.2 使用conditional条件 362

11.7.3 使用自定义grok模式 363

11.7.4 简化grokparsefailure 363

11.7.5 字段的映像 363

11.7.6 动态模板 363

11.7.7 测试配置 364

11.8 重新索引数据 364

11.9 本章小结 365

第12章 案例分析——Meetup 366

12.1 了解Meetup使用场景 366

12.2 环境搭建 367

12.2.1 理解Meetup API 368

12.2.2 搭建Elasticsearch 370

12.2.3 准备Logstash 370

12.2.4 搭建Kibana 374

12.3 使用Kibana分析数据 374

12.3.1 内容过滤 375

12.3.2 按国家统计Meetup使用量 377

12.3.3 世界前10座使用Meetup的城市 379

12.3.4 按持续时间分析Meetup发展趋势 380

12.3.5 按RSVP计数统计Meetup使用量 383

12.3.6 国家分组统计 384

12.3.7 加入群组的模式统计 384

12.3.8 热门类别 385

12.3.9 热门话题 387

12.3.10 Meetup活动场所地图 388

12.3.11 Meetup活动地图 389

12.3.12 仅数量方面的统计 389

12.4 获取通知 390

12.5 本章小结 393