0

我有一个包含易受攻击的依赖项的索引,以及它们在存储库中的状态。我不想在解决警报后删除它们,因为我还想记录漏洞已被修补。

但是,这意味着我最终会得到一些我不确定最好的处理方式的数据。

这是我的数据看起来如何的简化示例

_ID alert_id 存储库 警报名称 行动
1 1 car_repository jwt 创建
2 2 car_repository 表示 创建
3 2 car_repository 表示 解决
4 5 船库 表示 创建
5 3 car_repository 日志4j 解决
6 3 car_repository 日志4j 创建
7 4 船库 日志4j 创建

总共创建了 5 个漏洞警告。其中2个已解决。现在 - 我想做的是显示当前状态。我们仍然有 3 个活跃的漏洞。我将如何只显示 3 个相关行?(1、4 和 7)

请记住,我对使用 ELK/OpenStack 还是很陌生,所以我不知道这是否最好使用查询或过滤器来解决,或者它是否有助于划分为多个索引。

4

1 回答 1

0

我想说最简单的方法是维护 2 个索引:一个用于actions上表中的内容,一个用于vulnerabilities当前状态。因此,每当您创建"created"操作时,您还将创建一个漏洞文档,status == "created"并且当您创建不是的操作时,"created"您将update_by_query该文档设置为status = "resolved"。然后您的查询将变得超级简单。

另一种方法是使用折叠,但根据我的经验,当您尝试对结果进行分页或聚合时,它的行为会非常令人困惑。

于 2021-12-16T14:31:57.750 回答