首页 > 解决方案 > Logstash 过滤掉多个字符串

问题描述

我有一个日志,我想过滤掉不包含两个字符串的消息

当我将一个字符串与过滤器一起使用时效果很好

if ([message] !~ "Low Volts ") {
drop{}
}

我正在尝试删除不包含两个字符串“Low Volts”和“Charge”中的任何一个的行。我正在尝试这个;

if ([message] !~ "Low Volts " or [message] !~ "Charge Fail")  {
drop{}
}

以上不起作用

有什么帮助吗?

标签: filterlogstashelk

解决方案


该条件表示消息是否不包含“Low Volts”或不包含“Charge Fail”。因此,只有当 [message] 包含两者时才成立。尝试

if ([message] !~ "Low Volts " and [message] !~ "Charge Fail")  {

只有当 [message] 两者都不包含时,这才是真的。


推荐阅读