Alert Integration Builder
Problem to solve
Enterprises are already invested and entrenched in a suite of monitoring tools, moreover, there are hundreds of monitoring tools in market today. These emit alerts with unique payloads differing in format and content. GitLab's Alert Management tool needs to be able to consume and aggregate alerts from any tool. Other incident management tools have invested in building and maintaining individual integrations so that they can consume proprietary alerts from all of these tools.
This is not a viable solution for GitLab because:
- Our team focused on solving this problem in market is small (there are entire companies working on this)
- Building integrations with a large percentage of these tools will take too long because of 1
- Maintaining all of these integrations would be a lot of work
To overcome these limitations, we need to create a simple repeatable process by which customers can integrate any tool with GitLab.
If we can create a service that transforms proprietary alerts into a single standard that can be sent to GitLab, we can quickly catch up to other incident management tools in market.
Tools we might be able to leverage:
- StatSD - open source tool leveraged by DataDog that enables users to simply instrument any application and aggregate metrics and alerts in DataDog
- Dispatch - Netflix's open source incident management platform - consumes, parses, and stores incidents from many sources
Other companies that have taken a similar approach:
User experience goal
Operator integrate any tool with the service with little to no code.
Create a tool that parses alerts into a single layer of key:value pairs and allows users to map fields to required GitLab fields. Users will need to define default values for required fields if the mapping they select is unavailable. users can save and update these integrations. These integrations could also be made available to the wider community.
Gitlab could start by creating a few integrations for highly used tools and documenting these examples.
This work supports the Alert Management direction.