sqs
editsqs
editThis is a community-maintained plugin!
Push events to an Amazon Web Services Simple Queue Service (SQS) queue.
SQS is a simple, scalable queue system that is part of the Amazon Web Services suite of tools.
Although SQS is similar to other queuing systems like AMQP, it uses a custom API and requires that you have an AWS account. See http://aws.amazon.com/sqs/ for more details on how SQS works, what the pricing schedule looks like and how to setup a queue.
To use this plugin, you must:
- Have an AWS account
- Setup an SQS queue
- Create an identify that has access to publish messages to the queue.
The "consumer" identity must have the following permissions on the queue:
- sqs:ChangeMessageVisibility
- sqs:ChangeMessageVisibilityBatch
- sqs:GetQueueAttributes
- sqs:GetQueueUrl
- sqs:ListQueues
- sqs:SendMessage
- sqs:SendMessageBatch
Typically, you should setup an IAM policy, create a user and apply the IAM policy to the user. A sample policy is as follows:
{ "Statement": [ { "Sid": "Stmt1347986764948", "Action": [ "sqs:ChangeMessageVisibility", "sqs:ChangeMessageVisibilityBatch", "sqs:DeleteMessage", "sqs:DeleteMessageBatch", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sqs:ListQueues", "sqs:ReceiveMessage" ], "Effect": "Allow", "Resource": [ "arn:aws:sqs:us-east-1:200850199751:Logstash" ] } ] }
See http://aws.amazon.com/iam/ for more details on setting up AWS identities.
Synopsis
editThis plugin supports the following configuration options:
Required configuration options:
sqs { queue => ... }
Available configuration options:
Setting | Input type | Required | Default value |
---|---|---|---|
No |
|||
No |
|||
No |
|
||
No |
|
||
No |
|
||
No |
|
||
No |
|||
Yes |
|||
string, one of |
No |
|
|
No |
|||
No |
|||
No |
|
||
No |
|
Details
edit
access_key_id
edit- Value type is string
- There is no default value for this setting.
This plugin uses the AWS SDK and supports several ways to get credentials, which will be tried in this order:
-
Static configuration, using
access_key_id
andsecret_access_key
params in logstash plugin config -
External credentials file specified by
aws_credentials_file
-
Environment variables
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
-
Environment variables
AMAZON_ACCESS_KEY_ID
andAMAZON_SECRET_ACCESS_KEY
- IAM Instance Profile (available when running inside EC2)
aws_credentials_file
edit- Value type is string
- There is no default value for this setting.
Path to YAML file containing a hash of AWS credentials.
This file will only be loaded if access_key_id
and
secret_access_key
aren’t set. The contents of the
file should look like this:
:access_key_id: "12345" :secret_access_key: "54321"
batch
edit- Value type is boolean
-
Default value is
true
Set to true if you want send messages to SQS in batches with batch_send
from the amazon sdk
batch_events
edit- Value type is number
-
Default value is
10
If batch
is set to true, the number of events we queue up for a batch_send
.
batch_timeout
edit- Value type is number
-
Default value is
5
If batch
is set to true, the maximum amount of time between batch_send
commands when there are pending events to flush.
codec
edit- Value type is codec
-
Default value is
"plain"
The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output, without needing a separate filter in your Logstash pipeline.
proxy_uri
edit- Value type is string
- There is no default value for this setting.
URI to proxy server if required
queue
edit- This is a required setting.
- Value type is string
- There is no default value for this setting.
Name of SQS queue to push messages into. Note that this is just the name of the queue, not the URL or ARN.
region
edit-
Value can be any of:
us-east-1
,us-west-1
,us-west-2
,eu-central-1
,eu-west-1
,ap-southeast-1
,ap-southeast-2
,ap-northeast-1
,sa-east-1
,us-gov-west-1
,cn-north-1
-
Default value is
"us-east-1"
secret_access_key
edit- Value type is string
- There is no default value for this setting.
The AWS Secret Access Key