Azure门户导出ARM模板未包含Diagnostic setting相关配置问题咨询
问题解答
该现象属于产品设计,并非Bug
Azure门户的「自动化 - 导出模板」功能默认仅导出目标资源的核心属性配置,诊断设置属于资源扩展类附加配置,不在默认导出范围中。不止Key Vault、App Service,绝大多数Azure资源的诊断设置、资源锁定、基于角色的访问控制配置这类附加属性,都不会被默认包含在导出的ARM模板内,这是产品的既定设计。
获取已配置诊断设置对应ARM JSON的方法
- 通过Azure CLI获取:执行以下命令,输出的JSON结果可直接提取作为ARM模板中的diagnosticSettings资源段使用
az monitor diagnostic-settings show --resource <目标资源完整ID> --name <诊断设置自定义名称> --output json - 通过Azure PowerShell获取:执行以下命令即可拿到结构化的配置JSON
Get-AzDiagnosticSetting -ResourceId <目标资源完整ID> -Name <诊断设置自定义名称> | ConvertTo-Json -Depth 10 - 手动构建对应资源段:诊断设置的固定资源类型为
Microsoft.Insights/diagnosticSettings,结构非常固定,你只要填入已配置的Metrics/Logs规则、目标Log Analytics Workspace ID即可,支持直接作为子资源嵌套在父资源的ARM模板中部署。
内容的提问来源于stack exchange,提问作者Caad9Rider
相关产品推荐
相关产品推荐

