Amazon CloudWatch를 사용한 Amazon Kinesis Data Streams 서비스 모니터링 - Amazon Kinesis Data Streams

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

Amazon CloudWatch를 사용한 Amazon Kinesis Data Streams 서비스 모니터링

Amazon Kinesis Data Streams 및 Amazon CloudWatch 는 Kinesis 데이터 스트림에 대한 CloudWatch 지표를 수집, 확인 및 분석할 수 있도록 통합되어 있습니다. 예를 들어 샤드 사용을 추적하기 위해 IncomingBytes 지표와 OutgoingBytes 지표를 모니터링하여 이 값을 스트림의 샤드 수와 비교할 수 있습니다.

스트림에 구성한 측정치는 자동으로 수집되어 에 푸시됩니다. CloudWatch 1분마다 측정치는 2주 간 보관되고 그 후에는 삭제됩니다.

다음 표에서는 Kinesis 데이터 스트림의 기본 스트림 수준 및 향상된 샤드 수준 모니터링을 설명합니다.

유형 설명

기본(스트림 수준)

자동으로 스트림 수준 데이터가 1분마다 무료로 전송됩니다.

향상(샤드 수준)

추가 비용을 부담하면 샤드 수준 데이터가 1분마다 전송됩니다. 이러한 데이터 수준을 얻으려면 를 사용하여 스트림에 해당 수준을 사용하도록 설정해야 합니다.EnableEnhancedMonitoring작업

요금에 대한 내용은 을 참조하십시오.아마존 CloudWatch 제품 페이지.

Amazon Kinesis Data Streams 차원 및 지표

Kinesis Data Streams Streams가 CloudWatch 두 가지 수준 (스트림 수준) 과 샤드 수준 (선택 사항) 스트림 수준 지표는 정상적인 조건에서 가장 일반적인 모니터링 사용 사례를 위한 것입니다. 샤드 수준 측정치는 주로 문제 해결과 관련된 특정 모니터링 작업에 사용되며EnableEnhancedMonitoring작업

에서 수집한 통계에 대한 설명은 다음과 같습니다. CloudWatch 지표, 참조CloudWatch 통계아마존 CloudWatch 사용 설명서.

기본적인 스트림 수준 지표

AWS/Kinesis 네임스페이스에는 다음과 같은 스트림 수준 지표가 포함되어 있습니다.

Kinesis Data Streams 는 이러한 스트림 수준 지표를 CloudWatch 1분마다 이 지표는 언제든지 사용할 수 있습니다.

지표 설명
GetRecords.Bytes

지정한 기간 동안 측정된 Kinesis 스트림에서 가져온 바이트 수입니다. Minimum, Maximum 및 Average 통계는 지정한 시간에 스트림에 사용된 단일 GetRecords 작업의 바이트 수를 의미합니다.

샤드 수준 지표 이름: OutgoingBytes

차원: StreamName

통계: Minimum, Maximum, Average

단위: 바이트

GetRecords.IteratorAge

이 지표는 더 이상 사용되지 않습니다. GetRecords.IteratorAgeMilliseconds를 사용합니다.

GetRecords.IteratorAgeMilliseconds

모든 레코드의 마지막 기록의 나이GetRecordsKinesis 스트림에 대해 지정한 시간 동안 측정된 호출입니다. 여기에서 경과 시간이란 현재 시간과 마지막 GetRecords 호출 레코드가 스트림에 작성된 시간의 차이를 말합니다. Minimum 통계와 Maximum 통계는 Kinesis 소비자 애플리케이션의 진행 상황을 추적하는 데 사용할 수 값이 0이면 읽어오는 레코드가 스트림을 완전히 따라잡았다는 것을 의미합니다.

샤드 수준 지표 이름: IteratorAgeMilliseconds

차원: StreamName

통계: 최소, 최대, 평균, 샘플

단위: 밀리초

GetRecords.Latency

GetRecords 작업 1건당 지정한 시간 동안 측정된 소요 시간

차원: StreamName

통계: Minimum, Average

단위: 밀리초

GetRecords.Records

