我解析了一组日志,其中一个字段给我提供了一些问题。 格式是用Grok捕捉逗号分隔的图案
报头(IP,日期等)字段1 =数据,FIELD2 =数据,字段3 =数据,字段4 =数据 我有读像
match => [ "message","%{DATA:..header..} %{DATA}=%{DATA:service},%{DATA}=%{DATA:roles}],%{DATA}=%{DATA:macaddress},%{DATA}=%{DATA:nasip}"]
有些时候一般解析器“角色”字段的“值”部分看起来像 值,[Admin]。这是由以%{DATA} =%处理{DATA:角色}], 但在其他情况下,我得到
subvalue1, subvalue2, subvalue3,
或
subvalue1, subvalue2, subvalue3, subvalue4,
或
subvalue1, subvalue2,
解析器只捕获subval1。正如你所看到的那样,有不同数量的sub vals,并且在失踪时很难捕捉到。
这里是什么样的记录生成问题的一个例子:
local1--debug--10.47.130.2--2017-03-24--2017-03-24T11:29:51-04:00--11:29:51,545 10.241.186.253 ZTP0 SESSION 20 1 0 Common.Username=LABF5CHK,Common.Service=F5_HealthCHK,Common.Roles=Employee, [User Authenticated],Common.NAS-IP-Address=xxxxxxxxxxxx,Common.Request-Timestamp=2017-03-24 11:27:56-04
是否有变通方法吗?
如果您提供一些日志示例,我可以改进我的答案 –