Amazon에서 Kinesis 프로듀서 라이브러리를 모니터링하십시오. CloudWatch - Amazon Kinesis Data Streams

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

Amazon에서 Kinesis 프로듀서 라이브러리를 모니터링하십시오. CloudWatch

Amazon Kinesis 데이터 스트림용 Kinesis 프로듀서 라이브러리 (KPL) 는 사용자를 대신하여 사용자 지정 Amazon CloudWatch 지표를 게시합니다. CloudWatch 콘솔로 이동한 다음 사용자 지정 지표를 선택하면 이러한 지표를 볼 수 있습니다. 사용자 지정 지표에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 사용자 지정 지표 게시를 참조하십시오.

에서 업로드한 지표에는 소액의 요금이 부과되며, 특히 Amazon CloudWatch Custom Metrics 및 Amazon CloudWatch API Requests 요금이 적용됩니다KPL. CloudWatch 자세한 내용은 Amazon CloudWatch 요금을 참조하십시오. 로컬 지표 수집에는 CloudWatch 요금이 부과되지 않습니다.

지표, 차원, 네임스페이스

를 시작할 때 애플리케이션 이름을 지정할 수 있으며KPL, 이 이름은 메트릭을 업로드할 때 네임스페이스의 일부로 사용됩니다. 이는 선택 사항이며, 는 애플리케이션 이름이 설정되지 않은 경우 기본값을 KPL 제공합니다.

지표에 임의의 추가 측정기준을 KPL 추가하도록 를 구성할 수도 있습니다. 이는 지표에서 더 세밀한 데이터를 원하는 경우에 유용합니다. CloudWatch 예를 들어, 호스트 이름을 차원으로 추가하여 플릿에서 고르지 못한 로드 분산을 식별할 수 있습니다. 모든 KPL 구성 설정은 변경할 수 없으므로 인스턴스가 초기화된 후에는 이러한 추가 차원을 변경할 수 없습니다. KPL

지표 수준 및 세분성

업로드되는 지표 수를 제어하는 두 가지 옵션이 있습니다. CloudWatch

지표 수준

측정치의 중요성을 나타내는 대략적인 게이지입니다. 모든 측정치에는 수준이 할당됩니다. 수준을 설정하면 수준 이하의 지표는 전송되지 않습니다 CloudWatch. 수준은 NONE, SUMMARYDETAILED입니다. 기본 설정은 DETAILED, 즉 모든 지표입니다. NONE은 지표가 전혀 없음을 의미하므로 실제로 해당 수준에 지표가 할당되지 않습니다.

세부 수준

추가 세부 수준에서 동일한 측정치를 내보내는지 여부를 제어합니다. 수준은 GLOBAL, STREAMSHARD입니다. 기본 설정은 가장 세분화된 측정치를 포함하는 SHARD입니다.

SHARD를 선택하면 스트림 이름과 샤드 ID를 차원으로 하여 측정치를 내보냅니다. 또한 스트림 이름이 없는 측정치와 스트림 이름 차원만으로도 동일한 측정치를 내보냅니다. 즉, 특정 지표에 대해 각각 샤드가 두 개씩 있는 두 개의 스트림은 샤드당 하나, 스트림당 하나, 전체적으로 하나씩 총 7개의 CloudWatch 지표를 생성합니다. 모두 동일한 통계를 설명하지만 세부 수준은 다릅니다. 다음 다이어그램을 참조하십시오.

여러 세부 수준이 계층 구조를 형성하고 시스템의 모든 지표는 지표 이름을 토대로 트리를 형성합니다.

MetricName (GLOBAL): Metric X Metric Y | | ----------------- ------------ | | | | StreamName (STREAM): Stream A Stream B Stream A Stream B | | -------- --------- | | | | ShardID (SHARD): Shard 0 Shard 1 Shard 0 Shard 1

모든 측정치를 샤드 수준에서 사용할 수 있는 것은 아니며 본질적으로 스트림 수준이나 전역 수준에서 사용할 수 있는 측정치도 있습니다. 샤드 수준 지표를 활성화한 경우에도 이 측정치가 샤드 수준에서 생성되지 않습니다(위 다이어그램의 Metric Y).

추가 차원을 지정할 때 tuple:<DimensionName, DimensionValue, Granularity>에 값을 제공해야 합니다. 사용자 지정 차원이 계층 구조에 삽입되는 위치를 결정하기 위해 세부 수준을 사용합니다. GLOBAL은 지표 이름 뒤, STREAM은 스트림 이름 뒤, SHARD는 샤드 ID 뒤에 추가 차원을 삽입한다는 의미입니다. 여러 추가 차원이 세부 수준별로 제공되면 지정된 순서대로 삽입됩니다.

로컬 액세스 및 Amazon CloudWatch 업로드

현재 KPL 인스턴스의 지표는 로컬에서 실시간으로 사용할 수 있으므로 KPL 언제든지 쿼리하여 가져올 수 있습니다. 에서는 에서와 같이 모든 지표의 합계, 평균, 최소값, 최대값, 개수를 KPL 로컬에서 CloudWatch 계산합니다.

프로그램 시작부터 현재 시점까지 누적된 통계를 가져오거나 지난 N초(N은 1~60 사이의 정수) 동안 롤링 윈도우를 사용하여 통계를 가져올 수 있습니다.