지정한 시간 동안 측정하며, 샤드에서 가져온 레코드 수. Minimum, Maximum 및 Average 통계는 지정한 시간에 스트림에 사용된 단일 GetRecords 작업의 레코드 수를 의미합니다.

샤드 수준 지표 이름: OutgoingRecords

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

GetRecords.Success

지정한 시간 동안 측정하며, 스트림 1회마다 성공한 GetRecords 작업 수

차원: StreamName

통계: 평균, 합계, 샘플

단위: 개수

IncomingBytes

지정한 기간 동안 Kinesis 스트림에 성공적으로 입력된 바이트 수입니다. 이 지표에는 PutRecord 작업과 PutRecords 작업의 바이트 수도 포함됩니다. Minimum, Maximum 및 Average 통계는 지정한 시간에 스트림에 사용된 단일 입력 작업의 바이트 수를 의미합니다.

샤드 수준 지표 이름: IncomingBytes

차원: StreamName

통계: Minimum, Maximum, Average

단위: 바이트

IncomingRecords

지정한 기간 동안 Kinesis 스트림에 성공적으로 입력된 레코드 수입니다. 이 지표에는 PutRecord 작업과 PutRecords 작업의 레코드 수도 포함됩니다. Minimum, Maximum 및 Average 통계는 지정한 시간에 스트림에 사용된 단일 입력 작업의 레코드 수를 의미합니다.

샤드 수준 지표 이름: IncomingRecords

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

PutRecord.Bytes

를 사용하여 Kinesis 스트림에 입력된 바이트 수PutRecord지정한 시간 동안 작업입니다.

차원: StreamName

통계: Minimum, Maximum, Average

단위: 바이트

PutRecord.Latency

PutRecord 작업 1건당 지정한 시간 동안 측정된 소요 시간

차원: StreamName

통계: Minimum, Average

단위: 밀리초

PutRecord.Success

성공한 수PutRecordKinesis 스트림당 작업 (지정한 시간 동안 측정된) Average는 스트림에 대한 성공적인 쓰기 작업 비율을 반영합니다.

차원: StreamName

통계: 평균, 합계, 샘플

단위: 개수

PutRecords.Bytes

를 사용하여 Kinesis 스트림에 입력된 바이트 수PutRecords지정한 시간 동안 작업입니다.

차원: StreamName

통계: Minimum, Maximum, Average

단위: 바이트

PutRecords.Latency

PutRecords 작업 1건당 지정한 시간 동안 측정된 소요 시간

차원: StreamName

통계: Minimum, Average

단위: 밀리초

PutRecords.Records

이 지표는 더 이상 사용되지 않습니다. PutRecords.SuccessfulRecords를 사용합니다.

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

PutRecords.Success

PutRecords지정한 기간 동안 측정된 Kinesis 스트림당 최소 1개 이상의 레코드가 성공한 작업.

차원: StreamName

통계: 평균, 합계, 샘플

단위: 개수

PutRecords.TotalRecords

에서 전송된 총 레코드 수PutRecordsKinesis Data Streams 1건당 작업 (지정한 시간 동안 측정된)

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

PutRecords.SuccessfulRecords

에서 성공한 레코드 수PutRecordsKinesis Data Streams 1건당 작업 (지정한 시간 동안 측정된)

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

PutRecords.FailedRecords

에서 내부 실패로 인해 거부된 레코드 수PutRecordsKinesis Data Streams 1건당 작업 (지정한 시간 동안 측정된) 가끔 내부 실패가 예상되므로 다시 시도해야 합니다.

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

PutRecords.ThrottledRecords

에서 조절로 인해 거부된 레코드 수PutRecordsKinesis Data Streams 1건당 작업 (지정한 시간 동안 측정된)

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

ReadProvisionedThroughputExceeded

지정한 시간 동안 측정하며, 스트림 병목 형상을 초래한 GetRecords 호출 수. 이 지표에서 가장 흔하게 사용되는 통계는 Average입니다.

Minimum 통계 값이 1일 때는 지정한 시간 동안 모든 레코드가 스트림 병목 현상을 초래한 것을 의미합니다.

