Blazor Interactive Server应用中Application Insights无事件显示问题
Blazor Interactive Server集成Application Insights排查方案
核心问题定位
你看不到自定义遥测的主要原因大概率是找错了查看位置,另外可能存在配置或权限问题,逐一排查:
1. 别在「活动日志」找应用遥测
Azure Application Insights的「活动日志」(Activity Log)仅记录AI资源本身的Azure管理操作(比如创建、配置修改)和安全事件,不包含应用发送的自定义指标、请求等遥测数据。你需要去以下位置查看:
- 「指标(Metrics)」页面:筛选自定义指标名称
Signup calendar get events - 「日志(Logs)」页面:执行Kusto查询语句:
customMetrics | where name == "Signup calendar get events"
2. 验证连接字符串配置
确保你的应用已正确配置Application Insights连接字符串:
- 在
appsettings.json中添加:"ApplicationInsights": { "ConnectionString": "你的Application Insights连接字符串" } - 部署到Azure App Service后,确认dev slot的「配置」-「应用程序设置」中已设置
APPLICATIONINSIGHTS_CONNECTION_STRING环境变量,优先级高于本地配置文件。
3. 遥测存在延迟
应用发送的遥测数据不会实时同步到AI门户,通常需要5-15分钟才能查询到,触发操作后不要立即去查看,等待一段时间再验证。
4. 检查权限配置
如果使用Azure App Service的托管身份发送遥测:
- 确认dev slot的系统分配托管身份已被授予目标Application Insights资源的「遥测发布者」或「监视参与者」角色。
5. Blazor Server代码细节验证
- 确保
TelemetryClient注入完成后再调用TrackMetric,比如在组件的OnInitializedAsync方法或用户交互事件(如按钮点击)中执行,避免在组件构造阶段调用(此时注入尚未完成)。 builder.Logging.AddApplicationInsights()和builder.Services.AddApplicationInsightsTelemetry()无需同时添加,后者已包含日志集成,可保留AddApplicationInsightsTelemetry()即可。
关于AI监控自身的疑问
Application Insights可以监控自身,它会收集自身的运行状态、操作日志等数据,但不推荐将应用遥测和AI自身遥测混合到同一个资源中——若AI资源出现故障,应用的遥测数据可能丢失,建议为应用单独分配一个AI资源。
内容的提问来源于stack exchange,提问作者David Thielen
相关产品推荐
相关产品推荐

