elasticsearch - 从filebeat和logstash中的消息中获取多个字段
问题描述
我正在从我的 Django 应用程序将日志写入日志文件,然后将这些日志发送到 elasticsearch。因为我也想拆分字段,所以我在filebeat和elasticsearch之间使用logstash。
这是示例日志字段:
2019-03-19 13:39:06 logfile INFO save_data {'field1': None, 'time': '13:39:06', 'mobile': '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 匹配模式。
解决方案
推荐阅读
- azure-resource-manager - 如何将数组加入 ARM 模板中的字符串?
- tableau-api - Tableau Desktop:如何分别显示数字标签和百分比标签?
- angular - IONIC Angular TypeScript -> 如何在 Service 中使用带有 Observable 的 RxJs BehaviorSubject
- html - CSS/Bootstrap:如何使 Bootstrap Carousel 上的 SVG 内的文本具有响应性?
- ansible - 尝试输出到文件时出现 Ansible 标准输出脚本错误
- eclipse - 为什么我的 web.xml 文件以表格格式显示
- typescript - 在接口的每个方法中更改“this”上下文类型
- node.js - 在 docker-composer 中链接应用程序源时如何安装和使用 npm?
- docker - 带有卷装容器的 Docker swarm
- language-server-protocol - 如何手动请求 clangd 或实现 ClangdServer 以完成代码