Amazon SNS output plugin for Fluent event collector
Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/fluent/plugin
.gitignore
AUTHORS
CHANGELOG.md
README.rdoc
Rakefile
VERSION
fluent-plugin-sns.gemspec

README.rdoc

Amazon SNS output plugin for Fluent

Install

$ gem install fluent-plugin-sns

Component

SNSOutput

Send fluent-event as message to amazon SNS.

Configuratin

SNSOutput

<match sns.**>

  type sns

  # following attibutes are required

  sns_topic_name {sns_topic_name}

  # following attibutes are required if you don't use IAM Role nor export credentials to ENV

  aws_key_id {your_aws_key_id}
  aws_sec_key {your_aws_secret_key}

  # following attibutes are optional

  # AWS region (defaults to 'ap-northeast-1'), for a list of all available
  # regions see: http://docs.aws.amazon.com/general/latest/gr/rande.html#sns_region
  sns_region {region}

  sns_subject_template {template_erb_file_path}
  sns_subject_key {sns_subject_key}
  sns_subject {sns_subject} #constant subject

  sns_body_template {sns_body_template}
  sns_body_key {sns_body_key}

  # SNS Message attributes:
  # http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html
  # Note that currently only string values are supported.
  sns_message_attributes {attribute: string_value}
  sns_message_attributes_keys {attribute: key_in_record_with_string_value}

  proxy http(s)://{url}:{port}

</match>

Example

fluentd.conf

<match sns.**>

  type sns

  sns_topic_name example

  sns_endpoint sns.ap-northeast-1.amazonaws.com

  sns_subject_key from
  sns_body_template /path/to/template/body_template.erb

</match>

template

/path/to/template/body_template.erb

hello <%= record['to'] %>!

sample input

$ echo '{"from":'Alice',"to":"Bob" }' | fluent-cat sns.example

Then, the message is published. (subject -> 'Alice', body -> 'hello Bob!')

Copyright

Copyright

Copyright © 2011- Yuri Odagiri

License

Apache License, Version 2.0