regex - Kibana:我可以将“时间”存储为变量并运行连续搜索吗?
问题描述
我想自动进行一些搜索,步骤如下:
- 在 Kibana 中搜索此 ID:
"b2c729b5-6440-4829-8562-abd81991e2a0"
这将返回一堆日志。在这些日志中,我需要获取第一个和最后一个时间戳:
我现在想将这两个数据 FROM:
September 3rd 2019, 21:28:22.155
, TO:存储September 3rd 2019, 21:28:23.524
在 2 个变量中在 Kibana 中再次搜索
"fail"
这两个时间变量之间的单词
如何在不需要复制/粘贴和运行第二个查询的情况下自动化整个过程?
编辑:
短篇小说:我在一家为自动驾驶汽车生产软件的公司工作。
场景:预订被拒绝,我们需要了解原因。
问题出在哪里:我只需要在 3 台不同的机器上监控几秒钟的日志。每个日志是完全分离的,日志之间没有关系,所以我无法在发现中编写查询,我需要运行 3 个分离的查询。
例子:
- 预订被拒绝,所以我打开 Chrome 并在“elk-prod.myhost.com”上搜索 BookingID:
"b2c729b5-6440-4829-8562-abd81991e2a0"
我在 2 秒的范围内返回了十几个日志(FROM:September 3rd 2019, 21:28:22.155
,TO:September 3rd 2019, 21:28:23.524
)。 - 现在我需要知道车上发生了什么,所以我打开一个新的 Chrome 选项卡并在“elk-prod.myhost.com”上搜索 CarID:
"Tesla-45-OU"
在时间范围 FROM:September 3rd 2019, 21:28:22.155
, TO:September 3rd 2019, 21:28:23.524
- 现在我需要知道为什么计算匹配的服务器拒绝了预订,所以我打开一个新的 Chrome 选项卡并
CalculationMatrix
始终在 FROM:September 3rd 2019, 21:28:22.155
, TO:时间范围内搜索单词September 3rd 2019, 21:28:23.524
结论:我想停止手动打开 Chrome 标签页并自动化整个过程。我不知道这本书的制作时间,所以我首先需要搜索 BookingID "b2c729b5-6440-4829-8562-abd81991e2a0"
,然后存储第一个和最后一个日志的时间戳,并根据这些时间戳运行第二个和第三个查询。
我搜索的 3 个日志之间没有关系,因此无法从 Discover 中过滤,我需要自动执行 3 个不同的查询。
解决方案
这是我将如何做到的。首先,据我了解,您有三个不同的索引:
- 一个用于“预订”
- 一个用于“汽车”
- 一个用于“匹配”
首先,在 Discover 中,我将创建三个 Saved Search,每个索引模式一个。然后在 Visualize 中,我将在预订保存的搜索上创建一个垂直条形图(date_histogram
在timestamp
字段上按桶 X 轴,其余部分保持不变)。您将获得按时间分组的所有预订事件的漂亮直方图。最后,我将创建一个仪表板并在其中添加垂直条形图 + 这三个已保存的搜索。
完成后,我将根据您上面描述的过程进行搜索的方式如下:
b2c729b5-6440-4829-8562-abd81991e2a0
在顶部过滤器栏中搜索预订 ID 。在条形图直方图(预订)中,您将看到与所选预订相关的所有文件。在该图表上,您可以选择从第一个预订文件发生到最后一个的确切时间段。这将调整顶部的主要时间选择器,并且 Kibana 将“记住”开始/结束时间从顶部过滤器中删除预订 ID(因为我们现在知道时间范围并且 Kibana 存储它)。
Tesla-45-OU
在顶部过滤器栏中搜索。柱状图 + 预订保存搜索 + 匹配保存搜索将为空,但您将在第二个列表中拥有数据,即汽车列表。在其中找到您需要找到的任何内容,然后进行下一步。从顶部过滤器中删除汽车 ID 并搜索
ComputationMatrix
。现在,第三次保存的搜索将显示您需要在该时间范围内查看的任何文档。
我缺乏实际的数据来尝试这一点,但我绝对认为这是可能的,正如我在上面所阐述的那样,可能需要进行一些调整。
推荐阅读
- testing - Jest 测试中的 Webpack 别名和配置
- mysql - 如何旋转以下 JOIN 查询
- ocaml - opam 安装错误“找不到解决方案”
- swift - 从 Firebase [GeoFire] 中删除位置 - Swift
- java - 当我的 JButton 很忙时,有没有办法显示正在加载的 JLabel?
- html - 使用 Css 在具有固定宽度的 div 内获取垂直滚动
- javascript - React - 在一种特定状态下更改 css 样式
- android - RecyclerView 延迟
- google-chrome - E:存储库“http://dl.google.com/linux/chrome/deb stable Release”将其“Origin”值从“Google, Inc.”更改为 到“谷歌有限责任公司”
- ios - Nativescript:读出 iOS 标题