All Projects → assertible → Lambda Cloudwatch Slack

assertible / Lambda Cloudwatch Slack

Licence: mit
Send AWS CloudWatch notifications to a Slack channel using Lambda

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Lambda Cloudwatch Slack

Aegis
Serverless Golang deploy tool and framework for AWS Lambda
Stars: ✭ 277 (-22.19%)
Mutual labels:  aws-lambda
Cljs Lambda
Utilities around deploying Clojurescript functions to AWS Lambda
Stars: ✭ 304 (-14.61%)
Mutual labels:  aws-lambda
Lamby
Simple Rails & AWS Lambda Integration 🐑🛤
Stars: ✭ 336 (-5.62%)
Mutual labels:  aws-lambda
Serverless Plugin Canary Deployments
Canary deployments for your Serverless application
Stars: ✭ 283 (-20.51%)
Mutual labels:  aws-lambda
Lambdaguard
AWS Serverless Security
Stars: ✭ 300 (-15.73%)
Mutual labels:  aws-lambda
All About Programming
Everything about programming!!
Stars: ✭ 314 (-11.8%)
Mutual labels:  aws-lambda
Ask Alexa Pykit
A minimalist SDK for developing skills for the Amazon Echo's ASK - Alexa Skills Kit using Amazon Web Services's Python Lambda Functions. Currently supported profiles are for Linux servers and AWS Lambda. Check the appropriate release branch. The cherrypy release branches have added components for request validation.
Stars: ✭ 274 (-23.03%)
Mutual labels:  aws-lambda
This Repo Has 350 Stars
Yes, it's true 💕 This repository has 350 stars.
Stars: ✭ 350 (-1.69%)
Mutual labels:  aws-lambda
Aws Lambda Cpp
C++ implementation of the AWS Lambda runtime
Stars: ✭ 300 (-15.73%)
Mutual labels:  aws-lambda
Serverless Shop
Building a Serverless E-Commerce App with AWS Lambda, Stripe and React 💰 🌐
Stars: ✭ 325 (-8.71%)
Mutual labels:  aws-lambda
Hands On Serverless Guide
A hands-on guide for building Serverless applications
Stars: ✭ 288 (-19.1%)
Mutual labels:  aws-lambda
Serverless Golang
AWS Lambda Go functions using Serverless Framework and Python shim
Stars: ✭ 292 (-17.98%)
Mutual labels:  aws-lambda
Aws Lambda Graphql
Use AWS Lambda + AWS API Gateway v2 for GraphQL subscriptions over WebSocket and AWS API Gateway v1 for HTTP
Stars: ✭ 313 (-12.08%)
Mutual labels:  aws-lambda
Aws Cognito Apigw Angular Auth
A simple/sample AngularV4-based web app that demonstrates different API authentication options using Amazon Cognito and API Gateway with an AWS Lambda and Amazon DynamoDB backend that stores user details in a complete end to end Serverless fashion.
Stars: ✭ 278 (-21.91%)
Mutual labels:  aws-lambda
Express
⚡ Take existing Express.js apps and host them easily on cheap, auto-scaling, serverless infrastructure (AWS Lambda and AWS HTTP API).
Stars: ✭ 337 (-5.34%)
Mutual labels:  aws-lambda
Aws Auto Cleanup
Open-source application to programmatically clean your AWS resources based on a whitelist and time to live (TTL) settings
Stars: ✭ 276 (-22.47%)
Mutual labels:  aws-lambda
Amazon Rekognition Video Analyzer
A working prototype for capturing frames off of a live MJPEG video stream, identifying objects in near real-time using deep learning, and triggering actions based on an objects watch list.
Stars: ✭ 309 (-13.2%)
Mutual labels:  aws-lambda
Gitmask
Contribute Code Anonymously
Stars: ✭ 355 (-0.28%)
Mutual labels:  aws-lambda
Serverless Photo Recognition
A collection of 3 lambda functions that are invoked by Amazon S3 or Amazon API Gateway to analyze uploaded images with Amazon Rekognition and save picture labels to ElasticSearch (written in Kotlin)
Stars: ✭ 345 (-3.09%)
Mutual labels:  aws-lambda
Grant
OAuth Proxy
Stars: ✭ 3,509 (+885.67%)
Mutual labels:  aws-lambda

lambda-cloudwatch-slack

An AWS Lambda function for better Slack notifications. Check out the blog post.

BuildStatus NPM version

Overview

This function was originally derived from the AWS blueprint named cloudwatch-alarm-to-slack. The function in this repo improves on the default blueprint in several ways:

Better default formatting for CloudWatch notifications:

AWS Cloud Notification for Slack

Support for notifications from Elastic Beanstalk:

Elastic Beanstalk Slack Notifications

Support for notifications from Code Deploy:

AWS CodeDeploy Notifications

Basic support for notifications from ElastiCache:

AWS ElastiCache Notifications

Support for encrypted and unencrypted Slack webhook url:

Configuration

1. Clone this repository

2. Configure environment variables

cp .env.example .env

Fill in the variables in the .env.

3. Setup Slack hook

Follow these steps to configure the webhook in Slack:

  1. Navigate to https://slack.com/services/new and search for and select "Incoming WebHooks".

  2. Choose the default channel where messages will be sent and click "Add Incoming WebHooks Integration".

  3. Copy the webhook URL from the setup instructions and use it in the next section.

  4. Click 'Save Settings' at the bottom of the Slack integration page.

Encrypted the Slack webhook URL

If you don't want or need to encrypt your hook URL, you can use the UNENCRYPTED_HOOK_URL. If this variable is specified, the KMS_ENCRYPTED_HOOK_URL is ignored.

If you do want to encrypt your hook URL, follow these steps to encrypt your Slack hook URL for use in this function:

  1. Create a KMS key - http://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html.

  2. Encrypt the event collector token using the AWS CLI. $ aws kms encrypt --key-id alias/ --plaintext "<SLACK_HOOK_URL>"

    Note: You must exclude the protocol from the URL (e.g. "hooks.slack.com/services/abc123").

  3. Copy the base-64 encoded, encrypted key (CiphertextBlob) to the ENCRYPTED_HOOK_URL variable.

  4. Give your function's role permission for the kms:Decrypt action. Example:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1443036478000",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "<your KMS key ARN>"
            ]
        }
    ]
}

4. Deploy to AWS Lambda

The final step is to deploy the integration to AWS Lambda:

npm install
npm run deploy

Tests

With the variables filled in, you can test the function:

npm install
npm test

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].