<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Build dashboards on Grafana Labs</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/</link><description>Recent content in Build dashboards on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/index.xml" rel="self" type="application/rss+xml"/><item><title>Create a dashboard</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/create-dashboard/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/create-dashboard/</guid><content><![CDATA[&lt;h2 id=&#34;create-a-dashboard&#34;&gt;Create a dashboard&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;For information on the new dynamic dashboards editing experience, refer to the &lt;a href=&#34;/docs/grafana/next/visualizations/dashboards/build-dashboards/create-dashboard/&#34;&gt;next version of the Grafana OSS documentation&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Dashboards and panels allow you to show your data in visual form. Each panel needs at least one query to display a visualization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Before you begin:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that you have the proper permissions. For more information about permissions, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Identify the dashboard to which you want to add the panel.&lt;/li&gt;
&lt;li&gt;Understand the query language of the target data source.&lt;/li&gt;
&lt;li&gt;Ensure that data source for which you are writing a query has been added. For more information about adding a data source, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/#add-a-data-source&#34;&gt;Add a data source&lt;/a&gt; if you need instructions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To create a dashboard, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;New&lt;/strong&gt; and select &lt;strong&gt;New Dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the empty dashboard, click &lt;strong&gt;&#43; Add visualization&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/dashboards/empty-dashboard-10.2.png&#34;
  alt=&#34;Empty dashboard state&#34; width=&#34;939&#34;
     height=&#34;507&#34;/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the dialog box that opens, do one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Select one of your existing data sources.&lt;/li&gt;
&lt;li&gt;Select one of the Grafana 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/#special-data-sources&#34;&gt;built-in special data sources&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Configure a new data source&lt;/strong&gt; to set up a new one (Admins only).&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
       style=&#34;max-width: 800px;&#34;
       itemprop=&#34;associatedMedia&#34;
       itemscope=&#34;&#34;
       itemtype=&#34;http://schema.org/ImageObject&#34;
     &gt;&lt;a
           class=&#34;lightbox-link&#34;
           href=&#34;/media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png&#34;
           itemprop=&#34;contentUrl&#34;
         &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
             class=&#34;lazyload &#34;
             data-src=&#34;/media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Select data source modal&#34;width=&#34;1220&#34;height=&#34;696&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/media/docs/grafana/dashboards/screenshot-data-source-selector-10.0.png&#34;
               alt=&#34;Select data source modal&#34;width=&#34;1220&#34;height=&#34;696&#34;class=&#34;float-right&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The &lt;strong&gt;Edit panel&lt;/strong&gt; view opens with your data source selected.
You can change the panel data source later using the drop-down in the &lt;strong&gt;Queries&lt;/strong&gt; tab of the panel editor if needed.&lt;/p&gt;
&lt;p&gt;For more information about data sources, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/&#34;&gt;Data sources&lt;/a&gt; for specific guidelines.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To create a query, do one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write or construct a query in the query language of your data source.&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Saved queries&lt;/strong&gt; drop-down menu and click &lt;strong&gt;Replace query&lt;/strong&gt; to reuse a 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/query-transform-data/#saved-queries&#34;&gt;saved query&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) To 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/query-transform-data/#save-a-query&#34;&gt;save the query&lt;/a&gt; for reuse, open the &lt;strong&gt;Saved queries&lt;/strong&gt; drop-down menu and click the &lt;strong&gt;Save query&lt;/strong&gt; option.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Refresh&lt;/strong&gt; to query the data source.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) To add subsequent queries, click &lt;strong&gt;&#43; Add query&lt;/strong&gt; or &lt;strong&gt;&#43; Add from saved queries&lt;/strong&gt;, and refresh the data source as many times as needed.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/query-transform-data/#saved-queries&#34;&gt;Saved queries&lt;/a&gt; is currently in &lt;a href=&#34;/docs/release-life-cycle/&#34;&gt;public preview&lt;/a&gt; in Grafana Enterprise and Grafana Cloud only.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the visualization list, select a visualization type.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/dashboards/screenshot-select-visualization-11-2.png&#34;
  alt=&#34;Visualization selector&#34; width=&#34;450&#34;
     height=&#34;148&#34;/&gt;&lt;/p&gt;
&lt;p&gt;Grafana displays a preview of your query results with the visualization applied.&lt;/p&gt;
&lt;p&gt;For more information about individual visualizations, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/visualizations/&#34;&gt;Visualizations options&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Under &lt;strong&gt;Panel options&lt;/strong&gt;, enter a title and description for your panel or have Grafana create them using 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/dashboards/manage-dashboards/#set-up-generative-ai-features-for-dashboards&#34;&gt;generative AI features&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Refer to the following documentation for ways you can adjust panel settings.&lt;/p&gt;
&lt;p&gt;While not required, most visualizations need some adjustment before they properly display the information that you need.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/configure-value-mappings/&#34;&gt;Configure value mappings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/visualizations/&#34;&gt;Visualization-specific options&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/configure-overrides/&#34;&gt;Override field values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/configure-thresholds/&#34;&gt;Configure thresholds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/configure-standard-options/&#34;&gt;Configure standard options&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you&amp;rsquo;ve finished editing your panel, click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Alternatively, click &lt;strong&gt;Back to dashboard&lt;/strong&gt; if you want to see your changes applied to the dashboard first. Then click &lt;strong&gt;Save dashboard&lt;/strong&gt; when you&amp;rsquo;re ready.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a title and description for your dashboard or have Grafana create them using 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/dashboards/manage-dashboards/#set-up-generative-ai-features-for-dashboards&#34;&gt;generative AI features&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a folder, if applicable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To add more panels to the dashboard, click &lt;strong&gt;Back to dashboard&lt;/strong&gt;.
Then click &lt;strong&gt;Add&lt;/strong&gt; in the dashboard header and select &lt;strong&gt;Visualization&lt;/strong&gt; in the drop-down.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/dashboards/screenshot-add-dropdown-11.2.png&#34;
  alt=&#34;Add drop-down&#34; width=&#34;201&#34;
     height=&#34;174&#34;/&gt;&lt;/p&gt;
