如何使用Azure ARM模板自动安装New Relic扩展?

时间:2016-11-09 13:04:05

标签: azure azure-web-sites azure-automation azure-resource-manager

我正在使用azure arm模板在azure中创建一个Web应用程序。现在我需要在将使用此模板创建的webapps中安装New Relic Extension。所以我无法找到具体的json格式。请帮帮我!

2 个答案:

答案 0 :(得分:5)

请尝试添加在ARM模板中剪切的json代码。

 "resources": [
        {
          "apiVersion": "2015-08-01",
          "name": "NewRelic.Azure.WebSites",
          "type": "siteextensions",
          "dependsOn": [
            "[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]"
          ],
          "properties": {
          }
        }
      ], 

我为它创建了一个演示。以下是我的详细步骤。关于扩展程序的名称,请参阅NewRelic.Azure.WebSites

<强> 1。创建Azure资源组项目。 enter image description here

<强> 2。选择Web App项目模板 enter image description here

第3。只是为网站扩展演示,所以我删除了不必要的资源

enter image description here

<强> 4。在ARM模板中添加剪切代码

enter image description here

<强> 5。通过Visual Studio部署网站

enter image description here enter image description here

<强> 6。检查Azure门户中的网站

enter image description here

演示ARM模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "hostingPlanName": {
      "type": "string",
      "minLength": 1
    },
    "skuName": {
      "type": "string",
      "defaultValue": "F1",
      "allowedValues": [
        "F1",
        "D1",
        "B1",
        "B2",
        "B3",
        "S1",
        "S2",
        "S3",
        "P1",
        "P2",
        "P3",
        "P4"
      ],
      "metadata": {
        "description": "Describes plan's pricing tier and instance size. Check details at https://azure.microsoft.com/en-us/pricing/details/app-service/"
      }
    },
    "skuCapacity": {
      "type": "int",
      "defaultValue": 1,
      "minValue": 1,
      "metadata": {
        "description": "Describes plan's instance count"
      }
    }
  },
  "variables": {
    "webSiteName": "[concat('webSite', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "[parameters('hostingPlanName')]",
      "type": "Microsoft.Web/serverfarms",
      "location": "[resourceGroup().location]",
      "tags": {
        "displayName": "HostingPlan"
      },
      "sku": {
        "name": "[parameters('skuName')]",
        "capacity": "[parameters('skuCapacity')]"
      },
      "properties": {
        "name": "[parameters('hostingPlanName')]"
      }
    },
    {
      "apiVersion": "2015-08-01",
      "name": "[variables('webSiteName')]",
      "type": "Microsoft.Web/sites",
      "location": "[resourceGroup().location]",
      "tags": {
        "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource",
        "displayName": "Website"
      },
      "dependsOn": [
        "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
      ],
      "resources": [
        {
          "apiVersion": "2015-08-01",
          "name": "NewRelic.Azure.WebSites",
          "type": "siteextensions",
          "dependsOn": [
            "[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]"
          ],
          "properties": {
          }
        }
      ],
      "properties": {
        "name": "[variables('webSiteName')]",
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
      }
    }
  ]
}

答案 1 :(得分:0)

"resources":[{
      "apiVersion": "2018-11-01",
      "name": "NewRelic.Azure.WebSites.Extension",
      "type": "siteextensions",
      "dependsOn": [
        "[resourceId('Microsoft.Web/sites', variables('appServiceName'))]"
      ]
    }]

现在的名称是NewRelic.Azure.Websites.Extension。在这种情况下,应在变量appServiceName中提供应用服务名称。