Monitoring: Amazon SQS
Amazon Simple Queue Service (Amazon SQS) is a fully managed message queuing service that makes it simple and cost-effective to decouple and scale distributed applications and microservices. It is a highly scalable, fault-tolerant, durable hosted queue without any single points of failure. You can access Amazon SQS through AWS SDK or AWS CLI from any programming language they support.
Why should you monitor Amazon SQS?
When monitoring Amazon SQS, it is important to keep a close eye on two specific metrics when monitoring your system: the age of the oldest messages in the queue and the length of the dead letter queue. These metrics are critical because they can indicate serious issues with your system.
How does monitoring Amazon SQS work?
Without further ado, marbot monitors Amazon SQS. Here is what a notification delivered to a Microsoft Teams channel looks like.
And here is the same alert in Slack.
How do you set up monitoring of Amazon SQS?
marbot works with Slack and Microsoft Teams. Please select your platform and follow the Getting Started guide.
Which metrics does marbot monitor in detail?
marbot creates CloudWatch alarms to automatically monitor the following metrics of all SQS queues.
Metric | Description |
---|---|
ApproximateAgeOfOldestMessage |
Get alerted if an SQS queue has old messages that are not processed. |
ApproximateNumberOfMessagesVisible |
Get alerted if an SQS queue length grows too much. |
How to fine-tune the monitoring of SQS queues?
It is possible to fine-tune the CloudWatch alarms created by marbot by adding tags to your SQS queue.
Tags are read every six hours. Therefore, it can take up to six hours before the CloudWatch alarm is adjusted.
tag key | default value | allowed values |
---|---|---|
marbot |
on | on,off |
marbot:approximate-age-of-oldest-message |
static | static,off |
marbot:approximate-age-of-oldest-message:threshold |
21600 | >= 0 |
marbot:approximate-age-of-oldest-message:period |
60 | <= 86400 and multiple of 60 |
marbot:approximate-age-of-oldest-message:evaluation-periods |
1 | >= 1 and $period*$evaluation-periods <= 86400 |
marbot:approximate-number-of-messages-visible |
off | static,off |
marbot:approximate-number-of-messages-visible:threshold |
1000 | >= 0 |
marbot:approximate-number-of-messages-visible:period |
60 | <= 86400 and multiple of 60 |
marbot:approximate-number-of-messages-visible:evaluation-periods |
1 | >= 1 and $period*$evaluation-periods <= 86400 |
Chatbot for AWS Monitoring
Configure monitoring for Amazon Web Services: CloudWatch, EC2, RDS, EB, Lambda, and more. Receive and manage alerts via Slack. Solve incidents as a team.