&lt;p&gt;When you add additional panels to the dashboard, you&amp;rsquo;re taken straight to the &lt;strong&gt;Edit panel&lt;/strong&gt; view.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you&amp;rsquo;ve saved all the changes you want to make to the dashboard, click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Now, when you want to make more changes to the saved dashboard, click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;begin-dashboard-creation-from-data-source-configuration&#34;&gt;Begin dashboard creation from data source configuration&lt;/h3&gt;
&lt;p&gt;You can start the process of creating a dashboard directly from a data source rather than from the &lt;strong&gt;Dashboards&lt;/strong&gt; page.&lt;/p&gt;
&lt;p&gt;To begin building a dashboard directly from a data source, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Connections &amp;gt; Data sources&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the row of the data source for which you want to build a dashboard, click &lt;strong&gt;Build a dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The empty dashboard page opens.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;&#43;Add visualization&lt;/strong&gt; to configure all the elements of the new dashboard.&lt;/li&gt;
&lt;li&gt;Select one of the suggested dashboards by clicking its &lt;strong&gt;Use dashboard&lt;/strong&gt; button. This can be helpful when you&amp;rsquo;re not sure how to most effectively visualize your data.
The suggested dashboards are specific to your data source type (for example, Prometheus, Loki, or Elasticsearch). If there are more than three dashboard suggestions, you can click &lt;strong&gt;View all&lt;/strong&gt; to see the rest of them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/dashboards/screenshot-suggested-dashboards-v12.3.png&#34;
  alt=&#34;Empty dashboard with add visualization and suggested dashboard options&#34; width=&#34;2158&#34;
     height=&#34;1260&#34;/&gt;&lt;/p&gt;

   
   &lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Suggested dashboards is currently in &lt;a href=&#34;/docs/release-life-cycle/&#34;&gt;public preview&lt;/a&gt;. Grafana Labs offers limited support, and breaking changes might occur prior to the feature being made generally available.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
   

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Complete the rest of the dashboard configuration. For more detailed steps, refer to &lt;a href=&#34;#create-a-dashboard&#34;&gt;Create a dashboard&lt;/a&gt;, beginning at step five.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;copy-a-dashboard&#34;&gt;Copy a dashboard&lt;/h2&gt;
&lt;p&gt;To copy a dashboard, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open the dashboard you want to copy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the &lt;strong&gt;Save dashboard&lt;/strong&gt; drop-down and select &lt;strong&gt;Save as copy&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Specify the name, folder, description, and whether or not to copy the original dashboard tags for the copied dashboard.&lt;/p&gt;
&lt;p&gt;By default, the copied dashboard has the same name as the original dashboard with the word &amp;ldquo;Copy&amp;rdquo; appended and is in the same folder.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-repeating-rows&#34;&gt;Configure repeating rows&lt;/h2&gt;
&lt;p&gt;You can configure Grafana to dynamically add panels or rows to a dashboard based on the value of a variable. Variables dynamically change your queries across all rows in a dashboard. For more information about repeating panels, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/configure-panel-options/#configure-repeating-panels&#34;&gt;Configure repeating panels&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To see an example of repeating rows, refer to &lt;a href=&#34;https://play.grafana.org/d/000000153/repeat-rows&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Dashboard with repeating rows&lt;/a&gt;. The example shows that you can also repeat rows if you have variables set with &lt;code&gt;Multi-value&lt;/code&gt; or &lt;code&gt;Include all values&lt;/code&gt; selected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Before you begin:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that the query includes a multi-value variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;To configure repeating rows:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigate to the dashboard you want to work on.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At the top of the dashboard, click &lt;strong&gt;Add&lt;/strong&gt; and select &lt;strong&gt;Row&lt;/strong&gt; in the drop-down.&lt;/p&gt;
&lt;p&gt;If the dashboard is empty, you can click the &lt;strong&gt;&#43; Add row&lt;/strong&gt; button in the middle of the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hover over the row title and click the cog icon.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Row Options&lt;/strong&gt; dialog box, add a title and select the variable for which you want to add repeating rows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Update&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To provide context to dashboard users, add the variable to the row title.&lt;/p&gt;
&lt;h3 id=&#34;repeating-rows-and-the-dashboard-special-data-source&#34;&gt;Repeating rows and the Dashboard special data source&lt;/h3&gt;
&lt;p&gt;If a row includes panels using the special 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/#special-data-sources&#34;&gt;Dashboard data source&lt;/a&gt;—the data source that uses a result set from another panel in the same dashboard—then corresponding panels in repeated rows will reference the panel in the original row, not the ones in the repeated rows.&lt;/p&gt;
&lt;p&gt;For example, in a dashboard:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Row 1&lt;/code&gt; includes &lt;code&gt;Panel 1A&lt;/code&gt; and &lt;code&gt;Panel 1B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Panel 1B&lt;/code&gt; uses the results from &lt;code&gt;Panel 1A&lt;/code&gt; by way of the &lt;code&gt;-- Dashboard --&lt;/code&gt; data source&lt;/li&gt;
&lt;li&gt;Repeating row, &lt;code&gt;Row 2&lt;/code&gt;, includes &lt;code&gt;Panel 2A&lt;/code&gt; and &lt;code&gt;Panel 2B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Panel 2B&lt;/code&gt; references &lt;code&gt;Panel 1A&lt;/code&gt;, not &lt;code&gt;Panel 2A&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;move-a-panel&#34;&gt;Move a panel&lt;/h2&gt;
&lt;p&gt;You can place a panel on a dashboard in any location.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Navigate to the dashboard you want to work on.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner.&lt;/li&gt;
&lt;li&gt;Click the panel title and drag the panel to the new location.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;resize-a-panel&#34;&gt;Resize a panel&lt;/h2&gt;
&lt;p&gt;You can size a dashboard panel to suits your needs.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Navigate to the dashboard you want to work on.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner.&lt;/li&gt;
&lt;li&gt;To adjust the size of the panel, click and drag the lower-right corner of the panel.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h2 id="create-a-dashboard">Create a dashboard&lt;/h2>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>For information on the new dynamic dashboards editing experience, refer to the &lt;a href="/docs/grafana/next/visualizations/dashboards/build-dashboards/create-dashboard/">next version of the Grafana OSS documentation&lt;/a>.&lt;/p>&lt;/blockquote>&lt;/div>
&lt;p>Dashboards and panels allow you to show your data in visual form. Each panel needs at least one query to display a visualization.&lt;/p></description></item><item><title>Create dashboards from templates</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/create-template-dashboards/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/create-template-dashboards/</guid><content><![CDATA[

&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Dashboard templates is currently in &lt;a href=&#34;/docs/release-life-cycle/&#34;&gt;public preview&lt;/a&gt;. Grafana Labs offers limited support, and breaking changes might occur prior to the feature being made generally available.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;


&lt;h1 id=&#34;create-dashboards-from-templates&#34;&gt;Create dashboards from templates&lt;/h1&gt;
&lt;p&gt;Grafana provides a variety of pre-built dashboard templates that you can use to quickly set up visualizations for your data. These dashboards use sample data, which you can replace with your own data, making it easier to get started with monitoring and analysis.&lt;/p&gt;
&lt;p&gt;The templates provide standardized dashboard layouts designed to help you answer engineering or business questions consistently. For instance, the DORA template allows all teams within an organization to measure delivery performance using a widely adopted industry framework.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 750px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Selection of dashboard templates&#34;width=&#34;2408&#34;height=&#34;1220&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-templates-v12.3.png&#34;
            alt=&#34;Selection of dashboard templates&#34;width=&#34;2408&#34;height=&#34;1220&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;To create a dashboard from a template, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the primary menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;New&lt;/strong&gt; and select &lt;strong&gt;Dashboard from template&lt;/strong&gt; in the drop-down menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a template.&lt;/p&gt;
&lt;p&gt;The dashboard created includes a banner panel indicating the dashboard is using sample data:&lt;/p&gt;
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
       style=&#34;max-width: 750px;&#34;
       itemprop=&#34;associatedMedia&#34;
       itemscope=&#34;&#34;
       itemtype=&#34;http://schema.org/ImageObject&#34;
     &gt;&lt;a
           class=&#34;lightbox-link&#34;
           href=&#34;/media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png&#34;
           itemprop=&#34;contentUrl&#34;
         &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
             class=&#34;lazyload &#34;
             data-src=&#34;/media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Dashboard with sample data&#34;width=&#34;2428&#34;height=&#34;1432&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/media/docs/grafana/dashboards/screenshot-sample-data-dashboard-v12.3.png&#34;
               alt=&#34;Dashboard with sample data&#34;width=&#34;2428&#34;height=&#34;1432&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update the data source for each panel to add your own data and configure the queries you need.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-tip&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Tip&lt;/p&gt;&lt;p&gt;In Grafana Cloud, try working with &lt;a href=&#34;/docs/grafana-cloud/machine-learning/assistant/&#34;&gt;Grafana Assistant&lt;/a&gt; to update the dashboard with your data sources and to create queries.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Make any other edits to the dashboard to most effectively display your data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you&amp;rsquo;ve made all of your changes, remove the banner panel.&lt;/p&gt;
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
       style=&#34;max-width: 750px;&#34;
       itemprop=&#34;associatedMedia&#34;
       itemscope=&#34;&#34;
       itemtype=&#34;http://schema.org/ImageObject&#34;
     &gt;&lt;a
           class=&#34;lightbox-link&#34;
           href=&#34;/media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png&#34;
           itemprop=&#34;contentUrl&#34;
         &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
             class=&#34;lazyload &#34;
             data-src=&#34;/media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Removing the sample data banner panel&#34;width=&#34;2380&#34;height=&#34;520&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/media/docs/grafana/dashboards/screenshot-remove-banner-v12.3.png&#34;
               alt=&#34;Removing the sample data banner panel&#34;width=&#34;2380&#34;height=&#34;520&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>Dashboard templates is currently in &lt;a href="/docs/release-life-cycle/">public preview&lt;/a>. Grafana Labs offers limited support, and breaking changes might occur prior to the feature being made generally available.&lt;/p></description></item><item><title>Import dashboards</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/import-dashboards/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/import-dashboards/</guid><content><![CDATA[&lt;h1 id=&#34;import-dashboards&#34;&gt;Import dashboards&lt;/h1&gt;
&lt;p&gt;You can import preconfigured dashboards into your Grafana instance or Cloud stack using the UI or the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/&#34;&gt;HTTP API&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;import-a-dashboard&#34;&gt;Import a dashboard&lt;/h2&gt;
&lt;p&gt;To import a dashboard, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the primary menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;New&lt;/strong&gt; and select &lt;strong&gt;Import&lt;/strong&gt; in the drop-down menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Perform one of the following steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Upload a dashboard JSON file.&lt;/li&gt;
&lt;li&gt;Paste a &lt;a href=&#34;#discover-dashboards-on-grafanacom&#34;&gt;Grafana.com dashboard&lt;/a&gt; URL or ID into the field provided.&lt;/li&gt;
&lt;li&gt;Paste dashboard JSON text directly into the text area.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Change the dashboard name, folder, or UID, and specify metric prefixes, if the dashboard uses any.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a data source, if required.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Import&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;discover-dashboards-on-grafanacom&#34;&gt;Discover dashboards on grafana.com&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;/grafana/dashboards/&#34;&gt;Dashboards page&lt;/a&gt; on grafana.com provides you with dashboards for common server applications. Browse our library of official and community-built dashboards and import them to quickly get up and running.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 1294px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-gcom-dashboards.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-gcom-dashboards.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-gcom-dashboards.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Preconfigured dashboards on grafana.com&#34;width=&#34;1294&#34;height=&#34;852&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-gcom-dashboards.png&#34;
            alt=&#34;Preconfigured dashboards on grafana.com&#34;width=&#34;1294&#34;height=&#34;852&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;You can also add to this library by exporting one of your own dashboards. For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/share-dashboards-panels/&#34;&gt;Share dashboards and panels&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;more-examples&#34;&gt;More examples&lt;/h2&gt;
&lt;p&gt;Your Grafana Cloud stack comes with several default dashboards in the &lt;strong&gt;Grafana Cloud&lt;/strong&gt; folder in &lt;strong&gt;Dashboards&lt;/strong&gt;. If you&amp;rsquo;re running your own installation of Grafana, you can find more example dashboards in the &lt;code&gt;public/dashboards/&lt;/code&gt; directory.&lt;/p&gt;
]]></content><description>&lt;h1 id="import-dashboards">Import dashboards&lt;/h1>
&lt;p>You can import preconfigured dashboards into your Grafana instance or Cloud stack using the UI or the
&lt;a href="/docs/grafana/v12.4/developers/http_api/">HTTP API&lt;/a>.&lt;/p>
&lt;h2 id="import-a-dashboard">Import a dashboard&lt;/h2>
&lt;p>To import a dashboard, follow these steps:&lt;/p></description></item><item><title>Modify dashboard settings</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/modify-dashboard-settings/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/modify-dashboard-settings/</guid><content><![CDATA[&lt;h1 id=&#34;modify-dashboard-settings&#34;&gt;Modify dashboard settings&lt;/h1&gt;
&lt;p&gt;The dashboard settings page allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Edit general dashboard properties, including time settings&lt;/li&gt;
&lt;li&gt;Add annotation queries&lt;/li&gt;
&lt;li&gt;Add dashboard variables&lt;/li&gt;
&lt;li&gt;Add links&lt;/li&gt;
&lt;li&gt;View the dashboard JSON model&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To access the dashboard setting page:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;modify-dashboard-time-settings&#34;&gt;Modify dashboard time settings&lt;/h2&gt;
&lt;p&gt;Adjust dashboard time settings when you want to change the dashboard timezone, the local browser time, and specify auto-refresh time intervals.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the the &lt;strong&gt;General&lt;/strong&gt; tab of the &lt;strong&gt;Settings&lt;/strong&gt; page, scroll down to the &lt;strong&gt;Time options&lt;/strong&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specify time settings as follows.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Time zone:&lt;/strong&gt; Specify the local time zone of the service or system that you are monitoring. This can be helpful when monitoring a system or service that operates across several time zones.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default:&lt;/strong&gt; Grafana uses the default selected time zone for the user profile, team, or organization. If no time zone is specified for the user profile, a team the user is a member of, or the organization, then Grafana uses the local browser time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browser time:&lt;/strong&gt; The time zone configured for the viewing user browser is used. This is usually the same time zone as set on the computer.&lt;/li&gt;
&lt;li&gt;Standard &lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_tz_database_time_zones&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;ISO 8601 time zones&lt;/a&gt;, including UTC.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto refresh:&lt;/strong&gt; Customize the options displayed for relative time and the auto-refresh options Entries are comma separated and accept any valid time unit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Now delay:&lt;/strong&gt; Override the &lt;code&gt;now&lt;/code&gt; time by entering a time delay. Use this option to accommodate known delays in data aggregation to avoid null values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hide time picker:&lt;/strong&gt; Select this option if you do not want Grafana to display the time picker.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;modify-graph-tooltip-behavior&#34;&gt;Modify graph tooltip behavior&lt;/h2&gt;
&lt;p&gt;Use this option to control tooltip and hover highlight behavior across graph panels (for example, time series).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the the &lt;strong&gt;General&lt;/strong&gt; tab of the &lt;strong&gt;Settings&lt;/strong&gt; page, scroll down to the &lt;strong&gt;Panel options&lt;/strong&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose from the following options to control the tooltip and hover highlight behavior across graph panels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt; - Tooltip and hover highlight behavior isn&amp;rsquo;t shared across panels.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shared crosshair&lt;/strong&gt; - When you hover the cursor over one graph panel in the dashboard, the crosshair is also displayed on all other graph panels in the dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shared tooltip&lt;/strong&gt; - When you hover the cursor over one graph panel in the dashboard, the crosshair and tooltips are also displayed on all other graph panels in the dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;add-tags&#34;&gt;Add tags&lt;/h2&gt;
&lt;p&gt;You can add metadata to your dashboards using tags. Tags also give you the ability to filter the list of dashboards.&lt;/p&gt;
&lt;p&gt;Tags can be up to 50 characters long, including spaces.&lt;/p&gt;
&lt;p&gt;To add tags to a dashboard, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the the &lt;strong&gt;General&lt;/strong&gt; tab of the &lt;strong&gt;Settings&lt;/strong&gt; page, scroll down to the &lt;strong&gt;Tags&lt;/strong&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the field, enter a new or existing tag.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re entering an existing tag, make sure that you spell it the same way or a new tag is created.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Add&lt;/strong&gt; or press the Enter key.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you&amp;rsquo;re on the &lt;strong&gt;Dashboards&lt;/strong&gt; page, any tags you&amp;rsquo;ve entered show up under the &lt;strong&gt;Tags&lt;/strong&gt; column.&lt;/p&gt;
&lt;h2 id=&#34;add-an-annotation-query&#34;&gt;Add an annotation query&lt;/h2&gt;
&lt;p&gt;An annotation query is a query that queries for events. These events can be visualized in graphs across the dashboard as vertical lines along with a small
icon you can hover over to see the event information.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; page, go to the &lt;strong&gt;Annotations&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add annotation query&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name and select a data source.&lt;/li&gt;
&lt;li&gt;Complete the rest of the form to build a query and annotation.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The query editor UI changes based on the data source you select. Refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/&#34;&gt;Data source&lt;/a&gt; documentation for details on how to construct a query.&lt;/p&gt;
&lt;h2 id=&#34;add-a-variable&#34;&gt;Add a variable&lt;/h2&gt;
&lt;p&gt;Variables enable you to create more interactive and dynamic dashboards. Instead of hard-coding things like server, application,
and sensor names in your metric queries, you can use variables in their place. Variables are displayed as dropdown lists at the top of
the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.&lt;/p&gt;
&lt;p&gt;For more information about variables, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/variables/&#34;&gt;Variables&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; page, go to the &lt;strong&gt;Variables&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; New variable&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Select variable type&lt;/strong&gt; drop-down, choose an option.&lt;/p&gt;
&lt;p&gt;The variable type you select impacts which fields you populate on the page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;General&lt;/strong&gt; section, enter the name of the variable.&lt;/p&gt;
&lt;p&gt;This is the name that you&amp;rsquo;ll use later in queries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the rest of the variable options.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;add-a-link&#34;&gt;Add a link&lt;/h2&gt;
&lt;p&gt;Dashboard links enable you to place links to other dashboards and web sites directly below the dashboard header. Links provide for easy navigation to other, related dashboards and content.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; page, click the &lt;strong&gt;Links&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; New link&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter title for the link.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Type&lt;/strong&gt; drop-down, select &lt;strong&gt;Dashboards&lt;/strong&gt; or &lt;strong&gt;Link&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the rest of the link options.&lt;/p&gt;
&lt;p&gt;For more detailed directions on creating links, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links&#34;&gt;Dashboard links&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;view-dashboard-json-model&#34;&gt;View dashboard JSON model&lt;/h2&gt;
&lt;p&gt;A dashboard in Grafana is represented by a JSON object, which stores metadata of its dashboard. Dashboard metadata includes dashboard properties, metadata from panels, template variables, panel queries, and so on.&lt;/p&gt;
&lt;p&gt;To view a dashboard JSON model, on the &lt;strong&gt;Settings&lt;/strong&gt; page, click the &lt;strong&gt;JSON Model&lt;/strong&gt; tab.&lt;/p&gt;
&lt;p&gt;For more information about the JSON fields, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/view-dashboard-json-model/#json-fields&#34;&gt;JSON fields&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="modify-dashboard-settings">Modify dashboard settings&lt;/h1>
&lt;p>The dashboard settings page allows you to:&lt;/p>
&lt;ul>
&lt;li>Edit general dashboard properties, including time settings&lt;/li>
&lt;li>Add annotation queries&lt;/li>
&lt;li>Add dashboard variables&lt;/li>
&lt;li>Add links&lt;/li>
&lt;li>View the dashboard JSON model&lt;/li>
&lt;/ul>
&lt;p>To access the dashboard setting page:&lt;/p></description></item><item><title>Manage dashboard links</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/manage-dashboard-links/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/manage-dashboard-links/</guid><content><![CDATA[&lt;h1 id=&#34;manage-dashboard-links&#34;&gt;Manage dashboard links&lt;/h1&gt;
&lt;p&gt;You can use links to navigate between commonly-used dashboards or to connect others to your visualizations. Links let you create shortcuts to other dashboards, panels, and even external websites.&lt;/p&gt;
&lt;p&gt;Grafana supports dashboard links, panel links, and data links. Dashboard links are displayed at the top of the dashboard. Panel links are accessible by clicking the icon next to the panel title.&lt;/p&gt;
&lt;h2 id=&#34;which-link-should-you-use&#34;&gt;Which link should you use?&lt;/h2&gt;
&lt;p&gt;Start by figuring out how you&amp;rsquo;re currently navigating between dashboards. If you&amp;rsquo;re often jumping between a set of dashboards and struggling to find the same context in each, links can help optimize your workflow.&lt;/p&gt;
&lt;p&gt;The next step is to figure out which link type is right for your workflow. Even though all the link types in Grafana are used to create shortcuts to other dashboards or external websites, they work in different contexts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the link relates to most if not all of the panels in the dashboard, use &lt;a href=&#34;#dashboard-links&#34;&gt;dashboard links&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you want to drill down into specific panels, use &lt;a href=&#34;#panel-links&#34;&gt;panel links&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you want to link to an external site, you can use either a dashboard link or a panel link.&lt;/li&gt;
&lt;li&gt;If you want to drill down into a specific series, or even a single measurement, use 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/configure-data-links/&#34;&gt;data links&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;controlling-time-range-using-the-url&#34;&gt;Controlling time range using the URL&lt;/h2&gt;
&lt;p&gt;To control the time range of a panel or dashboard, you can provide query parameters in the dashboard URL:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;from&lt;/code&gt; - defines lower limit of the time range, specified in ms epoch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;to&lt;/code&gt; - defines upper limit of the time range, specified in ms epoch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;time&lt;/code&gt; and &lt;code&gt;time.window&lt;/code&gt; - defines a time range from &lt;code&gt;time-time.window/2&lt;/code&gt; to &lt;code&gt;time&#43;time.window/2&lt;/code&gt;. Both params should be specified in ms. For example &lt;code&gt;?time=1500000000000&amp;amp;time.window=10000&lt;/code&gt; will result in 10s time range from 1499999995000 to 1500000005000&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;dashboard-links&#34;&gt;Dashboard links&lt;/h2&gt;
&lt;p&gt;When you create a dashboard link, you can include the time range and current template variables to directly jump to the same context in another dashboard. This way, you don’t have to worry whether the person you send the link to is looking at the right data. For other types of links, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/configure-data-links/#data-link-variables&#34;&gt;Data link variables&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dashboard links can also be used as shortcuts to external systems, such as submitting &lt;a href=&#34;https://github.com/grafana/grafana/issues/new?title=Dashboard%3A%20HTTP%20Requests&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;a GitHub issue with the current dashboard name&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To see an example of dashboard links in action, check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://play.grafana.org/d/rUpVRdamz/dashboard-links-with-variables?orgId=1&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Dashboard links with variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://play.grafana.org/d/000000036/prometheus-repeat?orgId=1&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus repeat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you&amp;rsquo;ve added a dashboard link, it appears in the upper right corner of your dashboard.&lt;/p&gt;
&lt;h3 id=&#34;add-links-to-dashboards&#34;&gt;Add links to dashboards&lt;/h3&gt;
&lt;p&gt;Add links to other dashboards at the top of your current dashboard.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the dashboard you want to link, click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to the &lt;strong&gt;Links&lt;/strong&gt; tab and then click &lt;strong&gt;Add dashboard link&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The default link type is &lt;strong&gt;Dashboards&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;With tags&lt;/strong&gt; drop-down, enter tags to limit the linked dashboards to only the ones with the tags you enter.&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t add any tags, Grafana includes links to all other dashboards.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set link options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Show as dropdown&lt;/strong&gt; – If you are linking to lots of dashboards, then you probably want to select this option and add an optional title to the dropdown. Otherwise, Grafana displays the dashboard links side by side across the top of your dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Include current time range&lt;/strong&gt; – Select this option to include the dashboard time range in the link. When the user clicks the link, the linked dashboard opens with the indicated time range already set. &lt;strong&gt;Example:&lt;/strong&gt; &lt;a href=&#34;https://play.grafana.org/d/000000010/annotations?orgId=1&amp;amp;from=now-3h&amp;amp;to=now&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://play.grafana.org/d/000000010/annotations?orgId=1&amp;from=now-3h&amp;to=now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Include current template variable values&lt;/strong&gt; – Select this option to include template variables currently used as query parameters in the link. When the user clicks the link, any matching templates in the linked dashboard are set to the values from the link. For more information, see 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/create-dashboard-url-variables/&#34;&gt;Dashboard URL variables&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open link in new tab&lt;/strong&gt; – Select this option if you want the dashboard link to open in a new tab or window.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Show in controls menu&lt;/strong&gt; – Select this option to display the link in the dashboard controls menu instead of at the top of the dashboard. The dashboard controls menu appears as a button in the dashboard toolbar.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and then &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;add-a-url-link-to-a-dashboard&#34;&gt;Add a URL link to a dashboard&lt;/h3&gt;
&lt;p&gt;Add a link to a URL at the top of your current dashboard. You can link to any available URL, including dashboards, panels, or external sites. You can even control the time range to ensure the user is zoomed in on the right data in Grafana.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the dashboard you want to link, click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to the &lt;strong&gt;Links&lt;/strong&gt; tab and then click &lt;strong&gt;Add dashboard link&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Type&lt;/strong&gt; drop-down, select &lt;strong&gt;Link&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, enter the URL to which you want to link.&lt;/p&gt;
&lt;p&gt;Depending on the target, you might want to include field values. &lt;strong&gt;Example:&lt;/strong&gt; &lt;a href=&#34;https://github.com/grafana/grafana/issues/new?title=Dashboard%3A%20HTTP%20Requests&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/grafana/grafana/issues/new?title=Dashboard%3A%20HTTP%20Requests&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Tooltip&lt;/strong&gt; field, enter the tooltip you want the link to display when the user hovers their mouse over it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Icon&lt;/strong&gt; drop-down, choose the icon you want displayed with the link.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set link options; by default, these options are enabled for URL links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Include current time range&lt;/strong&gt; – Select this option to include the dashboard time range in the link. When the user clicks the link, the linked dashboard opens with the indicated time range already set. &lt;strong&gt;Example:&lt;/strong&gt; &lt;a href=&#34;https://play.grafana.org/d/000000010/annotations?orgId=1&amp;amp;from=now-3h&amp;amp;to=now&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://play.grafana.org/d/000000010/annotations?orgId=1&amp;from=now-3h&amp;to=now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Include current template variable values&lt;/strong&gt; – Select this option to include template variables currently used as query parameters in the link. When the user clicks the link, any matching templates in the linked dashboard are set to the values from the link.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open link in new tab&lt;/strong&gt; – Select this option if you want the dashboard link to open in a new tab or window.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Show in controls menu&lt;/strong&gt; – Select this option to display the link in the dashboard controls menu instead of at the top of the dashboard. The dashboard controls menu appears as a button in the dashboard toolbar.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and then &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;update-a-dashboard-link&#34;&gt;Update a dashboard link&lt;/h3&gt;
&lt;p&gt;To edit, duplicate, or delete dashboard link, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the dashboard you want to link, click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to the &lt;strong&gt;Links&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edit&lt;/strong&gt; - Click the name of the link and update the link settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duplicate&lt;/strong&gt; - Click the copy link icon next to the link that you want to duplicate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delete&lt;/strong&gt; - Click the red &lt;strong&gt;X&lt;/strong&gt; next to the link that you want to delete, and then &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and then &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;panel-links&#34;&gt;Panel links&lt;/h2&gt;
&lt;p&gt;Each panel can have its own set of links that are shown in the upper left of the panel after the panel title. You can link to any available URL, including dashboards, panels, or external sites. You can even control the time range to ensure the user is zoomed in on the right data in Grafana.&lt;/p&gt;
&lt;p&gt;Click the icon next to the panel title to see available panel links.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 550px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;List of panel links displayed&#34;width=&#34;750&#34;height=&#34;333&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-panel-links-v11.3.png&#34;
            alt=&#34;List of panel links displayed&#34;width=&#34;750&#34;height=&#34;333&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;add-a-panel-link&#34;&gt;Add a panel link&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Hover over any part of the panel to which you want to add the link to display the actions menu on the top right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the menu and select &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;To use a keyboard shortcut to open the panel, hover over the panel and press &lt;code&gt;e&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expand the &lt;strong&gt;Panel options&lt;/strong&gt; section, scroll down to &lt;strong&gt;Panel links&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Add link&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a &lt;strong&gt;Title&lt;/strong&gt;. &lt;strong&gt;Title&lt;/strong&gt; is a human-readable label for the link that will be displayed in the UI.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter the &lt;strong&gt;URL&lt;/strong&gt; you want to link to.
You can even add one of the template variables defined in the dashboard. Press Ctrl&#43;Space or Cmd&#43;Space and click in the &lt;strong&gt;URL&lt;/strong&gt; field to see the available variables. By adding template variables to your panel link, the link sends the user to the right context, with the relevant variables already set. You can also use time variables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;from&lt;/code&gt; - Defines the lower limit of the time range, specified in ms epoch.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;to&lt;/code&gt; - Defines the upper limit of the time range, specified in ms epoch.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;time&lt;/code&gt; and &lt;code&gt;time.window&lt;/code&gt; - Define a time range from &lt;code&gt;time-time.window/2&lt;/code&gt; to &lt;code&gt;time&#43;time.window/2&lt;/code&gt;. Both params should be specified in ms. For example &lt;code&gt;?time=1500000000000&amp;amp;time.window=10000&lt;/code&gt; will result in 10s time range from 1499999995000 to 1500000005000.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you want the link to open in a new tab, then select &lt;strong&gt;Open in new tab&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt; to save changes and close the dialog box.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and then &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;update-a-panel-link&#34;&gt;Update a panel link&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Hover over any part of the panel to display the actions menu on the top right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the menu and select &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;To use a keyboard shortcut to open the panel, hover over the panel and press &lt;code&gt;e&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expand the &lt;strong&gt;Panel options&lt;/strong&gt; section, scroll down to Panel links.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Find the link that you want to make changes to.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the Edit (pencil) icon to open the Edit link window.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make any necessary changes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt; to save changes and close the dialog box.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and then &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;delete-a-panel-link&#34;&gt;Delete a panel link&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Hover over any part of the panel to display the actions menu on the top right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the menu and select &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;To use a keyboard shortcut to open the panel, hover over the panel and press &lt;code&gt;e&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expand the &lt;strong&gt;Panel options&lt;/strong&gt; section, scroll down to Panel links.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Find the link that you want to delete.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the &lt;strong&gt;X&lt;/strong&gt; icon next to the link you want to delete.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; in the top-right corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and then &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="manage-dashboard-links">Manage dashboard links&lt;/h1>
&lt;p>You can use links to navigate between commonly-used dashboards or to connect others to your visualizations. Links let you create shortcuts to other dashboards, panels, and even external websites.&lt;/p></description></item><item><title>Dashboard URL variables</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/create-dashboard-url-variables/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/create-dashboard-url-variables/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-url-variables&#34;&gt;Dashboard URL variables&lt;/h1&gt;
&lt;p&gt;Dashboard URL 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/variables/&#34;&gt;variables&lt;/a&gt; allow you to provide more context when you share a dashboard URL.&lt;/p&gt;
&lt;p&gt;For example, you could share a basic URL to your dashboard that looks like this:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;https://${your-domain}/path/to/your/dashboard&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This allows someone to navigate to the dashboard, but doesn&amp;rsquo;t provide any helpful context that might be available.&lt;/p&gt;
&lt;p&gt;Instead, you can add dashboard variables, passed as query parameters in the dashboard URL, to provide a URL like this:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;https://${your-domain}/path/to/your/dashboard?var-example=value&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This allows you to provide added context to the dashboard when someone navigates to it.&lt;/p&gt;
&lt;h2 id=&#34;variables-as-query-parameters&#34;&gt;Variables as query parameters&lt;/h2&gt;
&lt;p&gt;Grafana interprets query string parameters prefixed with &lt;code&gt;var-&lt;/code&gt; as variables in the given dashboard.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;https://${your-domain}/path/to/your/dashboard?var-example=value&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In this URL, the query parameter &lt;code&gt;var-example=value&lt;/code&gt; represents the dashboard variable &lt;code&gt;example&lt;/code&gt; with a value of &lt;code&gt;value&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;multiple-values-for-a-variable&#34;&gt;Multiple values for a variable&lt;/h3&gt;
&lt;p&gt;To pass multiple values, repeat the variable parameter once for each value:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;https://${your-domain}/path/to/your/dashboard?var-example=value1&amp;amp;var-example=value2&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Grafana interprets &lt;code&gt;var-example=value1&amp;amp;var-example=value2&lt;/code&gt; as the dashboard variable &lt;code&gt;example&lt;/code&gt; with two values: &lt;code&gt;value1&lt;/code&gt; and &lt;code&gt;value2&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://play.grafana.org/d/000000074/alerting?var-app=backend&amp;amp;var-server=backend_01&amp;amp;var-server=backend_03&amp;amp;var-interval=1h&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;This dashboard in Grafana Play&lt;/a&gt; passes the variable &lt;code&gt;server&lt;/code&gt; with multiple values, and the variables &lt;code&gt;app&lt;/code&gt; and &lt;code&gt;interval&lt;/code&gt; with a single value each.&lt;/p&gt;
&lt;h2 id=&#34;ad-hoc-filters&#34;&gt;Ad hoc filters&lt;/h2&gt;
&lt;p&gt;Ad hoc filters apply key/value filters to all metric queries that use the specified data source. For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/variables/add-template-variables/#add-ad-hoc-filters&#34;&gt;Add ad hoc filters&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To pass an ad hoc filter as a query parameter, use the variable syntax to pass the ad hoc filter variable. Then provide the key, operator, and value as a pipe-separated list.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;https://${your-domain}/path/to/your/dashboard?var-adhoc=example_key|=|example_value&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In this URL, the query parameter &lt;code&gt;var-adhoc=key|=|value&lt;/code&gt; applies the ad hoc filter configured as the &lt;code&gt;adhoc&lt;/code&gt; dashboard variable using the &lt;code&gt;example_key&lt;/code&gt; key, the &lt;code&gt;=&lt;/code&gt; operator, and the &lt;code&gt;example_value&lt;/code&gt; value.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;When sharing URLs with ad hoc filters, remember to encode the URL. In the preceding example, replace the pipes (&lt;code&gt;|&lt;/code&gt;) with &lt;code&gt;%7C&lt;/code&gt; and the equality operator (&lt;code&gt;=&lt;/code&gt;) with &lt;code&gt;%3D&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;example-1&#34;&gt;Example&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://play.grafana.org/d/p-k6QtkGz/template-redux?var-interval=$__auto&amp;amp;orgId=1&amp;amp;from=now-5m&amp;amp;to=now&amp;amp;timezone=utc&amp;amp;var-query=$__all&amp;amp;var-query2=$__all&amp;amp;var-query3=$__all&amp;amp;var-Filters=job%7C%3D%7Cmetrictank%2Ftsdb-gw&amp;amp;var-textbox=foo&amp;amp;var-custom=lisa&amp;amp;var-datasource=grafanacloud-demoinfra-prom&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;This dashboard in Grafana Play&lt;/a&gt; passes the ad hoc filter variable &lt;code&gt;Filters&lt;/code&gt; with the filter value &lt;code&gt;job = metrictank/tsdb-gw&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;time-range-control-using-the-url&#34;&gt;Time range control using the URL&lt;/h2&gt;


&lt;div data-shared=&#34;dashboards/time-range-URLs.md&#34;&gt;
            &lt;p&gt;You can control the time range of a dashboard by providing the following query parameters in the dashboard URL:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;from&lt;/code&gt; - Defines the lower limit of the time range, specified in ms, epoch, or relative time.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;to&lt;/code&gt; - Defines the upper limit of the time range, specified in ms, epoch, or relative time.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;time&lt;/code&gt; and &lt;code&gt;time.window&lt;/code&gt; - Defines a time range from &lt;code&gt;time-time.window/2&lt;/code&gt; to &lt;code&gt;time&#43;time.window/2&lt;/code&gt;. Both parameters should be specified in &lt;code&gt;ms&lt;/code&gt;. For example &lt;code&gt;?time=1500000000000&amp;amp;time.window=10000&lt;/code&gt; results in a 10-second time range from 1499999995000 to 1500000005000`.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;timezone&lt;/code&gt; - Defines the time zone. For example &lt;code&gt;timezone=Europe/Madrid&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since these aren&amp;rsquo;t variables, they don&amp;rsquo;t require the &lt;code&gt;var-&lt;/code&gt; prefix.&lt;/p&gt;
&lt;p&gt;The following example shows a dashboard with the time range of the last five minutes:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;https://${your-domain}/path/to/your/dashboard?from=now-5m&amp;amp;to=now&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

        
&lt;h2 id=&#34;variables-in-dashboard-links&#34;&gt;Variables in dashboard links&lt;/h2&gt;
&lt;p&gt;When you create dashboard links the dashboard settings, you can have current dashboard variables included in the link by selecting that option:&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Dashboard link page with variables option selected&#34;width=&#34;658&#34;height=&#34;680&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-link-variables-11.1.png&#34;
            alt=&#34;Dashboard link page with variables option selected&#34;width=&#34;658&#34;height=&#34;680&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;For steps to add variables to dashboard links, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/manage-dashboard-links/&#34;&gt;Manage dashboard links&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="dashboard-url-variables">Dashboard URL variables&lt;/h1>
&lt;p>Dashboard URL
&lt;a href="/docs/grafana/v12.4/dashboards/variables/">variables&lt;/a> allow you to provide more context when you share a dashboard URL.&lt;/p>
&lt;p>For example, you could share a basic URL to your dashboard that looks like this:&lt;/p></description></item><item><title>Manage library panels</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/manage-library-panels/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/manage-library-panels/</guid><content><![CDATA[&lt;h1 id=&#34;manage-library-panels&#34;&gt;Manage library panels&lt;/h1&gt;
&lt;p&gt;A library panel is a reusable panel that you can use in any dashboard. When you make a change to a library panel, that change propagates to all instances of where the panel is used. Library panels streamline reuse of panels across multiple dashboards.&lt;/p&gt;
&lt;p&gt;You can save a library panel in a folder alongside saved dashboards.&lt;/p&gt;
&lt;h2 id=&#34;role-based-access-control&#34;&gt;Role-based access control&lt;/h2&gt;
&lt;p&gt;You can control permissions for library panels using 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/access-control/&#34;&gt;role-based access control (RBAC)&lt;/a&gt;. RBAC provides a standardized way of granting, changing, and revoking access when it comes to viewing and modifying Grafana resources, such as dashboards, reports, and administrative settings.&lt;/p&gt;
&lt;h2 id=&#34;create-a-library-panel&#34;&gt;Create a library panel&lt;/h2&gt;
&lt;p&gt;Library panels can be reused in different dashboards throughout Grafana. When you create a library panel, the panel on the source dashboard is converted to a library panel as well. You need to save the original dashboard once a panel is converted.&lt;/p&gt;
&lt;p&gt;To create a library panel, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the top-right corner of the dashboard, click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Hover over any part of the panel you want to share to display the actions menu on the top right corner.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;More &amp;gt; New library panel&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Library panel name&lt;/strong&gt; field, enter the name.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Save in folder&lt;/strong&gt; drop-down list, select the folder in which to save the library panel. By default, the root level is selected.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create library panel&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once created, you can modify the library panel using any dashboard on which it appears. After you save the changes, all instances of the library panel reflect these modifications.&lt;/p&gt;
&lt;h2 id=&#34;add-a-library-panel-to-a-dashboard&#34;&gt;Add a library panel to a dashboard&lt;/h2&gt;
&lt;p&gt;Add a Grafana library panel to a dashboard when you want to provide visualizations to other dashboard users.&lt;/p&gt;
&lt;p&gt;To add a library panel, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;New&lt;/strong&gt; and select &lt;strong&gt;New Dashboard&lt;/strong&gt; in the drop-down list.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the empty dashboard, click &lt;strong&gt;&#43; Add library panel&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Add panel from panel library&lt;/strong&gt; drawer opens.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Filter the list or search to find the panel you want to add.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click a panel to add it to the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;unlink-a-library-panel&#34;&gt;Unlink a library panel&lt;/h2&gt;
&lt;p&gt;Unlink a library panel when you want to make a change to the panel and not affect other instances of the library panel.&lt;/p&gt;
&lt;p&gt;To unlink a library panel, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Library panels&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select a library panel that is being used in dashboards.&lt;/li&gt;
&lt;li&gt;Click the panel you want to unlink.&lt;/li&gt;
&lt;li&gt;In the dialog box, select the dashboard from which you want to unlink the panel.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;View panel in &amp;lt;dashboard name&amp;gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Hover over any part of the panel you want to unlink to display the menu icon on the top-right corner.&lt;/li&gt;
&lt;li&gt;Click the menu icon and select &lt;strong&gt;More &amp;gt; Unlink library panel&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Yes, unlink&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt; and &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alternatively, if you know where the library panel is being used, you can go directly to that dashboard and start at step 7.&lt;/p&gt;
&lt;h2 id=&#34;replace-a-library-panel&#34;&gt;Replace a library panel&lt;/h2&gt;
&lt;p&gt;To replace a library panel with a different one, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Dashboards&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Library panels&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select a library panel that is being used in different dashboards.&lt;/li&gt;
&lt;li&gt;Click the panel you want to unlink.&lt;/li&gt;
&lt;li&gt;In the dialog box, select the dashboard from which you want to unlink the panel.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;View panel in &amp;lt;dashboard name&amp;gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Hover over any part of the panel you want to unlink to display the menu icon on the top-right corner.&lt;/li&gt;
&lt;li&gt;Click the menu icon and select &lt;strong&gt;More &amp;gt; Replace library panel&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the replacement library panel.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) Enter a description of the changes you&amp;rsquo;ve made.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt; and &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alternatively, if you know where the library panel that you want to replace is being used, you can go directly to that dashboard and start at step 7.&lt;/p&gt;
&lt;h2 id=&#34;view-a-list-of-library-panels&#34;&gt;View a list of library panels&lt;/h2&gt;
&lt;p&gt;You can view a list of available library panels and see where those panels are being used.&lt;/p&gt;
&lt;p&gt;To view and manage library panels, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Dashboards &amp;gt; Library panels&lt;/strong&gt; in the main menu.&lt;/p&gt;
&lt;p&gt;You can see a list of previously defined library panels.
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
       style=&#34;max-width: 900px;&#34;
       itemprop=&#34;associatedMedia&#34;
       itemscope=&#34;&#34;
       itemtype=&#34;http://schema.org/ImageObject&#34;
     &gt;&lt;a
           class=&#34;lightbox-link&#34;
           href=&#34;/media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png&#34;
           itemprop=&#34;contentUrl&#34;
         &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
             class=&#34;lazyload &#34;
             data-src=&#34;/media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png&#34;data-srcset=&#34;/media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=320 320w, /media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=550 550w, /media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=750 750w, /media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=900 900w, /media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=1040 1040w, /media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=1240 1240w, /media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Library panels page with list of library panels&#34;width=&#34;915&#34;height=&#34;431&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/media/docs/grafana/panels-visualizations/screenshot-library-panel-list-9-5.png&#34;
               alt=&#34;Library panels page with list of library panels&#34;width=&#34;915&#34;height=&#34;431&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Search for a specific library panel if you know its name.&lt;/p&gt;
&lt;p&gt;You can also filter the panels by folder or type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the panel to see if it&amp;rsquo;s being used in any dashboards.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) If the library panel is in use, select one of the dashboards using it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Click &lt;strong&gt;View panel in &amp;lt;dashboard name&amp;gt;&lt;/strong&gt; to see the panel in context.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;delete-a-library-panel&#34;&gt;Delete a library panel&lt;/h2&gt;
&lt;p&gt;To delete a library panel that you no longer need, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Dashboards &amp;gt; Library panels&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Click the delete icon next to the library panel name.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="manage-library-panels">Manage library panels&lt;/h1>
&lt;p>A library panel is a reusable panel that you can use in any dashboard. When you make a change to a library panel, that change propagates to all instances of where the panel is used. Library panels streamline reuse of panels across multiple dashboards.&lt;/p></description></item><item><title>Manage dashboard version history</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/manage-version-history/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/manage-version-history/</guid><content><![CDATA[&lt;h1 id=&#34;manage-dashboard-version-history&#34;&gt;Manage dashboard version history&lt;/h1&gt;
&lt;p&gt;Whenever you save a version of your dashboard, a copy of that version is saved so that previous versions of your dashboard are never lost. You can see a list of dashboard versions in the &lt;strong&gt;Versions&lt;/strong&gt; tab of the dashboard settings:&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-version-list-11.2.png&#34;
  alt=&#34;Dashboards versions list&#34; width=&#34;1154&#34;
     height=&#34;409&#34;/&gt;&lt;/p&gt;
&lt;p&gt;The dashboard version history feature lets you compare dashboards and restore previously saved dashboard versions. Grafana saves 20 versions by default. To change this limit, configure the 
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-grafana/#dashboards&#34;&gt;&lt;code&gt;[dashboards] versions_to_keep&lt;/code&gt;&lt;/a&gt; setting.&lt;/p&gt;
&lt;h2 id=&#34;compare-two-dashboard-versions&#34;&gt;Compare two dashboard versions&lt;/h2&gt;
&lt;p&gt;To compare two dashboard versions, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Go to the &lt;strong&gt;Versions&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Select the two dashboard versions that you want to compare.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Compare versions&lt;/strong&gt; to view the diff between the two versions.&lt;/li&gt;
&lt;li&gt;Review the text descriptions of the differences between the versions.&lt;/li&gt;
&lt;li&gt;(Optional) Expand the &lt;strong&gt;View JSON Diff&lt;/strong&gt; section of the page to see the diff of the raw JSON that represents your dashboard.&lt;/li&gt;
&lt;li&gt;When you&amp;rsquo;ve finished comparing versions, click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you&amp;rsquo;re comparing versions, if one of the versions you&amp;rsquo;ve selected is the latest version, a button to restore the previous version is also displayed, so you can restore a version from the compare view:&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/dashboards/screenshot-dashboard-compare-versions-restore-11.2.png&#34;
  alt=&#34;Dashboards versions diff&#34; width=&#34;1032&#34;
     height=&#34;420&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;restore-a-previously-dashboard-version&#34;&gt;Restore a previously dashboard version&lt;/h2&gt;
&lt;p&gt;To restore to a previously saved dashboard version, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Go to the &lt;strong&gt;Versions&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Restore&lt;/strong&gt; button next to the version.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you restore a version, the dashboard is immediately saved and you&amp;rsquo;re no longer in edit mode.&lt;/p&gt;
&lt;p&gt;After you restore a previous version, a new version of the dashboard is created containing the same exact data as the previous version, but with a different version number. This is indicated in the &lt;strong&gt;Notes column&lt;/strong&gt; in the &lt;strong&gt;Versions&lt;/strong&gt; tab of the dashboard settings. This is done simply to ensure your previous dashboard versions are not affected by the change.&lt;/p&gt;
]]></content><description>&lt;h1 id="manage-dashboard-version-history">Manage dashboard version history&lt;/h1>
&lt;p>Whenever you save a version of your dashboard, a copy of that version is saved so that previous versions of your dashboard are never lost. You can see a list of dashboard versions in the &lt;strong>Versions&lt;/strong> tab of the dashboard settings:&lt;/p></description></item><item><title>Annotate visualizations</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/annotate-visualizations/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/annotate-visualizations/</guid><content><![CDATA[&lt;h1 id=&#34;annotate-visualizations&#34;&gt;Annotate visualizations&lt;/h1&gt;
&lt;p&gt;Annotations provide a way to mark points on a visualization with rich events. They are visualized as vertical lines and icons on all graph panels. When you hover over an annotation, you can get event description and event tags. The text field can include links to other systems with more detail.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 800px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/v46/annotations.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/v46/annotations.png&#34;data-srcset=&#34;/static/img/docs/v46/annotations.png?w=320 320w, /static/img/docs/v46/annotations.png?w=550 550w, /static/img/docs/v46/annotations.png?w=750 750w, /static/img/docs/v46/annotations.png?w=900 900w, /static/img/docs/v46/annotations.png?w=1040 1040w, /static/img/docs/v46/annotations.png?w=1240 1240w, /static/img/docs/v46/annotations.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Annotated visualization with annotation context menu open&#34;width=&#34;746&#34;height=&#34;293&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v46/annotations.png&#34;
            alt=&#34;Annotated visualization with annotation context menu open&#34;width=&#34;746&#34;height=&#34;293&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;You can annotate visualizations in three ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Directly in the panel, using the &lt;a href=&#34;#built-in-query&#34;&gt;built-in annotations query&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Using the HTTP API&lt;/li&gt;
&lt;li&gt;Configuring annotation queries in the dashboard settings&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the first two cases, you&amp;rsquo;re creating new annotations, while in the last you&amp;rsquo;re querying existing annotations from data sources. The built-in annotation query also supports this.&lt;/p&gt;
&lt;p&gt;This page explains the first and third options; for information about using the HTTP API, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/annotations/&#34;&gt;Annotations API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Annotations are supported for the following visualization types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Time series&lt;/li&gt;
&lt;li&gt;State timeline&lt;/li&gt;
&lt;li&gt;Candlestick&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-annotations-in-panels&#34;&gt;Create annotations in panels&lt;/h2&gt;
&lt;p&gt;Grafana comes with the ability to add annotation events directly from a panel using the &lt;a href=&#34;#built-in-query&#34;&gt;built-in annotation query&lt;/a&gt; that exists on all dashboards. Annotations that you create this way are stored in Grafana.&lt;/p&gt;
&lt;p&gt;To add annotations directly in the panel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The dashboard must already be saved.&lt;/li&gt;
&lt;li&gt;The built-in query must be enabled. Learn more in &lt;a href=&#34;#built-in-query&#34;&gt;Built-in query&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch the following video for a quick tutorial on creating annotations:&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#39;https://www.youtube.com/embed/N5iOlyYyK6Q&#39; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;h3 id=&#34;add-an-annotation&#34;&gt;Add an annotation&lt;/h3&gt;
&lt;p&gt;To add an annotation, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;If you&amp;rsquo;ve just saved a dashboard, refresh the page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the panel to which you&amp;rsquo;re adding the annotation.&lt;/p&gt;
&lt;p&gt;A context menu appears.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the context menu, click &lt;strong&gt;Add annotation&lt;/strong&gt;.
&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/time-series-panel/time-series-annotations-context-menu.png&#34;
  alt=&#34;Add annotation context menu&#34; width=&#34;1976&#34;
     height=&#34;1188&#34;/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add an annotation description and tags (optional).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alternatively, to add an annotation, press Ctrl/Cmd and click the panel, and the &lt;strong&gt;Add annotation&lt;/strong&gt; context menu appears.&lt;/p&gt;
&lt;h3 id=&#34;add-a-region-annotation&#34;&gt;Add a region annotation&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;If you&amp;rsquo;ve just saved a dashboard, refresh the page.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Press Ctrl/Cmd and click and drag on the panel.
&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/time-series-panel/time-series-annotations-add-region-annotation.gif&#34;
  alt=&#34;Add annotation popover&#34; width=&#34;1280&#34;
     height=&#34;942&#34;/&gt;&lt;/li&gt;
&lt;li&gt;Add an annotation description and tags (optional).&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;edit-an-annotation&#34;&gt;Edit an annotation&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Hover over the annotation indicator on the panel.&lt;/li&gt;
&lt;li&gt;Click the pencil icon in the annotation tooltip.&lt;/li&gt;
&lt;li&gt;Modify the description and tags.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;delete-an-annotation&#34;&gt;Delete an annotation&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Hover over the annotation indicator on the panel.&lt;/li&gt;
&lt;li&gt;Click the trash icon in the annotation tooltip.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;fetch-annotations-through-dashboard-settings&#34;&gt;Fetch annotations through dashboard settings&lt;/h2&gt;
&lt;p&gt;In the dashboard settings, under &lt;strong&gt;Annotations&lt;/strong&gt;, you can add new queries to fetch annotations using any data source, including the built-in data annotation data source. Annotation queries return events that can be visualized as event markers in graphs across the dashboard.&lt;/p&gt;
&lt;p&gt;Check out the video below for a quick tutorial.&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#39;https://www.youtube.com/embed/2istdJpPj2Y&#39; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;h3 id=&#34;add-new-annotation-queries&#34;&gt;Add new annotation queries&lt;/h3&gt;
&lt;p&gt;To add a new annotation query to a dashboard, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; page, go to the &lt;strong&gt;Annotations&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Add annotation query&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve added a query before, the &lt;strong&gt;&#43; New query&lt;/strong&gt; button is displayed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a name for the annotation query.&lt;/p&gt;
&lt;p&gt;This name is given to the toggle (checkbox) that allows you to enable/disable showing annotation events from this query.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select the data source for the annotations.&lt;/p&gt;
&lt;p&gt;You can also click &lt;strong&gt;Open advanced data source picker&lt;/strong&gt; to see more options, including adding a data source (Admins only).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you don&amp;rsquo;t want to use the annotation query right away, clear the &lt;strong&gt;Enabled&lt;/strong&gt; checkbox.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select one of the following options in the &lt;strong&gt;Show annotation controls in&lt;/strong&gt; drop-down list to control where annotations are displayed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Above dashboard&lt;/strong&gt; - The annotation toggle is displayed above the dashboard. This is the default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Controls menu&lt;/strong&gt; - The annotation toggle is displayed in the dashboard controls menu instead of above the dashboard. The dashboard controls menu appears as a button in the dashboard toolbar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hidden&lt;/strong&gt; - The annotation toggle is not displayed on the dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a color for the event markers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Show in&lt;/strong&gt; drop-down, choose one of the following options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;All panels&lt;/strong&gt; - The annotations are displayed on all panels that support annotations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Selected panels&lt;/strong&gt; - The annotations are displayed on all the panels you select.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;All panels except&lt;/strong&gt; - The annotations are displayed on all panels except the ones you select.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
       style=&#34;max-width: 600px;&#34;
       itemprop=&#34;associatedMedia&#34;
       itemscope=&#34;&#34;
       itemtype=&#34;http://schema.org/ImageObject&#34;
     &gt;&lt;a
           class=&#34;lightbox-link captioned&#34;
           href=&#34;/media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png&#34;
           itemprop=&#34;contentUrl&#34;
         &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
             class=&#34;lazyload mb-0&#34;
             data-src=&#34;/media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Annotation filtering&#34;width=&#34;552&#34;height=&#34;186&#34;title=&#34;Annotation filtering&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/media/docs/grafana/dashboards/screenshot-annotation-filtering-10-v2.png&#34;
               alt=&#34;Annotation filtering&#34;width=&#34;552&#34;height=&#34;186&#34;title=&#34;Annotation filtering&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Annotation filtering&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To create a query, do one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write or construct a query in the query language of your data source. The annotation query options are different for each data source. For information about annotations in a specific data source, refer to the specific 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/&#34;&gt;data source&lt;/a&gt; topic.&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Saved queries&lt;/strong&gt; drop-down menu and click &lt;strong&gt;Replace query&lt;/strong&gt; to reuse a 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/query-transform-data/#saved-queries&#34;&gt;saved query&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) To 
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/query-transform-data/#save-a-query&#34;&gt;save the query&lt;/a&gt; for reuse, open the &lt;strong&gt;Saved queries&lt;/strong&gt; drop-down menu and click the &lt;strong&gt;Save query&lt;/strong&gt; option.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Click &lt;strong&gt;Test annotation query&lt;/strong&gt; to ensure that the query is working properly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) To add subsequent queries, click &lt;strong&gt;&#43; Add query&lt;/strong&gt; or &lt;strong&gt;&#43; Add from saved queries&lt;/strong&gt;, and test them as many times as needed.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/visualizations/panels-visualizations/query-transform-data/#saved-queries&#34;&gt;Saved queries&lt;/a&gt; is currently in &lt;a href=&#34;/docs/release-life-cycle/&#34;&gt;public preview&lt;/a&gt; in Grafana Enterprise and Grafana Cloud only.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;built-in-query&#34;&gt;Built-in query&lt;/h2&gt;
&lt;p&gt;After you add an annotation, they are still visible. This is due to the built-in annotation query that exists on all dashboards. This annotation query fetches all annotation events that originate from the current dashboard, which are stored in Grafana, and show them on the panel where they were created. This includes alert state history annotations.&lt;/p&gt;
&lt;p&gt;By default, the built-in annotation query uses the &lt;code&gt;-- Grafana --&lt;/code&gt; special data source, and manual annotations are only supported using this data source. You can use another data source in the built-in annotation query, but you&amp;rsquo;ll only be able to create automated annotations using the query editor for that data source.&lt;/p&gt;
&lt;p&gt;To add annotations directly to the dashboard, this query must be enabled.&lt;/p&gt;
&lt;p&gt;To confirm if the built-in query is enabled, take the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; page, go to the &lt;strong&gt;Annotations&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Find the &lt;strong&gt;Annotations &amp;amp; Alerts (Built-in)&lt;/strong&gt; query.&lt;/p&gt;
&lt;p&gt;If it says &lt;strong&gt;Disabled&lt;/strong&gt; before the name of the query, then you&amp;rsquo;ll need to click the query name to open it and update the setting.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can stop annotations from being fetched and drawn by taking the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the dashboard settings (gear) icon in the dashboard header to open the settings menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Annotations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Find and click the &lt;strong&gt;Annotations &amp;amp; Alerts (Built-in)&lt;/strong&gt; query to open it.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Enabled&lt;/strong&gt; toggle to turn it off.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you copy a dashboard using the &lt;strong&gt;Save As&lt;/strong&gt; feature it gets a new dashboard id, so annotations created on the source dashboard is no longer be visible on the copy. You can still show them if you add a new &lt;strong&gt;Annotation Query&lt;/strong&gt; and filter by tags. However, this only works if the annotations on the source dashboard had tags to filter by.&lt;/p&gt;
&lt;p&gt;Following are some query options specific to the built-in annotation query.&lt;/p&gt;
&lt;h3 id=&#34;filter-queries-by-tag&#34;&gt;Filter queries by tag&lt;/h3&gt;
&lt;p&gt;You can create new queries to fetch annotations from the built-in annotation query using the &lt;code&gt;-- Grafana --&lt;/code&gt; data source by setting &lt;em&gt;Filter by&lt;/em&gt; to &lt;code&gt;Tags&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Grafana also supports typeahead of existing tags, provide at least one tag.&lt;/p&gt;
&lt;p&gt;For example, create an annotation query name &lt;code&gt;outages&lt;/code&gt; and specify a tag &lt;code&gt;outage&lt;/code&gt;. This query shows all annotations (from any dashboard or via API) with the &lt;code&gt;outage&lt;/code&gt; tag. If multiple tags are defined in an annotation query, then Grafana only shows annotations matching all the tags. To modify the behavior, enable &lt;code&gt;Match any&lt;/code&gt;, and Grafana shows annotations that contain any one of the tags you provided.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;If you enable &lt;strong&gt;Display annotations&lt;/strong&gt; on an externally shared dashboard that uses tag-based annotation queries, those queries return matching annotations from &lt;em&gt;all dashboards&lt;/em&gt; in the organization. This means annotations from dashboards that are not shared externally are visible to anyone with access to the shared dashboard. This is by design. Review which annotations might match your tags before enabling this option on a shared dashboard.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Annotation query options&#34;width=&#34;520&#34;height=&#34;403&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-annotations-typeahead-support-10.0.png&#34;
            alt=&#34;Annotation query options&#34;width=&#34;520&#34;height=&#34;403&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;You can also use template variables in the tag query. This means if you have a dashboard showing stats for different services and a template variable that dictates which services to show, you can use the same template variable in your annotation query to only show annotations for those services.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Annotation query options with a template variable query tag&#34;width=&#34;533&#34;height=&#34;447&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-annotation-tag-filter-variable-10.0.png&#34;
            alt=&#34;Annotation query options with a template variable query tag&#34;width=&#34;533&#34;height=&#34;447&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;add-time-regions&#34;&gt;Add time regions&lt;/h3&gt;
&lt;p&gt;When adding or editing an annotation, you can define a repeating time region by setting &lt;strong&gt;Query type&lt;/strong&gt; to &lt;strong&gt;Time regions&lt;/strong&gt;. Then, define the &lt;strong&gt;From&lt;/strong&gt; and &lt;strong&gt;To&lt;/strong&gt; sections with the preferred days of the week and time. You also have the option to change the timezone, which is set to the dashboard&amp;rsquo;s timezone, by default.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Time regions options set to business hours&#34;width=&#34;506&#34;height=&#34;407&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-annotation-timeregions-10-v2.png&#34;
            alt=&#34;Time regions options set to business hours&#34;width=&#34;506&#34;height=&#34;407&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The above configuration produces the following result in the Time series panel:&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png&#34;data-srcset=&#34;/media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=320 320w, /media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=550 550w, /media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=750 750w, /media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=900 900w, /media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=1040 1040w, /media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=1240 1240w, /media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Time series visualization with time regions business hours&#34;width=&#34;2406&#34;height=&#34;746&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png&#34;
            alt=&#34;Time series visualization with time regions business hours&#34;width=&#34;2406&#34;height=&#34;746&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;Toggle the &lt;strong&gt;Advanced&lt;/strong&gt; switch and use &lt;a href=&#34;https://en.wikipedia.org/wiki/Cron&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Cron syntax&lt;/a&gt; to set more granular time region controls. The following example sets a time region of 9:00 AM, Monday to Friday:&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png&#34;data-srcset=&#34;/media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=320 320w, /media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=550 550w, /media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=750 750w, /media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=900 900w, /media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=1040 1040w, /media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=1240 1240w, /media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Time region query with cron syntax&#34;width=&#34;768&#34;height=&#34;574&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/dashboards/screenshot-annotations-cron-option-v11.6.png&#34;
            alt=&#34;Time region query with cron syntax&#34;width=&#34;768&#34;height=&#34;574&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
]]></content><description>&lt;h1 id="annotate-visualizations">Annotate visualizations&lt;/h1>
&lt;p>Annotations provide a way to mark points on a visualization with rich events. They are visualized as vertical lines and icons on all graph panels. When you hover over an annotation, you can get event description and event tags. The text field can include links to other systems with more detail.&lt;/p></description></item><item><title>JSON model</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/view-dashboard-json-model/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/view-dashboard-json-model/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-json-model&#34;&gt;Dashboard JSON model&lt;/h1&gt;
&lt;p&gt;A dashboard in Grafana is represented by a JSON object, which stores metadata of its dashboard. Dashboard metadata includes dashboard properties, metadata from panels, template variables, panel queries, etc.&lt;/p&gt;
&lt;p&gt;To view the JSON of a dashboard:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt; in the top-right corner of the dashboard.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Go to the &lt;strong&gt;JSON Model&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;When you&amp;rsquo;ve finished viewing the JSON, click &lt;strong&gt;Back to dashboard&lt;/strong&gt; and &lt;strong&gt;Exit edit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;json-fields&#34;&gt;JSON fields&lt;/h2&gt;
&lt;p&gt;When a user creates a new dashboard, a new dashboard JSON object is initialized with the following fields:&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;In the following JSON, id is shown as null which is the default value assigned to it until a dashboard is saved. Once a dashboard is saved, an integer value is assigned to the &lt;code&gt;id&lt;/code&gt; field.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;


&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;id&amp;#34;: null,
  &amp;#34;uid&amp;#34;: &amp;#34;cLV5GDCkz&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;New dashboard&amp;#34;,
  &amp;#34;tags&amp;#34;: [],
  &amp;#34;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
  &amp;#34;editable&amp;#34;: true,
  &amp;#34;graphTooltip&amp;#34;: 1,
  &amp;#34;panels&amp;#34;: [],
  &amp;#34;time&amp;#34;: {
    &amp;#34;from&amp;#34;: &amp;#34;now-6h&amp;#34;,
    &amp;#34;to&amp;#34;: &amp;#34;now&amp;#34;
  },
  &amp;#34;timepicker&amp;#34;: {
    &amp;#34;refresh_intervals&amp;#34;: []
  },
  &amp;#34;templating&amp;#34;: {
    &amp;#34;list&amp;#34;: []
  },
  &amp;#34;annotations&amp;#34;: {
    &amp;#34;list&amp;#34;: []
  },
  &amp;#34;refresh&amp;#34;: &amp;#34;5s&amp;#34;,
  &amp;#34;schemaVersion&amp;#34;: 17,
  &amp;#34;version&amp;#34;: 0,
  &amp;#34;links&amp;#34;: []
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Each field in the dashboard JSON is explained below with its usage:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Usage&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;id&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;unique numeric identifier for the dashboard. (generated by the db)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;uid&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;unique dashboard identifier that can be generated by anyone. string (8-40)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;title&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;current title of dashboard&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;tags&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;tags associated with dashboard, an array of strings&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;style&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;theme of dashboard, i.e. &lt;code&gt;dark&lt;/code&gt; or &lt;code&gt;light&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;timezone&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;timezone of dashboard, i.e. &lt;code&gt;utc&lt;/code&gt; or &lt;code&gt;browser&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;editable&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether a dashboard is editable or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;graphTooltip&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;0 for no shared crosshair or tooltip (default), 1 for shared crosshair, 2 for shared crosshair AND shared tooltip&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;time&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;time range for dashboard, i.e. last 6 hours, last 7 days, etc&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;timepicker&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;timepicker metadata, see &lt;a href=&#34;#timepicker&#34;&gt;timepicker section&lt;/a&gt; for details&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;templating&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;templating metadata, see &lt;a href=&#34;#templating&#34;&gt;templating section&lt;/a&gt; for details&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;annotations&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;annotations metadata, see 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/annotate-visualizations/&#34;&gt;annotations&lt;/a&gt; for how to add them&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;refresh&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;auto-refresh interval&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;schemaVersion&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;version of the JSON schema (integer), incremented each time a Grafana update brings changes to said schema&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;version&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;version of the dashboard (integer), incremented each time the dashboard is updated&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;panels&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;panels array, see below for detail.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;panels&#34;&gt;Panels&lt;/h2&gt;
&lt;p&gt;Panels are the building blocks of a dashboard. It consists of data source queries, type of graphs, aliases, etc. Panel JSON consists of an array of JSON objects, each representing a different panel. Most of the fields are common for all panels but some fields depend on the panel type. Following is an example of panel JSON of a text panel.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;&amp;#34;panels&amp;#34;: [
  {
    &amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Panel Title&amp;#34;,
    &amp;#34;gridPos&amp;#34;: {
      &amp;#34;x&amp;#34;: 0,
      &amp;#34;y&amp;#34;: 0,
      &amp;#34;w&amp;#34;: 12,
      &amp;#34;h&amp;#34;: 9
    },
    &amp;#34;id&amp;#34;: 4,
    &amp;#34;mode&amp;#34;: &amp;#34;markdown&amp;#34;,
    &amp;#34;content&amp;#34;: &amp;#34;# title&amp;#34;
  }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;panel-size-and-position&#34;&gt;Panel size and position&lt;/h3&gt;
