<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dynatrace Dashboards]]></title><description><![CDATA[Dynatrace Dashboards]]></description><link>https://dynatracedashboards.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 03 Nov 2026 01:45:07 GMT</lastBuildDate><atom:link href="https://dynatracedashboards.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Dynatrace Dashboards: A Complete Guide to Classic & Modern Dashboards]]></title><description><![CDATA[Dynatrace Dashboards are powerful tools that provide real-time monitoring, data visualization, and analytics for IT environments. Whether you're tracking…]]></description><link>https://dynatracedashboards.hashnode.dev/dynatrace-dashboards-a-complete-guide-to-classic-and-modern-dashboards</link><guid isPermaLink="true">https://dynatracedashboards.hashnode.dev/dynatrace-dashboards-a-complete-guide-to-classic-and-modern-dashboards</guid><category><![CDATA[Dynatrace]]></category><category><![CDATA[dashboard]]></category><dc:creator><![CDATA[Abhi Nikam]]></dc:creator><pubDate>Thu, 10 Apr 2025 11:27:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1744355101381/d25ca60d-d9a3-44ce-a49c-ab34a408b1ac.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>Dynatrace Dashboards are powerful tools that provide <strong>real-time monitoring, data visualization, and analytics</strong> for IT environments. Whether you're tracking system health, identifying performance bottlenecks, or optimizing cloud resources, dashboards offer an intuitive way to <strong>organize and analyze critical data</strong>.</p>
<p>Dynatrace offers <strong>two types of dashboards</strong>:</p>
<ul>
<li><p><strong>Classic Dashboards</strong> – Easy to use, tile-based monitoring with predefined templates.</p>
</li>
<li><p><strong>Modern Dashboards</strong> – Advanced analytics using <strong>Dynatrace Query Language (DQL)</strong> for <strong>custom visualization and data exploration</strong>.</p>
</li>
</ul>
<p>In this guide, we will explore <strong>both Classic and Modern Dashboards</strong>, their differences, use cases, and how to set them up for <strong>effective monitoring</strong>.</p>
<h2 id="heading-classic-dashboards-in-dynatrace"><strong>Classic Dashboards in Dynatrace</strong></h2>
<h3 id="heading-what-is-classic-dashboard">What is classic dashboard</h3>
<p>Classic Dashboards provide a <strong>simple tile-based interface</strong> to visualize monitoring data. They are great for <strong>basic system monitoring, alerts, and quick insights</strong> without requiring complex configurations.</p>
<h3 id="heading-key-features-of-classic-dashboards"><strong>Key Features of Classic Dashboards</strong></h3>
<p>✅ <strong>Predefined Tiles</strong> – Drag-and-drop widgets displaying logs, charts, and metrics. ✅ <strong>Simple Setup</strong> – Easily configurable without coding. ✅ <strong>Timeframe Selection</strong> – Adjust the dashboard’s timeframe for detailed insights. ✅ <strong>Customizable Views</strong> – Users can arrange tiles to focus on specific metrics.</p>
<h3 id="heading-how-to-create-a-classic-dashboard">How to create a classic dashboard</h3>
<ul>
<li><p><strong>Log in to Dynatrace</strong> and navigate to <strong>Dashboards Classic</strong>.</p>
</li>
<li><p>Click <strong>"Create Dashboard"</strong> to start a new dashboard.</p>
</li>
<li><p><strong>Enter a Name</strong> for the dashboard (e.g., "System Health Overview").</p>
</li>
<li><p><strong>Add Tiles</strong> to the dashboard:</p>
<ul>
<li><p>Select predefined monitoring metrics such as <strong>CPU Usage, Memory Utilization, Network Latency</strong>.</p>
</li>
<li><p>Arrange tiles for better visualization.</p>
</li>
</ul>
</li>
<li><p><strong>Set Filters &amp; Timeframe</strong> based on monitoring needs.</p>
</li>
<li><p>Click <strong>"Done"</strong> to <strong>save</strong> the dashboard.</p>
</li>
</ul>
<h3 id="heading-best-practices-for-classic-dashboards"><strong>Best Practices for Classic Dashboards</strong></h3>
<p>✅ Keep dashboards <strong>clean &amp; focused</strong>—only include <strong>essential metrics</strong>. ✅ Use <strong>alert tiles</strong> (red/yellow indicators) to monitor critical failures. ✅ Ensure <strong>time range selection</strong> matches monitoring requirements.</p>
<h2 id="heading-demo">Demo :</h2>
<h3 id="heading-setting-up-classic-dashboards-for-azure-virtual-machine-monitoring-using-oneagent">Setting Up Classic Dashboards for Azure Virtual Machine Monitoring (Using OneAgent)</h3>
<p>If you have an <strong>Azure Virtual Machine (VM)</strong> running and have <strong>connected Dynatrace OneAgent</strong>, your next step is to set up a <strong>Classic Dashboard</strong> for easy monitoring.</p>
<p>Here’s a <strong>quick step-by-step guide</strong> that your readers can follow to <strong>visualize VM performance metrics</strong> inside Dynatrace Classic Dashboards.</p>
<h3 id="heading-step-1-verify-oneagent-installation"><strong>Step 1: Verify OneAgent Installation</strong></h3>
<p>Before creating a dashboard, ensure that <strong>Dynatrace OneAgent</strong> is successfully installed on your <strong>Azure VM</strong>:</p>
<ol>
<li><p><strong>Log in to Dynatrace</strong> and go to <strong>Hosts</strong>.</p>
</li>
<li><p>Check if your <strong>Azure VM appears</strong> in the list.</p>
</li>
<li><p>Confirm that <strong>monitoring data is being captured</strong> (CPU, memory, network usage).</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744261271869/c141223a-daa0-4efa-b6ab-10b20ae10cf4.png" alt class="image--center mx-auto" /></p>
<p> <a target="_blank" href="https://azuredynatrace.hashnode.dev/installing-dynatrace-on-azure-virtual-machines-step-by-step-guide-for-seamless-monitoring">Click if u need any help</a></p>
</li>
</ol>
<h3 id="heading-step-2-create-a-classic-dashboard"><strong>Step 2: Create a Classic Dashboard</strong></h3>
<ol>
<li><p><strong>Navigate to</strong> → <code>Dashboards Classic</code>.</p>
</li>
<li><p>Click <strong>"Create Dashboard"</strong> and <strong>enter a name</strong> (e.g., "Azure VM Monitoring").</p>
</li>
<li><p><strong>Add Monitoring Tiles</strong> for essential metrics:</p>
<ul>
<li><p><strong>Host Overview Tile</strong> → Displays VM health status.</p>
</li>
<li><p><strong>CPU Usage Tile</strong> → Helps track processor load.</p>
</li>
<li><p><strong>Memory Consumption Tile</strong> → Monitors RAM usage.</p>
</li>
<li><p><strong>Network Activity Tile</strong> → Shows inbound/outbound traffic.</p>
</li>
</ul>
</li>
</ol>
<p>    Note : You just have drag and drop the graph</p>
<ol start="4">
<li><p>Adjust the <strong>timeframe</strong> (e.g., last 6 hours, last 24 hours).</p>
</li>
<li><p>Click <strong>"Save"</strong>.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744261482720/82dbc447-3bde-4b88-b85a-c6c899fb6367.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744262556377/17c8e638-2cb0-4e39-8a36-e3045bcae695.png" alt class="image--center mx-auto" /></p>
<p> Here’s a brief explanation of each tile:</p>
<ul>
<li><p><strong>Host Health</strong> → Monitors <strong>CPU, memory, disk, and process activity</strong> on your VM.</p>
</li>
<li><p><strong>Network Metrics</strong> → Tracks <strong>latency, packet loss, and data flow</strong> between services.</p>
</li>
<li><p><strong>Network Status</strong> → Shows <strong>connection availability and performance issues</strong>.</p>
</li>
<li><p><strong>VMware</strong> → Displays <strong>CPU/memory usage &amp; virtual machine activity</strong> for VMware environments.</p>
</li>
<li><p><strong>AWS</strong> → Monitors <strong>AWS cloud resources</strong> like EC2 instances &amp; Lambda functions.</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744263220732/263a6bda-eb29-4f56-9724-cd592ff5b591.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p><strong>Application Health</strong> → Monitors the <strong>performance, availability, and errors</strong> of applications, ensuring they run smoothly.</p>
</li>
<li><p><strong>Third-Party Monitoring</strong> → Tracks external services (APIs, cloud providers, databases) used within your application to detect <strong>outages or slow responses</strong>.</p>
</li>
<li><p><strong>Problems</strong> → Dynatrace automatically <strong>detects issues</strong> like crashes, high latency, or resource failures and provides root cause analysis.</p>
</li>
<li><p><strong>Top Web Applications</strong> → Displays the most <strong>accessed applications</strong> in your environment, helping prioritize monitoring efforts.</p>
</li>
<li><p><strong>Service Health</strong> → Shows the <strong>current status and stability</strong> of backend services, such as APIs and databases.</p>
</li>
<li><p><strong>HTTP Monitor</strong> → Tracks <strong>web requests and responses</strong>, helping identify slow or failing endpoints in your web applications.</p>
</li>
<li><p><strong>User Action</strong> → Captures <strong>user interactions</strong> (clicks, page views, transactions) to analyze real user experience and behavior.</p>
</li>
<li><p><strong>Custom Application</strong> → Allows monitoring of <strong>non-standard or specialized apps</strong>, enabling full visibility even for <strong>unique software</strong>.</p>
</li>
<li><p><strong>Smartscape</strong> → A <strong>visual map</strong> of your entire IT environment, showing connections between applications, services, and infrastructure in real-time.</p>
</li>
</ul>
<h2 id="heading-modern-dashboard-in-dynatrace">Modern Dashboard in dynatrace</h2>
<p>Modern Dashboards in Dynatrace offer <strong>advanced monitoring, deeper analytics, and custom data visualization</strong> using <strong>Dynatrace Query Language (DQL)</strong>. These dashboards provide <strong>more flexibility</strong> than Classic Dashboards, allowing users to fine-tune queries and build interactive monitoring views.</p>
<h3 id="heading-key-features-of-modern-dashboards"><strong>Key Features of Modern Dashboards</strong></h3>
<p>✅ <strong>DQL Query Support</strong> – Enables custom metric filtering and analytics. ✅ <strong>Rich Visualizations</strong> – Supports graphs, tables, charts, and maps. ✅ <strong>Custom Filters &amp; Variables</strong> – Allows dynamic data adjustments. ✅ <strong>Advanced Monitoring</strong> – Ideal for deep-dive performance analysis.</p>
<h3 id="heading-understanding-dynatrace-query-language-dql"><strong>Understanding Dynatrace Query Language (DQL)</strong></h3>
<p><strong>Dynatrace Query Language (DQL)</strong> is a powerful tool for querying and analyzing data within Dynatrace. It uses a pipeline-based data-flow model, allowing users to chain commands for filtering, summarizing, and visualizing data. Below, we explore basic and graph queries to demonstrate the versatility of DQL.</p>
<h3 id="heading-basic-dql-queries"><strong>Basic DQL Queries</strong></h3>
<h4 id="heading-1-fetch-logs"><strong>1. Fetch Logs</strong></h4>
<p>Retrieve all logs from the last hour:</p>
<pre><code class="lang-bash">fetch logs, from:now()-1h
</code></pre>
<h4 id="heading-2-filter-logs"><strong>2. Filter Logs</strong></h4>
<p>Filter logs where the source ends with "ssh.service":</p>
<pre><code class="lang-bash">fetch logs | filter endsWith(log.source, <span class="hljs-string">"ssh.service"</span>)
</code></pre>
<h4 id="heading-3-parse-logs"><strong>3. Parse Logs</strong></h4>
<p>Extract specific fields from log content:</p>
<pre><code class="lang-bash">fetch logs | parse content, <span class="hljs-string">"LD IPADDR:ip ':' LONG:payload SPACE LD 'HTTP_STATUS' SPACE INT:http_status"</span>
</code></pre>
<h4 id="heading-4-summarize-data"><strong>4. Summarize Data</strong></h4>
<p>Count the total number of logs:</p>
<pre><code class="lang-bash">fetch logs | summarize count()
</code></pre>
<h4 id="heading-5-group-and-aggregate"><strong>5. Group and Aggregate</strong></h4>
<p>Group logs by <code>host</code> and calculate the total payload</p>
<pre><code class="lang-bash">fetch logs | summarize total_payload = sum(payload), by:{dt.entity.host}
</code></pre>
<h4 id="heading-6-sort-results"><strong>6. Sort Results</strong></h4>
<p>Sort logs by the number of failed requests in descending order:</p>
<pre><code class="lang-bash">fetch logs | summarize failedRequests = countIf(http_status &gt;= 400), by:{dt.entity.host} | sort failedRequests desc
</code></pre>
<h4 id="heading-7-add-fields"><strong>7. Add Fields</strong></h4>
<p>Add a new field to convert payload to megabytes:</p>
<pre><code class="lang-bash">fetch logs | summarize total_payload = sum(payload) | fieldsAdd total_payload_MB = total_payload / 1000000
</code></pre>
<h3 id="heading-graph-queries-for-modern-dashboards"><strong>Graph Queries for Modern Dashboards</strong></h3>
<p>Graph queries enable users to visualize data trends and patterns, making it easier to identify anomalies and insights. Below are examples tailored to the log data provided.</p>
<h4 id="heading-1-line-graph-authentication-failures-over-time"><strong>1. Line Graph: Authentication Failures Over Time</strong></h4>
<p>Visualize the number of authentication failures over time:</p>
<pre><code class="lang-plaintext">fetch logs | summarize authFailures = count(), by:{bin(timestamp, 1h)}
</code></pre>
<h4 id="heading-2-bar-chart-failures-by-host"><strong>2. Bar Chart: Failures by Host</strong></h4>
<p>Show the number of authentication failures grouped by host:</p>
<pre><code class="lang-bash">fetch logs | summarize authFailures = count(), by:{dt.entity.host}
</code></pre>
<h4 id="heading-3-pie-chart-failures-by-azure-region"><strong>3. Pie Chart: Failures by Azure Region</strong></h4>
<p>Display the distribution of authentication failures across Azure regions:</p>
<pre><code class="lang-bash">fetch logs | summarize count(), by:{dt.entity.azure_region}
</code></pre>
<h4 id="heading-4-stacked-area-chart-failures-by-process-group"><strong>4. Stacked Area Chart: Failures by Process Group</strong></h4>
<p>Compare authentication failures across different process groups over time:</p>
<pre><code class="lang-bash">fetch logs | summarize authFailures = count(), by:{dt.entity.process_group, bin(timestamp, 1h)}
</code></pre>
<h4 id="heading-5-heatmap-failures-by-host-and-time"><strong>5. Heatmap: Failures by Host and Time</strong></h4>
<p>Create a heatmap to show authentication failures by host and time:</p>
<pre><code class="lang-bash">fetch logs | summarize count(), by:{dt.entity.host, bin(timestamp, 1h)}
</code></pre>
<h3 id="heading-building-a-modern-dashboard"><strong>Building a Modern Dashboard</strong></h3>
<p>To leverage these queries, follow these steps to create a <strong>Modern Dashboard</strong>:</p>
<ol>
<li><p><strong>Set Up a New Dashboard</strong>: Navigate to Dynatrace and create a new Modern Dashboard.</p>
</li>
<li><p><strong>Integrate DQL Queries</strong>: Add tiles to the dashboard and input the DQL queries for data filtering and visualization.</p>
</li>
<li><p><strong>Add Visualizations</strong>: Choose graph types (line, bar, pie, etc.) to represent the data effectively.</p>
</li>
<li><p><strong>Customize Filters and Variables</strong>: Apply dynamic filters to adjust data in real-time.</p>
</li>
<li><p><strong>Save and Monitor</strong>: Save the dashboard and use it for continuous monitoring and analysis.</p>
</li>
</ol>
<h3 id="heading-security-insights-from-log-analysis"><strong>Security Insights from Log Analysis</strong></h3>
<p>The log data analyzed in this blog highlights potential security threats, such as repeated failed SSH login attempts and suspicious IP addresses. Modern Dashboards enable proactive monitoring and response to such incidents. Key recommendations include:</p>
<ul>
<li><p>Blocking suspicious IPs.</p>
</li>
<li><p>Enforcing strong password policies.</p>
</li>
<li><p>Enabling multi-factor authentication (MFA).</p>
</li>
<li><p>Setting up alerts for unusual login behavior.</p>
</li>
</ul>
<h2 id="heading-dashboard-implementation-in-action">Dashboard Implementation in Action</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744278426660/4b0e93ec-f5a6-4f10-b164-0e4f67be43a3.png" alt="Firstly navigate to the modern dashboard and then give proper name" class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744278511139/e4d2f5a9-7045-4ecb-aaf2-2cdfea7afc1d.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744278714469/41e563b0-7054-4db8-b90b-1165bc1a84ec.png" alt class="image--center mx-auto" /></p>
<p>Modern Dashboards offer a variety of tiles for dynamic monitoring:</p>
<ul>
<li><p><strong>Logs</strong>: Analyze raw data, like connection attempts, with DQL for filtering and graphing.</p>
</li>
<li><p><strong>Metrics</strong>: Monitor system performance (CPU, memory, etc.) for trends and optimization.</p>
</li>
<li><p><strong>Events</strong>: Track real-time incidents, such as service failures, to prevent escalation.</p>
</li>
<li><p><strong>Problem</strong>: Visualize detected issues for faster troubleshooting.</p>
</li>
<li><p><strong>DQL</strong>: Process custom queries directly for deep analytics.</p>
</li>
<li><p><strong>Code</strong>: Add custom scripts for tailored data handling.</p>
</li>
</ul>
<p>These tiles empower users to create interactive and insightful dashboards tailored to their needs.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744279154259/bf0cf606-7ed0-4eba-b5c5-770b361b4456.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744279789576/4916d307-70c6-43d2-b649-b5734d6836a5.png" alt class="image--center mx-auto" /></p>
<p><strong>Now Click on metrics</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744280568318/30130d4c-6d62-418e-a6cd-30708b34f591.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744280621475/dbe4cf11-29d0-401e-86ab-7b6f9d18985d.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744280713357/77fea9b1-5133-4978-aea2-d4abae694977.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744280824549/81ea957d-bd33-4de5-941a-d59b0dfb4d3f.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744280916449/5c796dbf-d678-495e-95dd-819fa9caba6b.png" alt class="image--center mx-auto" /></p>
<p><strong>Now using DQL</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744283978563/7687f960-2b81-452a-82ae-921ca49cc73a.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-sql">fetch logs  
| summarize authFailures = count(), by:{dt.entity.process_group, bin(timestamp, 1h)}
</code></pre>
<p>This query counts the total number of authentication failures (<code>authFailures</code>) in the logs and groups them by <strong>process group</strong> (<code>dt.entity.process_group</code>) and <strong>hourly intervals</strong> (<code>bin(timestamp, 1h)</code>). It provides insights into when and where the failures are occurring, broken down by time and process group. 🚀 Let me know if you need further clarification!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744285137617/82283a7b-95ab-4caf-8833-5fca052a1051.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-sql">fetch logs, from:now()-1d  
| summarize count(), by:{dt.entity.host, bin(auto, 1h)}
</code></pre>
<p><strong>Short Explanation:</strong> This query fetches log data from the last <strong>24 hours</strong> (<code>from:now()-1d</code>), counts the total number of logs (<code>count()</code>), and groups them by <strong>host</strong> (<a target="_blank" href="http://dt.entity.host"><code>dt.entity.host</code></a>) and <strong>hourly intervals</strong> (<code>bin(auto, 1h)</code>). It helps analyze log activity on an hourly basis for each host. 🚀 Let me know if you need more details!</p>
<pre><code class="lang-sql">fetch logs  
| summarize count(), by:{dt.entity.azure_region}
</code></pre>
<p><strong>Short Explanation:</strong> This query retrieves log data, counts the total number of logs (<code>count()</code>), and groups them by <strong>Azure regions</strong> (<a target="_blank" href="http://dt.entity.azure"><code>dt.entity.azure</code></a><code>_region</code>). It helps analyze log activity based on the geographical regions of your Azure infrastructure. 🚀 Let me know if you need further clarifications!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744285331223/3595d32e-6efd-45e7-b204-263c2b980c2a.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item></channel></rss>