<?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 Pro Tip: Mapping Message Queues with DQL for Enhanced Observability in Dynatrace in Dynatrace tips</title>
    <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Mapping-Message-Queues-with-DQL-for-Enhanced/m-p/289109#M1798</link>
    <description>&lt;P&gt;Hi Dynatrace Community! &lt;span class="lia-unicode-emoji" title=":waving_hand:"&gt;👋&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I wanted to share a solution I recently implemented that significantly improves the &lt;STRONG&gt;visibility and mapping of Message Queues&lt;/STRONG&gt;—whether they are &lt;STRONG&gt;auto-discovered via Full-Stack Monitoring&lt;/STRONG&gt; or &lt;STRONG&gt;manually discovered through Extensions&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":direct_hit:"&gt;🎯&lt;/span&gt;The Challenge&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In complex environments, Message Queues (MQs) often operate as silent workhorses behind the scenes. However, mapping them effectively to their &lt;STRONG&gt;related processes and services&lt;/STRONG&gt;—especially when discovered through different mechanisms—can be a challenge. This becomes even more critical when trying to &lt;STRONG&gt;organize them under Management Zones&lt;/STRONG&gt; for better governance and alerting.&lt;/P&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;The Solution&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using &lt;STRONG&gt;Dynatrace Query Language (DQL)&lt;/STRONG&gt;, I developed a flexible and scalable approach to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Identify and correlate&lt;/STRONG&gt; Message Queues from both Full-Stack and Extension-based discoveries.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Map each queue to its associated process group or service&lt;/STRONG&gt;, ensuring traceability.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="markup"&gt;fetch dt.entity.queue
| fieldsAdd indirectly_receives_from
| fieldsFlatten indirectly_receives_from
| fieldsRemove indirectly_receives_from
| expand indirectly_receives_from.dt.entity.service
| join [fetch dt.entity.service | fieldsAdd runs_on], on:{left[indirectly_receives_from.dt.entity.service] == right[id]}
| fieldsRemove right.id
| fieldsAdd host = right.runs_on[dt.entity.host], PG = right.runs_on[dt.entity.process_group]
|expand host
| lookup [
fetch dt.entity.host | fields id, managementZones
] , sourceField:host, lookupField:id
| fieldsKeep entity.name, id, lookup.managementZones
| fieldsAdd mz = toString(lookup.managementZones)&lt;/LI-CODE&gt;
&lt;P&gt;This approach not only bridges the gap between different discovery methods but also provides a &lt;STRONG&gt;unified view&lt;/STRONG&gt; of queue-related activity across the environment.&lt;/P&gt;
&lt;H3&gt;🧠 Why It Matters&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Improved observability&lt;/STRONG&gt; of asynchronous communication layers.&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Faster root cause analysis&lt;/STRONG&gt; by linking queues to upstream/downstream services.&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Better compliance and audit readiness&lt;/STRONG&gt;, especially for environments governed by frameworks like ICOFR.&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Enhanced automation&lt;/STRONG&gt; for tagging and zone management.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":label:"&gt;🏷&lt;/span&gt;️ Bonus Tip: Smart Tagging for Smarter Management&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With this approach, &lt;STRONG&gt;creating tags for every queue&lt;/STRONG&gt; based on its &lt;STRONG&gt;Process, Service, and Host&lt;/STRONG&gt; becomes straightforward. These tags act as powerful anchors for:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Seamless Management Zone mapping&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Efficient alerting&lt;/STRONG&gt; on service degradation or queue anomalies&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Enhanced visibility&lt;/STRONG&gt; into asynchronous communication layers&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":airplane:"&gt;✈️&lt;/span&gt;What Next ?&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;With the tags applied on the Queues assign it under the Management Zone&amp;nbsp; using Workflow with the rule&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-180px"&gt;type(QUEUE),tag("&amp;lt;tagName&amp;gt;")&lt;/P&gt;
&lt;P&gt;If you're interested in the &lt;STRONG&gt;DQL queries&lt;/STRONG&gt;, &lt;STRONG&gt;Workflow strategy&lt;/STRONG&gt;, or &lt;STRONG&gt;dashboard templates&lt;/STRONG&gt;, feel free to reply—I’d be happy to share and collaborate!&lt;/P&gt;
&lt;P&gt;Let’s keep pushing the boundaries of observability. &lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&lt;BR /&gt;&lt;STRONG&gt;#Dynatrace #DQL #MessageQueues #ManagementZones #Observability #Automation&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Thanks&lt;/STRONG&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 26 Nov 2025 14:55:49 GMT</pubDate>
    <dc:creator>AravindhanV</dc:creator>
    <dc:date>2025-11-26T14:55:49Z</dc:date>
    <item>
      <title>Pro Tip: Mapping Message Queues with DQL for Enhanced Observability in Dynatrace</title>
      <link>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Mapping-Message-Queues-with-DQL-for-Enhanced/m-p/289109#M1798</link>
      <description>&lt;P&gt;Hi Dynatrace Community! &lt;span class="lia-unicode-emoji" title=":waving_hand:"&gt;👋&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I wanted to share a solution I recently implemented that significantly improves the &lt;STRONG&gt;visibility and mapping of Message Queues&lt;/STRONG&gt;—whether they are &lt;STRONG&gt;auto-discovered via Full-Stack Monitoring&lt;/STRONG&gt; or &lt;STRONG&gt;manually discovered through Extensions&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":direct_hit:"&gt;🎯&lt;/span&gt;The Challenge&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In complex environments, Message Queues (MQs) often operate as silent workhorses behind the scenes. However, mapping them effectively to their &lt;STRONG&gt;related processes and services&lt;/STRONG&gt;—especially when discovered through different mechanisms—can be a challenge. This becomes even more critical when trying to &lt;STRONG&gt;organize them under Management Zones&lt;/STRONG&gt; for better governance and alerting.&lt;/P&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;The Solution&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using &lt;STRONG&gt;Dynatrace Query Language (DQL)&lt;/STRONG&gt;, I developed a flexible and scalable approach to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Identify and correlate&lt;/STRONG&gt; Message Queues from both Full-Stack and Extension-based discoveries.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Map each queue to its associated process group or service&lt;/STRONG&gt;, ensuring traceability.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="markup"&gt;fetch dt.entity.queue