&lt;p&gt;The gridPos property describes the panel size and position in grid coordinates.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;w&lt;/code&gt; 1-24 (the width of the dashboard is divided into 24 columns)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;h&lt;/code&gt; In grid height units, each represents 30 pixels.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x&lt;/code&gt; The x position, in same unit as &lt;code&gt;w&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;y&lt;/code&gt; The y position, in same unit as &lt;code&gt;h&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The grid has a negative gravity that moves panels up if there is empty space above a panel.&lt;/p&gt;
&lt;h3 id=&#34;timepicker&#34;&gt;timepicker&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;&amp;#34;timepicker&amp;#34;: {
    &amp;#34;collapse&amp;#34;: false,
    &amp;#34;enable&amp;#34;: true,
    &amp;#34;notice&amp;#34;: false,
    &amp;#34;now&amp;#34;: true,
    &amp;#34;hidden&amp;#34;: false,
    &amp;#34;nowDelay&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;quick_ranges&amp;#34;: [
      {
        &amp;#34;display&amp;#34;: &amp;#34;Last 6 hours&amp;#34;,
        &amp;#34;from&amp;#34;: &amp;#34;now-6h&amp;#34;,
        &amp;#34;to&amp;#34;: &amp;#34;now&amp;#34;
      },
      {
        &amp;#34;display&amp;#34;: &amp;#34;Last 7 days&amp;#34;,
        &amp;#34;from&amp;#34;: &amp;#34;now-7d&amp;#34;,
        &amp;#34;to&amp;#34;: &amp;#34;now&amp;#34;
      }
    ],
    &amp;#34;refresh_intervals&amp;#34;: [
      &amp;#34;5s&amp;#34;,
      &amp;#34;10s&amp;#34;,
      &amp;#34;30s&amp;#34;,
      &amp;#34;1m&amp;#34;,
      &amp;#34;5m&amp;#34;,
      &amp;#34;15m&amp;#34;,
      &amp;#34;30m&amp;#34;,
      &amp;#34;1h&amp;#34;,
      &amp;#34;2h&amp;#34;,
      &amp;#34;1d&amp;#34;
    ],
    &amp;#34;status&amp;#34;: &amp;#34;Stable&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;timepicker&amp;#34;
  }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Usage of the fields is explained below:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Usage&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;collapse&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether timepicker is collapsed or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;enable&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether timepicker is enabled or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;notice&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;now&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;hidden&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether timepicker is hidden or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;nowDelay&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;override the now time by entering a time delay. Use this option to accommodate known delays in data aggregation to avoid null values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;quick_ranges&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;custom quick ranges&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;refresh_intervals&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;interval options available in the refresh picker dropdown&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;status&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;type&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;templating&#34;&gt;templating&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;templating&lt;/code&gt; field contains an array of template variables with their saved values along with some other metadata, for example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt; &amp;#34;templating&amp;#34;: {
    &amp;#34;enable&amp;#34;: true,
    &amp;#34;list&amp;#34;: [
      {
        &amp;#34;allFormat&amp;#34;: &amp;#34;wildcard&amp;#34;,
        &amp;#34;current&amp;#34;: {
          &amp;#34;tags&amp;#34;: [],
          &amp;#34;text&amp;#34;: &amp;#34;prod&amp;#34;,
          &amp;#34;value&amp;#34;: &amp;#34;prod&amp;#34;
        },
        &amp;#34;datasource&amp;#34;: null,
        &amp;#34;includeAll&amp;#34;: true,
        &amp;#34;name&amp;#34;: &amp;#34;env&amp;#34;,
        &amp;#34;options&amp;#34;: [
          {
            &amp;#34;selected&amp;#34;: false,
            &amp;#34;text&amp;#34;: &amp;#34;All&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;*&amp;#34;
          },
          {
            &amp;#34;selected&amp;#34;: false,
            &amp;#34;text&amp;#34;: &amp;#34;stage&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;stage&amp;#34;
          },
          {
            &amp;#34;selected&amp;#34;: false,
            &amp;#34;text&amp;#34;: &amp;#34;test&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;test&amp;#34;
          }
        ],
        &amp;#34;query&amp;#34;: &amp;#34;tag_values(cpu.utilization.average,env)&amp;#34;,
        &amp;#34;refresh&amp;#34;: false,
        &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;
      },
      {
        &amp;#34;allFormat&amp;#34;: &amp;#34;wildcard&amp;#34;,
        &amp;#34;current&amp;#34;: {
          &amp;#34;text&amp;#34;: &amp;#34;apache&amp;#34;,
          &amp;#34;value&amp;#34;: &amp;#34;apache&amp;#34;
        },
        &amp;#34;datasource&amp;#34;: null,
        &amp;#34;includeAll&amp;#34;: false,
        &amp;#34;multi&amp;#34;: false,
        &amp;#34;multiFormat&amp;#34;: &amp;#34;glob&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;app&amp;#34;,
        &amp;#34;options&amp;#34;: [
          {
            &amp;#34;selected&amp;#34;: true,
            &amp;#34;text&amp;#34;: &amp;#34;tomcat&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;tomcat&amp;#34;
          },
          {
            &amp;#34;selected&amp;#34;: false,
            &amp;#34;text&amp;#34;: &amp;#34;cassandra&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;cassandra&amp;#34;
          }
        ],
        &amp;#34;query&amp;#34;: &amp;#34;tag_values(cpu.utilization.average,app)&amp;#34;,
        &amp;#34;refresh&amp;#34;: false,
        &amp;#34;regex&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;
      }
    ]
  }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Usage of the above mentioned fields in the templating section is explained below:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Usage&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;enable&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether templating is enabled or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;list&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;an array of objects each representing one template variable&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;allFormat&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;format to use while fetching all values from data source, eg: &lt;code&gt;wildcard&lt;/code&gt;, &lt;code&gt;glob&lt;/code&gt;, &lt;code&gt;regex&lt;/code&gt;, &lt;code&gt;pipe&lt;/code&gt;, etc.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;current&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;shows current selected variable text/value on the dashboard&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;data source&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;shows data source for the variables&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;includeAll&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether all value option is available or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;multi&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether multiple values can be selected or not from variable value list&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;multiFormat&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;format to use while fetching timeseries from data source&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;name of variable&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;array of variable text/value pairs available for selection on dashboard&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;query&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;data source query used to fetch values for a variable&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;refresh&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;configures when to refresh a variable&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;regex&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;extracts part of a series name or metric node segment&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;type&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;type of variable, i.e. &lt;code&gt;custom&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt; or &lt;code&gt;interval&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="dashboard-json-model">Dashboard JSON model&lt;/h1>
