다음을 통해 공유


응용 프로그램 모니터링

이 섹션에서는 AppFabric 대시보드를 사용하여 WCF 및/또는 WF 서비스가 포함된 .NET Framework 응용 프로그램의 상태와 수명을 모니터링하는 방법에 대해 설명합니다. AppFabric 대시보드는 Windows Server AppFabric 내에서 .NET Framework 버전 4 서비스를 모니터링 및 문제 해결하는 기본 지점입니다. AppFabric 대시보드 내에 제공된 데이터는 서비스에 대한 라이브(실시간) 및 기록 메트릭을 제공합니다. 라이브 메트릭은 지속적 워크플로에 대한 현재 정보를 제공하고 상태를 제어하는 데 사용됩니다. 대시보드의 기록 메트릭은 특정 기간 동안 서비스 상태에 대한 표시 유형을 제공합니다.

AppFabric 대시보드는 AppFabric에서 관리되는 .NET Framework 서비스의 상태를 더 철저하게 이해하는 데 도움이 되도록 다음과 같은 정보를 제공합니다.

  • AppFabric 대시보드는 지속적 워크플로 인스턴스를 추적하고 실행 중(활성 또는 유휴)이거나 일시 중단된 인스턴스 수에 대한 상태 데이터를 제공합니다. AppFabric 대시보드에서는 각각의 지속된 WF 인스턴스를 관찰하기 위한 드릴다운 기능을 제공하고 지속된 워크플로에 대해 자체 명령을 실행하여 실행을 제어할 수 있습니다.

  • WF 서비스는 AppFabric에서 정상적인 실행 중에 서비스가 내보내는 이벤트를 저장하여 다양한 표시 수준으로 추적됩니다. AppFabric 대시보드에서는 상태 모니터링 이상의 수준에서 모니터링을 사용하도록 설정한 WF 서비스의 기록 상태에 대한 표시 유형을 제공합니다.

  • .NET Framework의 모든 WCF 및 WF 서비스는 클라이언트와 기타 서비스에 대한 통신에 WCF를 사용합니다. AppFabric 대시보드는 수신된 WCF 호출의 결과로서 성공 및 예외의 누적 합계를 모니터링하고 표시합니다. 또한 서비스 예외와 연결된 실패하거나 오류가 발생한 호출에 대한 정보를 표시합니다.

AppFabric 대시보드는 동일한 지속성 저장소와 모니터링 저장소를 사용하도록 구성된 서버 팜의 원격 AppFabric 서버 및 로컬 AppFabric 서버에 배포된 서비스에 대한 메트릭을 제공합니다. AppFabric을 사용하여 로컬 서버 또는 모든 서버별로 메트릭을 필터링할 수 있습니다. AppFabric 대시보드를 사용하여 표시된 데이터의 시간 범위를 선택된 서버의 모니터링 저장소에 대한 시간, 일, 주 단위 또는 전체 시간 기록 단위로 조정할 수 있습니다.

AppFabric 대시보드 섹션

AppFabric 대시보드는 지속된 WF 인스턴스, WCF 호출 기록WF 인스턴스 기록의 3가지 기본 섹션으로 구분됩니다. 각 섹션에서는 특정 기능을 제공하고 이러한 섹션을 논리적으로 결합하여 서비스 수명이나 발생한 문제에 대해 보다 세부적으로 파악할 수 있습니다. 라이브 또는 기록 데이터는 다양한 섹션에서 제공됩니다. 오른쪽 위에서 해당하는 위쪽 및 아래쪽 화살표를 클릭하여 섹션을 축소하거나 확장할 수 있습니다.

고유 요약 메트릭은 각 섹션 내의 서로 다른 섹션에 표시됩니다. 예를 들어, WCF 호출 기록 섹션에는 완료, 오류, 제한 적중 등 3가지 요약 호출 메트릭이 있습니다. 요약 값을 클릭하면 해당 섹션에 관련된 드릴다운 페이지로 이동합니다. WCF 호출 기록 섹션에서 3개 요약 메트릭 중 하나를 클릭하면 추적된 이벤트 페이지로 이동합니다. 3개 메트릭이 모두 동일한 페이지로 이동되지만 각 메트릭이 모니터링 저장소에 저장된 이벤트 데이터에 대한 특정 쿼리로 매핑되므로 표시되는 데이터는 다를 수 있습니다. 다음 목록에서는 각 섹션을 비롯하여 요약 값과 메트릭 페이지 간의 관계에 대해 설명합니다.

