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.
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:
Setup Amazon SNS:
Setup Amazon CloudWatch: