<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference Index on Grafana Labs</title><link>https://grafana.com/docs/grafana/v4.3/reference/</link><description>Recent content in Reference Index on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v4.3/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>Admin Roles</title><link>https://grafana.com/docs/grafana/v4.3/reference/admin/</link><pubDate>Wed, 14 Apr 2021 09:32:57 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/admin/</guid><content><![CDATA[&lt;h1 id=&#34;administration&#34;&gt;Administration&lt;/h1&gt;
&lt;p&gt;Grafana has two levels of administrators:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Organizational administrators: These admins can manage users within specific organizations in a particular Grafana installation&lt;/li&gt;
&lt;li&gt;Grafana administrators: These super admins can manage users across all organizations in a Grafana installation. They can also change and access system-wide settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;organizational-administrators&#34;&gt;Organizational Administrators&lt;/h2&gt;
&lt;p&gt;As an Organizational administrator, you can add &lt;code&gt;Data Sources&lt;/code&gt;, add Users to your Organization and
modify Organization details and options.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: If Grafana is configured with &lt;code&gt;users.allow_org_create = true&lt;/code&gt;, any User of any Organization will be able to
start their own Organization and become the administrator of that Organization.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;grafana-administrators&#34;&gt;Grafana Administrators&lt;/h2&gt;
&lt;img src=&#34;/img/v2/admin_sidenav.png&#34; class=&#34;pull-right&#34; style=&#34;margin-left: 15px&#34;&gt;
As a Grafana Administrator, you have complete access to any Organization or User in that instance of Grafana.
When performing actions as a Grafana admin, the sidebar will change it&#39;s appearance as below to indicate you are performing global server administration.
&lt;p&gt;From the Grafana Server Admin page, you can access the System Info page which summarizes all of the backend configuration settings of the Grafana server.&lt;/p&gt;
&lt;h2 id=&#34;why-would-i-have-multiple-organizations&#34;&gt;Why would I have multiple Organizations?&lt;/h2&gt;
&lt;p&gt;Organizations in Grafana are best suited for a &lt;strong&gt;multi-tenant deployment&lt;/strong&gt;. In a multi-tenant deployment,
Organizations can be used to provide a full Grafana experience to different sets of users from a single Grafana instance,
at the convenience of the Grafana Administrator.&lt;/p&gt;
&lt;p&gt;In most cases, a Grafana installation will only have &lt;strong&gt;one&lt;/strong&gt; Organization. Since dashboards, data sources and other configuration items are not shared between organizations, there&amp;rsquo;s no need to create multiple Organizations if you want all your users to have access to the same set of dashboards and data.&lt;/p&gt;
]]></content><description>&lt;h1 id="administration">Administration&lt;/h1>
&lt;p>Grafana has two levels of administrators:&lt;/p>
&lt;ul>
&lt;li>Organizational administrators: These admins can manage users within specific organizations in a particular Grafana installation&lt;/li>
&lt;li>Grafana administrators: These super admins can manage users across all organizations in a Grafana installation. They can also change and access system-wide settings.&lt;/li>
&lt;/ul>
&lt;h2 id="organizational-administrators">Organizational Administrators&lt;/h2>
&lt;p>As an Organizational administrator, you can add &lt;code>Data Sources&lt;/code>, add Users to your Organization and
modify Organization details and options.&lt;/p></description></item><item><title>Annotations</title><link>https://grafana.com/docs/grafana/v4.3/reference/annotations/</link><pubDate>Fri, 07 Mar 2025 11:34:44 +0100</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/annotations/</guid><content><![CDATA[&lt;h1 id=&#34;annotations&#34;&gt;Annotations&lt;/h1&gt;
&lt;p&gt;Annotations provide a way to mark points on the graph with rich events. When you hover over an annotation
you can get title, tags, and text information for the event.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/annotations/toggles.png&#34;
  alt=&#34;&#34; width=&#34;766&#34;
     height=&#34;403&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;queries&#34;&gt;Queries&lt;/h2&gt;
&lt;p&gt;Annotatation events are fetched via annotation queries. To add a new annotation query to a dashboard
open the dashboard settings menu, then select &lt;code&gt;Annotations&lt;/code&gt;. This will open the dashboard annotations
settings view. To create a new annotation query hit the &lt;code&gt;New&lt;/code&gt; button.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/annotations/new_query.png&#34;
  alt=&#34;&#34; width=&#34;683&#34;
     height=&#34;244&#34;/&gt;&lt;/p&gt;
&lt;p&gt;Specify a name for the annotation query. This name is given to the toggle (checkbox) that will allow
you to enable/disable showing annotation events from this query. For example you might have two
annotation queries named &lt;code&gt;Deploys&lt;/code&gt; and &lt;code&gt;Outages&lt;/code&gt;. The toggles will allow you to decide what annotations
to show.&lt;/p&gt;
&lt;h3 id=&#34;annotation-query-details&#34;&gt;Annotation query details&lt;/h3&gt;
&lt;p&gt;The annotation query options are different for each data source.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/graphite/#annotations&#34;&gt;Graphite annotation queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/elasticsearch/#annotations&#34;&gt;Elasticsearch annotation queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/influxdb/#annotations&#34;&gt;InfluxDB annotation queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/prometheus/#annotations&#34;&gt;Prometheus annotation queries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="annotations">Annotations&lt;/h1>
&lt;p>Annotations provide a way to mark points on the graph with rich events. When you hover over an annotation
you can get title, tags, and text information for the event.&lt;/p></description></item><item><title>Export &amp; Import</title><link>https://grafana.com/docs/grafana/v4.3/reference/export_import/</link><pubDate>Fri, 28 May 2021 11:31:54 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/export_import/</guid><content><![CDATA[&lt;h1 id=&#34;export-and-import&#34;&gt;Export and Import&lt;/h1&gt;
&lt;p&gt;Grafana Dashboards can easily be exported and imported, either from the UI or from the HTTP API.&lt;/p&gt;
&lt;h2 id=&#34;exporting-a-dashboard&#34;&gt;Exporting a dashboard&lt;/h2&gt;
&lt;p&gt;Dashboards are exported in Grafana JSON format, and contain everything you need (layout, variables, styles, data sources, queries, etc)to import the dashboard at a later time.&lt;/p&gt;
&lt;p&gt;The export feature is accessed from the share menu.&lt;/p&gt;
&lt;img src=&#34;/static/img/docs/v31/export_menu.png&#34;&gt;
&lt;h3 id=&#34;making-a-dashboard-portable&#34;&gt;Making a dashboard portable&lt;/h3&gt;
&lt;p&gt;If you want to export a dashboard for others to use then it could be a good idea to
add template variables for things like a metric prefix (use constant variable) and server name.&lt;/p&gt;
&lt;p&gt;A template variable of the type &lt;code&gt;Constant&lt;/code&gt; will automatically be hidden in
the dashboard, and will also be added as an required input when the dashboard is imported.&lt;/p&gt;
&lt;h2 id=&#34;importing-a-dashboard&#34;&gt;Importing a dashboard&lt;/h2&gt;
&lt;p&gt;To import a dashboard open dashboard search and then hit the import button.&lt;/p&gt;
&lt;img src=&#34;/static/img/docs/v31/import_step1.png&#34;&gt;
&lt;p&gt;From here you can upload a dashboard json file, paste a &lt;a href=&#34;/&#34;&gt;Grafana.com&lt;/a&gt; dashboard
url or paste dashboard json text directly into the text area.&lt;/p&gt;
&lt;img src=&#34;/static/img/docs/v31/import_step2.png&#34;&gt;
&lt;p&gt;In step 2 of the import process Grafana will let you change the name of the dashboard, pick what
data source you want the dashboard to use and specify any metric prefixes (if the dashboard use any).&lt;/p&gt;
&lt;h2 id=&#34;discover-dashboards-on-grafanacom&#34;&gt;Discover dashboards on Grafana.com&lt;/h2&gt;
&lt;p&gt;Find dashboards for common server applications at &lt;a href=&#34;/dashboards&#34;&gt;Grafana.com/dashboards&lt;/a&gt;.&lt;/p&gt;
&lt;img src=&#34;/static/img/docs/v31/gnet_dashboards_list.png&#34;&gt;
&lt;h2 id=&#34;import--sharing-with-grafana-2x-or-30&#34;&gt;Import &amp;amp; Sharing with Grafana 2.x or 3.0&lt;/h2&gt;
&lt;p&gt;Dashboards on Grafana.com use a new feature in Grafana 3.1 that allows the import process
to update each panel so that they are using a data source of your choosing. If you are running a
Grafana version older than 3.1 then you might need to do some manual steps either
before or after import in order for the dashboard to work properly.&lt;/p&gt;
&lt;p&gt;Dashboards exported from Grafana 3.1&#43; have a new json section &lt;code&gt;__inputs&lt;/code&gt;
that define what data sources and metric prefixes the dashboard uses.&lt;/p&gt;
&lt;p&gt;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;__inputs&amp;#34;: [
    {
      &amp;#34;name&amp;#34;: &amp;#34;DS_GRAPHITE&amp;#34;,
      &amp;#34;label&amp;#34;: &amp;#34;graphite&amp;#34;,
      &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
      &amp;#34;pluginId&amp;#34;: &amp;#34;graphite&amp;#34;,
      &amp;#34;pluginName&amp;#34;: &amp;#34;Graphite&amp;#34;
    },
    {
      &amp;#34;name&amp;#34;: &amp;#34;VAR_PREFIX&amp;#34;,
      &amp;#34;type&amp;#34;: &amp;#34;constant&amp;#34;,
      &amp;#34;label&amp;#34;: &amp;#34;prefix&amp;#34;,
      &amp;#34;value&amp;#34;: &amp;#34;collectd&amp;#34;,
      &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;
    }
  ],
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;These are then referenced in the dashboard panels like this:&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;rows&amp;#34;: [
      {
        &amp;#34;panels&amp;#34;: [
          {
            &amp;#34;type&amp;#34;: &amp;#34;graph&amp;#34;,
            &amp;#34;datasource&amp;#34;: &amp;#34;${DS_GRAPHITE}&amp;#34;,
          }
        ]
      }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;These inputs and their usage in data source properties are automatically added during export in Grafana 3.1.
