Marbot made by Andreas and Michael Wittig helps DevOps team to detect and solve incidents in AWS. It forwards alerts from AWS to your DevOps Team via Slack.
- Marbot API is provided by API Gateway. Most of the request comes from
- AWS SNS, where it is used with HTTPS subscription to transport alerts, notifications, and incidents from within their AWS accounts to Marbot
- Slack – It uses Slack Events API to drive the conversation with users
- The API Gateway forwards HTTP requests to one of the Lambda Functions.
- All of them are implemented in Node.js and store their state in DynamoDB tables.
- Marbot needs timers to escalate alerts after 5 minutes which is implemented with SQS messages with a delay.
- All logs are collected and monitored through AWS Cloudwatch. Alert topic delivers Cloudwatch Alarms via email.
- Slack waits for only 2 secs. To not miss the timeout, a record is put into Kinesis Stream that contains all relevant data before responding to the API request.
- Marbot makes many calls to other services. AWS X-Ray is used to debug issues with them.