【发布时间】:2019-07-17 18:15:15
【问题描述】:
我是 logstash 新手,想看看是否有人可以帮助解析我的应用程序日志,看起来像这样(用随机字符更改了 api 密钥):
2019-07-17 16:57:20,522:钎焊信息:正文:{“属性”: [{“external_id”:“vT9fswqW”,“电子邮件”:“aaa@yahoo.com”,“站点”: “站点”}],“api_key”:“fg09831e-9re0-tc19-81c6-08934539f0vx2”,“事件”: [{“属性”:{“站点”:“站点”},“external_id”:“vT9fswqW”,“名称”: "注册", "时间": "2019-07-17'+0'16:57:20.522380"}]}
此日志会转到 logstash,在将日志存储到 ES 之前可以在其中应用过滤器。我想清理此日志以隐藏某些信息,例如电子邮件、external_id 和 api_key,因此 logstash 的最终输出将类似于:
2019-07-17 16:57:20,522:钎焊信息:正文:{“属性”: [{“external_id”:“****”,“电子邮件”:“****”,“网站”: “站点”}],“api_key”:“fg09831e-****”,“事件”: [{“属性”:{“站点”:“站点”},“external_id”:“****”,“名称”: "注册", "时间": "2019-07-17'+0'16:57:20.522380"}]}
以{"attributes"... 开头的部分是一个有效的 JSON,所以我在想如果我可以将日志的那部分存储在一个单独的字段中,然后我可以应用 json logstash 过滤器,然后改变这些字段。我正在尝试分离日志以仅获取 json,但是我使用 grok 的所有尝试都失败了。有什么想法可以让它发挥作用吗?
【问题讨论】:
标签: elasticsearch logstash logstash-grok