If you run an older version of Grafana and want to share a dashboard on Grafana.com you need to manually
add the inputs and templatize the datasource properties like above.&lt;/p&gt;
&lt;p&gt;If you want to import a dashboard from Grafana.com into an older version of Grafana then you can either import
it as usual and then update the data source option in the metrics tab so that the panel is using the correct
data source. Another alternative is to open the json file in a a text editor and update the data source properties
to value that matches a name of your data source.&lt;/p&gt;
]]></content><description>&lt;h1 id="export-and-import">Export and Import&lt;/h1>
&lt;p>Grafana Dashboards can easily be exported and imported, either from the UI or from the HTTP API.&lt;/p>
&lt;h2 id="exporting-a-dashboard">Exporting a dashboard&lt;/h2>
&lt;p>Dashboards are exported in Grafana JSON format, and contain everything you need (layout, variables, styles, data sources, queries, etc)to import the dashboard at a later time.&lt;/p></description></item><item><title>JSON Model</title><link>https://grafana.com/docs/grafana/v4.3/reference/dashboard/</link><pubDate>Wed, 14 Apr 2021 09:32:57 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/dashboard/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-json&#34;&gt;Dashboard JSON&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 rows, panels, template variables, panel queries, etc.&lt;/p&gt;
&lt;p&gt;To view the JSON of a dashboard, follow the steps mentioned below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to a dashboard&lt;/li&gt;
&lt;li&gt;Click on &lt;code&gt;Manage dashboard&lt;/code&gt; menu on the top navigation bar&lt;/li&gt;
&lt;li&gt;Select &lt;code&gt;View JSON&lt;/code&gt; from the dropdown menu&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;blockquote&gt;
&lt;p&gt;Note: 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 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;{
  &amp;#34;id&amp;#34;: null,
  &amp;#34;title&amp;#34;: &amp;#34;New dashboard&amp;#34;,
  &amp;#34;tags&amp;#34;: [],
  &amp;#34;style&amp;#34;: &amp;#34;dark&amp;#34;,
  &amp;#34;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
  &amp;#34;editable&amp;#34;: true,
  &amp;#34;hideControls&amp;#34;: false,
  &amp;#34;graphTooltip&amp;#34;: 1,
  &amp;#34;rows&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;time_options&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;schemaVersion&amp;#34;: 7,
  &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 dashboard id, an integer&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;hideControls&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;whether row controls on the left in green are hidden 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;TODO&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;rows&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;row metadata, see &lt;a href=&#34;#rows&#34;&gt;rows section&lt;/a&gt; for details&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;#annotations&#34;&gt;annotations section&lt;/a&gt; for details&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;TODO&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;TODO&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;links&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;TODO&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;rows&#34;&gt;rows&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;rows&lt;/code&gt; field consists of an array of JSON object representing each row in a dashboard, such as shown below:&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;rows&amp;#34;: [
    {
      &amp;#34;collapse&amp;#34;: false,
      &amp;#34;editable&amp;#34;: true,
      &amp;#34;height&amp;#34;: &amp;#34;200px&amp;#34;,
      &amp;#34;panels&amp;#34;: [],
      &amp;#34;title&amp;#34;: &amp;#34;New row&amp;#34;
    },
    {
      &amp;#34;collapse&amp;#34;: true,
      &amp;#34;editable&amp;#34;: true,
      &amp;#34;height&amp;#34;: &amp;#34;300px&amp;#34;,
      &amp;#34;panels&amp;#34;: [],
      &amp;#34;title&amp;#34;: &amp;#34;New row&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 row is collapsed or not&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 row is editable or not&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;height&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;height of the row in pixels&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 metadata, see &lt;a href=&#34;#panels&#34;&gt;panels section&lt;/a&gt; for details&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;title of row&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;panels&#34;&gt;panels&lt;/h4&gt;
&lt;p&gt;Panels are the building blocks a dashboard. It consists of datasource queries, type of graphs, aliases, etc. Panel JSON consists of an array of JSON objects, each representing a different panel in a row. Most of the fields are common for all panels but some fields depends on the panel type. Following is an example of panel JSON representing a &lt;code&gt;graph&lt;/code&gt; panel type:&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;aliasColors&amp;#34;: {},
          &amp;#34;bars&amp;#34;: false,
          &amp;#34;datasource&amp;#34;: null,
          &amp;#34;editable&amp;#34;: true,
          &amp;#34;error&amp;#34;: false,
          &amp;#34;fill&amp;#34;: 0,
          &amp;#34;grid&amp;#34;: {
            &amp;#34;leftLogBase&amp;#34;: 1,
            &amp;#34;leftMax&amp;#34;: null,
            &amp;#34;leftMin&amp;#34;: null,
            &amp;#34;rightLogBase&amp;#34;: 1,
            &amp;#34;rightMax&amp;#34;: null,
            &amp;#34;rightMin&amp;#34;: null,
            &amp;#34;threshold1&amp;#34;: null,
            &amp;#34;threshold1Color&amp;#34;: &amp;#34;rgba(216, 200, 27, 0.27)&amp;#34;,
            &amp;#34;threshold2&amp;#34;: null,
            &amp;#34;threshold2Color&amp;#34;: &amp;#34;rgba(234, 112, 112, 0.22)&amp;#34;
          },
          &amp;#34;id&amp;#34;: 1,
          &amp;#34;legend&amp;#34;: {
            &amp;#34;avg&amp;#34;: false,
            &amp;#34;current&amp;#34;: false,
            &amp;#34;max&amp;#34;: false,
            &amp;#34;min&amp;#34;: false,
            &amp;#34;show&amp;#34;: true,
            &amp;#34;total&amp;#34;: false,
            &amp;#34;values&amp;#34;: false
          },
          &amp;#34;lines&amp;#34;: true,
          &amp;#34;linewidth&amp;#34;: 1,
          &amp;#34;links&amp;#34;: [],
          &amp;#34;nullPointMode&amp;#34;: &amp;#34;connected&amp;#34;,
          &amp;#34;percentage&amp;#34;: false,
          &amp;#34;pointradius&amp;#34;: 5,
          &amp;#34;points&amp;#34;: false,
          &amp;#34;renderer&amp;#34;: &amp;#34;flot&amp;#34;,
          &amp;#34;seriesOverrides&amp;#34;: [],
          &amp;#34;span&amp;#34;: 4,
          &amp;#34;stack&amp;#34;: false,
          &amp;#34;steppedLine&amp;#34;: false,
          &amp;#34;targets&amp;#34;: [
            {
              &amp;#34;aggregator&amp;#34;: &amp;#34;max&amp;#34;,
              &amp;#34;alias&amp;#34;: &amp;#34;$tag_instance_id&amp;#34;,
              &amp;#34;currentTagKey&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;currentTagValue&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;downsampleAggregator&amp;#34;: &amp;#34;avg&amp;#34;,
              &amp;#34;downsampleInterval&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;errors&amp;#34;: {},
              &amp;#34;metric&amp;#34;: &amp;#34;memory.percent-used&amp;#34;,
              &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
              &amp;#34;shouldComputeRate&amp;#34;: false,
              &amp;#34;tags&amp;#34;: {
                &amp;#34;app&amp;#34;: &amp;#34;$app&amp;#34;,
                &amp;#34;env&amp;#34;: &amp;#34;stage&amp;#34;,
                &amp;#34;instance_id&amp;#34;: &amp;#34;*&amp;#34;
              }
            }
          ],
          &amp;#34;timeFrom&amp;#34;: null,
          &amp;#34;timeShift&amp;#34;: null,
          &amp;#34;title&amp;#34;: &amp;#34;Memory Utilization&amp;#34;,
          &amp;#34;tooltip&amp;#34;: {
            &amp;#34;shared&amp;#34;: true,
            &amp;#34;value_type&amp;#34;: &amp;#34;cumulative&amp;#34;
          },
          &amp;#34;type&amp;#34;: &amp;#34;graph&amp;#34;,
          &amp;#34;x-axis&amp;#34;: true,
          &amp;#34;y-axis&amp;#34;: true,
          &amp;#34;y_formats&amp;#34;: [
            &amp;#34;percent&amp;#34;,
            &amp;#34;short&amp;#34;
          ]
        },
        {
          &amp;#34;aliasColors&amp;#34;: {},
          &amp;#34;bars&amp;#34;: false,
          &amp;#34;datasource&amp;#34;: null,
          &amp;#34;editable&amp;#34;: true,
          &amp;#34;error&amp;#34;: false,
          &amp;#34;fill&amp;#34;: 0,
          &amp;#34;grid&amp;#34;: {
            &amp;#34;leftLogBase&amp;#34;: 1,
            &amp;#34;leftMax&amp;#34;: null,
            &amp;#34;leftMin&amp;#34;: null,
            &amp;#34;rightLogBase&amp;#34;: 1,
            &amp;#34;rightMax&amp;#34;: null,
            &amp;#34;rightMin&amp;#34;: null,
            &amp;#34;threshold1&amp;#34;: null,
            &amp;#34;threshold1Color&amp;#34;: &amp;#34;rgba(216, 200, 27, 0.27)&amp;#34;,
            &amp;#34;threshold2&amp;#34;: null,
            &amp;#34;threshold2Color&amp;#34;: &amp;#34;rgba(234, 112, 112, 0.22)&amp;#34;
          },
          &amp;#34;id&amp;#34;: 2,
          &amp;#34;legend&amp;#34;: {
            &amp;#34;avg&amp;#34;: false,
            &amp;#34;current&amp;#34;: false,
            &amp;#34;max&amp;#34;: false,
            &amp;#34;min&amp;#34;: false,
            &amp;#34;show&amp;#34;: true,
            &amp;#34;total&amp;#34;: false,
            &amp;#34;values&amp;#34;: false
          },
          &amp;#34;lines&amp;#34;: true,
          &amp;#34;linewidth&amp;#34;: 1,
          &amp;#34;links&amp;#34;: [],
          &amp;#34;nullPointMode&amp;#34;: &amp;#34;connected&amp;#34;,
          &amp;#34;percentage&amp;#34;: false,
          &amp;#34;pointradius&amp;#34;: 5,
          &amp;#34;points&amp;#34;: false,
          &amp;#34;renderer&amp;#34;: &amp;#34;flot&amp;#34;,
          &amp;#34;seriesOverrides&amp;#34;: [],
          &amp;#34;span&amp;#34;: 4,
          &amp;#34;stack&amp;#34;: false,
          &amp;#34;steppedLine&amp;#34;: false,
          &amp;#34;targets&amp;#34;: [
            {
              &amp;#34;aggregator&amp;#34;: &amp;#34;avg&amp;#34;,
              &amp;#34;alias&amp;#34;: &amp;#34;$tag_instance_id&amp;#34;,
              &amp;#34;currentTagKey&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;currentTagValue&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;downsampleAggregator&amp;#34;: &amp;#34;avg&amp;#34;,
              &amp;#34;downsampleInterval&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;errors&amp;#34;: {},
              &amp;#34;metric&amp;#34;: &amp;#34;memory.percent-cached&amp;#34;,
              &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
              &amp;#34;shouldComputeRate&amp;#34;: false,
              &amp;#34;tags&amp;#34;: {
                &amp;#34;app&amp;#34;: &amp;#34;$app&amp;#34;,
                &amp;#34;env&amp;#34;: &amp;#34;prod&amp;#34;,
                &amp;#34;instance_id&amp;#34;: &amp;#34;*&amp;#34;
              }
            }
          ],
          &amp;#34;timeFrom&amp;#34;: null,
          &amp;#34;timeShift&amp;#34;: null,
          &amp;#34;title&amp;#34;: &amp;#34;Memory Cached&amp;#34;,
          &amp;#34;tooltip&amp;#34;: {
            &amp;#34;shared&amp;#34;: true,
            &amp;#34;value_type&amp;#34;: &amp;#34;cumulative&amp;#34;
          },
          &amp;#34;type&amp;#34;: &amp;#34;graph&amp;#34;,
          &amp;#34;x-axis&amp;#34;: true,
          &amp;#34;y-axis&amp;#34;: true,
          &amp;#34;y_formats&amp;#34;: [
            &amp;#34;short&amp;#34;,
            &amp;#34;short&amp;#34;
          ]
        },&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Usage of each field 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;TODO&lt;/td&gt;
              &lt;td&gt;TODO&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;timepicker&#34;&gt;timepicker&lt;/h3&gt;
