当我部署Azure ARM模板时,它会创建存储,而不是警报

时间:2018-06-13 06:30:38

标签: json azure azure-template

我为警报创建了一个Azure模板,因为我想同时使用新的微服务上传脚本(.json)。但是如果我部署这个.json文件,它会创建一个新的存储,而不是一个警报。我使用了Powershell命令New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateFile c:\MyTemplates\storage.json -storageAccountType Standard_GRS。在我的模板中,我需要定义参数kind,该参数只能接受StorageBlobstorage的值,但我不需要这两个参数。那么如何使用脚本.json文件创建警报,并且任何人都有模板,因为MS没有提供正确的模板。

编辑:这是.json文件:

{
"$schema":
"http://schema.management.azure.com/schemas/2015-01- 
01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
  "name": "[concat('storage', uniqueString(resourceGroup().id))]",
  "type": "Microsoft.Storage/storageAccounts",
  "apiVersion": "2016-01-01",
  "sku": {
    "name": "Standard_LRS"
  },
  "kind": "Storage",
  "id":
    "/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/storageName",
  "location": "westeurope",
  "properties": {
    "name": "tryAgain",
    "description": null,
    "isEnabled": true,
    "condition": {
      "$type":
        "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.ThresholdRuleCondition, Microsoft.WindowsAzure.Management.Mon.Client",
      "odata.type":
        "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition",
      "dataSource": {
        "$type":
          "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleMetricDataSource, Microsoft.WindowsAzure.Management.Mon.Client",
        "odata.type":
          "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource",
        "resourceUri":
          "/subscriptions/subscriptionID/resourcegroups/resourceGroupName/providers/microsoft.web/sites/name",
        "resourceLocation": null,
        "metricNamespace": null,
        "metricName": "AverageMemoryWorkingSet",
        "legacyResourceId": null
      },
      "operator": "GreaterThanOrEqual",
      "threshold": 120000000,
      "windowSize": "PT10M",
      "timeAggregation": "Average"
    },
    "actions": [
      {
        "$type":
          "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleWebhookAction, Microsoft.WindowsAzure.Management.Mon.Client",
        "odata.type":
          "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction",
        "serviceUri":
          "Logic-app URL",
        "properties": {
          "$type":
            "Microsoft.WindowsAzure.Management.Common.Storage.CasePreservedDictionary`1[[System.String, mscorlib]], Microsoft.WindowsAzure.Management.Common.Storage",
          "logicAppResourceId":
            "/subscriptions/subscriptionID/resourceGroups/Default-Storage-WestEurope/providers/Microsoft.Logic/workflows/Microsoft-Teams-Notifier"
        }
      }
    ]
  }
}
]
}

1 个答案:

答案 0 :(得分:0)

有关通过Azure Resource Manager模板创建度量标准警报,请参阅以下参考。如果要创建单个ARM模板以创建存储帐户,然后创建度量标准警报以监控创建的存储帐户,则应确保具有dependsOn,以便仅在存储帐户之后创建警报规则。以下文档引用了较新的度量标准警报,而不是传统的度量标准警报。

https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-create-metric-alerts-with-templates