Bu makalede Azure portal, Azure CLI, PowerShell, API veya ARM şablonları kullanılarak ölçüm dışarı aktarma için veri toplama kuralı (DCR) oluşturma işlemi açıklanmaktadır.
Azure portalındaki İzleyici menüsünde Veri Toplama Kuralları'nı ve ardından Oluştur'u seçin.
Platform ölçümleri verilerini toplamak üzere bir DCR oluşturmak için sayfanın üst kısmındaki bağlantıyı seçin.
Veri Toplama Kuralı Oluştur sayfasında bir kural adı girin, DCR için bir Abonelik, Kaynak grubu ve Bölge seçin.
Ölçümleri bir Depolama Hesabına veya Event Hubs'a göndermek istiyorsanız Yönetilen Kimliği Etkinleştir'i seçin.
İleri'yi seçin.
Kaynaklar sayfasında Kaynak ekle'yi seçerek ölçümleri toplamak istediğiniz kaynakları ekleyin.
Topla ve teslim et sekmesine gitmek için İleri'yi seçin.
Yeni veri akışı ekle'yi seçin.
Önceki adımda seçilen kaynağın kaynak türü otomatik olarak seçilir. Gelecekte birden çok kaynak türünden ölçüm toplamak için bu kuralı kullanmak istiyorsanız daha fazla kaynak türü ekleyin.
Hedefler sekmesine gitmek için SonrakiHedefler'i seçin.
Log Analytics çalışma alanına ölçüm göndermek için Hedef türü açılır listesinden Azure İzleyici Günlükleri'ni seçin.
- Ölçümleri göndermek istediğiniz Aboneliği ve Log Analytics çalışma alanını seçin.
Ölçümleri Event Hubs'a göndermek için Hedef türü açılır menüsünden Event Hub seçin.
-
Abonelik, Olay Hub'ı ad alanı ve Olay Hub'ı örnek adını seçin.
Ölçümleri bir Depolama Hesabına göndermek için Hedef türü açılan listesinden Depolama Hesabı'nı seçin.
- Ölçümleri depolamak istediğiniz Abonelik, Depolama Hesabı ve Blob kapsayıcısını seçin.
Uyarı
Bir Depolama Hesabına veya Event Hubs'a ölçüm göndermek için ölçümleri oluşturan kaynağın, DCR'nin ve Depolama Hesabı'nın veya Olay Hub'larının tümünün aynı bölgede olması gerekir.
Log Analytics çalışma alanına ölçüm göndermek için DCR'nin Log Analytics çalışma alanıyla aynı bölgede olması gerekir. Ölçümleri oluşturan kaynak herhangi bir bölgede olabilir.
Hedef olarak Depolama Hesabı veya Event Hubs'ı seçmek için, Temel Bilgiler sekmesinde DCR için yönetilen kimliği etkinleştirmeniz gerekir.
Kaydet'i ve ardından Gözden Geçir ve oluştur'u seçin.
Koleksiyon kuralı belirtimini içeren bir JSON dosyası oluşturun. Daha fazla bilgi için bkz. DCR belirtimleri. Örnek JSON dosyaları için bkz. Örnek Ölçümler Dışarı Aktarma JSON nesneleri.
Önemli
Kural dosyası PowerShell ve REST API için kullanılanla aynı biçime sahiptir, ancak dosya , identityveya locationiçermemelidirkind. Bu parametreler komutunda az monitor data-collection rule create belirtilir.
Azure CLI kullanarak ölçümler için bir veri toplama kuralı oluşturmak için aşağıdaki komutu kullanın.
az monitor data-collection rule create
--name
--resource-group
--location
--kind PlatformTelemetry
--rule-file
[--identity "{type:'SystemAssigned'}" ]
Depolama hesabı ve Event Hubs hedefleri için kullanarak DCR --identity "{type:'SystemAssigned'}"için yönetilen kimliği etkinleştirmeniz gerekir. Log Analytics çalışma alanları için kimlik gerekli değildir.
Örnek:
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
id DCR ile kaynak arasında bir ilişkilendirme oluşturmak için rolü atarken kullanılacak DCR'nin ve principalId değerini kopyalayın.
"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"
},
Yönetilen varlığa yazma izinleri verme
Hedef bir Depolama Hesabı veya Event Hubs olduğunda DCR tarafından kullanılan yönetilen kimliğin hedefte yazma izinleri olmalıdır. Kuralın yönetilen varlığı için izin vermek için, varlığa uygun rolü atayın.
Aşağıdaki tabloda her hedef türü için gereken roller gösterilmektedir:
| Hedef türü |
Rol |
| Log Analytics çalışma alanı |
gerekli değil |
| Azure depolama hesabı |
Storage Blob Data Contributor |
| Event Hubs |
Azure Event Hubs Data Sender |
Rol atama hakkında daha fazla bilgi için bkz. Yönetilen kimliğe Azure rolleri atama.
CLI kullanarak yönetilen kimliğe rol atamak için kullanın az role assignment create. Daha fazla bilgi için bkz . Rol Atamaları - Oluşturma.
DCR'nin yönetilen kimliğine uygun rolü atayın.
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>
Aşağıdaki örnek, rolü depolama hesabı için DCR'nin yönetilen kimliğine atar Storage Blob Data Contributor .
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
Veri toplama kuralı ilişkilendirmesi oluşturma
Veri toplama kuralını oluşturduktan sonra, kuralı izlenecek kaynakla ilişkilendirmek için bir veri toplama kuralı ilişkisi (DCRA) oluşturun. Daha fazla bilgi için bkz. Veri Toplama Kuralı İlişkilendirmeleri - Oluşturma.
Veri toplama kuralıyla kaynak arasında ilişki oluşturmak için kullanın az monitor data-collection rule association create .
az monitor data-collection rule association create --name
--rule-id
--resource
Aşağıdaki örnek, veri toplama kuralı ile Key Vault arasında bir ilişki oluşturur.
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"
Koleksiyon kuralı belirtimini içeren bir JSON dosyası oluşturun. Daha fazla bilgi için bkz. DCR belirtimleri. Örnek JSON dosyaları için bkz. Örnek Ölçümler Dışarı Aktarma JSON nesneleri.
New-AzDataCollectionRule PowerShell kullanarak ölçümler için veri toplama kuralı oluşturmak için komutunu kullanın. Daha fazla bilgi için bkz. New-AzDataCollectionRule.
New-AzDataCollectionRule -Name
-ResourceGroupName
-JsonFilePath
Örneğin
New-AzDataCollectionRule -Name dcr-powershell-hub -ResourceGroupName rg-001 -JsonFilePath dcr-storage-account.json
id DCR ile resource.resource arasında bir ilişkilendirme oluşturmak için rolü atarken kullanılacak DCR'nin ve IdentityPrincipalId değerini kopyalayın.
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 : {
}
Yönetilen varlığa yazma izinleri verme
Hedef bir Depolama Hesabı veya Event Hubs olduğunda DCR tarafından kullanılan yönetilen kimliğin hedefte yazma izinleri olmalıdır.
Kuralın yönetilen varlığı için izin vermek için, varlığa uygun rolü atayın.
Aşağıdaki tabloda her hedef türü için gereken roller gösterilmektedir:
| Hedef türü |
Rol |
| Log Analytics çalışma alanı |
gerekli değil |
| Azure depolama hesabı |
Storage Blob Data Contributor |
| Event Hubs |
Azure Event Hubs Data Sender |
Daha fazla bilgi için bkz. Yönetilen kimliğe Azure rolleri atama. PowerShell kullanarak yönetilen kimliğe rol atamak için bkz. New-AzRoleAssignment.
kullanarak New-AzRoleAssignmentDCR'nin yönetilen kimliğine uygun rolü atayın.
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
Aşağıdaki örnek, rolü abonelik düzeyinde DCR'nin yönetilen kimliğine atar Azure Event Hubs Data Sender .
New-AzRoleAssignment -ObjectId eeeeeeee-ffff-aaaa-5555-666666666666 -RoleDefinitionName "Azure Event Hubs Data Sender" -Scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f
Veri toplama kuralı ilişkilendirmesi oluşturma
Veri toplama kuralını oluşturduktan sonra, kuralı izlenecek kaynakla ilişkilendirmek için bir veri toplama kuralı ilişkisi (DCRA) oluşturun. Veri toplama kuralıyla kaynak arasında ilişki oluşturmak için kullanın New-AzDataCollectionRuleAssociation . Daha fazla bilgi için bkz. New-AzDataCollectionRuleAssociation.
New-AzDataCollectionRuleAssociation
-AssociationName <String>
-ResourceUri <String>
-DataCollectionRuleId <String>
Aşağıdaki örnek, veri toplama kuralı ile Key Vault arasında bir ilişki oluşturur.
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 kullanarak veri toplama kuralı oluşturma
Ölçümler için veri toplama kuralı oluşturmak için aşağıdaki adımlar gerekir:
- Veri toplama kuralını oluşturun.
- Kuralın yönetilen varlığı için hedefe yazma izinleri verme
- Veri toplama kuralı ilişkilendirmesi oluşturun.
Veri toplama kuralını oluşturma
REST API kullanarak DCR oluşturmak için taşıyıcı belirteci kullanarak kimliği doğrulanmış bir istekte bulunmanız gerekir. Azure İzleyici ile kimlik doğrulaması hakkında daha fazla bilgi için bkz. Azure İzleyici isteklerinin kimliğini doğrulama.
REST API kullanarak ölçümler için bir veri toplama kuralı oluşturmak için aşağıdaki uç noktayı kullanın. Daha fazla bilgi için bkz. Veri Toplama Kuralları - Oluşturma.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2023-03-11
Örnek:
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-001?api-version=2023-03-11
Yük, koleksiyon kuralını tanımlayan bir JSON nesnesidir. Yük, isteğin gövdesinde gönderilir. JSON yapısı hakkında daha fazla bilgi için bkz. DCR belirtimleri. Örnek DCR JSON nesneleri için bkz. Örnek Ölçümler Dışarı Aktarma JSON nesneleri.
Yönetilen varlığa yazma izinleri verme
Hedef bir Depolama Hesabı veya Event Hubs olduğunda DCR tarafından kullanılan yönetilen kimliğin hedefte yazma izinleri olmalıdır.
Kuralın yönetilen varlığı için izin vermek için, varlığa uygun rolü atayın.
Aşağıdaki tabloda her hedef türü için gereken roller gösterilmektedir:
| Hedef türü |
Rol |
| Log Analytics çalışma alanı |
gerekli değil |
| Azure depolama hesabı |
Storage Blob Data Contributor |
| Event Hubs |
Azure Event Hubs Data Sender |
Daha fazla bilgi için bkz. Yönetilen kimliğe Azure rolleri atama.
REST kullanarak yönetilen kimliğe rol atamak için bkz. Rol Atamaları - Oluşturma.
Veri toplama kuralı ilişkilendirmesi oluşturma
Veri toplama kuralını oluşturduktan sonra, kuralı izlenecek kaynakla ilişkilendirmek için bir veri toplama kuralı ilişkisi (DCRA) oluşturun. Daha fazla bilgi için bkz. Veri Toplama Kuralı İlişkilendirmeleri - Oluşturma
REST API kullanarak DCRA oluşturmak için aşağıdaki uç noktayı ve yükü kullanın:
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}?api-version=2022-06-0
Metin:
{
"properties":
{
"description": "<DCRA description>",
"dataCollectionRuleId": "/subscriptions/{subscriptionId}/resourceGroups/{resource group name}/providers/Microsoft.Insights/dataCollectionRules/{DCR name}"
}
}
Örnek:
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 oluşturmak için aşağıdaki şablonu kullanın. Daha fazla bilgi için bkz. Microsoft.Insights dataCollectionRules.
Şablon dosyası
{
"$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"
]
}
]
}
}
]
}
Parametre dosyası
{
"$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"
}
}
}
Örnek DCR şablonu
{
"$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 ve DCRA'yı oluşturduktan sonra ilk platform ölçüm verilerinin Log Analytics Çalışma Alanı'nda görünmesi için 30 dakikaya kadar süre tanıyın. Veriler akmaya başladıktan sonra log analytics çalışma alanına, Depolama Hesabına veya Event Hubs'a akan platform ölçümü zaman serisinin gecikme süresi, kaynak türüne bağlı olarak yaklaşık 3 dakikadır.
DCR'yi yükledikten sonra değişikliklerin etkili olması ve verilerin güncelleştirilmiş DCR ile toplanması birkaç dakika sürebilir. Herhangi bir verinin toplandığını görmüyorsanız, sorunun kök nedenini belirlemek zor olabilir. Sorun gidermeye yardımcı olmak için ölçümleri ve günlükleri içeren DCR izleme özelliklerini kullanın.
Toplanan verileri görmüyorsanız sorunu gidermek için bu temel adımları izleyin.