如何在DevOps监控中查看500错误?Azure查询无结果求助
解决Azure指标查询未显示500错误的建议
确认指标名称准确性
Azure Monitor中,HTTP 5xx类错误的聚合指标名称是Http5xx,而非单独的500。你的查询里包含了不存在的"500"MetricName,会过滤掉有效数据。可先运行以下查询查看所有可用的HTTP响应码指标:AzureMetrics | where TimeGenerated > ago(12h) | distinct MetricName | where MetricName startswith "Http"验证错误请求是否被捕获
跳过聚合指标,直接查询原始请求日志确认500错误是否存在。若你的API使用了Application Insights,运行以下查询:AppRequests | where TimeGenerated > ago(12h) | where ResultCode == "500" | project TimeGenerated, Name, ResultCode, Duration若能查到结果,说明错误已被捕获,问题出在指标聚合或查询逻辑上;若查不到,说明请求未被Azure Monitor采集。
补充资源过滤条件
原始查询未指定具体资源,可能返回了无关资源的指标数据。添加资源过滤缩小范围:AzureMetrics | where TimeGenerated > ago(12h) | where ResourceGroup == "你的资源组名称" and Resource == "你的API应用名称" | where MetricName in ("Http3xx", "Http4xx", "Http5xx") | summarize sum(Total) by MetricName | render piechart检查指标采集配置
登录Azure门户,进入API所在的App Service(或对应资源),查看监控>指标页面,确认HTTP响应代码类别下的Http5xx指标已启用,且采集频率符合要求(默认1分钟)。排查API错误处理逻辑
确认C# API确实返回了500状态码,未在异常处理中修改响应状态码或吞掉异常。比如检查全局异常过滤器是否错误将500转为其他状态码,或是否正确设置HttpResponseMessage的状态码。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