&lt;p&gt;Description: TODO&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;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;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;time_options&amp;#34;: [
      &amp;#34;5m&amp;#34;,
      &amp;#34;15m&amp;#34;,
      &amp;#34;1h&amp;#34;,
      &amp;#34;3h&amp;#34;,
      &amp;#34;6h&amp;#34;,
      &amp;#34;12h&amp;#34;,
      &amp;#34;24h&amp;#34;,
      &amp;#34;2d&amp;#34;,
      &amp;#34;3d&amp;#34;,
      &amp;#34;4d&amp;#34;,
      &amp;#34;7d&amp;#34;,
      &amp;#34;30d&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;TODO&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;TODO&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;TODO&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;TODO&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;time_options&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;TODO&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;TODO&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;&lt;code&gt;templating&lt;/code&gt; fields contains 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;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 representing, 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 datasource, 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;datasource&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;shows datasource 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 datasource&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;datasource 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;TODO&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;TODO&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;&lt;h3 id=&#34;annotations&#34;&gt;annotations&lt;/h3&gt;
&lt;p&gt;TODO&lt;/p&gt;
]]></content><description>&lt;h1 id="dashboard-json">Dashboard JSON&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 rows, panels, template variables, panel queries, etc.&lt;/p></description></item><item><title>Keyboard shortcuts</title><link>https://grafana.com/docs/grafana/v4.3/reference/keyboard_shortcuts/</link><pubDate>Fri, 28 May 2021 11:31:54 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/keyboard_shortcuts/</guid><content><![CDATA[&lt;h1 id=&#34;keyboard-shortcuts&#34;&gt;Keyboard Shortcuts&lt;/h1&gt;
&lt;p&gt;No mouse? No problem. Grafana has extensive keyboard shortcuts to allow you to navigate throughout the interface. This comes in especially handy when dealing with dealing with single-purpose machines powering on-wall displays that may not have a mouse available.&lt;/p&gt;
&lt;h2 id=&#34;dashboard-keyboard-shortcuts&#34;&gt;Dashboard Keyboard Shortcuts&lt;/h2&gt;
&lt;p&gt;Press &lt;code&gt;Shift&lt;/code&gt;&#43;&lt;code&gt;?&lt;/code&gt; to open the keyboard shortcut dialog from anywhere within the dashboard views.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/Grafana-Keyboard-Shortcuts.gif&#34; style=&#34;width:80%;&#34;&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;Shortcut&lt;/th&gt;
              &lt;th&gt;Action&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Esc&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Exit fullscreen edit/view mode, close search or any editor view&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;F&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Open dashboard search view (also contains import/playlist controls)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Refresh (Fetches new data and rerenders panels)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;CTRL&lt;/code&gt;&#43;&lt;code&gt;S&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Save dashboard&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;CTRL&lt;/code&gt;&#43;&lt;code&gt;H&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Hide row controls&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;CTRL&lt;/code&gt;&#43;&lt;code&gt;Z&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Zoom out&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;CTRL&lt;/code&gt;&#43;&lt;code&gt;O&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable/Disable shared graph crosshair&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Grafana keyboard shortcuts are the same across operating system.&lt;/p&gt;
