워크플로 관리자 1.0 모니터링

 

Workflow Manager 1.0의 고가용성과 안정성을 보장하기 위해서는 서버를 모니터링하여 서버가 정상 상태로 작동되도록 하고 오류가 발생했을 때 수정 조치를 취할 수 있도록 가능한 빨리 오류를 검색하는 것이 중요합니다.이 문서에서는 Workflow Manager 1.0 환경을 모니터링할 수 있는 기능에 대해 알아봅니다.

Workflow Manager 1.0 서버 모니터링

서버를 모니터링하는 일반적인 방법은 다음과 같습니다.

  1. 성능 카운터

  2. 이벤트 추적

  3. PowerShell

  4. System Center Operations Manager 관리 팩

성능 카운터

성능 카운터는 서버의 성능이 어느 정도인지에 대한 가장 유용한 정보를 제공합니다.성능 카운터는 카운터 세트로 그룹화됩니다.

Workflow Manager 1.0은 자체 성능 카운터 세트를 내보내므로 서버를 편리하게 모니터링할 수 있습니다.Workflow Manager 1.0은 관리 및 발송자라고 하는 2가지 카운터 세트를 정의합니다.각각의 카운터는 해당 카운터 세트에 정의됩니다.Workflow Manager 1.0가 설치된 컴퓨터에서 성능 모니터를 열 면 이러한 카운터 세트에 포함된 성능 카운터를 찾아 볼 수 있습니다.그런 다음 "워크플로 관리" 및 "워크플로 발송자" 카운터 세트를 볼 수 있습니다.

다음의 표에는 이러한 두 세트에서 제공되는 성능 카운터가 요약되어 있습니다.

인덱스

성능 카운터

세부 정보

1

초당 관리 요청 수

지정된 노드에서 프런트엔드에 의해 처리되는 초당 요청 개수입니다.

2

초당 워크플로 이벤트 수

지정된 노드에서 성공한 초당 PublishNotification 호출 개수입니다.

3

초당 관리 요청 실패 수

지정된 노드에서 호출자에게 오류 응답이 반환된 초당 프런트엔드 호출 수입니다.오류 응답은 잘못된 요청, 권한 부여 오류 또는 유효성 검사 오류로 인해 발생될 수 있습니다.

4

초당 권한 부여 오류 수

지정한 노드에서 발생한 초당 권한 부여 오류 개수입니다.

5

워크플로 이벤트 기간 게시

워크플로 알림 게시의 평균 대기 시간입니다.

6

미결된 편 수

지정된 백엔드 노드에서 아직 실행 중인 워크플로 인스턴스의 개수입니다.

7

초당 실패한 편 수

지정된 백엔드 노드에서 보고된 초당 워크플로 인스턴스 실행 오류 수입니다.

8

초당 처리된 이벤트 수

지정된 노드에서 성공적으로 처리된 초당 워크플로 알림 개수입니다.

다음은 위의 성능 카운터로부터 만들어진 상태 모델의 예입니다.

증상

원본

내용: 원인, 해결 방법, 요약

노드에서 아무런 메시지가 처리되지 않는 것처럼 보입니다.

RequestsProcessedPerSecond

10분간 작업이 없습니다.

워크플로 인스턴스가 완료되지 않은 것처럼 보입니다.

(EpisodesCompletedPerSecond/RequestsProcessedPerSecond) * 100

N% 미만 - N은 사용자가 정의할 수 있습니다(예: 10).

워크플로 인스턴스 오류

RequestsFailedPerSecond

오류 개수입니다.

CPU 및 메모리 사용률 등의 Windows 성능 카운터를 추가할 수도 있습니다.

이벤트 추적

Workflow Manager 1.0 구성 요소는 ETW(Windows용 이벤트 추적)를 사용하여 추적합니다.ETW는 성능 측면에서 오버헤드가 가장 작으므로 이상적인 추적 도구입니다.또한 ETW 로그는 다른 형식의 로그보다 더 작습니다.서비스의 모든 구성 요소는 Microsoft- 워크플로라고 하는 ETW 공급자를 사용합니다.

Workflow Manager 1.0에서는 다음과 같이 기본적으로 제공되는 ETW 채널이 사용됩니다.

  • Operational Channel: 이 채널은 운영자가 해결해야 할 주요 문제를 보고하는 추적에 사용됩니다.서비스 오류나 SLA 임계값 도달 등이 해당됩니다.

  • Debug Channel: 이 채널은 모든 진단 추적에 사용됩니다.

  • Analytic Channel: 이 채널은 작업을 완료하는 데 걸린 시간 등 큰 값의 추적에 사용됩니다.이벤트에는 범위나 작업 이름과 같은 추가 메타데이터가 포함될 수 있습니다.

Workflow Manager 1.0에서 생성된 모든 이벤트의 목록은 Microsoft.Workflow.EventDefinitions.man 폴더의 [InstallDrive]:\Program Files\Workflow Manager\1.0\Workflow ETW 매니페스트 파일에서 찾아볼 수 있습니다.

그 중 서버의 상태를 모니터링하는 데 특히 중요한 몇 가지 이벤트가 다음 표에 나와 있습니다.

문제

내보내진 이벤트 ID

WF 백엔드 시작에 실패함

289

처리되지 않은 예외

1, 10, 19

특정 노드에서 처리되지 않은 예외가 빈번함

