我正在尝试解析Fluentd中的syslog多行输入。示例日志如下所示 -
"737 <14>1 2018-04-27T17:32:55.401896+00:00 CMB.V02G-dev-digital-billing.fluenddemoservice 598c519b-a092-431a-a8bb-a834f259b0d2 [APP/PROC/WEB/0] - - 2018-04-27 17:32:55.401 INFO 14 --- [nio-8080-exec-5] c.v.f.f.controller.DemoController : {\"application\":\"myFios\",\"logType\":\"OperationalMetrics\",\"uniqueId\":\"vzid\",\"sessionId\":\"1221354410\",\"transactionId\":\"qwedfg45678789\",\"deviceId\":\"ajkrtyghyu\",\"api\":\"API\",\"status\":\"S\",\"failureMessage\":\"\",\"failureCode\":\"\",\"responseTime\":\"10\",\"osType\":\"android\",\"osVersion\":\"1.1\",\"deviceModel\":\"Chrome\",\"appVersion\":\"5.4.3.2\",\"createDate\":\"2018-04-17 14:43:13.046\",\"instance\":\"1\",\"dataCenter\":\"Tampa\",\"customerType\":\"C\",\"apiGroup\":\"\",\"apiBackend\":\"SSP\",\"apiVersion\":\"v2\",\"data\":\"{\\\"key\\\":\\\"value\\\"}\"}"
我的最终目标是从此日志中提取JSON。 我使用在线正则表达式编辑器来增加正则表达式,并且我能够使用此正则表达式实现此目的
{\&#34;应用程序(。*)\&#34;}
但是Fluend并没有理解这个正则表达式。它抱怨正则表达式无效。请帮助我,我该怎么做才能确保Fluend了解(?s)选项。 以下是我的FLuend配置
@type tcp
tag cf.app # required
<parse>
@type regexp
expression /{\\"application(.*)\"}/
multiline true
</parse>
port 5140 # optional. 5170 by default
bind 0.0.0.0 # optional. 0.0.0.0 by default
谢谢, 的Manoj