《Splunk智能运维实战》——1.2 索引文件和目录-阿里云开发者社区

开发者社区> 华章出版社> 正文

《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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接