&lt;p&gt;Have a suggestion for a new keyboard shortcut? Let us know.&lt;/p&gt;
]]></content><description>&lt;h1 id="keyboard-shortcuts">Keyboard Shortcuts&lt;/h1>
&lt;p>No mouse? No problem. Grafana has extensive keyboard shortcuts to allow you to navigate throughout the interface. This comes in especially handy when dealing with dealing with single-purpose machines powering on-wall displays that may not have a mouse available.&lt;/p></description></item><item><title>Playlist</title><link>https://grafana.com/docs/grafana/v4.3/reference/playlist/</link><pubDate>Fri, 28 May 2021 11:31:54 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/playlist/</guid><content><![CDATA[&lt;h1 id=&#34;playlist&#34;&gt;Playlist&lt;/h1&gt;
&lt;p&gt;The Playlist is a special type of Dashboard that rotates through a list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.&lt;/p&gt;
&lt;p&gt;Since Grafana automatically scales Dashboards to any resolution they&amp;rsquo;re perfect for big screens!&lt;/p&gt;
&lt;h2 id=&#34;creating-a-playlist&#34;&gt;Creating a Playlist&lt;/h2&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 25rem;&#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/v3/playlist.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/v3/playlist.png&#34;data-srcset=&#34;/static/img/docs/v3/playlist.png?w=320 320w, /static/img/docs/v3/playlist.png?w=550 550w, /static/img/docs/v3/playlist.png?w=750 750w, /static/img/docs/v3/playlist.png?w=900 900w, /static/img/docs/v3/playlist.png?w=1040 1040w, /static/img/docs/v3/playlist.png?w=1240 1240w, /static/img/docs/v3/playlist.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1847&#34;height=&#34;1174&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v3/playlist.png&#34;
            alt=&#34;&#34;width=&#34;1847&#34;height=&#34;1174&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The Playlist feature can be accessed from Grafana&amp;rsquo;s sidemenu, in the Dashboard submenu.&lt;/p&gt;
