当前位置: 首页 > 知识库问答 >
问题:

web测试中未启用Azure ARM模板中的警报规则

卜阳
2023-03-14

我正在使用一个ARM模板以编程方式创建一个应用程序洞察web测试和警报规则。ARM模板基于本文。

创建web测试和警报规则,但禁用web测试的Alerts属性。警报规则列在警报规则刀片上,但没有列在Webtests部分,而是列在其他部分,请参见图片:

为了获得具有启用警报的web测试,我缺少了什么?

ARM模板(WebTest属性的值被SO移除):

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "webTestName": {
      "type": "string"
    },
    "appName": { "type": "string" }
  },
  "variables": {
    "url": "http://www.google.com",
    "testName": "[concat(parameters('webTestName'), '-', toLower(parameters('appName')))]",
    "alertRuleName": "[concat(parameters('webTestName'), '-', toLower(parameters('appName')), '-', subscription().subscriptionId)]"
  },
  "resources": [
    {
      "name": "[parameters('appName')]",
      "type": "Microsoft.Insights/components",
      "apiVersion": "2014-04-01",
      "kind": "web",
      "location": "Central US",
      "properties": {
        "Application_Type": "web",
        "Flow_Type": "Redfield",
        "Request_Source": "Unknown",
        "Name": "[parameters('appName')]",
        "PackageId": null,
        "ApplicationId": "[parameters('appName')]"
      },
      "tags": {
        "applicationType": "web"
      }
    },
    {
      "name": "[variables('testName')]",
      "apiVersion": "2014-04-01",
      "type": "microsoft.insights/webtests",
      "location": "Central US",
      "dependsOn": [
        "[resourceId('Microsoft.Insights/components', parameters('appName'))]"
      ],
      "tags": {
        "[concat('hidden-link:', resourceId('Microsoft.Insights/components', parameters('appName')))]": "Resource"
      },
      "properties": {
        "Name": "[parameters('webTestName')]",
        "Description": "description",
        "Enabled": true,
        "Frequency": 300,
        "Timeout": 120,
        "Kind": "ping",
        "RetryEnabled": true,
        "Locations": [
          {
            "Id": "us-il-ch1-azr"
          },
          {
            "Id": "emea-se-sto-edge"
          },
          {
            "Id": "emea-nl-ams-azr"
          }
        ],
        "Configuration": {
          "WebTest": "[concat('                                        ')]"
        },
        "SyntheticMonitorId": "[variables('testName')]"
      }
    },
    {
      "name": "[variables('alertRuleName')]",
      "apiVersion": "2014-04-01",
      "type": "Microsoft.Insights/alertrules",
      "location": "East US",
      "dependsOn": [
        "[resourceId('Microsoft.Insights/webtests', variables('testName'))]"
      ],
      "tags": {
        "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appName')))]": "Resource",
        "[concat('hidden-link:', resourceId('microsoft.insights/webtests', variables('testName')))]": "Resource"
      },
      "properties": {
        "name": "[variables('alertRuleName')]",
        "description": "Alert for availability test",
        "isEnabled": true,
        "condition": {
          "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.LocationThresholdRuleCondition, Microsoft.WindowsAzure.Management.Mon.Client",
          "odata.type": "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition",
          "dataSource": {
            "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleMetricDataSource, Microsoft.WindowsAzure.Management.Mon.Client",
            "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource",
            "resourceUri": "[resourceId('microsoft.insights/webtests', variables('testName'))]",
            "metricName": "GSMT_AvRaW"
          },
          "windowSize": "PT5M",
          "failedLocationCount": 2
        },
        "actions": [
          {
            "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleEmailAction, Microsoft.WindowsAzure.Management.Mon.Client",
            "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
            "sendToServiceOwners": true,
            "customEmails": []
          }
        ]
      }
    }
  ]
}

共有1个答案

昌和悦
2023-03-14

原来resourceURI的值是区分大小写的。解决方案:

"variables": {
    ...
    "testName": "[toLower(concat(parameters('webTestName'), '-', toLower(parameters('appName'))))]",
    "alertRuleName": "[toLower(concat(parameters('webTestName'), '-', toLower(parameters('appName')), '-', subscription().subscriptionId))]"
},
 类似资料:
  • 当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行,和深度测试一样,它也可能会丢弃片段。接下来,被保留的片段会进入深度测试,它可能会丢弃更多的片段。模板测试是根据又一个缓冲来进行的,它叫做模板缓冲(Stencil Buffer),我们可以在渲染的时候更新它来获得一些很有意思的效果。 一个模板缓冲中,(通常)每个模板值(Stencil Value)是8位的。所以每个像素/

  • @TestTemplate方法不是常规的测试用例,而是测试用例的模板。为此,它被设计成根据已注册的提供者返回的调用上下文的数量被调用多次。因此,它必须与注册的TestTemplateInvocationContextProvider扩展一起使用。测试模板方法的每次调用都像执行常规@Test方法一样,完全支持相同的生命周期回调和扩展。有关使用示例,请参阅为测试模板提供调用上下文。

  • 我使用Mickito模拟了一个postForObject resttemplate调用。 mockito.when(RestTemplate.PostForObject(mockito.eq(remoteServerlocation),mockito.any(Input.Class),mockito.eq(String.Class))).ThenReturn(responseString);

  • 我有一个函数,它返回一个动态绑定的-本质上,。当然,实际函数要复杂得多,足以让我为它编写测试,最好是清晰的测试。但是以下: 将始终失败,因为将解析为而不是ConT MyType。 是否有一种很好的方法将类型转换为完全限定的类型,或者检查和是否相同(在当前上下文中)?

  • 本文向大家介绍如何在Selenium中处理基于Web的警报?,包括了如何在Selenium中处理基于Web的警报?的使用技巧和注意事项,需要的朋友参考一下 Selenium WebDriver借助Alert界面提供了多个API来处理弹出窗口或警报。 解雇() 这将取消警报按钮。 接受() 这将接受警报按钮。 getText() 这将提取警报文本。 sendKeys() 这将在警报框中输入文本。 示

  • 我无法使用安全性配置我的Spring Boot服务器的“自测”。这意味着我使用本教程创建了一个自签名证书。当我从浏览器打开https://localhost:8080时,没有问题,我有一个安全的加密连接。 但是,当我想要设置一个REST模板来调用https://localhost:8080时,我得到了这个错误: 测试类和项目:https://github.com/mpawel1993/family