

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SQS で利用可能な CloudWatchメトリクス
<a name="sqs-available-cloudwatch-metrics"></a>

Amazon SQS は、次のメトリクスをCloudWatchに送信します。

**注記**  
一部のメトリクスでは、Amazon SQS の分散アーキテクチャにより、結果は概算になります。ほとんどの場合、カウントはキュー内の実際のメッセージ数に近い数値になります。

## Amazon SQS メトリクス
<a name="sqs-metrics"></a>

Amazon SQS は、`AWS/SQS` 名前空間の [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) に運用メトリクスを自動的に公開します。これらのメトリクスは、キューのヘルスとパフォーマンスをモニタリングするのに役立ちます。SQS の分散特性により、多くの値は近似値となりますが、ほとんどの運用上の判断に十分な精度があります。

**注記**  
すべてのメトリクスは、キューがアクティブな場合にのみ負以外の値を出力します。
一部のメトリクス (`SentMessageSize` など) は、少なくとも 1 つのメッセージが送信されるまで出力されません。


| メトリクス | 説明 | 単位 | 報告動作 | キーノート | 
| --- | --- | --- | --- | --- | 
| ApproximateAgeOfOldestMessage | キュー内で最も古い未処理メッセージの経過時間。 | 秒 | キューにアクティブなメッセージが少なくとも 1 つ含まれている場合に報告されます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfGroupsWithInflightMessages | FIFO のみ。処理中メッセージを含むメッセージグループの数。 | カウント | FIFO キューがアクティブの場合に報告されます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfMessagesDelayed |  キュー内で遅延されており、すぐには読み取ることができないメッセージの数。  | カウント | 遅延メッセージがキューに存在する場合に報告されます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfMessagesNotVisible | 受信されたものの、まだ削除されていない、または期限切れになっていない処理中メッセージの数。 | カウント | 処理中メッセージが存在する場合に報告されます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| ApproximateNumberOfMessagesVisible | 現在、取得および処理が可能なメッセージの数。 | カウント | キューがアクティブの場合に報告されます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| NumberOfDeduplicatedSentMessages | FIFO のみ。重複排除され、キューに追加されなかった送信メッセージの数。 | カウント | 重複した MessageDeduplicationId 値またはコンテンツが検出された場合に報告されます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
| NumberOfMessagesDeleted1 |  キューから正常に削除されたメッセージの数。  | カウント | 有効な受信ハンドルを持つ各削除リクエストごとにレポートされます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html)  | 
|  NumberOfMessagesSent1 | キューに正常に追加されたメッセージの数。 | カウント | 手動送信が成功するたびにレポートされます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 
|  SentMessageSize1  |  キューに正常に送信されたメッセージのサイズ。  | バイト | 少なくとも 1 つのメッセージが送信されるまで出力されません。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) | 

¹これらのメトリクスはシステムレベルのアクティビティを反映し、再試行、重複、遅延メッセージが含まれる場合があります。メッセージライフサイクルの挙動を考慮せず、生のカウントだけを使用してリアルタイムキューの状態を推定しないでください。

## デッドレターキュー (DLQ) と CloudWatch メトリクス
<a name="dlq-cloudwatch-metrics"></a>

DLQ を使用する場合は、Amazon SQS メトリクスの動作を理解することが重要です。
+ **`NumberOfMessagesSent`** – このメトリクスの動作は DLQ によって異なります。
  + **手動送信** – DLQ に手動で送信されたメッセージは、このメトリクスによってキャプチャされます。
  + **自動リドライブ** – 処理の失敗によって DLQ に自動的に移動されたメッセージは、このメトリクスではキャプチャ**されません**。その結果、`NumberOfMessagesSent` メトリクスと `NumberOfMessagesReceived` メトリクスに DLQ の不一致が表示される場合があります。
+ **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)を確認して、メトリクスのしきい値とサービスの制限を理解します。