아마존 매니지드 서비스에서 아파치 플링크용 CloudWatch 알람 사용하기 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

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

아마존 매니지드 서비스에서 아파치 플링크용 CloudWatch 알람 사용하기

Amazon CloudWatch 지표 경보를 사용하면 지정한 기간 동안 CloudWatch 지표를 관찰할 수 있습니다. 이러한 경보는 여러 기간에 대해 지정된 임계값과 지표 또는 표현식의 값을 비교하여 하나 이상의 작업을 수행합니다. 작업의 예로는 Amazon 단순 알림 서비스 (AmazonSNS) 주제에 알림을 보내는 경우를 들 수 있습니다.

경보에 대한 자세한 내용은 Amazon CloudWatch CloudWatch 경보 사용을 참조하십시오.

이 섹션은 Managed Service for Apache Flink 애플리케이션을 모니터링할 때 권장되는 경보를 설명합니다.

이 표에는 권장 경보가 설명되어 있으며 다음과 같은 열이 있습니다.

  • 지표 표현식: 임계값에 비춰 테스트할 지표나 지표 표현식입니다.

  • 통계: 지표를 확인하는 데 사용되는 통계(예: 평균)입니다.

  • 임계값: 이 경보를 사용하려면 예상 애플리케이션 성능의 한계를 정의하는 임계값을 결정해야 합니다. 이 임계값은 정상적인 조건에서 애플리케이션을 모니터링하여 결정해야 합니다.

  • 설명: 이 경보를 트리거할 수 있는 원인과 해당 조건에 대한 가능한 해결 방법.

