Event Hubs 및 Storage에 데이터 보내기(미리 보기)
이 문서에서는 AMA(Azure Monitor 에이전트)를 사용하여 Azure Storage 및 Event Hubs에 데이터를 업로드하는 방법을 설명합니다. 이 기능은 미리 보기로 제공됩니다.
Azure Monitor 에이전트는 가상 머신과 같은 IaaS 리소스에서 데이터를 수집하기 위한 새로운 통합 원격 분석 에이전트입니다. 이 미리 보기의 업로드 기능을 사용하여 Log Analytics 작업 영역에 보내는 로그1를 Event Hubs 및 Storage에 업로드할 수 있습니다. 두 데이터 대상 모두 데이터 수집 규칙을 사용하여 에이전트에 대한 수집 설정을 구성합니다.
참고 항목
Azure Diagnostics 확장은 2026년 3월 31일에 더 이상 사용되지 않습니다. 이 날짜 이후 Microsoft는 더 이상 Azure Diagnostics 확장을 지원하지 않습니다.
각주
1: 모든 데이터 형식이 지원되는 것은 아닙니다. 자세한 내용은 지원되는 항목을 참조하세요.
Linux 및 Windows용 Azure Diagnostic Extensions에서 마이그레이션(LAD/WAD)
- Azure Monitor 에이전트는 Log Analytics 작업 영역, Azure Event Hubs 및 Azure Storage를 비롯한 여러 대상으로 데이터를 수집하고 보낼 수 있습니다.
- VM에 설치된 확장을 확인하려면 VM의 설정에서 확장 + 애플리케이션을 선택합니다.
- 중복 데이터를 방지하기 위해 Event Hubs 또는 Azure Storage에 동일한 데이터를 수집하도록 Azure Monitor 에이전트를 설정한 후 LAD 또는 WAD를 제거합니다.
- 스토리지 대신 비용 효율적인 로깅을 위해 Log Analytics 작업 영역에서 보조 계획을 사용하여 테이블을 설정하는 것이 좋습니다.
지원되는 내용
데이터 형식
Windows:
- Windows 이벤트 로그 – eventhub 및 Storage에
- 성능 카운터 – eventhub 및 Storage
- IIS 로그 – 스토리지 Blob에
- 사용자 지정 로그 – 스토리지 Blob에
Linux:
- Syslog – eventhub 및 Storage에
- 성능 카운터 – eventhub 및 Storage에
- 사용자 지정 로그/로그 파일 – Storage에
운영 체제
- Windows 및 Linux의 Azure Monitoring 에이전트에서 지원하는 환경
- 이 기능은 Azure VM에 대해서만 지원되고 지원될 예정입니다. 이를 온-프레미스 또는 Azure Arc 시나리오로 가져올 계획은 없습니다.
지원 되지않는 사항
데이터 형식
- Windows:
- ETW 로그(나중에 릴리스됨)
- Windows 크래시 덤프(계획되지 않았고 지원되지 않을 예정임)
- 애플리케이션 로그(계획되지 않았고 지원되지 않을 예정임)
- .NET 이벤트 원본 로그(계획되지 않았고 지원되지 않을 예정임)
필수 조건
- 가상 머신 또는 가상 머신 확장 집합과 같은 기존 컴퓨팅 리소스입니다.
- Azure Monitor 에이전트가 배포되는 머신에는 시스템 할당 관리 ID를 사용하도록 설정하거나 연결된 사용자 할당 관리 ID가 있어야 합니다. 확장성과 성능을 향상시키려면 사용자 할당 관리 ID 를 사용하는 것이 좋습니다.
- Azure Monitor 에이전트 요구 사항에 설명된 대로 인증에 관리 ID를 사용하도록 Azure Monitor 에이전트를 구성해야 합니다.
- Azure Monitor 에이전트를 통해 데이터를 게시하려는 필요한 스토리지 계정 및/또는 Event Hubs 를 프로비전해야 합니다.
- 적절한 기본 제공 RBAC 역할은 원하는 데이터 대상에 따라 선택한 관리 ID에 할당되어야 합니다.
- 스토리지 테이블:
Storage Table Data Contributor
역할 - 스토리지 Blob:
Storage Blob Data Contributor
역할 - 이벤트 허브:
Azure Event Hubs Data Sender
역할
- 스토리지 테이블:
데이터 수집 규칙을 만듭니다.
이벤트를 수집하고 스토리지 및 이벤트 허브로 보내기 위한 데이터 수집 규칙을 만듭니다.
Azure Portal의 검색 상자에 템플릿을 입력한 다음 사용자 지정 템플릿 배포를 선택합니다.
편집기에서 사용자 고유의 템플릿을 빌드합니다.를 선택합니다.
이 Azure Resource Manager 템플릿을 편집기에 붙여넣습니다.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } }, "dataCollectionRulesName": { "defaultValue": "[concat(resourceGroup().name, 'DCR')]", "type": "String" }, "storageAccountName": { "defaultValue": "[concat(resourceGroup().name, 'sa')]", "type": "String" }, "eventHubNamespaceName": { "defaultValue": "[concat(resourceGroup().name, 'eh')]", "type": "String" }, "eventHubInstanceName": { "defaultValue": "[concat(resourceGroup().name, 'ehins')]", "type": "String" } }, "resources": [ { "type": "Microsoft.Insights/dataCollectionRules", "apiVersion": "2022-06-01", "name": "[parameters('dataCollectionRulesName')]", "location": "[parameters('location')]", "kind": "AgentDirectToStore", "properties": { "dataSources": { "performanceCounters": [ { "streams": [ "Microsoft-Perf" ], "samplingFrequencyInSeconds": 10, "counterSpecifiers": [ "\\Process(_Total)\\Working Set - Private", "\\Memory\\% Committed Bytes In Use", "\\LogicalDisk(_Total)\\% Free Space", "\\Network Interface(*)\\Bytes Total/sec" ], "name": "perfCounterDataSource10" } ], "windowsEventLogs": [ { "streams": [ "Microsoft-Event" ], "xPathQueries": [ "Application!*[System[(Level=2)]]", "System!*[System[(Level=2)]]" ], "name": "eventLogsDataSource" } ], "iisLogs": [ { "streams": [ "Microsoft-W3CIISLog" ], "logDirectories": [ "C:\\inetpub\\logs\\LogFiles\\W3SVC1\\" ], "name": "myIisLogsDataSource" } ], "logFiles": [ { "streams": [ "Custom-Text-logs" ], "filePatterns": [ "C:\\JavaLogs\\*.log" ], "format": "text", "settings": { "text": { "recordStartTimestampFormat": "ISO 8601" } }, "name": "myTextLogs" } ] }, "destinations": { "eventHubsDirect": [ { "eventHubResourceId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs', parameters('eventHubNamespaceName'), parameters('eventHubInstanceName'))]", "name": "myEh1" } ], "storageBlobsDirect": [ { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedPerf", "containerName": "PerfBlob" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedWin", "containerName": "WinEventBlob" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedIIS", "containerName": "IISBlob" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedTextLogs", "containerName": "TxtLogBlob" } ], "storageTablesDirect": [ { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "tableNamedPerf", "tableName": "PerfTable" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "tableNamedWin", "tableName": "WinTable" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "tableUnnamed" } ] }, "dataFlows": [ { "streams": [ "Microsoft-Perf" ], "destinations": [ "myEh1", "blobNamedPerf", "tableNamedPerf", "tableUnnamed" ] }, { "streams": [ "Microsoft-Event" ], "destinations": [ "myEh1", "blobNamedWin", "tableNamedWin", "tableUnnamed" ] }, { "streams": [ "Microsoft-W3CIISLog" ], "destinations": [ "blobNamedIIS" ] }, { "streams": [ "Custom-Text-logs" ], "destinations": [ "blobNamedTextLogs" ] } ] } } ] }
Azure Resource Manager 템플릿에서 다음 값을 업데이트합니다. 샘플은 예제 Azure Resource Manager 템플릿을 참조하세요.
이벤트 허브
값 설명 dataSources
요구 사항에 따라 정의합니다. Windows용 Event Hubs에 직접 업로드하기 위해 지원되는 형식은 performanceCounters
및windowsEventLogs
이고, Linux의 경우performanceCounters
및syslog
입니다.destinations
이벤트 허브에 직접 업로드하는 데 eventHubsDirect
를 사용합니다.eventHubResourceId
이벤트 허브 인스턴스의 리소스 ID입니다.
참고: 이벤트 허브 네임스페이스 리소스 ID가 아닙니다.dataFlows
dataFlows
아래에 대상 이름을 포함합니다.Storage Table
값 설명 dataSources
요구 사항에 따라 정의합니다. Windows용 Storage Table에 직접 업로드하기 위해 지원되는 형식은 performanceCounters
및windowsEventLogs
이고, Linux의 경우performanceCounters
및syslog
입니다.destinations
Table Storage에 직접 업로드하는 데 storageTablesDirect
를 사용합니다.storageAccountResourceId
스토리지 계정의 리소스 ID입니다. tableName
이벤트 데이터가 있는 JSON Blob이 업로드되는 테이블의 이름입니다. dataFlows
dataFlows
아래에 대상 이름을 포함합니다.Storage Blob
값 설명 dataSources
요구 사항에 따라 정의합니다. Windows용 Storage Blob에 직접 업로드하기 위해 지원되는 형식은 performanceCounters
,windowsEventLogs
,iisLogs
,logFiles
이고, Linux의 경우performanceCounters
,syslog
및logFiles
입니다.destinations
Blob Storage에 직접 업로드하는 데 storageBlobsDirect
를 사용합니다.storageAccountResourceId
스토리지 계정의 리소스 ID입니다. containerName
이벤트 데이터가 있는 JSON Blob이 업로드되는 컨테이너의 이름입니다. dataFlows
dataFlows
아래에 대상 이름을 포함합니다.저장을 선택합니다.
DCR 연결 만들기 및 Azure Monitor 에이전트 배포
사용자 지정 템플릿 배포를 사용하여 DCR 연결 및 AMA 배포를 만듭니다.
Azure Portal의 검색 상자에 템플릿을 입력한 다음 사용자 지정 템플릿 배포를 선택합니다.
편집기에서 사용자 고유의 템플릿을 빌드합니다.를 선택합니다.
이 Azure Resource Manager 템플릿을 편집기에 붙여넣습니다.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "vmName": { "defaultValue": "[concat(resourceGroup().name, 'vm')]", "type": "String" }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } }, "dataCollectionRulesName": { "defaultValue": "[concat(resourceGroup().name, 'DCR')]", "type": "String", "metadata": { "description": "Data Collection Rule Name" } }, "dcraName": { "type": "string", "defaultValue": "[concat(uniquestring(resourceGroup().id), 'DCRLink')]", "metadata": { "description": "Name of the association." } }, "identityName": { "type": "string", "defaultValue": "[concat(resourceGroup().name, 'UAI')]", "metadata": { "description": "Managed Identity" } } }, "resources": [ { "type": "Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations", "name": "[concat(parameters('vmName'),'/microsoft.insights/', parameters('dcraName'))]", "apiVersion": "2021-04-01", "properties": { "description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.", "dataCollectionRuleId": "[resourceID('Microsoft.Insights/dataCollectionRules',parameters('dataCollectionRulesName'))]" } }, { "type": "Microsoft.Compute/virtualMachines/extensions", "name": "[concat(parameters('vmName'), '/AMAExtension')]", "apiVersion": "2020-06-01", "location": "[parameters('location')]", "dependsOn": [ "[resourceId('Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations', parameters('vmName'), 'Microsoft.Insights', parameters('dcraName'))]" ], "properties": { "publisher": "Microsoft.Azure.Monitor", "type": "AzureMonitorWindowsAgent", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": true, "settings": { "authentication": { "managedIdentity": { "identifier-name": "mi_res_id", "identifier-value": "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',parameters('identityName'))]" } } } } } ] }
저장을 선택합니다.
문제 해결
다음 섹션을 사용하여 Event Hubs 및 Storage로의 데이터 전송 문제를 해결합니다.
스토리지 계정 Blob Storage에서 데이터를 찾을 수 없음
- 기본 제공 역할
Storage Blob Data Contributor
가 스토리지 계정의 관리 ID와 함께 할당되어 있는지 확인합니다. - 시스템 할당 관리 ID가 VM에 할당되어 있는지 확인합니다.
- AMA 설정에 관리 ID 매개 변수가 있는지 확인합니다.
스토리지 계정 Table Storage에서 데이터를 찾을 수 없음
- 기본 제공 역할
Storage Table Data Contributor
가 스토리지 계정의 관리 ID와 함께 할당되어 있는지 확인합니다. - 시스템 할당 관리 ID가 VM에 할당되어 있는지 확인합니다.
- AMA 설정에 관리 ID 매개 변수가 있는지 확인합니다.
이벤트 허브로 데이터가 흐르지 않음
- 기본 제공 역할
Azure Event Hubs Data Sender
가 이벤트 허브 인스턴스의 관리 ID와 함께 할당되어 있는지 확인합니다. - 시스템 할당 관리 ID가 VM에 할당되어 있는지 확인합니다.
- AMA 설정에 관리 ID 매개 변수가 있는지 확인합니다.
AMA 및 WAD/LAD 수렴
Azure Monitoring 에이전트에서 Application Insights에 대한 데이터 업로드를 지원하나요?
아니요, 이 지원은 로드맵의 일부가 아닙니다. Application Insights는 이제 Log Analytics 작업 영역에서 제공됩니다.
Azure Monitoring Agent는 업로드할 데이터 형식으로 Windows 크래시 덤프를 지원하나요?
아니요, 이 지원은 로드맵의 일부가 아닙니다. Azure Monitoring Agent는 대용량 파일 형식이 아닌 원격 분석 로그를 위한 것입니다.
LINux(LAD) 및 Windows(WAD) 진단 확장이 더 이상 지원되지 않고 사용 중단될 예정임을 의미하나요?
LAD와 WAD는 2026년 3월 31일에 은퇴합니다. 필요한 보안 패치 및 버그/회귀 수정 외에도 WAD/LAD에 대해 계획된 향상된 기능이나 기능 개발은 없습니다. 가능한 한 빨리 Azure Monitor 에이전트로 이동하는 것이 좋습니다.
이벤트 허브 및 스토리지 데이터 대상에 대한 AMA를 구성하는 방법
현재 구성 환경은 DCR API를 사용합니다.
WAD 및 LAD에서 계속 적극적으로 개발하려고 하나요?
WAD 및 LAD에는 앞으로 보안/패치만 제공됩니다. 대부분의 엔지니어링 비용은 Azure Monitoring Agent에 사용되었습니다. 모든 유용한 기능을 활용하려면 Azure Monitoring Agent로 마이그레이션하는 것이 좋습니다.
참고 항목
- 데이터 수집 규칙을 만드는 방법에 대한 자세한 내용은 Azure Monitor 에이전트를 사용하여 가상 머신에서 데이터 수집을 참조하세요.