如何将Azure Application Gateway日志发送至Application Insights
如何把Azure Application Gateway日志弄到Application Insights里
方法一:靠Log Analytics工作区中转转发
既然你已经把网关日志发到Log Analytics了,直接按下面的步骤转去Application Insights:
- 打开你的Log Analytics工作区,写个自定义日志查询,筛出你要的网关日志(比如
AzureDiagnostics表里,Category是ApplicationGatewayAccessLog或者ApplicationGatewayPerformanceLog的记录)- 举个查询例子:
AzureDiagnostics | where Category == "ApplicationGatewayAccessLog" | project TimeGenerated, clientIP_s, requestUri_s, httpStatus_d, backendResponseTime_d
- 举个查询例子:
- 保存查询后,创建警报规则,触发条件选“基于自定义日志查询的结果数”,设置成只要有日志生成就触发(比如结果数>0)
- 在警报的操作组里,加一个Application Insights目标,选你要存日志的那个AI资源,配置好要传递的日志字段
- 保存规则后,新产生的网关日志先到Log Analytics,再通过警报自动转发到Application Insights的
traces表里
方法二:用Azure函数直接处理
要是不想经过Log Analytics,也可以用Azure函数来对接:
- 先给Application Gateway的诊断设置改一下,把日志发到Azure Event Hub
- 建个Azure函数(用C#或Python都行),触发类型选“Event Hub触发器”,用来读取Event Hub里的日志数据
- 在函数代码里用Application Insights SDK(比如
Microsoft.ApplicationInsights包),把日志转成跟踪事件发送到目标AI资源 - 部署好函数后,网关日志就会通过Event Hub流到函数,再写入Application Insights
注意点
- Application Gateway的诊断设置里没法直接选Application Insights当目标,必须走中间层(Log Analytics或者Event Hub+函数)
- 转到AI的日志会存在
traces或customEvents表里,直接在AI的日志查询页面就能看 - 用Log Analytics转发的话,注意调一下警报的触发频率,别漏发或者重复发日志
内容的提问来源于stack exchange,提问作者Shanks
相关产品推荐
相关产品推荐

