通过grok过滤器解析日志

时间:2018-06-21 20:07:11

标签: logstash logstash-grok syslog

我正在尝试通过grok过滤器解析此日志条目中的值

type=disassociation radio='0' vap='0' client_mac='F6:A5:64:8F:31:20' channel='11' reason='1' instigator='5' duration='957.917574050' auth_neg_dur='0.069978132' last_auth_ago='957.847595918' is_wpa='1' full_conn='1.549515776' ip_resp='1.549515776' ip_src='10.128.20.31' http_resp='1.619493908' arp_resp='1.549515776' ar`p_src='10.128.11.50' dns_server='100.55.333.444' dns_req_rtt='0.039987504

我的代码段是

if "type=" in [contents] {
           grok {
               match => ["contents", "(type=)(?<auth_type>disassociation|association|wpa_auth)?([ ])(radio=)(')(?<radio>?:[+-]?(?:[0-9]+))(')([ ])(vap=)(')(?<vap>(?:[+-]?(?:[0-9]+)))(')([ ])(client_mac=)(')%({MAC:client_mac})(')"]
           }

我遇到一个target of repeat operator is not specified错误。不明白我在哪里错了

1 个答案:

答案 0 :(得分:0)

更新到我的查询-找到了解决方案!

kv插件完成了解析具有key=value语法的字段的所有工作。 我安装了插件并添加了 kv {}位于grok过滤器下方,它很好地解析了每个键值。