【问题标题】:OpenSearch return results based on field in multiple indicesOpenSearch 根据多个索引中的字段返回结果
【发布时间】:2022-01-19 12:00:21
【问题描述】:

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

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

以下是我的数据外观的简化示例

_id alert_id repository alert_name action
1 1 car_repository jwt created
2 2 car_repository express created
3 2 car_repository express resolved
4 5 boat_repository express created
5 3 car_repository log4j resolved
6 3 car_repository log4j created
7 4 boat_repository log4j created

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

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

【问题讨论】:

    标签: opensearch opensearch-dashboards


    【解决方案1】:

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

    另一种选择是使用collapse,但根据我的经验,当您尝试对结果进行分页或汇总时,它的行为会非常令人困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      相关资源
      最近更新 更多