2016-02-18 2 views
1

Я ищу способ сравнить поле Logstash с числом в условном выражении, но не смог найти что-либо в документации.Logstash сравнивает поле с номером

Нечто подобное, например:

if [myfiels] => 1{ 
      mutate { 
        add_field => ["fild", "1"] 
      } 

или

if [myfiels] >= 1 and [myfiels] <= 3 { 
       mutate { 
         add_field => ["fild", "2"] 
       } 

Спасибо.

ответ

1

Вам сначала необходимо преобразовать тип столбца.

input { 
    stdin{} 
} 

filter { 
    grok { 
     match => ["message","%{NUMBER:num}" ] 
    } 
    mutate { 
     convert => { "num" => "integer" } 
    } 
    if [num] >= 5 { 
     mutate { 
      add_field => { "xyz" => "123" } 
     } 
    } 
} 

output { 
    stdout { codec => rubydebug } 
} 
+0

Благодарим за помощь! –