Skip to content

mattermost-community/mattermost-plugin-aws-SNS

Repository files navigation

Disclaimer

This repository is community supported and not maintained by Mattermost. Mattermost disclaims liability for integrations, including Third Party Integrations and Mattermost Integrations. Integrations may be modified or discontinued at any time.

AWS SNS Plugin

Build Status Code Coverage Release HW

Maintainer: @mickmister Co-Maintainer: @jfrerich

This plugin is used to send alert notifications from Amazon AWS CloudWatch to Mattermost channels via AWS SNS. RDS Event processing is also supported.

Originally developed by Carlos Tadeu Panato Junior.

image

Configuration

Step 1: Configure plugin in Mattermost

  1. Go to System Console > Plugins > AWS SNS.

  2. Set the channel to send notifications to, specified in the format teamname,channelname. If the specified channel does not exist, the plugin will create the channel for you. If you want to specify more than one channel, you can append them separated by ; e.g. teamname,channelname;teamname-2,channelname-2

  3. Set authorized users who can accept AWS SNS subscriptions. Must be a comma-separated list of user IDs.

    • Note: This is the user ID of the user, not the username.
    • Tip: Use the mmctl user search CLI tool to determine a user ID. The user ID can also be found in the list of users in the System Console by searching for the user you wish you add.
  4. Set the username that this integration is attached to.

  5. Generate a token used for an AWS SNS subscription. Copy this value as you will use it in a later step.

  6. Go to System Console > Plugins > Management and select Enable to enable the AWS SNS plugin.

Step 2: Configure plugin in Amazon AWS

  1. Create an AWS CloudWatch alarm for your instance.
  2. Create an AWS SNS Topic with an HTTPS subscription to https://your-mattermost-url/plugins/com.mattermost.aws-sns?token=your-mattermost-token&channel=teamname,channelname, where your-mattermost-url refers to your Mattermost URL, and your-mattermost-token was generated on a previous step. The channel query parameter specifies the channel that should receive the subscription/messages. If no channel parameter is passed, the first channel will be used as default. Follow this documentation for additional configuration options.
  3. Switch to the Mattermost channel you configured to receive notifications.
  4. Select Confirm to accept the subscription posted to the channel.
  5. Configure your AWS CloudWatch Alarms to use the topic you created previously.

You're all set! Alerts should now get posted from AWS CloudWatch to Mattermost.

Development

This plugin contains a server portion. Read our documentation about the Developer Workflow and Developer Setup for more information about developing and extending plugins.

Releasing new versions

The version of a plugin is determined at compile time, automatically populating a version field in the plugin manifest:

  • If the current commit matches a tag, the version will match after stripping any leading v, e.g. 1.3.1.
  • Otherwise, the version will combine the nearest tag with git rev-parse --short HEAD, e.g. 1.3.1+d06e53e1.
  • If there is no version tag, an empty version will be combined with the short hash, e.g. 0.0.0+76081421.

To disable this behaviour, manually populate and maintain the version field.