아마존을 사용한 Step Functions 지표 모니터링 CloudWatch - AWS Step Functions

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

아마존을 사용한 Step Functions 지표 모니터링 CloudWatch

모니터링은 AWS 솔루션의 안정성, 가용성, 성능을 유지하는 데 AWS Step Functions 있어 중요한 부분입니다. 멀티포인트 장애를 디버깅하려면 사용하는 AWS 서비스에서 최대한 많은 모니터링 데이터를 수집해야 합니다.

Step Functions 모니터링을 시작하기 전에 다음 질문에 대해 답하는 모니터링 계획을 작성해야 합니다.

  • 모니터링의 목표

  • 모니터링할 리소스

  • 이러한 리소스를 모니터링하는 빈도

  • 사용할 모니터링 도구

  • 모니터링 작업을 수행할 사람

  • 문제 발생 시 알려야 할 대상

다음 단계는 환경의 정상 성능에 대한 기준을 설정하는 것입니다. 이렇게 하려면 다양한 시간과 다양한 부하 조건에서 성능을 측정해야 합니다. Step Functions를 모니터링할 때 과거 모니터링 데이터를 저장하는 것이 좋습니다. 그러한 데이터는 현재 성능 데이터와 비교하고, 일반 성능 패턴과 성능 이상을 식별하고, 문제 해결 방법을 제안하는 기준이 될 수 있습니다.

예를 들어 Step Functions를 사용하면 하트비트 타임아웃으로 인해 실패한 액티비티 또는 AWS Lambda 태스크의 수를 모니터링할 수 있습니다. 성능이 설정된 기준 아래로 떨어지면 하트비트 간격을 변경해야 할 수 있습니다.

기준선을 설정하려면 최소한 다음 지표를 모니터링해야 합니다.

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

에 대한 Step Functions 메트릭스 CloudWatch

Step Functions는 아마존에 다음과 같은 유형의 메트릭을 제공합니다 CloudWatch. 이러한 지표를 사용하면 상태 시스템 및 활동을 추적하고 임계값에 경보를 설정할 수 있습니다. 를 사용하여 지표를 볼 수 있습니다 AWS Management Console.

CloudWatch 지표 전달

CloudWatch 지표를 전송하고자 최선을 다할 것입니다.

모든 지표가 제때 전송될 것이라고 보장할 수는 없습니다. 특정 요청에 대한 데이터 요소는 그 요청이 실제로 처리되었을 때보다 더 늦은 타임스탬프와 함께 반환될 수도 있습니다. 1분 동안의 데이터 포인트가 사용 가능해지기까지 지연되거나 전혀 전달되지 않을 수 있습니다. CloudWatch CloudWatch요청 지표를 통해 상태 시스템 실행을 거의 실시간으로 파악할 수 있습니다. 모든 실행 관련 지표를 완벽하게 제공한다는 의미는 아닙니다.

완벽한 전송을 보장할 수 없는 그 특성에 따라 결제 및 비용 관리 대시보드에 제공되는 보고서에는 실행 지표에 나타나지 않는 액세스 요청이 하나 이상 포함될 수 있습니다.

시간 간격을 보고하는 지표

Step Functions CloudWatch 지표 중 일부는 시간 간격이며 항상 밀리초 단위로 측정됩니다. 이러한 지표는 일반적으로 사용자가 알기 쉬운 이름을 사용하여 상태 시스템, 활동 및 Lambda 함수 제한 시간을 설정하는 실행 단계에 해당합니다.

예를 들어, ActivityRunTime 지표는 활동이 실행을 시작한 후 완료될 때까지 걸리는 시간을 측정합니다. 동일한 기간에 대해 제한 시간 값을 설정할 수 있습니다.

CloudWatch 콘솔에서 시간 간격 지표의 표시 통계로 평균을 선택하면 최상의 결과를 얻을 수 있습니다.

개수를 보고하는 지표

Step Functions CloudWatch 지표 중 일부는 결과를 개수로 보고합니다. 예를 들어, ExecutionsFailed는 실패한 상태 시스템 실행 수를 기록합니다.

Step Functions는 모든 스테이트 머신 실행에 대해 두 개의 ExecutionsStarted 메트릭을 내보냅니다. 이로 인해 모든 상태 머신 실행에 대한 ExecutionsStarted 지표 SampleCount통계에 값 2가 표시됩니다. SampleCount 통계에는 실행 완료 ExecutionStarted=1 시점과 ExecutionStarted=0 시기가 표시됩니다.

작은 정보

콘솔에 카운트를 보고하는 지표의 디스플레이 통계로 Sum을 선택하는 것이 좋습니다. CloudWatch

실행 지표

AWS/States네임스페이스에는 모든 Step Functions 실행에 대한 다음 지표가 포함됩니다. 이는 한 지역의 계정 전체에 적용되는 차원 없는 지표입니다.

지표 설명
OpenExecutionCount

현재 진행 중인 실행의 대략적인 수 - 계정에서 현재 진행 중인 워크플로입니다.

