다음을 통해 공유


WCF 호출 메트릭을 사용하여 기록 모니터링

WCF 호출 기록 섹션에는 AppFabric에서 관리되는 .NET Framework 4 WCF 및 WF 서비스로 들어오는 WCF 호출에 대한 기록 메트릭이 표시됩니다. 완료오류 요약 메트릭은 수신된 WCF 호출의 결과로서 성공 및 실패의 누적 합계를 제공합니다. WCF 호출 기록 제목 표시줄 내에서 요약 메트릭 링크를 제외한 다른 부분이나 아래쪽 화살표를 클릭하여 WCF 호출 기록 섹션을 확장하면 완료된 호출 또는 서비스 예외가 포함된 상위 5개 서비스를 표시할 수 있습니다. 이 작업은 오류 - 일반 유형별 그룹 수도 표시합니다. 이 상위 수준 요약 값과 내림차순 상호 관련된 세부 보기를 사용하여 서비스에 대한 WCF 호출의 기록을 모니터링할 수 있습니다.

WCF 호출 기록 메트릭

AppFabric 대시보드의 WCF 호출 기록 섹션에서는 제목 WCF 호출 기록이 있는 음영 처리된 머리글 상자에 WCF 서비스 호출의 요약 보기를 제공합니다. 다음 메트릭은 성공적으로 완료된 WCF 호출 및 완료되지 않은 호출의 빠른 개요 보기를 제공합니다.

  • 완료 요약 메트릭은 오류나 예외를 생성하지 않고 완료되어 OperationCompleted WCF 이벤트 유형을 생성한 수신된 WCF 호출의 누적 합계입니다.

  • 오류 요약 메트릭은 전체 WCF 스택에서 발생하는 모든 WCF 관련 예외 및 사용자 정의 오류를 나타내는 누적 합계입니다. 이 수에는 실패한 호출과 오류가 발생한 호출로 인해 발생하는 오류가 포함되고 이에 제한되지 않습니다.

  • 제한 적중 메트릭은 적용 가능한 범위 내에 배포된 서비스에서 발생한 WCF 제한 기간 수를 제공합니다. 단일 제한 기간은 WCF 제한 임계값이 초과될 때 시작됩니다. 처리량이 제한 임계값의 70% 미만으로 감소할 때 종료됩니다.

아래 요약 메트릭은 서비스 수를 특정 호출 범주 내에 내림차순으로 요약하는 후속 서비스 메트릭입니다.

  • 완료된 호출 - 서비스별 그룹(상위 5) - 지정된 기간 내에 총 완료된 WCF 호출 수가 가장 많은 상위 5개 서비스입니다.

  • 서비스 예외 - 서비스별 그룹(상위 5) - 지정된 기간 내에 총 예외 수가 가장 많은 상위 5개 서비스입니다.

  • 오류 - 일반 유형별 그룹 – 전체 서비스 예외 또는 사용자 정의 오류 수의 그룹입니다. 서비스 예외 수는 가장 일반적인 두 가지 원인인 실패한 호출 및 오류가 발생한 호출별로 세분화됩니다. 서비스 예외는 활성화 오류와 같이 실패하거나 오류가 발생한 호출 이외의 문제로 인해 발생할 수도 있습니다.

일부 추적된 WCF 이벤트는 대시보드 내의 완료된 호출 - 서비스별 그룹(상위 5) 또는 서비스 예외 - 서비스별 그룹(상위 5) 열에 포함되지 않습니다. 이 “상위 5” 열에 표시되는 이벤트에는 끝점과 이벤트를 관리하는 내부 AppFabric 서비스에서 내보낸 이벤트가 포함되지 않습니다. 전체 서비스 가상 경로가 포함된 이벤트만 이러한 두 열에 표시됩니다. 콜백 및 서비스 예외와 같이 WCF 채널 스택의 상위에서 생성된 이벤트에는 전체 서비스 가상 경로가 포함되지 않습니다. 전체 서비스 가상 경로가 포함되지 않은 이벤트는 이 카운터에서 제외됩니다. 이렇게 해야 사용자 응용 프로그램이 아니라 사용자 서비스만 해당 카운터 값에 나타납니다.

추적된 이벤트 페이지

추적된 이벤트 페이지를 사용하여 서비스 인스턴스에 대한 WCF 호출의 특정 시퀀스 중에 발생한 이벤트의 기록 보기를 가져올 수 있습니다. 요약 메트릭(예: 완료)을 클릭하거나 WCF 호출 기록 섹션의 열(예: 완료된 호출 열) 아래에서 서비스 링크 중 하나를 클릭하면 추적된 이벤트 페이지로 이동됩니다.

