sns

Milestone: 1

SNS output.

Send events to Amazon’s Simple Notification Service, a hosted pub/sub framework. It supports subscribers of type email, HTTP/S, SMS, and SQS.

For further documentation about the service see:

http://docs.amazonwebservices.com/sns/latest/api/

This plugin looks for the following fields on events it receives:

  • sns - If no ARN is found in the configuration file, this will be used as the ARN to publish.
  • sns_subject - The subject line that should be used. Optional. The “%{host}” will be used if not present and truncated at MAX_SUBJECT_SIZE_IN_CHARACTERS.
  • sns_message - The message that should be sent. Optional. The event serialzed as JSON will be used if not present and with the @message truncated so that the length of the JSON fits in MAX_MESSAGE_SIZE_IN_BYTES.

Synopsis

This is what it might look like in your config file:
output {
  sns {
    access_key_id => ... # string (optional)
    arn => ... # string (optional)
    aws_credentials_file => ... # string (optional)
    codec => ... # codec (optional), default: "plain"
    format => ... # string, one of ["json", "plain"] (optional), default: "plain"
    proxy_uri => ... # string (optional)
    publish_boot_message_arn => ... # string (optional)
    region => ... # string, one of ["us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1", "us-gov-west-1"] (optional), default: "us-east-1"
    secret_access_key => ... # string (optional)
    use_ssl => ... # boolean (optional), default: true
    workers => ... # number (optional), default: 1
  }
}

Details

access_key_id

  • 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…
1. Static configuration, using access_key_id and secret_access_key params in logstash plugin config
2. External credentials file specified by aws_credentials_file
3. Environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
4. Environment variables AMAZON_ACCESS_KEY_ID and AMAZON_SECRET_ACCESS_KEY
5. IAM Instance Profile (available when running inside EC2)

arn

  • Value type is string
  • There is no default value for this setting.

SNS topic ARN.

aws_credentials_file

  • 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"

codec

  • 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.

exclude_tags DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is array
  • Default value is []

Only handle events without any of these tags. Note this check is additional to type and tags.

format

  • Value can be any of: "json", "plain"
  • Default value is "plain"

Message format. Defaults to plain text.

proxy_uri

  • Value type is string
  • There is no default value for this setting.

URI to proxy server if required

publish_boot_message_arn

  • Value type is string
  • There is no default value for this setting.

When an ARN for an SNS topic is specified here, the message “Logstash successfully booted” will be sent to it when this plugin is registered.

Example: arn:aws:sns:us-east-1:770975001275:logstash-testing

region

  • Value can be any of: "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1", "us-gov-west-1"
  • Default value is "us-east-1"

The AWS Region

secret_access_key

  • Value type is string
  • There is no default value for this setting.

The AWS Secret Access Key

tags DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is array
  • Default value is []

Only handle events with all of these tags. Note that if you specify a type, the event must also match that type. Optional.

type DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is string
  • Default value is ""

The type to act on. If a type is given, then this output will only act on messages with the same type. See any input plugin’s “type” attribute for more. Optional.

use_ssl

  • Value type is boolean
  • Default value is true

Should we require (true) or disable (false) using SSL for communicating with the AWS API
The AWS SDK for Ruby defaults to SSL so we preserve that

workers

  • Value type is number
  • Default value is 1

The number of workers to use for this output. Note that this setting may not be useful for all outputs.


This is documentation from lib/logstash/outputs/sns.rb