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}
# 표현식과 일치하지 않거나 누락되어 있으면 제외