워크플로가 최대 실행 한도에 도달하는 시기에 대한 통찰력을 제공하여 표준 워크플로를 StartExecution 호출하거나 표준 워크플로를 호출할 때 ExecutionLimitExceeded오류가 발생하지 않도록 하기 RedriveExecution 위한 것입니다.

OpenExecutionCount열려 있는 워크플로의 대략적인 수입니다. 이 지표는 관찰된 실행 중인 워크플로 수보다 적을 것입니다. 열린 워크플로 수를 10,000개 미만으로 실행하면 실행 개수가 0개로 표시될 수 있습니다. 오픈 워크플로 실행의 기본 한도는 1,000,000회이므로 임계값이 100,000개 이상인 최대 통계를 사용하여 임박한 경우 알림을 받으려면 임계값이 100,000개 이상인 최대 통계를 사용하는 것이 좋습니다. OpenExecutionLimit

OpenExecutionLimit

열려 있는 최대 실행 수. 자세한 내용은 계정과 관련된 할당량 단원을 참조하십시오.

이 제한은 익스프레스 워크플로우에는 적용되지 않습니다.

버전 또는 별칭이 있는 스테이트 머신의 실행 메트릭

버전 또는 별칭을 사용하여 상태 머신을 실행하는 경우 Step Functions는 다음 지표를 내보냅니다. 이 ExecutionThrottled 지표는 실행이 제한되는 경우에만 생성됩니다. 이러한 지표에는 특정 상태 머신을 StateMachineArn 식별하기 위한 a가 포함됩니다.

지표 설명
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 실행이 중단되었다고 가정해보겠습니다. 이 실행은 RedrivenExecutionsAbortedExecutionsAborted 모두에 대해 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 네임스페이스에는 상태 시스템의 버전 및 별칭 수에 대한 다음 지표가 포함되어 있습니다.

지표 설명
AliasCount

스테이트 머신에 대해 생성된 별칭의

상태 시스템마다 별칭을 최대 100개까지 만들 수 있습니다.

VersionCount

스테이트 머신에 게시된 버전

상태 시스템 버전을 최대 1,000개까지 게시할 수 있습니다.

버전 및 별칭에 대한 리소스 수 지표의 차원

측정기준 설명
ResourceArn

버전 또는 별칭이 있는 상태 머신의 Amazon 리소스 이름 (ARN)

활동 지표

AWS/States 네임스페이스에는 Step Functions 활동에 대한 다음 지표가 포함되어 있습니다.

지표 설명
ActivityRunTime 활동 시작 시간과 종료 시점 사이의 간격 (밀리초)
ActivityScheduleTime 활동이 스케줄 상태로 유지되는 간격 (밀리초).
ActivityTime 활동이 예약된 시간과 활동이 종료되는 시간 사이의 간격 (밀리초)
ActivitiesFailed 실패한 활동 수
ActivitiesHeartbeatTimedOut 하트비트 타임아웃으로 인해 타임아웃된 액티비티 수입니다.
ActivitiesScheduled 스케줄링된 활동 수.
ActivitiesStarted 시작된 활동 수
ActivitiesSucceeded 성공적으로 완료한 활동 수
ActivitiesTimedOut 마감 시 제한 시간이 초과된 활동 수입니다.

Step Functions 활동 지표의 차원

측정기준 설명

ActivityArn

ARN액티비티.

Lambda 함수 지표

AWS/States 네임스페이스에는 Step Functions Lambda 함수에 대한 다음 지표가 포함되어 있습니다.

지표 설명
LambdaFunctionRunTime Lambda 함수가 시작된 시간과 종료되는 시간 사이의 간격 (밀리초).
LambdaFunctionScheduleTime Lambda 함수가 스케줄 상태로 유지되는 간격 (밀리초)
LambdaFunctionTime Lambda 함수가 스케줄링된 시간과 종료 시간 사이의 간격 (밀리초)
LambdaFunctionsFailed 실패한 Lambda 함수 수입니다.
LambdaFunctionsScheduled 스케줄링된 Lambda 함수의 개수
LambdaFunctionsStarted 시작된 Lambda 함수 수입니다.
LambdaFunctionsSucceeded 성공적으로 완료된 Lambda 함수 수입니다.
LambdaFunctionsTimedOut 종료 시 제한 시간이 초과된 Lambda 함수 수입니다.

Step Functions Lambda 함수 지표의 차원

측정기준 설명

LambdaFunctionArn

Lambda ARN 함수의 함수입니다.

참고

Lambda 함수 지표는 필드에 Lambda 함수를 지정하는 작업 상태에 대해 생성됩니다. ARN Resource "Resource": "arn:aws:states:::lambda:invoke"를 사용하는 Task 상태에서 대신 서비스 통합 지표를 내보냅니다. 자세한 내용은 Step AWS Lambda Functions를 사용하여 함수 호출하기 단원을 참조하십시오.

서비스 통합 지표

AWS/States 네임스페이스에는 Step Functions 서비스 통합에 대한 다음과 같은 지표가 포함되어 있습니다. 자세한 내용은 Step Functions와 다른 서비스 통합 단원을 참조하십시오.