&lt;p>A dashboard in Grafana is represented by a JSON object, which stores metadata of its dashboard. Dashboard metadata includes dashboard properties, metadata from panels, template variables, panel queries, etc.&lt;/p></description></item><item><title>Grafana dashboard best practices</title><link>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/best-practices/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/visualizations/dashboards/build-dashboards/best-practices/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-dashboard-best-practices&#34;&gt;Grafana dashboard best practices&lt;/h1&gt;
&lt;p&gt;This section provides information about best practices for intermediate Grafana administrators and users about how to build and maintain Grafana dashboards.&lt;/p&gt;
&lt;p&gt;For more information about the different kinds of dashboards you can create, refer to &lt;a href=&#34;/blog/2022/06/06/grafana-dashboards-a-complete-guide-to-all-the-different-types-you-can-build/?pg=webinar-getting-started-with-grafana-dashboard-design-amer&amp;amp;plcmt=related-content-1&#34;&gt;Grafana dashboards: A complete guide to all the different types you can build&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;common-observability-strategies&#34;&gt;Common observability strategies&lt;/h2&gt;
&lt;p&gt;When you have a lot to monitor, like a server farm, you need a strategy to decide what is important enough to monitor. This page describes several common methods for choosing what to monitor.&lt;/p&gt;
&lt;p&gt;A logical strategy allows you to make uniform dashboards and scale your observability platform more easily.&lt;/p&gt;
&lt;h3 id=&#34;guidelines-for-usage&#34;&gt;Guidelines for usage&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The USE method tells you how happy your machines are, the RED method tells you how happy your users are.&lt;/li&gt;
&lt;li&gt;USE reports on causes of issues.&lt;/li&gt;
&lt;li&gt;RED reports on user experience and is more likely to report symptoms of problems.&lt;/li&gt;
&lt;li&gt;The best practice of alerting is to alert on symptoms rather than causes, so alerting should be done on RED dashboards.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;use-method&#34;&gt;USE method&lt;/h3&gt;
&lt;p&gt;USE stands for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Utilization -&lt;/strong&gt; Percent time the resource is busy, such as node CPU usage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Saturation -&lt;/strong&gt; Amount of work a resource has to do, often queue length or node load&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Errors -&lt;/strong&gt; Count of error events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This method is best for hardware resources in infrastructure, such as CPU, memory, and network devices. For more information, refer to &lt;a href=&#34;http://www.brendangregg.com/usemethod.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;The USE Method&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;red-method&#34;&gt;RED method&lt;/h3&gt;
&lt;p&gt;RED stands for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rate -&lt;/strong&gt; Requests per second&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Errors -&lt;/strong&gt; Number of requests that are failing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duration -&lt;/strong&gt; Amount of time these requests take, distribution of latency measurements&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This method is most applicable to services, especially a microservices environment. For each of your services, instrument the code to expose these metrics for each component. RED dashboards are good for alerting and SLAs. A well-designed RED dashboard is a proxy for user experience.&lt;/p&gt;
&lt;p&gt;For more information, refer to Tom Wilkie&amp;rsquo;s blog post &lt;a href=&#34;/blog/2018/08/02/the-red-method-how-to-instrument-your-services&#34;&gt;The RED method: How to instrument your services&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;the-four-golden-signals&#34;&gt;The Four Golden Signals&lt;/h3&gt;
&lt;p&gt;According to the &lt;a href=&#34;https://landing.google.com/sre/sre-book/chapters/monitoring-distributed-systems/#xref_monitoring_golden-signals&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Google SRE handbook&lt;/a&gt;, if you can only measure four metrics of your user-facing system, focus on these four.&lt;/p&gt;
&lt;p&gt;This method is similar to the RED method, but it includes saturation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Latency -&lt;/strong&gt; Time taken to serve a request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traffic -&lt;/strong&gt; How much demand is placed on your system&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Errors -&lt;/strong&gt; Rate of requests that are failing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Saturation -&lt;/strong&gt; How &amp;ldquo;full&amp;rdquo; your system is&lt;/li&gt;
&lt;/ul&gt;




  &lt;div class=&#34;d-sm-flex flex-direction-row-reverse bg-gray-1 br-12 p-2 my-1&#34;&gt;
    &lt;img class=&#34;mb-1 lazyload&#34; data-src=&#34;/media/docs/icons/docs-play.svg&#34; width=&#34;228&#34; height=&#34;182&#34; alt=&#34;Give it a try using Grafana Play&#34;&gt;
    &lt;div&gt;
      &lt;div class=&#34;h4 pt-0 pb-half fw-500&#34;&gt;Give it a try using Grafana Play&lt;/div&gt;
      &lt;p class=&#34;pr-1 pb-half&#34;&gt;With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development.
This feature can be seen on &lt;a href=&#34;https://play.grafana.org/d/000000109/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;The Four Golden Signals&lt;/a&gt;.&lt;/p&gt;
      &lt;div class=&#34;mx-auto&#34;&gt;
        &lt;a class=&#34;btn btn--primary btn--large arrow fw-600 br-8 w-175&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34; href=&#34;https://play.grafana.org/d/000000109/&#34;&gt;Try it&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

&lt;h2 id=&#34;dashboard-management-maturity-model&#34;&gt;Dashboard management maturity model&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Dashboard management maturity&lt;/em&gt; refers to how well-designed and efficient your dashboard ecosystem is. It&amp;rsquo;s recommended that you periodically review your dashboard setup to gauge where you are and how you can improve.&lt;/p&gt;
&lt;p&gt;Broadly speaking, dashboard maturity can be defined as low, medium, or high.&lt;/p&gt;
&lt;p&gt;Much of the content for this topic was taken from the KubeCon 2019 talk &lt;a href=&#34;https://www.youtube.com/watch?v=YE2aQFiMGfY&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Fool-Proof Kubernetes Dashboards for Sleep-Deprived Oncalls&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;low---default-state&#34;&gt;Low - default state&lt;/h3&gt;
&lt;p&gt;At this stage, you have no coherent dashboard management strategy. Almost everyone starts here.&lt;/p&gt;
&lt;p&gt;How can you tell you are here?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Everyone can modify your dashboards.&lt;/li&gt;
&lt;li&gt;Lots of copied dashboards, little to no dashboard reuse.&lt;/li&gt;
&lt;li&gt;One-off dashboards that hang around forever.&lt;/li&gt;
&lt;li&gt;No version control (dashboard JSON in version control).&lt;/li&gt;
&lt;li&gt;Lots of browsing for dashboards, searching for the right dashboard. This means lots of wasted time trying to find the dashboard you need.&lt;/li&gt;
&lt;li&gt;Not having any alerts to direct you to the right dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;medium---methodical-dashboards&#34;&gt;Medium - methodical dashboards&lt;/h3&gt;
&lt;p&gt;At this stage, you are starting to manage your dashboard use with methodical dashboards. You might have laid out a strategy, but there are some things you could improve.&lt;/p&gt;
&lt;p&gt;How can you tell you are here?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Prevent sprawl by using template variables. For example, you don&amp;rsquo;t need a separate dashboard for each node, you can use query variables. Even better, you can make the data source a template variable too, so you can reuse the same dashboard across different clusters and monitoring backends.&lt;/p&gt;
&lt;p&gt;Refer to the list of 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/variables/#examples-of-templates-and-variables&#34;&gt;Variable examples&lt;/a&gt; if you want some ideas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Methodical dashboards according to an &lt;a href=&#34;#common-observability-strategies&#34;&gt;observability strategy&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hierarchical dashboards with drill-downs to the next level.&lt;/p&gt;
&lt;figure
      class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
      style=&#34;max-width: 100%;&#34;
      itemprop=&#34;associatedMedia&#34;
      itemscope=&#34;&#34;
      itemtype=&#34;http://schema.org/ImageObject&#34;
    &gt;&lt;a
          class=&#34;lightbox-link captioned&#34;
          href=&#34;/static/img/docs/best-practices/drill-down-example.png&#34;
          itemprop=&#34;contentUrl&#34;
        &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
            class=&#34;lazyload mb-0&#34;
            data-src=&#34;/static/img/docs/best-practices/drill-down-example.png&#34;data-srcset=&#34;/static/img/docs/best-practices/drill-down-example.png?w=320 320w, /static/img/docs/best-practices/drill-down-example.png?w=550 550w, /static/img/docs/best-practices/drill-down-example.png?w=750 750w, /static/img/docs/best-practices/drill-down-example.png?w=900 900w, /static/img/docs/best-practices/drill-down-example.png?w=1040 1040w, /static/img/docs/best-practices/drill-down-example.png?w=1240 1240w, /static/img/docs/best-practices/drill-down-example.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Example of using drill-down&#34;width=&#34;1508&#34;height=&#34;916&#34;title=&#34;Example of using drill-down&#34;/&gt;
          &lt;noscript&gt;
            &lt;img
              src=&#34;/static/img/docs/best-practices/drill-down-example.png&#34;
              alt=&#34;Example of using drill-down&#34;width=&#34;1508&#34;height=&#34;916&#34;title=&#34;Example of using drill-down&#34;class=&#34;float-right&#34;/&gt;
          &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Example of using drill-down&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dashboard design reflects service hierarchies. The example shown below uses the RED method (request and error rate on the left, latency duration on the right) with one row per service. The row order reflects the data flow.&lt;/p&gt;