30분 이내에 1, 10 또는 19 이벤트 5회

서비스가 빈번하게 시작됨 이벤트

30분 이내에 288 또는 582 이벤트 5회

PowerShell Cmdlet

PowerShell을 사용하면 Workflow Manager 1.0 서버를 매우 편리하게 관리할 수 있습니다.Workflow Manager 1.0에는 워크플로 팜 및 해당 상태를 제공해 주는 cmdlet이 있습니다.관리자는 Workflow Manager 1.0을 통해 시작 메뉴의 Azure 워크플로 1.0 프로그램 그룹에서 워크플로 PowerShell 프롬프트를 시작할 수 있는 바로 가기를 사용할 수 있습니다.Workflow Manager 1.0 PowerShell 모듈을 가져와 이러한 cmdlet을 프로그램 방식으로 호출할 수도 있습니다.모든 Workflow Manager 1.0 cmdlet은 Workflow Manager 1.0 설치 디렉터리의 Microsoft.Workflow.Commands PowerShell 모듈에 정의되어 있습니다.

서버 모니터링을 위해서는 Get-WFFarm 및 Get-WFFarmStatus cmdlet이 특히 유용합니다.

Get-WFFarm

Get-WFFarm cmdlet을 사용하면 워크플로 팜에 대한 모든 세부 정보를 가장 빨리 검색할 수 있습니다.이 cmdlet은 다음과 같은 팜 정보를 반환합니다.

설명

호스트

팜에 포함된 호스트(또는 컴퓨터)를 나열합니다.

끝점

호스트 상의 http 끝점과 https 끝점을 나열합니다.

WFFarmDBConnectionString

워크플로 팜 데이터베이스의 연결 문자열입니다.워크플로 팜 데이터베이스에는 팜에 대한 모든 구성 정보가 포함되어 있습니다.

RunAsAccount

워크플로 백엔드 서비스가 실행되는 계정입니다.

AdminGroup

워크플로 팜의 관리자 그룹으로 구성되어 있는 Windows 인증 보안 그룹을 반환합니다.

InstanceDBConnectionString

인스턴스 데이터베이스의 연결 문자열입니다.인스턴스 데이터베이스에는 유지되고 있는 워크플로에 대한 인스턴스 정보가 포함되어 있습니다.이 데이터베이스의 어떠한 정보도 업데이트하지 않는 것이 좋습니다.이 연결 문자열은 재난 복구용으로 사용되는 cmdlet과 같은 기타 오프라인 cmdlet에 제공하는 용도로만 사용됩니다.

ResourceDBConnectionString

리소스 데이터베이스의 연결 문자열입니다.리소스 데이터베이스에는 워크플로 및 작업의 정의가 포함되어 있습니다.이 데이터베이스의 어떠한 정보도 업데이트하지 않는 것이 좋습니다.이 연결 문자열은 재난 복구용으로 사용되는 cmdlet과 같은 기타 오프라인 cmdlet에 제공하는 용도로만 사용됩니다.

HttpPort

서비스가 http로 구성된 경우 워크플로 프런트엔드의 Httpport를 나열합니다.

HttpsPort

워크플로 프런트엔드의 Httpsport를 나열합니다.

OutboundCertificate

아웃바운드 인증서의 지문을 반환합니다.설치 시 이 인증서가 자동 생성되었는지 여부도 반환됩니다.

SslCertificate의 값이 사용됩니다.

SSL 인증서의 지문을 반환합니다.설치 시 이 인증서가 자동 생성되었는지 여부도 반환됩니다.

Get-WFFarmStatus

참고

Get-AzureWFFarmStatus는 Workflow Manager 1.0에 포함되어 있지 않지만 1.0 RTM의 일부로 포함될 것입니다.

Get-AzureWFFarmStatus cmdlet은 팜과 팜의 노드에 대한 기본 상태를 제공합니다.

각 노드로부터 Get-AzureWFFarmStatus는 워크플로 백엔드 Windows 서비스의 상태와 해당 노드에서의 워크플로 프런트엔드 연결 여부를 제공합니다.

관리 팩

참고

관리 팩은 Workflow Manager 1.0 설치의 일부로 포함되어 있지 않지만 1.0 RTM이 출시될 즈음에는 별도로 다운로드할 수 있도록 제공될 예정입니다.이 관리 팩은 Microsoft System Center 2012 및 System Center 2007 R2를 지원합니다.

성능 카운터, 이벤트 추적 및 PowerShell cmdlet을 통해 팜의 상태를 완벽하게 파악할 수 있습니다.하지만 진정한 엔터프라이즈급 안정성을 확보하기 위해서는 서버에 대한 지속적인 모니터링뿐 아니라 오류가 검색될 때 활성화되는 경고 메커니즘도 갖춰야 합니다.Microsoft System Center Operations Manager 관리 팩은 이러한 경고 기능을 제공합니다.

본 문서에서 다룬 대부분의 이벤트와 성능 카운터는 System Center 관리 팩에서도 지원될 것입니다.이 관리 팩의 용도는 Workflow Manager 1.0 팜과 팜의 노드를 모니터링하는 것이 될 것이며 워크플로 인스턴스와 같은 Workflow Manager 1.0 아티팩트 모니터링에 국한되지는 않을 것입니다.

다음의 다이어그램에서는 Workflow Manager 1.0의 일반적인 상태 모델을 보여줍니다.

Workflow health model