<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DYNATRACE ALERT CREATED BY DAVIS ANOMALY DETECTOR IS NOT TRIGGERING WITH THE GIVEN DQL in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300573#M3379</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/96953"&gt;@ravi_singh&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;The issue is a mismatch between your output values and threshold configuration.&lt;/DIV&gt;&lt;P&gt;The Root Cause&lt;BR /&gt;Your final makeTimeseries produces terminal_availability = avg(terminal_availability) which can only ever output 0 or 1:&lt;/P&gt;&lt;P&gt;terminal_availability = if(&lt;BR /&gt;process_1_status == "DOWN"&lt;BR /&gt;or process_2_status == "DOWN"&lt;BR /&gt;...&lt;BR /&gt;0,&lt;BR /&gt;else: 1&lt;BR /&gt;)&lt;BR /&gt;But your threshold is set to 2.&lt;/P&gt;&lt;P&gt;Since your metric never reaches 2 (max is 1), the threshold is never breached — so alert never fires.&lt;/P&gt;&lt;P&gt;Set your threshold to 1 with the condition "below" (alert when terminal_availability &amp;lt; 1). When any process goes DOWN, the value drops to 0, crosses below your threshold, and alert fires.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sujit&lt;/P&gt;</description>
    <pubDate>Wed, 10 Jun 2026 22:09:47 GMT</pubDate>
    <dc:creator>sujit_k_singh</dc:creator>
    <dc:date>2026-06-10T22:09:47Z</dc:date>
    <item>
      <title>Dynatrace alert created by Davis Anomaly Detection is not triggering with the given DQL</title>
      <link>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300554#M3378</link>
      <description>&lt;P&gt;PROBLEM STATEMENT:-&lt;BR /&gt;I m using the below query for creating an alert using davis anomaly detetcor, my alert configs are:-&lt;BR /&gt;threshold: 2&lt;BR /&gt;sliding window - 5&lt;BR /&gt;violating samples - 1&lt;BR /&gt;dealerting samples - 3&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;So this is showing correct data in notebook but davis alert not triggering,&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;can someone HELPPPPPPPPPPPPPPPPP?&lt;BR /&gt;&lt;BR /&gt;DQL:-&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;timeseries cpu = avg(process.cpu.time),
