logstash中grok使用if判断消息是否包含某个字符串及以某个字符开头

在grok匹配时有的时候我们可能会根据不同的情况进行不同的匹配原则,这个时候就想到用if先对消息进行判断。在grok中也是可以用if,else  if,else。

example:

filter{
    if "start" in [message]{     --message就是指原始消息
        grok{
            match => xxxxxxxxx
        }
    }else if "complete" in [message]{
        grok{
            xxxxxxxxxx
        }
    }else{
        grok{
            xxxxxxx
        }
    }

}

正则: =~(匹配正则), !~(不匹配正则)

参考:https://blog.csdn.net/sxf_123456/article/details/77773953

你可能感兴趣的:(elk)