【问题标题】:'Not' operation on Date range filter in Kibana VisualizationKibana 可视化中日期范围过滤器的“不”操作
【发布时间】:2020-12-07 07:12:42
【问题描述】:

我正在尝试在 Kibana 上创建一个可视化,以跟踪在过去一周活跃但在过去两天不活跃的实体。因为我在每个文档上都有可用的时间戳,所以我可以轻松地创建一个可视化来显示过去一周内受到打击的实体。它显示了所有实体,包括过去两天受到攻击的实体。我想排除这些在过去两天内受到攻击的实体。

我想要这样的东西:

Date Range (now-7d to now-2d) and NOT(now-2d - now)

具体来说,我正在寻找对日期范围进行否定操作的帮助。

这是我的过滤器的样子:

【问题讨论】:

  • 文档怎么会在now-7d to now-2dnow-2d - now 范围内?要么,要么,除非我错过了什么
  • 我正在寻找范围 now-7d to now-2d 和范围 NOT(now-2d - now) 我正在寻找 NOT 部分
  • 如果文档在now-7d to now-2d 部分,它也必然在NOT(now-2d - now)... 如果文档不在now-7d to now-2d 中,那么AND 条件无论如何都不会选择它。我看不出这怎么可能。

标签: elasticsearch kibana date-range kibana-7


【解决方案1】:

也许我误解了需求,但我认为你不应该尝试在聚合中这样做,而应该在过滤器中进行。 您可以使用可视化保存过滤器。

顺便说一句,我认为过滤器 (now-7d 到 now-2d) 可以完成这项工作,而您不需要 !(now-2d - now) 查询将是

{
  "range": {
    "@timestamp": {
      "gte": "now-7d/d",
      "lt": "now-2d/d"
    }
  }
}

在一个范围聚合中,我认为 !(now-2d -tonow) = to infinite to now-2d

【讨论】:

  • 谢谢,但这对我没有帮助,上面的过滤器是我应用的。我想排除那些本周早些时候受到打击并在过去两天再次受到打击的实体。我正在尝试为不太活跃的实体进行可视化。上面的过滤器没有这样做。如果最近的实体在两天前有活动,它会将最近的实体显示为不太活跃,这是错误的。我正在寻找 Not 部分。
  • 我仍然认为我并不真正了解我们的需求。我刚刚在帖子上添加的第二张图片就是您的答案,或者您需要的是串行差异聚合,以从另一个中减去一个句点。
  • @manoj - 也许您可以提供更多细节来帮助我们为您找到解决方案
  • 1) 我想创建一个可视化(数据表)来显示非活动实体 2) 如果实体在过去 2 天内没有任何命中,但在 7 天内已命中,则该实体处于非活动状态和前 2 天。我希望我把我的要求说清楚了。 PS:我不是在顶部栏中寻找过滤器,但我正在尝试创建一个将日期范围作为拆分过滤器之一的可视化
  • 更清楚了。所以你想要的是“最后命中日期在 7d 和 2d 之间”。可以通过日期的最大聚合来实现吗?然后操纵这个日期?
猜你喜欢
  • 1970-01-01
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-02
  • 1970-01-01
  • 2015-10-23
相关资源
最近更新 更多