logstash表达式

条件

有时只想在特定条件下处理数据或过滤或输出事件,可以使用条件:

1
2
3
4
5
6
7
if EXPRESSION {
...
} else if EXPRESSION {
...
} else {
...
}

运算符:

  • 比较: ==, !=, <, >, <=, >=
  • 匹配: =~, !~
  • 包含: in, not in
  • 布尔运算符: and, or, nand, xor
  • 一元运算符: !

范例:

1
2
3
4
5
filter {
if [action] == "login" {
mutate { remove_field => "secret" }
}
}
1
2
3
4
5
6
7
output {
if [loglevel] == "ERROR" and [deployment] == "production" {
pagerduty {
...
}
}
}
1
2
3
4
5
output {
if "_grokparsefailure" not in [tags] {
elasticsearch { ... }
}
}
>