0

我有一个带分号的文件;分隔的文本文件。它已在 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 下列为一个组

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

4

1 回答 1

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

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

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

于 2012-01-18T09:32:48.070 回答