一、简单概述
Splunk 是一款功能强大的搜索和分析引擎,而字段是splunk搜索的基础,提取出有效的字段就很重要。
当Spklunk开始执行搜索时,会查找数据中的字段。与预定义提取指定字段不同,Splunk可以通过用户自定义从原始数据中动态提取字段。
这里,我们演示一下如何利用Splunk来提取字段。
二、字段提取器
Splunk提供了一种非常简单的方式来提取字段,就是使用字段提取器,即使在你完全不了解正则表达式的情况下,也可以轻松完成字段提取。
2.1 访问字段提取器
执行事件搜索,左边栏往下,单击提取新字段,进入字段提取器。
2.2 选择示例
在事件列表中,选择一个需要进行字段提取的示例事件。
2.3 选择方法
提供了两种字段提取的方法:正则表达式和分隔符。正则表达式主要用于非结构化数据;而基于表格的结构化数据,使用分隔符即可。
2.4 选择字段
选择需要字段提取的值,下面会出现对话框,对字段名称进行命名。一般我们也可手动编辑正则表达式进行调整。
2.5 验证
通过预览,以确认事件列表的匹配程序,
2.6 保存
在这一步,可以对提取名称和权限进行设置,点击完成来保存提取。
三、新字段提取
在Splunk Web中,提供了一种快速设置字段提取的方式,只需提供正则表达式,就可以直接完成新字段提取。
3.1 新字段提取
(1)设置→ 字段提取→新字段提取
设置名称、sourcetype,写入正则表达式,点击保存即可。
3.2 查看字段提取规则
在字段提取页面中,搜索关键词,可找到刚才设置的字段提取规则。
四、使用搜索命令提取字段
通过搜索命令以不同方式提取字段,如rex、extract、xpath等。但这种方式仅适用于搜索过程中的返回的中间结果,无法新建字段重复使用。
sourcetype="secure-2" port "failed password"
| rex field=_raw "(?P<user>\w+)\sfrom\s(?P<ip>[^ ]+)"
| table user,ip