Skip to content
A Prometheus Exporter for the Amazon Simple Queue Service (SQS)
Java Dockerfile
Branch: master
Clone or download
jmal98 Merge pull request #11 from gloriasc/master
Allow building with newer maven version
Latest commit 801d28f Feb 6, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Added queue urls filtering and docs Mar 4, 2019
.gitignore added additional project excludes Sep 13, 2017
Dockerfile
LICENSE Initial commit Sep 13, 2017
README.md Update README.md Mar 8, 2019
docker-compose.yml upgrade versions of build/runtime libraries/artifacts Jul 4, 2018
pom.xml

README.md

Amazon Simple Queue Service (SQS) Exporter

A Prometheus exporter for the Amazon Simple Queue Service metrics.

Build

docker build --tag sqs-exporter  .

Exported Metrics

Metric Labels
sqs_ATTRIBUTE_NAME Queue Name
  • ApproximateNumberOfMessages - Approximate number of visible messages in a queue. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.
  • ApproximateNumberOfMessagesDelayed - Approximate number of messages that are waiting to be added to the queue.
  • ApproximateNumberOfMessagesNotVisible - Approximate number of messages that have not timed-out and aren't deleted. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

Configuration

AWS credentials can be provided via the following:

  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  • Credentials delivered through the Amazon EC2 container service if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" environment variable is set and security manager has permission to access the variable,
  • Instance profile credentials delivered through the Amazon EC2 metadata service if running within AWS
  • IAM role applied to either an Amazon Elastic Container Service (ECS) service or task

By default, the exporter will watch all SQS queues visible to the AWS account. To watch a specific set of queues, supply one of these parameters:

  • a comma-separated list of queue names in the environment variable SQS_QUEUE_NAMES;
  • a single queue prefix in SQS_QUEUE_NAME_PREFIX. (SQS_QUEUE_NAMES takes precedence over SQS_QUEUE_NAME_PREFIX);
  • a comma-separated list of queue URLs in SQS_QUEUE_URLS.

With no parameters specified via environment variables, the full list of queues will be returned.

Docker

You can deploy this exporter using the jmal98/sqs-exporter Docker image.

If you run in AWS, the following will assume it's running with an IAM profile which will allow read access to SQS information.

docker run -d -p 9384:9384 jmal98/sqs-exporter:0.0.7

Use the following to pass the queue filtering environment variables to the docker container.

docker run -d -e SQS_QUEUE_NAME_PREFIX='example_queue_prefix' -p 9384:9384 jmal98/sqs-exporter:0.0.7

If you would like to run the exporter with supplied environment configuration, the following will work both inside and outside of AWS. This is useful if you desire to run the exporter externally.

docker run -d -p 9384:9384 -e AWS_ACCESS_KEY_ID=<access key> -e AWS_SECRET_ACCESS_KEY=<secret key> -e AWS_REGION=<region>  jmal98/sqs-exporter:0.0.7
You can’t perform that action at this time.