#splunk
#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:
Из-за отсутствия метки времени 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» на sourcetype ваших данных в строках.