https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/record-accessor
https://docs.fluentbit.io/manual/pipeline/filters/grep
grep은 특정 값이 포함된 레코드를 포함하거나 제외시킬 수 있다.
[FILTER]
Name grep
Match my_tail
Regex $host 127.0.0.1 # 일치하면 레코드를 포함시킨다
Exclude $host 127.0.0.1 # 일치하면 레코드를 제외시킨다.
[SERVICE]
Flush 5
Daemon Off
Log_Level info
Parsers_File my-parser.conf
[INPUT]
Name tail
Tag my_tail
path /var/logf/app.log
Parser my-parser
[FILTER]
Name grep
Match my_tail
Exclude $host 127.0.0.1
[OUTPUT]
Name stdout
Match *
[PARSER]
Name my-parser
Format regex
Regex \\[(?<time>[^\\]]*)\\] (?<host>[^ ]*) [^ ]* [^ ]* (?<method>\\S+) (?<path>\\S+) (?<version>\\S+) (?<code>\\S+)
[FILTER]
Name grep
Match my_tail
Exclude $host 127.0.0.1 # host 필드의 값이 127.0.0.1이면 해당 레코드 제거
[FILTER]
Name grep
Match my_tail
Exclude $host['a']['b'] myapp
# {
# "host": {
# "a": {
# "b": "myapp"
# }
# }
# }
[FILTER]
Name grep
Match my_tail
Logical_Op or
Regex host 127.0.0.1
Regex host 127.1.1.1
# 127.0.0.1 또는 127.1.1.1 일때 포함
[FILTER]
Name grep
Match *
Regex iot_timestamp ^\\d{4}-\\d{2}-\\d{2}
# 표현식과 일치하지 않거나 누락되어 있으면 제외