Dublin 대시보드

  • 지속된 WF 인스턴스. 이 섹션에서는 AppFabric 대시보드가 표시될 때 지속성 저장소의 상태를 표시하여 활성, 유휴 또는 일시 중단과 같이 지속적 워크플로 서비스 인스턴스의 "라이브" 요약을 표시합니다. 모니터링을 사용하도록 추가로 구성된 지속적 워크플로의 경우 해당 기록 메트릭이 다른 2개 AppFabric 대시보드 섹션에도 반영됩니다. 이 요약 링크를 클릭하면 해당하는 지속된 WF 인스턴스 페이지로 이동합니다. 지속된 WF 인스턴스 섹션을 확장하면 활성/유휴 또는 일시 중단 인스턴스가 가장 많이 포함된 상위 5개의 활성/유휴 또는 일시 중단 .NET Framework 4 워크플로 서비스가 표시됩니다. 지속된 워크플로를 모니터링하는 방법에 대한 자세한 내용은 지속적 워크플로의 실시간 모니터링을 참조하십시오.

    참고

    AppFabric에서는 WCF 서비스 인스턴스의 지속성을 지원하지 않습니다. 워크플로(WF) 서비스 인스턴스에서만 AppFabric 지속성 기능을 사용할 수 있습니다.

  • WCF 호출 기록. 이 섹션에는 모니터링이 설정된 .NET Framework WCF 및 WF 서비스의 WCF 호출 기록 요약이 표시됩니다. 기간 드롭다운 목록에서 선택된 시간 프레임 내의 모든 WCF 완료된 호출, 오류제한 적중의 요약을 제공합니다. 이 요약 링크를 클릭하면 원래 범주에 관련된 쿼리 결과 데이터가 있는 해당하는 추적된 이벤트 페이지로 이동합니다. WCF 호출 기록 섹션을 확장하면 WCF 완료된 호출 및 WCF 서비스 예외가 가장 많이 포함된 상위 5개 서비스가 표시됩니다. 또한 서비스 예외(대부분 실패하거나 오류가 발생한 호출로 인해 발생) 및 사용자 정의 오류별 오류의 분석 결과를 제공합니다. 자세한 내용은 WCF 호출 메트릭을 사용하여 기록 모니터링을 참조하십시오.

  • WF 인스턴스 기록. 이 섹션에는 모니터링이 설정된 .NET Framework 4 워크플로 서비스 인스턴스에 대해 기간 드롭다운 목록에서 선택한 시간 프레임 내의 활성화, 실패완료 기록 요약이 표시됩니다. 이 요약 링크를 클릭하면 원래 범주에 관련된 쿼리 결과 데이터가 있는 해당하는 추적된 WF 인스턴스 페이지로 이동합니다. WF 인스턴스 기록 섹션을 확장하면 인스턴스 활성화오류가 있는 인스턴스 수가 가장 많은 상위 5개의 WF 서비스가 표시됩니다. 또한 오류가 있는 인스턴스 수를 결과(복구됨 및 복구되지 않음)별로 분석합니다. 자세한 내용은 워크플로 메트릭을 사용한 기록 모니터링을 참조하십시오.

AppFabric 대시보드 메트릭

AppFabric 대시보드 메트릭은 IIS 계층 구조의 선택된 수준이나 "범위"에 있는 WAS(Windows Process Activation Service) 호스트된 .NET Framework 4 WCF 및 WF 서비스에 대해 표시됩니다. 서버, 사이트 및 응용 프로그램과 같은 다양한 범위 수준이 있습니다. IIS 관리자 연결 창(왼쪽 창)의 IIS 계층 구조에서 서버, 사이트 또는 응용 프로그램을 선택하여 범위를 결정합니다. 섹션에 표시되는 메트릭 컬렉션은 모든 범위에 대해 동일합니다. 즉, 모든 범위에서 동일한 메트릭 이름이 표시되지만 값은 범위에 포함된 항목에 따라 변경됩니다. IIS 계층 구조에서 선택된 수준을 변경하면 서버나 사이트에 있는 모든 서비스 인스턴스의 메트릭을 표시할 수도 있고 선택된 응용 프로그램에 관련된 메트릭만 표시할 수도 있습니다. 특정 뷰에 표시되는 모니터링 데이터 양은 해당 특정 범위에 대한 WCF 및 WF 구성 대화 상자 내의 모니터링 탭에 구성된 값과 일치합니다.