추적된 이벤트 페이지

AppFabric 대시보드 페이지에서 추적된 이벤트 페이지로 이동하기 위해 클릭하는 링크는 추적된 이벤트 페이지에 열거되는 항목이 해당 원래 링크에 특정하도록 WCF 호출 및 이벤트 데이터를 필터링하는 데 사용됩니다. 예를 들어, 서비스 예외 - 서비스별 그룹(상위 5) 열 아래에서 서비스 항목 링크를 클릭하면 추적된 이벤트 페이지로 이동됩니다. 이 페이지에는 AppFabric 대시보드에서 선택된 메트릭과 기간에 해당하는 내보내기 시간 및 서비스 이벤트 유형(이 경우 WCF 예외)별로 필터링된 이벤트가 열거됩니다.

그러나 쿼리 요약 프레임에서 하나 이상의 필드(예: 이벤트) 값을 변경하여 초기 출력을 변경하고 특정 이벤트 유형에 대해 추가로 문제를 해결할 수 있습니다. 예를 들어, 추적된 이벤트 페이지로 이동한 원래 메트릭이 WCF 예외인 경우 이벤트 필드 값을 모든 WCF 이벤트로 변경하고 쿼리 실행을 클릭하면 다른 결과를 볼 수 있습니다.

다음 옵션을 사용하여 표시되는 이벤트 유형을 필터링할 수 있습니다.

  • 모든 WCF 이벤트 - 완료된 WCF 호출, WCF 예외, 실패한 WCF 호출 및 오류가 발생한 WCF 호출을 포함하되 이에 제한되지 않는 모니터링 저장소에서 사용할 수 있는 모든 WCF 이벤트를 표시합니다.

  • 완료된 WCF 호출 - 모든 완료된 WCF 호출을 표시합니다.

  • 모든 WCF 오류 - 오류 수준에서 내보낸 모든 이벤트인 서비스 예외 및 사용자 정의 오류 이벤트를 표시합니다.

  • WCF 예외 - 모든 WCF 서비스 예외를 표시합니다.

  • WCF 사용자 정의 오류 - 오류 수준에서 내보낸 모든 사용자 정의 이벤트를 표시합니다.

  • 실패한 WCF 호출 - 모든 실패한 WCF 호출을 표시합니다.

  • 오류가 발생한 WCF 호출 - 모든 오류가 발생한 WCF 호출을 표시합니다.

  • WCF 제한 적중 - WCF 제한 이벤트를 표시합니다. 각 이벤트는 제한 기간을 나타내고 WCF 제한 임계값이 처음 초과될 때 내보냅니다.

  • 모든 WF 이벤트 - 모든 WF 이벤트를 표시합니다.

자세한 내용은 추적된 이벤트 페이지를 참조하십시오.

WCF 호출 기록 메트릭을 모니터링하여 문제 해결

WCF 호출 기록 섹션을 사용하여 WCF 호출을 .NET Framework 서비스에 대해 모니터링하면 이전 정보를 문제 해결 방법에 결합할 수 있습니다. WCF 호출 기록 섹션을 처음 표시하면 WCF 호출 상태의 상위 요약 보기가 표시됩니다. 발생한 예외, 실패하거나 오류가 발생한 호출별로 WCF 호출 수준에 문제가 있는지 빠르게 확인할 수 있습니다. 서비스 예외 - 서비스별 그룹(상위 5) 또는 오류 - 일반 유형별 그룹 요약 메트릭에 0이 아닌 값이 포함되어 있으면 문제가 발생했을 수 있음을 나타냅니다. 각 요약 메트릭은 상위 수준에서 초기 AppFabric 대시보드 페이지에 요약된 WCF 호출 데이터의 명시적 세부 메트릭을 확인할 수 있는 추적된 이벤트 페이지에 연결됩니다. 이 원시 데이터는 WCF 호출과 관련된 문제를 격리하기 위한 추가적인 정보를 제공합니다.

WCF 호출 기록 섹션을 사용하여 지정된 범위에서 문제에 대해 WCF 또는 WF 서비스에 대한 WCF 호출을 모니터링하는 시나리오를 살펴보겠습니다. 예외 요약 메트릭에 0이 아닌 값이 표시될 경우 위젯을 확장하면 예외의 분석 결과를 상위 5개 서비스까지 볼 수 있습니다. 이를 통해 잠재적 문제가 가장 많은 서비스에 초점을 맞출 수 있습니다. 특정 문제 서비스를 클릭한 다음 열거 페이지로 이동하고 쿼리 값을 변경하면 세부 정보를 지정할 수 있습니다.

