Azure Web API/App Service Plan性能数据未记录问题咨询
我来帮你一步步排查这个问题——这种有请求但看不到性能数据的情况,通常是几个常见的配置或服务关联问题导致的,咱们逐个确认:
检查Application Insights关联状态
虽然App Service的Overview标签有基础平台指标,但请求数、平均响应时间这类应用级数据,必须依赖Application Insights才能正常展示。你可以进入每个Web API的「Application Insights」标签页,确认是否已经关联了有效的Insights资源,且状态显示为「Connected」。如果还没关联,点击「Turn on Application Insights」跟着向导完成配置,一般等待10-15分钟后就能看到数据流入了。验证平台指标收集配置
CPU使用率、内存占比这类平台级指标,需要确保诊断设置里开启了Azure Monitor的指标收集。进入App Service或App Service Plan的「Diagnostics settings」页面,确认已经勾选「Send to Azure Monitor Metrics」,并且选中了对应的指标类别(比如「App Service Plans」或「App Services」)。如果之前没开启,启用后需要等待一段时间让数据同步。核对指标查询的范围与维度
有时候不是没数据,而是查询的维度或范围不对。比如在App Service Plan的Overview页面,默认展示的是整个Plan的聚合数据,你可以尝试切换到具体的Web API资源查看;或者点击指标图表的「Edit chart」,确认选择的指标是正确的(比如「CPU Percentage」「Memory Percentage」「Requests」),同时时间范围要准确覆盖你产生2万次请求的时段。用Azure CLI验证数据是否存在
偶尔会遇到Portal页面的显示延迟,你可以用Azure CLI直接查询指标来验证:az monitor metrics list --resource-group <你的资源组名称> --resource <你的Web API名称> --metric "Requests" --start-time <开始时间,比如2024-05-20T00:00:00Z> --end-time <结束时间,比如2024-05-27T00:00:00Z>如果CLI能返回有效的数据,说明是Portal的显示问题,清一下浏览器缓存或过段时间再刷新;如果CLI也返回空数据,那大概率还是配置层面的问题。
确认「Always On」是否启用
如果你的Web API使用的是免费/共享层,没开启「Always On」的话,应用可能会进入休眠状态,导致指标收集中断。进入Web API的「Configuration」→「General settings」,把「Always On」设置为「On」,确保应用持续运行,指标能正常被收集。
如果以上所有步骤都试过还是看不到数据,建议通过Azure门户的「Help + support」提交支持工单,提供你的资源ID和请求发生的具体时段,微软的支持团队可以帮你深入排查后台的指标收集状态。
内容的提问来源于stack exchange,提问作者TheFreeman