지표 표현식 통계 Threshold 설명
downtime> 0 평균 0 다운타임이 0보다 크면 애플리케이션이 실패했음을 나타냅니다. 값이 0보다 크면 애플리케이션에서 데이터를 처리하지 않는 것입니다. 모든 애플리케이션에 권장됩니다. 이 Downtime 지표는 정전 기간을 측정합니다. 다운타임이 0보다 크면 애플리케이션이 실패했음을 나타냅니다. 문제 해결에 대한 내용은 을 참조하십시오애플리케이션 재시작 중.
RATE (numberOfFailedCheckpoints)> 0 평균 0 이 지표는 애플리케이션이 시작된 이후 실패한 체크포인트 수를 계산합니다. 애플리케이션에 따라 가끔 체크포인트에 장애가 발생해도 괜찮을 수 있습니다. 그러나 체크포인트에 정기적으로 장애가 발생하면 애플리케이션이 비정상일 가능성이 높으므로 추가 주의가 필요합니다. 절대값이 아닌 그래디언트에 대해 경보를 울리도록 모니터링 RATE (numberOfFailed체크포인트) 하는 것이 좋습니다. 모든 어플리케이션에 권장됩니다. 이 지표를 사용하여 애플리케이션 상태 및 체크포인트 진행 상황을 모니터링할 수 있습니다. 애플리케이션은 상태가 정상일 때 상태 데이터를 체크포인트에 저장합니다. 애플리케이션이 입력 데이터 처리를 진행하지 않는 경우 시간 초과로 인해 체크포인팅이 실패할 수 있습니다. 문제 해결에 대한 내용은 을 참조하십시오. 체크포인트 시간이 초과되었습니다.
Operator.numRecordsOutPerSecond< 임계값 평균 정상 상태에서 애플리케이션에서 내보내는 최소 레코드 수입니다. 모든 애플리케이션에 권장됩니다. 이 임계값 아래로 떨어지면 애플리케이션이 입력 데이터에 대해 예상한 진행률을 보이지 않을 수 있습니다. 문제 해결에 대한 내용은 을 참조하십시오처리량이 너무 느림.
records_lag_max|millisbehindLatest> 임계값 Maximum 정상 상태에서의 최대 예상 지연 시간. 애플리케이션이 Kinesis 또는 Kafka를 사용하는 경우 이러한 지표는 애플리케이션이 지연되고 있으며 현재 로드를 따라잡기 위해 규모를 조정해야 하는지 여부를 나타냅니다. 이는 모든 종류의 애플리케이션에서 쉽게 추적할 수 있는 유용한 일반 지표입니다. 하지만 애플리케이션이 이미 뒤쳐진 경우 등 반응형 스케일링에만 사용할 수 있습니다. 모든 애플리케이션에 권장됩니다. Kafka 소스의 경우 records_lag_max 메트릭을 사용하고 Kinesis 스트림 millisbehindLatest 소스에는 를 사용하십시오. 이 임계값을 초과하면 애플리케이션이 입력 데이터에 대해 예상한 진행 상황을 보이지 않을 수 있습니다. 문제 해결에 대한 내용은 을 참조하십시오처리량이 너무 느림.
lastCheckpointDuration> 임계값 Maximum 정상 상태에서의 최대 예상 체크포인트 지속 시간 상태에 저장된 데이터의 양과 체크포인트를 생성하는 데 걸리는 시간을 모니터링합니다. 체크포인트가 늘어나거나 시간이 오래 걸리면 애플리케이션은 체크포인트에 지속적으로 시간을 소비하게 되고 실제 처리에 소요되는 주기도 줄어듭니다. 어떤 지점에서는 체크포인트가 너무 커지거나 너무 오래 걸려 실패할 수 있습니다. 절대값을 모니터링하는 것 외에도 고객은 RATE(lastCheckpointSize)RATE(lastCheckpointDuration)를 사용하여 변경률을 모니터링하는 것도 고려해야 합니다. 값이 lastCheckpointDuration 계속 증가하면 이 임계값 이상으로 올라가면 응용 프로그램이 입력 데이터에 대해 예상한 진행률을 보이지 않거나 배압과 같은 응용 프로그램 상태에 문제가 있음을 의미할 수 있습니다. 문제 해결에 대한 내용은 을 참조하십시오무한한 국가 성장.
lastCheckpointSize> 임계값 Maximum 정상 조건에서 예상되는 최대 체크포인트 크기. 상태에 저장된 데이터의 양과 체크포인트를 생성하는 데 걸리는 시간을 모니터링합니다. 체크포인트가 늘어나거나 시간이 오래 걸리면 애플리케이션은 체크포인트에 지속적으로 시간을 소비하게 되고 실제 처리에 소요되는 주기도 줄어듭니다. 어떤 지점에서는 체크포인트가 너무 커지거나 너무 오래 걸려 실패할 수 있습니다. 절대값을 모니터링하는 것 외에도 고객은 RATE(lastCheckpointSize)RATE(lastCheckpointDuration)를 사용하여 변경률을 모니터링하는 것도 고려해야 합니다. 이 값이 lastCheckpointSize 계속 증가하는 경우 이 임계값을 초과하면 응용 프로그램이 상태 데이터를 누적하고 있음을 의미할 수 있습니다. 상태 데이터가 너무 커지면 검사점에서 복구할 때 응용 프로그램의 메모리가 부족해지거나 검사점에서 복구하는 데 시간이 너무 오래 걸릴 수 있습니다. 문제 해결에 대한 내용은 을 참조하십시오. 무한한 국가 성장
heapMemoryUtilization> 임계값 Maximum 이는 애플리케이션의 전체 리소스 사용률을 잘 나타내며 애플리케이션이 I/O에 바인딩되지 않는 한 사전 예방적 확장에 사용할 수 있습니다. 정상 상태에서의 최대 예상 heapMemoryUtilization 크기, 권장 값은 90% 입니다. 이 메트릭을 사용하여 응용 프로그램 전반에서 작업 관리자의 최대 메모리 사용률을 모니터링할 수 있습니다. 응용 프로그램이 이 임계값에 도달하면 더 많은 리소스를 프로비전해야 합니다. 이를 위해서는 자동 크기 조정을 활성화하거나 애플리케이션 병렬성을 높이면 됩니다. 리소스 증가에 대한 자세한 내용은 을 참조하십시오. 스케일링
cpuUtilization> 임계값 Maximum 이는 애플리케이션의 전체 리소스 사용률을 잘 나타내며 애플리케이션이 I/O에 바인딩되지 않는 한 사전 예방적 확장에 사용할 수 있습니다. 정상 상태에서의 최대 예상 cpuUtilization 크기, 권장 값은 80% 입니다. 이 지표를 사용하여 응용 프로그램 전반에서 작업 관리자의 최대 CPU 사용률을 모니터링할 수 있습니다. 응용 프로그램이 이 임계값에 도달하면 자동 크기 조정을 활성화하거나 응용 프로그램 병렬성을 높이면 더 많은 리소스를 프로비전해야 합니다. 리소스 증가에 대한 자세한 내용은 을 참조하십시오. 스케일링
threadsCount> 임계값 Maximum 정상 상태에서의 최대 예상 threadsCount 크기. 이 지표를 사용하여 애플리케이션 전반의 작업 관리자에서 스레드 누수를 관찰할 수 있습니다. 이 지표가 이 임계값에 도달하면 애플리케이션 코드에서 스레드가 닫히지 않고 생성되고 있는지 확인하세요.
(oldGarbageCollectionTime * 100)/60_000 over 1 min period')> 임계값 Maximum 최대 예상 oldGarbageCollectionTime 기간. 일반적인 가비지 수집 시간이 지정된 임계값의 60% 가 되도록 임계값을 설정하는 것이 좋지만 애플리케이션에 맞는 임계값은 달라질 수 있습니다. 이 지표가 계속 증가하면 응용 프로그램 전체의 작업 관리자에 메모리 누수가 발생한 것일 수 있습니다.
RATE(oldGarbageCollectionCount) > 임계값 Maximum 정상 oldGarbageCollectionCount 조건에서 예상되는 최대값입니다. 신청에 맞는 정확한 임계값은 달라질 수 있습니다. 이 지표가 계속 증가하면 응용 프로그램 전체의 작업 관리자에 메모리 누수가 발생한 것일 수 있습니다.
Operator.currentOutputWatermark - Operator.currentInputWatermark > 임계값 최소 정상 조건에서 예상되는 최소 워터마크 증가량. 애플리케이션에 맞는 정확한 임계값은 달라질 수 있습니다. 이 지표가 계속 증가한다면 애플리케이션에서 점점 더 오래된 이벤트를 처리하고 있거나 업스트림 하위 작업이 워터마크를 보낸 지 점점 더 오랜 시간이 지났음을 의미할 수 있습니다.