日志文件中的 Logstash 可选字段
Logstash optional fields in logfile
我正在尝试使用 grok 解析日志文件
日志文件的每一行都有以逗号分隔的字段:
13,home,ABC,Get,,Private, Public,1.2.3 ecc...
我正在使用这样的匹配:
match => [ "message", "%{NUMBER:requestId},%{WORD:ServerHost},%{WORD:Service},
...
我的问题是:我可以允许可选字段吗?
有时一些字段可能是空的 ,,
是否有匹配这样的字符串的模式2.3.5
?
(一种版本号)
在它的基础上,grok 是基于正则表达式的,所以你可以用 ()?
包围一个模式,使其成为可选的——例如 (%{NUMBER:requestId})?,
如果没有满足您需要的 grok 模式,您始终可以创建一个命名的提取,如下所示:(?<version>[\d\.]+)
它将提取到版本中,一个包含任意数量数字和点的字符串它。
我正在尝试使用 grok 解析日志文件
日志文件的每一行都有以逗号分隔的字段:
13,home,ABC,Get,,Private, Public,1.2.3 ecc...
我正在使用这样的匹配:
match => [ "message", "%{NUMBER:requestId},%{WORD:ServerHost},%{WORD:Service},
...
我的问题是:我可以允许可选字段吗?
有时一些字段可能是空的 ,,
是否有匹配这样的字符串的模式2.3.5
?
(一种版本号)
在它的基础上,grok 是基于正则表达式的,所以你可以用 ()?
包围一个模式,使其成为可选的——例如 (%{NUMBER:requestId})?,
如果没有满足您需要的 grok 模式,您始终可以创建一个命名的提取,如下所示:(?<version>[\d\.]+)
它将提取到版本中,一个包含任意数量数字和点的字符串它。