DCR 및 연결을 만들려면 다음 권한이 필요합니다.
다음 표에서는 DCR이 만들어지는 Azure Portal을 사용하여 데이터 수집 시나리오를 만드는 방법을 나열합니다. 이러한 경우에는 DCR 자체와 직접 상호 작용할 필요가 없습니다.
Azure Portal을 사용하여 만들기
Azure Portal은 가상 머신 및 가상 머신 확장 집합에 대한 DCR을 만들기 위한 간소화된 환경을 제공합니다. 이 방법을 사용하면 변환과 같은 고급 기능을 구현하려는 경우가 아니면 DCR의 구조를 이해할 필요가 없습니다. 다양한 데이터 원본을 사용하여 이 DCR을 만드는 프로세스는 Azure Monitor 에이전트를 사용하여 데이터 수집에 설명되어 있습니다.
Important
대상 Log Analytics 작업 영역 또는 Azure Monitor 작업 영역과 동일한 지역에 데이터 수집 규칙을 만듭니다. 데이터 수집 규칙을 테넌트의 모든 구독 또는 리소스 그룹의 컴퓨터 또는 컨테이너에 연결할 수 있습니다. 테넌트 간에 데이터를 보내려면 먼저 Azure Lighthouse를 사용하도록 설정해야 합니다.
Azure Portal의 모니터 메뉴에서 데이터 수집 규칙>만들기를 선택하여 DCR 만들기 페이지를 엽니다.
기본 페이지에는 DCR에 대한 기본 정보가 포함되어 있습니다.
설정 |
설명 |
규칙 이름 |
DCR의 이름입니다. 이름은 규칙을 식별하는 데 도움이 되는 설명적인 이름이어야 합니다. |
구독 |
DCR을 저장할 구독입니다. 구독은 가상 머신과 동일한 구독일 필요는 없습니다. |
Resource group |
DCR을 저장할 리소스 그룹입니다. 리소스 그룹은 가상 머신과 동일한 리소스 그룹일 필요는 없습니다. |
지역 |
DCR을 저장할 지역입니다. 이 지역은 DCR의 대상에서 사용되는 Log Analytics 작업 영역 또는 Azure Monitor 작업 영역과 동일한 지역이어야 합니다. 다른 지역에 작업 영역이 있는 경우 동일한 컴퓨터 집합과 연결된 여러 DCR을 만듭니다. |
플랫폼 유형 |
DCR에 사용할 수 있는 데이터 원본의 형식(Windows 또는 Linux)을 지정합니다. 없음은 두 가지 모두에 사용할 수 있습니다. 1 |
데이터 컬렉션 엔드포인트 |
데이터를 수집하는 데 사용되는 DCE(데이터 수집 엔드포인트)를 지정합니다. Azure Monitor Private Link를 사용하는 경우에만 DCE가 필요합니다. 이 DCE는 DCR과 동일한 지역에 있어야 합니다. 자세한 내용은 배포에 따라 데이터 수집 엔드포인트를 설정하는 방법을 참조하세요. |
1 이 옵션은 DCR의 kind
특성을 설정합니다. 이 특성에 대해 설정할 수 있는 다른 값이 있지만 포털에서는 사용할 수 없습니다.
리소스 추가
리소스 페이지를 사용하면 DCR과 연관될 리소스를 추가할 수 있습니다. + 리소스 추가를 선택하여 리소스를 선택합니다. Azure Monitor 에이전트는 아직 설치하지 않은 모든 리소스에 자동으로 설치됩니다.
Important
포털은 기존 사용자 할당 ID(있는 경우)와 함께 대상 리소스에서 시스템 할당 관리 ID를 사용하도록 설정합니다. 기존 애플리케이션에서 요청에 사용자가 할당한 ID를 지정하지 않으면 머신은 기본적으로 시스템이 할당한 ID를 대신 사용합니다.
모니터링하는 컴퓨터가 대상 Log Analytics 작업 영역과 동일한 지역에 있지 않고 DCE가 필요한 데이터 형식을 수집하는 경우 데이터 수집 엔드포인트 사용을 선택하고 모니터링되는 각 컴퓨터의 영역에서 엔드포인트를 선택합니다. 모니터링되는 컴퓨터가 대상 Log Analytics 작업 영역과 동일한 지역에 있거나 DCE가 필요하지 않은 경우 리소스 탭에서 데이터 수집 엔드포인트를 선택하지 마세요.
데이터 원본 추가
수집 및 배달 페이지에서 DCR 및 각 대상에 대한 데이터 원본을 추가하고 구성할 수 있습니다.
화면 요소 |
설명 |
데이터 원본 |
데이터 원본 유형을 선택하고 선택한 데이터 원본 유형에 따라 관련 필드를 정의합니다. 각 형식의 데이터 원본을 구성하는 방법에 대한 자세한 내용은 데이터 원본의 문서를 참조하세요. |
대상 |
각 데이터 원본에 대해 하나 이상의 대상을 추가합니다. 같거나 다른 유형의 여러 대상을 선택할 수 있습니다. 예를 들어 멀티 호밍이라고도 하는 여러 Log Analytics 작업 영역을 선택할 수 있습니다. 지원하는 다양한 대상에 대해서는 각 데이터 형식의 세부 정보를 참조하세요. |
DCR은 여러 데이터 원본을 포함할 수 있으며 단일 DCR에서 최대 10개의 데이터 원본으로 제한됩니다. 동일한 DCR에서 서로 다른 데이터 원본을 결합할 수 있지만 일반적으로 다른 데이터 수집 시나리오에 대해 서로 다른 DCR을 만들려고 합니다. DCR을 구성하는 방법에 대한 권장 사항은 Azure Monitor에서 데이터 수집 규칙 만들기 및 관리에 대한 모범 사례를 참조하세요.
참고 항목
데이터 수집 규칙 마법사를 사용하여 데이터 수집 규칙을 만드는 경우 데이터가 대상으로 전송되는 데 최대 5분이 걸릴 수 있습니다.
CLI를 사용하여 만들기
az monitor data-collection rule create 명령을 사용하여 JSON 파일에서 DCR을 만듭니다.
az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'
az monitor data-collection rule association create 명령을 사용하여 DCR과 리소스 간에 연결을 만듭니다.
az monitor data-collection rule association create --name "my-vm-dcr-association" --rule-id "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr" --resource "subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm"
PowerShell을 사용하여 만들기
New-AzDataCollectionRule cmdlet을 사용하여 JSON 파일에서 DCR을 만듭니다.
New-AzDataCollectionRule -Name 'my-dcr' -ResourceGroupName 'my-resource-group' -JsonFilePath 'C:\MyNewDCR.json'
New-AzDataCollectionRuleAssociation 명령을 사용하여 DCR과 리소스 간에 연결을 만듭니다.
New-AzDataCollectionRuleAssociation -TargetResourceId '/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm' -DataCollectionRuleId '/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr' -AssociationName 'my-vm-dcr-association'
API를 사용하여 만들기
DCR 만들기 API를 사용하여 JSON 파일에서 DCR을 만듭니다. 다음 예제와 같이 임의의 메서드를 사용하여 REST API를 호출할 수 있습니다.
$ResourceId = "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
$FilePath = ".\my-dcr.json"
$DCRContent = Get-Content $FilePath -Raw
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2022-06-01") -Method PUT -Payload $DCRContent
ResourceId="/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
FilePath="my-dcr.json"
az rest --method put --url $ResourceId"?api-version=2022-06-01" --body @$FilePath
ARM 템플릿으로 만들기
템플릿에서 DCR 및 연결을 정의하려면 다음 참조를 참조하세요.
DCR
다음 템플릿을 사용하여 Azure Monitor의 데이터 수집 규칙 구조 및 Azure Monitor의 샘플 DCR(데이터 수집 규칙)의 정보를 사용하여 DCR을 만들어 dcr-properties
을(를) 정의합니다.
{
"$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')]",
"location": "[parameters('location')]",
"apiVersion": "2021-09-01-preview",
"properties": {
"<dcr-properties>"
}
}
]
}
DCR 연결 -Azure VM
다음 샘플에서는 Azure 가상 머신과 데이터 수집 규칙 간에 연결을 만듭니다.
Bicep 템플릿 파일
@description('The name of the virtual machine.')
param vmName string
@description('The name of the association.')
param associationName string
@description('The resource ID of the data collection rule.')
param dataCollectionRuleId string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' existing = {
name: vmName
}
resource association 'Microsoft.Insights/dataCollectionRuleAssociations@2021-09-01-preview' = {
name: associationName
scope: vm
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this virtual machine.'
dataCollectionRuleId: dataCollectionRuleId
}
}
ARM 템플릿 파일
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "The name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.Compute/virtualMachines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
매개 변수 파일
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-azure-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
DCR 연결 -Arc 지원 서버
다음 샘플에서는 Azure Arc 사용 서버와 데이터 수집 규칙 간에 연결을 만듭니다.
Bicep 템플릿 파일
@description('The name of the virtual machine.')
param vmName string
@description('The name of the association.')
param associationName string
@description('The resource ID of the data collection rule.')
param dataCollectionRuleId string
resource vm 'Microsoft.HybridCompute/machines@2021-11-01' existing = {
name: vmName
}
resource association 'Microsoft.Insights/dataCollectionRuleAssociations@2021-09-01-preview' = {
name: associationName
scope: vm
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this Arc server.'
dataCollectionRuleId: dataCollectionRuleId
}
}
ARM 템플릿 파일
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "The name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.HybridCompute/machines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this Arc server.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
매개 변수 파일
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-hybrid-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
DCR을 편집하려면 이전 섹션에서 설명한 메서드 중 하나를 사용하여 수정된 버전의 JSON을 통해 DCR을 만들 수 있습니다.
메트릭 내보내기에 대한 데이터 수집 규칙을 만들려면 Azure Portal, Azure CLI, PowerShell, API 또는 ARM 템플릿을 사용합니다.
Azure Portal의 모니터 메뉴에서 데이터 수집 규칙을 선택한 다음 만들기를 선택합니다.
플랫폼 메트릭 데이터를 수집하기 위한 DCR을 만들려면 페이지 상단의 링크를 선택합니다.
데이터 수집 규칙 만들기 페이지에서 규칙 이름을 입력하고 DCR에 대한 구독, 리소스 그룹 및 지역을 선택합니다.
스토리지 계정이나 Event Hubs로 메트릭을 보내려면 관리 ID 사용을 선택합니다.
다음을 선택합니다.
리소스 페이지에서 리소스 추가를 선택하여 메트릭을 수집하려는 리소스를 추가합니다.
다음을 선택하여 수집 및 제공 탭으로 이동합니다.
새 데이터 흐름 추가를 선택합니다
이전 단계에서 선택한 리소스의 리소스 종류가 자동으로 선택됩니다. 나중에 이 규칙을 사용하여 여러 리소스 종류에서 메트릭을 수집하려면 더 많은 리소스 종류를 추가합니다.
다음 대상을 선택하여 대상 탭으로 이동합니다.
Log Analytics 작업 영역으로 메트릭을 보내려면 대상 유형 드롭다운에서 Azure Monitor 로그를 선택합니다.
- 메트릭을 전송할 구독과 Log Analytics 작업 영역을 선택합니다.
Event Hubs로 메트릭을 보내려면 대상 유형 드롭다운에서 Event Hubs를 선택합니다.
- 구독, Event Hub 네임스페이스, Event Hub 인스턴스 이름을 선택합니다.
스토리지 계정으로 메트릭을 보내려면 대상 유형 드롭다운에서 스토리지 계정을 선택합니다.
- 메트릭을 저장할 구독, 스토리지 계정, Blob 컨테이너를 선택합니다.
참고 항목
스토리지 계정이나 Event Hubs에 메트릭을 전송하려면 메트릭을 생성하는 리소스, DCR, 스토리지 계정 또는 Event Hubs가 모두 동일한 지역에 있어야 합니다.
Log Analytics 작업 영역으로 메트릭을 보내려면 DCR이 Log Analytics 작업 영역과 동일한 지역에 있어야 합니다. 메트릭을 생성하는 리소스는 어느 지역에나 있을 수 있습니다.
대상으로 스토리지 계정 또는 Event Hubs를 선택하려면 기본 탭에서 DCR에 대한 관리 ID를 사용하도록 설정해야 합니다.
저장을 선택한 다음 검토 + 만들기를 선택합니다.
컬렉션 규칙 사양을 포함하는 JSON 파일을 만듭니다. 자세한 내용은 DCR 사양을 참조하세요. 샘플 JSON 파일은 샘플 메트릭 내보내기 JSON 개체를 참조하세요.
Important
규칙 파일은 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'}" ]
스토리지 계정 및 Event Hubs 대상의 경우 --identity "{type:'SystemAssigned'}"
를 사용하여 DCR에 대한 관리 ID를 사용하도록 설정해야 합니다. Log Analytics 작업 영역에는 ID가 필요하지 않습니다.
예를 들면 다음과 같습니다.
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과 리소스 간 연결을 만드는 역할을 할당하는 데 사용하려면 DCR의 id
와 principalId
를 복사합니다.
"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에서 사용하는 관리 ID에는 대상이 스토리지 계정이나 Event Hubs인 경우 대상에 대한 쓰기 권한이 있어야 합니다.
규칙의 관리되는 엔터티에 대한 권한을 부여하려면 엔터티에 적절한 역할을 할당합니다.
다음 표는 각 대상 유형에 필요한 역할을 보여 줍니다.
대상 유형 |
역할 |
Log Analytics 작업 영역 |
필요하지 않음 |
Azure Storage 계정 |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
역할 할당에 대한 자세한 내용은 관리 ID에 Azure 역할 할당을 참조하세요.
CLI를 사용하여 관리 ID에 역할을 할당하려면 az role assignment create
를 사용합니다. 자세한 내용은 역할 할당 - 만들기를 참조하세요.
DCR의 관리 ID에 적절한 역할을 할당합니다.
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>
다음 예에서는 스토리지 계정에 대한 DCR의 관리 ID에 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
데이터 수집 규칙 연결 만들기
데이터 수집 규칙을 만든 후에는 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 개체를 참조하세요.
PowerShell을 사용하여 메트릭에 대한 데이터 수집 규칙을 만들려면 New-AzDataCollectionRule
명령을 사용합니다. 자세한 내용은 New-AzDataCollectionRule을 참조하세요.
New-AzDataCollectionRule -Name
-ResourceGroupName
-JsonFilePath
예를 들면 다음과 같습니다.
New-AzDataCollectionRule -Name dcr-powershell-hub -ResourceGroupName rg-001 -JsonFilePath dcr-storage-account.json
DCR과 리소스 간의 연결을 만드는 역할을 할당하는 데 사용하기 위해 DCR의 id
와 IdentityPrincipalId
를 복사합니다.
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에서 사용하는 관리 ID에는 대상이 스토리지 계정이나 Event Hubs인 경우 대상에 대한 쓰기 권한이 있어야 합니다.
규칙의 관리되는 엔터티에 대한 권한을 부여하려면 엔터티에 적절한 역할을 할당합니다.
다음 표는 각 대상 유형에 필요한 역할을 보여 줍니다.
대상 유형 |
역할 |
Log Analytics 작업 영역 |
필요하지 않음 |
Azure Storage 계정 |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
자세한 내용은 관리 ID에 Azure 역할 할당을 참조하세요.
PowerShell을 사용하여 관리 ID에 역할을 할당하려면 New-AzRoleAssignment를 참조하세요.
New-AzRoleAssignment
를 사용하여 DCR의 관리 ID에 적절한 역할을 할당합니다.
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
다음 예에서는 구독 수준에서 DCR의 관리 ID에 Azure Event Hubs Data Sender
역할을 할당합니다.
New-AzRoleAssignment -ObjectId ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 -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 Monitor를 사용하여 인증하는 방법에 대한 자세한 내용은 Azure Monitor 요청 인증을 참조하세요.
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에서 사용하는 관리 ID에는 대상이 스토리지 계정이나 Event Hubs인 경우 대상에 대한 쓰기 권한이 있어야 합니다.
규칙의 관리되는 엔터티에 대한 권한을 부여하려면 엔터티에 적절한 역할을 할당합니다.
다음 표는 각 대상 유형에 필요한 역할을 보여 줍니다.
대상 유형 |
역할 |
Log Analytics 작업 영역 |
필요하지 않음 |
Azure Storage 계정 |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
자세한 내용은 관리 ID에 Azure 역할 할당을 참조하세요.
REST를 사용하여 관리 ID에 역할을 할당하려면 역할 할당 - 만들기를 참조하세요.
데이터 수집 규칙 연결 만들기
데이터 수집 규칙을 만든 후에는 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를 만든 후 첫 번째 플랫폼 메트릭 데이터가 Log Analytics 작업 영역에 나타나는 데 최대 30분이 걸립니다. 데이터 흐름이 시작되면 Log Analytics 작업 영역, 스토리지 계정 또는 Event Hubs로 흐르는 플랫폼 메트릭 시계열의 대기 시간은 리소스 종류에 따라 약 3분입니다.