在Azure Monitor日志分析查询中计数操作

时间:2019-10-30 09:50:52

标签: azure azure-application-insights azure-log-analytics azure-monitoring

我想查询具有FullAccess的Add-MailboxPermission之类的操作以及已删除的电子邮件/日历事件,以查找受侵害的帐户(间隔30m)。 1.我应该如何修改代码以显示同时满足两个假设的操作(如果将“ or”更改为“ and”,它将在一个日志中检查两个假设)? 2.如何修改“计数”以减少仅显示此日志的日志数,结果显示最少10个?也许应该有另一个功能?

OfficeActivity
| where parse_json(Parameters)[2].Value like "FullAccess" or Operation contains "Delete" 
| summarize Events=count() by bin(TimeGenerated, 30m), Operation, UserId

1 个答案:

答案 0 :(得分:0)

欢迎堆栈溢出!

  1. 是的,仅当两个条件均为and时,逻辑true运算符才返回true。检查this文档以获取查询语言参考。

  2. 是的,还有一个top运算符,用于返回按指定列排序的前N条记录,如下所示:

    OfficeActivity
    | where parse_json(Parameters)[2].Value like "FullAccess" and Operation contains "Delete" 
    | summarize Events=count() by bin(TimeGenerated, 30m), Operation, UserId
    | top 10 by Events asc
    

其他提示: 也有limittake运算符,它们返回结果集直至指定的行数,但要注意的是,除非对源数据进行排序,否则不能保证返回哪些记录。

希望这会有所帮助!