Add Azure Web App diagnostic log settings to ARM template

浪尽此生 提交于 2019-12-24 05:36:27

问题


I'm looking for the option to enable diagnostic log settings (file level, not blob) on the template deployment stage.
I've found the following example on Github however, it doesn't work, saying "Microsoft.Web/sites/logs" is not a valid option".
Below is the part of my template:

{
          "apiVersion": "2015-08-01",
          "name": "logs",
          "type": "config",
          "location": "[resourcegroup().location]",
          "dependsOn": [
            "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
          ],
          "properties": {
            "applicationLogs": {
              "fileSystem": {
                "level": "Verbose"
              }
            },
            "httpLogs": {
              "fileSystem": {
                "retentionInMb": 100,
                "retentionInDays": 90,
                "enabled": true
              }
            },
            "failedRequestsTracing": {
              "enabled": true
            },
            "detailedErrorMessages": {
              "enabled": true
            }
          }
        },

Also, I've found the following discussion on a similar question but the topic starter stated that this piece of code works correctly in most cases.


回答1:


If you want to enable diagnostic log settings during deployment Azure WebApp. You could use the follow demo code to do that. It works correctly on my side.

Deploy.json

{
      "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "siteName": {
          "type": "string"
        },
        "appServicePlanName": {
          "type": "string"
        },
        "siteLocation": {
          "type": "string"
        },
        "workerSize": {
          "type": "string",
          "allowedValues": [
            "0",
            "1",
            "2"
          ],
          "defaultValue": "1"
        }
      },
      "resources": [
        {
          "apiVersion": "2015-08-01",
          "name": "[parameters('appServicePlanName')]",
          "type": "Microsoft.Web/serverfarms",
          "location": "[parameters('siteLocation')]",
          "sku": {
            "name": "S1",
            "tier": "Standard",
            "capacity": 1
          },
          "properties": {
            "name": "[parameters('appServicePlanName')]"
          }
        },
        {
          "apiVersion": "2015-08-01",
          "name": "[parameters('siteName')]",
          "type": "Microsoft.Web/sites",
          "location": "[parameters('siteLocation')]",
          "dependsOn": [
            "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
          ],
          "properties": {
            "serverFarmId": "[parameters('appServicePlanName')]"
          },
          "resources": [
            {
              "apiVersion": "2015-08-01",
              "name": "logs",
              "type": "config",
              "dependsOn": [
                "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
              ],
              "properties": {
                "applicationLogs": {
                  "fileSystem": {
                    "level": "Verbose"
                  }
                },
                "httpLogs": {
                  "fileSystem": {
                    "retentionInMb": 100,
                    "retentionInDays": 90,
                    "enabled": true
                  }
                },
                "failedRequestsTracing": {
                  "enabled": true
                },
                "detailedErrorMessages": {
                  "enabled": true
                }
              }
            }
          ]
        }
      ]
    }

parameters.json

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "siteName": {
      "value": "xxxxxx"
    },
    "appServicePlanName": {
      "value": "xxxx"
    },
    "siteLocation": {
      "value": "East US"
    },
    "workerSize": {
      "value": "1"
    }
  }
}

Check from the Azure portal.



来源:https://stackoverflow.com/questions/49314112/add-azure-web-app-diagnostic-log-settings-to-arm-template

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!