如何在Azure Log Analytics中筛选Defender签名年龄超100的事件
解决方案:筛选并排序Defender病毒库过期天数大于100的记录
当然可以实现!我们可以借助Log Analytics的Kusto查询语言,从RenderedDescription字段中提取出病毒库过期天数的数值,再进行筛选和排序操作。以下是完整的查询语句:
Event | where EventLog contains "defender" | where EventID == 1151 // 从RenderedDescription中提取病毒库过期天数并转换为整数 | extend SignatureAge = toint(extract(@"Antivirus signature age: (\d+)", 1, RenderedDescription)) // 筛选过期天数大于100的记录 | where SignatureAge > 100 // 按过期天数降序排序(也可以换成TimeGenerated desc按时间排序) | sort by SignatureAge desc // 可选:只保留需要的字段,精简结果 | project TimeGenerated, Computer, SignatureAge, RenderedDescription
关键部分解释:
extract()函数:通过正则表达式@"Antivirus signature age: (\d+)"匹配文本中的数字部分,1表示提取第一个捕获组的内容(也就是数字)。toint()函数:把提取到的字符串数字转换为整数类型,这样才能进行数值比较。sort by子句:这里按SignatureAge降序排序,让过期最久的记录排在最前面;如果需要按事件发生时间排序,换成sort by TimeGenerated desc即可。project子句:可选步骤,用来只展示你关心的字段,避免结果中出现无关数据。
如果你需要调整筛选条件或者排序方式,直接修改对应的部分就可以了。
内容的提问来源于stack exchange,提问作者Bombbe
相关产品推荐
相关产品推荐

