如何通过OperationName过滤关联的CorrelationID并移除相关事件
解决方法
核心思路
先提取所有属于「启动/停止/重启」事件的CorrelationID,再从原始日志中排除所有包含这些ID的条目,一次性清理掉关联的所有事件。
示例查询(以Azure活动日志为例)
假设你的日志表名为AzureActivity,可以用以下Kusto查询实现需求:
// 第一步:收集所有需要排除的CorrelationID let excludedCorrelationIds = AzureActivity | where OperationName in ("Microsoft.Web/sites/start/action", "Microsoft.Web/sites/stop/action", "Microsoft.Web/sites/restart/action") | project CorrelationID; // 第二步:从原始数据中排除所有关联ID匹配的条目 AzureActivity | where CorrelationID !in (excludedCorrelationIds)
细节说明
- 若需要匹配的
OperationName是中文描述(比如直接是「启动」「停止」「重启」),把in内的内容替换为对应中文值即可:where OperationName in ("启动", "停止", "重启") - 如果你的日志表不是
AzureActivity,替换成实际使用的表名即可。 - 该逻辑会过滤掉所有与目标事件共享
CorrelationID的日志,无论这些日志的OperationName是什么,完全覆盖你需要的清理范围。
内容的提问来源于stack exchange,提问作者Curtis Gray
相关产品推荐
相关产品推荐