참고

참가하는 응용 프로그램의 모니터링 수준이 상태 모니터링 이상으로 설정된 경우 AppFabric 대시보드에 표시되는 데이터 양은 변경되지 않습니다. 그러나 모니터링이 설정된 다양한 수의 서비스를 포함하도록 범위를 변경하면 메트릭이 변경됩니다.

범위 및 메트릭 구성에 대한 자세한 내용은 서버, 사이트, 응용 프로그램에 대해 WCF 및 WF 구성: 모니터링 탭서버, 사이트, 응용 프로그램 및 가상 디렉터리의 구성 대화 상자를 참조하십시오.

모니터링 및 지속성 기본값

.NET Framework 4 서비스가 AppFabric에 설치될 때 다음 2개 모니터링 기본값이 자동으로 구성됩니다. 서버, 사이트, 응용 프로그램 또는 서비스 구성 대화 상자에서 모니터링 탭을 사용하여 설정을 변경할 수 있습니다. 자세한 내용은 서버, 사이트, 응용 프로그램에 대해 WCF 및 WF 구성: 모니터링 탭서비스 구성: 모니터링 탭을 참조하십시오.

  • 모니터링 수준. 기본적으로 모니터링은 모든 서비스에 대해 설정됩니다. 기본 모니터링 수준은 5개 모니터링 설정(문제 해결, 종단 간 모니터링, 상태 모니터링, 오류만해제) 중 중간인 상태 모니터링으로 구성됩니다. 상태 모니터링은 응용 프로그램 메트릭의 상태 모니터링을 매일 수행하는 경우 최상의 성능을 제공합니다. 또한 이 수준은 대시보드에서 사용할 모든 메트릭에 대한 최소 요구 사항입니다. 이 수준에는 서비스, WCF/WF 이벤트 및 기타 이벤트 간의 메시지 흐름 추적이 포함됩니다. 또한 간단하게 표시되는 오류만 수준의 오류를 포함하여 간소화된 문제 해결에 도움을 줍니다. 문제가 발생하면 더 자세한 수준의 모니터링을 사용하도록 설정하여 모니터링 데이터 양을 늘리고 문제를 해결한 다음 모니터링 수준을 기본 상태 모니터링 설정으로 복원할 수 있습니다. 모니터링 수준 및 모니터링 요구 사항에 가장 적절한 수준을 선택하는 방법에 대한 자세한 내용은 모니터링 구성을 참조하십시오.

    모니터링 데이터는 이벤트 컬렉션 서비스를 통해 수집되고 DefaultMonitoringConnectionString 연결 문자열을 사용하여 기본 모니터링 저장소에 기록됩니다. 이 데이터는 추적된 이벤트 페이지에 표시되는 내용과 일치합니다. 모니터링 탭에서 데이터베이스 이벤트 컬렉션 사용은 기본적으로 설정되고 추적된 이벤트 페이지에는 구성된 모니터링 저장소에서 사용할 수 있는 모든 데이터가 표시됩니다. 이벤트 컬렉션을 사용하지 않도록 설정하면 새 이벤트가 더 이상 추가로 표시되지 않습니다. 그러나 과거에 추적된 이벤트가 저장소에 있으면 추적된 이벤트 페이지에 계속 표시됩니다. 이러한 이전 이벤트가 표시되지 않도록 하려면 구성에서 기존 연결 문자열을 수동으로 제거해야 합니다. 자세한 내용은 이벤트 컬렉션 서비스 구성을 참조하십시오.

    특정 수준의 모니터링을 구성할 때 해당 수준의 일치하는 기본 추적 프로필을 사용하도록 설정됩니다. 추적 프로필은 워크플로 인스턴스에서 얻으려는 정보 및 이벤트 유형에 대한 선언적 필터 정의입니다. 기본 프로필이 모니터링 요구 사항을 충족하지 않는 경우 사용자 지정 추적 프로필을 작성할 수 있습니다. 추적 프로필 및 추적 프로필 구성 방법에 대한 자세한 내용은 추적 구성을 참조하십시오.

  • 진단 메시지 로깅 및 추적. 데이터베이스 이벤트 컬렉션모니터링 수준과 달리 진단 메시지 로깅 및 추적은 기본적으로 사용하지 않도록 설정됩니다. 이 기능은 데이터를 모니터링 저장소에 보내지 않고 서비스 추적 뷰어 유틸리티에서 볼 수 있는 구성 파일에 보냅니다. 진단 메시지 로깅 및 추적 설정은 대시보드에 표시되는 내용에 영향을 미치지 않으며, AppFabric 대시보드 이외의 추가적인 메커니즘으로, .NET Framework 추적 및 로깅 메커니즘을 사용하여 문제 해결에 도움을 줍니다. 이 기능 구성에 대한 자세한 내용은 진단 추적 및 메시지 로깅 구성 대화 상자를 참조하십시오.