WCF 호출 기록 위젯의 오류 요약 머리글에 0이 아닌 값이 포함되어 있어 일부 오류가 발생했음을 의미한다고 가정합니다. WCF 호출 기록 위젯을 확장하고 서비스 예외 - 서비스별 그룹(상위 5) 열 아래쪽을 보면 선택된 기간 동안 예외가 가장 많이 발생한 상위 5개 서비스가 표시됩니다. 오류 - 일반 유형별 그룹 열 아래에서 오류 유형의 분석 결과를 확인할 수도 있습니다. 서비스 예외(대부분 실패하거나 오류가 발생한 호출로 인해 발생) 또는 사용자 정의 오류. 오류나 예외에 대한 자세한 내용을 보려면 서비스 링크 중 하나를 클릭하여 추적된 이벤트 페이지로 이동합니다.

참고

서비스 X가 상위 5개 서비스 중 하나인 경우 여기에 표시됩니다. 이 경우 해당 서비스 링크를 클릭하면 추적된 이벤트 페이지로 이동할 수 있습니다. 서비스 X가 상위 5개 서비스 중 하나가 아닌 경우 섹션 내의 메트릭을 클릭하면 추적된 이벤트 페이지로 이동할 수 있습니다. 해당 페이지로 이동한 후 이에 따라 기존 쿼리를 수정할 수 있습니다(즉, 적절한 서비스 이름 조건 추가).

추적된 이벤트 페이지는 IIS 계층 구조 X의 특정 범위에서 발생한 예외의 기록 보기로 채워집니다. 추적된 이벤트 페이지 내의 목록에서 WCF 예외 이벤트 중 하나를 클릭하여 페이지 아래쪽에 있는 세부 정보 창에 해당 예외의 세부 정보를 표시할 수 있습니다. 세부 정보 창의 개요, 추적된 변수 또는 오류 탭에서 예외에 대한 정보를 볼 수 있습니다. 개요 탭에는 E2EActivityID(종단 간 추적의 상호 관계에 사용됨), EventType, ExceptionTypeName, EventSourceId 및 기타 이벤트 관련 정보와 같은 이벤트에 대한 일반 정보가 포함되어 있습니다. 추적된 변수 탭에서는 이벤트에 저장된 명시적으로 추적된 변수의 값을 보여 줍니다. 오류 탭에서는 사용 가능할 때 오류에 대한 예외 정보를 제공합니다. 이 정보를 사용하면 WCF 예외를 더 잘 이해하고 문제를 해결할 수 있습니다.

WCF 예외에 대한 추가 컨텍스트가 필요한 경우 목록에서 이벤트를 마우스 오른쪽 단추로 클릭하고 추적된 WF 인스턴스 보기를 클릭합니다. 이 기능은 워크플로 서비스에서 내보낸 WCF 서비스 예외에만 사용할 수 있으며, 추적된 WF 인스턴스 페이지에는 부모 인스턴스에 대한 모든 사용 가능한 이벤트가 표시됩니다. 또한 상황에 맞는 메뉴에서 선택하여 WCF 호출에 대한 모든 관련 이벤트 보기를 수행할 수 있습니다. 이렇게 하면 추적된 이벤트 페이지를 새로 고치고 페이지가 초기 이벤트에 관련된 모든 이벤트로 채워집니다.

참고

모든 관련 이벤트 보기 옵션을 사용하려면 응용 프로그램의 모니터링 수준을 종단 간 모니터링 이상으로 설정해야 합니다. 이 수준에서 모니터링 인프라는 종단 간 작업 ID(E2EActivityId)를 서로 연결하는 전송 이벤트를 수집합니다.

또는 서비스 예외 - 서비스별 그룹(상위 5) 열에서 실패한 호출 또는 오류가 발생한 호출 수를 확인할 수 있습니다. 총 실패한 호출 또는 오류가 발생한 호출 수는 섹션 요약 창에 표시되는 총 WCF 예외 수에 포함됩니다. 링크를 클릭하면 추적된 이벤트 페이지로 이동됩니다. 클릭한 링크에 따라 각각 실패한 WCF 호출 또는 오류가 발생한 WCF 호출에 대한 열거된 이벤트 목록이 표시됩니다. 위에서 설명한 대로 열거된 목록에서 호출 이벤트 중 하나를 선택하면 세부 정보 창에 추가 정보가 표시됩니다. 적용 가능한 경우 모든 관련 이벤트 보기 또는 추적된 WF 인스턴스 보기 옵션을 마우스 오른쪽 단추로 클릭하고 선택할 수도 있습니다.

