Поиск строки из текстового файла - PullRequest
0 голосов
/ 29 октября 2011

У меня есть файл с точкой с запятой; текстовый файл с разделителями. Он был проиндексирован в spunk.

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

Когда я ищу "pqr", он должен показывать только 1 строку. В настоящее время также отображается следующая строка «mnp». В файле нет метки времени, и splunk все еще группирует строки по дате-времени. например, все линии, упомянутые выше, перечислены как группа под 09.06.2011 19: 01: 17.000

Как мне вернуть только одну строку при поиске из файла, разделенного точкой с запятой?

1 Ответ

0 голосов
/ 18 января 2012

Поскольку нет метки времени, 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 об отсутствии встроенной временной метки;это ускорит обработку ввода.

Наконец, замените «ваш тип источника» на тип источника ваших данных в строфах.

...