by: { `host.name`, `process.executable.name` },
filter: startsWith(`host.name`, "t")
and in(`process.executable.name`,
{"process_1", "process_2", "process_3", "process_4", "process_5"})
| fieldsAdd avg_cpu = arrayAvg(cpu)
| fieldsAdd proc_status = if(isNotNull(avg_cpu) and avg_cpu &amp;gt; 0, "UP", else: "DOWN")
| summarize {
process_1_status = takeAny(if(`process.executable.name` == "process_1", proc_status)),
process_2_status = takeAny(if(`process.executable.name` == "process_2", proc_status)),
process_3_status = takeAny(if(`process.executable.name` == "process_3", proc_status)),
process_4_status = takeAny(if(`process.executable.name` == "process_4", proc_status)),
process_5_status = takeAny(if(`process.executable.name` == "process_5", proc_status))
}, by: { `host.name` }
| fieldsAdd
process_1_status = coalesce(process_1_status, "DOWN"),
process_2_status = coalesce(process_2_status, "DOWN"),
process_3_status = coalesce(process_3_status, "DOWN"),
process_4_status = coalesce(process_4_status, "DOWN"),
process_5_status = coalesce(process_5_status, "DOWN")
| fieldsAdd process_status = concat(
"process_1 (description 1): ", process_1_status,
" | process_2 (description 2): ", process_2_status,
" | process_3 (description 3): ", process_3_status,
" | process_4 (description 4): ", process_4_status,
" | process_5 (description 5): ", process_5_status
)
| fieldsAdd terminal_availability = if(
process_1_status == "DOWN"
or process_2_status == "DOWN"
or process_3_status == "DOWN"
or process_4_status == "DOWN"
or process_5_status == "DOWN",
0,
else: 1
)
| fieldsAdd terminal_status = if(terminal_availability == 0, "TERMINAL_DOWN", else: "TERMINAL_UP")
| fieldsAdd hostName = `host.name`, timestamp = now()
| makeTimeseries terminal_availability = avg(terminal_availability),
by: { hostName, process_status, terminal_status },
time: timestamp,
interval: 1m&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 12 Jun 2026 10:55:57 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300554#M3378</guid>
      <dc:creator>ravi_singh</dc:creator>
      <dc:date>2026-06-12T10:55:57Z</dc:date>
    </item>
    <item>
      <title>Re: DYNATRACE ALERT CREATED BY DAVIS ANOMALY DETECTOR IS NOT TRIGGERING WITH THE GIVEN DQL</title>
      <link>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300573#M3379</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/96953"&gt;@ravi_singh&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;The issue is a mismatch between your output values and threshold configuration.&lt;/DIV&gt;&lt;P&gt;The Root Cause&lt;BR /&gt;Your final makeTimeseries produces terminal_availability = avg(terminal_availability) which can only ever output 0 or 1:&lt;/P&gt;&lt;P&gt;terminal_availability = if(&lt;BR /&gt;process_1_status == "DOWN"&lt;BR /&gt;or process_2_status == "DOWN"&lt;BR /&gt;...&lt;BR /&gt;0,&lt;BR /&gt;else: 1&lt;BR /&gt;)&lt;BR /&gt;But your threshold is set to 2.&lt;/P&gt;&lt;P&gt;Since your metric never reaches 2 (max is 1), the threshold is never breached — so alert never fires.&lt;/P&gt;&lt;P&gt;Set your threshold to 1 with the condition "below" (alert when terminal_availability &amp;lt; 1). When any process goes DOWN, the value drops to 0, crosses below your threshold, and alert fires.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sujit&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2026 22:09:47 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300573#M3379</guid>
      <dc:creator>sujit_k_singh</dc:creator>
      <dc:date>2026-06-10T22:09:47Z</dc:date>
    </item>
    <item>
      <title>Re: DYNATRACE ALERT CREATED BY DAVIS ANOMALY DETECTOR IS NOT TRIGGERING WITH THE GIVEN DQL</title>
      <link>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300605#M3380</link>
      <description>&lt;P&gt;Hi sujeet , actually i have put the threhold for testing pupose as all processes were up&amp;nbsp;&lt;BR /&gt;so termina_avaiability = 1 &amp;lt; 2 (threshold), so it can trigger the alert, forgot to mention this earlier, thanks for your response.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jun 2026 12:16:38 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300605#M3380</guid>
      <dc:creator>ravi_singh</dc:creator>
      <dc:date>2026-06-11T12:16:38Z</dc:date>
    </item>
    <item>
      <title>Re: DYNATRACE ALERT CREATED BY DAVIS ANOMALY DETECTOR IS NOT TRIGGERING WITH THE GIVEN DQL</title>
      <link>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300648#M3383</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/96953"&gt;@ravi_singh&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for clarifying — that makes sense. If you're using a "below" condition with threshold 2, then the value of 1 should indeed breach it.&lt;/P&gt;&lt;P&gt;In that case, the issue could be your time: timestamp field in the final makeTimeseries:&lt;/P&gt;&lt;P&gt;| fieldsAdd hostName = `host.name`, &lt;EM&gt;&lt;U&gt;timestamp = now(&lt;/U&gt;&lt;/EM&gt;)&lt;BR /&gt;&lt;BR /&gt;Using timestamp = now() &lt;SPAN&gt;forces all data into a single timestamp rather than producing a continuous time-series&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Try this:&amp;nbsp;Remove the timestamp = now() and also&amp;nbsp;&amp;nbsp;drop process_status and terminal_status from the by: clause — those string fields create unnecessary dimension explosion.&lt;/P&gt;&lt;P&gt;| makeTimeseries terminal_availability = avg(terminal_availability),&lt;BR /&gt;by: { hostName },&lt;BR /&gt;interval: 1m&lt;/P&gt;&lt;P&gt;Let me know if it works or seeing any issue.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sujit&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jun 2026 00:10:15 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Dynatrace-alert-created-by-Davis-Anomaly-Detection-is-not/m-p/300648#M3383</guid>
      <dc:creator>sujit_k_singh</dc:creator>
      <dc:date>2026-06-12T00:10:15Z</dc:date>
    </item>
  </channel>
</rss>

