

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

# Amazon SQS의 CloudWatch 지표 액세스
<a name="sqs-available-cloudwatch-metrics"></a>

Amazon SQS는 CloudWatch에 다음 지표를 전송합니다.

**참고**  
일부 지표의 경우, Amazon SQS의 분산 아키텍처로 인해 그 결과는 거의 비슷합니다. 대부분의 경우 그 수는 대기열에 있는 메시지의 실제 개수에 근접해야 합니다.

## Amazon SQS 지표
<a name="sqs-metrics"></a>

Amazon SQS는 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)의 `AWS/SQS` 네임스페이스 아래에 운영 지표를 자동으로 게시합니다. 이러한 지표는 대기열 상태 및 성능을 모니터링하는 데 도움이 됩니다. SQS의 분산된 특성으로 인해 많은 값이 근사치이지만 대부분의 운영 결정에 사용하기에 충분히 정확합니다.

**참고**  
모든 지표는 대기열이 활성화된 경우에만 음수가 아닌 값을 내보냅니다.
일부 지표(예: `SentMessageSize`)는 최소 하나의 메시지가 전송될 때까지 내보내지지 않습니다.


| 지표 | 설명 | 단위 | 보고 동작 | 주요 참고 사항 | 
| --- | --- | --- | --- | --- | 
| ApproximateAgeOfOldestMessage | 대기열에서 처리되지 않은 가장 오래된 메시지의 수명입니다. | 초 | 대기열에 최소 하나의 활성 메시지가 포함된 경우 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfGroupsWithInflightMessages | FIFO에만 해당합니다. 하나 이상의 진행 중인 메시지가 있는 메시지 그룹의 수입니다. | 개수 | FIFO 대기열이 활성 상태인 경우 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfMessagesDelayed | 대기열에서 지연되어 즉시 검색할 수 없는 메시지 수입니다. | 개수 | 지연된 메시지가 대기열에 있는 경우 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfMessagesNotVisible | 수신되었지만 아직 삭제되거나 만료되지 않은 진행 중 메시지 수입니다. | 개수 | 진행 중 메시지가 있는 경우 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfMessagesVisible | 현재 검색 및 처리에 사용할 수 있는 메시지 수입니다. | 개수 | 대기열이 활성 상태인 경우 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| NumberOfEmptyReceives1 | 메시지를 반환하지 않은 [ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) API 직접 호출 수입니다. | 개수 | 수신 작업 중에 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| NumberOfDeduplicatedSentMessages | FIFO에만 해당합니다. 중복 제거되고 대기열에 추가되지 않은 전송된 메시지의 수입니다. | 개수 | 중복 MessageDeduplicationId 값 또는 콘텐츠가 감지되면 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| NumberOfMessagesDeleted1 | 대기열에서 성공적으로 삭제된 메시지의 수입니다. | 개수 | 유효한 수신 핸들을 사용하여 각 삭제 요청에 대해 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| NumberOfMessagesReceived1 | [ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) API에서 반환한 메시지 수입니다. | 개수 | 수신 작업 중에 보고됩니다. |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html)  | 
|  NumberOfMessagesSent1 | 대기열에 성공적으로 추가된 메시지의 수입니다. | 개수 | 성공한 각 수동 전송에 대해 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  SentMessageSize1  | 대기열로 성공적으로 전송된 메시지의 크기입니다. | 바이트 | 최소 하나의 메시지가 전송될 때까지 내보내지지 않습니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  ApproximateNumberOfNoisyGroups | 공정 대기열에서 노이즈가 있는 것으로 간주되는 메시지 그룹의 수입니다. 노이즈가 있는 메시지 그룹은 멀티 테넌트 대기열의 노이즈가 있는 이웃 테넌트를 나타냅니다. | 개수 | [대기열이 활성화된 경우](monitoring-using-cloudwatch.md) 음수가 아닌 값이 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  ApproximateNumberOfMessagesVisibleInQuietGroups | 노이즈가 있는 메시지 그룹의 메시지를 제외하고 표시되는 메시지 수입니다. | 개수 | [대기열이 활성화된 경우](monitoring-using-cloudwatch.md) 음수가 아닌 값이 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  ApproximateNumberOfMessagesNotVisibleInQuietGroups | 노이즈가 있는 메시지 그룹의 메시지를 제외한 진행 중 메시지 수입니다. | 개수 | [대기열이 활성화된 경우](monitoring-using-cloudwatch.md) 음수가 아닌 값이 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  ApproximateNumberOfMessagesDelayedInQuietGroups | 노이즈가 있는 메시지 그룹의 메시지에서 지연되어 즉시 읽을 수 없는 메시지를 제외한 메시지 수입니다. 대기열이 [지연 대기열](sqs-delay-queues.md)로 구성되거나 메시지가 지연 파라미터와 함께 전송되었을 때 지연된 메시지가 발생할 수 있습니다. | 개수 | [대기열이 활성화된 경우](monitoring-using-cloudwatch.md) 음수가 아닌 값이 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  ApproximateAgeOfOldestMessageInQuietGroups | 노이즈가 있는 메시지 그룹의 메시지를 제외하고 대기열에서 삭제되지 않고 가장 오래된 메시지의 수명입니다. | 초 | [대기열이 활성화된 경우](monitoring-using-cloudwatch.md) 음수가 아닌 값이 보고됩니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 