&lt;p&gt;Click on &amp;ldquo;New Playlist&amp;rdquo; button to create a new playlist. Firstly, name your playlist and configure a time interval for Grafana to wait on a particular Dashboard before advancing to the next one on the Playlist.&lt;/p&gt;
&lt;p&gt;You can search Dashboards by name (or use a regular expression), and add them to your Playlist. Or you could add tags which will include all the dashboards that belongs to a tag when the playlist start playing. By default, your starred dashboards will appear as candidates for the Playlist.&lt;/p&gt;
&lt;p&gt;Be sure to click the &amp;ldquo;Add to dashboard&amp;rdquo; button next to the Dashboard name to add it to the Playlist. To remove a dashboard from the playlist click on &amp;ldquo;Remove[x]&amp;rdquo; button from the playlist.&lt;/p&gt;
&lt;p&gt;Since the Playlist is basically a list of Dashboards, ensure that all the Dashboards you want to appear in your Playlist are added here.&lt;/p&gt;
&lt;h2 id=&#34;saving-the-playlist&#34;&gt;Saving the playlist&lt;/h2&gt;
&lt;p&gt;Once all the wanted dashboards are added to a playlist, you can save this playlist by clicking on the green &amp;ldquo;Save&amp;rdquo; button. This will generate a unique URL for you playlist which can be shared if needed. Click on the generated URL or on the &amp;ldquo;Play&amp;rdquo; button from the &amp;ldquo;Saved playlists&amp;rdquo; list to start the playlist. If you want to share the URL, right click on the URL and copy the URL link and share.&lt;/p&gt;
&lt;h2 id=&#34;starting-the-playlist&#34;&gt;Starting the playlist&lt;/h2&gt;
&lt;p&gt;Also, if you want, you can start the playlist without saving it by clicking on the green &amp;ldquo;Start&amp;rdquo; button at the bottom.&lt;/p&gt;
&lt;h2 id=&#34;controlling-the-playlist&#34;&gt;Controlling the Playlist&lt;/h2&gt;
&lt;p&gt;Playlists can also be manually controlled utilizing the Playlist controls at the top of screen when in Playlist mode.&lt;/p&gt;
&lt;p&gt;Click the stop button to stop the Playlist, and exit to the current Dashboard.
Click the next button to advance to the next Dashboard in the Playlist.
Click the back button to rewind to the previous Dashboard in the Playlist.&lt;/p&gt;
]]></content><description>&lt;h1 id="playlist">Playlist&lt;/h1>
&lt;p>The Playlist is a special type of Dashboard that rotates through a list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.&lt;/p></description></item><item><title>Scripted Dashboards</title><link>https://grafana.com/docs/grafana/v4.3/reference/scripting/</link><pubDate>Wed, 14 Apr 2021 09:32:57 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/scripting/</guid><content><![CDATA[&lt;h1 id=&#34;scripted-dashboards&#34;&gt;Scripted Dashboards&lt;/h1&gt;
&lt;p&gt;If you have lots of metric names that change (new servers etc) in a defined pattern it is irritating to constantly have to create new dashboards.&lt;/p&gt;
&lt;p&gt;With scripted dashboards you can dynamically create your dashboards using javascript. In the folder grafana install folder
under &lt;code&gt;public/dashboards/&lt;/code&gt; there is a file named &lt;code&gt;scripted.js&lt;/code&gt;. This file contains an example of a scripted dashboard. You can access it by using the url:
&lt;code&gt;http://grafana_url/dashboard/script/scripted.js?rows=3&amp;amp;name=myName&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If you open scripted.js you can see how it reads url parameters from ARGS variable and then adds rows and panels.&lt;/p&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&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;JavaScript&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-javascript&#34;&gt;var rows = 1;
var seriesName = &amp;#39;argName&amp;#39;;

if(!_.isUndefined(ARGS.rows)) {
  rows = parseInt(ARGS.rows, 10);
}

if(!_.isUndefined(ARGS.name)) {
  seriesName = ARGS.name;
}

for (var i = 0; i &amp;lt; rows; i&amp;#43;&amp;#43;) {

  dashboard.rows.push({
    title: &amp;#39;Scripted Graph &amp;#39; &amp;#43; i,
    height: &amp;#39;300px&amp;#39;,
    panels: [
      {
        title: &amp;#39;Events&amp;#39;,
        type: &amp;#39;graph&amp;#39;,
        span: 12,
        fill: 1,
        linewidth: 2,
        targets: [
          {
            &amp;#39;target&amp;#39;: &amp;#34;randomWalk(&amp;#39;&amp;#34; &amp;#43; seriesName &amp;#43; &amp;#34;&amp;#39;)&amp;#34;
          },
          {
            &amp;#39;target&amp;#39;: &amp;#34;randomWalk(&amp;#39;random walk2&amp;#39;)&amp;#34;
          }
        ],
      }
    ]
  });

}

return dashboard;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;more-examples&#34;&gt;More examples&lt;/h2&gt;
&lt;p&gt;You can find more examples in &lt;code&gt;public/dashboards/&lt;/code&gt; directory of your grafana installation.&lt;/p&gt;
]]></content><description>&lt;h1 id="scripted-dashboards">Scripted Dashboards&lt;/h1>
&lt;p>If you have lots of metric names that change (new servers etc) in a defined pattern it is irritating to constantly have to create new dashboards.&lt;/p></description></item><item><title>Search</title><link>https://grafana.com/docs/grafana/v4.3/reference/search/</link><pubDate>Fri, 28 May 2021 11:31:54 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/search/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-search&#34;&gt;Dashboard Search&lt;/h1&gt;
&lt;p&gt;Dashboards can be searched by the dashboard name, filtered by one (or many) tags or filtered by starred status. The dashboard search is accessed through the dashboard picker, available in the dashboard top nav area.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/dashboard_search.png&#34;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Dashboard Picker&lt;/code&gt;: The Dashboard Picker is your primary navigation tool to move between dashboards. It is present on all dashboards, and open the Dashboard Search. The dashboard picker also doubles as the title of the current dashboard.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Search Bar&lt;/code&gt;: The search bar allows you to enter any string and search both database and file based dashboards in real-time.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Starred&lt;/code&gt;: The starred link allows you to filter the list to display only starred dashboards.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Tags&lt;/code&gt;: The tags filter allows you to filter the list by dashboard tags.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When using only a keyboard, you can use your keyboard arrow keys to navigate the results, hit enter to open the selected dashboard.&lt;/p&gt;
&lt;h2 id=&#34;find-by-dashboard-name&#34;&gt;Find by dashboard name&lt;/h2&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/dashboard_search_text.gif&#34;&gt;
&lt;p&gt;To search and load dashboards click the open folder icon in the header or use the shortcut &lt;code&gt;CTRL&lt;/code&gt;&#43;&lt;code&gt;F&lt;/code&gt;. Begin typing any part of the desired dashboard names. Search will return results for for any partial string match in real-time, as you type.&lt;/p&gt;
&lt;p&gt;Dashboard search is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Real-time&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Not&lt;/em&gt; case sensitive&lt;/li&gt;
&lt;li&gt;Functional across stored &lt;em&gt;and&lt;/em&gt; file based dashboards.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;filter-by-tags&#34;&gt;Filter by Tag(s)&lt;/h2&gt;
&lt;p&gt;Tags are a great way to organize your dashboards, especially as the number of dashboards grow. Tags can be added and managed in the dashboard &lt;code&gt;Settings&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To filter the dashboard list by tag, click on any tag appearing in the right column. The list may be further filtered by clicking on additional tags:&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/dashboard_search_tag_filtering.gif&#34;&gt;
&lt;p&gt;Alternately, to see a list of all available tags, click the tags link in the search bar. All tags will be shown, and when a tag is selected, the dashboard search will be instantly filtered:&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/dashboard_search_tags_all_filtering.gif&#34;&gt;
&lt;p&gt;When using only a keyboard: &lt;code&gt;tab&lt;/code&gt; to focus on the &lt;em&gt;tags&lt;/em&gt; link, &lt;code&gt;▼&lt;/code&gt; down arrow key to find a tag and select with the &lt;code&gt;Enter&lt;/code&gt; key.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: When multiple tags are selected, Grafana will show dashboards that include &lt;strong&gt;all&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;filter-by-starred&#34;&gt;Filter by Starred&lt;/h2&gt;
&lt;p&gt;Starring is a great way to organize and find commonly used dashboards. To show only starred dashboards in the list, click the &lt;em&gt;starred&lt;/em&gt; link in the search bar:&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/dashboard_search_starred_filtering.gif&#34;&gt;
&lt;p&gt;When using only a keyboard: &lt;code&gt;tab&lt;/code&gt; to focus on the &lt;em&gt;stars&lt;/em&gt; link, &lt;code&gt;▼&lt;/code&gt; down arrow key to find a tag and select with the &lt;code&gt;Enter&lt;/code&gt; key.&lt;/p&gt;
]]></content><description>&lt;h1 id="dashboard-search">Dashboard Search&lt;/h1>
&lt;p>Dashboards can be searched by the dashboard name, filtered by one (or many) tags or filtered by starred status. The dashboard search is accessed through the dashboard picker, available in the dashboard top nav area.&lt;/p></description></item><item><title>Sharing</title><link>https://grafana.com/docs/grafana/v4.3/reference/sharing/</link><pubDate>Fri, 28 May 2021 11:31:54 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/sharing/</guid><content><![CDATA[&lt;h1 id=&#34;sharing-features&#34;&gt;Sharing features&lt;/h1&gt;
&lt;p&gt;Grafana provides a number of ways to share a dashboard or a specific panel to other users within your
organization. It also provides ways to publish interactive snapshots that can be accessed by external partners.&lt;/p&gt;
&lt;h2 id=&#34;share-dashboard&#34;&gt;Share dashboard&lt;/h2&gt;
&lt;p&gt;Share a dashboard via the share icon in the top nav. This opens the share dialog where you
can get a link to the current dashboard with the current selected time range and template variables. If you have
made changes to the dashboard, make sure those are saved before sending the link.&lt;/p&gt;
&lt;h3 id=&#34;dashboard-snapshot&#34;&gt;Dashboard snapshot&lt;/h3&gt;
&lt;p&gt;A dashboard snapshot is an instant way to share an interactive dashboard publicly. When created, we &lt;strong&gt;strip sensitive data&lt;/strong&gt; like queries
(metric, template and annotation) and panel links, leaving only the visible metric data and series names embedded into your dashboard. Dashboard
snapshots can be accessed by anyone who has the link and can reach the URL.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/v4/share_panel_modal.png&#34;
  alt=&#34;&#34; width=&#34;763&#34;
     height=&#34;624&#34;/&gt;&lt;/p&gt;
