CloudWatch Metrics from the Kinesis Producer Library

Kinesis Producer Library를 사용하는 동안 Amazon CloudWatch에서 어떤 지표를 얻을 수 있는지 알아보겠습니다.

Kinesis Producer Library는 Apache Flink용 Kinesis Data Analytics와 같은 애플리케이션에서 실행되는 애플리케이션과 별개로 자체 지표를 생성합니다. 이러한 지표는 Amazon CloudWatch에 게시되고 Kinesis Producer Library Processes가 실행될 때 고유한 형태로 제공됩니다.

AWS 관리 콘솔에서 CloudWatch 서비스로 이동합니다 .

왼쪽 패널 Metrics 탭 아래 있는 All Metrics를 선택합니다.

사용자 지정 네임스페이스에 있는 KinesisProducerLibrary를 선택합니다. 지표가 속할 네임스페이스는 KinesisProducerConfiguration를 통해서 수정 가능합니다.

StreamName을 선택해서 각 Kinesis Data Stream 별로 구분된 CloudWatch 지표를 확인합니다.

Metric Level and Granularity

KinesisProducerConfiguration에서 MetricsGranularity 또는 MetricsLevel 매개변수를 설정해서 KPL에서 CloudWatch로 수집되는 지표 갯수를 지정할수 있습니다.

MetricsLevel 매개변수에는 아래와 같은 값을 지정할수 있습니다.

  • none

  • summary

  • detailed (기본값, 모든 지표)

MetricsGranularity 매개변수에는 아래와 같은 값을 지정할수 있습니다.

  • global

  • stream

  • shard (기본값, 가장 세분화된 수준)

MetricsGranularity 매개변수 값이 shard인 경우 ShardId로 구분된 지표를 확인할수 있고, stream인 경우 스트림 수준의 지표를 확인할수 있습니다. 모든 지표가 스트림 또는 샤드 수준에서 제공되지 않습니다.

Metrics

KPL에서 제공하는 모든 지표 목록 및 전송, 대기 혹은 수신된 레코드 갯수등을 포함하는 상세한 수준의 UserRecords 관련 지표들에 대한 정보는 해당 문서에서 확인할 수 있습니다. KPL은 Kinesis 레코드(집계된 사용자 레코드) 및 오류 코드에 대한 지표도 생성합니다.

운영 환경에서의 Kinesis Producer의 성능을 평가하고자 한다면

  • UserRecordsPending

  • BufferingTime

  • RetriesPerRecord

지표를 통해서 사용자 레코드가 Kinesis Data Stream으로 전송되기 전에 KPL에서 얼마나 길게 대기하는지 확인하고 해당 지표들의 값들이 높다면 Kinesis Data Stream을 확장해야 합니다.

추가로 ProvisionedThroughputExceededException 지표를 통헤서 Kinesis Data Stream에 Throttling이 발생하고 있는지 확인 할수 있습니다.

위에서 명시된 지표 또는 여타 다른 지표들을 지속적으로 모니터링해서 Kinesis Data Stream이 원활한 성능을 유지하는지 확인할 것을 권장합니다.

Last updated