¹ 이러한 지표는 시스템 수준 활동을 반영하며 재시도, 중복 또는 지연된 메시지를 포함할 수 있습니다. 메시지 수명 주기 동작을 고려하지 않고 원시 개수를 사용하여 실시간 대기열 상태를 추정하지 마세요.

## Dead Letter Queue(DLQ) 및 CloudWatch 지표
<a name="dlq-cloudwatch-metrics"></a>

DLQ 작업 시에는 Amazon SQS 지표가 어떻게 작동하는지 이해하는 것이 중요합니다.
+ **`NumberOfMessagesSent`** - 이 지표는 DLQ에서 다르게 작동합니다.
  + **수동 전송** - DLQ로 수동으로 전송된 메시지는 이 지표로 캡처됩니다.
  + **자동 리드라이브** - 처리 실패로 인해 DLQ로 자동 이동한 메시지는 이 지표로 캡처되지 **않습니다**. 따라서 DLQ에 대해 `NumberOfMessagesSent` 지표와 `NumberOfMessagesReceived` 지표가 일치하지 않을 수 있습니다.
+ **DLQ에 대한 권장 지표** - DLQ의 상태를 모니터링하려면 `ApproximateNumberOfMessagesVisible` 지표를 사용합니다. 이 지표는 DLQ에서 현재 처리할 수 있는 메시지 수를 나타냅니다.

## 공정 대기열 및 CloudWatch 지표
<a name="fair-queues-cloudwatch-metrics"></a>

[공정 대기열](sqs-fair-queues.md)을 사용하면 Amazon SQS는 다음과 같은 추가 지표를 내보냅니다.
+ `ApproximateNumberOfNoisyGroups`
+ `ApproximateNumberOfMessagesVisibleInQuietGroups`
+ `ApproximateNumberOfMessagesNotVisibleInQuietGroups`
+ `ApproximateNumberOfMessagesDelayedInQuietGroups`
+ `ApproximateAgeOfOldestMessageInQuietGroups`

**참고**  
각 `QuietGroup` 지표는 동등한 표준 대기열 수준 `Approximate` 지표의 하위 집합이지만 노이즈가 있는 이웃 그룹의 메시지는 제외됩니다.

**노이즈가 있는 그룹**  
노이즈가 있는 메시지 그룹은 멀티 테넌트 대기열의 노이즈가 있는 이웃 테넌트를 나타냅니다.

**잠잠한 그룹**  
노이즈가 있는 그룹을 제외한 메시지 그룹입니다.

**SQS 공정 대기열 동작 관찰**

Amazon SQS 공정 대기열의 영향을 모니터링하기 위해 `Approximate..InQuietGroups` 지표를 표준 대기열 수준 지표와 비교할 수 있습니다. 특정 테넌트에 대한 트래픽이 급증하는 동안 일반적인 대기열 수준 지표에서 백로그 증가 또는 메시지 수명 증가를 나타낼 수 있습니다. 그러나 잠잠한 그룹을 개별적으로 살펴보면 대부분의 노이즈가 없는 메시지 그룹 또는 테넌트가 영향을 받지 않음을 알 수 있고, 영향을 받는 총 메시지 그룹 수의 추정치를 제공할 수 있습니다.

 이러한 새로운 지표는 Amazon SQS 공정 대기열 동작에 대해 유용한 개요를 제공하지만 어떤 특정 테넌트가 로드를 유발하는지 이해하면 도움이 될 수 있습니다. [Amazon CloudWatch Contributor Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html)에서는 상위 N개의 기여자, 총 고유 기여자 수 및 그 사용량에 대한 지표를 볼 수 있습니다. 이는 기존 지표를 내보낼 때 카디널리티(및 비용)가 높은 데이터로 이어질 수 있는 수천 개의 테넌트를 처리하는 시나리오에서 특히 유용합니다.

 공정 대기열에 대한 구성 모니터링 예시는 [GitHub](https://github.com/aws-samples/sample-amazon-sqs-fair-queues)의 샘플을 참조하세요.

## Amazon SQS 지표 차원
<a name="sqs-metric-dimensions"></a>

CloudWatch의 Amazon SQS 지표는 단일 차원인 **`QueueName`**을 사용합니다. 모든 지표 데이터는 대기열 이름을 기준으로 그룹화되고 필터링됩니다.

## 모니터링 팁
<a name="monitoring-tips"></a>

주요 지표 및 CloudWatch 경보를 사용하여 SQS를 효과적으로 모니터링하여 대기열 백로그를 감지하고, 성능을 최적화하고, 서비스 한도를 지킵니다.
+ `ApproximateNumberOfMessagesVisible`을 기반으로 [CloudWatch 경보](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)를 설정하여 백로그 증가를 포착합니다.
+ `NumberOfEmptyReceives`를 모니터링하여 폴링 빈도를 조정하고 API 비용을 줄입니다.
+ FIFO 대기열에서 `ApproximateNumberOfGroupsWithInflightMessages`를 사용하여 처리량 한도를 진단합니다.
+ [SQS 할당량](sqs-quotas.md)을 검토하여 지표 임곗값 및 서비스 한도를 이해합니다.