Azure Traffic Manager에서 리소스 로깅 사용

이 문서에서는 Traffic Manager 프로필에 대한 진단 리소스 로그 및 액세스 로그 데이터의 수집을 사용하도록 설정하는 방법에 대해 설명합니다.

Azure Traffic Manager 리소스 로그는 Traffic Manager 프로필 리소스의 동작에 대한 인사이트를 제공합니다. 예를 들어 프로필의 로그 데이터를 사용하여 개별 프로브에서 엔드포인트에 대해 시간이 초과된 이유를 확인할 수 있습니다.

필수 조건

Azure Cloud Shell

Azure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다.

Azure Cloud Shell을 시작하려면 다음을 수행합니다.

옵션 예제/링크
코드 또는 명령 블록의 오른쪽 상단에서 시도를 선택합니다. 시도를 선택해도 코드 또는 명령이 Cloud Shell에 자동으로 복사되지 않습니다. Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.com으로 이동하거나 Cloud Shell 시작 단추를 선택하여 브라우저에서 Cloud Shell을 엽니다. Button to launch Azure Cloud Shell.
Azure Portal의 오른쪽 위에 있는 메뉴 모음에서 Cloud Shell 단추를 선택합니다. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell을 사용하려면:

  1. Cloud Shell을 시작합니다.

  2. 코드 블록(또는 명령 블록)에서 복사 단추를 선택하여 코드 또는 명령을 복사합니다.

  3. Windows 및 Linux에서 Ctrl+Shift+V를 선택하거나 macOS에서 Cmd+Shift+V를 선택하여 코드 또는 명령을 Cloud Shell 세션에 붙여넣습니다.

  4. Enter를 선택하여 코드 또는 명령을 실행합니다.

PowerShell을 로컬로 설치하고 사용하도록 선택하는 경우 이 문서에는 Azure PowerShell 모듈 버전 5.4.1 이상이 필요합니다. 설치되어 있는 버전을 확인하려면 Get-Module -ListAvailable Az을 실행합니다. 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요. 또한 PowerShell을 로컬로 실행하는 경우 Connect-AzAccount를 실행하여 Azure와 연결해야 합니다.

리소스 로깅 사용

  1. Traffic Manager 프로필 검색:

    리소스 로깅을 사용하도록 설정하려면 Traffic Manager 프로필의 ID가 필요합니다. Get-AzTrafficManagerProfile을 사용하여 리소스 로깅을 사용하도록 설정하려는 Traffic Manager 프로필을 검색합니다. 출력에 Traffic Manager 프로필의 ID 정보가 포함되어 있습니다.

    Get-AzTrafficManagerProfile -Name <TrafficManagerprofilename> -ResourceGroupName <resourcegroupname>
    
  2. Traffic Manager 프로필에 대한 리소스 로깅 사용:

    이전 단계에서 New-AzDiagnosticSetting을 통해 가져온 ID를 사용하여 Traffic Manager 프로필에 대한 리소스 로깅을 사용하도록 설정합니다. 다음 명령은 Traffic Manager 프로필에 대한 자세한 정보 로그를 지정된 Azure Storage 계정에 저장합니다.

    $subscriptionId = (Get-AzContext).Subscription.Id
    $metric = @()
    $log = @()
    $categories = Get-AzDiagnosticSettingCategory -ResourceId  <TrafficManagerprofileResourceId>
    $categories | ForEach-Object {if($_.CategoryType -eq "Metrics"){$metric+=New-AzDiagnosticSettingMetricSettingsObject -Enabled $true -Category $_.Name -RetentionPolicyDay 7 -RetentionPolicyEnabled $true} else{$log+=New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category $_.Name -RetentionPolicyDay 7 -RetentionPolicyEnabled $true}}
    New-AzDiagnosticSetting -Name <DiagnosticSettingName> -ResourceId <TrafficManagerprofileResourceId> -StorageAccountId <storageAccountId> -Log $log -Metric $metric
    
    
  3. 진단 설정 확인:

    Get-AzDiagnosticSetting을 사용하여 Traffic Manager 프로필에 대한 진단 설정을 확인합니다. 다음 명령은 리소스에 대해 기록되는 범주를 표시합니다.

    Get-AzDiagnosticSetting -ResourceId <TrafficManagerprofileResourceId>
    

    Traffic Manager 프로필 리소스와 연결된 모든 로그 범주가 '사용'으로 표시되는지 확인합니다. 또한 스토리지 계정이 올바르게 설정되어 있는지도 확인합니다.

로그 파일 액세스

로그 파일에 액세스하려면 다음 단계를 따릅니다.

  1. Azure Portal에 로그인합니다.

  2. 포털에서 Azure Storage 계정으로 이동합니다.

  3. Azure Storage 계정 왼쪽 창의 데이터 스토리지에서 컨테이너를 선택합니다.

  4. 컨테이너의 경우 $logs를 선택하고 PT1H.json 파일로 이동한 후 다운로드를 선택하여 이 로그 파일의 복사본을 다운로드하고 저장합니다.

    Access log files of your Traffic Manager profile from a blob storage

Traffic Manager 로그 스키마

Azure Monitor를 통해 사용할 수 있는 모든 리소스 로그는 최상위 공통 스키마를 공유하며, 각 서비스가 자체 이벤트에 대한 고유한 속성을 유연하게 내보낼 수 있습니다. 최상위 수준 리소스 로그 스키마는 Azure 리소스 로그에 지원되는 서비스, 스키마 및 범주를 참조하세요.

다음 표에는 Azure Traffic Manager 프로필 리소스와 관련된 로그 스키마가 나와 있습니다.

필드 이름 필드 유형 정의 예시
EndpointName 문자열 상태가 기록되고 있는 Traffic Manager 엔드포인트의 이름입니다. myPrimaryEndpoint
상태 문자열 검색된 Traffic Manager 엔드포인트의 상태입니다. 상태는 위로 또는 아래로일 수 있습니다. 위로

다음 단계