Splunk实践指南
作者:(美)布姆加纳 著
出版时间:2015年版
Splunk是一个收集、存储、报警、制表和研究机器数据的强有力工具。本书从理解Splunk交互界面的基本元素入手,详细讲解搜索语言的基本知识,对表格、图表、指示板等具体内容进行了细致的描述.通过对高级搜索案例和应用程序的逐步分析,本书向读者展示了构建用户自定义的应用程序的方法,为读者快速学习和掌握Splunk大数据开发与应用提供了系统指导。《Splunk实践指南》共12章。第1章介绍Splunk交互界面的基本元素和一些重要概念;第2章详细介绍搜索语言的基础,讨论Splunk中的搜索功能,并讲解如何对搜索结果进行一些有用的再加工;第3章展示如何使用字段生成报表,以及如何构建自定义字段;第4章介绍如何通过使用Splunk提供的向导界面构建指示板;第5章深入讨论一些搜索的高级案例,展示搜索语句的若干强大特性;第6章展示更多的Splunk特性以帮助扩展查询语句,并在搜索时丰富数据;第7章深入讨论安装、构建、定制和分享应用程序;第8章介绍高级XML指示板的概念,以及简单XML指示板转换为高级XML指示板的实用方法;第9章讨论摘要索引及其在提高系统性能方面所发挥的作用;第10章深入讲解驱动Splunk的配置文件;第11章深入介绍关于分布式部署的相关内容,以及如何高效地对其进行配置;第12章阐述在输入数据、外部查询、渲染、定制命令和定制行为等方面扩展Splunk的方法。
目录
- 译者序
- 前言
- 第1章Splunk交互界面1
- 1.1登录Splunk1
- 1.2首页应用程序2
- 1.3顶栏4
- 1.4搜索应用程序6
- 1.4.1数据生成器6
- 1.4.2概要视图6
- 1.4.3搜索8
- 1.4.4动作9
- 1.4.5时间轴10
- 1.4.6字段选择器11
- 1.4.7搜索结果 11
- 1.5使用时间选择器15
- 1.6使用字段选择器16
- 1.7使用管理器17
- 1.8总结19
- 第2章理解搜索20
- 2.1有效地使用搜索词20
- 2.2布尔和分组操作符21
- 2.3点击修改你的搜索22
- 2.3.1事件分割22
- 2.3.2字段组件23
- 2.3.3时间23
- 2.4使用字段进行查询23
- 2.5有效地使用通配符24
- 2.5.1仅仅尾部通配符是有效的25
- 2.5.2通配符最后测试25
- 2.5.3在字段中补充通配符25
- 2.6关于时间25
- 2.6.1Splunk如何解析时间25
- 2.6.2Splunk如何存储时间26
- 2.6.3Splunk如何显示时间26
- 2.6.4确定时区的方法及原因26
- 2.6.5搜索时间的不同方式27
- 2.6.6在搜索中嵌入式地指定时间29
- 2.6.7_indextime 与 _time 对比29
- 2.7加速搜索 29
- 2.8分享结果30
- 2.9保存结果供再次使用32
- 2.10根据搜索创建报警34
- 2.10.1定时计划34
- 2.10.2动作36
- 2.11总结37
- 第3章表格、图表和字段38
- 3.1关于管道符号38
- 3.2使用top命令显示常见字段数值39
- 3.3使用stats命令聚合数值42
- 3.4使用图表转换数据45
- 3.5使用时间图显示数值在时间上的变化46
- 3.6使用字段49
- 3.6.1正则表达式49
- 3.6.2创建字段的命令51
- 3.6.3抽取日志级别52
- 3.7总结60
- 第4章简单XML指示板61
- 4.1指示板的作用61
- 4.2使用向导构建指示板62
- 4.3定时生成指示板69
- 4.4直接编辑XML69
- 4.5用户交互案例应用程序69
- 4.6构建表单70
- 4.6.1根据指示板创建表单70
- 4.6.2从一个表单中产生多个面板74
- 4.6.3后处理的搜索结果79
- 4.6.4后处理的限制80
- 4.7总结84
- 第5章高级搜索案例85
- 5.1使用子查询寻找松散相关的事件85
- 5.1.1子查询85
- 5.1.2子查询使用的注意事项86
- 5.1.3嵌套子查询86
- 5.2使用事务命令87
- 5.2.1使用事务计算会话时长88
- 5.2.2合计事务统计信息90
- 5.2.3用事务组合子搜索90
- 5.3计算并发量94
- 5.3.1使用带并发的事务94
- 5.3.2使用并发量估计服务器负载95
- 5.3.3使用by字句计算并发量96
- 5.4计算每个时间片段的事务100
- 5.4.1使用timechart命令100
- 5.4.2计算每分钟内的平均请求量101
- 5.4.3计算每分钟、每小时内的平均事件103
- 5.5重构top命令105
- 5.6总结110
- 第6章扩展搜索111
- 6.1使用标签简化搜索111
- 6.2使用事件类型对结果分类113
- 6.3通过查找操作丰富数据116
- 6.3.1定义查找操作的表格文件117
- 6.3.2定义一个查找操作的表格文件118
- 6.3.3定义自动查找操作120
- 6.3.4在查找操作中排除故障122
- 6.4使用宏以重复使用逻辑123
- 6.4.1创建一个简单的宏123
- 6.4.2创建带有参数的宏124
- 6.4.3使用eval命令构建一个宏125
- 6.5创建工作流动作125
- 6.5.1使用事件中的数值运行查询125
- 6.5.2链接到外部站点127
- 6.5.3构建工作流动作以展示字段上下文128
- 6.6使用外部命令132
- 6.6.1从XML中抽取数值133
- 6.6.2使用Google生成结果134
- 6.7总结135
- 第7章使用应用程序136
- 7.1定义应用程序136
- 7.2自带的应用程序137
- 7.3安装应用程序137
- 7.3.1从Splunk库中安装应用程序138
- 7.3.2从文件安装应用程序141
- 7.4构建第一个应用程序141
- 7.5编辑导航143
- 7.6定制应用程序外观146
- 7.6.1定制启动图标146
- 7.6.2使用定制CSS146
- 7.6.3使用定制HTML147
- 7.7对象权限151
- 7.7.1权限如何影响导航151
- 7.7.2权限如何影响其他对象152
- 7.7.3纠正权限问题153
- 7.8应用程序目录结构154
- 7.9将应用程序添加到Splunk库中155
- 7.9.1准备你的应用程序155
- 7.9.2打包应用程序157
- 7.9.3上传应用程序158
- 7.10总结158
- 第8章构建高级指示板159
- 8.1使用高级XML的原因159
- 8.2不使用高级XML的原因159
- 8.3开发过程160
- 8.4高级XML结构160
- 8.5将简单XML转换为高级XML162
- 8.6模块逻辑流166
- 8.7理解布局面板168
- 8.8再次使用查询170
- 8.9使用意图171
- 8.9.1字符串替换172
- 8.9.2添加查询词(addterm)173
- 8.10创建定制的细化查询173
- 8.10.1根据定制查询语句构建明细查询173
- 8.10.2为另一个面板构建细化查询175
- 8.10.3对多面板使用HiddenPost- Process模块构建细化查询 177
- 8.11第三方插件181
- 8.11.1Google地图181
- 8.11.2边视图工具(Sideview Utils)183
- 8.12总结191
- 第9章摘要索引和CSV文件192
- 9.1理解摘要索引192
- 9.2何时使用摘要索引193
- 9.3何时不使用摘要索引194
- 9.4利用保存的查询生成摘要索引195
- 9.5在查询中使用摘要索引事件196
- 9.6使用sistats、sitop和sitimechart命令198
- 9.7延迟如何影响摘要查询201
- 9.8如何以及何时回填摘要数据202
- 9.8.1使用fill_summary_index.py回填202
- 9.8.2使用collect命令生成定制的摘要索引203
- 9.9减少摘要索引的规模206
- 9.9.1使用eval和rex命令定义分组字段206
- 9.9.2使用带有通配符的查找操作208
- 9.9.3使用事件类型对结果分组210
- 9.10大跨度的时间范围内计算排名靠前的结果212
- 9.11在摘要索引中存储原始事件215
- 9.12使用CSV文件存储暂态数据217
- 9.12.1预填充下拉菜单217
- 9.12.2计算一天的数据218
- 9.13总结219
- 第10章配置Splunk220
- 10.1Splunk配置文件的位置220
- 10.2Splunk配置文件的结构221
- 10.3配置合并逻辑222
- 10.3.1合并顺序222
- 10.3.2配置合并逻辑223
- 10.3.3使用btool229
- 10.4Splunk中的.conf文件概览230
- 10.4.1props.conf230
- 10.4.2inputs.conf236
- 10.4.3transforms.conf243
- 10.4.4fields.conf252
- 10.4.5outputs.conf253
- 10.4.6indexes.conf253
- 10.4.7authorize.conf255
- 10.4.8savedsearches.conf255
- 10.4.9times.conf256
- 10.4.10commands.conf256
- 10.4.11web.conf256
- 10.5用户交互资源256
- 10.5.1视图与导航256
- 10.5.2应用程序服务器资源257
- 10.5.3元数据257
- 10.6总结259
- 第11章高级部署260
- 11.1制定安装计划260
- 11.2Splunk实例类型261
- 11.2.1Splunk转发器261
- 11.2.2Splunk索引器262
- 11.2.3Splunk搜索263
- 11.3常见数据来源263
- 11.3.1监视服务器日志263
- 11.3.2监视共享驱动器日志264
- 11.3.3批量处理日志264
- 11.3.4接收系统日志事件265
- 11.3.5处理数据库日志268
- 11.3.6使用脚本收集数据269
- 11.4计算索引器规模269
- 11.5制定冗余计划271
- 11.5.1索引器负载均衡271
- 11.5.2理解典型的系统中断272
- 11.6使用多个索引273
- 11.6.1索引的目录结构273
- 11.6.2创建更多索引的时机274
- 11.6.3桶的生命周期275
- 11.6.4计算索引规模276
- 11.6.5使用卷管理多个索引277
- 11.7部署Splunk二进制文件279
- 11.7.1根据压缩文件部署280
- 11.7.2使用msiexec命令部署280
- 11.7.3添加基本配置280
- 11.7.4配置Splunk以实现开机时启动281
- 11.8使用应用程序组织配置281
- 11.9配置分布285
- 11.9.1使用你自己的部署系统285
- 11.9.2使用Splunk部署服务器286
- 11.10为授权使用LDAP291
- 11.11使用单点登录 292
- 11.12负载均衡与Splunk292
- 11.12.1Web292
- 11.12.2splunktcp293
- 11.12.3部署服务器293
- 11.13多搜索头部293
- 11.14总结294
- 第12章扩展Splunk295
- 12.1书写脚本化的输入以收集数据295
- 12.1.1 捕获不带日期的脚本输出295
- 12.1.2捕获脚本输出作为单独事件298
- 12.1.3编写长时间运行的脚本输入299
- 12.2在命令行中使用Splunk300
- 12.3通过REST命令查询Splunk301
- 12.4编写命令304
- 12.4.1何时不编写命令304
- 12.4.2何时编写命令305
- 12.4.3配置命令305
- 12.4.4添加字段306
- 12.4.5操作数据307
- 12.4.6转换数据308
- 12.4.7产生数据313
- 12.5编写脚本化的查找操作以丰富数据314
- 12.6编写事件渲染器316
- 12.6.1使用特殊字段317
- 12.6.2基于字段数值的字段表格318
- 12.6.3打印XML320
- 12.7编写脚本化的报警动作以处理结果322
-
12.8总结324