在 Azure 入口網站的 [監視器] 功能表中,選取 [資料收集規則],然後選取 [建立]。
若要建立 DCR 以收集平台計量資料,請選取頁面頂端的連結。
在 [建立資料收集規則] 頁面上,輸入規則名稱,選取 DCR 的 [訂用帳戶]、[資源群組] 和 [區域]。
如果您想要將計量傳送至儲存體帳戶或事件中樞,請選取 [啟用受控識別]。
選取下一個
在 [資源] 頁面上,選取 [新增資源] 以新增您想要從中收集計量的資源。
選取 [下一步] 以移至 [收集並傳遞] 索引標籤。
選取 [新增新的資料集]
會自動選取在上一個步驟中所選擇資源的資源類型。 如果您想要使用此規則來收集未來多個資源類型的計量,請新增更多資源類型。
選取 [下一個目的地] 以移至 [目的地] 索引標籤。
若要將計量傳送至 Log Analytics 工作區,請從 [目的地類型] 下拉式清單選取 [Azure 監視器記錄]。
- 選取 [訂用帳戶] 和您想要傳送計量的 Log Analytics 工作區。
若要將計量傳送至事件中樞,請從 [目的地類型] 下拉式清單中選取 [事件中樞]。
- 選取 [訂用帳戶]、[事件中樞命名空間] 和 [事件中樞執行個體名稱]。
若要傳送計量至儲存體帳戶,請從 [目的地類型] 下拉式清單中選取 [儲存體帳戶]。
- 選取 [訂用帳戶]、[儲存體帳戶] 和您想要儲存計量的 [Blob 容器]。
注意
若要將計量傳送至儲存體帳戶或事件中樞,產生計量的資源、DCR 和儲存體帳戶或事件中樞都必須位於相同的區域中。
若要將計量傳送至 Log Analytics 工作區,DCR 必須位於與 Log Analytics 工作區相同的區域中。 產生計量的資源可以位於任何區域中。
若要選取儲存體帳戶或事件中樞作為目的地,您必須在 [基本] 索引標籤上啟用 DCR 的受控識別。
選取 [儲存],然後選取 [檢閱 + 建立]。
建立包含收集規則規格的 JSON 檔案。 如需詳細資訊,請參閱 DCR 規格。 如需範例 JSON 檔案,請參閱範例計量匯出 JSON 物件。
重要
規則檔案的格式與 PowerShell 和 REST API 所使用的格式相同,但檔案不得包含 identity
、location
或 kind
。 這些參數是在 az monitor data-collection rule create
命令中指定。
使用下列命令,使用 Azure CLI 來建立計量的資料收集規則。
az monitor data-collection rule create
--name
--resource-group
--location
--kind PlatformTelemetry
--rule-file
[--identity "{type:'SystemAssigned'}" ]
針對儲存體帳戶和事件中樞目的地,您必須使用 --identity "{type:'SystemAssigned'}"
來啟用 DCR 的受控識別。 Log Analytics 工作區不需要身分識別。
例如,
az monitor data-collection rule create
--name cli-dcr-001
--resource-group rg-001
--location centralus
--kind PlatformTelemetry
--identity "{type:'SystemAssigned'}"
--rule-file cli-dcr.json
複製 DCR 的 id
和 principalId
,以用於指派角色來建立 DCR 與資源之間的關聯。
"id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/cli-dcr-001",
"identity": {
"principalId": "eeeeeeee-ffff-aaaa-5555-666666666666",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "systemAssigned"
},
將寫入權限授與受控實體
當目的地是儲存體帳戶或事件中樞時,DCR 所使用的受控識別必須具有目的地的寫入權限。
若要授與規則受控實體的權限,請將適當的角色指派給實體。
下表顯示每個目的地類型所需的角色:
目的地類型 |
角色 |
Log Analytics 工作區 |
不需要 |
Azure 儲存體帳戶 |
Storage Blob Data Contributor |
事件中樞 |
Azure Event Hubs Data Sender |
如需指派角色的詳細資訊,請參閱將 Azure 角色指派給受控識別。
若要使用 CLI 將角色指派給受控識別,請使用 az role assignment create
。 如需詳細資訊,請參閱角色指派 - 建立
將適當的角色指派給 DCR 的受控識別。
az role assignment create --assignee <system assigned principal ID> \
--role <`Storage Blob Data Contributor` or `Azure Event Hubs Data Sender` \
--scope <storage account ID or eventhub ID>
下列範例會將 Storage Blob Data Contributor
角色指派給儲存體帳戶的 DCR 的受控識別。
az role assignment create --assignee eeeeeeee-ffff-aaaa-5555-666666666666 \
--role "Storage Blob Data Contributor" \
--scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/ed-rg-DCRTest/providers/Microsoft.Storage/storageAccounts/metricsexport001
建立資料收集規則關聯
建立資料收集規則之後,建立資料收集規則關聯 (DCRA),以將規則與要監視的資源產生關聯。 如需詳細資訊,請參閱資料收集規則關聯 - 建立
使用 az monitor data-collection rule association create
來建立資料收集規則與資源之間的關聯。
az monitor data-collection rule association create --name
--rule-id
--resource
下列範例會建立資料收集規則與 Key Vault 之間的關聯。
az monitor data-collection rule association create --name "keyValut-001" \
--rule-id "/subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.Insights/dataCollectionRules/dcr-cli-001" \
--resource "/subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.KeyVault/vaults/keyVault-001"
建立包含收集規則規格的 JSON 檔案。 如需詳細資訊,請參閱 DCR 規格。 如需範例 JSON 檔案,請參閱範例計量匯出 JSON 物件。
使用 New-AzDataCollectionRule
命令,使用 PowerShell 來建立計量的資料收集規則。 如需詳細資訊,請參閱 New-AzDataCollectionRule。
New-AzDataCollectionRule -Name
-ResourceGroupName
-JsonFilePath
例如,
New-AzDataCollectionRule -Name dcr-powershell-hub -ResourceGroupName rg-001 -JsonFilePath dcr-storage-account.json
複製 DCR 的 id
和 IdentityPrincipalId
,以用於指派角色來建立 DCR 與資源之間的關聯。
Id : /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-powershell-hub
IdentityPrincipalId : eeeeeeee-ffff-aaaa-5555-666666666666
IdentityTenantId : 0000aaaa-11bb-cccc-dd22-eeeeee333333
IdentityType : systemAssigned
IdentityUserAssignedIdentity : {
}
將寫入權限授與受控實體
當目的地是儲存體帳戶或事件中樞時,DCR 所使用的受控識別必須具有目的地的寫入權限。
若要授與規則受控實體的權限,請將適當的角色指派給實體。
下表顯示每個目的地類型所需的角色:
目的地類型 |
角色 |
Log Analytics 工作區 |
不需要 |
Azure 儲存體帳戶 |
Storage Blob Data Contributor |
事件中樞 |
Azure Event Hubs Data Sender |
如需詳細資訊,請參閱將 Azure 角色指派給受控識別。
若要使用 PowerShell 將角色指派給受控識別,請參閱 New-AzRoleAssignment
使用 New-AzRoleAssignment
將適當的角色指派給 DCR 的受控識別。
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
下列範例會將 Azure Event Hubs Data Sender
角色指派給訂用帳戶層級 DCR 的受控識別。
New-AzRoleAssignment -ObjectId eeeeeeee-ffff-aaaa-5555-666666666666 -RoleDefinitionName "Azure Event Hubs Data Sender" -Scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f
建立資料收集規則關聯
建立資料收集規則之後,建立資料收集規則關聯 (DCRA),以將規則與要監視的資源產生關聯。 使用 New-AzDataCollectionRuleAssociation
來建立資料收集規則與資源之間的關聯。 如需詳細資訊,請參閱 New-AzDataCollectionRuleAssociation
New-AzDataCollectionRuleAssociation
-AssociationName <String>
-ResourceUri <String>
-DataCollectionRuleId <String>
下列範例會建立資料收集規則與 Key Vault 之間的關聯。
New-AzDataCollectionRuleAssociation
-AssociationName keyVault-001-association
-ResourceUri /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.KeyVault/vaults/keyVault-001
-DataCollectionRuleId /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.Insights/dataCollectionRules/vaultsDCR001
使用 REST API 建立資料收集規則
建立計量的資料收集規則需要下列步驟:
- 建立資料收集規則。
- 授與規則的受控實體寫入目的地的權限
- 建立資料收集規則關聯。
建立資料收集規則
若要使用 REST API 建立 DCR,您必須使用持有人權杖提出已驗證的要求。 如需使用 Azure 監視器進行驗證的詳細資訊,請參閱驗證 Azure 監視器要求。
使用下列端點,使用 REST API 建立計量的資料收集規則。
如需詳細資訊,請參閱資料收集規則 - 建立。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2023-03-11
例如:
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-001?api-version=2023-03-11
承載是定義收集規則的 JSON 物件。 承載會在要求的主體中傳送。 如需 JSON 結構的詳細資訊,請參閱 DCR 規格。 如需範例 DCR JSON 物件,請參閱範例計量匯出 JSON 物件
將寫入權限授與受控實體
當目的地是儲存體帳戶或事件中樞時,DCR 所使用的受控識別必須具有目的地的寫入權限。
若要授與規則受控實體的權限,請將適當的角色指派給實體。
下表顯示每個目的地類型所需的角色:
目的地類型 |
角色 |
Log Analytics 工作區 |
不需要 |
Azure 儲存體帳戶 |
Storage Blob Data Contributor |
事件中樞 |
Azure Event Hubs Data Sender |
如需詳細資訊,請參閱將 Azure 角色指派給受控識別。
若要使用 REST 將角色指派給受控識別,請參閱角色指派 - 建立
建立資料收集規則關聯
建立資料收集規則之後,建立資料收集規則關聯 (DCRA),以將規則與要監視的資源產生關聯。 如需詳細資訊,請參閱資料收集規則關聯 - 建立
若要使用 REST API 建立 DCRA,請使用下列端點和承載:
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}?api-version=2022-06-0
本文:
{
"properties":
{
"description": "<DCRA description>",
"dataCollectionRuleId": "/subscriptions/{subscriptionId}/resourceGroups/{resource group name}/providers/Microsoft.Insights/dataCollectionRules/{DCR name}"
}
}
例如,
https://management.azure.com//subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/Microsoft.Compute/virtualMachines/vm002/providers/Microsoft.Insights/dataCollectionRuleAssociations/dcr-la-ws-vm002?api-version=2023-03-11
{
"properties":
{
"description": "Association of platform telemetry DCR with VM vm002",
"dataCollectionRuleId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-la-ws"
}
}
使用下列範本來建立 DCR。 如需詳細資訊,請參閱 Microsoft.Insights dataCollectionRules
範本檔案
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the Data Collection Rule to create."
}
},
"location": {
"type": "string",
"metadata": {
"description": "Specifies the location in which to create the Data Collection Rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"name": "[parameters('dataCollectionRuleName')]",
"kind": "PlatformTelemetry",
"identity": {
"type": "userassigned" | "systemAssigned",
"userAssignedIdentities": {
"type": "string"
}
},
"location": "[parameters('location')]",
"apiVersion": "2023-03-11",
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceId')]",
"name": "myDestination"
}
]
},
"dataFlows": [
{
"streams": [
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"destinations": [
"myDestination"
]
}
]
}
}
]
}
參數檔案
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"value": "metrics-dcr-001"
},
"workspaceId": {
"value": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/azuremonitorworkspaceinsights/providers/microsoft.operationalinsights/workspaces/amw-insight-ws"
},
"location": {
"value": "eastus"
}
}
}
範例 DCR 範本:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"apiVersion": "2023-03-11",
"name": "[parameters('dataCollectionRuleName')]",
"location": "[parameters('location')]",
"kind": "PlatformTelemetry",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Metrics-Group-All",
"Microsoft.Compute/virtualMachineScaleSets:Metrics-Group-All",
"Microsoft.Cache/redis:Metrics-Group-All",
"Microsoft.keyvault/vaults:Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceId')]",
"name": "myDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Metrics-Group-All",
"Microsoft.Compute/virtualMachineScaleSets:Metrics-Group-All",
"Microsoft.Cache/redis:Metrics-Group-All",
"Microsoft.keyvault/vaults:Metrics-Group-All"
],
"destinations": [
"myDestination"
]
}
]
}
}
]
}
建立 DCR 和 DCRA 之後,允許最多 30 分鐘的時間,讓第一個平台計量資料出現在 Log Analytics 工作區中。 一旦資料開始流動,視資源類型而定,平台計量時間序列流向 Log Analytics 工作區、儲存體帳戶或事件中樞的延遲大約為 3 分鐘。