0

我正在使用 Terraform 和 ARM 模板为 Webtest 设置Azure 警报规则。工作正常。

我需要检查的一些 URL 可能会返回“错误”(http 状态代码 >= 400)。当我手动修改或设置警报时,我会在“成功条件”中禁用“HTTP 响应”。

我将如何在 ARM 模板中执行此操作?我在门户中导出了两个测试并对其进行了比较。没有区别。有关详细信息,请参阅https://gist.github.com/alexs77/fc61992f84cf2d3ca80bda54cb2717cb

根据我所期望的 Microsoft.Insights webtests 2018-05-01-previewIgnoreHttpsStatusCode ,该设置可以做到这一点。但无论我将其设置为truefalse,创建的 Web 测试都启用了“HTTP 响应”。

出色地?!?

如何在禁用 HTTP 响应的情况下创建 Web 测试?

webtest 配置中的 http 响应部分

4

1 回答 1

0

正如评论中提到的,我使用相同的标准进行了测试,不提供httpstatuscodeinExpectedHttpStatusCode并将其设置为null。我也将其设置IgnoreHttpsStatusCode为 true 只是为了更安全。

"ValidationRules": {
            "ExpectedHttpStatusCode": null,
            "IgnoreHttpsStatusCode": true,
            "ContentValidation": null,
            "SSLCheck": true,
            "SSLCertRemainingLifetimeCheck": "[parameters('certRemainingLifetimeCheck')]"
          }

但上面只设置HTTP response: 为 null 。它不会禁用HTTP 响应。即使您不提供ExpectedHttpStatusCodeand IgnoreHttpsStatusCode,它也会启用Http Response并将其设置为null.

      "ValidationRules": {
        "ContentValidation": null,
        "SSLCheck": true,
        "SSLCertRemainingLifetimeCheck": "[parameters('certRemainingLifetimeCheck')]"
      }

在响应中设置一些 HTTP 代码并添加IgnoreHttpsStatusCodeas true 将忽略您在测试运行中提供的相同 http 代码,如您引用的Microsoft 文档中所述。

在此处输入图像描述

在此处输入图像描述

最终的结论是不可能使用 ARM 模板在成功标准中禁用 HTTP 响应,但即使启用它也可以将其设置为 Null。

于 2021-12-03T10:09:05.123 回答