创建后如何在 Azure 数据工厂中启用诊断
How to enable diagnostics in an Azure datafactory after creation
我正在尝试在通过 C# 自动化应用程序创建 Azure 数据工厂后使用 ARM 模板启用对它的诊断。我正在尝试对非计算资源模板使用此处的步骤:
上述说明的第 2 步状态:
In the resources array of the resource for which you want to enable
Diagnostic Logs, add a resource of type [resource
namespace]/providers/diagnosticSettings.
这里是我的问题所在:
我希望我可以为该资源的资源数组之外的数据工厂(或任何真正的资源)启用诊断,因为数据工厂不是作为 ARM 模板的一部分创建的。这可能吗?
如果是的话,上面引用中的[资源命名空间]是什么?我曾尝试使用 "Microsoft.DataFactory/providers/diagnosticSettings",但作为无效资源失败了。
这是我到目前为止的 JSON(请记住,这是在数据工厂的资源数组之外,因为它已经在前面的步骤中创建)。
{
"type": "Microsoft.DataFactory/providers/diagnosticSettings",
"name": "[concat('Microsoft.Insights/', parameters('factoryName'))]",
"apiVersion": "2017-05-01-preview",
"properties": {
"name": "[parameters('factoryName')]",
"workspaceId": "[parameters('workspaceId')]",
"logs": [
{
"category": "/* log category name */",
"enabled": true,
"retentionPolicy": {
"days": 0,
"enabled": false
}
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
试试这个(这对我有用)
让我们举个例子:
部署名称:AzureADF-DiagSettings-部署
部署资源组:ADFactoryRG
Azure 数据工厂实例名称:ADFactory
诊断设置名称(在 ADFactory 中):DiagService
日志分析实例名称:OMSWorkspace
日志分析资源组:OMSWorkspaceRG
{
"$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2017-05-10",
"name": "AzureADF-DiagSettings-Deployment",
"type": "Microsoft.Resources/deployments",
"resourceGroup": "ADFactoryRG",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "microsoft.datafactory/factories/providers/diagnosticsettings",
"name": "ADFactory/Microsoft.Insights/DiagService",
"apiVersion": "2017-05-01-preview",
"properties": {
"name": "DiagService",
"storageAccountId": null,
"eventHubAuthorizationRuleId": null,
"eventHubName": null,
"workspaceId": "OMSWorkspaceRG/Microsoft.OperationalInsights/workspaces/OMSWorkspace",
"logs": [
{
"category": "PipelineRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "TriggerRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "ActivityRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
],
"metrics": [
{
"category": "AllMetrics",
"timeGrain": "PT1M",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
],
"outputs": {}
},
"parameters": {}
}
}
],
"outputs": {}
}
我正在尝试在通过 C# 自动化应用程序创建 Azure 数据工厂后使用 ARM 模板启用对它的诊断。我正在尝试对非计算资源模板使用此处的步骤:
上述说明的第 2 步状态:
In the resources array of the resource for which you want to enable Diagnostic Logs, add a resource of type [resource namespace]/providers/diagnosticSettings.
这里是我的问题所在:
我希望我可以为该资源的资源数组之外的数据工厂(或任何真正的资源)启用诊断,因为数据工厂不是作为 ARM 模板的一部分创建的。这可能吗?
如果是的话,上面引用中的[资源命名空间]是什么?我曾尝试使用 "Microsoft.DataFactory/providers/diagnosticSettings",但作为无效资源失败了。
这是我到目前为止的 JSON(请记住,这是在数据工厂的资源数组之外,因为它已经在前面的步骤中创建)。
{
"type": "Microsoft.DataFactory/providers/diagnosticSettings",
"name": "[concat('Microsoft.Insights/', parameters('factoryName'))]",
"apiVersion": "2017-05-01-preview",
"properties": {
"name": "[parameters('factoryName')]",
"workspaceId": "[parameters('workspaceId')]",
"logs": [
{
"category": "/* log category name */",
"enabled": true,
"retentionPolicy": {
"days": 0,
"enabled": false
}
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
试试这个(这对我有用)
让我们举个例子:
部署名称:AzureADF-DiagSettings-部署
部署资源组:ADFactoryRG
Azure 数据工厂实例名称:ADFactory
诊断设置名称(在 ADFactory 中):DiagService
日志分析实例名称:OMSWorkspace
日志分析资源组:OMSWorkspaceRG
{
"$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2017-05-10",
"name": "AzureADF-DiagSettings-Deployment",
"type": "Microsoft.Resources/deployments",
"resourceGroup": "ADFactoryRG",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "microsoft.datafactory/factories/providers/diagnosticsettings",
"name": "ADFactory/Microsoft.Insights/DiagService",
"apiVersion": "2017-05-01-preview",
"properties": {
"name": "DiagService",
"storageAccountId": null,
"eventHubAuthorizationRuleId": null,
"eventHubName": null,
"workspaceId": "OMSWorkspaceRG/Microsoft.OperationalInsights/workspaces/OMSWorkspace",
"logs": [
{
"category": "PipelineRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "TriggerRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "ActivityRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
],
"metrics": [
{
"category": "AllMetrics",
"timeGrain": "PT1M",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
],
"outputs": {}
},
"parameters": {}
}
}
],
"outputs": {}
}