

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CloudWatch에 대한 Amazon SWF 지표
<a name="cw-metrics"></a>

Amazon SWF는 이제 CloudWatch에 대한 지표를 제공합니다. 이것으로 워크플로 및 활동을 추적하고, 선택한 임계값에 대한 경보를 설정할 수 있습니다. 를 사용하여 지표를 볼 수 있습니다 AWS Management Console. 자세한 내용은 [를 사용하여 CloudWatch에 대한 Amazon SWF 지표 보기 AWS Management Console](cw-metrics-console.md) 단원을 참조하십시오.

**Topics**
+ [Amazon SWF 지표에 대한 단위 보고](#swf-reporting-units)
+ [API 및 결정 이벤트 측정치](#swf-throttling-metrics)
+ [Amazon SWF 지표](#cloudwatch-swf-metrics)
+ [Amazon SWF 비 ASCII 리소스 이름 및 CloudWatch 차원](#cloudwatch-swf-non-ascii)

## Amazon SWF 지표에 대한 단위 보고
<a name="swf-reporting-units"></a>

### 시간 간격을 보고하는 지표
<a name="metrics-that-report-a-time-interval"></a>

일부 CloudWatch에 대한 Amazon SWF 지표는 *시간 간격*이며, 항상 밀리초로 측정됩니다. CloudWatch 단위는 `Time`으로 보고됩니다. 이들 지표는 보통 워크플로 실행의 단계에 해당되며, 사용자는 이에 대해 워크플로 및 활동 제한 시간을 설정하고 비슷한 이름을 명명할 수 있습니다.

예를 들어 `DecisionTaskStartToCloseTime` 지표는 실행 시작 이후에 의사 결정 작업이 완료될 때까지 소요된 시간을 측정하는데, 같은 시간에 대해 `DecisionTaskStartToCloseTimeout` 값을 설정할 수 있습니다.

이러한 각 워크플로 단계의 다이어그램의 경우 워크플로 및 활동 수명 주기에서 해당 단계가 발생한 시점을 알아보려면 [Amazon SWF 제한 시간 유형](swf-timeout-types.md) 단원을 참조하십시오.

### 개수를 보고하는 지표
<a name="metrics-that-report-a-count"></a>

CloudWatch에 대한 Amazon SWF 지표 중 일부는 결과를 *개수*로 보고합니다. 예를 들어 `WorkflowsCanceled`는 결과를 *1* 또는 *0*으로 기록하여 워크플로의 취소 여부를 표시합니다. 0 값은 해당 지표가 보고되지 않았음을 나타내는 것이 아니라, 단순히 해당 지표에 설명된 조건이 발생하지 않았음을 나타냅니다.

CloudWatch에 대한 Amazon SWF 지표 중 일부는 CloudWatch `Count`를 *초당 개수*로 보고합니다. 예를 들어 CloudWatch에서 `Count`로 보고되는 `ProvisionedRefillRate`은 초당 요청 `Count` *비율*을 나타냅니다.

수 지표에서 최소값과 최대값은 항상 0 아니면 1이 되지만, 평균은 0과 1 사이의 값이 됩니다.

## API 및 결정 이벤트 측정치
<a name="swf-throttling-metrics"></a>

 CloudWatch에서 API 및 결정 이벤트를 둘 다 모니터링하여 사용량 및 용량을 파악할 수 있습니다. [Amazon SWF의 기본 워크플로 개념](swf-dg-basic.md) 섹션의 [결정자](swf-dev-actors.md#swf-dev-actors-deciders) 및 [Amazon Simple Workflow Service API 참조](https://docs.aws.amazon.com/amazonswf/latest/apireference/)의 [결정](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_Decision.html) 주제를 참조하십시오.

또한 Amazon SWF 제한에 가까워지는 경우에도 이러한 제한을 모니터링하여 경보를 보낼 수 있습니다. 이러한 제한과 각 기본 설정에 대한 설명은 [Amazon SWF 제한 할당량](swf-dg-limits.md#swf-throttling-limits) 단원을 참조하십시오. 이러한 제한은 잘못된 워크플로가 시스템 리소스를 과도하게 사용하지 않도록 방지하기 위해 마련되었습니다. 제한에 대한 증가를 요청하려면 [할당량 증가 요청](swf-dg-limits.md#swf-dg-limits-how-to-increase) 단원을 참조하십시오.

API 또는 결정 이벤트 용량의 약 60%에서 CloudWatch 경보를 구성하는 것이 가장 좋습니다. 그러면 워크플로를 조정하거나 Amazon SWF 제한이 활성화되기 전에 서비스 제한 증가를 요청할 수 있습니다. 통화의 [간헐성](https://en.wikipedia.org/wiki/Burstiness)에 따라 서비스 제한에 근접할 때 알리도록 여러 경보를 구성할 수 있습니다.
+ 트래픽이 크게 증가하는 경우 `ProvisionedBucketSize` 제한의 60%에서 경보를 설정합니다.
+ 통화가 상대적으로 일정한 비율을 유지하는 경우 관련 API 및 결정 이벤트에 대한 `ProvisionedRefillRate` 제한의 60%에서 경보를 설정합니다.

## Amazon SWF 지표
<a name="cloudwatch-swf-metrics"></a>

Amazon SWF에 사용할 수 있는 지표는 다음과 같습니다.


|  지표  |  설명  | 
| --- | --- | 
|  `DecisionTaskScheduleToStartTime`  |  의사결정 작업의 예약 시간과 작업자가 그 작업을 선택하여 시작한 시간 사이의 간격(밀리초) CloudWatch 단위: `Time` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Average, Minimum, Maximum`  | 
|  `DecisionTaskStartToCloseTime`  |  결정 작업 시작 시간과 닫힌 시간 사이의 시간 간격(밀리초) CloudWatch 단위: `Time` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Average, Minimum, Maximum`  | 
|  `DecisionTasksCompleted`  |  완료된 의사결정 작업 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
| PendingTasks | 특정 작업 목록에서 1분 간격으로 확인된 보류 중인 작업의 수. CloudWatch 단위: `Count` 차원: `Domain, TaskListName` 유효한 통계: `Sum` | 
|  `StartedDecisionTasksTimedOutOnClose`  |  시작했지만 종료 시간이 초과된 의사결정 작업 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `WorkflowStartToCloseTime`  |  워크플로가 시작된 시간과 닫힌 시간 사이의 시간 간격(밀리초) CloudWatch 단위: `Time` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Average, Minimum, Maximum`  | 
|  `WorkflowsCanceled`  |  취소된 워크플로 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `WorkflowsCompleted`  |  완료된 워크플로 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `WorkflowsContinuedAsNew`  |  신규로 계속된 워크플로 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `WorkflowsFailed`  |  실패한 워크플로 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `WorkflowsTerminated`  |  종료된 워크플로 수 CloudWatch 단위: `Count` 차원: `Cause, Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `WorkflowsTimedOut`  |  어떤 이유든지 시간이 초과된 워크플로 수 CloudWatch 단위: `Count` 차원: `Domain, WorkflowTypeName, WorkflowTypeVersion` 유효한 통계: `Sum`  | 
|  `ActivityTaskScheduleToCloseTime`  |  활동 예약 시간과 닫힌 시간 사이의 시간 간격(밀리초) CloudWatch 단위: `Time` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Average, Minimum, Maximum`  | 
|  `ActivityTaskScheduleToStartTime`  |  활동 작업 예약 시간과 시작 시간 사이의 시간 간격(밀리초) CloudWatch 단위: `Time` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Average, Minimum, Maximum`  | 
|  `ActivityTaskStartToCloseTime`  |  활동 작업 시작 시간과 닫힌 시간 사이의 시간 간격(밀리초) CloudWatch 단위: `Time` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Average, Minimum, Maximum`  | 
|  `ActivityTasksCanceled`  |  취소된 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `ActivityTasksCompleted`  |  완료된 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `ActivityTasksFailed`  |  실패한 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `ScheduledActivityTasksTimedOutOnClose`  |  예약되었지만 종료 시간이 초과된 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `ScheduledActivityTasksTimedOutOnStart`  |  예약되었지만 시작 시간이 초과된 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `StartedActivityTasksTimedOutOnClose`  |  시작하였지만 종료 시간이 초과된 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `StartedActivityTasksTimedOutOnHeartbeat`  |  시작하였지만 하트비트 제한 시간으로 인해 시간이 초과된 활동 작업 수 CloudWatch 단위: `Count` 차원: `Domain, ActivityTypeName, ActivityTypeVersion` 유효한 통계: `Sum`  | 
|  `ThrottledEvents`  |  조절된 요청 수 CloudWatch 단위: `Count` 차원: `APIName, DecisionName, ThrottlingScope` 유효한 통계: `Sum`  | 
|  `ProvisionedBucketSize`  |  초당 사용 가능한 요청 수 차원: `APIName, DecisionName` 유효한 통계: `Minimum`  | 
|  `ConsumedCapacity`  | 초당 요청 수 CloudWatch 단위: `Count` 차원: `APIName, DecisionName` 유효한 통계: `Sum`  | 
| ConsumedLimit | 소비된 일반 한도 양 차원: `GeneralLimitType` | 
|  `ProvisionedRefillRate`  |  버킷에 허용되는 초당 요청 수 차원: `APIName, DecisionName` 유효한 통계: `Minimum`  | 
| ProvisionedLimit | 계정에 프로비저닝되는 일반 한도 양 차원: `GeneralLimitType` | 


|  차원  |  설명  | 
| --- | --- | 
|  `Domain`  |  워크플로 또는 활동이 실행 중인 Amazon SWF 도메인에 대한 데이터를 필터링합니다.  | 
|  `ActivityTypeName`  |  활동 유형 이름에 대한 데이터를 필터링합니다.  | 
|  `ActivityTypeVersion`  |  활동 유형 버전에 대한 데이터를 필터링합니다.  | 
|  `WorkflowTypeName`  |  워크플로 실행의 워크플로 유형 이름에 대한 데이터를 필터링합니다.  | 
|  `WorkflowTypeVersion`  |  워크플로 실행의 워크플로 유형 버전에 대한 데이터를 필터링합니다.  | 
|  `APIName`  |  지정한 API 이름의 API에 대한 데이터를 필터링합니다.  | 
|  `DecisionName`  |  지정한 결정 이름에 대한 데이터를 필터링합니다.  | 
| `TaskListName` |  지정한 작업 목록 이름에 대한 데이터를 필터링합니다.  | 
|  `TaskListClassification`  |  작업 목록의 분류에 대한 데이터를 필터링합니다. 결정 작업 목록의 값은 "D"이고 활동 작업 목록의 값은 "A"입니다.  | 
|  `ThrottlingScope`  |  지정된 제한 범위로 데이터를 필터링합니다. 값은 계정 수준 할당량을 초과할 경우 "계정"이고 워크플로 수준 할당량을 초과할 경우 "워크플로"입니다.  | 

## Amazon SWF 비 ASCII 리소스 이름 및 CloudWatch 차원
<a name="cloudwatch-swf-non-ascii"></a>

Amazon SWF는 TaskList 및 DomainName과 같은 리소스 이름에 비 ASCII 문자를 허용합니다. 하지만 CloudWatch 지표의 차원 값에는 인쇄 가능한 ASCII 문자만 포함될 수 있습니다. Amazon SWF가 [CloudWatch 요구 사항](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html)과 호환되는 차원 값을 사용할 수 있도록 이러한 요구 사항을 충족하지 않는 Amazon SWF 리소스 이름은 변환되며 다음과 같이 체크섬이 추가됩니다.
+ 비 ASCII 문자는 모두 `?`로 대체됩니다.
+ 입력 문자열이나 변환된 문자열은 필요한 경우 잘립니다. 이렇게 하면 체크섬이 추가될 때 새 문자열 길이가 CloudWatch의 최대값을 초과하지 않게 됩니다.
+ ASCII가 아닌 문자는 로 변환되므로 변환 전에 다른 `?`일부 CloudWatch 지표 차원 값은 변환 후 동일한 것으로 보일 수 있습니다. 구분하기 쉽도록 밑줄(`_`) 뒤에 원래 리소스 이름의 SHA256 체크섬 처음 16자가 리소스 이름에 추가됩니다.

변환 예제:
+ `test àpple`는 `test ?pple_82cc5b8e3a771d12`로 변환됩니다
+ `àòà`는 `???_2fec5edbb2c05c22`로 변환됩니다.
+ TaskList 이름 `àpplé`과 `âpplè`은 모두 `?ppl?`로 변환되며 동일합니다. 체크섬을 추가하면 고유 값 `?ppl?_f39a36df9d85a69d` 및 `?ppl?_da3efb4f11dd0f7f`가 반환됩니다.

**작은 정보**  
SHA256 체크섬을 직접 생성할 수 있습니다. 예를 들어, `shasum` 명령줄 도구를 사용하려면 다음을 수행합니다.  
 **echo -n "<the original resource name>" \$1 shasum -a 256 \$1 cut -c1-16** 