search
LoginSignup
2

More than 5 years have passed since last update.

posted at

[blackbird-sqs] Monitoring AWS SQS

このプラグイン(githubのURLです)では、CloudWatch APIを使ってSQSのMetricsを取得します。

What metric does this plugin get?

取得できるMetricsとしては以下のものがあります。カラム名は左から、NameはMetric名、StatisticsはAvgとかSumとか何でStatisticsして値を取得するか、DescriptionはMetricの簡単な説明です。

Name Statistics Description
NumberOfMessageSent Sum Queueに追加されたメッセージの数の合計
SentMessageSize Minimum 取得間隔内にQueueに追加されたメッセージのサイズの中で最も小さいもの
SentMessageSize Maximum 取得間隔内にQueueに追加されたメッセージのサイズの中で最も大きいもの
SentMessageSize Average 取得間隔内にQueueに追加されたメッセージの平均サイズ
SentMessageSize Sum 取得間隔内にQueueに追加されたメッセージの合計サイズ
NumberOfMessagesReceived Sum ReceiveMessage APIのcallで取得したメッセージの数
NumberOfEmptyReceives Sum ReceiveMessage APIのcallでメッセージを返さなかったcall回数
NumberOfMessagesDeleted Sum Queueから削除されたメッセージの数
ApproximateNumberOfMessagesDelayed Average 遅延が発生して、すぐに読み取れないQueueの数 
ApproximateNumberOfMessagesVisible Average Queueから取得可能なメッセージの数。Queue Lengthですね。
ApproximateNumberOfMessagesNotVisible Average 処理中のメッセージの数。取り出されて削除されてないメッセージとかはここにカウントされるます。

Zabbix Template

Items

Itemsとしては、上のAPIをcallしているだけなので上記の表のみです。

Triggers

Queue Length

ApproximateNumberOfMessagesNotVisibleの値からQueueの長さをみて、Info, Average, Highとそれぞれの閾値に対してAlert投げます。閾値はそれぞれMacroに切り出してあるので、default値に過不足があれば適時調整ですね。

Number of Getting Empty Messages

アプリケーションの特性によっては不要かもしれませんが、Queueに何も入ってないことを検知するより、ReceiveMessage APIのCallが空だった回数でアラートをあげています。DBにInsertするときにSQSに対してMessageを投げてConsumerが取り出すようなアーキテクチャーだと溜まりすぎても問題だし、空すぎてもなんかおかしいってことあると思います。

Graphs

Number of Operated Queue

Messageの各オペレーションをグラフ化です。

  • 追加されたメッセージの数
  • 受け取ったメッセージの数
  • 削除されたメッセージの数

をグラフにしてます。

スクリーンショット_2014-12-08_22_09_20.png

Number of Visible Messages

Queue Lengthのグラフです。

スクリーンショット_2014-12-08_22_09_45.png

Total Message Size

Queueに入っているMessageのTotal Sizeです。

スクリーンショット_2014-12-08_22_09_58.png

Size per Message

1MessageあたりのBytesです。

スクリーンショット_2014-12-08_22_10_15.png


Queue Length自体はアプリケーションの特性によっては取得することに意味はないのかもしれませんが、明らかにたまっているとき、明らかに少ない時にいつもとは違う何かが起こっていることには気づけるはずです。そこに気づくだけでも意味はあるかと...

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2