Alerting
Alerting keeps your team updated if your app’s performance degrades. Alerts can be configured on the app as a whole as well as on individual endpoints and background jobs. Metrics include:
Web Requests:
- Mean Response Time
- 95th Percentile Response Time
- Apdex
- Error Rate
- Throughput
- Queue Time
Background Jobs:
- Mean Response Time
- Error Rate
- Throughput
- Queue Time
Setting Up Alerts
There are four parts to alerting, the alert event, the alert conditon, the notification group, and notification channels.
While we will discuss them in this order, it makes more sense to actually create these in reverse order. Starting with first creating a notification channel, then adding this notification channel to a notification group, then assigning this notification group to be notified when alerts are created from the alert condition.
To get started, head to your org’s settings menu:
Alert event:
An alert event is created anytime the threshold is passed for an alert condition. This alert event will either be an open event, or a closed event. For example, see the Slack notification alerts below:
Alert Conditions:
An alert condition is what creates the alert events. Alert conditions are set to check for if the payloads we have received are either great than or lower than one of the metrics listed above.
For example, you can set an alert condition to trigger an alert whenever throughput for all your endpoints exceeds 1000 RPM:
Notification group:
When an alert condition’s threshold has been passed, and an alert has been created, the alert condition will notify the notification group. The notification group will then pass this message to all of its notification channels. For example, if a Slack notification channel, an email notification channel, and a Splunk notification channel are all part of the same group, they will all be notified of the alert event (they will receive both open and close events).
Notification Channel:
A notification channel belongs to a notification group, and is a specific channel that you want to notify. Alerting integrations aren’t just limited to a single notification. For example, you can have multiple Slack notification channels, with each notifying a different slack… channel. A better example is PagerDuty, you can have multiple PagerDuty notification channels, with each channel having a different alert level.