《Splunk智能运维实战》——1.2 索引文件和目录

本节书摘来自华章计算机《Splunk智能运维实战》一书中的第1章,第1.2节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克·默克(Derek Mock),译 宫鑫,康宁,刘法宗 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 索引文件和目录

从文件和目录输入数据是向Splunk导入数据最常用的方法。这种类型的输入主要是为了索引日志文件。几乎每个应用程序或系统都会产生日志文件,当中包括了我们想搜索和制作报表的很多数据。

Splunk能够持续监控写入现有文件的新数据或添加到目录中的新文件,并且能够实时索引这些数据。根据生成日志文件的应用类型不同,可以将Splunk设定为监控单一文件(基于其位置)或扫描整个目录并监控其中的所有文件。当生成的日志文件包含唯一的文件名(比如名字中含有时间戳)时,后一种配置更常使用。

本节将学习如何配置Splunk来持续监控并索引Splunk服务器上的一个日志文件,这个日志文件的内容会不断增加。本节将专门展示如何监控并索引Linux系统上的messages日志文件(/var/log/messages)。然而,同样的方法也适用于Windows系统上的日志文件,本书也提供了一个示例文件。但请不要用这种方法索引Windows事件日志,因为Splunk有专门的Windows事件输入法。

做好准备

要进行本节的操作,需运行Splunk Enterprise服务器并且有权限访问读取Linux上的/var/log/messages文件。没有其他先决条件。如果使用的不是Linux系统,并且/或者没有权限访问 Splunk服务器上的/var/log/messages,要使用本书提供的cp01_messages.log文件并将其加载到Splunk服务器上一个可访问的目录中。

如何操作

按下列步骤监控并索引文件内容。

1 . 登录Splunk服务器。

2 . 从右上角的主启动器,单击“添加数据”按钮。

screenshot

3 . 在“选择数据类型”列表中,单击“文件或文件目录”。
screenshot

4 . 在“索引此Splunk服务器上的所有文件”选项中单击“下一步”按钮。
screenshot

5 . 选择“索引前预览数据”并输入日志文件路径(/var/log/messages或cp01_messages.log文件的位置)并单击“继续”按钮。
screenshot

6 . 选择“开始一个新的源类型”并单击“继续”按钮。
screenshot

7 . 假如你使用本书提供的文件或本地的/var/log/messages文件,数据预览将展示正确分行后的事件及时间戳标志。单击“继续”按钮。

8 . 会弹出“预览设置”框。在源类型输入linux_messages,单击“保存源类型”按钮。
screenshot

9 . 会出现“源类型已保存”的提示框,选择“创建输入”按钮。
screenshot

10 . 在“源”部分,选择“从Splunk本次访问的文件或目录中持续索引数据”,并填写数据路径。
screenshot

如果只是想一次性加载某个文件,可选择“上传并索引文件”。这个选项适合于索引一组数据到Splunk,既可用来回填一些缺失或不完整的数据,也可仅仅为了利用其搜索和报表工具。

11 . 暂且忽略其他设定,直接单击“保存”。然后,在下一个界面中,点击“开始搜索”。在搜索栏,输入下列搜索,时间范围设定为“全部时间”:
screenshot

在本节中,可直接使用常见的系统日志源类型,不过,创建新的源类型往往是更好的选择。根据数据源不同,系统日志格式可能差异很大。因为像提取字段这样的知识对象是建立在源类型之上的,为所有对象使用单一的系统日志源类型可能会较难搜索到所需的数据。

工作原理

当添加一个新的文件或目录来导入数据时,也就是在后台向inputs.conf文件添加新的配置节。Splunk服务器可包含一个或多个inputs.conf文件,它们位于$SPLUNK_HOME/etc/ system/local或Splunk 应用程序的local目录。

Splunk使用的输入类型是监控器,并被设定为指向某个文件或目录。如果设置对一个目录进行监控,目录中的所有文件都会被监控。当Splunk监控文件时,它会首先从头索引所有能读取的数据。完成后,Splunk将保留上次读取数据的位置记录,如有任何新的数据写入文件,它将读取这个数据并继续记录。这个过程几乎和在UNIX操作系统下使用tail命令相同。如需要监控一个目录,Splunk也会提供很多附加的配置选项,比如将不需要Splunk索引的文件列入黑名单。