&lt;figure
      class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
      style=&#34;max-width: 100%;&#34;
      itemprop=&#34;associatedMedia&#34;
      itemscope=&#34;&#34;
      itemtype=&#34;http://schema.org/ImageObject&#34;
    &gt;&lt;a
          class=&#34;lightbox-link captioned&#34;
          href=&#34;/static/img/docs/best-practices/service-hierarchy-example.png&#34;
          itemprop=&#34;contentUrl&#34;
        &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
            class=&#34;lazyload mb-0&#34;
            data-src=&#34;/static/img/docs/best-practices/service-hierarchy-example.png&#34;data-srcset=&#34;/static/img/docs/best-practices/service-hierarchy-example.png?w=320 320w, /static/img/docs/best-practices/service-hierarchy-example.png?w=550 550w, /static/img/docs/best-practices/service-hierarchy-example.png?w=750 750w, /static/img/docs/best-practices/service-hierarchy-example.png?w=900 900w, /static/img/docs/best-practices/service-hierarchy-example.png?w=1040 1040w, /static/img/docs/best-practices/service-hierarchy-example.png?w=1240 1240w, /static/img/docs/best-practices/service-hierarchy-example.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Example of a service hierarchy&#34;width=&#34;1502&#34;height=&#34;1562&#34;title=&#34;Example of a service hierarchy&#34;/&gt;
          &lt;noscript&gt;
            &lt;img
              src=&#34;/static/img/docs/best-practices/service-hierarchy-example.png&#34;
              alt=&#34;Example of a service hierarchy&#34;width=&#34;1502&#34;height=&#34;1562&#34;title=&#34;Example of a service hierarchy&#34;class=&#34;float-right&#34;/&gt;
          &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Example of a service hierarchy&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Compare like to like: split service dashboards when the magnitude differs. Make sure aggregated metrics don&amp;rsquo;t drown out important information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expressive charts with meaningful use of color and normalizing axes where you can.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Example of meaningful color: Blue means it&amp;rsquo;s good, red means it&amp;rsquo;s bad. 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/configure-thresholds/&#34;&gt;Thresholds&lt;/a&gt; can help with that.&lt;/li&gt;
