기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon CloudWatch를 사용하여 Step Functions 지표 모니터링
모니터링은 AWS Step Functions 및 AWS 솔루션의 안정성, 가용성 및 성능을 유지하는 데 중요한 부분입니다. 다중 지점 실패를 디버깅할 수 있도록 사용하는 AWS 서비스에서 모니터링 데이터를 최대한 많이 수집해야 합니다.
Step Functions 모니터링을 시작하기 전에 다음 질문에 대해 답하는 모니터링 계획을 작성해야 합니다.
-
모니터링의 목표
-
모니터링할 리소스
-
이러한 리소스를 모니터링하는 빈도
-
사용할 모니터링 도구
-
모니터링 작업을 수행할 사람
-
문제 발생 시 알려야 할 대상
다음 단계는 환경의 정상 성능에 대한 기준을 설정하는 것입니다. 이렇게 하려면 다양한 시간과 다양한 부하 조건에서 성능을 측정해야 합니다. Step Functions를 모니터링할 때 과거 모니터링 데이터를 저장하는 것이 좋습니다. 그러한 데이터는 현재 성능 데이터와 비교하고, 일반 성능 패턴과 성능 이상을 식별하고, 문제 해결 방법을 제안하는 기준이 될 수 있습니다.
활동 및 작업 실패를 모니터링하여 기준을 설정하는 것이 좋습니다. 성능이 기준 지표를 벗어나면 근본 원인을 조사할 수 있도록 알림을 설정합니다.
기준선을 설정하려면 최소한 다음 지표를 모니터링해야 합니다.
-
ActivitiesStarted
-
ActivitiesTimedOut
-
ExecutionsStarted
-
ExecutionsTimedOut
CloudWatch에 대한 Step Functions 지표
Step Functions는 Amazon CloudWatch에 다음과 같은 유형의 지표를 제공합니다. 이러한 지표를 사용하면 상태 시스템 및 활동을 추적하고 임계값에 경보를 설정할 수 있습니다. 를 사용하여 지표를 볼 수 있습니다 AWS Management Console.
CloudWatch 지표 전송
CloudWatch 지표를 전송하고자 최선을 다할 것입니다.
모든 지표가 제때 전송될 것이라고 보장할 수는 없습니다. 특정 요청에 대한 데이터 요소는 그 요청이 실제로 처리되었을 때보다 더 늦은 타임스탬프와 함께 반환될 수도 있습니다. 데이터 요소가 CloudWatch를 통해 제공되기 전에 잠시동안 지연될 수 있거나 아예 전송되지 않을 수 있습니다. CloudWatch 요청 지표는 상태 시스템 실행 정보를 거의 실시간으로 제공합니다. 모든 실행 관련 지표를 완벽하게 제공한다는 의미는 아닙니다.
완벽한 전송을 보장할 수 없는 그 특성에 따라 결제 및 비용 관리 대시보드
시간 간격을 보고하는 지표
일부 Step Functions CloudWatch 지표는 시간 간격이며 항상 밀리초 단위로 측정됩니다. 이러한 지표는 일반적으로 사용자가 알기 쉬운 이름을 사용하여 상태 시스템, 활동 및 Lambda 함수 제한 시간을 설정하는 실행 단계에 해당합니다.
예를 들어, ActivityRunTime
지표는 활동이 실행을 시작한 후 완료될 때까지 걸리는 시간을 측정합니다. 동일한 기간에 대해 제한 시간 값을 설정할 수 있습니다.
CloudWatch 콘솔에서 시간 간격 지표에 대한 표시 통계로 평균을 선택하면 최상의 결과를 얻을 수 있습니다.
개수를 보고하는 지표
Step Functions CloudWatch 지표 중 일부는 결과를 개수로 보고합니다. 예를 들어, ExecutionsFailed
는 실패한 상태 시스템 실행 수를 기록합니다.
Step Functions는 모든 상태 시스템 실행에 ExecutionsStarted
지표 2개를 내보냅니다. 이로 인해 ExecutionsStarted
지표에 대한 SampleCount 통계에는 모든 상태 머신 실행에 대한 값 2가 표시됩니다. 실행이 완료되면 SampleCount 통계에 ExecutionStarted=1
및 ExecutionStarted=0
이 표시됩니다.
작은 정보
CloudWatch 콘솔에서 개수를 보고하는 지표의 표시 통계로 합계를 선택하는 것이 좋습니다.
실행 지표
AWS/States
네임스페이스에는 모든 Step Functions 실행에 대한 다음 지표가 포함되어 있습니다. 이는 리전의 계정 전체에 적용되는 차원 없는 지표입니다.
지표 | 설명 |
---|---|
OpenExecutionCount |
현재 열린 실행의 대략적인 수 - 현재 계정에서 진행 중인 워크플로입니다. 표준 워크플로의 경우
|
OpenExecutionLimit |
최대 열린 실행 수입니다. 자세한 내용은 계정과 관련된 할당량 단원을 참조하십시오. Express 워크플로에는 이 한도가 적용되지 않습니다. |
모든 상태 시스템에 대한 실행 지표
모든 상태 시스템은 지표를 내보냅니다. ExecutionThrottled
지표는 실행이 제한된 경우에만 내보내집니다. 이러한 지표에는 특정 상태 시스템을 식별하기 위한 StateMachineArn
이 포함됩니다.
지표 | 설명 |
---|---|
ExecutionTime |
실행 시작 시간과 종료 시간 사이의 시간 간격(밀리초)입니다. |
ExecutionThrottled |
조절된 StateEntered 이벤트 및 재시도 수입니다. 이 항목은 StateTransition 조절과 관련됩니다. 자세한 내용은 상태 제한과 관련된 할당량 단원을 참조하십시오. |
ExecutionsAborted |
중단되거나 종료된 실행 수입니다. |
ExecutionsFailed |
실패한 실행 수입니다. |
ExecutionsStarted |
시작된 실행 수입니다. |
ExecutionsSucceeded |
성공적으로 완료된 실행 수입니다. |
ExecutionsTimedOut |
이유에 관계없이 시간이 초과된 실행 수입니다. |
Express 워크플로의 실행 지표
AWS/States
네임스페이스에는 Step Functions Express 워크플로 실행에 대한 다음 지표가 포함되어 있습니다.
지표 | 설명 |
---|---|
ExpressExecutionMemory
|
Express 워크플로에서 소비한 총 메모리입니다. |
ExpressExecutionBilledDuration |
Express 워크플로 요금이 청구되는 기간입니다. |
ExpressExecutionBilledMemory |
Express 워크플로에 요금이 청구되는 메모리 사용량입니다. |
표준 워크플로의 Redrive 실행 지표
상태 시스템 실행을 redrive하면 Step Functions에서 다음 지표를 내보냅니다.
모든 redriven 실행에 대해 Executions*
지표를 내보냅니다. 예를 들어 redriven 실행이 중단되었다고 가정해보겠습니다. 이 실행은 RedrivenExecutionsAborted
및 ExecutionsAborted
모두에 대해 0이 아닌 데이터포인트를 내보냅니다.
지표 | 설명 |
---|---|
ExecutionsRedriven |
redriven 실행 수입니다. |
RedrivenExecutionsAborted |
취소되거나 종료된 redriven 실행 수입니다. |
RedrivenExecutionsTimedOut |
이유에 관계없이 시간이 초과된 redriven 실행 수입니다. |
RedrivenExecutionsSucceeded |
성공적으로 완료된 redriven 실행 수입니다. |
RedrivenExecutionsFailed |
실패한 redriven 실행 수입니다. |
Step Functions 실행 지표에 대한 차원
차원 | 설명 |
---|---|
StateMachineArn
|
해당 실행에 사용되는 상태 시스템의 Amazon 리소스 이름(ARN)입니다. |
버전이 있는 실행 차원
차원 | 설명 |
---|---|
StateMachineArn
|
버전으로 실행이 시작된 상태 시스템의 Amazon 리소스 이름(ARN)입니다. |
Version |
실행을 시작하는 데 사용된 상태 시스템 버전입니다. |
별칭이 있는 실행 차원
차원 | 설명 |
---|---|
StateMachineArn
|
별칭으로 실행이 시작된 상태 시스템의 Amazon 리소스 이름(ARN)입니다. |
Alias |
실행을 시작하는 데 사용된 상태 시스템 별칭입니다. |
버전 및 별칭에 대한 리소스 수 지표
AWS/States
네임스페이스에는 상태 시스템의 버전 및 별칭 수에 대한 다음 지표가 포함되어 있습니다.
버전 및 별칭에 대한 리소스 수 지표의 차원
차원 | 설명 |
---|---|
ResourceArn
|
버전이나 별칭이 있는 상태 시스템의 Amazon 리소스 이름(ARN)입니다. |
활동 지표
AWS/States
네임스페이스에는 Step Functions 활동에 대한 다음 지표가 포함되어 있습니다.
지표 | 설명 |
---|---|
ActivityRunTime
|
활동 시작 시간과 종료 시간 사이의 시간 간격(밀리초)입니다. |
ActivityScheduleTime |
활동이 예약 상태를 유지하는 시간 간격(밀리초)입니다. |
ActivityTime |
활동 예약 시간과 종료 시간 사이의 시간 간격(밀리초)입니다. |
ActivitiesFailed |
실패한 활동 수입니다. |
ActivitiesHeartbeatTimedOut |
하트비트 제한 시간으로 인해 시간이 초과된 활동 수입니다. |
ActivitiesScheduled |
예약된 활동 수입니다. |
ActivitiesStarted |
시작된 활동 수입니다. |
ActivitiesSucceeded |
성공적으로 완료된 활동 수입니다. |
ActivitiesTimedOut |
종료 시간이 초과된 활동 수입니다. |
Step Functions 활동 지표의 차원
차원 | 설명 |
---|---|
|
활동 ARN |
Lambda 함수 지표
AWS/States
네임스페이스에는 작업 상태 정의의 리소스 필드에서 직접 참조되는 Lambda 함수에 대한 다음 지표가 포함됩니다. 레거시 상태 시스템에서 이러한 지표를 찾을 수 있습니다. 최신 상태 시스템에서는 서비스 통합 지표를 내보내는 최적화된 Lambda 통합을 사용하는 것이 좋습니다.
지표 | 설명 |
---|---|
LambdaFunctionRunTime |
Lambda 함수 시작 시간과 종료 시간 사이의 시간 간격(밀리초)입니다. |
LambdaFunctionScheduleTime |
Lambda 함수가 예약 상태를 유지하는 시간 간격(밀리초)입니다. |
LambdaFunctionTime |
Lambda 함수 예약 시간과 종료 시간 사이의 시간 간격(밀리초)입니다. |
LambdaFunctionsFailed |
실패한 Lambda 함수 수입니다. |
LambdaFunctionsScheduled |
예약된 Lambda 함수 수입니다. |
LambdaFunctionsStarted |
시작된 Lambda 함수 수입니다. |
LambdaFunctionsSucceeded |
성공적으로 완료된 Lambda 함수 수입니다. |
LambdaFunctionsTimedOut |
종료 시간이 초과된 Lambda 함수 수입니다. |
Step Functions Lambda 함수 지표의 차원
차원 | 설명 |
---|---|
|
Lambda 함수의 ARN입니다. |
참고
Lambda 함수 지표를
Resource
필드에 Lambda 함수 ARN을 지정하는 Task 상태에 내보냅니다. "Resource": "arn:aws:states:::lambda:invoke"
를 사용하는 Task 상태에서 대신 서비스 통합 지표를 내보냅니다. 자세한 내용은 Step Functions를 사용하여 AWS Lambda 함수 호출 단원을 참조하십시오.
서비스 통합 지표
AWS/States
네임스페이스에는 Step Functions 서비스 통합에 대한 다음과 같은 지표가 포함되어 있습니다. 자세한 내용은 Step Functions에서 서비스 통합 단원을 참조하십시오.
측정치 | 설명 |
---|---|
ServiceIntegrationRunTime |
서비스 작업이 시작되는 시간과 종료되는 시간 사이의 시간 간격(밀리초)입니다. |
ServiceIntegrationScheduleTime |
서비스 작업이 예약 상태를 유지하는 시간 간격(밀리초)입니다. |
ServiceIntegrationTime |
서비스 작업이 예약되는 시간과 종료되는 시간 사이의 시간 간격(밀리초)입니다. |
ServiceIntegrationsFailed |
실패한 서비스 작업 수입니다. |
ServiceIntegrationsScheduled |
예약된 서비스 작업 수입니다. |
ServiceIntegrationsStarted |
시작된 서비스 작업 수입니다. |
ServiceIntegrationsSucceeded |
성공적으로 완료된 서비스 작업 수입니다. |
ServiceIntegrationsTimedOut |
종료 시간이 초과된 서비스 작업 수입니다. |
Step Functions 서비스 통합 지표의 차원
차원 | 설명 |
---|---|
|
통합 서비스의 리소스 ARN입니다. |
서비스 지표
AWS/States
네임스페이스에는 Step Functions 서비스에 대한 다음과 같은 지표가 포함되어 있습니다.
지표 | 설명 |
---|---|
ThrottledEvents
|
조절된 요청 수입니다. |
ProvisionedBucketSize |
초당 사용 가능한 요청 수입니다. |
ProvisionedRefillRate |
버킷에 허용되는 초당 요청 수입니다. |
ConsumedCapacity |
초당 요청 수입니다. |
Step Functions 서비스 지표의 차원
차원 | 설명 |
---|---|
|
State Transitions 수치를 보여 주는 데이터를 필터링합니다. |
API 지표
AWS/States
네임스페이스에는 Step Functions API에 대한 다음과 같은 지표가 포함되어 있습니다.
지표 | 설명 |
---|---|
ThrottledEvents
|
조절된 요청 수입니다. |
ProvisionedBucketSize |
초당 사용 가능한 요청 수입니다. |
ProvisionedRefillRate |
버킷에 허용되는 초당 요청 수입니다. |
ConsumedCapacity |
초당 요청 수입니다. |
Step Functions API 지표의 차원
차원 | 설명 |
---|---|
|
지정한 API 이름의 API에 대한 데이터를 필터링합니다. |
CloudWatch에서 Step Functions 지표 보기
CloudWatch 콘솔을 사용하여 실행, 활동, 함수 및 서비스 통합에 대한 Step Functions 지표를 볼 수 있습니다.
-
에 로그인 AWS Management Console 하고 CloudWatch 콘솔을 엽니다.
-
지표를 선택하고 모든 지표 탭에서 상태를 선택합니다.
최근에 실행을 실행했다면 다음과 같은 유형의 지표가 최대 4개까지 표시됩니다.
-
실행 지표
-
활동 기능 지표
-
Lambda 함수 지표
-
서비스 통합 지표
-
-
지표 목록을 보려는 지표 유형을 선택합니다.
-
[Metric Name] 또는 [StateMachineArn]을 기준으로 지표를 정렬하려면 열 머릿글을 사용하십시오.
-
지표에 대한 그래프를 보려면 목록에서 지표 옆의 확인란을 선택합니다. 그래프 보기 위의 시간 범위 컨트롤을 사용하여 그래프 파라미터를 변경할 수 있습니다.
상대값 또는 절대값(특정 날짜 및 시간)을 사용하여 사용자 지정 시간 범위를 선택할 수 있습니다. 또한 드롭다운 목록을 사용하여 값을 선, 스택형 영역 또는 숫자(값)으로 표시할 수 있습니다.
-
그래프에 대한 세부 정보를 보려면 그래프 아래 나타나는 지표 색상 코드 위에 마우스 포인터를 놓으면 지표 세부 사항이 표시됩니다.
-
CloudWatch 지표 사용 방법에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 Amazon CloudWatch 지표 사용을 참조하세요.
CloudWatch에서 Step Functions 지표에 대한 경보 설정
Amazon CloudWatch 경보를 사용하여 작업을 수행할 수 있습니다. 예를 들어 경보 임계 값 도달 시기를 알고 싶으면 StateMachinesFailed
지표가 특정 임계 값을 초과할 때 알림을 Amazon SNS 주제에 보내거나 이메일을 보내도록 경보를 설정하면 됩니다.
지표에 대해 경보를 설정하려면
-
에 로그인 AWS Management Console 하고 CloudWatch 콘솔을 엽니다.
-
지표를 선택하고 모든 지표 탭에서 상태를 선택합니다.
최근에 실행을 실행했다면 다음과 같은 유형의 지표가 최대 4개까지 표시됩니다.
-
실행 지표
-
활동 기능 지표
-
Lambda 함수 지표
-
서비스 통합 지표
-
-
지표 목록을 보려는 지표 유형을 선택합니다.
-
지표를 선택한 후 그래프로 표시된 지표를 선택합니다.
-
목록의 지표 옆에 있는 종 모양 아이콘을 선택하여 경보 생성 페이지를 표시합니다.
-
경보 임계값 및 작업에 값을 입력한 후 경보 생성을 선택합니다.
경보 설정 및 CloudWatch 경보 사용 방법에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 Amazon CloudWatch 경보 생성을 참조하세요.