logstash - Grok - 用不同长度的行解析日志
问题描述
我有以下格式的日志
<timestamp1> <user1>-<jobclass1> <n> <user2>-<jobclass2> <n> <user3>-<jobclass3> <n> ...
<timestamp2> <user1>-<jobclass1> <n> <user2>-<jobclass2> <n> ...
<timestamp1> <user1>-<jobclass1> <n> <user2>-<jobclass2> <n> <user3>-<jobclass3> <n> <user4>-<jobclass4> <n>...
并且需要为每个用户提供这样的回报
{“用户名”:[“XXXX”],“工作类别”:[“YYYY”],“数量”:[“ZZZZ”]}
我尝试使用这个
%{SYSLOGBASE} %{WORD:user}-%{WORD:jobclass} %{NUMBER:quantity}
问题是每行可能有 4、5、10、100 个用户。所以我需要实现某种递归
一些想法?
谢谢,
解决方案
推荐阅读
- bash - 如果早期部分失败,我可以阻止管道的后续部分运行吗?
- linux - 多级单父单子进程树?
- asp.net-mvc - 安装适用于 Visual Studio 2017 的 Oracle 开发人员工具时出错
- vue.js - 如何在 Vue.js 中绑定动画持续时间?
- javascript - jest.mock 中的 Jest 'TypeError: is not a function'
- c++ - AT 命令响应解析器
- dart - 如何使用 Flutterr 及时更改背景颜色?
- c# - 报告查看器“过滤器”
- python - 在 matplotlib 中的 3dscatter 网格上对齐投影的 2d 图
- javascript - 如何避免在多个 Express.JS 路由中重复使用 Passport.JS 代码