目标:筛选镜像名开头为"ed"的容器日志
例子:
processors:
- drop_event:
when:
and:
- has_fields: ['container.name']
- and:
- not.contains:
container.name: name1
- not.contains:
container.name: name2
- not.contains:
container.name: name3
- not.contains:
container.name: name4
我的写法:
- drop_event:
when:
and:
- has_fields: ['container.image.name']
- and:
- not.contains:
container.image.name: "ed"
在kibana上查看效果
处理器查找原理
docker 模块和处理器配置是两个独立的东西。当使用处理器时,它不会改变任何模块的任何行为。更准确地说,以下是将遵循的步骤:
1.Docker 模块轮询指标并创建包含所有详细信息的事件。
2.Elastic Agent在发送事件以供摄取之前检查任何事件操作的配置。瞧,你的处理器找到了。
3.drop_event执行处理器并检查条件has_fields AND not.contains并决定是否删除事件。此时,模块已经完成了轮询和创建事件的任务
4.做出决定后drop_event,将或不会将事件发送到您配置的输出以供摄取。
解决方案来自elastic官方论坛,原帖链接:
https://discuss.elastic.co/t/metricbeat-to-monitor-specific-docker-containers-by-name-image/323986/3