&lt;li&gt;Example of normalizing axes: When comparing CPU usage, measure by percentage rather than raw number, because machines can have a different number of cores. Normalizing CPU usage by the number of cores reduces cognitive load because the viewer can trust that at 100% all cores are being used, without having to know the number of CPUs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Directed browsing cuts down on &amp;ldquo;guessing.&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Template variables make it harder to &amp;ldquo;just browse&amp;rdquo; randomly or aimlessly.&lt;/li&gt;
&lt;li&gt;Most dashboards should be linked to by alerts.&lt;/li&gt;
&lt;li&gt;Browsing is directed with links. For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/manage-dashboard-links/&#34;&gt;Manage dashboard links&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Version-controlled dashboard JSON.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;high---optimized-use&#34;&gt;High - optimized use&lt;/h3&gt;
&lt;p&gt;At this stage, you have optimized your dashboard management use with a consistent and thoughtful strategy. It requires maintenance, but the results are worth it.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Actively reducing sprawl.
&lt;ul&gt;
&lt;li&gt;Regularly review existing dashboards to make sure they are still relevant.&lt;/li&gt;
&lt;li&gt;Only approved dashboards added to master dashboard list.&lt;/li&gt;
&lt;li&gt;Tracking dashboard use. If you&amp;rsquo;re an Enterprise user, you can take advantage of 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/assess-dashboard-usage/&#34;&gt;Usage insights&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Consistency by design.&lt;/li&gt;
&lt;li&gt;Use scripting libraries to generate dashboards, ensure consistency in pattern and style.
&lt;ul&gt;
&lt;li&gt;grafonnet (Jsonnet)&lt;/li&gt;
&lt;li&gt;grafanalib (Python)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;No editing in the browser. Dashboard viewers change views with variables.&lt;/li&gt;
&lt;li&gt;Browsing for dashboards is the exception, not the rule.&lt;/li&gt;
&lt;li&gt;Perform experimentation and testing in a separate Grafana instance dedicated to that purpose, not your production instance. When a dashboard in the test environment is proven useful, then add that dashboard to your main Grafana instance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;best-practices-for-creating-dashboards&#34;&gt;Best practices for creating dashboards&lt;/h2&gt;
&lt;p&gt;This page outlines some best practices to follow when creating Grafana dashboards.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h3&gt;
&lt;p&gt;Here are some principles to consider before you create a dashboard.&lt;/p&gt;
&lt;h4 id=&#34;a-dashboard-should-tell-a-story-or-answer-a-question&#34;&gt;A dashboard should tell a story or answer a question&lt;/h4&gt;
&lt;p&gt;What story are you trying to tell with your dashboard? Try to create a logical progression of data, such as large to small or general to specific. What is the goal for this dashboard? (Hint: If the dashboard doesn&amp;rsquo;t have a goal, then ask yourself if you really need the dashboard.)&lt;/p&gt;
&lt;p&gt;Keep your graphs simple and focused on answering the question that you are asking. For example, if your question is &amp;ldquo;which servers are in trouble?&amp;rdquo;, then maybe you don&amp;rsquo;t need to show all the server data. Just show data for the ones in trouble.&lt;/p&gt;
&lt;h4 id=&#34;dashboards-should-reduce-cognitive-load-not-add-to-it&#34;&gt;Dashboards should reduce cognitive load, not add to it&lt;/h4&gt;
&lt;!-- vale Grafana.GoogleWill = NO --&gt;
&lt;p&gt;&lt;em&gt;Cognitive load&lt;/em&gt; is basically how hard you need to think about something in order to figure it out. Make your dashboard easy to interpret. Other users and future you (when you&amp;rsquo;re trying to figure out what broke at 2 AM) will appreciate it.&lt;/p&gt;
&lt;p&gt;Ask yourself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can I tell what exactly each graph represents? Is it obvious, or do I have to think about it?&lt;/li&gt;
&lt;li&gt;If I show this to someone else, how long will it take them to figure it out? Will they get lost?&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- vale Grafana.GoogleWill = YES --&gt;
&lt;h4 id=&#34;have-a-monitoring-strategy&#34;&gt;Have a monitoring strategy&lt;/h4&gt;
&lt;p&gt;It&amp;rsquo;s easy to make new dashboards. It&amp;rsquo;s harder to optimize dashboard creation and adhere to a plan, but it&amp;rsquo;s worth it. This strategy should govern both your overall dashboard scheme and enforce consistency in individual dashboard design.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href=&#34;#common-observability-strategies&#34;&gt;Common observability strategies&lt;/a&gt; and &lt;a href=&#34;#dashboard-management-maturity-model&#34;&gt;Dashboard management maturity levels&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h4 id=&#34;write-it-down&#34;&gt;Write it down&lt;/h4&gt;
&lt;p&gt;Once you have a strategy or design guidelines, write them down to help maintain consistency over time. Check out this &lt;a href=&#34;https://wikitech.wikimedia.org/wiki/Performance/Runbook/Grafana_best_practices&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Wikimedia runbook example&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;best-practices-to-follow&#34;&gt;Best practices to follow&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When creating a new dashboard, make sure it has a meaningful name.
&lt;ul&gt;
&lt;li&gt;If you are creating a dashboard to play or experiment, then put the word &lt;code&gt;TEST&lt;/code&gt; or &lt;code&gt;TMP&lt;/code&gt; in the name.&lt;/li&gt;
&lt;li&gt;Consider including your name or initials in the dashboard name or as a tag so that people know who owns the dashboard.&lt;/li&gt;
&lt;li&gt;Remove temporary experiment dashboards when you are done with them.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If you create many related dashboards, think about how to cross-reference them for easy navigation. Refer to &lt;a href=&#34;#best-practices-for-managing-dashboards&#34;&gt;Best practices for managing dashboards&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;Grafana retrieves data from a data source. A basic understanding of 
    &lt;a href=&#34;/docs/grafana/v12.4/datasources/&#34;&gt;data sources&lt;/a&gt; in general and your specific is important.&lt;/li&gt;
