2

我正在寻找一种将 Logstash 字段与条件语句中的数字进行比较的方法,但在文档中找不到任何内容。

例如这样的事情:

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

或者

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

谢谢。

4

1 回答 1

3

您首先需要转换列类型。

input {
   stdin{}
}

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

output {
    stdout { codec => rubydebug }
}
于 2016-02-18T21:37:17.970 回答