This Plugin (https://github.com/Vagrants/blackbird-sqs) (the URL for github) uses the CloudWatch API to get SQS Metrics.
The Metrics that can be obtained are as follows. From the left, the column name is the Metric name, Statistics is Avg or Sum, and what is used to get the value? Description is a brief explanation of Metric.
Name | Statistics | Description |
---|---|---|
NumberOfMessageSent | Sum | Total number of messages added to the Queue |
SentMessageSize | Minimum | The smallest message size added to the Queue within the capture interval |
SentMessageSize | Maximum | The largest message size added to the Queue within the capture interval |
SentMessageSize | Average | Average size of messages added to the Queue within the capture interval |
SentMessageSize | Sum | Total size of messages added to the Queue within the capture interval |
NumberOfMessagesReceived | Sum | Number of messages retrieved by call of ReceiveMessage API |
NumberOfEmptyReceives | Sum | The number of calls that did not return a message with the ReceiveMessage API call |
NumberOfMessagesDeleted | Sum | Number of messages deleted from Queue |
ApproximateNumberOfMessagesDelayed | Average | Number of Queues that are delayed and cannot be read immediately |
ApproximateNumberOfMessagesVisible | Average | The number of messages that can be retrieved from the Queue. It's Queue Length. |
ApproximateNumberOfMessagesNotVisible | Average | The number of messages being processed. Messages that have been retrieved and not deleted are counted here. |
Items
As Items, only the above table is used because it only calls the above API.
Triggers
Queue Length
Check the length of the Queue from the value of ApproximateNumberOfMessagesNotVisible, and throw Alert for each threshold of Info, Average, High. Each threshold is cut out in Macro, so if there is an excess or deficiency in the default value, it will be adjusted in a timely manner.
Number of Getting Empty Messages
It may not be necessary depending on the characteristics of the application, but rather than detecting that there is nothing in the Queue, it alerts the number of times the Call of the ReceiveMessage API was empty. If the architecture is such that a Message is thrown to SQS and the Consumer retrieves it when inserting into the DB, it is a problem if it accumulates too much, and if it is too empty, something is wrong.
Graphs
Number of Operated Queue
Each operation of Message is graphed.
Is a graph.
Number of Visible Messages
It is a graph of Queue Length.
Total Message Size
The Total Size of the Message in the Queue.
Size per Message
Bytes per Message.
The Queue Length itself may not make sense to get depending on the characteristics of your application, but you'll notice that something unusual is happening when it's obviously accumulated and when it's obviously less. is. Is it meaningful just to notice that ...
Recommended Posts