如何解决nifi用Grok提取数据
在系统日志中有一行,如:
1 2020-10-09T09:03:00 Myv2 Myv2---{“ _id”:“身份验证”,“ a_device”:{“主机名”:空,“ ip”:“ 10.10.10.10” ,“位置”:{“城市”:“利沃夫”,“国家”:“乌克兰”,“州”:“利沃夫”}},“别名”:“ example@email.com”,“应用程序”:{”键”:“ XXXXXXXXXXXXX”,“名称”:“名称”},“ auth_device”:{“ ip”:“ 10.10.10.10”,“位置”:{“城市”:“利沃夫”,“国家”:“乌克兰“,” state“:” Lviv“},” name“:” +380 00 000 000“}
我需要将json部分从日志放到属性中,因此将是“ key”:“ value”格式,例如:
“ _ id”:“身份验证”, “ a_device_ip”:“ 10.10.10.10”, “ location_city”:“利沃夫”
,但使用“ flowfile-content”选项ExtractGrok在我的json中添加了额外的字符串模式名称“ GREEDYDATA”,并转义了以下字符:
,并且在EvaluateJsonPath模块获取不正确的json并返回空结果之后:
如果在ExtractGrok中选择'flowfile-attribute'则可以正常工作而没有多余的东西,但是我看不到如何将该属性值发送到EvaluateJsonPath模块,该模块仅适用于流内容而不适用于属性值
请帮助解决问题或提出替代流程:
解决方法
在 ExtractGrok 处理器之后,您可以添加 AttributesToJSON 处理器,该处理器已经创建了一个内部包含GROK解析字段的结果JSON。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。