我们正在使用 Azure Policy 推出各种 PaaS 解决方案的诊断设置,并遇到一些问题,我们希望为 10 多个区域制定一个策略,并让它们将日志发送到区域日志分析工作区。
我知道我们可以创建 10 多项政策并将其范围限定到特定区域,但我真的不想维护那么多政策,因此我希望为一项政策添加条件逻辑并执行此操作。
我已经通过从虚拟机中提取变量并在策略中设置逻辑来部署 DCR 规则。因此,我认为诊断设置的概念相同,但我对下面的逻辑以及何时检查该值以及我的条件逻辑何时启动有点担心。
{
"anyOf": [
{
"value": "[parameters('matchWorkspace')]",
"equals": false
},
{
"field": "Microsoft.Insights/diagnosticSettings/workspaceId",
"equals": "[parameters('logAnalytics')]"
}
]
}
我在 DCR 规则中使用的逻辑是:
"variables": {
"dcrResourceType": "Microsoft.Insights/dataCollectionRules",
"workspaceLocale": {
"eastus": {
"dataCollectionRuleId": "/subscriptions/XXXXXX/resourceGroups/XXXXXX/providers/Microsoft.Insights/dataCollectionRules/LinuxCommonEventsEastUS",
"dcrassociationName": "LinuxCommonEventsEastUS"
},
"germanywestcentral": {
"dataCollectionRuleId": "/subscriptions/XXXXXX/resourceGroups/XXXXXX/providers/Microsoft.Insights/dataCollectionRules/LinuxCommonEventsGermany",
"dcrassociationName": "LinuxCommonEventsGermany"
}
}
我只是好奇其他人是如何处理此类问题的。我觉得微软在支持跨地区的公司方面做得不是很好。
谢谢!