containers - 移除或隐藏 Kibana 中特定容器的所有日志
问题描述
我正在为我的容器化环境设置 EFK 堆栈。我已经给 /var/lib/docker/containers/*.log 从所有容器中获取日志,它工作正常。
现在我看到我的一个容器生成了一些奇怪的日志,我决定不在 Kibana 仪表板上显示它们。
@timestamp August 30th 2019, 13:44:59.136
_id XXX
_index filebeat-6.0.1-2019.08.30
_score -
_type doc
beat.namexyz xyz.com
beat.version 6.0.1
container.name mycontainer
property mycontainerproperty
log:
如何隐藏此容器的条目?
我认为首先不要从这个容器中获取日志,但容器 ID 不会每次都相同。所以在输入部分排除它似乎是不可能的。
如果有人在这里有任何想法,请告诉我。是否有任何 grok 模式可用于隐藏此容器的条目?
解决方案
因此,正如评论中的 OP 所述,应删除的事件以日志字段中的值DEBU:开头。
这是一个 logstash 过滤器(未经测试),用于检查日志字段的值是否符合此条件。如果是这样,该事件将被丢弃,这意味着它不会被 Elasticsearch 索引。
filter{
grok{
match => { "log" => "^DEBU:.*" }
tag_on_failure => [ "event_should_not_be_dropped" ]
}
if "event_should_not_be_dropped" not in [tags]{
drop { }
}
}
使用 grok 插件,我们检查日志字段的值是否以DEBU:开头。如果没有,该事件将被标记。如果未标记事件,则将丢弃整个事件。
我希望我能帮助你。
推荐阅读
- pytorch - 使用 dataloader pytorch 构建数据集出现错误无法导入名称“read_data_sets”
- python-3.x - Using a function to print the characters from a file?
- reactjs - 将 req.body 从 React 发送到 Express,然后发布到 api
- python - 图像插入无法正常工作。它作为框架出现在窗口上,但没有加载我要添加到框架中的特定图像
- ignite - Apache Ignite Web 控制台
- python - 尝试使用 ftplib 和 storbinary ==> UnicodeEncodeError 存储 png 图像
- r - 为什么 lubridate mdy() 在 lapply() 中返回错误?
- sql - 两个链接服务器中连接两个数据库时的查询
- mysql - 所选项目不必出现在 GROUP BY 子句中或在聚合函数中使用
- ldap - 使用 entryUUID 修改 LDAP