本节书摘来自华章计算机《Splunk智能运维实战》一书中的第2章,第2.2节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克·默克(Derek Mock),译 宫鑫,康宁,刘法宗 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2使原始事件数据具备可读性
从Splunk搜索栏进行基本搜索后,搜索结果会默认以原始事件格式来显示。对许多用户来说,这种原始事件信息可读性不强,事件中有价值的信息常常被其他信息遮蔽。此外,如果各个事件跨了多行,就无法同时看到多个事件。
本节将通过编写一个Splunk搜索来展示如何利用Splunk命令让原始事件数据具备可读性。该命令将事件用列表显示,并且只显示我们感兴趣的字段。
做好准备
本节操作需运行Splunk Enterprise服务器,导入和第1章相同的样本数据。我们已经很熟悉Splunk搜索栏和搜索结果区域了。
如何操作
按照下列步骤搜索并将选中的事件数据制成列表。
1 . 登录Splunk服务器。
2 . 从屏幕右上角的下拉菜单选择“搜索和报表”应用程序。
3 . 设定时间选择器为“过去24小时”,在搜索栏输入下列搜索后单击搜索图标或按Enter键。
4 . Splunk返回搜索结果并在搜索栏下列出原始搜索事件。
5 . 重新执行搜索,此次添加table命令:
6 . Splunk返回相同数目的事件,但不显示原始事件,而是将数据以列表形式呈现,并且只显示指定字段。这样更易于阅读。
7 . 单击“保存为”,选择“报表”,保存此次搜索结果。将报表命名为cp02_tabulated_webaccess_logs,并单击“保存”。在下一个页面,单击“继续编辑”,回到搜索。
工作原理
将搜索以段的形式分开。
本节学习了table命令。table命令对大范围的搜索有显著的性能影响。它应该用在搜索末尾,当其他的Splunk命令已经处理完数据后,再执行table命令。
stats命令比table命令更高效,我们应该尽可能用stats命令代替table命令。不过注意stats和table是两个截然不同的命令。
更多内容
当我们想把数据呈现为可读格式时,table命令会很有帮助。此外,Splunk中列表的数据可作为CSV文件下载,很多用户可以用电子表格软件进行线下处理,或发给他人。我们还有其他方法利用table命令使原始事件数据可读。
将每个字段制表
常常会碰到这种情况,想将数据中的每个事件做成列表格式,而不想依次指定每个字段。要这样做,只需使用通配符(*),如下所示。
移除字段,然后将剩余字段制表
尽管使用通配符(*)可以方便地将所有字段制表,但会有许多Splunk的内部字段,如_raw也会显示在表格中。可在使用table命令前先使用fields命令,移除字段,如下所示:
如果在fields命令后不加减号(-),Splunk会保留指定字段,并移除其余字段。
如需在搜索中移除多个字段,可编写一个宏,然后在搜索中调用宏即可。本书后面会介绍宏。