七夕のお願いtweetで願いが叶ったので、レポートしたいと思います。

SQSのキューのサイズがCloudWatchで見れますように。(カスタムメトリクスじゃなくて) #AWS77 #jawsugless than a minute ago via Tweet-Watch Favorite Retweet Replysuz-lab
suz_lab

AWS Management ConsoleのCloudWatchタブを見ると、
左のメニューの下部にSQSの項目があることが確認できます。

クリックすると、下記のメトリクスが取得できていることがわかります。

  • NumberOfMessagesSent
  • SentMessageSize
  • NumberOfMessagesReceived
  • NumberOfEmptyReceives
  • NumberOfMessagesDeleted
  • ApproximateNumberOfMessagesVisible
  • ApproximateNumberOfMessagesNotVisible

各メトリックスは、Amazon SQS Dimensions and Metricsのようになります。

サンプルグラフも入れてますが、これは一度に、キューに500程度のメッセージを入れ、
そのメッセージを10インスタンスのEC2で処理(5分程度)し続けたものです。

○NumberOfMessagesSent (個数)

キューに追加されたメッセージ数

一度に500程度のメッセージが追加されていることが確認できます。

○SentMessageSize (バイト数)

キューに追加されたメッセージのバイト数

○NumberOfMessagesReceived (個数)

ReceiveMessage APIで取得したメッセージ数

5分で15メッセージ程度を処理していることがわかります。

○NumberOfEmptyReceives (個数)

ReceiveMessage APIでメッセージが取得できなかった数

○NumberOfMessagesDeleted (個数)

キューから削除されたメッセージ数

メッセージを取得してから、処理して後に削除しているので、
「取得したメッセージ数」とほぼ同じグラフです。

○ApproximateNumberOfMessagesVisible (個数)

キューから取得可能なメッセージ数

最初の500程度のメッセージ数から順調に減少していることがわかります。

○ApproximateNumberOfMessagesNotVisible (個数)

クライアントに送信されてもまだ削除されてないメッセージや
可視状態に戻っていないメッセージの数

Visibilityも含めた詳しい説明は、Amazon SQSってなんじゃ?(その1 Scratchpad編)が参考になります。

ということで、SQSのキューのメッセージ数をトリガーにした、Auto ScalingやSNSのアクションが、
カスタムメトリクスを利用せずにできるようになりました。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら