读书频道 > 网络 > Splunk大数据分析
2.2.1 文件和目录
2014-05-29 15:42:57     我来说两句 
收藏    我要投稿   

本文所属图书 > Splunk大数据分析

在大数据和业务智能领域,Splunk是功能强大、简单易学并且能够快速获取直接动力的一个分析工具。你可以利用Splunk实时地监控数据,或者在海量事实中进行数据挖掘。Splunk提供的强有力的可视化工具可以帮助你从海  立即去当当网订购

将数据从文件或文件存储的目录结构中导入Splunk非常简单。可以一次性从静态文件中导入数据,这个操作也称为一次通过,或者可以让Splunk来监控一个目录集中特定类型的文件的变更。从导入一个文件开始。为了方便,我们为MyGizmoStore.com生成了一个大约有250条日志记录的访问日志,这个访问日志记录了两天内该商店的用户活动。文件access.log在本书的下载包中。如果已经下载了该包,只需把access.log文件复制到Linux中的/opt目录下,或者Windows下的C:\opt目录下。

Splunk可选择根据类型或者数据源导入数据。在第一个例子中,我们将从数据源导入,即访问日志文件。在登录到Splunk实例之后,进入Splunk主页,在“Do more with Splunk”部分单击“Add data”按钮。在添加数据页面我们将看到这两个类下可选的不同选项。

Choose a Data Type(选择一种数据类型):允许选择一种预定义类型的日志文件,例如访问日志、系统日志等。

Choose a Data Source(选择一个数据源):允许捆绑已确定的数据源类型,例如Windows注册表数据,或把一个脚本的输出当做Splunk的数据输入。

单击“Choose a Date Source”下的“From files and directories”链接。这个选项与“Choose a Data Type”下相似的选项的差别是,我们在数据类型分类中有一个额外的选项,这个选项将使用转发器将数据发送到Splunk服务器。因为还没有介绍转发器的概念,所以我们将从一个简单的例子开始,如图2-1所示。

单击之后将跳转到数据预览页面,如图2-2所示。因为这是第一次将数据导入Splunk,所以Splunk有必要提供数据预览。预览选项提供一个机会让我们看到在将日志条目提交到Splunk数据存储之前(这个过程也称为索引),将如何处理日志条目。下一步,选择“Preview data before indexing”单选按钮,然后选择access.log文件,如果在Linux环境,该文件在\opt目录下,如果是Windows环境,该文件在C:\opt下。然后单击“Continue”按钮。

弹出的对话框需要我们设置数据源类型。Splunk默认将提供的数据文件作为输入并确定该文件的数据源类型。然后,Splunk根据资源类型特征来加载或索引文件。在本例中,因为我们正加载的是一个访问日志文件,而这个文件已经被自动识别为一个组合型访问日志文件(combined access log file),所以我们接受如图2-3所示的默认选项“Use auto-detected source type”并单击“Continue”按钮。第3章将会详细解释一个组合型访问日志文件的格式和在日志条目中存储的信息。在第9章中,我们将会看到其他选项,例如规定自定义数据文件的输入,这种文件需要不同的处理方法。

 

Splunk中的事件通常也称为记录或者数据行,并且每一个事件都有一个时间戳。在本书中,我们将使用、分析和操作时间戳,因为它是Splunk和大数据分析的一个关键元素。数据加载过程的下一个截图将展示Splunk将日志条目分解为按时间戳分类事件的方法。Splunk默认根据时间戳细分事件,但是如果找不到时间戳,Splunk会把文件中所有的行归类到一个事件中。第9章将讲述如何按需要将记录分解成事件。在本例中,Splunk很好地将访问日志文件分解为事件,如图2-4所示。在图2-4中,我们能看到每个事件包含某个用户在MyGizmoStore.com网站上的活动信息。预览选项也显示了日志文件中提取的事件总数,本例中包含243个事件。

 