모든 지표를 업로드할 CloudWatch 수 있습니다. 특히 여러 호스트의 데이터 집계, 모니터링 및 경보에 유용합니다. 로컬에서는 이 기능을 사용할 수 없습니다.

전에 설명한 대로 측정치 수준세부 수준 설정으로 업로드할 측정치를 선택할 수 있습니다. 업로드되지 않은 측정치를 로컬에서 사용할 수 있습니다.

트래픽이 많을 때 초당 수백만 개의 업로드가 이루어지기 때문에 데이터 요소를 개별적으로 업로드하는 것은 적절하지 않습니다. 이러한 이유로 에서는 로컬에서 지표를 1분 버킷으로 KPL 집계하고 통계 개체를 활성화된 지표당 분당 1회로 업로드합니다. CloudWatch

지표 목록

지표 설명
UserRecordsReceived

PUT 작업에 대해 KPL 코어가 수신한 논리적 사용자 레코드 수. 샤드 수준에서 사용할 수 없습니다.

측정치 수준: Detailed

단위: 수

UserRecordsPending

현재 대기 중인 사용자 레코드 수의 주기적 샘플입니다. 레코드가 현재 버퍼되고 전송을 기다리고 있거나 백엔드 서비스로 전송 및 이동 중일 경우 레코드는 대기 중 상태입니다. 샤드 수준에서 사용할 수 없습니다.

는 고객이 풋레이트를 관리할 수 있도록 글로벌 수준에서 이 지표를 검색할 수 있는 전용 방법을 KPL 제공합니다.

측정치 수준: Detailed

단위: 수

UserRecordsPut

성공적으로 입력된 논리적 사용자 레코드 수입니다.

는 이 지표의 실패한 레코드를 계산하지 KPL 않습니다. 평균을 통해 성공률을, 개수를 통해 총 시도 수를, 개수와 합계의 차이를 통해 실패 수를 알 수 있습니다.

측정치 수준: Summary

단위: 수

UserRecordsDataPut

성공적으로 입력된 논리적 사용자 레코드의 바이트입니다.

측정치 수준: Detailed

단위: 바이트

KinesisRecordsPut

성공적으로 입력된 Kinesis Data Streams 레코드 수입니다. 각 Kinesis Data Streams 레코드에는 여러 사용자 레코드가 포함될 수 있습니다.

실패한 레코드는 0을 KPL 출력합니다. 평균을 통해 성공률을, 개수를 통해 총 시도 수를, 개수와 합계의 차이를 통해 실패 수를 알 수 있습니다.

측정치 수준: Summary

단위: 수

KinesisRecordsDataPut

Kinesis Data Streams 레코드의 바이트 수입니다.

측정치 수준: Detailed

단위: 바이트

ErrorsByCode

각 오류 코드 유형의 개수입니다. ErrorCodeStreamName와 같은 일반 차원 이외에 ShardId의 추가 차원이 있습니다. 모든 오류를 샤드로 추적할 수 있는 것은 아닙니다. 스트림 또는 전역 수준에서만 추적할 수 없는 오류를 내보냅니다. 조절, 샤드 맵 변경, 내부 오류, 서비스 사용 불가, 시간 초과 등에 대한 정보가 이 측정치에 캡처됩니다.

Kinesis 데이터 API 스트림 오류는 Kinesis 데이터 스트림 레코드당 한 번 계산됩니다. Kinesis Data Streams 레코드에 있는 여러 사용자 레코드는 여러 번 계산되지 않습니다.

측정치 수준: Summary

단위: 수

AllErrors

Errors by Code(코드별 오류)와 동일한 오류로 트리거되지만 유형을 구별하지 않습니다. 다른 모든 유형의 오류 개수 합계를 수동으로 계산하지 않고도 오류 비율을 전반적으로 모니터링할 수 있어 유용합니다.

측정치 수준: Summary

단위: 수

RetriesPerRecord

사용자 레코드마다 수행한 재시도 수입니다. 레코드가 한 번에 성공하면 0을 내보냅니다.

사용자 레코드가 완료(성공하거나 더 이상 재시도할 수 없는 경우)되면 데이터를 내보냅니다. 레코드 값이 크면 이 time-to-live 지표가 상당히 지연될 수 있습니다.

측정치 수준: Detailed

단위: 수

BufferingTime

사용자 레코드가 백엔드에 KPL 도착하고 백엔드로 나가는 데 걸리는 시간입니다. 레코드별로 이 정보를 사용자에게 다시 전송하지만 집계된 통계로 사용할 수도 있습니다.

측정치 수준: Summary

단위: 밀리초

Request Time

PutRecordsRequests를 수행하는 데 소요되는 시간입니다.

측정치 수준: Detailed

단위: 밀리초

User Records per Kinesis Record

단일 Kinesis Data Streams 레코드에 집계된 논리적 사용자 레코드 수입니다.

측정치 수준: Detailed

단위: 수

Amazon Kinesis Records per PutRecordsRequest

단일 PutRecordsRequest에 집계된 Kinesis Data Streams 레코드 수입니다. 샤드 수준에서 사용할 수 없습니다.

측정치 수준: Detailed

단위: 수

User Records per PutRecordsRequest

PutRecordsRequest에 포함된 총 사용자 레코드 수입니다. 앞의 두 측정치의 결과와 거의 비슷합니다. 샤드 수준에서 사용할 수 없습니다.

측정치 수준: Detailed

단위: 수