从文本文件中搜索一行

时间:2011-10-29 10:14:27

标签: splunk

我有一个半冒号的文件;分隔的文本文件。它已在splunk中编入索引。

INSERT INTO `account` VALUES ('abc');
INSERT INTO `account` VALUES ('xyz');
INSERT INTO `account` VALUES ('pqr');
INSERT INTO `account` VALUES ('mnp');

当我搜索“pqr”时,它应该只显示1行。它目前正在显示下一行“mnp”。文件中没有时间戳,splunk仍按日期时间对行进行分组。例如上述所有行在06/09/2011 19:01:17.000

下列为一组

如何从分号分隔文件中搜索时只返回一行?

1 个答案:

答案 0 :(得分:0)

由于没有时间戳,Splunk可能难以确定这是单个事件(有4行)还是4个单独的事件。所有数据都在Splunk中加上时间戳。如果传入的数据没有时间戳,Splunk会将到达时间指定为时间戳 - 而“同时”到达的数据可能会被解释为单个事件。

告诉Splunk您的传入数据应该被处理为“每行一个事件”,将以下内容放在$ SPLUNK_HOME / etc / system / local / props.conf

[yoursourcetype]  
SHOULD_LINEMERGE=false  
DATETIME_CONFIG = CURRENT

如果您的事件可能是多行并且半色(;)分隔事件,请使用以下代码

[yoursourcetype]  
MUST_BREAK_AFTER = ;  
DATETIME_CONFIG = CURRENT

如果您有选择,第一个选项效率更高。在这两种情况下,我都包含了DATEIME_CONFIG来告诉Splunk没有嵌入的时间戳;这将加快输入处理速度。

最后,将“yoursourcetype”替换为节中数据的源类型。