You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Grafana中配置Azure应用网关WAF日志仪表盘?(Azure Monitor插件尝试失败)

我之前帮不少开发者搞定过Azure WAF日志在Grafana里可视化的问题,你遇到的Azure Monitor插件拿不到日志的情况真的挺常见,咱们一步步来排查和落地:

第一步:先确保WAF日志已经正确导出到Log Analytics工作区

这是最容易被忽略的前提——如果日志没先送到Log Analytics,Grafana的插件根本没地方捞数据:

  • 登录Azure门户,找到你的WAF(不管是应用网关WAF还是Front Door WAF)
  • 进入诊断设置,点击添加诊断设置
  • 勾选要收集的日志类型:应用网关WAF选ApplicationGatewayFirewallLogs,Front Door WAF选FrontDoorWebApplicationFirewallLogs
  • 目标选发送到Log Analytics工作区,挑一个已有的工作区或者新建一个
  • 保存后等5-10分钟,让日志开始流入工作区
第二步:排查Grafana Azure Monitor插件的配置问题

要是已经设置了日志导出但插件还是没数据,大概率是权限或配置细节没做对:

  • 确认你用的服务主体(SPN)有Log Analytics Reader权限在目标工作区上(划重点:是工作区的权限,不是WAF资源的权限!很多人在这里踩坑)
  • 打开Grafana的Azure Monitor数据源配置,核对订阅ID、租户ID、客户端ID、客户端密钥全是对的,并且选对了对应的Log Analytics工作区
  • 直接测个查询:在Grafana的探索页面,选Azure Monitor数据源,切到Logs模式,输入这条简单的查询试试:
AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLogs"
| take 10

要是能返回结果,说明数据源没问题;没结果的话,检查诊断设置里的日志类别和查询里的Category是不是匹配(Front Door的话要换成FrontDoorWebApplicationFirewallLogs)

第三步:搭建Grafana可视化面板

拿到日志后,就可以做各种实用的可视化了,分享几个常用的面板查询:

1. WAF请求趋势图

用时间序列图看每分钟的拦截/允许请求数,一目了然:

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLogs"
| summarize count() by bin(TimeGenerated, 1m), action_s
| render timechart

把action_s设为图例,就能区分Allow(允许)和Block(拦截)的请求趋势

2. Top 10被拦截的URI

用条形图展示最常被WAF拦下来的请求路径,方便定位恶意请求:

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLogs" and action_s == "Block"
| summarize count() by requestUri_s
| top 10 by count_
| render barchart

3. WAF规则触发统计

用饼图看哪些规则被触发得最多,帮你优化WAF规则配置:

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLogs"
| summarize count() by ruleName_s
| render piechart
第四步:替代方案(如果Azure Monitor插件还是搞不定)

要是插件一直有兼容问题,可以试试专门的Azure Log Analytics数据源插件——有时候比通用的Azure Monitor插件更稳定:

  • 在Grafana插件市场搜Azure Log Analytics安装
  • 配置时直接填Log Analytics工作区ID和密钥(或者用SPN权限)
  • 同样用Kusto查询拉取WAF日志就行

另外,也可以把WAF日志导出到Azure Blob存储,用Loki/Promtail采集后导入Grafana,但这个步骤更复杂,除非你已经有Loki栈,不然优先用Log Analytics的方式。

几个容易踩的坑
  • 日志有延迟:WAF日志到Log Analytics通常有5-15分钟的延迟,刚设置完别着急查数据
  • 权限不够:服务主体必须有Log Analytics工作区的读取权限,只给WAF资源权限没用
  • 日志类别选错:不同WAF类型的日志Category不一样,查询时要对应上

要是你还是拿不到数据,可以把Grafana数据源的测试结果和Azure诊断设置的截图贴出来,这样更容易定位问题。

内容的提问来源于stack exchange,提问作者SiddhiMorajkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 12:37:40