Maximum 통계 값이 0(영)일 때는 지정한 시간 동안 스트림 병목 현상을 초래한 레코드가 없다는 것을 의미합니다.

샤드 수준 지표 이름: ReadProvisionedThroughputExceeded

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

SubscribeToShard.RateExceeded

이 측정치는 동일한 소비자에 의한 활성 구독이 이미 있기 때문에 새로운 구독 시도가 실패할 경우 또는 이 작업에 허용되는 초당 호출 수를 초과할 경우 생성됩니다.

차원: StreamName, ConsumerName
SubscribeToShard.Success

이 측정치는 SubscribeToShard 구독이 성공적으로 설정되었는지 여부를 기록합니다. 구독은 최대 5분간만 지속됩니다. 따라서 이 측정치는 적어도 5분마다 한 번 생성됩니다.

차원: StreamName, ConsumerName

SubscribeToShardEvent.Bytes

지정한 시간 동안 측정하며, 샤드로부터 수신한 바이트 수. Minimum, Maximum 및 Average 통계는 지정한 시간 동안 단일 이벤트에 게시된 바이트 수를 의미합니다.

샤드 수준 지표 이름: OutgoingBytes

차원: StreamName, ConsumerName

통계: Minimum, Maximum, Average

단위: 바이트

SubscribeToShardEvent.MillisBehindLatest

현재 시간과 마지막 레코드의 시간의 차이 SubscribeToShard 이벤트가 스트림에 작성되었습니다.

차원: StreamName, ConsumerName

통계: 최소, 최대, 평균, 샘플

단위: 밀리초

SubscribeToShardEvent.Records

지정한 시간 동안 측정하며, 샤드로부터 수신한 레코드 수. Minimum, Maximum 및 Average 통계는 지정한 시간 동안 단일 이벤트의 레코드 수를 의미합니다.

샤드 수준 지표 이름: OutgoingRecords

차원: StreamName, ConsumerName

통계: Minimum, Maximum, Average

단위: 개수

SubscribeToShardEvent.Success 이 측정치는 이벤트가 성공적으로 게시될 때마다 생성됩니다. 활성 구독이 있는 경우에만 생성됩니다.

차원: StreamName, ConsumerName

통계: Minimum, Maximum, Average

단위: 개수

WriteProvisionedThroughputExceeded

지정한 시간 동안 스트림 병목 현상으로 인해 거부된 레코드 수. 이 지표에는 PutRecord 작업과 PutRecords 작업에서 발생하는 병목 현상도 포함됩니다. 이 지표에서 가장 흔하게 사용되는 통계는 Average입니다.

Minimum 통계가 0이 아닌 값일 때는 지정한 시간 동안 레코드에 스트림 병목 현상이 발생하였다는 것을 의미합니다.

Maximum 통계 값이 0(영)일 때는 지정한 시간 동안 스트림 병목 현상이 발생한 레코드가 없다는 것을 의미합니다.

샤드 수준 지표 이름: WriteProvisionedThroughputExceeded

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

향상된 샤드 수준 지표

AWS/Kinesis 네임스페이스에는 다음과 같은 샤드 수준 지표가 포함되어 있습니다.

Kinesis 는 다음과 같은 샤드 수준 지표를 로 전송합니다. CloudWatch 1분마다 각 지표 차원은 1을 생성합니다. CloudWatch 메트릭 및 약 43,200을 만듭니다.PutMetricData월별 API 호출 이 지표는 기본적으로 활성화되어 있지 않습니다. Kinesis 에서 내보낸, 향상된 측정치에는 요금이 부과됩니다. 자세한 내용은 단원을 참조하십시오.아마존 CloudWatch 요금제목 아래Amazon CloudWatch 사용자 지정 측정치. 요금은 매월 지표당 공유마다 부과됩니다.

지표 설명
IncomingBytes

지정한 시간 동안 샤드에 성공적으로 입력된 바이트 수. 이 지표에는 PutRecord 작업과 PutRecords 작업의 바이트 수도 포함됩니다. Minimum, Maximum 및 Average 통계는 지정한 시간에 샤드에 사용된 단일 입력 작업의 바이트 수를 의미합니다.

스트림 수준 지표 이름: IncomingBytes