기본 모니터링 기능 이외에 AppFabric에서는 기본 지속성 기능도 제공합니다. .NET Framework 4 WF 서비스가 AppFabric에 설치되면 기본적으로 지속성이 자동으로 구성됩니다. 모니터링 설정과 같이 서버, 사이트, 응용 프로그램 또는 서비스 구성 대화 상자에서 지속성 탭을 사용하여 워크플로에 대한 지속성 구성을 변경할 수 있습니다. 워크플로 지속성 데이터는 DefaultPersistenceConnectionString 연결 문자열을 사용하여 기본 지속성 저장소에 기록됩니다. 자세한 내용은 서버, 사이트, 응용 프로그램 또는 가상 디렉터리에 대해 WCF 및 WF 구성: 워크플로 지속성 탭서비스 구성: 워크플로 지속성 탭을 참조하십시오.

모니터링/지속성 저장소 및 대시보드 메트릭

AppFabric 대시보드 메트릭은 모니터링 및 지속성 저장소에서 가져옵니다. 지속성과 모니터링을 구성하는 방법에 따라 현재 범위에 둘 이상의 모니터링 또는 지속성 저장소가 있을 수 있습니다. 서비스가 여러 저장소를 사용하도록 구성된 경우 대시보드에는 현재 범위의 서비스와 연결된 모든 저장소에 대한 결합된 메트릭이 표시됩니다. 지속된 WF 인스턴스 메트릭은 하나 이상의 지속성 저장소에서 가져온 워크플로 상태 데이터의 요약입니다. 추적된 WF 인스턴스WCF 호출 기록 메트릭은 하나 이상의 모니터링 저장소에서 가져온 데이터의 요약입니다.

중요

