Regular Expression
regex 正则表达式解析器使用自定义的 Ruby 正则表达式,使用名称捕获来定义哪些内容属于哪个字段名。
Fluent Bit 使用 Ruby 模式的 Onigmo 正则表达式库,您可以使用以下 Web 编辑器来测试您的表达式:
重要提示: 如果您使用的是 tail 输入插件,请不要尝试在正则表达式中添加多行支持,因为每行都作为单独的实例进行处理。而是使用 Tail Multiline 支持的多行功能。
注意: 了解正则表达式的工作原理超出了本内容的范围
从配置的角度来看,当 format
配置项设置为 regex 时,Regex
配置项也必须存在。
以下解析器配置示例提供了可应用于 Apache HTTP Server 日志记录的规则:
例如,使用以下 Apache HTTP Server 日志记录:
以上内容没有为 Fluent Bit 提供结构化消息,但是启用适当的解析器后,我们可以对其进行结构化表示:
一个常见的陷阱是,字段名中不能使用字母,数字和下划线以外的字符。例如,像 (?<user-name>.*)
之类的字段名将由于包含无效字符(-
)而导致错误。
为了理解,学习和测试像上述示例一样的正则表达式,建议您尝试如下 Ruby 正则表达式编辑器: http://rubular.com/r/X7BH0M4Ivm
Last updated