문제를 해결하는 데 도움이 되는 추적된 이벤트의 더욱 자세한 정보를 보는 방법에 대한 자세한 내용은 추적된 이벤트 페이지를 참조하십시오.

WCF 오류 정보 표시

AppFabric에서는 응용 프로그램의 모니터링 수준이 최소한 종단 간 모니터링 수준에서 구성된 경우에만 WCF 기반 오류 정보를 표시합니다. 이 수준에서는 서비스 간 WCF 메시지 흐름 및 WF 이벤트와 WCF 이벤트 간 관계를 캡처합니다. 상태 모니터링 이하의 모니터링 수준에 대해서는 WCF 기반 오류 정보가 다음 섹션에 표시되지 않습니다.

  • AppFabric 대시보드 페이지의 WCF 호출 기록 섹션 내 오류 또는 서비스 예외

  • 추적된 이벤트 페이지의 세부 정보 창에 있는 오류

  • WCF 이벤트를 쿼리 기준의 결과로 표시하는 추적된 이벤트 페이지의 모든 섹션

예를 들어, 추적된 이벤트 페이지의 오류 탭에서는 WCF 전송 이벤트를 사용하여 실패하거나 오류가 발생한 WCF 호출 이벤트에 해당하는 서비스 모델 예외 이벤트에서 예외 정보를 수집합니다. 모니터링되고 있는 응용 프로그램이 종단 간 모니터링 수준 아래의 모니터링 수준을 사용하도록 구성되어 있는 경우 WCF 전송 이벤트는 캡처되지 않습니다. 따라서 세부 정보 창 내부의 오류 탭에 값이 표시되지 않습니다.

종단 간 모니터링 수준을 사용하여 전송 이벤트를 캡처하지만 추가 WF 이벤트를 수집하지 않으려면 다음 단계를 수행합니다.

  1. C:\Windows\Microsoft.NET\Framework(64)\v4.0.xxx\CONFIG\Web.config에서 서버 루트 구성 파일을 엽니다.

  2. <trackingProfile name="HealthMonitoring Tracking Profile"></trackingProfile> 항목을 포함하여 사이에 있는 모든 코드를 클립보드에 복사합니다. 복사할 코드의 예는 다음과 같습니다.

    <trackingProfile name="HealthMonitoring Tracking Profile">
       <workflow activityDefinitionId="*">
    <workflowInstanceQueries>
    <workflowInstanceQuery>
       <states>
    <state name="Started" />
    <state name="Completed" />
    <state name="Terminated" />
    <state name="Canceled" />
    <state name="Unsuspended" />
    <state name="Persisted" />
    <state name="Aborted" />
    <state name="UnhandledException" />
       </states>
    </workflowInstanceQuery>
    </workflowInstanceQueries>
    
    <activityStateQueries>
    <activityStateQuery activityName="*">
    <states>
    <state name="Closed" />
    </states>
    </activityStateQuery>
    </activityStateQueries>
    
    <faultPropagationQueries>
       <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
    </faultPropagationQueries>
    
    <customTrackingQueries>
    <customTrackingQuery name="*" activityName="*" />
    </customTrackingQueries>
    </workflow>
    </trackingProfile>
    
  3. 응용 프로그램의 Web.config 파일을 편집합니다. 다음 단계에서 <trackingProfile> 요소의 내용을 붙여 넣을 위치인 <system.serviceModel><tracking><profiles><trackingProfile>에 대한 완전하고 유효한 요소 중첩이 있는지 확인합니다.

  4. <system.serviceModel><tracking><profiles> 섹션의 시작 부분에 <remove name=”EndToEndMonitoring Tracking Profile” />를 추가합니다.

  5. 같은 섹션에서 방금 추가한 remove 태그의 바로 아래에 2단계에서 클립보드에 복사한 코드 조각을 붙여 넣습니다.

  6. 응용 프로그램의 Web.config 파일에서 텍스트 HealthMonitoring Tracking ProfileEndToEndMonitoring Tracking Profile로 바꿉니다. 파일을 저장하고 편집기를 종료합니다.

  7. 응용 프로그램에 대해 WCF 및 WF 구성 대화 상자에서 슬라이더 컨트롤을 사용하여 응용 프로그램 모니터링 수준종단 간으로 변경합니다. AppFabric에서는 종단 간 추적 프로필 항목으로 가장된 상태 모니터링 수준에 대한 추적 프로필인 응용 프로그램 Web.config 파일의 로컬 종단 간 추적 프로필 항목을 사용합니다.

참고 항목

참조 항목

추적된 이벤트 페이지

  2011-12-05