로드가 심할 경우 모니터링 데이터베이스의 준비 테이블에서 SQL 에이전트 작업에서 처리할 레코드의 백로그를 빌드할 수 있습니다. 그러면 AppFabric 대시보드에 표시되는 정보가 10분 이상 늦어질 수 있습니다. 또한 시간 프레임을 기본 24시간 대신 더 제한된 최근 기간으로 제한하면 새 트랜잭션이 백로그되기 때문에 표시되지 않습니다.

  • 지속된 WF 인스턴스. 이 메트릭에는 대시보드가 호출될 때 하나 이상의 지속성 저장소에서 가져온 지속된 워크플로 인스턴스의 현재 상태가 표시됩니다. 워크플로 정보가 이 섹션에 표시되도록 하려면 지속성을 사용하도록 설계해야 합니다. 장기 실행 워크플로나 워크플로 수명 중에 보존해야 하는 중요하거나 계산된 중요 데이터에 작동하는 워크플로는 .NET Framework 4 지속성을 사용할 가능성이 높습니다. 일반적으로 지속성을 사용하지 않는 워크플로는 빠르게 실행되고 프로세스가 실수로 종료되는 경우 해당 상태의 보존이 중요하지 않습니다.

    또한 AppFabric 지속성 기능을 사용하려면 AppFabric 내에서 WF 서비스에 대해 지속성을 구성해야 합니다. AppFabric에서는 지속성 저장소 및 관리 도구를 통해 지속성 기능에 대해 지속적인 것으로 기록된 워크플로를 호스트하는 기능을 제공합니다. 서비스에 AppFabric 지속성을 사용하도록 설정하는 방법에 대한 자세한 내용은 워크플로 지속성 구성을 참조하십시오.

  • WCF 호출 기록. 이 메트릭은 선택된 AppFabric 대시보드 범위 내의 서비스에 대해 하나 이상의 모니터링 저장소에서 가져온 WCF 완료된 호출, 오류 및 제한 적중 수의 기록 요약입니다. 이 데이터를 추적하려면 해당 서비스에 대해 AppFabric 이벤트 컬렉션을 사용하도록 설정해야 합니다. 서비스에 이벤트 컬렉션을 사용하도록 설정하는 방법에 대한 자세한 내용은 이벤트 컬렉션 서비스 구성을 참조하십시오.

  • WF 인스턴스 기록. 이 메트릭은 하나 이상의 모니터링 저장소에서 가져온 추적된 WF 인스턴스의 기록 요약입니다. .NET Framework 4 워크플로 서비스 인스턴스에 대한 활성화, 실패완료가 요약됩니다. 이 데이터를 추적하려면 상태 모니터링보다 높거나 같은 AppFabric 모니터링 수준을 사용하도록 설정해야 합니다. 서비스에 모니터링 수준을 사용하도록 설정하는 방법에 대한 자세한 내용은 모니터링 구성을 참조하십시오.

다음 표에는 구성에 따라 WF 서비스에 대한 AppFabric 대시보드 메트릭이 표시되는 경우가 요약되어 있습니다.

.NET Framework 서비스 종류 지속성 구성 유효한 모니터링 수준 구성 지속된 WF 인스턴스 섹션 메트릭(지속된 WF 인스턴스 페이지) WCF 호출 기록 섹션 메트릭(추적된 이벤트 페이지) WF 인스턴스 기록 섹션 메트릭(추적된 WF 인스턴스 페이지)

WF 서비스

아니요

아니요

아니요

아니요

아니요

WF 서비스

아니요

아니요

아니요

WF 서비스

WF 서비스

아니요

아니요

다음 표에는 구성에 따라 순수 WCF 서비스(워크플로 없음)에 대한 AppFabric 대시보드 메트릭이 표시되는 경우가 요약되어 있습니다. AppFabric은 WCF 서비스 지속성에 대한 지원을 제공하지 않으므로 서비스 데이터를 표시하는 섹션은 WCF 호출 기록뿐입니다.

.NET Framework 서비스 종류 지속성 구성 유효한 모니터링 수준 구성 지속된 WF 인스턴스 섹션 메트릭(지속된 WF 인스턴스 페이지) WCF 호출 기록 섹션 메트릭(추적된 이벤트 페이지) WF 인스턴스 기록 섹션 메트릭(추적된 WF 인스턴스 페이지)

순수 WCF 서비스

해당 없음

아니요

아니요

아니요

아니요

순수 WCF 서비스

해당 없음

아니요

아니요

WCF 사용자 정의 이벤트

.NET Framework 4는 WCF(Windows Communication Foundation) 사용자 이벤트를 .NET Framework에서 제공된 ETW(Windows용 이벤트 추적) 이벤트 스트림에 프로그래밍 방식으로 삽입하는 기능을 제공합니다. 상태 모니터링 수준 이상의 모니터링을 사용하도록 구성된 응용 프로그램의 경우 기본적으로 모든 사용자 이벤트를 내보내고 캡처합니다. 간단하게 표시되는 오류만 수준에서는 WCF 오류 사용자 이벤트만 내보내고 캡처합니다. AppFabric에서는 이 WCF 사용자 이벤트를 수집하여 모니터링 데이터 저장소에 저장합니다. 사용자 정의 이벤트 정보는 다음 두 페이지에 표시할 수 있습니다.

  • AppFabric 대시보드 페이지는 오류 심각도 수준에서 오류 요약 메트릭 카운터에 지정된 기간 내에 내보낸 사용자 이벤트 수를 반영합니다.

  • 추적된 이벤트 페이지에는 이벤트 필드에 모든 WCF 이벤트 옵션이 선택되거나 이벤트 필드가 쿼리 제어에 지정되지 않은 경우 오류 관련 여부에 관계없이 모든 사용자 정의 이벤트가 표시됩니다. 쿼리 빌더에는 이벤트 조건에 대한 모든 WCF 오류 옵션 아래에 WCF 사용자 정의 오류 하위 옵션이 있습니다. 추적된 이벤트 페이지에서 사용자 정의 오류 이벤트가 선택된 경우 오류가 세부 정보 창의 오류 탭에 표시됩니다.

