如何使用ARM模板为Azure App Services创建Application Insights工作簿?
如何用ARM模板自动化部署Azure Application Insights工作簿
当然可以直接用ARM模板自动化部署Application Insights工作簿,以下是具体实现步骤:
1. 导出现有工作簿的ARM模板
你已经在门户创建了"New Failure Analysis"工作簿,直接从门户导出模板是最高效的方式:
- 打开目标Application Insights资源的工作簿页面,找到你创建的"New Failure Analysis"工作簿
- 点击工作簿顶部的下载模板按钮,会得到包含工作簿完整配置的ARM模板文件
- 导出的模板核心资源类型为
Microsoft.Insights/workbooks,里面包含了工作簿的布局、查询、关联资源等所有配置
2. 调整模板适配部署需求
导出的模板可直接复用,仅需少量调整:
- 修改
properties.sourceId为目标App Service对应的Application Insights资源ID(若需批量部署,可将其设为ARM参数) - 确认
properties.displayName为"New Failure Analysis",保持和现有工作簿一致 properties.category设为"FailureAnalysis",确保工作簿归类正确- 不要手动修改
properties.serializedData——这是Base64编码的工作簿核心配置,包含你在门户中设置的所有分析逻辑和布局
3. 完整ARM模板示例
以下是简化后的模板示例,你可基于导出的模板修改:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "insightsResourceId": { "type": "string", "metadata": { "description": "目标Application Insights资源的ID" } }, "workbookName": { "type": "string", "defaultValue": "New Failure Analysis", "metadata": { "description": "工作簿名称" } } }, "resources": [ { "type": "Microsoft.Insights/workbooks", "apiVersion": "2021-03-08", "name": "[parameters('workbookName')]", "location": "[resourceGroup().location]", "properties": { "displayName": "[parameters('workbookName')]", "serializedData": "<导出的Base64编码内容>", "version": "1.0", "sourceId": "[parameters('insightsResourceId')]", "category": "FailureAnalysis" } } ] }
4. 部署模板的常用方式
- Azure CLI:
az deployment group create --resource-group <你的资源组名称> --template-file <模板文件路径> --parameters insightsResourceId=<目标Insights资源ID>
- Azure PowerShell:
New-AzResourceGroupDeployment -ResourceGroupName <你的资源组名称> -TemplateFile <模板文件路径> -insightsResourceId <目标Insights资源ID>
注意事项
- 确保执行部署的账号拥有
Microsoft.Insights/workbooks/write权限 - 若需部署到多个环境或多个Insights资源,可结合ARM参数文件或循环部署逻辑实现批量操作
- 若要调整工作簿内容,建议先在门户修改后重新导出模板,避免手动修改
serializedData导致格式错误
内容的提问来源于stack exchange,提问作者Pradeep
相关产品推荐
相关产品推荐

