在我们的群集中,一些应用程序以多行形式发送日志,问题是日志结构因应用程序而异。
我们如何设置一个“if”条件来包含
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
在里面吗?
我们的代码:
文件beatConfig:filebeat.yml:|
filebeat.inputs:
- type: container
paths:
- /var/log/containers/*.log
processors:
- add_kubernetes_metadata:
host: ${NODE_NAME}
matchers:
- logs_path:
logs_path: "/var/log/containers/"
- drop_event:
when:
contains:
container.image.name: "kibana"
output.logstash:
hosts: ["logstash-listener:5044"]
1条答案
按热度按时间h7wcgrx31#
您需要将auto-discovery(Docker或Kubernetes)与模板条件一起使用。
您可能至少有两个模板,一个用于捕获发出多行消息的容器,另一个用于捕获其他容器。