&lt;h3 id=&#34;publish-snapshots&#34;&gt;Publish snapshots&lt;/h3&gt;
&lt;p&gt;You can publish snapshots to you local instance or to &lt;a href=&#34;http://snapshot.raintank.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;snapshot.raintank.io&lt;/a&gt;. The later is a free service
that is provided by &lt;a href=&#34;http://raintank.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Raintank&lt;/a&gt; that allows you to publish dashboard snapshots to an external grafana instance.
The same rules still apply, anyone with the link can view it. You can set an expiration time if you want the snapshot to be removed
after a certain time period.&lt;/p&gt;
&lt;h2 id=&#34;share-panel&#34;&gt;Share Panel&lt;/h2&gt;
&lt;p&gt;Click a panel title to open the panel menu, then click share in the panel menu to open the Share Panel dialog. Here you
have access to a link that will take you to exactly this panel with the current time range and selected template variables.
You also get a link to service side rendered PNG of the panel. Useful if you want to share an image of the panel.
Please note that for OSX and Windows, you will need to ensure that a &lt;code&gt;phantomjs&lt;/code&gt; binary is available under &lt;code&gt;vendor/phantomjs/phantomjs&lt;/code&gt;. For Linux, a &lt;code&gt;phantomjs&lt;/code&gt; binary is included - however, you should ensure that any requisite libraries (e.g. libfontconfig) are available.&lt;/p&gt;
&lt;h3 id=&#34;embed-panel&#34;&gt;Embed Panel&lt;/h3&gt;
&lt;p&gt;You can embed a panel using an iframe on another web site. This tab will show you the html that you need to use.&lt;/p&gt;
&lt;p&gt;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;HTML&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-html&#34;&gt;&amp;lt;iframe src=&amp;#34;https://snapshot.raintank.io/dashboard-solo/snapshot/y7zwi2bZ7FcoTlB93WN7yWO4aMiz3pZb?from=1493369923321&amp;amp;to=1493377123321&amp;amp;panelId=4&amp;#34; width=&amp;#34;650&amp;#34; height=&amp;#34;300&amp;#34; frameborder=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Below there should be an interactive Grafana graph embedded in an iframe:&lt;/p&gt;
&lt;iframe src=&#34;https://snapshot.raintank.io/dashboard-solo/snapshot/y7zwi2bZ7FcoTlB93WN7yWO4aMiz3pZb?from=1493369923321&amp;to=1493377123321&amp;panelId=4&#34; width=&#34;650&#34; height=&#34;300&#34; frameborder=&#34;0&#34;&gt;&lt;/iframe&gt;
]]></content><description>&lt;h1 id="sharing-features">Sharing features&lt;/h1>
&lt;p>Grafana provides a number of ways to share a dashboard or a specific panel to other users within your
organization. It also provides ways to publish interactive snapshots that can be accessed by external partners.&lt;/p></description></item><item><title>Templating</title><link>https://grafana.com/docs/grafana/v4.3/reference/templating/</link><pubDate>Fri, 07 Mar 2025 11:34:44 +0100</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/templating/</guid><content><![CDATA[&lt;h1 id=&#34;templating&#34;&gt;Templating&lt;/h1&gt;
&lt;p&gt;Templating allows for more interactive and dynamic dashboards. Instead of hard-coding things like server, application
and sensor name in you metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of
the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v4/templated_dash.png&#34;&gt;
&lt;h2 id=&#34;what-is-a-variable&#34;&gt;What is a variable?&lt;/h2&gt;
&lt;p&gt;A variable is a placeholder for a value. You can use variables in metric queries and in panel titles. So when you change
the value, using the dropdown at the top of the dashboard, your panel&amp;rsquo;s metric queries will change to reflect the new value.&lt;/p&gt;
&lt;h3 id=&#34;interpolation&#34;&gt;Interpolation&lt;/h3&gt;
&lt;p&gt;Panel titles and metric queries can refer to variables using two different syntaxes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;$&amp;lt;varname&amp;gt;&lt;/code&gt;  Example: apps.frontend.$server.requests.count&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[[varname]]&lt;/code&gt; Example: apps.frontend.[[server]].requests.count&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of word. Use
the second syntax in expressions like  &lt;code&gt;my.server[[serverNumber]].count&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Before queries are sent to your data source the query is &lt;strong&gt;interpolated&lt;/strong&gt;, meaning the variable is replaced with its current value. During
interpolation the variable value might be &lt;strong&gt;escaped&lt;/strong&gt; in order to conform to the syntax of the query language and where it is used.
For example, a variable used in a regex expression in an InfluxDB or Prometheus query will be regex escaped. Read the data source specific
documentation article for details on value escaping during interpolation.&lt;/p&gt;
&lt;h3 id=&#34;variable-options&#34;&gt;Variable options&lt;/h3&gt;
&lt;p&gt;A variable is presented as a dropdown select box at the top of the dashboard. It has a current value and a set of &lt;strong&gt;options&lt;/strong&gt;. The &lt;strong&gt;options&lt;/strong&gt;
is the set of values you can choose from.&lt;/p&gt;
&lt;h2 id=&#34;adding-a-variable&#34;&gt;Adding a variable&lt;/h2&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v4/templating_var_list.png&#34;&gt;
&lt;p&gt;You add variables via Dashboard cogs menu &amp;gt; Templating. This opens up a list of variables and a &lt;code&gt;New&lt;/code&gt; button to create a new variable.&lt;/p&gt;
&lt;h3 id=&#34;basic-variable-options&#34;&gt;Basic variable options&lt;/h3&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;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;The name of the variable, this is the name you use when you refer to your variable in your metric queries. Must be unique and contain no white-spaces.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Label&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;The name of the dropdown for this variable.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Hide&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Options to hide the dropdown select box.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Type&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Defines the variable type.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;variable-types&#34;&gt;Variable types&lt;/h3&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;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Query&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;This variable type allows you to write a data source query that usually returns a list of metric names, tag values or keys. For example, a query that returns a list of server names, sensor ids or data centers.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Interval&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;This variable can represent time spans. Instead of hard-coding a group by time or date histogram interval, use a variable of this type.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Datasource&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;This type allows you to quickly change the data source for an entire Dashboard. Useful if you have multiple instances of a data source in for example different environments.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Custom&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Define the variable options manually using a comma separated list.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Constant&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Define a hidden constant. Useful for metric path prefixes for dashboards you want to share. During dashboard export, constant variables will be made into an import option.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Ad hoc filters&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Very special kind of variable that only works with some data sources, InfluxDB &amp;amp; Elasticsearch currently. It allows you to add key/value filters that will automatically be added to all metric queries that use the specified data source.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;query-options&#34;&gt;Query options&lt;/h3&gt;
&lt;p&gt;This variable type is the most powerful and complex as it can dynamically fetch its options using a data source query.&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;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Data source&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;The data source target for the query.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Refresh&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Controls when to update the variable option list (values in the dropdown). &lt;strong&gt;On Dashboard Load&lt;/strong&gt; will slow down dashboard load as the variable query needs to be completed before dashboard can be initialized. Set this only to &lt;strong&gt;On Time Range Change&lt;/strong&gt; if your variable options query contains a time range filter or is dependent on dashboard time range.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Query&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;The data source specific query expression.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Regex&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Regex to filter or capture specific parts of the names return by your data source query. Optional.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Sort&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Define sort order for options in dropdown. &lt;strong&gt;Disabled&lt;/strong&gt; means that the order of options returned by your data source query will be used.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;query-expressions&#34;&gt;Query expressions&lt;/h3&gt;
&lt;p&gt;The query expressions are different for each data source.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/graphite/#templating&#34;&gt;Graphite templating queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/elasticsearch/#templating&#34;&gt;Elasticsearch templating queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/influxdb/#templating&#34;&gt;InfluxDB templating queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/prometheus/#templating&#34;&gt;Prometheus templating queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/prometheus/#templating&#34;&gt;OpenTSDB templating queries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One thing to note is that query expressions can contain references to other variables and in effect create linked variables.
Grafana will detect this and automatically refresh a variable when one of it&amp;rsquo;s containing variables change.&lt;/p&gt;
&lt;h2 id=&#34;selection-options&#34;&gt;Selection Options&lt;/h2&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;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Mulit-value&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;If enabled, the variable will support the selection of multiple options at the same time.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Include All option&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Add a special &lt;code&gt;All&lt;/code&gt; option whose value includes all options.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Custom all value&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;By default the &lt;code&gt;All&lt;/code&gt; value will include all options in combined expression. This can become very long and can have performance problems. Many times it can be better to specify a custom all value, like a wildcard regex. To make it possible to have custom regex, globs or lucene syntax in the &lt;strong&gt;Custom all value&lt;/strong&gt; option it is never escaped so you will have to think avbout what is a valid value for your data source.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;formating-multiple-values&#34;&gt;Formating multiple values&lt;/h3&gt;
&lt;p&gt;Interpolating a variable with multiple values selected is tricky as it is not straight forward how to format the multiple values to into a string that
is valid in the given context where the variable is used. Grafana tries to solve this by allowing each data source plugin to
inform the templating interpolation engine what format to use for multiple values.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Graphite&lt;/strong&gt;, for example, uses glob expressions. A variable with multiple values would, in this case, be interpolated as &lt;code&gt;{host1,host2,host3}&lt;/code&gt; if
the current variable value was &lt;em&gt;host1&lt;/em&gt;, &lt;em&gt;host2&lt;/em&gt; and &lt;em&gt;host3&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;InfluxDB and Prometheus&lt;/strong&gt; uses regex expressions, so the same variable
would be interpolated as &lt;code&gt;(host1|host2|host3)&lt;/code&gt;. Every value would also be regex escaped if not, a value with a regex control character would
break the regex expression.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Elasticsearch&lt;/strong&gt; uses lucene query syntax, so the same variable would, in this case, be formatted as &lt;code&gt;(&amp;quot;host1&amp;quot; OR &amp;quot;host2&amp;quot; OR &amp;quot;host3&amp;quot;)&lt;/code&gt;. In this case every value
needs to be escaped so that the value can contain lucene control words and quotation marks.&lt;/p&gt;
&lt;h4 id=&#34;formating-troubles&#34;&gt;Formating troubles&lt;/h4&gt;
&lt;p&gt;Automatic escaping &amp;amp; formatting can cause problems and it can be tricky to grasp the logic is behind it.
Especially for InfluxDB and Prometheus where the use of regex syntax requires that the variable is used in regex operator context.
If you do not want Grafana to do this automatic regex escaping and formatting your only option is to disable the &lt;em&gt;Multi-value&lt;/em&gt; or &lt;em&gt;Include All option&lt;/em&gt;
options.&lt;/p&gt;
&lt;h3 id=&#34;value-groupstags&#34;&gt;Value groups/tags&lt;/h3&gt;
&lt;p&gt;If you have a lot of options in the dropdown for a multi-value variable. You can use this feature to group the values into selectable tags.&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;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Tags query&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Data source query that should return a list of tags&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;em&gt;Tag values query&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Data source query that should return a list of values for a specified tag key. Use &lt;code&gt;$tag&lt;/code&gt; in the query to refer the currently selected tag.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/v4/variable_dropdown_tags.png&#34;
  alt=&#34;&#34; width=&#34;388&#34;
     height=&#34;364&#34;/&gt;&lt;/p&gt;
