Relay alerts from Amazon CloudWatch to a Slack.com room.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
routes
.gitignore
.nodemonignore
LICENSE
Procfile
README.md
app.js
app.json
package.json

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