在日志分析查询中使用自定义表

在日志分析查询中使用自定义表

是否可以通过 Log Analytics 工作区在 Kusto 查询中创建并引用自定义表?

具体来说,我想创建表格来帮助提供警报的元数据。即,我不想使用计划警报(必须维护各种警报和各种范围查询以说明每个系统的维护窗口),而是想定义一个表,其中说明资源 ID 和每个维护窗口的开始/停止时间(可能对同一资源有多行;例如,涵盖周末和工作日的不同时间表)。然后,我可以使用此表来说明哪些机器应该在给定时间在线,因此仅对预计在给定时间在线的那些资源发出“最近没有资源心跳”警报。

我找到了有关使用日志文件中的日志在计算机上创建这样的自定义表,但这不是我想要的。我想创建一个表来保存非对数数据。我怀疑我可能会滥用自定义对数表来实现此目的;但我想知道是否有更正确的方法?

我发现我可以查询资源图表,因此可以使用资源的标签来解决这个问题;但这并不能提供我所追求的灵活性/专用表可以提供的灵活性。

let nowtime = toint(format_datetime(now(),'HHmmss'));
let heartbeats = 
    Heartbeat
    | where TimeGenerated > ago(10m)
    | distinct _ResourceId;
arg("").resources
| where type =~ 'microsoft.compute/virtualmachines'
  and tags['inScopeForMonitor'] =~ 'true'
| project id
, startTime = toint(replace_string(tags['startTime'],':',''))
, stopTime = toint(replace_string(tags['stopTime'],':','')) 
, x = nowtime
| where (startTime < stopTime and startTime <= nowtime and stopTime > nowtime)
  or (startTime > stopTime and (startTime <= nowtime or stopTime > nowtime))
| where id !in~ (heartbeats)

相关内容