측정치 설명
ServiceIntegrationRunTime 서비스 태스크가 시작된 시간과 종료되는 시점 사이의 간격 (밀리초)
ServiceIntegrationScheduleTime 서비스 태스크가 스케줄 상태로 유지되는 간격 (밀리초)
ServiceIntegrationTime 서비스 태스크가 예약된 시간과 종료되는 시간 사이의 간격 (밀리초)
ServiceIntegrationsFailed 실패한 서비스 작업 수
ServiceIntegrationsScheduled 예약된 서비스 작업 수
ServiceIntegrationsStarted 시작된 서비스 태스크 수
ServiceIntegrationsSucceeded 성공적으로 완료된 서비스 태스크 수
ServiceIntegrationsTimedOut 마감 시 제한 시간이 초과된 서비스 작업 수

Step Functions 서비스 통합 지표의 차원

측정기준 설명

ServiceIntegrationResourceArn

통합 ARN 서비스의 리소스.

서비스 지표

AWS/States 네임스페이스에는 Step Functions 서비스에 대한 다음과 같은 지표가 포함되어 있습니다.

지표 설명
ThrottledEvents

병목 현상이 발생한 요청 수입니다.

ProvisionedBucketSize

초당 사용 가능한 요청 수

ProvisionedRefillRate

버킷에 허용된 초당 요청 수입니다.

ConsumedCapacity

초당 요청 수.

Step Functions 서비스 지표의 차원

측정기준 설명

ServiceMetric

State Transitions 수치를 보여 주는 데이터를 필터링합니다.

API지표

AWS/States네임스페이스에는 Step Functions에 대한 다음 메트릭이 포함되어 있습니다. API

지표 설명
ThrottledEvents

병목 현상이 발생한 요청 수

ProvisionedBucketSize

초당 사용 가능한 요청 수

ProvisionedRefillRate

버킷에 허용된 초당 요청 수입니다.

ConsumedCapacity

초당 요청 수.

Step Functions API 메트릭에 대한 차원

측정기준 설명

APIName

데이터를 지정된 API 이름으로 필터링합니다. API

에서 Step Functions 지표 보기 CloudWatch

CloudWatch 콘솔을 사용하여 실행, 활동, 함수 및 서비스 통합에 대한 Step Functions 지표를 볼 수 있습니다.

  1. 에 AWS Management Console 로그인하고 콘솔을 엽니다. CloudWatch

  2. 지표를 선택하고 모든 지표 탭에서 상태를 선택합니다.

    최근에 실행을 실행했다면 다음과 같은 유형의 지표가 최대 4개까지 표시됩니다.

    • 실행 지표

    • 활동 기능 지표

    • Lambda 함수 주제 지표

    • 서비스 통합 지표

  3. 지표 목록을 보려는 지표 유형을 선택합니다.

    • 지표 이름 또는 StateMachineArn기준으로 지표를 정렬하려면 열 제목을 사용하십시오.

    • 지표에 대한 그래프를 보려면 목록에서 지표 옆의 확인란을 선택합니다. 그래프 보기 위의 시간 범위 컨트롤을 사용하여 그래프 파라미터를 변경할 수 있습니다.

      상대값 또는 절대값(특정 날짜 및 시간)을 사용하여 사용자 지정 시간 범위를 선택할 수 있습니다. 또한 드롭다운 목록을 사용하여 값을 선, 스택형 영역 또는 숫자(값)으로 표시할 수 있습니다.

    • 그래프에 대한 세부 정보를 보려면 그래프 아래에 나타나는 지표 색상 코드를 마우스로 가리키면 지표 세부 정보가 표시됩니다.

CloudWatch 메트릭 사용에 대한 자세한 내용은 Amazon 사용 CloudWatch 설명서의 Amazon CloudWatch 메트릭스 사용을 참조하십시오.

에서 Step Functions 지표에 대한 경보 설정 CloudWatch

Amazon CloudWatch 경보를 사용하여 작업을 수행할 수 있습니다. 예를 들어 경보 임계값에 도달한 시점을 알고 싶은 경우, StateMachinesFailed 지표가 특정 임계값 이상으로 올라가면 Amazon SNS 주제에 알림을 보내거나 이메일을 보내도록 경보를 설정할 수 있습니다.

지표에 대해 경보를 설정하려면

  1. 에 AWS Management Console 로그인하고 CloudWatch 콘솔을 엽니다.

  2. 지표를 선택하고 모든 지표 탭에서 상태를 선택합니다.

    최근에 실행을 실행했다면 다음과 같은 유형의 지표가 최대 4개까지 표시됩니다.

    • 실행 지표

    • 활동 기능 지표

    • Lambda 함수 지표

    • 서비스 통합 지표

  3. 지표 목록을 보려는 지표 유형을 선택합니다.

  4. 지표를 선택한 후 그래프로 표시된 지표를 선택합니다.

  5. 목록에서 지표 옆에 있는 종 모양 아이콘을 선택하여 Create Alarm 페이지를 표시합니다.

  6. 경보 임계값작업에 값을 입력한 후 경보 생성을 선택합니다.

CloudWatch 경보 설정 및 사용에 대한 자세한 내용은 Amazon 사용 CloudWatch 설명서의 Amazon CloudWatch 경보 생성을 참조하십시오.