<?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: RabbitMQ Monitoring Flatlines in Alerting</title>
    <link>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298455#M6298</link>
    <description>&lt;P&gt;This worked perfectly! Thank you, the most difficult thing was dropping the beginning of the timeframe, that fix was exactly what we needed.&lt;/P&gt;</description>
    <pubDate>Mon, 27 Apr 2026 14:37:05 GMT</pubDate>
    <dc:creator>idudneymitchell</dc:creator>
    <dc:date>2026-04-27T14:37:05Z</dc:date>
    <item>
      <title>RabbitMQ Monitoring Flatlines</title>
      <link>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298371#M6296</link>
      <description>&lt;P&gt;I'm trying to alert on a common problem with our RabbitMQ queues. In our environment, we need to alert off of BOTH of these conditions being true:&lt;BR /&gt;1. Count of messages &amp;gt; 0&lt;/P&gt;
&lt;P&gt;2. Slope of message count == 0&lt;/P&gt;
&lt;P&gt;That is, the message count must not be 0, and none coming in or going out, then we need an alert. Acknowledge/confirm rate don't really cover this, in previous cases where we should be alerting, those rates were still fluctuating, and they're 0 when the message count is 0 anyway.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, we need a way to alert on these combined cases. Right now, the best solution we have is DQL that looks something like this:&lt;BR /&gt;```&lt;BR /&gt;timeseries&lt;BR /&gt;ready = max(cloud.aws.amazonmq.message_ready_count_average),&lt;BR /&gt;by:{`dt.entity.custom_device`},&lt;BR /&gt;filter:`dt.entity.custom_device` == "CUSTOM_DEVICE-XYZ",&lt;BR /&gt;interval:10m&lt;BR /&gt;| fieldsAdd&lt;BR /&gt;band_min = arrayMovingMin(ready, 10),&lt;BR /&gt;band_max = arrayMovingMax(ready, 10)&lt;BR /&gt;| fieldsAdd&lt;BR /&gt;stuck_signal = iCollectArray(&lt;BR /&gt;if(&lt;BR /&gt;ready[] &amp;gt; 0 and (band_max[] - band_min[]) &amp;lt;= 1,&lt;BR /&gt;1,&lt;BR /&gt;else: 0&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;| fieldsKeep&lt;BR /&gt;timeframe,&lt;BR /&gt;interval,&lt;BR /&gt;`dt.entity.custom_device`,&lt;BR /&gt;stuck_signal&lt;BR /&gt;```&lt;BR /&gt;&lt;BR /&gt;(this is for a all-queue max, but this would be specifized to individual queues once we have that set up)&lt;BR /&gt;This has several issues, like it will always be set to 1 for the beginning of whatever time window it's set to track over. Additionally, it's fiddly and very manual--I have to tweak a lot of the parameters here to get something that *mostly* works to alert us when we need it to. And, it's not very idiomatic.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is there a better way for Dynatrace to alert us on these conditions?&lt;/P&gt;</description>
      <pubDate>Tue, 28 Apr 2026 06:29:31 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298371#M6296</guid>
      <dc:creator>idudneymitchell</dc:creator>
      <dc:date>2026-04-28T06:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: RabbitMQ Monitoring Flatlines</title>
      <link>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298378#M6297</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/51545"&gt;@idudneymitchell&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Your approach is valid, but I would not try to alert on “&lt;STRONG&gt;slope == 0&lt;/STRONG&gt;” directly. I would convert the problem into a &lt;STRONG&gt;binary signal (1&lt;/STRONG&gt;) when the queue depth is greater than zero and the min/max value over the last N samples has not changed beyond a small tolerance.&lt;/P&gt;&lt;P&gt;The key improvement is to ignore the beginning of the timeframe, because the moving min/max window is not fully populated yet. For example, if you use a 10-sample window, only evaluate from index 9 onward:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;timeseries
  ready = max(cloud.aws.amazonmq.message_ready_count_average, default: 0),
  by: { `dt.entity.custom_device` },
  filter: `dt.entity.custom_device` == "CUSTOM_DEVICE-XYZ",
  interval: 10m
| fieldsAdd
    window_min = arrayMovingMin(ready, 10),
    window_max = arrayMovingMax(ready, 10)
| fieldsAdd
    stuck_signal = iCollectArray(
      if(
        iIndex() &amp;gt;= 9
        and ready[] &amp;gt; 0
        and window_max[] - window_min[] &amp;lt;= 1,
        1,
        else: 0
      )
    )
| fieldsKeep timeframe, interval, `dt.entity.custom_device`, stuck_signal&lt;/LI-CODE&gt;&lt;P&gt;Then create an advanced custom alert on &lt;STRONG&gt;stuck_signal &amp;gt; 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Once you have queue-level dimensions available, split by queue instead of only by the custom device. Also, I’d recommend treating the flatness threshold as a tolerance rather than exact zero, because exact slope checks tend to be fragile in real queue metrics.&lt;/P&gt;&lt;P&gt;I hope it helps you&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 25 Apr 2026 14:42:16 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298378#M6297</guid>
      <dc:creator>MaximilianoML</dc:creator>
      <dc:date>2026-04-25T14:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: RabbitMQ Monitoring Flatlines</title>
      <link>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298455#M6298</link>
      <description>&lt;P&gt;This worked perfectly! Thank you, the most difficult thing was dropping the beginning of the timeframe, that fix was exactly what we needed.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 14:37:05 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298455#M6298</guid>
      <dc:creator>idudneymitchell</dc:creator>
      <dc:date>2026-04-27T14:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: RabbitMQ Monitoring Flatlines</title>
      <link>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298464#M6299</link>
      <description>&lt;P&gt;Hi, &lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/51545"&gt;@idudneymitchell&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm happy to see that helped!&lt;/P&gt;&lt;P&gt;Could you gently give a Kudo for the answer? I'm aiming to be, someday, member of the month &lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 15:39:07 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Alerting/RabbitMQ-Monitoring-Flatlines/m-p/298464#M6299</guid>
      <dc:creator>MaximilianoML</dc:creator>
      <dc:date>2026-04-27T15:39:07Z</dc:date>
    </item>
  </channel>
</rss>

