如何用KQL统计Application Gateway一小时内相同IP请求数并触发告警
KQL查询示例:统计一小时内高频请求IP并触发告警
以下是满足需求的KQL查询代码,可直接用于从Application Gateway访问日志中筛选过去1小时内请求次数超过100的客户端IP:
AzureDiagnostics | where Category == "ApplicationGatewayAccessLog" | where TimeGenerated >= ago(1h) | summarize RequestCount = count() by clientIP_s | where RequestCount > 100 | sort by RequestCount desc
关键部分说明
AzureDiagnostics:Application Gateway访问日志默认存储的表(若日志有自定义存储表名,需替换为对应名称)clientIP_s:日志中存储客户端IP的字段名,对应访问日志里的客户端IP数据ago(1h):限定查询过去1小时的日志,与Azure Functions每小时执行的周期匹配summarize:按客户端IP分组统计请求次数,再筛选出次数超100的记录
与Azure Functions结合要点
将该KQL查询通过Azure Monitor查询API集成到Azure Functions中,当查询返回非空结果时,触发预设的告警逻辑(如邮件通知、企业微信推送等)即可实现需求。
内容的提问来源于stack exchange,提问作者taka
相关产品推荐
相关产品推荐

