2016-03-16 9 views
0

Я ищу для поиска типа ошибки в моем spunk. Типичный журнал ошибок выглядит следующим образом:Splunk rex query не возвращает желаемый результат

ОШИБКА 2016/03/16 22:13:55 Программа вышла с ошибкой службы Calling: Сообщение http://hostname/v1.21/resource/create?name=/60b80cf9-ebc4-11e5-a9cb-3c4a92db9491-2: прочитать UniX @ ->/уаг/запустить/program.sock: использование закрытого сетевого соединения (Client.Timeout превышено в ожидании заголовков)

Обратите внимание, что общая часть - «Программа вышла с ошибкой». Я хочу захватить часть, которая следует за этой общей частью сообщения об ошибке. Я попробовал пару выражений rex. Оба вернули разные результаты. Важно отметить, что ни один из перечисленных типов ошибок не показал. Я даю тот, который работал лучше здесь.

* | rex "Program exited with error\s+(?<reason>.+)" | top reason 

Пример из лога он matched- Не удается получить статус программы, получить http://192.168.0.2:2774/program/v1/status: чистый/HTTP: тайм-аут в ожидании заголовков ответа

Однако, это не соответствует журнал в форм-

initial ZK connection failed, stat /var/program/f47aae5c-ea42-11e5-8975-fc15b40f4cc4/srcheck/started: no such file or directory 

Calling service: Post http://hostname/v1.21/resource/create?name=/60b80cf9-ebc4-11e5-a9cb-3c4a92db9491-2: read unix @->/var/run/program.sock: use of closed network connection (Client.Timeout exceeded while awaiting headers) 

Может ли кто-нибудь помочь мне понять, что не так с моим выражением rex и каким правильным было бы, чтобы получить все возможные типы ошибок?

+0

Так что же вы хотите, чтобы результат был? Вышеупомянутое регулярное выражение должно давать: ОШИБКА 2016/03/16 22:13:55 Служба звонков: сообщение http: //hostname/v1.21/resource/create? Name =/60b80cf9-ebc4-11e5-a9cb-3c4a92db9491- 2: прочитайте unix @ ->/var/run/program.sock: использование закрытого сетевого подключения (Client.Timeout превышено при ожидании заголовков) –

ответ

0

Этот рецепт:

"ERROR.*Program exited with error.*:.*:.*:\s+(?<reason>.+)" 

даст:

use of closed network connection (Client.Timeout exceeded while awaiting headers) 

У меня нет достаточного количества данных выборки, чтобы знать, если это будет держать или нет. Например, я рассчитываю ровно на 3 двоеточия, чтобы привлечь меня к интересной части. Также я не знаю, заботитесь ли вы о других вещах, таких как имя хоста, тот факт, что это сообщение и т. Д. Но на основании вашего примера 1 этот ответ должен сделать трюк.