logstash日志解析求一个grok正则表达式

10.77.102.130 id=tos time="2019-08-21 18:22:15" fw=TopsecOS pri=7
日志例子如上,要求输出成下面的样子,正则表达式应该怎么写。是不是要写自定义正则?求大佬帮助!!!
图片说明
像图2 一个字段一个值的隔行输出
比如"host" => "localhost"
id=tos就输出成"id"="tos"单独为一行
fw=TopsecOS就输出成"fw"="TopsecOS"单独为一行
图片说明

(?<sourceIP>.*)\sid=(?<id>.*)\stime="(?<time>.*)"\sfw=(?<fw>.*)\spri=(?<pri>.*)

匹配得比较粗暴,凑合自己调吧

图片说明

"message" => "^%{IP:sourceIP} id=%{WORD:id} time=\"%{(%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{HOUR}:%{MINUTE}:%{SECOND}):time}\" fw=%{WORD:fw} pri=%{NUMBER:pri}$"
时间匹配可能有问题,不太会(或者用QS《带引号的字符串代替》)
你可以参考下grok自带规则
https://blog.51cto.com/showing/1927194?source=dra
https://blog.csdn.net/cui929434/article/details/94390617