注意:如果读者熟悉关系数据库概念,这将有助于理解Splunk分解的事件,从概念上来讲,每个事件相当于关系数据库表中的一行。

既然我们已经确定结果数据是正确的并且Splunk已经正确处理,那么可以单击“Continue”按钮,这样会跳转到“Add new”页面,在将数据最终索引到Splunk之前,我们需要在这个页面自定义一些设置。因为这是一个一次性的文件处理操作,我们选择Source下的单选按钮“Index a file once from this Splunk server”。因为电脑有一个相当复杂的名字,所以也可以选择把主机文件的值修改为BigDBook-Test。

在前面的步骤中,让Splunk自动确定数据源类型(sourcetype),因此把数据源类型设置为自动。默认情况下,当数据被加载到Splunk时,数据将进入主索引,这是Splunk存储、处理和分析数据的机制。Splunk还能定义和使用其他索引,该功能可以帮助我们更好地组织和管理数据,特别是关于数据治理(data governance)方面,例如访问、保护和保留策略。在本例中,使用主索引,但下一节将介绍如何创建和使用新的索引。单击“Save”按钮。如果Splunk已经将数据处理完毕,那么在弹出的页面将会提示成功。

注意:如果你熟悉Oracle的模式概念,那么会发现Splunk中的索引概念与其非常相似。Splunk中的索引是数据集合,而模式则是带有数据的表格集合。

一旦Splunk索引数据成功,就可以开始查看数据确认其是否正确处理。为了列出所有已导入Splunk中的日志条目,需要在搜索栏中输入“host=BigDBook-Test”,然后按回车键。这个搜索将会得到带默认字段的事件的完整列表,默认字段有时间戳、数据源自的主机、来源类型和数据源。在图2-5中,我们可以看到事件的总数是243,这与我们刚刚索引的文件中的日志条目的数量一致。我们还可以看到每个事件条目左侧的时间戳和位于事件下面的其他3个默认字段。

 

当要把大量的数据源导入Splunk时,最好对每个数据源使用独立的索引,以便将它们放置在不同的数据存储层,更好管理。我们将接着为MyGizmoStore.com日志文件创建一个独立的索引。单击用户界面右上角的“Manager”菜单项,然后在Data部分单击“Indexes”链接来创建索引,如图2-6所示。

 

在Indexes页面,单击“New”按钮创建新的索引并以“mygizmostoreindex”命名。可以忽略表单中那些冰冷和已解冻的选项。它们是高级选项,用于转移Splunk索引中那些过时的和不使用的数据,例如转移到更廉价的存储设备。它还提供将数据归档存储在Splunk之外的功能,这个功能使用冻结存档路径的概念。在例子中,使用默认选项,因为模拟数据集不是很大。单击“Save”按钮。一旦索引创建成功,新索引将会显示在Indexes页面中,如图2-7所示。

 

到目前为止,我们看到的是如何用一次性文件索引将数据导入Splunk。在实际应用中,我们将发现新数据条目将被持续地插入日志文件中,而且这些持续增大的日志文件需要持续处理和分析。这就是Splunk提供的可监控特定目录中被持续更新的文件的功能。Splunk的目录监控功能让我们可以监控指定需要的目录,并且把该目录中的文件作为数据输入。在研究监控功能前,让我们再一次回到MyGizmoStore.com的例子。在现实世界中,MyGizmoStore.com可能会运行在不同主机的多个Web服务器上,并持续地输出需要被监控、处理和分析的日志文件。

为了模拟这种行为,我们做了一个测试数据生成器来为MyGizmoStore.com生成日志文件。我们将会看到如何操作这种测试数据生成器以及如何开始生成数据。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.2 Splunk如何处理多样化的数据
下一篇:2.2.2 数据生成器
相关文章
图文推荐
1.2.2 包与帧
1.2.1 网络协议栈
云数据中心网络技术
3.4.6 文本约定
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站