诊断 Application Insights 中的可用性测试失败

本文讨论如何访问 Application Insights 故障排除报告。 此报告使你能够轻松诊断导致可用性测试失败的常见问题。

Azure 门户动画,演示如何查看端到端事务详细信息,以在 Application Insights 中查找故障排除报表。

查看 Application Insights 故障排除报告

若要查看 Application Insights 故障排除报告,请执行以下步骤:

  1. Application Insights 资源的可用性 页上,找到 “选择可用性测试 ”标题。 在该标题下,选择单个可用性测试的名称,或选择“整体以查看所有测试名称的组合结果。

  2. 请执行以下一项操作:

    • 测试名称的可用性结果 窗格中,找到 钻取 到标题,然后选择 “失败 ”按钮。 然后,在 “单击示例可用性测试 ”窗格中,选择测试名称的测试运行(表示特定区域和时间)。

    • 在可用性图中,选择散点图视图,然后选择散点图图上的一个点。

  3. “端到端事务详细信息”页中,选择事件,然后选择“可用性属性”表中的任意位置以打开“报表摘要”部分。

  4. 在“ 报表摘要 ”部分中,找到相关的错误名称,然后选择该项目的 “转到步骤 ”链接以查看 “故障排除报告 详细信息”。

使用故障排除报告确定可能失败的原因

下表列出了报告中可能发现的步骤、错误消息和可能的原因。

步长 错误消息 可能的原因
重用连接 此问题未返回任何特定的错误消息。 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 字节,则内容匹配也会失败。 客户端读取该字节数后,它会停止读取响应正文并删除连接。 由于此行为,即使客户端返回成功状态代码,服务器也会遇到 ClientConnectionFailure 异常。

Azure 门户 中缺少测试结果 此问题未返回任何特定的错误消息。 查看可用性测试的端到端事务详细信息时,Azure 门户中缺少测试结果。 查看 Web 测试结果不支持非 UTF8 字符。 确保从使用可用性测试调用的终结点的响应中没有非 UTF8 字符。
不支持的 URL 不支持此 URL

可用性测试仅允许通过公开可用的 IP 地址和主机名进行通信。 尝试与无法通过公共 Internet 路由的内部 IP 地址通信时,可能会出现此错误。

若要解决此错误,请确保 Web 测试中仅定义公共 IP 地址,并且 Web 测试的任何 DNS 查找都仅返回有效的可公开路由 IP 地址。

注意

如果存在连接重用步骤,则不存在以下步骤:

  • DNS 解析
  • 建立连接
  • TLS 传输

后续步骤

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区