차원: StreamName

통계: Minimum, Maximum, Average

단위: 바이트

IncomingRecords

지정한 시간 동안 샤드에 성공적으로 입력된 레코드 수. 이 지표에는 PutRecord 작업과 PutRecords 작업의 레코드 수도 포함됩니다. Minimum, Maximum 및 Average 통계는 지정한 시간에 샤드에 사용된 단일 입력 작업의 레코드 수를 의미합니다.

스트림 수준 지표 이름: IncomingRecords

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

IteratorAgeMilliseconds

샤드에 대한 모든 GetRecords 호출에서 지정한 기간 동안 측정된 마지막 레코드의 경과 시간. 여기에서 경과 시간이란 현재 시간과 마지막 GetRecords 호출 레코드가 스트림에 작성된 시간의 차이를 말합니다. Minimum 통계와 Maximum 통계는 Kinesis 소비자 애플리케이션의 진행 상황을 추적하는 데 사용할 수 값이 0(영)이면 읽어오는 레코드가 스트림을 완전히 따라잡았다는 것을 의미합니다.

스트림 수준 지표 이름: GetRecords.IteratorAgeMilliseconds

차원: StreamName

통계: 최소, 최대, 평균, 샘플

단위: 밀리초

OutgoingBytes

지정한 시간 동안 측정하며, 샤드에서 가져온 바이트 수. Minimum, Maximum 및 Average 통계는 지정한 시간 동안 단일 GetRecords 작업에서 반환된 또는 샤드의 단일 SubscribeToShard 이벤트에서 게시된 바이트 수를 의미합니다.

스트림 수준 지표 이름: GetRecords.Bytes

차원: StreamName

통계: Minimum, Maximum, Average

단위: 바이트

OutgoingRecords

지정한 시간 동안 측정하며, 샤드에서 가져온 레코드 수. Minimum, Maximum 및 Average 통계는 지정한 시간 동안 단일 GetRecords 작업에서 반환된 또는 샤드의 단일 SubscribeToShard 이벤트에서 게시된 레코드 수를 의미합니다.

스트림 수준 지표 이름: GetRecords.Records

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

ReadProvisionedThroughputExceeded

지정한 시간 동안 측정하며, 샤드 병목 형상을 초래한 GetRecords 호출 수. 이 예외 수는 1초마다 샤드 1개당 읽기 수가 5개이거나, 샤드 1개마다 초당 읽기 크기가 2MB로 제한되는 모든 차원에 적용됩니다. 이 지표에서 가장 흔하게 사용되는 통계는 Average입니다.

Minimum 통계 값이 1일 때는 지정한 시간 동안 모든 레코드가 샤드 병목 현상을 초래한 것을 의미합니다.

Maximum 통계 값이 0(영)일 때는 지정한 시간 동안 샤드 병목 현상을 초래한 레코드가 없다는 것을 의미합니다.

스트림 수준 지표 이름: ReadProvisionedThroughputExceeded

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

WriteProvisionedThroughputExceeded

지정한 시간 동안 샤드 병목 현상으로 인해 거부된 레코드 수. 이 지표는 PutRecord 작업과 PutRecords 작업의 병목 현상도 포함되며, 샤드 1개마다 초당 레코드 수가 1,000개이거나, 혹은 샤드 1개마다 초당 레코드 크기가 1MB로 제한되는 모든 차원에 적용됩니다. 이 지표에서 가장 흔하게 사용되는 통계는 Average입니다.

Minimum 통계가 0이 아닌 값일 때는 지정한 시간 동안 레코드에 샤드 병목 현상이 발생하였다는 것을 의미합니다.

Maximum 통계 값이 0(영)일 때는 지정한 시간 동안 샤드 병목 현상이 발생한 레코드가 없다는 것을 의미합니다.

스트림 수준 지표 이름: WriteProvisionedThroughputExceeded

차원: StreamName

통계: Minimum, Maximum, Average

단위: 개수

Amazon Kinesis Data Streams 지표의 차원

측정기준

설명

StreamName

Kinesis 비디오 스트림의 이름입니다. 사용 가능한 모든 통계는 다음으로 필터링됩니다.StreamName.

