诊断 Application Insights 中的可用性测试失败
本文讨论如何访问 Application Insights 故障排除报告。 此报告使你能够轻松诊断导致可用性测试失败的常见问题。
查看 Application Insights 故障排除报告
若要查看 Application Insights 故障排除报告,请执行以下步骤:
在 Application Insights 资源的可用性 页上,找到 “选择可用性测试 ”标题。 在该标题下,选择单个可用性测试的名称,或选择“整体”以查看所有测试名称的组合结果。
请执行以下一项操作:
在 测试名称的可用性结果 窗格中,找到 钻取 到标题,然后选择 “失败 ”按钮。 然后,在 “单击示例可用性测试 ”窗格中,选择测试名称的测试运行(表示特定区域和时间)。
在可用性图中,选择散点图视图,然后选择散点图图上的一个点。
在“端到端事务详细信息”页中,选择事件,然后选择“可用性属性”表中的任意位置以打开“报表摘要”部分。
在“ 报表摘要 ”部分中,找到相关的错误名称,然后选择该项目的 “转到步骤 ”链接以查看 “故障排除报告 详细信息”。
使用故障排除报告确定可能失败的原因
下表列出了报告中可能发现的步骤、错误消息和可能的原因。
步长 | 错误消息 | 可能的原因 |
---|---|---|
重用连接 | 此问题未返回任何特定的错误消息。 | Web 测试步骤依赖于以前建立的连接。 因此,不需要 DNS、连接或 SSL 步骤。 |
DNS 解析 | 无法解析远程名称:“<your-URL>” | DNS 解析过程失败。 这可能是由于 DNS 记录配置错误或临时 DNS 服务器故障而发生的。 |
建立连接 | 由于被连接方在一段时间后未正确响应,连接尝试失败。 | 服务器不会响应 HTTP 请求。 一个常见原因是服务器上的防火墙正在阻止我们的测试代理。 若要在 Azure 虚拟网络中进行测试,请将可用性服务标记添加到环境中。 |
TLS 传输 | 客户端和服务器无法通信,因为没有通用算法。 | 仅支持 TLS 1.0、1.1 和 1.2。 不支持 SSL。 此步骤不验证 SSL 证书,它仅建立安全连接。 仅当发生错误时,才会显示此步骤。 |
接收响应头 | 无法从传输连接中读取数据。 连接已关闭。 | 服务器在响应标头中提交协议错误。 例如,如果响应未完全读取,服务器会关闭连接。 |
接收响应正文 | 无法从传输连接中读取数据:连接已关闭。 | 服务器在响应正文中提交协议错误。 例如,如果响应未完全读取,或者区块大小在分块响应正文中出错,则服务器将关闭连接。 |
重定向限制验证 | 此网页的重定向太多。 此循环将在此终止,因为该请求超出了自动重定向次数限制。 | 重定向限制为每个测试 10 个。 |
状态代码验证 | 200 - OK 与预期状态 400 - BadRequest 不匹配。 |
返回的状态代码算作成功。 “200”代码指示返回了普通网页。 |
内容验证 | 所需的文本“<expected-response-text>”未出现在响应中。 | 该字符串在响应中不是完全区分大小写的匹配项。 例如,字符串“Welcome!” 必须是纯字符串,没有通配符(如星号)。 如果页面内容发生更改,可能需要更新字符串。 内容匹配仅支持英文字符。 如果响应正文超过 1,000,000 字节,则内容匹配也会失败。 客户端读取该字节数后,它会停止读取响应正文并删除连接。 由于此行为,即使客户端返回成功状态代码,服务器也会遇到 |
Azure 门户 中缺少测试结果 | 此问题未返回任何特定的错误消息。 查看可用性测试的端到端事务详细信息时,Azure 门户中缺少测试结果。 | 查看 Web 测试结果不支持非 UTF8 字符。 确保从使用可用性测试调用的终结点的响应中没有非 UTF8 字符。 |
不支持的 URL | 不支持此 URL | 可用性测试仅允许通过公开可用的 IP 地址和主机名进行通信。 尝试与无法通过公共 Internet 路由的内部 IP 地址通信时,可能会出现此错误。 若要解决此错误,请确保 Web 测试中仅定义公共 IP 地址,并且 Web 测试的任何 DNS 查找都仅返回有效的可公开路由 IP 地址。 |
注意
如果存在连接重用步骤,则不存在以下步骤:
- DNS 解析
- 建立连接
- TLS 传输
后续步骤
使用 TrackAvailability 提交 自定义可用性测试。
了解 URL ping 测试。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。