2016-02-23 19 views
6

Possiedo un modello di Gestione risorse di Azure che fa parte di un set di modelli nidificati. Crea un componente App Insights, una regola di avviso sul sito Web per le richieste vietate, un test web multistep e una regola di avviso contro il test web. Tutte le risorse, ad eccezione della regola di avviso rispetto alla prova del Web, vengono distribuite correttamente. Posso entrare nel portale e creare l'avviso contro il test senza problemi dopo il fallimento della distribuzione.Il modello ARM webtest alertrule non riesce con ResourceNotFound

{ 
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
"contentVersion": "1.0.0.0", 
"parameters": { 
    "company": { 
     "type": "string" 
    }, 
    "region": { 
     "type": "string" 
    }, 
    "retailerAPIKey": { 
     "type": "string" 
    }, 
    "deviceID": { 
     "type": "string" 
    }, 
    "lumicastVersion": { 
     "type": "string" 
    } 
}, 
"variables": { 
    "frameworkWebSite": "[concat(parameters('company'),'-BLS-FRAMEWORK-',parameters('region'))]" 
}, 
"resources": [ 
    { 
     "name": "[concat('ForbiddenRequests ', variables('frameworkWebSite'))]", 
     "type": "Microsoft.Insights/alertrules", 
     "location": "[parameters('region')]", 
     "apiVersion": "2014-04-01", 
     "tags": { 
      "displayName": "ForbiddenRequests frameworkWebSite" 
     }, 
     "properties": { 
      "name": "[concat('ForbiddenRequests ', variables('frameworkWebSite'))]", 
      "description": "[concat(variables('frameworkWebSite'), ' has some requests that are forbidden, status code 403.')]", 
      "isEnabled": false, 
      "condition": { 
       "odata.type": "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition", 
       "dataSource": { 
        "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource", 
        "resourceUri": "[concat(resourceGroup().id, '/providers/Microsoft.Web/sites/', variables('frameworkWebSite'))]", 
        "metricName": "Http403" 
       }, 
       "operator": "GreaterThan", 
       "threshold": 0, 
       "windowSize": "PT5M" 
      }, 
      "action": { 
       "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction", 
       "sendToServiceOwners": true, 
       "customEmails": [ ] 
      } 
     } 
    }, 
    { 
     "name": "[variables('frameworkWebSite')]", 
     "type": "Microsoft.Insights/components", 
     "location": "Central US", 
     "apiVersion": "2014-04-01", 
     "tags": { 
      "displayName": "Component frameworkWebSite", 
      "[concat('hidden-link:',resourceGroup().id,'/providers/Microsoft.Web/sites/',variables('frameworkWebSite'))]": "Resource" 
     }, 
     "properties": { 
      "applicationId": "[variables('frameworkWebSite')]" 
     } 
    }, 
    { 
     "name": "[concat('siteinit-', variables('frameworkWebSite'))]", 
     "apiVersion": "2015-05-01", 
     "type": "Microsoft.Insights/webtests", 
     "location": "Central US", 
     "tags": { 
      "displayName": "WebtestL ABL BSL Init frameworkWebSite", 
      "[concat('hidden-link:', resourceId('microsoft.insights/components/', variables('frameworkWebSite')))]": "Resource" 
     }, 
     "dependsOn": [ 
      "[concat('microsoft.insights/components/', variables('frameworkWebSite'))]" 
     ], 
     "properties": { 
      "Name": "[concat('GETBytelightInit-',parameters('region'))]", 
      "Description": "[concat('GETBytelightInit-',parameters('region'),'.webtest')]", 
      "Enabled": true, 
      "Frequency": 600, 
      "Timeout": 120, 
      "Kind": "multistep", 
      "Locations": [ 
       { "Id": "us-il-ch1-azr" }, 
       { "Id": "us-ca-sjc-azr" }, 
       { "Id": "us-tx-sn1-azr" } 
      ], 
      "Configuration": { 
       "WebTest": "[concat('<workingwebtest goes here>','<ends here>')]" 
      }, 
      "SyntheticMonitorId": "[concat('siteinit-', variables('frameworkWebSite'))]" 
     } 
    }, 
    { 
     "name": "[concat('siteinit-', variables('frameworkWebSite'), '-alert')]", 
     "type": "Microsoft.Insights/alertrules", 
     "apiVersion": "2015-04-01", 
     "location": "[parameters('region')]", 
     "tags": { 
      "displayName": "Alert webtest site Init frameworkWebSite", 
      "[concat('hidden-link:', resourceId('microsoft.insights/components/', variables('frameworkWebSite')))]": "Resource", 
      "[concat('hidden-link:', resourceId('microsoft.insights/webtests/', concat('siteinit-', variables('frameworkWebSite'))))]": "Resource" 
     }, 
     "dependsOn": [ 
      "[concat('microsoft.insights/components/', variables('frameworkWebSite'))]", 
      "[concat('microsoft.insights/webtests/siteinit-', variables('frameworkWebSite'))]" 
     ], 
     "properties": { 
      "name": "[concat('siteinit-', variables('frameworkWebSite'), '-alert')]", 
      "description": "Alert for site Initialize", 
      "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/', concat('siteinit-', variables('frameworkWebSite')))]", 
        "metricName": "GSMT_AvRaW" 
       }, 
       "windowSize": "PT15M", 
       "failedLocationCount": 2 
      }, 
      "action": { 
       "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleEmailAction, Microsoft.WindowsAzure.Management.Mon.Client", 
       "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction", 
       "sendToServiceOwners": true, 
       "customEmails": [ ] 
      } 
     } 
    } 

], 
"outputs": { 
    "TestLink": { 
     "type": "string", 
     "value": "[resourceId('microsoft.insights/webtests/', concat('siteinit-', variables('frameworkWebSite')))]" 
    } 
} 

}

la distribuzione non riesce con:

"statusMessage": { 
    "Code": "ResourceNotFound", 
    "Message": "Exception of type 'Microsoft.WindowsAzure.Management.Monitoring.MonitoringServiceException' was thrown." 
}, 

Questo è solo il primo di molti test che andrà in questo modello e ogni distribuzione ha 2 copie del sito. Quindi la creazione di regole di avviso manuali non è un'opzione.

risposta

0

penso che ci sia un problema con il ResourceURI:

"resourceUri": "[concat(resourceGroup().id, '/providers/Microsoft.Web/sites/', variables('frameworkWebSite'))]", 

fare un tentativo con la funzione ResourceId():

"resourceUri": "[resourceId(resourceGroup().name, 'Microsoft.Web/sites', variables('frameworkWebSite'))]", 

Vedi resourceId() reference here.

Spero che questo aiuti.