요청 시 전송 수행

업데이트 날짜: 2015년 11월

Microsoft.WindowsAzure.Diagnostics.Management의 클래스를 사용하여 진단 데이터의 요청 시 전송을 수행할 수 있습니다. 역할 내에서 실행되는 코드, Microsoft Azure에서 실행되는 다른 응용 프로그램 또는 Microsoft Azure 외부의 응용 프로그램에서 요청 시 전송을 완료할 수 있습니다. 이 섹션의 단계를 완료하기 전에 진단 모니터를 초기화하고 사용할 저장소 계정을 지정해야 합니다. 자세한 방법은 Windows Azure에서 진단 사용을 참조하십시오.

Microsoft Azure 외부에서 실행되는 코드에서 요청 시 전송을 수행할 경우 포털에 표시되는 응용 프로그램의 배포 식별자, 역할 이름, 역할 인스턴스 이름을 적어서 수동으로 가져와야 합니다.

  1. 포털에 로그온합니다.

  2. 계산 서비스를 클릭한 다음 응용 프로그램에 해당하는 노드를 확장합니다.

  3. 응용 프로그램의 배포를 클릭합니다.

  4. 속성 창에서 ID 값을 기록합니다. 이 값이 호스팅된 서비스의 배포 식별자입니다.

  5. 배포 노드를 확장한 다음 진단 데이터를 수집할 역할에 대한 노드를 클릭합니다.

  6. 속성 창에서 이름 값을 기록합니다. 이 값은 역할의 이름입니다.

  7. 역할 노드를 확장한 다음 역할 인스턴스에 대한 노드를 클릭합니다.

  8. 속성 창에서 이름 값을 기록합니다. 이 값은 역할 인스턴스의 식별자입니다.

실행 중인 역할 내에서 요청 시 전송을 수행하려는 경우 RoleInstanceDiagnosticManager 클래스의 속성을 사용할 수 있습니다.

note참고
이 지침은 Azure SDK 2.4 이하 버전에 적용됩니다.

  1. 전송을 수행하는 데 사용할 프로그램의 원본 파일을 엽니다.

  2. 프로젝트가 Microsoft.WindowsAzure.Diagnostics.dll 파일을 참조하며, 이 파일에 다음 using 문이 추가되어 있는지 확인합니다.

    
    using Microsoft.WindowsAzure.Diagnostics; 
    using Microsoft.WindowsAzure.Diagnostics.Management;
    
    
  3. 구성에서 저장소 자격 증명을 가져옵니다. 다음 코드 예제에 Parse 메서드를 사용하여 자격 증명을 가져오는 방법이 나와 있습니다.

    var storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=<AccountKey>");
    

    연결 문자열 사용에 대한 자세한 내용은 How to Configure Connection Strings을 참조하십시오.

  4. DeploymentDiagnosticManager의 인스턴스를 만듭니다. 다음 코드 예제는 저장소 계정 개체 및 배포 식별자를 사용하여 새 인스턴스를 만드는 방법을 보여 줍니다.

    
    var diagManager = new DeploymentDiagnosticManager(storageAccount, "<DeploymentID>"); 
    
    

    여기서 <DeploymentID>는 이전 단계에서 구한 값입니다.

  5. 역할 인스턴스 진단 관리자를 만듭니다. 다음 코드 예제는 이 진단 관리자를 만드는 방법을 보여 줍니다.

    var roleInstDiagMgr = diagManager.GetRoleInstanceDiagnosticManager("<RoleName>", "<RoleInstanceID>");
    

    여기서 <RoleName> 및 <RoleInstanceID>는 이전 단계에서 구한 값입니다.

  6. 전송할 로그를 지정합니다. 다음 코드 예제는 Microsoft Azure 로그를 전송하는 방법을 보여 줍니다.

    DataBufferName dataBuffersToTransfer = DataBufferName.Logs;
    

    추가할 수 있는 데이터 버퍼에 대한 자세한 내용은 DataBufferName을 참조하십시오.

  7. 전송 옵션을 지정합니다. 다음 코드 예제는 3시간 전부터 지금까지의 항목을 전송하는 방법을 보여 줍니다.

    
    OnDemandTransferOptions transferOptions = new OnDemandTransferOptions();
    transferOptions.NotificationQueueName = "wad-on-demand-transfers";
    var timeInterval = new TimeSpan(3, 0, 0);
    transferOptions.From = DateTime.UtcNow.Subtract(timeInterval);
    transferOptions.To = DateTime.UtcNow;
    
    

    전송 옵션에 대한 자세한 내용은 OnDemandTransferOptions를 참조하십시오.

  8. 데이터 전송을 요청합니다. 다음 코드 예제는 정의된 데이터 버퍼 및 전송 옵션을 사용하여 전송을 시작하는 방법을 보여 줍니다.

    Guid requestID = roleInstDiagMgr.BeginOnDemandTransfer(dataBuffersToTransfer, transferOptions);
    

참고 항목

표시: