【发布时间】:2019-03-27 11:20:28
【问题描述】:
我正在将日志从我的 Django 应用程序写入日志文件,然后我将这些日志发送到 elasticsearch。因为我也想拆分字段,所以我在filebeat和elasticsearch之间使用logstash。
这里是示例日志字段:
2019-03-19 13:39:06 logfile INFO save_data {'field1': None, 'time': '13:39:06', '移动': '9876543210', 'list_item': "[{'item1': 10, 'item2':'path/to/file'}]",'response':'{some_complicated_json}}', 'field2': '一些数据', 'date': '19-03-2019', 'field3': '其他一些 数据'}
我尝试编写 GROK 匹配模式,但所有字段都进入 message 字段:
%{TIMESTAMP_ISO8601:temp_date}%{SPACE} %{WORD:logfile} %{LOGLEVEL:level} %{WORD:save_data} %{GREEDYDATA:message}
如何编写可以分解以上日志条目的 GROK 匹配模式。
【问题讨论】:
-
日志中的json有固定的结构吗?
-
@NishantSaini 不,json 中可能会出现不同的字段。
-
@NishantSaini 非常感谢,这很有帮助。
标签: elasticsearch logstash logstash-grok filebeat