Relay alerts from Amazon CloudWatch to a Slack.com room.
JavaScript
Switch branches/tags
Nothing to show
Clone or download

README.md

Amazon CloudWatch to Slack

Relay alerts from Amazon CloudWatch to a Slack room.

This code is 100% based on Amazon CloudWatch to Hipchat and it could not be possible without it.

Setup

Requirements:

Deploy your application to to Heroku:

cd /path/to/wherever
git clone https://github.com/esanchezm/amazon-cloudwatch-to-slack.git

cd amazon-cloudwatch-to-slack
heroku apps:create
heroku config:set 'SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX'
git push heroku master

You can optionally set a diferent slack channel, username or avatar to customize messages:

heroku config:set SLACK_CHANNEL=#yourchannel\
                  SLACK_USERNAME="AWS CloudWatch" \
                  SLACK_ICON_URL="http://www.example.com/bot_avatar.png" \
                  SLACK_ICON_EMOJI=":ghost:"

Notice that SLACK_ICON_URL and SLACK_ICON_EMOJI are mutually exclusive.

Additional configuration parameters for SES notifications:

heroku config:set SLACK_SES_CHANNEL=#otherchannel\
                  SLACK_SES_USERNAME="AWS SES" \
                  SLACK_SES_ICON_URL="http://www.example.com/bot_avatar.png" \
                  SLACK_SES_ICON_EMOJI=":ghost:"

Or just push the button:

Deploy

Setup Amazon SNS:

  • Create a new Topic, or select an existing Topic
  • Add a New Subscription to the topic
  • Select HTTPS, and paste in your HTTPS URL to your Heroku application

Setup Amazon CloudWatch:

  • Create or modify an alert
  • Select the "Send Notification" action
  • Select the SNS topic you created / updated in the previous step