Amazon Kinesis Data Streams 지표

Kinesis Data Streams 고객이 특히 관심을 가질 수 있는 몇 가지 Amazon Kinesis Data Streams 다음은 권장되는 측정치와 그 용도 목록입니다.

지표 사용 시 주의사항

GetRecords.IteratorAgeMilliseconds

스트림의 모든 샤드와 소비자에서 읽기 위치를 추적합니다. 반복자 수명이 보존 기간(기본적으로 24시간, 최대 7일까지 구성 가능)의 50%를 경과하면 레코드 만료로 인해 데이터가 손실될 위험이 있습니다. 를 사용할 것을 권장합니다. CloudWatch 손실이 위험하기 전에 알리도록 최대 통계에 경보를 표시합니다. 이 측정치가 사용되는 시나리오의 예는 소비자 레코드 처리 속도가 느려지는 경우를 참조하십시오.

ReadProvisionedThroughputExceeded

소비자 측 레코드 처리 속도가 느려질 때 병목 현상이 일어난 위치를 알기 어려울 때가 있습니다. 이 측정치를 사용하여 읽기 처리량 제한 초과로 인해 읽기가 제한되고 있는지 확인하십시오. 이 지표에서 가장 흔하게 사용되는 통계는 Average입니다.

WriteProvisionedThroughputExceeded ReadProvisionedThroughputExceeded 측정치와 같은 용도지만 스트림의 생산자(넣기) 측에 사용됩니다. 이 지표에서 가장 흔하게 사용되는 통계는 Average입니다.
PutRecord.Success, PutRecords.Success 를 사용할 것을 권장합니다. CloudWatch 레코드가 스트림에 대해 실패할지 나타내기 위해 평균 통계에 경보를 표시합니다. 생산자가 무엇을 사용하는지에 따라 put 유형을 한 개 또는 둘 다 선택합니다. Kinesis 프로듀서 라이브러리 (KPL) 를 사용하는 경우PutRecords.Success.
GetRecords.Success 를 사용할 것을 권장합니다. CloudWatch 레코드가 스트림에서 실패할지 나타내기 위해 평균 통계에 경보를 표시합니다.

Amazon 액세스 CloudWatch Kinesis Data Streams 지표

다음을 사용하여 Kinesis Data Streams Streams의 지표를 모니터링할 CloudWatch 콘솔, 명령줄 또는 CloudWatch API. 다음의 절차는 이처럼 다양한 방법을 사용하여 측정치에 액세스하는 방법을 설명합니다.

를 사용하여 측정치에 액세스하려면 CloudWatch 콘솔

  1. 열기 CloudWatch 을 사용하여 콘솔https://console.aws.amazon.com/cloudwatch/.

  2. 탐색 모음에서 리전을 선택합니다.

  3. 탐색 창에서 지표(Metrics)를 선택합니다.

  4. CloudWatch Metrics by Category(범주별 CloudWatch 지표) 창에서 Kinesis Metrics(Kinesis 지표)를 선택합니다.

  5. 관련 행을 클릭하여 지정된 MetricNameStreamName의 통계를 봅니다.

    참고: 대부분의 콘솔 통계 이름은 해당 이름과 일치합니다. CloudWatch 위에 나열된 지표 이름 (제외)읽기 처리량쓰기 처리량. 이러한 통계는 5분 간격으로 계산됩니다. 쓰기 처리량모니터링IncomingBytesCloudWatch 지표 및읽기 처리량모니터GetRecords.Bytes.

  6. (선택 사항) 그래프 창에서 통계와 시간 기간을 선택한 후 CloudWatch 이 설정을 사용하여 경보합니다.

AWS CLI를 사용하여 측정치에 액세스하려면

list-metrics 명령과 get-metric-statistics 명령을 사용합니다.

를 사용하여 측정치에 액세스하려면 CloudWatch CLI

mon-list-metrics 명령과 mon-get-stats 명령을 사용합니다.

를 사용하여 측정치에 액세스하려면 CloudWatch API

ListMetrics 작업과 GetMetricStatistics 작업을 사용합니다.