Try it out for free!

Inspiration

Working as DevOps engineers in various teams we have alway been looking for a tool to share on-call duty among many shoulders without the need for organizational overhead. We came up with the idea of building a chatbot to combine Amazon CloudWatch with Slack.

What it does

Avoid alert fatigue! Connect Amazon CloudWatch and Slack to spread alerts among your team members.

Minimize distraction

One engineer, not the whole team, receives an alert. You can focus on your project work instead of being distracted by your pager. marbot escalates unnoticed incidents up to the next engineer or the team.

Reuse channel

No need to register a new account or install a new app. Just reuse your favorite messaging app: Slack. marbot delivers alarms by sending direct messages. Acknowledging, passing, and closing alerts with Slack-native actions.

Simplify organization

No need to setup complicated on-call rotations and schedules. Use Slack channels to organize teams. Join a channel to be on-call. marbot respects your DND schedule and snooze setting.

Features

  • Receiving alerts from Amazon CloudWatch via Amazon SNS
  • Escalating alerts if a team member isn't acknowledging within 5 minutes
  • Managing alerts by accepting, passing or closing them
  • Analyzing alerts in a daily summary
  • Grouping alerts with a dedicated alarm gateway for each channel

How we built it

We used the following services and tools to create marbot.

APIs and Libraries

  • Slack Events API
  • Slack Web API
  • natural (general natural language facility for Node.js)

Services

  • AWS Lambda
  • Amazon API Gateway
  • Amazon DynamoDB
  • Amazon Kinesis Streams
  • Amazon Kinesis Analytics
  • Amazon SNS
  • Amazon SQS
  • AWS CloudWatch

Tools

  • Serverless Framework
  • Node.js
  • Jenkins 2.0

Challenges we ran into

Besides building a great chatbot our goal during this hackathon was to learn about new services and tools. Getting started with new tools and services has been a rewarding challenge for us.

  • Using the latest version of the Serverless framework to deploy our chatbot.
  • Analyzing data with Amazon Kinesis Analytics.
  • Talking to the Slack APIs.

Accomplishments that we're proud of

We were particularly proud of the following three details of our chatbot.

Keep It Simple

marbot is simple to use. It combines existing concepts to provide a relaxed pager solution. We spent a lot of effort to simplify the onboarding process and day-to-day usage.

Slack App Directory

marbot was approved by Slack and is listed in the Slack App Directory.

Kinesis Analytics

marbot is making use of a shiny new service: Amazon Kinesis Analytics. Allowing us to generate accurate daily team statistics.

What we learned

  • People do love our sweet marmot mascot.
  • Using the Serverless framework to speed up the setup process of a serverless environment.
  • How to analyze data streams with Kinesis Analytics.

What's next for marbot

We are looking forward to improving our Minimum Viable Product based on the feedback from our steadily growing user base.

Built With

Share this project:

Updates