| fieldsAdd indirectly_receives_from
| fieldsFlatten indirectly_receives_from
| fieldsRemove indirectly_receives_from
| expand indirectly_receives_from.dt.entity.service
| join [fetch dt.entity.service | fieldsAdd runs_on], on:{left[indirectly_receives_from.dt.entity.service] == right[id]}
| fieldsRemove right.id
| fieldsAdd host = right.runs_on[dt.entity.host], PG = right.runs_on[dt.entity.process_group]
|expand host
| lookup [
fetch dt.entity.host | fields id, managementZones
] , sourceField:host, lookupField:id
| fieldsKeep entity.name, id, lookup.managementZones
| fieldsAdd mz = toString(lookup.managementZones)&lt;/LI-CODE&gt;
&lt;P&gt;This approach not only bridges the gap between different discovery methods but also provides a &lt;STRONG&gt;unified view&lt;/STRONG&gt; of queue-related activity across the environment.&lt;/P&gt;
&lt;H3&gt;🧠 Why It Matters&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Improved observability&lt;/STRONG&gt; of asynchronous communication layers.&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Faster root cause analysis&lt;/STRONG&gt; by linking queues to upstream/downstream services.&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Better compliance and audit readiness&lt;/STRONG&gt;, especially for environments governed by frameworks like ICOFR.&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&lt;STRONG&gt;Enhanced automation&lt;/STRONG&gt; for tagging and zone management.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":label:"&gt;🏷&lt;/span&gt;️ Bonus Tip: Smart Tagging for Smarter Management&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With this approach, &lt;STRONG&gt;creating tags for every queue&lt;/STRONG&gt; based on its &lt;STRONG&gt;Process, Service, and Host&lt;/STRONG&gt; becomes straightforward. These tags act as powerful anchors for:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Seamless Management Zone mapping&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Efficient alerting&lt;/STRONG&gt; on service degradation or queue anomalies&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Enhanced visibility&lt;/STRONG&gt; into asynchronous communication layers&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;span class="lia-unicode-emoji" title=":airplane:"&gt;✈️&lt;/span&gt;What Next ?&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;With the tags applied on the Queues assign it under the Management Zone&amp;nbsp; using Workflow with the rule&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-180px"&gt;type(QUEUE),tag("&amp;lt;tagName&amp;gt;")&lt;/P&gt;
&lt;P&gt;If you're interested in the &lt;STRONG&gt;DQL queries&lt;/STRONG&gt;, &lt;STRONG&gt;Workflow strategy&lt;/STRONG&gt;, or &lt;STRONG&gt;dashboard templates&lt;/STRONG&gt;, feel free to reply—I’d be happy to share and collaborate!&lt;/P&gt;
&lt;P&gt;Let’s keep pushing the boundaries of observability. &lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&lt;BR /&gt;&lt;STRONG&gt;#Dynatrace #DQL #MessageQueues #ManagementZones #Observability #Automation&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Thanks&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Nov 2025 14:55:49 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Dynatrace-tips/Pro-Tip-Mapping-Message-Queues-with-DQL-for-Enhanced/m-p/289109#M1798</guid>
      <dc:creator>AravindhanV</dc:creator>
      <dc:date>2025-11-26T14:55:49Z</dc:date>
    </item>
  </channel>
</rss>

