filebeat可以用空格分隔日志行吗?

问题描述 投票:0回答:1

所以我的日志行格式如下:

2020-04-15 12:16:44,936 WARN c.e.d.c.p.p.BasePooledObjectFactory [main] Caution - XML schema validation has been disabled! Validation is only available when using XML.

我正在使用filebeat将其直接发送到elasticsearch,它确实这样做,但是未设置log.level,整行成为消息。

阅读本来打算使用的解剖:

processors:
  - add_host_metadata: ~
  - dissect:
     tokenizer: "%{} %{} %{log.level} %{} [%{}] %{message}"
     field: "message"
     target_prefix: ""

我希望将其拆分为:

{ 
  log.level: WARN
  message: Caution - XML schema validation has been disabled! Validation is only available when using XML.
}

相反,我得到的结果与没有解剖的结果相同:

{
  message: 2020-04-15 12:16:44,936 WARN c.e.d.c.p.p.BasePooledObjectFactory [main] Caution - XML schema validation has been disabled! Validation is only available when using XML.
}

我只是想掌握filebeat,我已经尝试浏览了使它看起来很简单的文档。但是我的解剖目前没有做任何事情。正在添加主机元数据,因此我相信正在调用处理器。

如何从日志行中获取日志级别? (最好不更改日志本身的格式)

elasticsearch logging filebeat
1个回答
0
投票

您需要在解剖标记中选择message以外的其他字段名称,因为这是包含原始日志消息的字段的名称:

processors:
  - add_host_metadata: ~
  - dissect:
     tokenizer: "%{} %{} %{log.level} %{} [%{}] %{msg}"
     field: "message"
     target_prefix: ""
© www.soinside.com 2019 - 2024. All rights reserved.