&lt;h3 id=&#34;interval-variables&#34;&gt;Interval variables&lt;/h3&gt;
&lt;p&gt;Use the &lt;code&gt;Interval&lt;/code&gt; type to create a variable that represents a time span (eg. &lt;code&gt;1m&lt;/code&gt;,&lt;code&gt;1h&lt;/code&gt;, &lt;code&gt;1d&lt;/code&gt;). There is also a special &lt;code&gt;auto&lt;/code&gt; option that will change depending on the current time range. You can specify how many times the current time range should be divided to calculate the current &lt;code&gt;auto&lt;/code&gt; timespan.&lt;/p&gt;
&lt;p&gt;This variable type is useful as a parameter to group by time (for InfluxDB), Date histogram interval (for Elasticsearch) or as a &lt;em&gt;summarize&lt;/em&gt; function parameter (for Graphite).&lt;/p&gt;
&lt;h2 id=&#34;repeating-panels&#34;&gt;Repeating Panels&lt;/h2&gt;
&lt;p&gt;Template variables can be very useful to dynamically change your queries across a whole dashboard. If you want
Grafana to dynamically create new panels or rows based on what values you have selected you can use the &lt;em&gt;Repeat&lt;/em&gt; feature.&lt;/p&gt;
&lt;p&gt;If you have a variable with &lt;code&gt;Multi-value&lt;/code&gt; or &lt;code&gt;Include all value&lt;/code&gt; options enabled you can choose one panel or one row and have Grafana repeat that row
for every selected value. You find this option under the General tab in panel edit mode. Select the variable to repeat by, and a &lt;code&gt;min span&lt;/code&gt;.
The &lt;code&gt;min span&lt;/code&gt; controls how small Grafana will make the panels (if you have many values selected). Grafana will automatically adjust the width of
each repeated panel so that the whole row is filled. Currently, you cannot mix other panels on a row with a repeated panel.&lt;/p&gt;
&lt;p&gt;Only make changes to the first panel (the original template). To have the changes take effect on all panels you need to trigger a dynamic dashboard re-build.
You can do this by either changing the variable value (that is the basis for the repeat) or reload the dashboard.&lt;/p&gt;
&lt;h2 id=&#34;repeating-rows&#34;&gt;Repeating Rows&lt;/h2&gt;
&lt;p&gt;This option requires you to open the row options view. Hover over the row left side to trigger the row menu, in this menu click &lt;code&gt;Row Options&lt;/code&gt;. This
opens the row options view. Here you find a &lt;em&gt;Repeat&lt;/em&gt; dropdown where you can select the variable to repeat by.&lt;/p&gt;
&lt;h3 id=&#34;url-state&#34;&gt;URL state&lt;/h3&gt;
&lt;p&gt;Variable values are always synced to the URL using the syntax &lt;code&gt;var-&amp;lt;varname&amp;gt;=value&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://play.grafana.org/dashboard/db/graphite-templated-nested&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Graphite Templated Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://play.grafana.org/dashboard/db/elasticsearch-templated&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Elasticsearch Templated Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://play.grafana.org/dashboard/db/influxdb-templated-queries&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;InfluxDB Templated Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="templating">Templating&lt;/h1>
&lt;p>Templating allows for more interactive and dynamic dashboards. Instead of hard-coding things like server, application
and sensor name in you metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of
the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.&lt;/p></description></item><item><title>Time Range</title><link>https://grafana.com/docs/grafana/v4.3/reference/timerange/</link><pubDate>Fri, 28 May 2021 11:31:54 +0200</pubDate><guid>https://grafana.com/docs/grafana/v4.3/reference/timerange/</guid><content><![CDATA[&lt;h1 id=&#34;time-range-controls&#34;&gt;Time Range Controls&lt;/h1&gt;
&lt;p&gt;Grafana provides numerous ways to manage the time ranges of the data being visualized, both at the Dashboard-level and the Panel-level.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/whatsnew_2_5/timepicker.png&#34;&gt;
&lt;p&gt;In the top right, you have the master Dashboard time picker (it&amp;rsquo;s in between the &amp;lsquo;Zoom out&amp;rsquo; and the &amp;lsquo;Refresh&amp;rsquo; links).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Current time range &amp;amp; refresh interval&lt;/code&gt;: This shows the current dashboard time and refresh interval. It also acts as the menu button to toggle the time range controls.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Quick ranges&lt;/code&gt;: Quick ranges are preset values to choose a relative time. At this time, quick ranges are not configurable, and will appear on every dashboard.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Time range&lt;/code&gt;: The time range section allows you to mix both explicit and relative ranges. The explicit time range format is &lt;code&gt;YYYY-MM-DD HH:MM:SS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Refreshing every:&lt;/code&gt; When enabled, auto-refresh will reload the dashboard at the specified time range. Auto-refresh is most commonly used with relative time ranges ending in &lt;code&gt;now&lt;/code&gt;, so new data will appear when the dashboard refreshes.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These settings apply to all Panels in the Dashboard (except those with Panel Time Overrides enabled)&lt;/p&gt;
&lt;h2 id=&#34;time-units&#34;&gt;Time Units&lt;/h2&gt;
&lt;p&gt;The following time units are supported: &lt;code&gt;s (seconds)&lt;/code&gt;, &lt;code&gt;m (minutes)&lt;/code&gt;, &lt;code&gt;h (hours)&lt;/code&gt;, &lt;code&gt;d (days)&lt;/code&gt;, &lt;code&gt;w (weeks)&lt;/code&gt;, &lt;code&gt;M (months)&lt;/code&gt;, &lt;code&gt;y (years)&lt;/code&gt;. The minus operator allows you to step back in time, relative to now. If you wish to display the full period of the unit (day, week, month, etc&amp;hellip;), append &lt;code&gt;/$unit&lt;/code&gt; to the end.&lt;/p&gt;
&lt;p&gt;Take a look at some examples to seen these concepts in practice:&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;Example Relative Range&lt;/th&gt;
              &lt;th&gt;From:&lt;/th&gt;
              &lt;th&gt;To:&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Last 5 minutes&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now-5m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;The day so far&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now/d&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;This week&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now/w&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now/w&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Week to date&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now/w&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Previous Month&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now-1M/M&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;now-1M/M&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;dashboard-level-time-picker-settings&#34;&gt;Dashboard-Level Time Picker Settings&lt;/h2&gt;
