需要映射日志中的某些字段

Need to map certain fields from the log

我收到一个练习:我有一个日志例子 "Critical Machine_5 I have a really severe issue 42" "Medium Machine_3 everything is fine 244"

我需要应用 Grok 模式来映射 4 个字段 "severity"、"server"、"text"、"latency"

我不是这方面的专家,但据我了解,日志应该转换成以下内容:

 severity: Critical / Medium,
 server: Machine_5 / Machine_3,
 text: I have a really severe issue / everything is fine,
 latency: 42 / 244

以下代码returns"Critical"为第一条日志。但对第二个不起作用。

%{LOGLEVEL:severity} 

我使用 Grok 调试器来检查方法。 我知道这不是 5 分钟的谈话。但是你能帮我解决这个问题并了解一下总体思路吗?

因此,解决方案是定义正确的模式,正如@leandrojmp 在评论中建议的那样。

解决方法: %{WORD:severity} %{WORD:server} %{GREEDYDATA:text} %{WORD:latency}