

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

# Amazon MSK 프로비저닝된 클러스터 모니터링
<a name="monitoring"></a>

Amazon MSK를 사용하여 Amazon MSK 프로비저닝된 클러스터의 상태를 모니터링하는 데 도움이 되는 몇 가지 방법이 있습니다.
+ Amazon MSK는 Apache Kafka 지표를 수집하여 사용자가 볼 수 있는 Amazon CloudWatch로 전송합니다. Amazon MSK가 표시하는 지표를 포함하여 Apache Kafka 지표에 대한 자세한 내용은 Apache Kafka 설명서에서 [모니터링](http://kafka.apache.org/documentation/#monitoring)을 참조하세요.
+ 또한 오픈 소스 모니터링 애플리케이션인 Prometheus로 MSK 클러스터를 모니터링할 수도 있습니다. Prometheus에 대한 자세한 내용은 Prometheus 설명서의 [Overview](https://prometheus.io/docs/introduction/overview/)를 참조하십시오. Prometheus를 사용하여 MSK 프로비저닝된 클러스터를 모니터링하는 방법은 [Prometheus를 사용하여 MSK 프로비저닝 클러스터 모니터링](open-monitoring.md) 섹션을 참조하세요.
+ (Standard 브로커 전용) Amazon MSK는 프로비저닝된 클러스터가 스토리지 용량 한도에 도달하려 할 때 스토리지 용량 알림을 자동으로 전송하여 디스크 스토리지 용량을 모니터링할 수 있도록 도와줍니다. 또한 알림은 탐지된 문제를 해결할 수 있는 최선의 조치에 대한 권장 사항을 제공합니다. 이를 통해 디스크 용량 문제가 심각해지기 전에 이를 식별하여 신속하게 해결할 수 있습니다. Amazon MSK는 이러한 알림을 AWS 계정의 [Amazon MSK 콘솔](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/) Health Dashboard, Amazon EventBridge 및 이메일 연락처로 자동으로 전송합니다. 스토리지 용량 알림에 대한 자세한 내용은 [Amazon MSK 스토리지 용량 알림 사용](cluster-alerts.md) 섹션을 참조하세요.

**Topics**
+ [CloudWatch를 사용하여 Amazon MSK 지표 보기](cloudwatch-metrics.md)
+ [CloudWatch를 이용한 Standard 브로커 모니터링을 위한 Amazon MSK 지표](metrics-details.md)
+ [CloudWatch를 사용한 Express 브로커 모니터링에 대한 Amazon MSK 지표](metrics-details-express.md)
+ [Prometheus를 사용하여 MSK 프로비저닝 클러스터 모니터링](open-monitoring.md)
+ [소비자 지연 모니터링](consumer-lag.md)
+ [Amazon MSK 스토리지 용량 알림 사용](cluster-alerts.md)

# CloudWatch를 사용하여 Amazon MSK 지표 보기
<a name="cloudwatch-metrics"></a>

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

**CloudWatch 콘솔을 사용하여 지표에 액세스**

에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) CloudWatch 콘솔을 엽니다.

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

1. **모든 지표** 탭을 선택한 다음 **AWS/Kafka**를 선택합니다.

1. 주제 수준 지표를 보려면 **주제, 브로커 ID, 클러스터 이름**을 선택하고 브로커 수준 지표의 경우 **브로커 ID, 클러스터 이름**을 선택하고 클러스터 수준 지표의 경우 **클러스터 이름**을 선택합니다.

1. (선택 사항) 그래프 창에서 통계와 기간을 선택한 후 해당 설정을 사용하여 CloudWatch 경보를 생성합니다.

**를 사용하여 지표에 액세스하려면 AWS CLI**  
[list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 명령과 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 사용합니다.

**CloudWatch 콘솔을 사용하여 지표에 액세스**  
[mon-list-metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-list-metrics.html) 명령과 [mon-get-stats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-get-stats.html) 명령을 사용합니다.

**CloudWatch API를 사용하여 지표에 액세스**  
[ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) 작업과 [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) 작업을 사용합니다.

# CloudWatch를 이용한 Standard 브로커 모니터링을 위한 Amazon MSK 지표
<a name="metrics-details"></a>

Amazon MSK는 Amazon CloudWatch와 통합되므로 MSK Standard 브로커에 대한 CloudWatch 지표를 수집, 조회, 분석할 수 있습니다. MSK 프로비저닝된 클러스터에 대해 구성한 지표는 1분 간격으로 자동으로 수집되어 CloudWatch로 푸시됩니다. MSK 프로비저닝된 클러스터의 모니터링 수준을 `DEFAULT`, `PER_BROKER`, `PER_TOPIC_PER_BROKER` 또는 `PER_TOPIC_PER_PARTITION` 중 하나로 설정할 수 있습니다. 다음 섹션의 표에는 각 모니터링 수준부터 사용할 수 있는 모든 지표가 나와 있습니다.

**참고**  
CloudWatch 모니터링을 위한 일부 Amazon MSK 지표의 이름이 버전 3.6.0 이상에서 변경되었습니다. 해당 지표를 모니터링할 때 새 이름을 사용하세요. 이름이 변경된 지표의 경우 아래 표에 버전 3.6.0 이상에서 사용된 이름과 버전 2.8.2.tired에서 사용된 이름이 차례로 나와 있습니다.

`DEFAULT` 수준 지표는 무료입니다. 다른 지표에 대한 요금은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/) 페이지에 설명되어 있습니다.

## `DEFAULT` 수준 모니터링
<a name="default-metrics"></a>

다음 표에 설명된 지표는 `DEFAULT` 모니터링 수준에서 사용할 수 있습니다. 무료로 제공됩니다.


| 이름 | 표시되는 경우 | 측정 기준 | 설명 | 
| --- | --- | --- | --- | 
| ActiveControllerCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터당 오직 하나의 컨트롤러만 지정된 시간에 활성화되어야 합니다. | 
| BurstBalance |  클러스터가 ACTIVE 상태에 도달한 후.  |  클러스터 이름, 브로커 ID  |  클러스터의 EBS 볼륨에 대한 입력-출력 버스트 크레딧의 남은 잔액. 지연 시간 또는 처리량 감소를 조사하는 데 사용합니다. 볼륨의 기준 성능이 최대 버스트 성능보다 높은 경우 EBS 볼륨에 대해 `BurstBalance`가 보고되지 않습니다. 자세한 내용은 [I/O 크레딧 및 버스트 성능](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#IOcredit)을 참조하세요.  | 
| BytesInPerSec | 주제를 생성한 후. | 클러스터 이름, 브로커 ID, 주제 | 클라이언트로부터 받은 초당 바이트 수입니다. 이 지표는 브로커별 및 주제별로 제공됩니다. | 
| BytesOutPerSec | 주제를 생성한 후. | 클러스터 이름, 브로커 ID, 주제 | 클라이언트에 전송된 초당 바이트 수입니다. 이 지표는 브로커별 및 주제별로 제공됩니다. | 
| ClientConnectionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID, 클라이언트 인증 | 인증된 활성 클라이언트 연결 수입니다. | 
| ConnectionCount | 클러스터가 ACTIVE 상태에 도달한 후. |  클러스터 이름, 브로커 ID  | 활성 인증, 미인증 및 브로커 간 연결 수입니다. | 
| CPUCreditBalance  |  클러스터가 ACTIVE 상태에 도달한 후.  |  클러스터 이름, 브로커 ID  |  노드 실행 이후 노드가 누적한 획득 CPU 크레딧 수입니다. 크레딧은 획득 이후에 크레딧 밸런스에 누적되고, 소비 시 크레딧 밸런스에서 소멸됩니다. CPU 크레딧 밸런스가 부족해져 클러스터 성능에 부정적인 영향을 미칠 수 있습니다. CPU 부하를 줄이기 위한 조치를 취할 수 있습니다. 예를 들어 클라이언트 요청 수를 줄이거나 브로커 유형을 M5 브로커 유형으로 업데이트할 수 있습니다.  | 
| CpuIdle | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | CPU 유휴 시간의 백분율입니다. | 
| CpuIoWait | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 보류 중인 디스크 작업 중 CPU 유휴 시간의 백분율입니다. | 
| CpuSystem | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 커널 공간에 있는 CPU의 백분율입니다. | 
| CpuUser | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 사용자 공간에 있는 CPU의 백분율입니다. | 
| GlobalPartitionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터의 모든 주제에서 복제본을 제외한 파티션 수입니다. GlobalPartitionCount에는 복제본이 포함되지 않으므로 주제의 복제 인수가 1보다 큰 경우 PartitionCount 값의 합계가 GlobalPartitionCount보다 클 수 있습니다. | 
| GlobalTopicCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터의 모든 브로커에 있는 총 주제 수입니다. | 
| EstimatedMaxTimeLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 클러스터 이름, 컨슈머 그룹, 주제 | MaxOffsetLag를 배출하는 데 걸리는 예상 시간(초)입니다. | 
| KafkaAppLogsDiskUsed | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 애플리케이션 로그에 사용된 디스크 공간의 백분율입니다. | 
| KafkaDataLogsDiskUsed(Cluster Name, Broker ID 차원) | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 데이터 로그에 사용된 디스크 공간의 백분율입니다. | 
| LeaderCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커당 총 파티션 리더 수(복제본 제외)입니다. | 
| MaxOffsetLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 클러스터 이름, 컨슈머 그룹, 주제 | 주제의 모든 파티션에 대한 최대 오프셋 지연. | 
| MemoryBuffered | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 버퍼링된 메모리의 크기(바이트)입니다. | 
| MemoryCached | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 캐시 메모리의 크기(바이트)입니다. | 
| MemoryFree | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 사용할 수 있는 메모리의 크기(바이트)입니다. | 
| HeapMemoryAfterGC  |  클러스터가 ACTIVE 상태에 도달한 후.  |  클러스터 이름, 브로커 ID  | 가비지 수집 이후 사용된 총 힙 메모리의 백분율입니다. | 
| MemoryUsed | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에서 사용 중인 메모리의 크기(바이트)입니다. | 
| MessagesInPerSec | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커의 초당 수신 메시지 수입니다. | 
| NetworkRxDropped | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 삭제된 수신 패키지의 수입니다. | 
| NetworkRxErrors | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 네트워크 수신 오류 수입니다. | 
| NetworkRxPackets | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에서 수신된 패킷 수입니다. | 
| NetworkTxDropped | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 삭제된 전송 패키지의 수입니다. | 
| NetworkTxErrors | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커의 네트워크 전송 오류 수입니다. | 
| NetworkTxPackets | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커가 전송한 패킷 수입니다. | 
| OfflinePartitionsCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터에서 오프라인 상태인 총 파티션 수입니다. | 
| PartitionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 복제본을 포함하여 브로커당 주제 파티션의 총 수입니다. | 
| ProduceTotalTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 밀리초 단위의 평균 프로덕션 시간. | 
| RequestBytesMean | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 요청 바이트의 평균 수입니다. | 
| RequestTime | 요청 스로틀링이 적용된 후. | 클러스터 이름, 브로커 ID | 브로커 네트워크 및 I/O 스레드가 요청을 처리하는 데 걸린 평균 시간(밀리초)입니다. | 
| RootDiskUsed | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커가 사용하는 루트 디스크의 백분율입니다. | 
| RollingEstimatedTimeLagMax\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 클러스터 이름, 컨슈머 그룹, 주제 | 최대 시간 추정치(초)를 롤링하여 주제의 모든 파티션에서 파티션 오프셋 지연을 비웁니다. | 
| SumOffsetLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 클러스터 이름, 컨슈머 그룹, 주제 | 주제의 모든 파티션에 대한 집계된 오프셋 지연 | 
| SwapFree | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에서 사용할 수 있는 스왑 메모리의 크기(바이트)입니다. | 
| SwapUsed  | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에서 사용 중인 스왑 메모리의 크기(바이트)입니다. | 
| TrafficShaping  |  클러스터가 ACTIVE 상태에 도달한 후.  |  클러스터 이름, 브로커 ID  |  네트워크 할당 초과로 인해 형성(삭제 또는 대기열에 추가)된 패킷 수를 나타내는 상위 수준 지표입니다. PER\$1BROKER 지표를 사용하면 더 자세한 내용을 확인할 수 있습니다.  | 
| UnderMinIsrPartitionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커의 minIsr 파티션 수입니다. | 
| UnderReplicatedPartitions | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대해 복제가 덜 진행된 파티션 수입니다. | 
| UserPartitionExists | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 사용자 소유 파티션이 있음을 나타내는 부울 지표입니다. 값이 1이면 브로커에 파티션이 있음을 나타냅니다. | 
| ZooKeeperRequestLatencyMsMean  | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | ZooKeeper 기반 클러스터용. 브로커에서 Apache ZooKeeper 요청에 대한 평균 대기 시간(밀리초)입니다. | 
| ZooKeeperSessionState | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | ZooKeeper 기반 클러스터용. 다음 중 하나일 수 있는 브로커의 ZooKeeper 세션의 연결 상태: NOT\$1CONNECTED: '0.0', ASSOCIATING: '0.1', CONNECTING: '0.5', CONNECTEDREADONLY: '0.8', CONNECTED: '1.0', CLOSED: '5.0', AUTH\$1FAILED: '10.0'. | 

\$1 소비자 지연 지표에는 ASCII 전용 소비자 그룹 이름이 필요하며 특정 방출 요구 사항이 있습니다. 자세한 내용은 [소비자 지연 모니터링](consumer-lag.md) 단원을 참조하십시오.

## `PER_BROKER` 수준 모니터링
<a name="broker-metrics"></a>

모니터링 수준을 `PER_BROKER`로 설정하면 모든 `DEFAULT` 수준 지표에 추가로 다음 표에 설명된 지표가 표시됩니다. 다음 표의 지표에 해당하는 비용을 지불하지만 `DEFAULT` 수준 지표는 계속 무료로 제공됩니다. 이 표에 있는 지표의 측정 기준은 클러스터 이름, 브로커 ID입니다.


| 이름 | 표시되는 경우 | 설명 | 
| --- | --- | --- | 
| BwInAllowanceExceeded | 클러스터가 ACTIVE 상태에 도달한 후. |  인바운드 집계 대역폭이 브로커의 최대치를 초과하여 형성된 패킷 수입니다.  | 
| BwOutAllowanceExceeded | 클러스터가 ACTIVE 상태에 도달한 후. |  아웃바운드 집계 대역폭이 브로커의 최대치를 초과하여 형성된 패킷 수입니다.  | 
| ConntrackAllowanceExceeded  | 클러스터가 ACTIVE 상태에 도달한 후. |  연결 추적이 브로커의 최대치를 초과하여 형성된 패킷 수입니다. 연결 추적은 설정된 각 연결을 추적하여 반환 패킷이 예상대로 전달되도록 하는 보안 그룹과 관련이 있습니다.  | 
| ConnectionCloseRate | 클러스터가 ACTIVE 상태에 도달한 후. |  리스너당 초당 닫힌 연결 수입니다. 이 숫자는 리스너별로 집계되며 클라이언트 리스너에 대해 필터링됩니다.  | 
| ConnectionCreationRate | 클러스터가 ACTIVE 상태에 도달한 후. |  리스너당 초당 설정된 새 연결 수입니다. 이 숫자는 리스너별로 집계되며 클라이언트 리스너에 대해 필터링됩니다.  | 
| CpuCreditUsage | 클러스터가 ACTIVE 상태에 도달한 후. |  브로커가 소비하는 CPU 크레딧 수입니다. CPU 크레딧 밸런스가 부족해져 클러스터 성능에 부정적인 영향을 미칠 수 있습니다. CPU 부하를 줄이기 위한 조치를 취할 수 있습니다. 예를 들어 클라이언트 요청 수를 줄이거나 브로커 유형을 M5 브로커 유형으로 업데이트할 수 있습니다.  | 
| FetchConsumerLocalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머 요청이 리더에서 처리되는 데 걸리는 평균 시간(밀리초)입니다. | 
| FetchConsumerRequestQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머 요청이 요청 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchConsumerResponseQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머 요청이 응답 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchConsumerResponseSendTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머가 응답을 보내는 평균 시간(밀리초)입니다. | 
| FetchConsumerTotalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머가 브로커에서 데이터를 가져오는 데 걸리는 평균 총 시간(밀리초)입니다. | 
| FetchFollowerLocalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어 요청이 리더에서 처리되는 데 걸리는 평균 시간(밀리초)입니다. | 
| FetchFollowerRequestQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어 요청이 요청 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchFollowerResponseQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어 요청이 응답 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchFollowerResponseSendTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어가 응답을 보내는 평균 시간(밀리초)입니다. | 
| FetchFollowerTotalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어가 브로커에서 데이터를 가져오는 데 걸리는 평균 총 시간(밀리초)입니다. | 
| FetchMessageConversionsPerSec | 주제를 생성한 후. | 브로커의 초당 가져오기 메시지 변환 횟수입니다. | 
| FetchThrottleByteRate | 대역폭 스로틀링이 적용된 후. | 초당 스로틀링된 바이트 수입니다. | 
| FetchThrottleQueueSize | 대역폭 스로틀링이 적용된 후. | 스로틀 대기열에 있는 메시지 수입니다. | 
| FetchThrottleTime | 대역폭 스로틀링이 적용된 후. | 평균 가져오기 스로틀링 시간(밀리초)입니다. | 
| IAMNumberOfConnectionRequests | 클러스터가 ACTIVE 상태에 도달한 후. | 초당 IAM 인증 요청의 수입니다. | 
| IAMTooManyConnections | 클러스터가 ACTIVE 상태에 도달한 후. | 100을 초과하여 시도된 연결 수입니다. 0은 연결 수가 한도 내에 있음을 의미합니다. 0보다 큰 경우 스로틀 한도가 초과되므로 연결 수를 줄여야 합니다. | 
| LinklocalAllowanceExceeded  | 클러스터가 ACTIVE 상태에 도달한 후. |  로컬 프록시 서비스에 대한 트래픽의 PPS가 네트워크 인터페이스의 최댓값을 초과하여 손실된 패킷 수입니다. 이는 DNS 서비스, Instance Metadata Service 및 Amazon Time Sync Service에 대한 트래픽에 영향을 미칩니다.  | 
| NetworkProcessorAvgIdlePercent | 클러스터가 ACTIVE 상태에 도달한 후. | 네트워크 프로세서가 유휴 상태인 시간의 평균 백분율입니다. | 
| PpsAllowanceExceeded | 클러스터가 ACTIVE 상태에 도달한 후. |  양방향 PPS가 브로커의 최대치를 초과하여 형성된 패킷 수입니다.  | 
| ProduceLocalTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 리더에서 요청이 처리되는 데 걸리는 평균 시간(밀리초)입니다. | 
| ProduceMessageConversionsPerSec | 주제를 생성한 후. | 브로커의 초당 생산 메시지 변환 수입니다. | 
| ProduceMessageConversionsTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 메시지 형식 변환에 소요된 평균 시간(밀리초)입니다. | 
| ProduceRequestQueueTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 요청 메시지가 대기열에서 소비하는 평균 시간(밀리초)입니다. | 
| ProduceResponseQueueTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 응답 메시지가 대기열에서 소비하는 평균 시간(밀리초)입니다. | 
| ProduceResponseSendTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 응답 메시지를 보내는 데 걸린 평균 시간(밀리초)입니다. | 
| ProduceThrottleByteRate | 대역폭 스로틀링이 적용된 후. | 초당 스로틀링된 바이트 수입니다. | 
| ProduceThrottleQueueSize | 대역폭 스로틀링이 적용된 후. | 스로틀 대기열에 있는 메시지 수입니다. | 
| ProduceThrottleTime | 대역폭 스로틀링이 적용된 후. | 평균 프로덕션 스로틀링 시간(밀리초)입니다. | 
| ProduceTotalTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 밀리초 단위의 평균 프로덕션 시간. | 
|  `RemoteFetchBytesPerSec (RemoteBytesInPerSec in v2.8.2.tiered)`  |  프로듀서/컨슈머가 생성된 후.  |  소비자 가져오기에 대한 응답으로 계층형 스토리지에서 전송된 총 바이트 수입니다. 이 지표에는 다운스트림 데이터 전송 트래픽에 기여하는 모든 주제 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다.  | 
| RemoteCopyBytesPerSec (RemoteBytesOutPerSec in v2.8.2.tiered) |  생산자/소비자가 생성된 후.  |  로그 세그먼트, 인덱스, 기타 보조 파일의 데이터를 포함하여 계층화된 스토리지로 전송된 총 바이트 수입니다. 이 지표에는 업스트림 데이터 전송 트래픽에 기여하는 모든 토픽 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다.  | 
| RemoteLogManagerTasksAvgIdlePercent |  클러스터가 ACTIVE 상태에 도달한 후.  | 원격 로그 관리자가 유휴 상태로 보낸 평균 시간 비율입니다. 원격 로그 관리자는 브로커에서 계층화된 스토리지로 데이터를 전송합니다. 범주는 내부 활동입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteLogReaderAvgIdlePercent |  클러스터가 ACTIVE 상태에 도달한 후.  | 원격 로그 리더가 유휴 상태로 보낸 평균 시간 비율입니다. 원격 로그 리더는 소비자의 가져오기에 대한 응답으로 원격 스토리지에서 브로커로 데이터를 전송합니다. 범주는 내부 활동입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteLogReaderTaskQueueSize |  클러스터가 ACTIVE 상태에 도달한 후.  | 예약 대기 중인 계층형 스토리지에서 읽기를 담당하는 작업의 수입니다. 범주는 내부 활동입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteFetchErrorsPerSec (RemoteReadErrorPerSec in v2.8.2.tiered) |  클러스터가 ACTIVE 상태에 도달한 후.  | 지정된 브로커가 소비자 가져오기에 대한 응답으로 데이터를 검색하기 위해 계층화된 스토리지로 전송한 읽기 요청에 대한 총 오류 발생율입니다. 이 지표에는 다운스트림 데이터 전송 트래픽에 영향을 미치는 모든 주제 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteFetchRequestsPerSec (RemoteReadRequestsPerSec in v2.8.2.tiered) |  클러스터가 ACTIVE 상태에 도달한 후.  | 지정한 브로커가 소비자 가져오기에 대한 응답으로 데이터를 검색하기 위해 계층화된 스토리지로 전송한 총 읽기 요청 수입니다. 이 지표에는 다운스트림 데이터 전송 트래픽에 영향을 미치는 모든 주제 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteCopyErrorsPerSec (RemoteWriteErrorPerSec in v2.8.2.tiered) |  클러스터가 ACTIVE 상태에 도달한 후.  | 지정된 브로커가 데이터를 업스트림으로 전송하기 위해 계층화된 스토리지로 전송한 쓰기 요청에 대한 응답으로 발생한 총 오류 발생율입니다. 이 지표에는 업스트림 데이터 전송 트래픽에 영향을 미치는 모든 주제 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteLogSizeBytes | 클러스터가 ACTIVE 상태에 도달한 후. |  원격 계층에 저장된 바이트 수입니다. 이 지표는 Amazon MSK의 Apache Kafka 버전 3.7.x의 계층형 스토리지 클러스터에 사용할 수 있습니다.  | 
| ReplicationBytesInPerSec | 주제를 생성한 후. | 다른 브로커로부터 수신하는 초당 바이트 수입니다. | 
| ReplicationBytesOutPerSec | 주제를 생성한 후. | 다른 브로커로 전송되는 초당 바이트 수입니다. | 
| RequestExemptFromThrottleTime | 요청 스로틀링이 적용된 후. | 브로커 네트워크 및 I/O 스레드가 스로틀링에서 제외된 요청을 처리하는 데 걸린 평균 시간(밀리초)입니다. | 
| RequestHandlerAvgIdlePercent | 클러스터가 ACTIVE 상태에 도달한 후. | 요청 핸들러 스레드가 유휴 상태인 시간의 평균 백분율입니다. | 
| RequestThrottleQueueSize | 요청 스로틀링이 적용된 후. | 스로틀 대기열에 있는 메시지 수입니다. | 
| RequestThrottleTime | 요청 스로틀링이 적용된 후. | 평균 요청 스로틀링 시간(밀리초)입니다. | 
| TcpConnections | 클러스터가 ACTIVE 상태에 도달한 후. |  SYN 플래그가 설정된 수신 및 발신 TCP 세그먼트 수를 표시합니다.  | 
| RemoteCopyLagBytes (TotalTierBytesLag in v2.8.2.tiered) | 주제를 생성한 후. | 브로커에서 계층화할 수 있지만 아직 계층화된 스토리지로 전송되지 않은 데이터의 총 바이트 수입니다. 이 지표는 업스트림 데이터 전송의 효율성을 보여줍니다. 지연이 증가하면 계층형 스토리지에 유지되지 않는 데이터의 양이 증가합니다. 범주는 아카이브 지연입니다. 이것은 KIP-405 지표가 아닙니다. | 
| TrafficBytes | 클러스터가 ACTIVE 상태에 도달한 후. |  클라이언트(생산자 및 소비자)와 브로커 간의 네트워크 트래픽을 전체 바이트 단위로 표시합니다. 브로커 사이의 트래픽은 보고되지 않습니다.  | 
| VolumeQueueLength | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간 동안 완료되기를 기다리는 읽기 및 쓰기 작업 요청의 수입니다.  | 
|  VolumeReadBytes  | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간 동안 읽은 바이트 수입니다.  | 
| VolumeReadOps  | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간 동안의 읽기 작업 횟수입니다.  | 
| VolumeTotalReadTime  | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간에 완료된 모든 읽기 작업에 소요된 총 시간(초)입니다.  | 
| VolumeTotalWriteTime  | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간에 완료된 모든 쓰기 작업에 소요된 총 시간(초)입니다.  | 
| VolumeWriteBytes  | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간 동안 기록된 바이트 수입니다.  | 
| VolumeWriteOps  | 클러스터가 ACTIVE 상태에 도달한 후. |  지정된 기간 동안의 쓰기 작업 횟수입니다.  | 

## `PER_TOPIC_PER_BROKER` 수준 모니터링
<a name="broker-topic-metrics"></a>

모니터링 수준을 `PER_TOPIC_PER_BROKER`로 설정하면 모든 `PER_BROKER` 및 기본 수준 지표 외에 다음 표에 설명된 지표가 표시됩니다. `DEFAULT` 수준 지표만 무료입니다. 이 표에 있는 지표의 측정 기준은 클러스터 이름, 브로커 ID, 주제입니다.

**중요**  
Apache Kafka 2.4.1 이상 버전을 사용하는 Amazon MSK 클러스터의 경우 다음 표의 지표는 해당 값이 처음으로 0이 아닌 값이 된 후에만 나타납니다. 예를 들어, `BytesInPerSec`를 보려면 하나 이상의 생산자가 먼저 클러스터로 데이터를 전송해야 합니다.


| 이름 | 표시되는 경우 | 설명 | 
| --- | --- | --- | 
| FetchMessageConversionsPerSec | 주제를 생성한 후. | 초당 가져와서 변환한 메시지 수입니다. | 
| MessagesInPerSec | 주제를 생성한 후. | 초당 수신된 메시지 수입니다. | 
| ProduceMessageConversionsPerSec | 주제를 생성한 후. | 생산된 메시지의 초당 변환 수입니다. | 
| RemoteFetchBytesPerSec (RemoteBytesInPerSec in v2.8.2.tiered) |  주제 생성 후 해당 주제가 프로듀싱/컨슈밍되고 있는 경우.  |  지정된 주제 및 브로커에 대한 소비자 가져오기에 대한 응답으로 계층형 스토리지에서 전송된 바이트 수입니다. 이 지표에는 지정된 브로커의 다운스트림 데이터 전송 트래픽에 기여하는 주제의 모든 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다.  | 
| RemoteCopyBytesPerSec (RemoteBytesOutPerSec in v2.8.2.tiered) | 주제 생성 후 해당 주제가 프로듀싱/컨슈밍되고 있는 경우. |  지정된 주제 및 브로커에 대해 계층형 스토리지로 전송된 바이트 수입니다. 이 지표에는 지정된 브로커의 업스트림 데이터 전송 트래픽에 기여하는 주제의 모든 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다.  | 
| RemoteFetchErrorsPerSec (RemoteReadErrorPerSec in v2.8.2.tiered) | 주제 생성 후 해당 주제가 프로듀싱/컨슈밍되고 있는 경우. | 지정된 주제에 대한 소비자 가져오기에 대한 응답으로 데이터를 검색하기 위해 지정된 브로커가 계층화된 스토리지로 보내는 읽기 요청에 대한 응답으로 발생하는 오류의 비율입니다. 이 지표에는 지정된 브로커의 다운스트림 데이터 전송 트래픽에 기여하는 주제의 모든 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteFetchRequestsPerSec (RemoteReadRequestsPerSec in v2.8.2.tiered) | 주제 생성 후 해당 주제가 프로듀싱/컨슈밍되고 있는 경우. | 지정된 주제에 대한 소비자 가져오기에 대한 응답으로 데이터를 검색하기 위해 지정한 브로커가 계층화된 스토리지로 보내는 읽기 요청의 수입니다. 이 지표에는 지정된 브로커의 다운스트림 데이터 전송 트래픽에 기여하는 주제의 모든 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteCopyErrorsPerSec (RemoteWriteErrorPerSec in v2.8.2.tiered) | 주제 생성 후 해당 주제가 프로듀싱/컨슈밍되고 있는 경우. | 지정된 브로커가 데이터를 업스트림으로 전송하기 위해 계층형 스토리지로 보내는 쓰기 요청에 대한 응답으로 발생하는 오류의 비율입니다. 이 지표에는 지정된 브로커의 업스트림 데이터 전송 트래픽에 기여하는 주제의 모든 파티션이 포함되어 있습니다. 범주는 트래픽 및 오류 발생율입니다. 이는 [KIP-405](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage) 지표입니다. | 
| RemoteLogSizeBytes | 주제를 생성한 후. |  원격 계층에 저장된 바이트 수입니다. 이 지표는 Amazon MSK의 Apache Kafka 버전 3.7.x의 계층형 스토리지 클러스터에 사용할 수 있습니다.  | 

## `PER_TOPIC_PER_PARTITION` 수준 모니터링
<a name="topic-partition-metrics"></a>

모니터링 수준을 `PER_TOPIC_PER_PARTITION`로 설정하면 모든 `PER_TOPIC_PER_BROKER`, `PER_BROKER`, 기본 수준 지표 외에 다음 표에 설명된 지표가 표시됩니다. `DEFAULT` 수준 지표만 무료입니다. 이 표에 있는 지표의 측정 기준은 컨슈머 그룹, 주제, 파티션입니다.


| 이름 | 표시되는 경우 | 설명 | 
| --- | --- | --- | 
| EstimatedTimeLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 파티션 오프셋 지연을 배출하는 데 걸리는 예상 시간(초)입니다. | 
| OffsetLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 파티션 수준 컨슈머 지연의 오프셋 수입니다. | 
| RollingEstimatedTimeLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 파티션 오프셋 지연을 제거하기 위한 롤링 시간 추정치(초)입니다. | 

\$1 소비자 지연 지표에는 ASCII 전용 소비자 그룹 이름이 필요하며 특정 방출 요구 사항이 있습니다. 자세한 내용은 [소비자 지연 모니터링](consumer-lag.md) 단원을 참조하십시오.

# MSK 프로비저닝된 클러스터의 상태 이해
<a name="msk-cluster-states"></a>

다음 표에는 MSK 프로비저닝된 클러스터가 나타낼 수 있는 상태가 표시되어 있으며, 각 상태가 의미하는 바가 설명되어 있습니다. 달리 지정하지 않는 한 MSK 프로비저닝 클러스터 상태는 Standard 및 Express 브로커 유형 모두에 적용됩니다. 이 표는 또한 MSK 프로비저닝된 클러스터가 이러한 상태 중 하나일 때 수행할 수 있는 작업과 수행할 수 없는 작업에 대해서도 설명합니다. 클러스터의 상태를 확인하려면 AWS Management Console을 방문합니다. [describe-cluster-v2](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster-v2.html) 명령 또는 [DescribeClusterV2](https://docs.aws.amazon.com/MSK/2.0/APIReference/v2-clusters-clusterarn.html#DescribeClusterV2) 작업을 사용하여 프로비저닝된 클러스터를 설명할 수도 있습니다. 클러스터의 설명에는 클러스터의 상태가 포함되어 있습니다.


****  

| MSK 프로비저닝된 클러스터 상태 | 의미 및 가능한 조치 | 
| --- | --- | 
| ACTIVE |  데이터를 생산하고 소비할 수 있습니다. 클러스터에서 Amazon MSK API 및 AWS CLI 작업을 수행할 수도 있습니다.  | 
| CREATING |  Amazon MSK가 프로비저닝된 클러스터를 설정하고 있습니다. 클러스터를 사용하여 데이터를 생성 또는 소비하거나 클러스터에서 Amazon MSK API 또는 AWS CLI 작업을 수행하려면 클러스터가 ACTIVE 상태에 도달할 때까지 기다려야 합니다.  | 
| DELETING | 프로비저닝된 클러스터를 삭제 중입니다. 데이터를 생산하거나 소비하는 데 사용할 수 없습니다. 또한 Amazon MSK API 또는 AWS CLI 작업도 수행할 수 없습니다. | 
| FAILED | 프로비저닝된 클러스터 생성 또는 삭제 프로세스가 실패했습니다. 클러스터를 사용하여 데이터를 생산하거나 소비할 수 없습니다. 클러스터를 삭제할 수 있지만 클러스터에서 Amazon MSK API 또는 AWS CLI 업데이트 작업을 수행할 수는 없습니다. | 
| 복구 |  Amazon MSK는 비정상 브로커를 교체하는 등의 내부 작업을 실행하고 있습니다. 예를 들어 브로커가 응답하지 않을 수 있습니다. 여전히 프로비저닝된 클러스터를 사용하여 데이터를 프로듀싱하고 컨슘할 수 있습니다. 그러나 클러스터가 ACTIVE 상태로 돌아갈 때까지 클러스터에서 Amazon MSK API 또는 AWS CLI 업데이트 작업을 수행할 수 없습니다.  | 
| 유지 관리 | (Standard 브로커 전용) Amazon MSK는 클러스터에서 정기적인 유지 관리 작업을 수행하고 있습니다. 이러한 유지 관리 작업에는 보안 패치가 포함됩니다. 여전히 클러스터를 사용하여 데이터를 생성하고 소비할 수 있습니다. 그러나 클러스터가 ACTIVE 상태로 돌아갈 때까지 클러스터에서 Amazon MSK API 또는 AWS CLI 업데이트 작업을 수행할 수 없습니다. Express 브로커를 유지 관리하는 동안 클러스터 상태는 활성 상태로 유지됩니다. [MSK Provisioned 클러스터에 패치 적용](patching-impact.md)을 참조하세요. | 
| REBOOTING\$1BROKER | Amazon MSK는 브로커를 재부팅하고 있습니다. 여전히 프로비저닝된 클러스터를 사용하여 데이터를 프로듀싱하고 컨슘할 수 있습니다. 그러나 클러스터가 ACTIVE 상태로 돌아갈 때까지 클러스터에서 Amazon MSK API 또는 AWS CLI 업데이트 작업을 수행할 수 없습니다. | 
| 업데이트 중 | 사용자가 시작한 Amazon MSK API 또는 AWS CLI 작업이 프로비저닝된 클러스터를 업데이트하는 중입니다. 여전히 프로비저닝된 클러스터를 사용하여 데이터를 프로듀싱하고 컨슘할 수 있습니다. 그러나 클러스터가 ACTIVE 상태로 돌아갈 때까지 클러스터에서 추가 Amazon MSK API 또는 AWS CLI 업데이트 작업을 수행할 수 없습니다. | 

# CloudWatch를 사용한 Express 브로커 모니터링에 대한 Amazon MSK 지표
<a name="metrics-details-express"></a>

Amazon MSK는 CloudWatch와 통합되므로 MSK Express 브로커에 대한 CloudWatch 지표를 수집, 확인, 분석할 수 있습니다. MSK 프로비저닝된 클러스터에 대해 구성한 지표는 1분 간격으로 자동으로 수집되어 CloudWatch로 푸시됩니다. MSK 프로비저닝된 클러스터의 모니터링 수준을 `DEFAULT`, `PER_BROKER`, `PER_TOPIC_PER_BROKER` 또는 `PER_TOPIC_PER_PARTITION` 중 하나로 설정할 수 있습니다. 다음 섹션의 표에는 각 모니터링 수준부터 사용할 수 있는 지표가 나와 있습니다.

`DEFAULT` 수준 지표는 무료입니다. 다른 지표에 대한 요금은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/) 페이지에 설명되어 있습니다.

## Express 브로커에 대한 `DEFAULT` 레벨 모니터링
<a name="express-default-metrics"></a>

다음 표에 설명된 지표는 `DEFAULT` 모니터링 수준에서 무료로 사용할 수 있습니다.


| 이름 | 표시되는 경우 | 측정 기준 | 설명 | 
| --- | --- | --- | --- | 
| ActiveControllerCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터당 오직 하나의 컨트롤러만 지정된 시간에 활성화되어야 합니다. | 
| BytesInPerSec | 주제를 생성한 후. | 클러스터 이름, 브로커 ID, 주제 | 클라이언트로부터 받은 초당 바이트 수입니다. 이 지표는 브로커별 및 주제별로 제공됩니다. | 
| BytesOutPerSec | 주제를 생성한 후. | 클러스터 이름, 브로커 ID, 주제 | 클라이언트에 전송된 초당 바이트 수입니다. 이 지표는 브로커별 및 주제별로 제공됩니다. | 
| ClientConnectionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID, 클라이언트 인증 | 인증된 활성 클라이언트 연결 수입니다. | 
| ConnectionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 활성 인증, 미인증 및 브로커 간 연결 수입니다. | 
| CpuIdle | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | CPU 유휴 시간의 백분율입니다. | 
| CpuSystem | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 커널 공간에 있는 CPU의 백분율입니다. | 
| CpuUser | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 사용자 공간에 있는 CPU의 백분율입니다. | 
| GlobalPartitionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터의 모든 주제에서 복제본을 제외한 파티션 수입니다. `GlobalPartitionCount`에는 복제본이 포함되지 않으므로 주제의 복제 인수가 `1`보다 큰 경우 `PartitionCount` 값의 합계가 `GlobalPartitionCount`보다 클 수 있습니다. | 
| GlobalTopicCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터의 모든 브로커에 있는 총 주제 수입니다. | 
| EstimatedMaxTimeLag\$1 | 소비자 그룹이 주제에서 소비한 후. | 소비자 그룹, 주제 | `MaxOffsetLag`를 배출하는 데 걸리는 예상 시간(초)입니다. | 
| LeaderCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커당 총 파티션 리더 수(복제본 제외)입니다. | 
| MaxOffsetLag\$1 | 소비자 그룹이 주제에서 소비한 후. | 소비자 그룹, 주제 | 주제의 모든 파티션에 대한 최대 오프셋 지연. | 
| MemoryBuffered | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 버퍼링된 메모리의 크기(바이트)입니다. | 
| MemoryCached | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 캐시 메모리의 크기(바이트)입니다. | 
| MemoryFree | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 사용할 수 있는 메모리의 크기(바이트)입니다. | 
| MemoryUsed | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에서 사용 중인 메모리의 크기(바이트)입니다. | 
| MessagesInPerSec | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커의 초당 수신 메시지 수입니다. | 
| NetworkRxDropped | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 삭제된 수신 패키지의 수입니다. | 
| NetworkRxErrors | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 네트워크 수신 오류 수입니다. | 
| NetworkRxPackets | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에서 수신된 패킷 수입니다. | 
| NetworkTxDropped | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 삭제된 전송 패키지의 수입니다. | 
| NetworkTxErrors | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커의 네트워크 전송 오류 수입니다. | 
| NetworkTxPackets | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커가 전송한 패킷 수입니다. | 
| PartitionCount | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 복제본을 포함하여 브로커당 주제 파티션의 총 수입니다. | 
| ProduceTotalTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 밀리초 단위의 평균 프로덕션 시간. | 
| RequestBytesMean | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 대한 요청 바이트의 평균 수입니다. | 
| RequestTime | 요청 스로틀링이 적용된 후. | 클러스터 이름, 브로커 ID | 브로커 네트워크 및 I/O 스레드가 요청을 처리하는 데 걸린 평균 시간(밀리초)입니다. | 
| RollingEstimatedTimeLagMax\$1 | 소비자 그룹이 주제에서 소비한 후. | 소비자 그룹, 주제 | 최대 시간 추정치(초)를 롤링하여 주제의 모든 파티션에서 파티션 오프셋 지연을 비웁니다. | 
| StorageUsed | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름 | 클러스터의 모든 파티션에서 복제본을 제외하고 사용한 총 스토리지 수입니다. | 
| SumOffsetLag\$1 | 소비자 그룹이 주제에서 소비한 후. | 소비자 그룹, 주제 | 주제의 모든 파티션에 대한 집계된 오프셋 지연 | 
| UserPartitionExists | 클러스터가 ACTIVE 상태에 도달한 후. | 클러스터 이름, 브로커 ID | 브로커에 사용자 소유 파티션이 있음을 나타내는 부울 지표입니다. 값이 1이면 브로커에 파티션이 있음을 나타냅니다. | 

\$1 소비자 지연 지표에는 ASCII 전용 소비자 그룹 이름이 필요하며 특정 방출 요구 사항이 있습니다. 자세한 내용은 [소비자 지연 모니터링](consumer-lag.md) 단원을 참조하십시오.

## Express 브로커에 대한 `PER_BROKER` 레벨 모니터링
<a name="express-per-broker-metrics"></a>

모니터링 수준을 `PER_BROKER`로 설정하면 모든 `DEFAULT` 수준 지표에 추가로 다음 표에 설명된 지표가 표시됩니다. 다음 표의 지표에 대해서는 해당 비용을 지불하지만 `DEFAULT` 수준 지표는 계속 무료로 제공됩니다. 이 표에 있는 지표의 측정 기준은 클러스터 이름, 브로커 ID입니다.


| 이름 | 표시되는 경우 | 설명 | 
| --- | --- | --- | 
| ConnectionCloseRate | 클러스터가 ACTIVE 상태에 도달한 후. | 리스너당 초당 닫힌 연결 수입니다. 이 숫자는 리스너별로 집계되며 클라이언트 리스너에 대해 필터링됩니다. | 
| ConnectionCreationRate | 클러스터가 ACTIVE 상태에 도달한 후. | 리스너당 초당 설정된 새 연결 수입니다. 이 숫자는 리스너별로 집계되며 클라이언트 리스너에 대해 필터링됩니다. | 
| FetchConsumerLocalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머 요청이 리더에서 처리되는 데 걸리는 평균 시간(밀리초)입니다. | 
| FetchConsumerRequestQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머 요청이 요청 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchConsumerResponseQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머 요청이 응답 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchConsumerResponseSendTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머가 응답을 보내는 평균 시간(밀리초)입니다. | 
| FetchConsumerTotalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 컨슈머가 브로커에서 데이터를 가져오는 데 걸리는 평균 총 시간(밀리초)입니다. | 
| FetchFollowerLocalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어 요청이 리더에서 처리되는 데 걸리는 평균 시간(밀리초)입니다. | 
| FetchFollowerRequestQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어 요청이 요청 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchFollowerResponseQueueTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어 요청이 응답 대기열에서 대기하는 평균 시간(밀리초)입니다. | 
| FetchFollowerResponseSendTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어가 응답을 보내는 평균 시간(밀리초)입니다. | 
| FetchFollowerTotalTimeMsMean | 프로듀서/컨슈머가 만들어진 이후. | 팔로어가 브로커에서 데이터를 가져오는 데 걸리는 평균 총 시간(밀리초)입니다. | 
| FetchThrottleByteRate | 대역폭 스로틀링이 적용된 후. | 초당 스로틀링된 바이트 수입니다. | 
| FetchThrottleQueueSize | 대역폭 스로틀링이 적용된 후. | 스로틀 대기열에 있는 메시지 수입니다. | 
| FetchThrottleTime | 대역폭 스로틀링이 적용된 후. | 평균 가져오기 스로틀링 시간(밀리초)입니다. | 
| IAMNumberOfConnectionRequests | 클러스터가 ACTIVE 상태에 도달한 후. | 초당 IAM 인증 요청의 수입니다. | 
| IAMTooManyConnections | 클러스터가 ACTIVE 상태에 도달한 후. | 100을 초과하여 시도된 연결 수입니다. `0`은 연결 수가 한도 내에 있음을 의미합니다. `>0`인 경우 스로틀 한도가 초과되므로 연결 수를 줄여야 합니다. | 
| NetworkProcessorAvgIdlePercent | 클러스터가 ACTIVE 상태에 도달한 후. | 네트워크 프로세서가 유휴 상태인 시간의 평균 백분율입니다. | 
| ProduceLocalTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 리더에서 요청이 처리되는 데 걸리는 평균 시간(밀리초)입니다. | 
| ProduceRequestQueueTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 요청 메시지가 대기열에서 소비하는 평균 시간(밀리초)입니다. | 
| ProduceResponseQueueTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 응답 메시지가 대기열에서 소비하는 평균 시간(밀리초)입니다. | 
| ProduceResponseSendTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 응답 메시지를 보내는 데 걸린 평균 시간(밀리초)입니다. | 
| ProduceThrottleByteRate | 대역폭 스로틀링이 적용된 후. | 초당 스로틀링된 바이트 수입니다. | 
| ProduceThrottleQueueSize | 대역폭 스로틀링이 적용된 후. | 스로틀 대기열에 있는 메시지 수입니다. | 
| ProduceThrottleTime | 대역폭 스로틀링이 적용된 후. | 평균 프로덕션 스로틀링 시간(밀리초)입니다. | 
| ProduceTotalTimeMsMean | 클러스터가 ACTIVE 상태에 도달한 후. | 밀리초 단위의 평균 프로덕션 시간. | 
| ReplicationBytesInPerSec | 주제를 생성한 후. | 다른 브로커로부터 수신하는 초당 바이트 수입니다. | 
| ReplicationBytesOutPerSec | 주제를 생성한 후. | 다른 브로커로 전송되는 초당 바이트 수입니다. | 
| RequestExemptFromThrottleTime | 요청 스로틀링이 적용된 후. | 브로커 네트워크 및 I/O 스레드가 스로틀링에서 제외된 요청을 처리하는 데 걸린 평균 시간(밀리초)입니다. | 
| RequestHandlerAvgIdlePercent | 클러스터가 ACTIVE 상태에 도달한 후. | 요청 핸들러 스레드가 유휴 상태인 시간의 평균 백분율입니다. | 
| RequestThrottleQueueSize | 요청 스로틀링이 적용된 후. | 스로틀 대기열에 있는 메시지 수입니다. | 
| RequestThrottleTime | 요청 스로틀링이 적용된 후. | 평균 요청 스로틀링 시간(밀리초)입니다. | 
| TcpConnections | 클러스터가 ACTIVE 상태에 도달한 후. | SYN 플래그가 설정된 수신 및 발신 TCP 세그먼트 수를 표시합니다. | 
| TrafficBytes | 클러스터가 ACTIVE 상태에 도달한 후. | 클라이언트(생산자 및 소비자)와 브로커 간의 네트워크 트래픽을 전체 바이트 단위로 표시합니다. 브로커 사이의 트래픽은 보고되지 않습니다. | 

## Express 브로커에 대한 `PER_TOPIC_PER_PARTITION` 레벨 모니터링
<a name="express-per-topic-per-partition-metrics"></a>

모니터링 수준을 `PER_TOPIC_PER_PARTITION`으로 설정하면 모든 `PER_TOPIC_PER_BROKER`, `PER_BROKER`, `DEFAULT` 수준 지표에 추가로 다음 표에 설명된 지표가 표시됩니다. `DEFAULT` 수준 지표만 무료입니다. 이 표에 있는 지표의 측정 기준은 컨슈머 그룹, 주제, 파티션입니다.


| 이름 | 표시되는 경우 | 설명 | 
| --- | --- | --- | 
| EstimatedTimeLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 파티션 오프셋 지연을 배출하는 데 걸리는 예상 시간(초)입니다. | 
| OffsetLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 파티션 수준 컨슈머 지연의 오프셋 수입니다. | 
| RollingEstimatedTimeLag\$1 | 컨슈머 그룹이 주제에서 컨슘한 후. | 파티션 오프셋 지연을 제거하기 위한 롤링 시간 추정치(초)입니다. | 

\$1 소비자 지연 지표에는 ASCII 전용 소비자 그룹 이름이 필요하며 특정 방출 요구 사항이 있습니다. 자세한 내용은 [소비자 지연 모니터링](consumer-lag.md) 단원을 참조하십시오.

## Express 브로커에 대한 `PER_TOPIC_PER_BROKER` 레벨 모니터링
<a name="express-per-topic-per-broker-metrics"></a>

모니터링 수준을 `PER_TOPIC_PER_BROKER`로 설정하면 모든 `PER_BROKER` 및 `DEFAULT` 기본 수준 지표에 추가로 다음 표에 설명된 지표가 표시됩니다. `DEFAULT` 수준 지표만 무료입니다. 이 표에 있는 지표의 측정 기준은 클러스터 이름, 브로커 ID, 주제입니다.

**중요**  
다음 표의 지표는 해당 값이 처음으로 0이 아닌 상태가 된 후에만 나타납니다. 예를 들어, BytesInPerSec를 보려면 하나 이상의 프로듀서가 먼저 클러스터로 데이터를 전송해야 합니다.


| 이름 | 표시되는 경우 | 설명 | 
| --- | --- | --- | 
| MessagesInPerSec | 주제를 생성한 후. | 초당 수신된 메시지 수입니다. | 

# Prometheus를 사용하여 MSK 프로비저닝 클러스터 모니터링
<a name="open-monitoring"></a>

시계열 지표 데이터를 위한 오픈 소스 모니터링 시스템인 Prometheus로 MSK 프로비저닝된 클러스터를 모니터링할 수 있습니다. Prometheus의 원격 쓰기 기능을 사용하여 이 데이터를 Prometheus용 Amazon 관리형 서비스에 게시할 수 있습니다. 또한 Prometheus 형식의 지표와 호환되는 도구 또는 Amazon MSK 오픈 모니터링과 통합되는 도구([Datadog](https://docs.datadoghq.com/integrations/amazon_msk/), [Lenses](https://docs.lenses.io/latest/deployment/configuration/agent/automation/kafka/aws-msk), [New Relic](https://docs.newrelic.com/docs/integrations/amazon-integrations/aws-integrations-list/aws-managed-kafka-msk-integration), [Sumo logic](https://help.sumologic.com/03Send-Data/Collect-from-Other-Data-Sources/Amazon_MSK_Prometheus_metrics_collection))를 사용할 수 있습니다. 오픈 모니터링은 무료로 제공되지만 가용 영역 간 데이터 전송에 대해서는 요금이 부과됩니다.

Prometheus에 대한 자세한 내용은 [Prometheus 설명서](https://prometheus.io/docs)를 참조하십시오.

Prometheus 사용에 대한 자세한 내용은 [Prometheus용 Amazon Managed Service 및 Amazon Managed Grafana를 사용하여 Amazon MSK에 대한 운영 인사이트 향상](https://aws.amazon.com/blogs//big-data/enhance-operational-insights-for-amazon-msk-using-amazon-managed-service-for-prometheus-and-amazon-managed-grafana/)을 참조하세요.

**참고**  
KRaft 메타데이터 모드와 MSK Express 브로커는 공개 모니터링과 퍼블릭 액세스 둘 다를 활성화할 수 없습니다.

# 새로운 MSK 프로비저닝된 클러스터에서 오픈 모니터링 활성화
<a name="enable-open-monitoring-at-creation"></a>

이 절차에서는 AWS Management Console AWS CLI, 또는 Amazon MSK API를 사용하여 새 MSK 클러스터에서 공개 모니터링을 활성화하는 방법을 설명합니다.

**사용 AWS Management Console**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/msk/home?region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/) Amazon MSK 콘솔을 엽니다.

1. **모니터링** 섹션에서 **Enable open monitoring with Prometheus(Prometheus를 사용하여 오픈 모니터링 활성화)** 옆에 있는 확인란을 선택합니다.

1. 페이지의 모든 섹션에 필요한 정보를 제공하고 사용 가능한 모든 옵션을 검토합니다.

1. **클러스터 생성**을 선택합니다.

**사용 AWS CLI**
+ [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/kafka/create-cluster.html) 명령을 호출하고 해당 `open-monitoring` 옵션을 지정합니다. `JmxExporter`, `NodeExporter` 또는 둘 다를 활성화합니다. `open-monitoring`을 지정하면 두 Exporter를 동시에 비활성화할 수 없습니다.

**API 사용**
+ [CreateCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster) 작업을 호출하고 `OpenMonitoring`을 지정합니다. `jmxExporter`, `nodeExporter` 또는 둘 다를 활성화합니다. `OpenMonitoring`을 지정하면 두 Exporter를 동시에 비활성화할 수 없습니다.

# 기존 MSK 프로비저닝된 클러스터에서 오픈 모니터링 활성화
<a name="enable-open-monitoring-after-creation"></a>

개방형 모니터링을 사용하려면 MSK 프로비저닝된 클러스터가 `ACTIVE` 상태인지 확인합니다.

**사용 AWS Management Console**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/msk/home?region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/) Amazon MSK 콘솔을 엽니다.

1. 업데이트할 클러스터 이름을 선택합니다. 그러면 클러스터에 대한 세부 정보가 포함된 페이지로 이동합니다.

1. **속성** 탭에서 아래로 스크롤하여 **모니터링** 섹션을 찾습니다.

1. **편집**을 선택합니다.

1. **Enable open monitoring with Prometheus(Prometheus를 사용하여 오픈 모니터링 활성화)** 옆에 있는 확인란을 선택합니다.

1. **변경 사항 저장**을 선택합니다.

**사용 AWS CLI**
+ [update-monitoring](https://docs.aws.amazon.com/cli/latest/reference/kafka/update-monitoring.html) 명령을 호출하고 해당 `open-monitoring` 옵션을 지정합니다. `JmxExporter`, `NodeExporter` 또는 둘 다를 활성화합니다. `open-monitoring`을 지정하면 두 Exporter를 동시에 비활성화할 수 없습니다.

**API 사용**
+ [UpdateMonitoring](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring) 작업을 호출하고 `OpenMonitoring`을 지정합니다. `jmxExporter`, `nodeExporter` 또는 둘 다를 활성화합니다. `OpenMonitoring`을 지정하면 두 Exporter를 동시에 비활성화할 수 없습니다.

# Amazon EC2 인스턴스에서 Prometheus 호스트 설정
<a name="set-up-prometheus-host"></a>

이 절차에서는 prometheus.yml 파일을 사용하여 Prometheus 호스트를 설정하는 방법을 설명합니다.

1. [https://prometheus.io/download/#prometheus](https://prometheus.io/download/#prometheus)에서 Amazon EC2 인스턴스로 Prometheus 서버를 다운로드합니다.

1. 디렉터리에 다운로드한 파일의 압축을 풀고 해당 디렉터리로 이동합니다.

1. 다음 콘텐츠가 포함된 파일을 생성하고 이름을 `prometheus.yml`로 지정합니다.

   ```
   # file: prometheus.yml
   # my global config
   global:
     scrape_interval:     60s
   
   # A scrape configuration containing exactly one endpoint to scrape:
   # Here it's Prometheus itself.
   scrape_configs:
     # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
     - job_name: 'prometheus'
       static_configs:
       # 9090 is the prometheus server port
       - targets: ['localhost:9090']
     - job_name: 'broker'
       file_sd_configs:
       - files:
         - 'targets.json'
   ```

1. [ListNodes](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn-nodes.html#ListNodes) 작업을 사용하여 클러스터의 브로커 목록을 가져옵니다.

1. 다음 JSON을 통해 `targets.json` 파일을 생성합니다. *broker\$1dns\$11*, *broker\$1dns\$12* 및 나머지 브로커 DNS 이름을 이전 단계에서 브로커에 대해 얻은 DNS 이름으로 바꿉니다. 이전 단계에서 획득한 모든 브로커를 포함합니다. Amazon MSK는 JMX Exporter에 포트 11001을, Node Exporter에 포트 11002를 사용합니다.

------
#### [ ZooKeeper mode targets.json ]

   ```
   [
     {
       "labels": {
         "job": "jmx"
       },
       "targets": [
         "broker_dns_1:11001",
         "broker_dns_2:11001",
         .
         .
         .
         "broker_dns_N:11001"
       ]
     },
     {
       "labels": {
         "job": "node"
       },
       "targets": [
         "broker_dns_1:11002",
         "broker_dns_2:11002",
         .
         .
         .
         "broker_dns_N:11002"
       ]
     }
   ]
   ```

------
#### [ KRaft mode targets.json ]

   ```
   [
     {
       "labels": {
         "job": "jmx"
       },
       "targets": [
         "broker_dns_1:11001",
         "broker_dns_2:11001",
         .
         .
         .
         "broker_dns_N:11001",
         "controller_dns_1:11001",
         "controller_dns_2:11001",
         "controller_dns_3:11001"
       ]
     },
     {
       "labels": {
         "job": "node"
       },
       "targets": [
         "broker_dns_1:11002",
         "broker_dns_2:11002",
         .
         .
         .
         "broker_dns_N:11002"
       ]
     }
   ]
   ```

------
**참고**  
KRaft 컨트롤러에서 JMX 지표를 스크레이핑하려면 JSON 파일에 컨트롤러 DNS 이름을 대상으로 추가합니다. 예를 들어, `controller_dns_1:11001`인 경우 `controller_dns_1`를 실제 컨트롤러 DNS 이름으로 바꿉니다.

1. Amazon EC2 인스턴스에서 Prometheus 서버를 시작하려면 Prometheus 파일을 추출하고 `prometheus.yml` 및 `targets.json`을 저장한 디렉터리에서 다음 명령을 실행합니다.

   ```
   ./prometheus
   ```

1. 이전 단계에서 Prometheus를 실행한 Amazon EC2 인스턴스의 IPv4 퍼블릭 IP 주소를 찾습니다. 다음 단계에서 이 퍼블릭 IP 주소가 필요합니다.

1. Prometheus 웹 UI에 액세스하려면 Amazon EC2 인스턴스에 액세스할 수 있는 브라우저를 열고 `Prometheus-Instance-Public-IP:9090`으로 이동합니다. 여기서 *Prometheus-Instance-Public-IP*는 이전 단계에서 얻은 퍼블릭 IP 주소입니다.

# Prometheus 지표 사용
<a name="prometheus-metrics"></a>

JMX로 Apache Kafka에 의해 방출된 모든 지표는 Prometheus와 오픈 모니터링을 사용하여 액세스할 수 있습니다. Apache Kafka 지표에 대한 자세한 내용은 Apache Kafka 설명서의 [Monitoring](https://kafka.apache.org/documentation/#monitoring)을 참조하십시오. Apache Kafka 지표와 함께 소비자 지연 지표도 JMX MBean 이름 `kafka.consumer.group:type=ConsumerLagMetrics` 아래 포트 11001에서 사용할 수 있습니다. Prometheus 노드 내보내기를 사용하여 포트 11002에서 브로커에 대한 CPU 및 디스크 지표를 가져올 수도 있습니다.

# Amazon Managed Service for Prometheus에 Prometheus 지표 저장
<a name="managed-service-prometheus"></a>

Amazon Managed Service for Prometheus는 Amazon MSK 클러스터 모니터링에 사용할 수 있는 Prometheus 호환 모니터링 및 알림 서비스입니다. 지표의 수집, 스토리지, 쿼리 및 알림을 자동으로 확장하는 완전관리형 서비스입니다. 또한 AWS 보안 서비스와 통합되어 데이터에 빠르고 안전하게 액세스할 수 있습니다. 오픈 소스 PromQL 쿼리 언어를 사용하여 지표를 쿼리하고 지표에 대해 알릴 수 있습니다.

자세한 내용은 [Amazon Managed Service for Prometheus 시작하기](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-getting-started.html)를 참조하세요.

# 소비자 지연 모니터링
<a name="consumer-lag"></a>

소비자 지연을 모니터링하면 주제에서 사용 가능한 최신 데이터를 따라잡지 못하는 느리거나 멈춰 있는 소비자를 식별할 수 있습니다. 그런 다음 필요한 경우 해당 소비자의 규모를 조정하거나 재부팅하는 등의 수정 조치를 취할 수 있습니다. 소비자 지연을 모니터링하려면 Amazon CloudWatch를 사용하거나 Prometheus로 모니터링을 열 수 있습니다.

소비자 지연 지표는 주제에 기록된 최신 데이터와 애플리케이션에서 읽은 데이터 간의 차이를 정량화합니다. Amazon MSK는 Amazon CloudWatch를 통해 또는 Prometheus를 사용한 개방형 모니터링을 통해 얻을 수 있는 소비자 지연 지표(`EstimatedMaxTimeLag`, `EstimatedTimeLag`, `MaxOffsetLag`, `OffsetLag`, `SumOffsetLag`)를 제공합니다. 지표에 대한 자세한 내용은 [CloudWatch를 이용한 Standard 브로커 모니터링을 위한 Amazon MSK 지표](metrics-details.md) 섹션을 참조하세요.

Amazon MSK는 Apache Kafka 2.2.1 이상 버전이 설치된 클러스터에 대한 소비자 지연 지표를 지원합니다. Kafka 및 CloudWatch 지표를 사용할 때는 다음 사항을 고려하세요.
+ 컨슈머 지연 지표는 STABLE 또는 EMPTY 상태의 컨슈머 그룹에만 내보내집니다. 소비자 그룹은 재조정이 성공적으로 완료된 후 STABLE이므로 소비자 간에 파티션이 고르게 분산됩니다.
+ 다음 시나리오에서는 컨슈머 지연 지표가 없습니다.
  + 컨슈머 그룹이 불안정한 경우.
  + 컨슈머 그룹의 이름에 콜론(:)이 포함되어 있습니다.
  + 컨슈머 그룹에 대한 컨슈머 오프셋을 설정하지 않았습니다.
+ 컨슈머 그룹 이름이 CloudWatch에서 컨슈머 지연 지표의 측정 기준으로 사용됩니다. Kafka는 컨슈머 그룹 이름에서 UTF-8 문자를 지원하지만 CloudWatch는 [측정 기준 값](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html)에 대해 ASCII 문자만 지원합니다. 컨슈머 그룹 이름에 ASCII가 아닌 문자를 사용하는 경우 CloudWatch는 컨슈머 지연 지표를 삭제합니다. CloudWatch에서 컨슈머 지연 지표를 올바르게 캡처하려면 컨슈머 그룹 이름에 ASCII 문자만 사용해야 합니다.

# Amazon MSK 스토리지 용량 알림 사용
<a name="cluster-alerts"></a>

Amazon MSK 프로비저닝 클러스터에서 클러스터의 기본 스토리지 용량을 선택합니다. 프로비저닝된 클러스터에서 브로커의 스토리지 용량을 소진하면 브로커의 데이터 생성 및 소비 능력에 영향을 주어 비용이 많이 드는 가동 중지를 초래할 수 있습니다. Amazon MSK는 클러스터의 스토리지 용량을 모니터링하는 데 도움이 되는 CloudWatch 지표를 제공합니다. 하지만 스토리지 용량 문제를 더 쉽게 감지하고 해결할 수 있도록 Amazon MSK는 동적 클러스터 스토리지 용량 알림을 자동으로 전송합니다. 스토리지 용량 알림에는 클러스터의 스토리지 용량을 관리하기 위한 단기 및 장기적 단계의 권장 사항이 포함됩니다. [Amazon MSK 콘솔](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)에서 알림 내의 빠른 링크를 사용하여 즉시 권장 조치를 수행할 수 있습니다.

MSK 스토리지 용량 알림에는 사전 예방과 개선이라는 두 가지 유형이 있습니다.
+ 사전 예방(‘조치 필요’) 스토리지 용량 알림은 클러스터의 잠재적 스토리지 문제에 대해 경고합니다. MSK 클러스터의 브로커가 디스크 스토리지 용량의 60% 또는 80% 이상을 사용한 경우 영향을 받는 브로커에 대한 사전 알림을 받게 됩니다.
+ 개선(‘중요 조치 필요’) 스토리지 용량 알림은 사용자에게 MSK 클러스터의 브로커 중 하나에 디스크 스토리지 용량이 부족할 때 수정 조치를 취하여 중요한 클러스터 문제를 해결하도록 합니다.

Amazon MSK는 이러한 알림을 AWS 계정의 [Amazon MSK 콘솔](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/), [AWS Health Dashboard](https://aws.amazon.com/premiumsupport/technology/aws-health/), [Amazon EventBridge](https://aws.amazon.com/pm/eventbridge/) 및 이메일 연락처로 자동으로 전송합니다. 또한 [Amazon EventBridge가 이러한 알림을 Slack이나 New Relic, Datadog과 같은 도구에 전달하도록 구성할](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destination-partners.html) 수 있습니다.

스토리지 용량 경고는 모든 MSK 프로비저닝된 클러스터에서 기본적으로 활성화되며 끌 수 없습니다. 이 기능은 MSK를 사용할 수 있는 모든 리전에서 사용할 수 있습니다.

## 스토리지 용량 알림 모니터링
<a name="cluster-alerts-monitoring"></a>

여러 가지 방법으로 스토리지 용량 알림을 확인할 수 있습니다.
+ [Amazon MSK 콘솔](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)로 이동합니다. 스토리지 용량 알림은 클러스터 알림 창에 90일 동안 표시됩니다. 알림에는 디스크 스토리지 용량 문제를 해결하기 위한 권장 사항 및 원클릭 링크 동작이 포함됩니다.
+ [ListClusters](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#ListClusters), [ListClustersV2](https://docs.aws.amazon.com/MSK/2.0/APIReference/v2-clusters.html#ListClustersV2), [DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster) 또는 [DescribeClusterV2](https://docs.aws.amazon.com/MSK/2.0/APIReference/v2-clusters-clusterarn.html#DescribeClusterV2) API를 사용하여 `CustomerActionStatus` 및 모든 클러스터 알림을 볼 수 있습니다.
+ [AWS Health Dashboard](https://aws.amazon.com/premiumsupport/technology/aws-health/)로 이동하여 MSK 및 기타 AWS 서비스의 알림을 확인합니다.
+ [AWS Health API와](https://docs.aws.amazon.com/health/latest/ug/health-api.html) [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destination-partners.html)를 설정하여 알림을 Datadog, NewRelic, Slack과 같은 타사 플랫폼으로 라우팅할 수 있습니다.