2016-01-07 2 views
0

У меня есть трассировка javastack в поле сообщения и поле массива, имеющее список строк, таких как ["NullPointer", "TimeOutException"].Условие Logstash, чтобы проверить, содержит ли сообщение из списка строки

Мне нужна условная проверка в поле сообщения, чтобы он проверял, содержит ли сообщение какой-либо из списка строк.

Любая идея, как это получить?

ответ

0

Это немного взломанный, но проверьте перевод {} фильтр. Вы можете определить свои поля для перевода на «1» (true и т. Д.), По умолчанию «0». Затем проверьте это значение, чтобы определить, было ли оно в наборе.

EDIT: для тех, кто не любит рыбу:

filter { 
    translate { 
    field => myInputField 
    dictionary => [ 
     "NullPointer",  1, 
     "TimeOutException", 1 
    ] 
    fallback => 0 
    destination => myOutputField 
    } 

    if [myOutputField] == "1" { 
     # it contained one of the items in the dictionary 
     ... 
    } 
    else { 
     # it did not contain one of the items in the dictionary 
     ... 
    } 
} 
+0

Можете ли вы дать несколько примеров? – ashishm

Смежные вопросы