My question is somewhat similar to https://community.atlassian.com/t5/Opsgenie-questions/Datadog-integration-and-routing-best-practice-advice/qaq-p/2204954 but I'm hoping for a different solution.
On our in-house platform, we have deployed many independent services (100+), each owned by one of many different teams (10+).
We have a variety of platform-level monitors in DataDog, where one monitor (e.g. "deployment failed") will apply to ALL services, distinguished by tags (e.g. `env:production, service:foo, team:bar`).
Assuming we create each of those teams and their services within OpsGenie, is it possible to create a single DataDog <> OpsGenie integration that dynamically routes alerts to the appropriate team based on the tags in the incoming alert? I.e. can we create a routing rule that says, basically, "route this alert to the OpsGenie team named in the `team` tag"?
I believe, based on the question linked above, that we could do this somewhat manually, by manually constructing a large sequence of if/else rules. We would rather avoid that, if possible, as our system of services and teams changes fairly often (e.g. new services added, old ones decommissioned, service ownership moves from one team to another, team names change, etc), so keeping a complex set of routing rules updated will be tricky and likely to lead to missed alerts.
Thanks!
You could use the same general method shown in the link you posted, but to make it dynamic you could use a regex expression filter instead of a 'contains' or 'equals' filter. As long as your DataDog config uses consistent naming conventions, this method should allow you to dynamically match patterns and route to the appropriate teams. Here is more on regex in Opsgenie:
https://support.atlassian.com/opsgenie/docs/regular-expressions-for-improved-alert-filtering/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.