Splunk作为提供查看log日志的工具,有很强大的搜索功能,同时也提供可定义的字段提取,可以直接作为搜索关键字。Splunk 提供 Field Extractor可以通过选取需要提取的字段进行提取,也可以直接写正则表达式提取需要的关键字。
1.在Settings中找到Fields菜单,进入后可以看到一句提取的字段列表和对应的正则表达式。
2. 选择 New Field Extraction 就可以进入编辑界面,输入app name,这个提取的名字和所适用的sourcetype以及最重要的提取字段的正则表达式。比较特别的事我们提取的字段需要给它取一个名字方便我们后面在检索时可以直接用这个字段,所以正则表达式中一定要带有字段名,如 \[w+\](?<err_code>[^:]+)中err_code就是我后面要用到的field字段。
至于sourcetype在log文件中都会有,应该是在配置splunk 上传log时定义的一个字段。
3.这些都填好后就可以保存,然后需要在Filed Extraction 列表中找到刚刚保存的那一条,点击Permisson进行权限的控制,也就是你这个提取的字段是可以那些app可以看到,那些人可以使用。
4.保存完成后就可以到搜索界面直接使用这个字段进行搜索和数据统计了,然后在左侧的Fields 区域也可以看到刚刚保存的字段名。 另外通过最下面的 Extract New Fields 也可以直接进入Field Extractor工具进行字段提取。