若想获取Splunk配置文件的更多信息,请访问 http://docs.splunk.com/Documentation/Splunk/latest/Admin/ Aboutconfigurationfiles。

更多内容

除了可按照本节的方法通过Splunk的Web界面添加输入信息来监控文件和目录,还有其他方法来快速地添加多种输入信息。这些方法允许我们自定义Splunk提供的多种配置
选项。

通过CLI(命令行界面)添加文件或目录数据输入

除了通过GUI(图形用户界面)之外,还可通过Splunk CLI(command-line interface)来添加文件或目录输入。进入$SPLUNK_HOME/bin目录并执行下列命令(将需要监控的文件或目录替换成你自己的)。

UNIX系统:

screenshot

Windows系统:

screenshot

许多参数可以随文件位置一起被传送到监控器。参考Splunk技术文档来了解更多CLI数据输入的用法(http://docs.splunk.com/Documentation/Splunk/latest/Data/ MonitorfilesanddirectoriesusingtheCLI)。

通过inputs.conf添加文件或目录输入

另一种添加文件和目录输入的常用方法是手动将其直接添加至inputs.conf配置文件中。该方法常用于大环境中或配置Splunk 转发器来监控终端上的文件或目录。

编辑$SPLUNK_HOME/etc/system/local/inputs.conf并添加输入。添加完输入后,需要重启Splunk来识别更改。

UNIX系统:

screenshot

Windows系统:

screenshot

如需进行多个输入,编辑inputs.conf通常可以更快地添加新文件和目录来监控。编辑inputs.conf时,要确保使用正确的语法,并重启Splunk来使修改生效。此外,在inputs.conf文件中设定源类型是指定源类型的最佳做法。

通过Splunk CLI一次性索引数据文件

除了从Splunk GUI中选择“上传并索引文件”进行操作之外,也可使用很多CLI功能来执行一次性批量加载数据。

使用oneshot命令告知Splunk文件位置及所用参数,比如源类型:

screenshot

另一种方法是将希望索引的文件放入Splunk spool目录,$SPLUNK_ HOME/var/spool/splunk,然后使用spool命令添加文件:

screenshot

如使用Windows系统,应省略Splunk命令前的“./”。

索引Windows事件日志

Splunk针对一些源类型有专门的inputs.conf配置方式,其中包括监控Windows事件日志。通常来说,把Splunk通用转发器(UF)安装在Windows服务器上,配置后可转发Windows事件至Splunk索引器。对inputs.conf进行如下配置来实时监控Windows安全日志、应用程序日志和系统事件日志:

screenshot

除非另外指定索引,否则事件数据默认会进入主索引。

另参见

screenshot

Splunk是一种高扩充性且通用的数据引擎。它可以帮助企业收集、编入索引并智能化地分析由网络、应用程序以及移动设备等产生的机器数据,并最终帮助企业决策者做出准确的判断。本书集合了各种实用方法,目的是给读者提供指导实用知识,以便读者掌握Splunk Enterprise 6的各种功能,从数据中提取出强大而有价值的运维智能。 《Splunk智能运维实战》共10章,第1章介绍将数据导入Splunk的基本方法;第2章介绍使用Splunk搜索数据的基本方法;第3章介绍如何创建仪表盘数据的可视化图表;第4章介绍如何创建并修改Splunk应用程序;第5章介绍如何使用Splunk数据模型透视功能;第6章介绍Splunk中的一些高级搜索命令,将学习如何创建事务、编写次级搜索、理解并发性、利用字段关联等;第7章介绍如何增加丰富Splunk中的数据,详细讲解Splunk查找工作流程功能的使用;第8章介绍Splunk的警报功能;第9章介绍Splunk中的更多数据汇总方法:汇总索引报表加速;第10章介绍如何自定义Splunk应用程序并使用Splunk SDKAPI的高级特性来处理Splunk内的数据目录 译者序 前言 第1章 游戏时间——导入数据 1 1.1 简介 1 1.2 索引文件目录 2 1.3 从网络端口获取数据 7 1.4 使用脚本输入 10 1.5 使用模块输入 12 1.6 使用通用转发器收集数据 16 1.7 为本书加载样本数据 19 1.8 定义字段提取内容 22 1.9 定义事件类型标签 24 1.10 小结 26 第2章 深入数据——搜索报表 27 2.1 简介 27 2.2 使原始事件数据具备可读性 30 2.3 找出最常访问的网页 32 2.4 找出最常使用的Web浏览器 34 2.5 找出浏览量来源最多的网站 37 2.6 制作网页响应代码的图表 38 2.7 显示网页响应时间的统计数据 40 2.8 列出浏览次数最多的产品 43 2.9 制作应用程序使用性能的图表 45 2.10 制作应用程序内存使用情况的图表 47 2.11 计算数据库连接的总数 48 2.12 小结 50 第3章 仪表盘可视化——让数据闪光 51 3.1 简介 51 3.2 创建智能运维仪表盘 53 3.3 使用饼图展示最常访问的网页 55 3.4 显示唯一访客数量 59 3.5 使用计量器显示错误的数量 63 3.6 制作每一主机不同请求方法数量的图表 66 3.7 制作请求方法、浏览量响应时间的时间图 67 3.8 使用散点图根据大小响应时间标识离散的请求 70 3.9 制作面积图显示应用程序的性能统计数据 73 3.10 使用条形图按类别显示平均花销 75 3.11 制作折线图显示项目浏览量购买量随时间的变化 77 3.12 小结 78 第4章 创建智能运维应用程序 80 4.1 简介 80 4.2 创建智能运维应用程序 81 4.3 添加仪表盘报表 84 4.4 更高效地组织仪表盘 89 4.5 动态钻取活动报表 92 4.6 创建表单搜索Web活动 97 4.7 将网页活动报表链接至表单 101 4.8 显示访客地理分布图 105 4.9 计划仪表盘的PDF交付 109 4.10 小结 112 第5章 智能拓展——数据模型透视 113 5.1?简介 113 5.2?为Web访问日志创建数据模型 115 5.3?为应用程序日志创建数据模型 121 5.4 加速数据模型 126 5.5 透视总交易量 129 5.6 根据地理位置透视购买量 134 5.7 透视响应最慢的网页 139 5.8 用透视图显示最多的错误代码 144 5.9 小结 145 第6章 深入挖掘——高级搜索 146 6.1 简介 146 6.2 计算网站平均会话时间 147 6.3 计算多层Web请求的平均执行时间 152 6.4 显示最大并发结账 157 6.5 分析Web请求之间的关系 161 6.6 预测网站流量大小 164 6.7 寻找数量反常的Web请求 168 6.8 识别潜在的会话欺骗 172 6.9 小结 175 第7章 丰富数据——查找工作流程 176 7.1 简介 176 7.2 查询产品编码描述 177 7.3 标记可疑IP地址 183 7.4 创建会话状态表 187 7.5 在IP地址中添加主机名 190 7.6 为给定的IP地址搜索ARIN 192 7.7 为给定错误触发谷歌搜索 196 7.8 为应用程序错误创建凭证 200 7.9 从外部数据库查询库存 204 7.10 小结 211 第8章 抢先一步——创建警报 212 8.1 简介 212 8.2 警告异常网页响应时间 214 8.3 警告实时结账过程中的错误 218 8.4 警告异常用户行为 225 8.5 警告失败并触发脚本响应 229 8.6 警告预计销售量超出库存量 232 8.7 小结 238 第9章 加速智能数据汇总 239 9.1 简介 239 9.2 计算每小时会话及完成交易的数量 241 9.3 按城市回填购买数量 247 9.4 按时间顺序显示并发会话最大数量 254 9.5 小结 259 第10章 更进一步——自定义、Web框架、REST APISDK 260 10.1 简介 260 10.2 自定义应用程序的导航 261 10.3 添加网络点击量的力导向图 265 10.4 添加产品购买量的日历热图 273 10.5 远程查询Splunk的REST API以获取唯一页面浏览量 278 10.6 创建Python应用程序返回唯一IP地址 280 10.7 创建自定义搜索命令来格式化产品名称 284 10.8 小结 288
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值