【发布时间】:2019-05-07 15:12:44
【问题描述】:
我正在摄取许多日志,包括 /var/log/syslog、/var/log/messages,还有一些通用事件格式 (CEF) 的专有日志) 以及其他各种其他格式的专有日志。这些日志的条目从运行在各个节点上的 Filebeat 拍摄到 Logstash,例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/messages
- /var/log/syslog
- /var/log/acme/audit.log
- /var/log/acme/debug.log
- /var/log/acme/console.log
我为这些更专有的日志编写了dissect 过滤器。就其本身而言,每个过滤器都可以工作,将消息字段重新映射,将键值对等分解为我想要的。
我不知道该怎么做是配置 Logstash 并同时激活所有这些 dissect 过滤器,方法是通过文件系统路径(或来源)在右侧 dissect 代码日志上运行一个日志,或者通过注意一个 dissect 子句的失败并尝试另一个。
这可以按照我暗示的方式在 Logstash 中完成吗?如果没有,Filebeat 中是否有配置可以在日志条目到达 Logstash 之前区分它们,以便 Logstash 为不同的日志条目运行不同的过滤器?
【问题讨论】:
-
也许在文件名上使用conditionals,应该在source字段中?