You can dynamically route a triggered alert to different recipients and channels. This can be easily done when creating or editing an alert by adding a specific dimension or tag, which help define where exactly the alert will be routed to.
This article describes how to configure and work with dynamic routing.
What is Dynamic Routing?
Dynamic routing is set during the alert creation/editing, it enables you to define the routing of the alert according to specific dimension or tag values. This can be especially useful for routing alerts to specific users or channels, for example, account managers of a specific country or region.
The dynamic routing of alerts enhances your incident resolution process, and also eliminates duplicated alerts. It also helps ensure a streamlined alert management process.
Use case example of Dynamic Routing
Account Manager A wants alerts related to the US routed to his email, while Account Manager B wants alerts originating from Canada routed to her Slack channel.
This configuration can be easily set when defining an alert by routing the alert to a specific email for Account Manager A, while routing to channels for Account Manager B, according to pre-specified dimension values, as described in the following section.
How to use Dynamic Routing
Follow these simple steps to setup dynamic routing:
- When creating an alert, go to the Alert Notifications section and select the Dynamic Routing checkbox.
- Select the relevant dimension or tag from the Route alert by dropdown list. The dimensions and tags displayed are relevant for the metrics defined for the alert; for example, Country.
- Click the Lookup Table button to select a dynamic routing table already uploaded into the Anodot system, and then click Select Table to attach the dynamic routing table to the alert. See the Dynamic Routing Tables article for information on how to correctly structure the table.
The alert, when triggered, will be routed to the relevant users and channels according to the dimension/tag value and the corresponding recipient in the table. Users will view dynamically routed alerts just as they do for normal alerts, as described in Alert Notification Examples. Once received to the defined email or channel, they can then investigate the alert further.
Note: In most channels, you can also split the alert trigger at the metric level within each channel's settings. This enables each metric to be managed separately (for example, an alert with 5 metrics will be split into 5 separate slack messages). This is especially relevant when different users in your organization are responsible for different regions, departments and so on. To split the metrics, select the Ungroup metrics in alert checkbox in the channel's setup dialog; for more information on defining channels, see Alert Channels Overview.
Other things to consider
- To ensure the alerts are distributed via the chosen channel, make sure your Allowlist includes Anodot server IP addresses. See Allowlist Anodot Servers.
- The Anodot API can also be used to upload and edit dynamic routing tables.
FAQs
- Can I route an alert to multiple channels?
- What happens if I have duplicate tag values?
- What happens when an alert is triggered and there is no match in the routing table?
Can I route an alert to multiple channels?
Yes. Single dimensions/tags values can be mapped to several channels of the same channel type. The channel names must be separated by a semi-colon ( ; ).
What happens if I have duplicate tag values?
As tag names aren’t always unique, if you have duplicated tag values, the alert is routed to all tag values.
What happens when an alert is triggered and there is no match in the routing table?
When an alert is triggered, Anodot checks to confirm a mapping rule exists to the relevant destination channel. In addition, a default recipient value is used, which is the standard recipient list of the alert.
You can also define a NOT_FOUND value in the dynamic routing table. As a result, when a dimension value is NOT found in the routing table file AND the NOT_FOUND entry exists, the alert is sent to the recipient in the {NOT_FOUND} line. See the Dynamic Routing Tables article for more information.