사용자 이벤트를 ETW 스트림에 프로그래밍 방식으로 추가하는 방법을 보여 주는 샘플에 대해서는 WCF Analytic Tracing(https://go.microsoft.com/fwlink/?LinkId=184956)을 참조하십시오.

여러 저장소에 대한 AppFabric 대시보드 지원

AppFabric 대시보드에서는 여러 지속성 및 모니터링 데이터 저장소에 데이터를 표시하도록 지원합니다. AppFabric 대시보드는 지정된 서비스의 지속성 데이터가 단일 지속성 저장소에 있고 지정된 응용 프로그램의 모니터링 데이터가 단일 모니터링 데이터 저장소에 있어야 한다고 가정합니다. 둘 이상의 모니터링 또는 지속성 저장소를 사용할 경우 응용 프로그램이나 서비스가 저장소를 전환할 때 원래 저장소에서 이전 데이터를 제거해야 합니다. 원래 저장소가 작업 환경 내의 다른 응용 프로그램이나 서비스에 의해 계속 사용되는 경우 이 작업을 수행하지 못하면 예기치 않거나 일관되지 않은 결과가 발생할 수 있습니다.

다음 예는 이 문제를 이해하는 데 도움을 줍니다. WCF 및/또는 WF 서비스가 포함된 응용 프로그램 1 및 2가 모니터링 데이터 저장소 X를 사용하도록 구성되어 있다고 가정합니다. 응용 프로그램 1은 나중에 X가 아니라 모니터링 데이터 저장소 Y를 사용하도록 재구성되고 이전 응용 프로그램 1 데이터는 모니터링 데이터 저장소 X에 남아 있습니다. 하나의 모니터링 저장소만 응용 프로그램과 연결될 수 있기 때문에 응용 프로그램 범위에서 AppFabric 대시보드를 보면 응용 프로그램 1의 메트릭은 현재 저장소 Y의 데이터를 올바르게 표시합니다. 그러나 서버 또는 사이트 수준에서 AppFabric 대시보드를 보면 카운터에는 현재 저장소 Y의 응용 프로그램 1에 대한 올바른 데이터 및 이전 저장소 X의 이전 데이터가 포함됩니다.

이 예에서 적절한 절차는 새 모니터링 저장소 Y를 사용하도록 응용 프로그램을 구성할 때 이전 모니터링 저장소 X에서 응용 프로그램 1의 데이터를 정리하는 것입니다. 이렇게 해야 AppFabric 대시보드가 응용 프로그램 1에 대한 올바른 정보를 제공합니다. 적절한 데이터베이스 도구와 방법을 사용하여 데이터베이스 수준에서 이 정리를 수행할 수 있습니다.

대/소문자를 구분하는 쿼리

SQL Server 모니터링 데이터베이스가 이진 데이터 정렬을 사용하도록 구성되어 있는 경우 AppFabric 대시보드 쿼리 작성기를 사용한 모든 쿼리의 매개 변수는 대/소문자를 구분합니다. 이 경우 AppFabric 대시보드 쿼리 작성기에서 쿼리 절을 제공할 때 컴퓨터 이름, 사이트가상 경로에 대해 문자열의 정확한 대/소문자를 지정해야 합니다. 대/소문자 구분 문제를 방지하기 위해 Computer, Site, VirtualPath, ApplicationVirtualPath 및 ServiceVirtualPath와 같은 필드가 포함된 ASEventSourcesTable에 대/소문자를 구분하지 않는 데이터 정렬을 사용하도록 수동으로 변경할 수 있습니다.

이 섹션의 내용

참고 항목

개념

응용 프로그램 관리

  2011-12-05