&lt;p&gt;There are two settings available from the Dashboard Settings area, allowing customization of the auto-refresh intervals and the definition of &lt;code&gt;now&lt;/code&gt;.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/TimePicker-TimeOptions.png&#34;&gt;
&lt;h3 id=&#34;auto-refresh-options&#34;&gt;Auto-Refresh Options&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s possible to customize the options displayed for relative time and the auto-refresh options.&lt;/p&gt;
&lt;p&gt;From Dashboard settings, click the Timepicker tab. From here you can specify the relative and auto-refresh intervals. The Timepicker tab settings are saved on a per Dashboard basis.  Entries are comma separated and accept any valid time unit.&lt;/p&gt;
&lt;h3 id=&#34;defining-now&#34;&gt;Defining Now&lt;/h3&gt;
&lt;p&gt;Users often ask, &lt;a href=&#34;https://www.youtube.com/watch?v=VeZ9HhHU86o&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;when will then be now&lt;/a&gt;? Grafana offers the ability to override the &lt;code&gt;now&lt;/code&gt; value on a per dashboard basis. Most commonly, this feature is used to accommodate known delays in data aggregation to avoid null values.&lt;/p&gt;
&lt;h2 id=&#34;panel-time-overrides--timeshift&#34;&gt;Panel time overrides &amp;amp; timeshift&lt;/h2&gt;
&lt;p&gt;You can override the relative time range for individual panels, causing them to be different than what is selected in the Dashboard time picker in the upper right. This allows you to show metrics from different time periods or days at the same time.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/panel_time_override.jpg&#34;&gt;
&lt;p&gt;You control these overrides in panel editor mode and the tab &lt;code&gt;Time Range&lt;/code&gt;.&lt;/p&gt;
&lt;img class=&#34;no-shadow&#34; src=&#34;/static/img/docs/v2/time_range_tab.jpg&#34;&gt;
&lt;p&gt;When you zoom or change the Dashboard time to a custom absolute time range, all panel overrides will be disabled. The panel relative time override is only active when the dashboard time is also relative. The panel timeshift override is always active, even when the dashboard time is absolute.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;Hide time override info&lt;/code&gt; option allows you to hide the override info text that is by default shown in the
upper right of a panel when overridden time range options.&lt;/p&gt;
&lt;p&gt;Note: You can only override the dashboard time with relative time ranges. Absolute time ranges are not available.&lt;/p&gt;
]]></content><description>&lt;h1 id="time-range-controls">Time Range Controls&lt;/h1>
&lt;p>Grafana provides numerous ways to manage the time ranges of the data being visualized, both at the Dashboard-level and the Panel-level.&lt;/p>
&lt;img class="no-shadow" src="/static/img/docs/whatsnew_2_5/timepicker.png">
&lt;p>In the top right, you have the master Dashboard time picker (it&amp;rsquo;s in between the &amp;lsquo;Zoom out&amp;rsquo; and the &amp;lsquo;Refresh&amp;rsquo; links).&lt;/p></description></item></channel></rss>