所以我的日志行格式如下:
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,我已经尝试浏览了使它看起来很简单的文档。但是我的解剖目前没有做任何事情。正在添加主机元数据,因此我相信正在调用处理器。
如何从日志行中获取日志级别? (最好不更改日志本身的格式)
您需要在解剖标记中选择message
以外的其他字段名称,因为这是包含原始日志消息的字段的名称:
processors:
- add_host_metadata: ~
- dissect:
tokenizer: "%{} %{} %{log.level} %{} [%{}] %{msg}"
field: "message"
target_prefix: ""