<?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: Advice on alerting if CPU suddenly significantly goes and stays above normal baseline but under alerting threshold in Alerting</title>
    <link>https://community.dynatrace.com/t5/Alerting/Advice-on-alerting-if-CPU-suddenly-significantly-goes-and-stays/m-p/284579#M5844</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/50251"&gt;@JordanGreen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.dynatrace.com/docs/discover-dynatrace/platform/davis-ai/anomaly-detection/concepts/auto-adaptive-threshold" target="_blank" rel="noopener"&gt;Auto-adaptive thresholds for anomaly detection — Dynatrace Docs&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In Managed you can play with auto-adaptive baseline (+signal fluctuation and duaration) metric event at Anomaly detection with this metric expression:&lt;/P&gt;&lt;P&gt;builtin:host.cpu.usage:splitBy("dt.entity.host").&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_0-1755982681417.png" style="width: 680px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29770i1C7A6956E240FCDB/image-dimensions/680x440?v=v2" width="680" height="440" role="button" title="Mizs_0-1755982681417.png" alt="Mizs_0-1755982681417.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;In Saas you can use Davis Anomaly Detection from a Notebook (also play with fluctuation and duration):&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_1-1755982876896.png" style="width: 661px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29771i32B4A830F600E4D3/image-dimensions/661x393?v=v2" width="661" height="393" role="button" title="Mizs_1-1755982876896.png" alt="Mizs_1-1755982876896.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_2-1755982943241.png" style="width: 668px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29772iE0785AB651004796/image-dimensions/668x461?v=v2" width="668" height="461" role="button" title="Mizs_2-1755982943241.png" alt="Mizs_2-1755982943241.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Based on my experience these CPU patterns related only one process: eg. antivirus, compression or java process gc suspension...so you can try monitor process cpu usage with parents transformation (for host infromation):&lt;/P&gt;&lt;P&gt;Managed metric expression:&lt;/P&gt;&lt;P&gt;builtin:tech.generic.cpu.usage:parents:splitBy("dt.entity.process_group_instance","dt.entity.host")&lt;/P&gt;&lt;P&gt;SaaS DQL:&lt;/P&gt;&lt;P&gt;timeseries usage = avg(dt.process.cpu.usage), by: { dt.entity.process_group_instance, dt.entity.host }&lt;BR /&gt;| fieldsAdd entityName(dt.entity.process_group_instance), entityName(dt.entity.host)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would have another idea for metric expression and DQL, you can try this also.&lt;/P&gt;&lt;P&gt;Metric expression:&lt;/P&gt;&lt;P&gt;(builtin:host.cpu.usage:splitBy("dt.entity.host"):avg:sort(value(auto,descending)):rollup(avg,15m))-(builtin:host.cpu.usage:splitBy("dt.entity.host"):avg:sort(value(auto,descending)):rollup(avg,15m):timeshift(-1h))&lt;/P&gt;&lt;P&gt;DQL:&lt;/P&gt;&lt;P&gt;timeseries usage = avg(dt.host.cpu.usage), by: { dt.entity.host }&lt;BR /&gt;| fieldsAdd usage = arrayMovingAvg(usage, 15)&lt;BR /&gt;| sort arraySum(usage) desc&lt;BR /&gt;| join [ timeseries usage = avg(dt.host.cpu.usage), by: { dt.entity.host }, shift: -1h&lt;BR /&gt;| fieldsAdd usage = arrayMovingAvg(usage, 15)&lt;BR /&gt;| sort arraySum(usage) desc ], on: { dt.entity.host }, fields: { operand = usage }&lt;BR /&gt;| fieldsAdd expression = usage[] - operand[]&lt;BR /&gt;| fieldsRemove usage, operand&lt;BR /&gt;| fieldsAdd entityName(dt.entity.host)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_3-1755984922710.png" style="width: 764px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29773i94D7F6E99D8F042B/image-dimensions/764x295?v=v2" width="764" height="295" role="button" title="Mizs_3-1755984922710.png" alt="Mizs_3-1755984922710.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Long positive "hills" can be a good trigger of problem creation.&lt;/P&gt;&lt;P&gt;I hope it helps.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;János&lt;/P&gt;</description>
    <pubDate>Sat, 23 Aug 2025 21:37:37 GMT</pubDate>
    <dc:creator>Mizső</dc:creator>
    <dc:date>2025-08-23T21:37:37Z</dc:date>
    <item>
      <title>Advice on alerting if CPU suddenly significantly goes and stays above normal baseline but under alerting threshold</title>
      <link>https://community.dynatrace.com/t5/Alerting/Advice-on-alerting-if-CPU-suddenly-significantly-goes-and-stays/m-p/284544#M5841</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;On a few of our hosts the CPU usuage spiked significantly and stayed at that not normal level for few days as per below. I just wondered Is there a way to detect a sudden increase in CPU above our normal baseline. We didnt get an alert as it didnt hit our 95% threshold but we would like to be notified in sudden significant change of CPU say an increase of 20/30% for a period of time. Just wondered does any recommendation on best way to do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JordanGreen_0-1755865814289.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29766i8DD65FEBB2259739/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JordanGreen_0-1755865814289.png" alt="JordanGreen_0-1755865814289.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Aug 2025 12:38:04 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Alerting/Advice-on-alerting-if-CPU-suddenly-significantly-goes-and-stays/m-p/284544#M5841</guid>
      <dc:creator>JordanGreen</dc:creator>
      <dc:date>2025-08-22T12:38:04Z</dc:date>
    </item>
    <item>
      <title>Re: Advice on alerting if CPU suddenly significantly goes and stays above normal baseline but under alerting threshold</title>
      <link>https://community.dynatrace.com/t5/Alerting/Advice-on-alerting-if-CPU-suddenly-significantly-goes-and-stays/m-p/284579#M5844</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/50251"&gt;@JordanGreen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.dynatrace.com/docs/discover-dynatrace/platform/davis-ai/anomaly-detection/concepts/auto-adaptive-threshold" target="_blank" rel="noopener"&gt;Auto-adaptive thresholds for anomaly detection — Dynatrace Docs&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In Managed you can play with auto-adaptive baseline (+signal fluctuation and duaration) metric event at Anomaly detection with this metric expression:&lt;/P&gt;&lt;P&gt;builtin:host.cpu.usage:splitBy("dt.entity.host").&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_0-1755982681417.png" style="width: 680px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29770i1C7A6956E240FCDB/image-dimensions/680x440?v=v2" width="680" height="440" role="button" title="Mizs_0-1755982681417.png" alt="Mizs_0-1755982681417.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;In Saas you can use Davis Anomaly Detection from a Notebook (also play with fluctuation and duration):&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_1-1755982876896.png" style="width: 661px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29771i32B4A830F600E4D3/image-dimensions/661x393?v=v2" width="661" height="393" role="button" title="Mizs_1-1755982876896.png" alt="Mizs_1-1755982876896.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_2-1755982943241.png" style="width: 668px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29772iE0785AB651004796/image-dimensions/668x461?v=v2" width="668" height="461" role="button" title="Mizs_2-1755982943241.png" alt="Mizs_2-1755982943241.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Based on my experience these CPU patterns related only one process: eg. antivirus, compression or java process gc suspension...so you can try monitor process cpu usage with parents transformation (for host infromation):&lt;/P&gt;&lt;P&gt;Managed metric expression:&lt;/P&gt;&lt;P&gt;builtin:tech.generic.cpu.usage:parents:splitBy("dt.entity.process_group_instance","dt.entity.host")&lt;/P&gt;&lt;P&gt;SaaS DQL:&lt;/P&gt;&lt;P&gt;timeseries usage = avg(dt.process.cpu.usage), by: { dt.entity.process_group_instance, dt.entity.host }&lt;BR /&gt;| fieldsAdd entityName(dt.entity.process_group_instance), entityName(dt.entity.host)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would have another idea for metric expression and DQL, you can try this also.&lt;/P&gt;&lt;P&gt;Metric expression:&lt;/P&gt;&lt;P&gt;(builtin:host.cpu.usage:splitBy("dt.entity.host"):avg:sort(value(auto,descending)):rollup(avg,15m))-(builtin:host.cpu.usage:splitBy("dt.entity.host"):avg:sort(value(auto,descending)):rollup(avg,15m):timeshift(-1h))&lt;/P&gt;&lt;P&gt;DQL:&lt;/P&gt;&lt;P&gt;timeseries usage = avg(dt.host.cpu.usage), by: { dt.entity.host }&lt;BR /&gt;| fieldsAdd usage = arrayMovingAvg(usage, 15)&lt;BR /&gt;| sort arraySum(usage) desc&lt;BR /&gt;| join [ timeseries usage = avg(dt.host.cpu.usage), by: { dt.entity.host }, shift: -1h&lt;BR /&gt;| fieldsAdd usage = arrayMovingAvg(usage, 15)&lt;BR /&gt;| sort arraySum(usage) desc ], on: { dt.entity.host }, fields: { operand = usage }&lt;BR /&gt;| fieldsAdd expression = usage[] - operand[]&lt;BR /&gt;| fieldsRemove usage, operand&lt;BR /&gt;| fieldsAdd entityName(dt.entity.host)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mizs_3-1755984922710.png" style="width: 764px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29773i94D7F6E99D8F042B/image-dimensions/764x295?v=v2" width="764" height="295" role="button" title="Mizs_3-1755984922710.png" alt="Mizs_3-1755984922710.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Long positive "hills" can be a good trigger of problem creation.&lt;/P&gt;&lt;P&gt;I hope it helps.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;János&lt;/P&gt;</description>
      <pubDate>Sat, 23 Aug 2025 21:37:37 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Alerting/Advice-on-alerting-if-CPU-suddenly-significantly-goes-and-stays/m-p/284579#M5844</guid>
      <dc:creator>Mizső</dc:creator>
      <dc:date>2025-08-23T21:37:37Z</dc:date>
    </item>
  </channel>
</rss>

