Notification channels

Notification channels provide a way for users to configure how alerts are sent. Dashbird currently supports the following channels:

  • Email
  • Slack
  • Amazon SNS
  • Webhooks

To set up notification channels, open the organisation menu (from the top right corner), and click on “Notification settings”.

Email

  • In the right top corner, click + ADD -> Email
  • Add your email
  • You can now choose the Slack notification channel when setting up policies

Slack

  • In the right top corner, click + ADD -> Slack
  • Follow the on screen instructions of Slack
  • You can now choose the Slack notification channel when setting up policies

Amazon SNS

  • In the right top corner, click + ADD -> SNS
  • Add a name for the channel and your Amazon SNS topic ARN.

  • Configure the Amazon SNS topic access policy to allow Dashbird to publish messages. This is done by adding the following statement to the end of your access policy statements list:
{
      "Sid": "DashbirdSNSPublishPolicy",
      "Effect": "Allow",
      "Principal": {
        "AWS": ["458024764010"]
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:sns:<your-region>:<your-account-id>:<your-topic-name>"
}
  • After adding the statement, your access policy should look something like this:

  • You can now choose the Amazon SNS notification channel when setting up policies
  • Finally, you should create a subscription to your Amazon SNS topic if you don’t have one yet.

Webhook

  • In the right top corner, click + ADD -> Webhook
  • Add a name for the channel and your webhook endpoint URI
  • You can now choose the webhook notification channel when setting up policies
  • Verifying requests can be done by
    • concatenating the endpoint URI (in the same exact way you configured it in Dashbird) and request body
    • performing a SHA-256 digest on the string
    • generating a hex representation
    • comparing the result to x-dashbird-signature request header.
  • Here’s an example NodeJS pseudocode to generate a signature:
const crypto = require('crypto')

const signature = crypto.createHmac('sha256', webhookSecret)
	.update(requestURL)
	.update(requestBody)
	.digest('hex')

 

Can’t find what you’re looking for? We’d love to help. Send us a message through the chat bubble or email us.

 

No results found