我正在使用Azure日志分析来查看某些感兴趣的事件。
我想从符合特定标准的数据中获得时间戳,然后在进一步的查询中重用这些时间戳,即查看这些时间周围还发生了什么。
下面的查询返回了所需的结果,但我不知道如何使用interestingTimes
变量来执行进一步的搜索,并在之前返回的每个时间戳的X分钟内显示数据。
let interestingTimes =
Event
| where TimeGenerated between (datetime(2021-04-01T11:57:22) .. datetime('2021-04-01T15:00:00'))
| where EventID == 1
| parse EventData with * '<Data Name="Image">' ImageName "<" *
| where ImageName contains "MicrosoftEdge.exe"
| project TimeGenerated
;
任何建议都将不胜感激。
interestingTimes
将仅在您声明它的查询中可用。除非您也在那里定义它,否则您不能在其他查询中使用它。
顺便说一句,您可以通过添加一个过滤器来提高查询效率,该过滤器将利用EventData
列的内置索引,这样parse
运算符将在更少的记录上运行:
let interestingTimes =
Event
| where TimeGenerated between (datetime(2021-04-01T11:57:22) .. datetime('2021-04-01T15:00:00'))
| where EventID == 1
| where EventData has "MicrosoftEdge.exe" // <-- OPTIMIZATION that will filter out most records
| parse EventData with * '<Data Name="Image">' ImageName "<" *
| where ImageName contains "MicrosoftEdge.exe"
| project TimeGenerated
;