An alert threshold is a limit set for a measured value. When the value rises above or falls below it, the monitoring tool sends an alert. This entry covers thresholds in SEO and website monitoring, such as the share of pages returning errors.
How do thresholds work?
Datadog describes a threshold alert as one of the simplest kinds of alerts. It triggers whenever the metric goes above or below a user-defined value. Two refinements are common.
- A time condition. The metric must stay beyond the limit for a period, for example several checks in a row, so that a single spike does not trigger a message.
- Several levels. Datadog gives the example of a warning threshold that posts to a team channel and a critical threshold that pages an on-call person.
A static threshold uses a fixed number. A dynamic threshold is calculated from the metric’s history. Microsoft’s Azure Monitor, for example, learns hourly and daily patterns from past data, and its documentation says that it uses 10 days of history for the calculation and needs three weeks to detect weekly patterns. Datadog recommends anomaly detection or change alerts for metrics whose baseline shifts over time.
Example
In this constructed example, a crawl of an online shop finds 2 percent of URLs returning a 404 status. The team sets a warning at 3 percent and a critical alert at 8 percent. A faulty deployment pushes the share to 11 percent, and the critical alert fires. A static limit works here because the normal level is stable. For organic clicks, which vary by weekday, a fixed limit would fire on every weekend dip.
Common mistakes
- Taking a threshold from a template without checking the normal range of the site.
- A limit that is so low that it creates false alarms, or so high that real problems stay unseen.
- No time condition for metrics that fluctuate briefly.
Sources
- Alerting 101: Metric checks – Datadogdatadoghq.com
- Dynamic thresholds in Azure Monitor alerts – Microsoft Learnlearn.microsoft.com
- Metric Threshold Alerts – Lytics docsdocs.lytics.com
Last updated: