Setting Up AIOps in Datadog Watchdog: Anomaly Detection

Service degradation surfaces when customers are already writing to support, and the team is dealing with the consequences. We set up turnkey anomaly detection: the system distinguishes a one-off deviation from incipient degradation, and you get clear alerts instead of noise. Response time is reduced severalfold, while the procedures and rules remain with your team.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Configuring Datadog Watchdog: why anomalies slip through

A static threshold answers only the question “have we crossed the boundary,” but says nothing about the direction of movement.

Service degradation rarely looks like a cliff: response time grows by single-digit percentages per day, the error rate in certain operations creeps upward, the write queue gradually accumulates — and each metric remains in the green zone.

A threshold is usually set based on the peak of a past incident plus a margin, and the rule goes blind. Seasonal spikes and releases cause false positives, thresholds are raised even higher, and some rules are switched to “notification only” mode.

This is how alert fatigue arises: the on-call engineer does not open an alert because nine out of ten require no action.

The result is predictable: the incident surfaces from users in support, not from the system.

By the time there are enough reports to react, the degradation is measured in hours, the search area spans dozens of services, and the deployment version after which everything went wrong is recalled from release logs.

Configuring Datadog Watchdog is built on reverse logic: the system studies metric behavior by time of day, day of week, and recent code changes, so anomaly detection triggers on deviation from the service’s own norm, not from a hard line. Let’s break down how this is addressed in practice.

What anomaly detection based on metric behavior provides

Threshold rules catch only what a limit was devised for in advance: “disk usage above 85%,” “queue longer than a threshold value.” The class of failures that develops gradually — rising latency on one of the segments, a drop in throughput during peak hours — does not fall under the threshold until the user already sees the degradation. Detection based on metric behavior closes exactly this gap.

An anomaly is built on a forecast: for each metric, the system maintains its usual profile — daily and weekly seasonality, trend, relationship with neighboring signals — and flags deviation from the expected corridor.

Because of this, time to detection shrinks from hours to minutes: the signal arrives on the early part of the curve, when the deviation is not yet readable by eye on the graphs.

False positives decrease because the boundaries are recalculated together with the system’s behavior, rather than remaining fixed at a level set based on last year’s traffic.

Less noise means fewer night wake-ups: the on-call burden drops, and attention goes to investigating real incidents rather than confirming familiar spikes.

There is also a side effect that is not noticed immediately: metrics that no one monitored because there was nothing to set as a threshold for them fall under observation automatically.

This changes not only the speed of reaction but also the very list of what the team is able to notice before a complaint.

Anomaly detection options and their configuration

Before configuring Datadog Watchdog, you need to decide by what criterion the system considers a metric to be outside the norm. The four approaches differ in sensitivity, false-positive rate, and amount of manual maintenance work — there is no universal one among them.

In practice, the approach is chosen based on the nature of the load, not on how “advanced” the method is.

Most often, several coexist in a production environment at once: a hybrid scheme removes the limitations of each individually, but relies on consistent labels and alert rules.

Comparison by load

Option When it fits Limitations
Static thresholds Steady load and hard limits: disk usage, queue length, memory. Set in alert rules, no training required Do not tolerate seasonality: nighttime trough and peak are described by one number — hence either missed failure or constant triggering
Deviation from baseline Metrics with daily and weekly rhythm: response time, request count, error rate The baseline is rebuilt after major releases, requires accumulated history, and smooths out rare sharp spikes
Behavioral models Many services where relationships between metrics matter, not individual values; anomalies are sought without manual thresholds Requires data volume and training time; the reason for triggering is less transparent than with a threshold
Hybrid scheme Heterogeneous load: thresholds cover resources, baseline covers rhythmic metrics, models cover relationships between services Relies on labeling discipline: without consistent labels, alerts are duplicated and incident investigation drags on

Implementation stages: from metric audit to runbook

Before enabling automatic anomaly detection in Datadog Watchdog, you need to understand what is actually in the system.

Without an inventory of services and metrics, the tool starts signaling about things that do not matter to the business, and on-call engineers stop responding to alerts. That is why the work proceeds sequentially — from describing the system to the runbook.

  1. Metric audit and service inventory. We compile a list of services, their owners, and metrics that truly describe health: response time, error rate, queue length, resource saturation. We discard extraneous metrics — they add noise to baselines.
  2. Service and dependency map. We record who calls whom: a deviation at a lower level explains a spike at an upper level. Without a map, one event will generate a dozen alerts.
  3. Baseline definition. For each metric, we describe normal behavior taking into account daily and weekly seasonality, rather than the average over the entire observation period.
  4. Sensitivity configuration. We select the threshold based on the cost of a miss and the cost of a false positive: critical paths — stricter, secondary ones — softer.
  5. Validation on historical data. We run the rules against accumulated metrics and compare with real incidents: how many were found, how many were missed, how many were false.
  6. On-call runbook. We define who responds and within what timeframes, which alerts wake people at night, and which wait until morning.
  7. Handover and on-call training. We review the first triggers together with the team and refine thresholds: baselines mature over several weeks of operation.

Alert policies and artifacts for handover to the team

Configured anomaly detection works exactly until its thresholds and routes are clear to those who go on call.

Therefore, along with the configuration, we hand over service descriptions, owner assignments, and the rules by which an alert reaches the right person rather than a general channel. Below is the set that remains with the customer after implementation.

  • Service catalog with owners and on-call contacts: for each — criticality, dependent systems, responsible person, and backup.
  • Detection settings map: which metrics and events are under observation, comparison windows, sensitivity, manual exclusions, and justification for each deviation from the baseline.
  • Alert routing rules: breakdown by priority, escalation conditions, notification channels, restrictions on nighttime triggers.
  • Service dependency diagram — so that during a failure you can immediately see what is the source and what is the consequence.
  • Response runbook: who does what in the first minutes, when development is engaged, when auto-rollback triggers.
  • Monitoring documentation: which paths are covered by checks, where the deliberate gaps are and why.
  • Threshold change log with date, author, and reason for the edit — otherwise in a month no one will be able to explain where the current value came from.
  • Instructions for onboarding a new service into monitoring: template, owner assignment procedure, route validation.

We conduct the handover together with the customer’s team: we walk through one real incident using their data, show each artifact, and record what remains to be supplemented.

Describe the task — we will come back with an estimate and plan, including the composition of this package for your infrastructure.

Case study: degradation response time before and after

The client came with a typical picture: alerts were configured by static thresholds, and they simultaneously made noise and missed things.

Thresholds were set manually for peak loads, so every spike triggered at night, while a gradual increase in latency over half an hour did not cross the boundary and remained unnoticed until user reports.

What was changed

We removed static thresholds from metrics that have daily and weekly seasonality — response latency, error rate, queue saturation — and brought them into Datadog Watchdog as reference profiles of normal behavior. Thresholds were left only as an upper-level safety net.

Separately, we reviewed notifications that no one read: some were disabled, and some were moved into a digest with a waiting window.

Metric Before After
Average degradation detection time 18 minutes 4 minutes
False-positive rate 58% 12%
Missed degradations per quarter 7 1, with a known cause
Incidents found before user reports 41% 88%

The effect rests not on the configuration itself but on review: every false positive was reviewed once a week, and either the profile was refined or the metric was removed from observation.

After two months, misses dropped to zero while sensitivity was preserved — deviations of 15–20% from the norm are caught, and seasonal peaks no longer wake the on-call engineer.

This is a case where the work is measured not by the number of configured rules but by the speed with which degradation is seen before the user.

What to do if monitoring is already deployed but noisy

If the on-call engineer’s first action is to mute the alert channel, the problem is not with monitoring but with the rules: they were written at the implementation stage “for all cases,” and now the signal triggers dozens of times per shift.

The cost is hours spent investigating false alarms and a real outage drowning in the general stream. Configuring Datadog Watchdog without auditing the rules produces exactly the same noise as any other tool.

Auditing rules begins with inventory: for each rule, we count trigger frequency, false-positive share, presence of an owner, and a specific on-call action.

A rule without an owner and instructions goes for deletion; anything that triggers more than once a day and is almost always closed without action is moved to a notification instead of a call.

Next is the sensitivity threshold. A static threshold at a fixed value causes a surge of false positives during seasonal load fluctuations, so we build the baseline by day and week, and trigger on deviation from it.

Related signals for a single service are grouped into one incident with a severity level: one outage should not wake the on-call engineer five times.

We keep alert muting but make it controlled: a silence window during planned maintenance with a mandatory expiration time and a log entry. Muting “just in case” without an expiry turns into a hidden outage, so such a capability should not exist in the system.

Trust in signals returns by the metric: the share of alerts on which the on-call engineer took action rises above eight out of ten. Then the channel stops being muted, response time drops, and false-alarm investigation moves from the shift into retrospective review. An anomaly once again means an incident, not background noise.

Technical concerns: sensitivity, noise, coverage

Engineering concerns around automatic anomaly detection come down to three questions: whether preliminary history labeling is needed, how to separate real degradation from a load spike, and whether coverage can be narrowed to individual services. Below are short answers that we bring to a discussion of the task.

Is historical labeling needed?

No, manually labeling “normal” and “incident” periods is not required. The baseline is built from accumulated metric behavior taking into account daily and weekly seasonality — regular traffic fluctuations stop looking like anomalies after just a few observation cycles.

Manual labels remain a refinement: planned maintenance should be marked so that it does not enter training as a reference of normal behavior.

How are degradations separated from load spikes?

Deviation is calculated not from the absolute value but from the forecast for the specific hour and day of week. An increase in requests with unchanged latency and error rate is not considered an anomaly — load increased, not failure.

The signal triggers when related indicators diverge: response time and errors rise while throughput falls. Sensitivity configuration is the deviation threshold and minimum duration: a short spike of one or two intervals is filtered out, while sustained drift passes.

Can coverage be limited to individual services?

Yes. Detection is enabled and disabled by services and signal types, so those with an owner and a clear response to alerts remain under observation.

The rest are moved to data collection mode without notifications: the picture is gathered, but the on-call engineer is not pulled in. Narrowing coverage removes noise more reliably than tweaking thresholds, and it is done on the first pass.

Let’s discuss the task: where implementation begins

Implementation begins not with access to the dashboard but with a conversation about how your environment is structured: without that, any configuration turns into guesswork.

Half an hour on a call and a list of services are enough for us to understand the scope of work and the connection order — what we take into the first stage and what is better to postpone.

What we will need from you:

  • list of services and environments to monitor, and the relationships between them;
  • data sources: host agents, metric exporters, cloud and queue integrations;
  • how alerting is currently structured and who responds to triggers outside working hours;
  • existing thresholds and places where false alarms have already been caught;
  • constraints: systems that must not be touched, and allowed windows for changes;
  • who on your side approves decisions and accepts the result.

On the call, we will clarify how many services will be included in the first contour, which metrics we consider reference, and how to distinguish seasonal load spikes from real deviations.

Then we will come back with a work plan: stages, the order of enabling Datadog Watchdog in observation mode before switching to alerts, rollback points, and the signs by which we will consider that anomalies are being caught and that false-positive noise has decreased.

The next step — describe the task and send what you already have for the environment. We will come back with a scope estimate and a work plan.