&lt;li&gt;Avoid unnecessary dashboard refreshing to reduce the load on the network or backend. For example, if your data changes every hour, then you don&amp;rsquo;t need to set the dashboard refresh rate to 30 seconds.&lt;/li&gt;
&lt;li&gt;Use the left and right Y-axes when displaying time series with different units or ranges.&lt;/li&gt;
&lt;li&gt;Add documentation to dashboards and panels.
&lt;ul&gt;
&lt;li&gt;To add documentation to a dashboard, add a 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/visualizations/text/&#34;&gt;Text panel visualization&lt;/a&gt; to the dashboard. Record things like the purpose of the dashboard, useful resource links, and any instructions users might need to interact with the dashboard. Check out this &lt;a href=&#34;https://grafana.wikimedia.org/d/000000066/resourceloader?orgId=1&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Wikimedia example&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;To add documentation to a panel, edit the panel settings and add a description. Any text you add appears if you hover your cursor over the small &lt;code&gt;i&lt;/code&gt; in the top left corner of the panel.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Reuse your dashboards and enforce consistency by using 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/variables/&#34;&gt;templates and variables&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Be careful with stacking graph data. The visualizations can be misleading, and hide important data. It&amp;rsquo;s recommended that you turn it off in most cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;best-practices-for-managing-dashboards&#34;&gt;Best practices for managing dashboards&lt;/h2&gt;
&lt;p&gt;This page outlines some best practices to follow when managing Grafana dashboards.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin-1&#34;&gt;Before you begin&lt;/h3&gt;
&lt;p&gt;Here are some principles to consider before you start managing dashboards.&lt;/p&gt;
&lt;h4 id=&#34;strategic-observability&#34;&gt;Strategic observability&lt;/h4&gt;
&lt;p&gt;There are several &lt;a href=&#34;#common-observability-strategies&#34;&gt;common observability strategies&lt;/a&gt;. You should research them and decide whether one of them works for you or if you want to come up with your own. Either way, have a plan, write it down, and stick to it.&lt;/p&gt;
&lt;p&gt;Adapt your strategy to changing needs as necessary.&lt;/p&gt;
&lt;h4 id=&#34;maturity-level&#34;&gt;Maturity level&lt;/h4&gt;
&lt;p&gt;What is your dashboard maturity level? Analyze your current dashboard setup and compare it to the &lt;a href=&#34;#dashboard-management-maturity-model&#34;&gt;Dashboard management maturity model&lt;/a&gt;. Understanding where you are can help you decide how to get to where you want to be.&lt;/p&gt;
&lt;h3 id=&#34;best-practices-to-follow-1&#34;&gt;Best practices to follow&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Avoid dashboard sprawl, meaning the uncontrolled growth of dashboards. Dashboard sprawl negatively affects time to find the right dashboard. Duplicating dashboards and changing &amp;ldquo;one thing&amp;rdquo; (worse: keeping original tags) is the easiest kind of sprawl.
&lt;ul&gt;
&lt;li&gt;Periodically review the dashboards and remove unnecessary ones.&lt;/li&gt;
&lt;li&gt;If you create a temporary dashboard, perhaps to test something, prefix the name with &lt;code&gt;TEST:&lt;/code&gt;. Delete the dashboard when you are finished.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Copying dashboards with no significant changes is not a good idea.
&lt;ul&gt;
&lt;li&gt;You miss out on updates to the original dashboard, such as documentation changes, bug fixes, or additions to metrics.&lt;/li&gt;
&lt;li&gt;In many cases copies are being made to simply customize the view by setting template parameters. This should instead be done by maintaining a link to the master dashboard and customizing the view with 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/configure-data-links/#data-link-variables&#34;&gt;URL parameters&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;When you must copy a dashboard, clearly rename it and &lt;em&gt;do not&lt;/em&gt; copy the dashboard tags. Tags are important metadata for dashboards that are used during search. Copying tags can result in false matches.&lt;/li&gt;
&lt;li&gt;Maintain a dashboard of dashboards or cross-reference dashboards. This can be done in several ways:
&lt;ul&gt;
&lt;li&gt;Create dashboard links, panel, or data links. Links can go to other dashboards or to external systems. For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/dashboards/build-dashboards/manage-dashboard-links/&#34;&gt;Manage dashboard links&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add a 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/visualizations/dashboard-list/&#34;&gt;Dashboard list panel&lt;/a&gt;. You can then customize what you see by doing tag or folder searches.&lt;/li&gt;
&lt;li&gt;Add a 
    &lt;a href=&#34;/docs/grafana/v12.4/panels-visualizations/visualizations/text/&#34;&gt;Text panel&lt;/a&gt; and use markdown to customize the display.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-dashboard-best-practices">Grafana dashboard best practices&lt;/h1>
&lt;p>This section provides information about best practices for intermediate Grafana administrators and users about how to build and maintain Grafana dashboards.&lt;/p></description></item></channel></rss>