繁体   English   中英

在Apache NiFi中使用Grok进行模式匹配

[英]Pattern matching using Grok in Apache NiFi

我试图使用grok读取Apache NiFi日志数据,但无法获取所需的输出。 这是我的样本数据:

[2019-07-16 22:20:16] local.INFO: news.index {"mobile":"959404576540","message":Mozilla/5.0 (Linux; Android 8.0.0; ATU-L42 Build/HUAWEIATU-L42; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36 a/2.7.0}

我尝试了以下表达,但没有为我工作。

%{SYSLOG5424SD}%{JAVACLASS}: %{JAVACLASS} {%{QS}:%{QS},%{QS}:%{QS}} 

有人请帮我2019-07-16 22:20:16我如何提取2019-07-16 22:20:16959404576540Mozilla/5.0 (Linux; Android 8.0.0; ATU-L42 Build/HUAWEIATU-L42; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36 a/2.7.0来自以上数据。

编辑:

@Emma回答是有效的,但是,如果我的数据包含任何空值,则它无效。 例如:

[2019-07-16 22:20:16] local.INFO: news.index {"mobile":"8765453673","message":null}

提前致谢。

这个表达,

\[([^]]+?)\](.*?)"mobile":"\s*(\d+)\s*"\s*,\s*"message"\s*:\s*([^}]*?)\s*\}

例如,可能是开始提取这些数据。


如果您希望探索/简化/修改表达式,请在本演示的右上方面板中进行说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM