<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Administration on Grafana Labs</title><link>https://grafana.com/docs/grafana/v11.0/administration/</link><description>Recent content in Administration on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v11.0/administration/index.xml" rel="self" type="application/rss+xml"/><item><title>Back up Grafana</title><link>https://grafana.com/docs/grafana/v11.0/administration/back-up-grafana/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/back-up-grafana/</guid><content><![CDATA[

&lt;div data-shared=&#34;back-up/back-up-grafana.md&#34;&gt;
            &lt;h1 id=&#34;back-up-grafana&#34;&gt;Back up Grafana&lt;/h1&gt;
&lt;p&gt;This topic explains how to back up a local Grafana deployment, including configuration, plugin data, and the Grafana database.&lt;/p&gt;
&lt;h2 id=&#34;back-up-the-grafana-configuration-file&#34;&gt;Back up the Grafana configuration file&lt;/h2&gt;
&lt;p&gt;Copy Grafana configuration files that you might have modified in your Grafana deployment to a backup directory.&lt;/p&gt;
&lt;p&gt;The Grafana configuration files are located in the following directories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Default configuration: &lt;code&gt;$WORKING_DIR/defaults.ini&lt;/code&gt; (Don&amp;rsquo;t change this file)&lt;/li&gt;
&lt;li&gt;Custom configuration: &lt;code&gt;$WORKING_DIR/custom.ini&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information on where to find configuration files, refer to 
    &lt;a href=&#34;/docs/grafana/v11.0/setup-grafana/configure-grafana/#configuration-file-location&#34;&gt;Configuration file location&lt;/a&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;If you installed Grafana using the &lt;code&gt;deb&lt;/code&gt; or &lt;code&gt;rpm&lt;/code&gt; packages, then your configuration file is located at
&lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;. This path is specified in the Grafana &lt;code&gt;init.d&lt;/code&gt; script using &lt;code&gt;--config&lt;/code&gt; file parameter.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;back-up-plugin-data&#34;&gt;Back up plugin data&lt;/h2&gt;
&lt;p&gt;Installing plugins in Grafana creates a folder for each plugin with its associated files and data. Copy all files and folders recursively from this location to your backup repository.&lt;/p&gt;
&lt;p&gt;The Grafana plugin files are located in the following directories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Default location for plugins in a binary or source installation: &lt;code&gt;$WORKING_DIR/data/plugins&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Default location for plugins in a &lt;code&gt;deb&lt;/code&gt; or &lt;code&gt;rpm&lt;/code&gt; package: &lt;code&gt;/var/lib/grafana/plugins&lt;/code&gt;. This path is specified in the Grafana init.d script using &lt;code&gt;--config&lt;/code&gt; file parameter.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;back-up-the-grafana-database&#34;&gt;Back up the Grafana database&lt;/h2&gt;
&lt;p&gt;We recommend that you back up your Grafana database so that you can roll back to a previous version, if required.&lt;/p&gt;
&lt;h3 id=&#34;sqlite&#34;&gt;SQLite&lt;/h3&gt;
&lt;p&gt;The default Grafana database is SQLite, which stores its data in a single file on disk. To back up this file, copy it to your backup repository.&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;To ensure data integrity, shut down your Grafana service before backing up the SQLite database.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;The SQLite database file is located in one of the following directories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Default location for SQLite data in a binary or source installation: &lt;code&gt;$WORKING_DIR/data/grafana.db&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Default location for SQLite data in a &lt;code&gt;deb&lt;/code&gt; or &lt;code&gt;rpm&lt;/code&gt; package: &lt;code&gt;/var/lib/grafana/grafana.db&lt;/code&gt;. This path is specified in the Grafana
init.d script using &lt;code&gt;--config&lt;/code&gt; file parameter.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;mysql&#34;&gt;MySQL&lt;/h3&gt;
&lt;p&gt;To back up or restore a MySQL Grafana database, run the following commands:&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;Bash&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-bash&#34;&gt;backup:
&amp;gt; mysqldump -u root -p[root_password] [grafana] &amp;gt; grafana_backup.sql

restore:
&amp;gt; mysql -u root -p grafana &amp;lt; grafana_backup.sql&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;postgres&#34;&gt;Postgres&lt;/h3&gt;
&lt;p&gt;To back up or restore a Postgres Grafana database, run the following commands:&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;Bash&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-bash&#34;&gt;backup:
&amp;gt; pg_dump grafana &amp;gt; grafana_backup

restore:
&amp;gt; psql grafana &amp;lt; grafana_backup&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

        
]]></content><description>&lt;div data-shared="back-up/back-up-grafana.md">
&lt;h1 id="back-up-grafana">Back up Grafana&lt;/h1>
&lt;p>This topic explains how to back up a local Grafana deployment, including configuration, plugin data, and the Grafana database.&lt;/p>
&lt;h2 id="back-up-the-grafana-configuration-file">Back up the Grafana configuration file&lt;/h2>
&lt;p>Copy Grafana configuration files that you might have modified in your Grafana deployment to a backup directory.&lt;/p></description></item><item><title>Data source management</title><link>https://grafana.com/docs/grafana/v11.0/administration/data-source-management/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/data-source-management/</guid><content><![CDATA[&lt;h1 id=&#34;data-source-management&#34;&gt;Data source management&lt;/h1&gt;
&lt;p&gt;Grafana supports many different storage backends for your time series data (data source).
Refer to &lt;a href=&#34;../../datasources/&#34;&gt;data sources&lt;/a&gt; for more information about using data sources in Grafana.
Only users with the organization admin role can add data sources.&lt;/p&gt;
&lt;p&gt;For links to data source-specific documentation, see &lt;a href=&#34;../../datasources/&#34;&gt;Data sources&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;data-source-permissions&#34;&gt;Data source permissions&lt;/h2&gt;
&lt;p&gt;You can configure data source permissions to allow or deny certain users the ability to query, edit, or administrate a data source. Each data source’s configuration includes a Permissions tab where you can restrict data source permissions to specific users, service accounts, teams, or roles.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;query&lt;/code&gt; permission allows users to query the data source.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;edit&lt;/code&gt; permission allows users to query the data source, edit the data source’s configuration and delete the data source.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;admin&lt;/code&gt; permission allows users to query and edit the data source, change permissions on the data source and enable or disable query caching for the data source.&lt;/li&gt;
&lt;/ul&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;Available in &lt;a href=&#34;../../introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt; and &lt;a href=&#34;/docs/grafana-cloud/&#34;&gt;Grafana Cloud&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;By default, data sources in an organization can be queried by any user in that organization. For example, a user with the &lt;code&gt;Viewer&lt;/code&gt; role can issue any possible query to a data source, not just queries that exist on dashboards to which they have access. Additionally, by default, data sources can be edited by the user who created the data source, as well as users with the &lt;code&gt;Admin&lt;/code&gt; role.&lt;/p&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h3 id=&#34;assign-data-source-permissions-to-users-service-accounts-teams-or-roles&#34;&gt;Assign data source permissions to users, service accounts, teams, or roles&lt;/h3&gt;
&lt;p&gt;You can assign data source permissions to users, service accounts, teams, and roles which will allow access to query, edit, or administrate the data source.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Under Your connections, click &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the data source to which you want to assign permissions.&lt;/li&gt;
&lt;li&gt;On the Permissions tab, click &lt;strong&gt;Add a permission&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;User&lt;/strong&gt;, &lt;strong&gt;Service Account&lt;/strong&gt;, &lt;strong&gt;Team&lt;/strong&gt;, or &lt;strong&gt;Role&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the entity for which you want to modify permissions.&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;Query&lt;/strong&gt;, &lt;strong&gt;Edit&lt;/strong&gt;, or &lt;strong&gt;Admin&lt;/strong&gt; permission.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h3 id=&#34;edit-data-source-permissions-for-users-service-accounts-teams-or-roles&#34;&gt;Edit data source permissions for users, service accounts, teams, or roles&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Under Your connections, click &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the data source for which you want to edit permissions.&lt;/li&gt;
&lt;li&gt;On the Permissions tab, find the &lt;strong&gt;User&lt;/strong&gt;, &lt;strong&gt;Service Account&lt;/strong&gt;, &lt;strong&gt;Team&lt;/strong&gt;, or &lt;strong&gt;Role&lt;/strong&gt; permission you want to update.&lt;/li&gt;
&lt;li&gt;Select a different option in the &lt;strong&gt;Permission&lt;/strong&gt; dropdown.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h3 id=&#34;remove-data-source-permissions-for-users-service-accounts-teams-or-roles&#34;&gt;Remove data source permissions for users, service accounts, teams, or roles&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Under Your connections, click &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the data source from which you want to remove permissions.&lt;/li&gt;
&lt;li&gt;On the Permissions tab, find the &lt;strong&gt;User&lt;/strong&gt;, &lt;strong&gt;Service Account&lt;/strong&gt;, &lt;strong&gt;Team&lt;/strong&gt;, or &lt;strong&gt;Role&lt;/strong&gt; permission you want to remove.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;X&lt;/strong&gt; next to the permission.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;query-and-resource-caching&#34;&gt;Query and resource caching&lt;/h2&gt;
&lt;p&gt;When you enable query and resource caching, Grafana temporarily stores the results of data source queries and resource requests. When you or another user submit the same query or resource request again, the results will come back from the cache instead of from the data source.&lt;/p&gt;
&lt;p&gt;When using Grafana, a query pertains to a request for data frames to be modified or displayed. A resource relates to any HTTP requests made by a plugin, such as the Amazon Timestream plugin requesting a list of available databases from AWS. For more information on data source queries and resources, please see the developers page on &lt;a href=&#34;/developers/plugin-tools/introduction/backend-plugins&#34;&gt;backend plugins&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The caching feature works for &lt;strong&gt;all&lt;/strong&gt; backend data sources. You can enable the cache globally in Grafana&amp;rsquo;s &lt;a href=&#34;../../setup-grafana/configure-grafana/enterprise-configuration/#caching&#34;&gt;configuration&lt;/a&gt;, and configure a cache duration (also called Time to Live, or TTL) for each data source individually.&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;Available in &lt;a href=&#34;../../introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt; and &lt;a href=&#34;/docs/grafana-cloud/&#34;&gt;Grafana Cloud&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;The following cache backend options are available: in-memory, Redis, and Memcached.&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;Storing cached queries in-memory can increase Grafana&amp;rsquo;s memory footprint. In production environments, a Redis or Memcached backend is highly recommended.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;When a panel queries a data source with cached data, it will either fetch fresh data or use cached data depending on the panel&amp;rsquo;s &lt;strong&gt;interval.&lt;/strong&gt; The interval is used to round the query time range to a nearby cached time range, increasing the likelihood of cache hits. Therefore, wider panels and dashboards with shorter time ranges fetch new data more often than narrower panels and dashboards with longer time ranges.&lt;/p&gt;
&lt;p&gt;A panel&amp;rsquo;s interval is visible in the &lt;a href=&#34;../../panels-visualizations/query-transform-data/&#34;&gt;query options&lt;/a&gt;. It is calculated as follows: &lt;code&gt;time range / max data points&lt;/code&gt;. Max data points are calculated based on the width of the panel. For example, a wide panel with &lt;code&gt;1000 data points&lt;/code&gt; on a dashboard with a time range of &lt;code&gt;last 7 days&lt;/code&gt; will retrieve fresh data every 10 minutes: &lt;code&gt;7d / 1000 = 10m&lt;/code&gt;. In this example, cached data for this panel will be served for up to 10 minutes before Grafana needs to query the data source again for new data.&lt;/p&gt;
&lt;p&gt;You can configure a panel to retrieve data more often by increasing the &lt;strong&gt;Max data points&lt;/strong&gt; setting in the panel&amp;rsquo;s &lt;a href=&#34;../../panels-visualizations/query-transform-data/&#34;&gt;query options&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;caching-benefits&#34;&gt;Caching benefits&lt;/h3&gt;
&lt;p&gt;By reducing the number of queries and requests sent to data sources, caching can provide the following benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faster dashboard load times, especially for popular dashboards.&lt;/li&gt;
&lt;li&gt;Reduced API costs.&lt;/li&gt;
&lt;li&gt;Reduced likelihood that APIs will rate-limit or throttle requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;data-sources-that-work-with-query-caching&#34;&gt;Data sources that work with query caching&lt;/h3&gt;
&lt;p&gt;Query caching works for Grafana&amp;rsquo;s &lt;a href=&#34;../../datasources/#built-in-core-data-sources&#34;&gt;built-in data sources&lt;/a&gt;, and &lt;a href=&#34;/grafana/plugins/?type=datasource&#34;&gt;backend data source plugins&lt;/a&gt; that extend the &lt;code&gt;DataSourceWithBackend&lt;/code&gt; class in the plugins SDK.&lt;/p&gt;
&lt;p&gt;To verify that a data source works with query caching, follow the &lt;a href=&#34;#enable-and-configure-query-caching&#34;&gt;instructions below&lt;/a&gt; to &lt;strong&gt;Enable and Configure query caching&lt;/strong&gt;. If caching is enabled in Grafana but the Caching tab is not visible for the given data source, then query caching is not available for that data source.&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;Some data sources, such as Elasticsearch, Prometheus, and Loki, cache queries themselves, so Grafana &lt;em&gt;query&lt;/em&gt; caching does not significantly improve performance. However, &lt;em&gt;resource&lt;/em&gt; caching may help. See the developers page on &lt;a href=&#34;/developers/plugin-tools/introduction/backend-plugins&#34;&gt;plugin resources&lt;/a&gt; for details.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;enable-and-configure-query-caching&#34;&gt;Enable and configure query caching&lt;/h3&gt;
&lt;p&gt;You must be an Org admin or Grafana admin to enable query caching for a data source. For more information on Grafana roles and permissions, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By default, data source queries are not cached. To enable query caching for a single data source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Under Your Connections, click &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the data source list, click the data source that you want to turn on caching for.&lt;/li&gt;
&lt;li&gt;Go to the Cache tab.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Enable&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) Choose custom TTLs for the data source&amp;rsquo;s queries and resources caching. If you skip this step, then Grafana uses the default TTL.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can optionally override a data source&amp;rsquo;s configured TTL for individual dashboard panels. This can be useful when you have queries whose results change more or less often than the configured TTL. In the Edit Panel view, select the caching-enabled data source, expand the Query options, and enter your the TTL in milliseconds.&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 captioned&#34;
        href=&#34;/media/docs/grafana/per-panel-cache-ttl-9-4.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/per-panel-cache-ttl-9-4.png&#34;data-srcset=&#34;/media/docs/grafana/per-panel-cache-ttl-9-4.png?w=320 320w, /media/docs/grafana/per-panel-cache-ttl-9-4.png?w=550 550w, /media/docs/grafana/per-panel-cache-ttl-9-4.png?w=750 750w, /media/docs/grafana/per-panel-cache-ttl-9-4.png?w=900 900w, /media/docs/grafana/per-panel-cache-ttl-9-4.png?w=1040 1040w, /media/docs/grafana/per-panel-cache-ttl-9-4.png?w=1240 1240w, /media/docs/grafana/per-panel-cache-ttl-9-4.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Set Cache TTL for a single panel&#34;width=&#34;1058&#34;height=&#34;371&#34;title=&#34;Set Cache TTL for a single panel&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana/per-panel-cache-ttl-9-4.png&#34;
            alt=&#34;Set Cache TTL for a single panel&#34;width=&#34;1058&#34;height=&#34;371&#34;title=&#34;Set Cache TTL for a single panel&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Set Cache TTL for a single panel&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&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;If query caching is enabled and the Cache tab is not visible in a data source&amp;rsquo;s settings, then query caching is not available for that data source.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;To configure global settings for query caching, refer to the &lt;code&gt;caching&lt;/code&gt; section of &lt;a href=&#34;../../setup-grafana/configure-grafana/enterprise-configuration/#caching&#34;&gt;Configure Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;disable-query-caching&#34;&gt;Disable query caching&lt;/h3&gt;
&lt;p&gt;To disable query caching for a single data source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Under Your Connections, click &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the data source list, click the data source that you want to turn off caching for.&lt;/li&gt;
&lt;li&gt;On the Cache tab, click &lt;strong&gt;Disable&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To disable query caching for an entire Grafana instance, set the &lt;code&gt;enabled&lt;/code&gt; flag to &lt;code&gt;false&lt;/code&gt; in the &lt;code&gt;caching&lt;/code&gt; section of &lt;a href=&#34;../../setup-grafana/configure-grafana/enterprise-configuration/#caching&#34;&gt;Configure Grafana Enterprise&lt;/a&gt;. You will no longer see the Cache tab on any data sources, and no data source queries will be cached.&lt;/p&gt;
&lt;h3 id=&#34;clear-cache&#34;&gt;Clear cache&lt;/h3&gt;
&lt;p&gt;If you experience performance issues or repeated queries become slower to execute, consider clearing your cache.&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;This action impacts all cache-enabled data sources. If you are using Memcached, the system clears all data from the Memcached instance.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Under Your Connections, click &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the data source list, click the data source that you want to clear the cache for.&lt;/li&gt;
&lt;li&gt;In the Cache tab, click &lt;strong&gt;Clear cache&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;sending-a-request-without-cache&#34;&gt;Sending a request without cache&lt;/h3&gt;
&lt;p&gt;If a data source query request contains an &lt;code&gt;X-Cache-Skip&lt;/code&gt; header, then Grafana skips the caching middleware, and does not search the cache for a response. This can be particularly useful when debugging data source queries using cURL.&lt;/p&gt;
]]></content><description>&lt;h1 id="data-source-management">Data source management&lt;/h1>
&lt;p>Grafana supports many different storage backends for your time series data (data source).
Refer to &lt;a href="../../datasources/">data sources&lt;/a> for more information about using data sources in Grafana.
Only users with the organization admin role can add data sources.&lt;/p></description></item><item><title>Grafana Teams</title><link>https://grafana.com/docs/grafana/v11.0/administration/team-management/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/team-management/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-teams&#34;&gt;Grafana Teams&lt;/h1&gt;
&lt;p&gt;Grafana Teams makes it easy to organize and administer groups of users in your enterprise. Teams allows you to grant permissions to a group of users instead of granting permissions to individual users one at a time.&lt;/p&gt;
&lt;p&gt;Teams are useful in a wide variety of scenarios, such as when onboarding new colleagues or needing access to reports on secure financial data. When you add a user to a team, they get access to all resources assigned to that team.&lt;/p&gt;
&lt;h2 id=&#34;teams-concepts&#34;&gt;Teams concepts&lt;/h2&gt;
&lt;p&gt;A Grafana Team is a group of users within an organization that have common permissions, including access to dashboards and data sources, and those permissions apply to &lt;strong&gt;all members&lt;/strong&gt; of that team. For example, instead of assigning six users access to the same dashboard, you can create a team that consists of those users and assign dashboard permissions to the team. A user can belong to multiple teams.&lt;/p&gt;
&lt;p&gt;A Team grants permissions to a wide variety of resources including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dashboards&lt;/li&gt;
&lt;li&gt;data sources&lt;/li&gt;
&lt;li&gt;folders&lt;/li&gt;
&lt;li&gt;alerts&lt;/li&gt;
&lt;li&gt;reports&lt;/li&gt;
&lt;li&gt;cloud access policies&lt;/li&gt;
&lt;li&gt;annotations&lt;/li&gt;
&lt;li&gt;playlists&lt;/li&gt;
&lt;/ul&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;All members of a Grafana Team have the same exact permissions. A single Team can&amp;rsquo;t have members with different access levels to resources shared within that Team.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;A user can be a &lt;code&gt;Member&lt;/code&gt; or an &lt;code&gt;Administrator&lt;/code&gt; for a given Team. &lt;code&gt;Members&lt;/code&gt; of a Team inherit permissions from the team, but they don&amp;rsquo;t have team administrator privileges, and can&amp;rsquo;t edit the team itself. Team &lt;code&gt;Administrators&lt;/code&gt; can add members to a team and update its settings, such as the team name, team member’s team roles, UI preferences, and home dashboard.&lt;/p&gt;
&lt;p&gt;There are two types of Teams, &lt;code&gt;isolated&lt;/code&gt; or &lt;code&gt;collaborative&lt;/code&gt;. Isolated teams can only see their own resources. They can&amp;rsquo;t see other team’s resources like dashboards, data, or alerts. Collaborative teams have access to other team’s resources.&lt;/p&gt;
&lt;p&gt;For information about how to optimize Teams, refer to &lt;a href=&#34;/blog/2022/03/14/how-to-best-organize-your-teams-and-resources-in-grafana/&#34;&gt;How to best organize your teams and resources in Grafana&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="grafana-teams">Grafana Teams&lt;/h1>
&lt;p>Grafana Teams makes it easy to organize and administer groups of users in your enterprise. Teams allows you to grant permissions to a group of users instead of granting permissions to individual users one at a time.&lt;/p></description></item><item><title>Manage organizations</title><link>https://grafana.com/docs/grafana/v11.0/administration/organization-management/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/organization-management/</guid><content><![CDATA[&lt;h1 id=&#34;manage-organizations&#34;&gt;Manage organizations&lt;/h1&gt;
&lt;p&gt;This topic describes what organizations are, and how to create, edit, and delete them.&lt;/p&gt;
&lt;h2 id=&#34;about-organizations&#34;&gt;About organizations&lt;/h2&gt;
&lt;p&gt;An organization is an entity that helps you isolate users and resources such as dashboards, annotations, and data sources from each other. Their purpose is to provide completely separate experiences, which look like multiple instances of Grafana, within a single instance. Multiple organizations are easier and cheaper to manage than multiple instances of Grafana.&lt;/p&gt;
&lt;p&gt;Users, configuration settings, and Grafana Enterprise licenses are shared between organizations. Other resources, like dashboards, data sources, annotations, folders, Teams, and Alerts, are isolated within each organization and cannot be easily shared with another organization.&lt;/p&gt;
&lt;p&gt;The following table summarizes the resources you can share and/or isolate using organizations.&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;Resource&lt;/th&gt;
              &lt;th&gt;Mode&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Users&lt;/td&gt;
              &lt;td&gt;Share or isolate&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Folders&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Dashboards&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Data sources&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Alerts&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Notification channels&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Annotations&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Reports&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;API keys&lt;/td&gt;
              &lt;td&gt;Isolate only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Authentication providers&lt;/td&gt;
              &lt;td&gt;Share only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Configuration settings&lt;/td&gt;
              &lt;td&gt;Share only&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Licenses&lt;/td&gt;
              &lt;td&gt;Share&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;The member of one organization cannot view dashboards assigned to another organization. However, a user can belong to multiple organizations.&lt;/p&gt;
&lt;p&gt;Grafana Server Administrators are responsible for creating organizations. For more information about the Grafana Server Administrator role, refer to &lt;a href=&#34;../roles-and-permissions/#grafana-server-administrators&#34;&gt;Grafana server administrators&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;view-a-list-of-organizations&#34;&gt;View a list of organizations&lt;/h2&gt;
&lt;p&gt;Complete this task when you want to view a list of existing organizations.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that you have Grafana Server Administrator permissions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;To view a list of organizations:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana as a server administrator.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;General&lt;/strong&gt;, and then &lt;strong&gt;Organizations&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;create-an-organization&#34;&gt;Create an organization&lt;/h2&gt;
&lt;p&gt;Create an organization when you want to isolate dashboards and other resources from each other.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin-1&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that you have Grafana Server Administrator permissions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;To create an organization:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Sign in to Grafana as a server administrator.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;General&lt;/strong&gt;, and then &lt;strong&gt;Organizations&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; New org&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter the name of the new organization and click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Grafana creates the organization, adds you as the organization administrator, and opens the Default preferences page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the Preferences section, select a home dashboard, time zone, and week start.&lt;/p&gt;
&lt;p&gt;For more information about preferences, refer to &lt;a href=&#34;../organization-preferences/&#34;&gt;Preferences&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more information about adding users to an organization, refer to &lt;a href=&#34;../user-management/server-user-management/add-remove-user-to-org/&#34;&gt;Add a user to an organization&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;delete-an-organization&#34;&gt;Delete an organization&lt;/h2&gt;
&lt;p&gt;This action permanently removes an organization from your Grafana server.&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;Deleting the organization also deletes all teams and dashboards associated the organization.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;before-you-begin-2&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that you have Grafana Server Administrator permissions&lt;/li&gt;
&lt;li&gt;Because the delete action removes all teams and dashboards associated with the organization, ensure that the users who rely on the organization dashboards are aware of the change&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;To delete an organization:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana as a server administrator.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;General&lt;/strong&gt;, and then &lt;strong&gt;Organizations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the red &lt;strong&gt;X&lt;/strong&gt; next to the organization that you want to delete.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;edit-an-organization&#34;&gt;Edit an organization&lt;/h2&gt;
&lt;p&gt;Edit an organization when you want to change its name.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin-3&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that you have Grafana Server Administrator permissions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;To edit an organization:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana as a server administrator.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;General&lt;/strong&gt;, and then &lt;strong&gt;Organizations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the organization you want to edit.&lt;/li&gt;
&lt;li&gt;Update the organization name and click &lt;strong&gt;Update&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="manage-organizations">Manage organizations&lt;/h1>
&lt;p>This topic describes what organizations are, and how to create, edit, and delete them.&lt;/p>
&lt;h2 id="about-organizations">About organizations&lt;/h2>
&lt;p>An organization is an entity that helps you isolate users and resources such as dashboards, annotations, and data sources from each other. Their purpose is to provide completely separate experiences, which look like multiple instances of Grafana, within a single instance. Multiple organizations are easier and cheaper to manage than multiple instances of Grafana.&lt;/p></description></item><item><title>User management</title><link>https://grafana.com/docs/grafana/v11.0/administration/user-management/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/user-management/</guid><content><![CDATA[&lt;h1 id=&#34;user-management&#34;&gt;User management&lt;/h1&gt;
&lt;p&gt;A &lt;em&gt;user&lt;/em&gt; is defined as any individual who can log in to Grafana. Each user is associated with a &lt;em&gt;role&lt;/em&gt; that includes &lt;em&gt;permissions&lt;/em&gt;. Permissions determine the tasks a user can perform in the system. For example, the &lt;strong&gt;Admin&lt;/strong&gt; role includes permissions for an administrator to create and delete users.&lt;/p&gt;
&lt;p&gt;Watch the following video to learn how to manage users and permissions in Grafana OSS and Grafana Cloud:&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#39;https://www.youtube.com/embed/59uCGJN5hPI&#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;p&gt;The following topics describe how to use permissions to control user access to data sources, dashboards, users, and teams.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/user-management/server-user-management/&#34;&gt;Server user management&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/user-management/user-preferences/&#34;&gt;Manage user preferences&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/user-management/manage-org-users/&#34;&gt;Manage users in an organization&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/user-management/manage-dashboard-permissions/&#34;&gt;Manage dashboard permissions&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
]]></content><description>&lt;h1 id="user-management">User management&lt;/h1>
&lt;p>A &lt;em>user&lt;/em> is defined as any individual who can log in to Grafana. Each user is associated with a &lt;em>role&lt;/em> that includes &lt;em>permissions&lt;/em>. Permissions determine the tasks a user can perform in the system. For example, the &lt;strong>Admin&lt;/strong> role includes permissions for an administrator to create and delete users.&lt;/p></description></item><item><title>Recorded queries</title><link>https://grafana.com/docs/grafana/v11.0/administration/recorded-queries/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/recorded-queries/</guid><content><![CDATA[&lt;h1 id=&#34;recorded-queries&#34;&gt;Recorded queries&lt;/h1&gt;
&lt;p&gt;Recorded queries allow you to see trends over time by taking a snapshot of a data point on a set interval. This can give you insight into historic trends.&lt;/p&gt;
&lt;p&gt;For our plugins that do not return time series, it might be useful to plot historical data. For example, you might want to query ServiceNow to see a history of request response times but it can only return current point-in-time metrics.&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;Available in 
    &lt;a href=&#34;/docs/grafana/v11.0/introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt; and &lt;a href=&#34;/docs/grafana-cloud/&#34;&gt;Grafana Cloud&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;how-recorded-queries-work&#34;&gt;How recorded queries work&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;An administrator must configure a Prometheus data source and associate it with a &lt;a href=&#34;#remote-write-target&#34;&gt;Remote write target&lt;/a&gt; before recorded queries can be used.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Recorded queries only work with backend data source plugins. Refer to &lt;a href=&#34;/tutorials/build-a-data-source-backend-plugin/&#34;&gt;Backend data source plugin&lt;/a&gt; for more information about backend data source plugins. You can recorded four types of queries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;single row and column - A query that returns a single row and column.&lt;/li&gt;
&lt;li&gt;row count - A query that returns meaningful rows to be counted.&lt;/li&gt;
&lt;li&gt;expression - Any expression. To learn more about creating and using expressions, see &lt;a href=&#34;../../panels-visualizations/query-transform-data/expression-queries/&#34;&gt;Write expression queries&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;dataplane numeric - A query that returns &lt;a href=&#34;/developers/dataplane/numeric&#34;&gt;dataplane numeric kind&lt;/a&gt; data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After a recorded query is created or enabled, it immediately creates a snapshot and continues to create snapshots at the set interval. The recorded query stops taking snapshots when it is disabled, deleted, or when Grafana is not running. Data points are gathered in the backend by running the recorded query and forwarding each result to a remote-write enabled Prometheus instance.&lt;/p&gt;
&lt;h2 id=&#34;using-a-recorded-query&#34;&gt;Using a recorded query&lt;/h2&gt;
&lt;p&gt;To use a recorded query, create one and add it to a dashboard. After that, it can be managed in &lt;strong&gt;Preferences&lt;/strong&gt; from the &lt;strong&gt;Recorded queries&lt;/strong&gt; tab.&lt;/p&gt;
&lt;h3 id=&#34;create-a-recorded-query&#34;&gt;Create a recorded query&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Find/create a query you want to record on a dashboard in an edit panel. The query must only return one row and column. If it returns more, you can still record the number of results returned using the “count” option.
&lt;ul&gt;
&lt;li&gt;The query&amp;rsquo;s data source must be a backend data source.&lt;/li&gt;
&lt;li&gt;Expressions can be used to aggregate data from a time series query. Refer to &lt;a href=&#34;../../panels-visualizations/query-transform-data/expression-queries/&#34;&gt;Write expression queries&lt;/a&gt; to learn more about creating and using expressions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click the record query button located in the top right of the query editor.&lt;/li&gt;
&lt;li&gt;Enter recorded query information. All fields are required unless otherwise indicated.
&lt;ul&gt;
&lt;li&gt;Name - Name of the recorded query.&lt;/li&gt;
&lt;li&gt;Description - (optional) Describe the recorded query as you want it to appear in the recorded query list.&lt;/li&gt;
&lt;li&gt;Interval - The interval on which the snapshot will be taken. The interval starts when you create the recorded query and will stop if you pause or delete the recorded query. Refer to &lt;a href=&#34;#manage-recorded-queries&#34;&gt;Managing recorded queries&lt;/a&gt; for more information on pausing and deleting recorded queries.&lt;/li&gt;
&lt;li&gt;Range - The relative time range of the query. If you select a range of &lt;code&gt;30m&lt;/code&gt; and an interval of &lt;code&gt;1h&lt;/code&gt; the query will take a snapshot every hour of the past 30 minutes.&lt;/li&gt;
&lt;li&gt;Count query results - If you want to count the rows returned from your query toggle this option on. If this option is off, your query must return one row with one value.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Test your recorded query by clicking the test recorded query button.&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Start recording query&lt;/code&gt; to start recording your query.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;add-a-recorded-query&#34;&gt;Add a recorded query&lt;/h3&gt;
&lt;p&gt;You can add existing recorded queries to panels in a dashboard. For each recorded query that you add, a Prometheus query is created: &lt;code&gt;generated_recorded_query_name{id=&amp;quot;generated_id&amp;quot;, name=&amp;quot;recorded query name&amp;quot;}&lt;/code&gt;. The created query from Prometheus returns all the recorded query’s gathered snapshots.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to a panel in a dashboard where you wish to add a recorded query.&lt;/li&gt;
&lt;li&gt;Click the &lt;code&gt;&#43; Recorded query&lt;/code&gt; button located below the queries.&lt;/li&gt;
&lt;li&gt;If you want to filter recorded queries by data source, select a data source from the filter by data source drop down menu.&lt;/li&gt;
&lt;li&gt;Click the &lt;code&gt;Add&lt;/code&gt; button on your recorded query to add it to the panel.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After adding your recorded query to the panel, the panel data source will become &lt;code&gt;-- Mixed --&lt;/code&gt;. Your recorded query is represented by a &lt;code&gt;Prometheus&lt;/code&gt; query with a name label matching your recorded query name. Refer to &lt;a href=&#34;../../datasources/prometheus/&#34;&gt;Prometheus&lt;/a&gt; to learn more about the &lt;code&gt;Prometheus&lt;/code&gt; data source.&lt;/p&gt;
&lt;p&gt;If after adding a recorded query, a query with a &lt;code&gt;-- Mixed --&lt;/code&gt; data source instead of &lt;code&gt;Prometheus&lt;/code&gt; data source appears, this could mean that a Prometheus remote write target was not set up for recorded queries. Refer to &lt;a href=&#34;#remote-write-target&#34;&gt;Remote write target&lt;/a&gt; to set up a remote write point.&lt;/p&gt;
&lt;h3 id=&#34;manage-recorded-queries&#34;&gt;Manage recorded queries&lt;/h3&gt;
&lt;p&gt;Recorded queries can be paused/activated and deleted from the Recorded queries tab in Preferences. Deleting a recorded query will remove it from Grafana, but the information that was gathered in Prometheus will still be there. Pausing a recorded query will no longer gather new data points until it is resumed.&lt;/p&gt;
&lt;h3 id=&#34;remote-write-target&#34;&gt;Remote write target&lt;/h3&gt;
&lt;p&gt;The remote write target is the Prometheus data source that recorded query data points are written to. You will need a Prometheus with remote write enabled and you will need to create a data source for this Prometheus.&lt;/p&gt;
&lt;p&gt;The remote write target can be edited by clicking &lt;code&gt;Edit Remote Write Target&lt;/code&gt; in the upper right on the Recorded Queries tab in Preferences. Select the Prometheus data source that has remote write enabled and enter the remote write path.&lt;/p&gt;
]]></content><description>&lt;h1 id="recorded-queries">Recorded queries&lt;/h1>
&lt;p>Recorded queries allow you to see trends over time by taking a snapshot of a data point on a set interval. This can give you insight into historic trends.&lt;/p></description></item><item><title>Roles and permissions</title><link>https://grafana.com/docs/grafana/v11.0/administration/roles-and-permissions/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/roles-and-permissions/</guid><content><![CDATA[&lt;h1 id=&#34;roles-and-permissions&#34;&gt;Roles and permissions&lt;/h1&gt;
&lt;p&gt;A &lt;em&gt;user&lt;/em&gt; is any individual who can log in to Grafana. Each user is associated with a &lt;em&gt;role&lt;/em&gt; that includes &lt;em&gt;permissions&lt;/em&gt;. Permissions determine the tasks a user can perform in the system. For example, the &lt;strong&gt;Admin&lt;/strong&gt; role includes permissions for an administrator to create and delete users.&lt;/p&gt;
&lt;p&gt;You can assign a user one of three types of permissions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana server administrator permissions: Manage Grafana server-wide settings and resources&lt;/li&gt;
&lt;li&gt;Organization permissions: Manage access to dashboards, alerts, plugins, teams, playlists, and other resources for an entire organization. The available roles are Viewer, Editor, and Admin.&lt;/li&gt;
&lt;li&gt;Dashboard and folder permission: Manage access to dashboards and folders&lt;/li&gt;
&lt;/ul&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;If you are running Grafana Enterprise, you can also control access to data sources and use role-based access control to grant user access to read and write permissions to specific Grafana resources. For more information about access control options available with Grafana Enterprise, refer to &lt;a href=&#34;#grafana-enterprise-user-permissions-features&#34;&gt;Grafana Enterprise user permissions features&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;grafana-server-administrators&#34;&gt;Grafana server administrators&lt;/h2&gt;
&lt;p&gt;A Grafana server administrator manages server-wide settings and access to resources such as organizations, users, and licenses. Grafana includes a default server administrator that you can use to manage all of Grafana, or you can divide that responsibility among other server administrators that you create.&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;The server administrator role does not mean that the user is also a Grafana &lt;a href=&#34;#organization-roles&#34;&gt;organization administrator&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;A server administrator can perform the following tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Manage users and permissions&lt;/li&gt;
&lt;li&gt;Create, edit, and delete organizations&lt;/li&gt;
&lt;li&gt;View server-wide settings defined in the &lt;a href=&#34;../../setup-grafana/configure-grafana/&#34;&gt;Configuration&lt;/a&gt; file&lt;/li&gt;
&lt;li&gt;View Grafana server statistics, including total users and active sessions&lt;/li&gt;
&lt;li&gt;Upgrade the server to Grafana Enterprise.&lt;/li&gt;
&lt;/ul&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;The server administrator role does not exist in Grafana Cloud.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;To assign or remove server administrator privileges, see &lt;a href=&#34;../user-management/server-user-management/assign-remove-server-admin-privileges/&#34;&gt;Server user management&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;organization-users-and-permissions&#34;&gt;Organization users and permissions&lt;/h2&gt;
&lt;p&gt;All Grafana users belong to at least one organization. An organization is an entity that exists within your instance of Grafana.&lt;/p&gt;
&lt;p&gt;Permissions assigned to a user within an organization control the extent to which the user has access to and can update the following organization resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dashboards and folders&lt;/li&gt;
&lt;li&gt;alerts&lt;/li&gt;
&lt;li&gt;playlists&lt;/li&gt;
&lt;li&gt;users within that organization&lt;/li&gt;
&lt;li&gt;data sources&lt;/li&gt;
&lt;li&gt;teams&lt;/li&gt;
&lt;li&gt;organization and team settings&lt;/li&gt;
&lt;li&gt;plugins&lt;/li&gt;
&lt;li&gt;annotations&lt;/li&gt;
&lt;li&gt;library panels&lt;/li&gt;
&lt;li&gt;API keys&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information about managing organization users, see &lt;a href=&#34;../user-management/manage-org-users/&#34;&gt;User management&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;organization-roles&#34;&gt;Organization roles&lt;/h3&gt;
&lt;p&gt;Organization role-based permissions are global, which means that each permission level applies to all Grafana resources within an given organization. For example, an editor can see and update &lt;em&gt;all&lt;/em&gt; dashboards in an organization, unless those dashboards have been specifically restricted using &lt;a href=&#34;../user-management/manage-dashboard-permissions/&#34;&gt;dashboard permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Grafana uses the following roles to control user access:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Organization administrator&lt;/strong&gt;: Has access to all organization resources, including dashboards, users, and teams.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editor&lt;/strong&gt;: Can view and edit dashboards, folders, and playlists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Viewer&lt;/strong&gt;: Can view dashboards, playlists, and query data sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Basic Role&lt;/strong&gt;: Has no permissions. Permissions will be added with RBAC as needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following table lists permissions for each role.&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 style=&#34;text-align: left&#34;&gt;Permission&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Organization administrator&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Editor&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Viewer&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;No Basic Role&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;View dashboards&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add, edit, delete dashboards&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add, edit, delete folders&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;View playlists&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add, edit, delete playlists&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Create library panels&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;View annotations&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add, edit, delete annotations&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Access Explore&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Query data sources directly&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add, edit, delete data sources&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add and edit users&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Add and edit teams&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Change organizations settings&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Change team settings&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Configure application plugins&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;yes&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;dashboard-permissions&#34;&gt;Dashboard permissions&lt;/h2&gt;
&lt;p&gt;When you want to extend a viewer&amp;rsquo;s ability to edit and save dashboard changes or limit an editor&amp;rsquo;s permission to modify a dashboard, you can assign permissions to dashboards and folders. For example, you might want a certain viewer to be able to edit a dashboard. While that user can &lt;em&gt;see&lt;/em&gt; all dashboards, you can grant them access to &lt;em&gt;update&lt;/em&gt; only one of them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Important: The dashboard permissions you specify override the organization permissions you assign to the user for the selected entity.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can specify the following permissions to dashboards and folders.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Admin&lt;/strong&gt;: Can create, edit, or delete a dashboard. Can edit or delete a folder, and create dashboards and subfolders in a folder. Administrators can also change dashboard and folder permissions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Can create, edit, or delete a dashboard. Can edit or delete a folder, and create dashboards and subfolders in a folder. Editors &lt;em&gt;cannot&lt;/em&gt; change folder or dashboard permissions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View&lt;/strong&gt;: Can only view dashboards and folders.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Important: When a user creates a dashboard or a folder they are automatically granted &lt;strong&gt;Admin&lt;/strong&gt; permissions for it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For more information about assigning dashboard folder permissions, refer to &lt;a href=&#34;../user-management/manage-dashboard-permissions/#grant-dashboard-folder-permissions&#34;&gt;Grant dashboard folder permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information about assigning dashboard permissions, refer to &lt;a href=&#34;../user-management/manage-dashboard-permissions/#grant-dashboard-permissions&#34;&gt;Grant dashboard permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;editors-with-administrator-permissions&#34;&gt;Editors with administrator permissions&lt;/h2&gt;
&lt;p&gt;If you have access to the Grafana server, you can modify the default editor role so that editors can use administrator permissions to manage dashboard folders, dashboards, and teams that they create.&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;This permission does not allow editors to manage folders, dashboards, and teams that they do not create.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;This setting can be used to enable self-organizing teams to administer their own dashboards.&lt;/p&gt;
&lt;p&gt;For more information about assigning administrator permissions to editors, refer to &lt;a href=&#34;../user-management/server-user-management/grant-editor-admin-permissions/&#34;&gt;Grant editors administrator permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;viewers-with-dashboard-preview-and-explore-permissions&#34;&gt;Viewers with dashboard preview and Explore permissions&lt;/h2&gt;
&lt;p&gt;If you have access to the Grafana server, you can modify the default viewer role so that viewers can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Edit and preview dashboards, but cannot save their changes or create new dashboards.&lt;/li&gt;
&lt;li&gt;Access and use &lt;a href=&#34;../../explore/&#34;&gt;Explore&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Extending the viewer role is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries, but not be able to save or create new dashboards.&lt;/p&gt;
&lt;p&gt;For more information about assigning dashboard preview permissions to viewers, refer to &lt;a href=&#34;../user-management/manage-dashboard-permissions/#enable-viewers-to-edit-but-not-save-dashboards-and-use-explore&#34;&gt;Enable viewers to preview dashboards and use Explore&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;teams-and-permissions&#34;&gt;Teams and permissions&lt;/h2&gt;
&lt;p&gt;A team is a group of users within an organization that have common dashboard and data source permission needs. For example, instead of assigning five users access to the same dashboard, you can create a team that consists of those users and assign dashboard permissions to the team. A user can belong to multiple teams.&lt;/p&gt;
&lt;p&gt;You can assign a team member one of the following permissions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Member&lt;/strong&gt;: Includes the user as a member of the team. Members do not have team administrator privileges.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin&lt;/strong&gt;: Administrators have permission to manage various aspects of the team, including team membership, permissions, and settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because teams exist inside an organization, the organization administrator can manage all teams. When the &lt;code&gt;editors_can_admin&lt;/code&gt; setting is enabled, editors can create teams and manage teams that they create. For more information about the &lt;code&gt;editors_can_admin&lt;/code&gt; setting, refer to &lt;a href=&#34;../user-management/server-user-management/grant-editor-admin-permissions/&#34;&gt;Grant editors administrator permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For details on managing teams, see &lt;a href=&#34;../team-management/&#34;&gt;Team management&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;grafana-enterprise-user-permissions-features&#34;&gt;Grafana Enterprise user permissions features&lt;/h2&gt;
&lt;p&gt;While Grafana OSS includes a robust set of permissions and settings that you can use to manage user access to server and organization resources, you might find that you require additional capabilities.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;../../introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt; provides the following permissions-related features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data source permissions&lt;/li&gt;
&lt;li&gt;Role-based access control (RBAC)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;data-source-permissions&#34;&gt;Data source permissions&lt;/h3&gt;
&lt;p&gt;By default, a user can query any data source in an organization, even if the data source is not linked to the user&amp;rsquo;s dashboards.&lt;/p&gt;
&lt;p&gt;Data source permissions enable you to restrict data source query permissions to specific &lt;strong&gt;Users&lt;/strong&gt;, &lt;strong&gt;Service Accounts&lt;/strong&gt;, and &lt;strong&gt;Teams&lt;/strong&gt;. For more information about assigning data source permissions, refer to &lt;a href=&#34;../data-source-management/#data-source-permissions/&#34;&gt;Data source permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;role-based-access-control&#34;&gt;Role-based access control&lt;/h3&gt;
&lt;p&gt;RBAC provides you a way of granting, changing, and revoking user read and write access to Grafana resources, such as users, reports, and authentication.&lt;/p&gt;
&lt;p&gt;For more information about RBAC, refer to &lt;a href=&#34;access-control/&#34;&gt;Role-based access control&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;learn-more&#34;&gt;Learn more&lt;/h3&gt;
&lt;p&gt;Want to know more? Complete the &lt;a href=&#34;/tutorials/create-users-and-teams&#34;&gt;Create users and teams&lt;/a&gt; tutorial to learn how to set up users and teams.&lt;/p&gt;
]]></content><description>&lt;h1 id="roles-and-permissions">Roles and permissions&lt;/h1>
&lt;p>A &lt;em>user&lt;/em> is any individual who can log in to Grafana. Each user is associated with a &lt;em>role&lt;/em> that includes &lt;em>permissions&lt;/em>. Permissions determine the tasks a user can perform in the system. For example, the &lt;strong>Admin&lt;/strong> role includes permissions for an administrator to create and delete users.&lt;/p></description></item><item><title>View server statistics and license</title><link>https://grafana.com/docs/grafana/v11.0/administration/stats-and-license/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/stats-and-license/</guid><content><![CDATA[&lt;h1 id=&#34;view-server-statistics-and-license&#34;&gt;View server statistics and license&lt;/h1&gt;
&lt;p&gt;This setting contains information about tools that Grafana Server Admins can use to learn more about their Grafana servers.&lt;/p&gt;
&lt;h2 id=&#34;view-grafana-server-settings&#34;&gt;View Grafana server settings&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Refer to &lt;a href=&#34;../roles-and-permissions/access-control/&#34;&gt;Role-based access control&lt;/a&gt; in Grafana Enterprise to understand how you can control access with RBAC permissions.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you are a Grafana server administrator, use the Settings tab to view the settings that are applied to your Grafana server via the &lt;a href=&#34;../../setup-grafana/configure-grafana/#configuration-file-location&#34;&gt;Configuration&lt;/a&gt; file and any environmental variables.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Only Grafana server administrators can access the &lt;strong&gt;Server Admin&lt;/strong&gt; menu. For more information about about administrative permissions, refer to &lt;a href=&#34;../roles-and-permissions/#grafana-server-administrators&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;view-server-settings&#34;&gt;View server settings&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Log in to your Grafana server with an account that has the Grafana Admin flag set.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;General&lt;/strong&gt;, and then &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;available-settings&#34;&gt;Available settings&lt;/h3&gt;
&lt;p&gt;For a full list of server settings, refer to &lt;a href=&#34;../../setup-grafana/configure-grafana/#server&#34;&gt;Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;view-grafana-server-stats&#34;&gt;View Grafana server stats&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Refer to &lt;a href=&#34;../roles-and-permissions/access-control/&#34;&gt;Role-based access control&lt;/a&gt; in Grafana Enterprise to understand how you can control access with RBAC permissions.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you are a Grafana server admin, then you can view useful statistics about your Grafana server in the Stats &amp;amp; Licensing tab.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Only Grafana server administrators can access the &lt;strong&gt;Server Admin&lt;/strong&gt; menu. For more information about about administrative permissions, refer to &lt;a href=&#34;../roles-and-permissions/#grafana-server-administrators&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;view-server-stats&#34;&gt;View server stats&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Log in to your Grafana server with an account that has the Grafana Admin flag set.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;General&lt;/strong&gt;, and then &lt;strong&gt;Stats and license&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;available-stats&#34;&gt;Available stats&lt;/h3&gt;
&lt;p&gt;The following statistics are displayed in the Stats tab:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Total users
&lt;strong&gt;Note:&lt;/strong&gt; Total users = Total admins &#43; Total editors &#43; Total viewers&lt;/li&gt;
&lt;li&gt;Total admins&lt;/li&gt;
&lt;li&gt;Total editors&lt;/li&gt;
&lt;li&gt;Total viewers&lt;/li&gt;
&lt;li&gt;Active users (seen last 30 days)
&lt;strong&gt;Note:&lt;/strong&gt; Active users = Active admins &#43; Active editors &#43; Active viewers&lt;/li&gt;
&lt;li&gt;Active admins (seen last 30 days)&lt;/li&gt;
&lt;li&gt;Active editors (seen last 30 days)&lt;/li&gt;
&lt;li&gt;Active viewers (seen last 30 days)&lt;/li&gt;
&lt;li&gt;Active sessions&lt;/li&gt;
&lt;li&gt;Total dashboards&lt;/li&gt;
&lt;li&gt;Total orgs&lt;/li&gt;
&lt;li&gt;Total playlists&lt;/li&gt;
&lt;li&gt;Total snapshots&lt;/li&gt;
&lt;li&gt;Total dashboard tags&lt;/li&gt;
&lt;li&gt;Total starred dashboards&lt;/li&gt;
&lt;li&gt;Total alerts&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;counting-users&#34;&gt;Counting users&lt;/h3&gt;
&lt;p&gt;If a user belongs to several organizations, then that user is counted once as a user in the highest organization role they are assigned, regardless of how many organizations the user belongs to.&lt;/p&gt;
&lt;p&gt;For example, if Sofia is a Viewer in two organizations, an Editor in two organizations, and Admin in three organizations, then she would be reflected in the stats as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Total users 1&lt;/li&gt;
&lt;li&gt;Total admins 1&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="view-server-statistics-and-license">View server statistics and license&lt;/h1>
&lt;p>This setting contains information about tools that Grafana Server Admins can use to learn more about their Grafana servers.&lt;/p>
&lt;h2 id="view-grafana-server-settings">View Grafana server settings&lt;/h2>
&lt;blockquote>
&lt;p>Refer to &lt;a href="../roles-and-permissions/access-control/">Role-based access control&lt;/a> in Grafana Enterprise to understand how you can control access with RBAC permissions.&lt;/p></description></item><item><title>Grafana Enterprise license</title><link>https://grafana.com/docs/grafana/v11.0/administration/enterprise-licensing/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/enterprise-licensing/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-enterprise-license&#34;&gt;Grafana Enterprise license&lt;/h1&gt;
&lt;p&gt;When you become a Grafana Enterprise customer, you gain access to Grafana&amp;rsquo;s premium observability features, including enterprise data source plugins, reporting, and role-based access control. In order to use these &lt;a href=&#34;../../introduction/grafana-enterprise/&#34;&gt;enhanced features of Grafana Enterprise&lt;/a&gt;, you must purchase and activate a Grafana Enterprise license.&lt;/p&gt;
&lt;p&gt;To purchase a license directly from Grafana Labs, &lt;a href=&#34;/contact?about=grafana-enterprise&#34;&gt;Contact a Grafana Labs representative&lt;/a&gt;. To activate an Enterprise license purchased from Grafana Labs, refer to &lt;a href=&#34;#activate-an-enterprise-license&#34;&gt;Activate an Enterprise license&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also purchase a Grafana Enterprise license through the AWS Marketplace. To learn more about activating a license purchased through AWS, refer to &lt;a href=&#34;activate-aws-marketplace-license/&#34;&gt;Activate a Grafana Enterprise license purchased through AWS Marketplace&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/enterprise-licensing/activate-aws-marketplace-license/&#34;&gt;Activate a Grafana Enterprise license purchased through AWS Marketplace&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2 id=&#34;activate-an-enterprise-license&#34;&gt;Activate an Enterprise license&lt;/h2&gt;
&lt;p&gt;Follow these steps to activate your Grafana Enterprise license:&lt;/p&gt;
&lt;h3 id=&#34;step-1-download-your-license-file&#34;&gt;Step 1. Download your license file&lt;/h3&gt;
&lt;p&gt;To download your Grafana Enterprise license:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to your &lt;a href=&#34;/&#34;&gt;Grafana Cloud&lt;/a&gt; account.&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;My Account&lt;/strong&gt; and select an organization from the drop-down menu at the top left of the page. On the Overview page for each organization, you can see a section for Grafana Enterprise licenses. Click &lt;strong&gt;Details&lt;/strong&gt; next to a license.&lt;/li&gt;
&lt;li&gt;At the bottom of the license details page, select &lt;strong&gt;Download token&lt;/strong&gt; to download the &lt;code&gt;license.jwt&lt;/code&gt; file that contains your license.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;step-2-add-your-license-to-a-grafana-instance&#34;&gt;Step 2. Add your license to a Grafana instance&lt;/h3&gt;
&lt;p&gt;You must install a Grafana Enterprise build to use the enterprise features, which you can &lt;a href=&#34;/grafana/download?edition=enterprise&#34;&gt;download&lt;/a&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;If you already use Grafana OSS, you can replace it with the same version of Grafana Enterprise.
Ensure that you back up the configuration and database before proceeding.
For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v11.0/administration/back-up-grafana/&#34;&gt;Back up Grafana&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;There is more than one way to add the license to a Grafana instance:&lt;/p&gt;
&lt;h4 id=&#34;upload-the-license-file-via-the-grafana-server-administrator-page&#34;&gt;Upload the license file via the Grafana server administrator page&lt;/h4&gt;
&lt;p&gt;This is the preferred option for single instance installations of Grafana Enterprise.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in as a Grafana server administrator.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration &amp;gt; General &amp;gt; Stats and license&lt;/strong&gt; in the side navigation menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Upload a new token&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select your license file, and upload it.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;put-the-licensejwt-file-into-the-data-directory-of-grafana&#34;&gt;Put the &lt;code&gt;license.jwt&lt;/code&gt; file into the data directory of Grafana&lt;/h4&gt;
&lt;p&gt;On Linux systems, the data directory is usually at &lt;code&gt;/var/lib/grafana&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can also configure a custom location for the license file using the grafana.ini setting:&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;Bash&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-bash&#34;&gt;[enterprise]
license_path = /company/secrets/license.jwt&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This setting can also be set with an environment variable, which is useful if you&amp;rsquo;re running Grafana with Docker and have a custom volume where you have placed the license file. In this case, set the environment variable &lt;code&gt;GF_ENTERPRISE_LICENSE_PATH&lt;/code&gt; to point to the location of your license file.&lt;/p&gt;
&lt;h4 id=&#34;set-the-content-of-the-license-file-as-a-configuration-option&#34;&gt;Set the content of the license file as a configuration option&lt;/h4&gt;
&lt;p&gt;You can add a license by pasting the content of the &lt;code&gt;license.jwt&lt;/code&gt;
to the grafana.ini configuration file:&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;Bash&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-bash&#34;&gt;[enterprise]
license_text = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGlzIjoiaXMiLCJub3QiOiJhIiwidmFsaWQiOiJsaWNlbnNlIn0.bxDzxIoJlYMwiEYKYT_l2s42z0Y30tY-6KKoyz9RuLE&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This option can be set using the &lt;code&gt;GF_ENTERPRISE_LICENSE_TEXT&lt;/code&gt;
environment variable.&lt;/p&gt;
&lt;h3 id=&#34;step-3-ensure-that-the-license-files-root-url-matches-the-root_url-configuration-option&#34;&gt;Step 3. Ensure that the license file&amp;rsquo;s root URL matches the root_url configuration option&lt;/h3&gt;
&lt;p&gt;Update the &lt;a href=&#34;../../setup-grafana/configure-grafana/#root_url&#34;&gt;&lt;code&gt;root_url&lt;/code&gt;&lt;/a&gt; in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).&lt;/p&gt;
&lt;p&gt;This is important, because as part of the validation checks at startup, Grafana compares the license URL to the &lt;a href=&#34;../../setup-grafana/configure-grafana/#root_url&#34;&gt;&lt;code&gt;root_url&lt;/code&gt;&lt;/a&gt; in your configuration.&lt;/p&gt;
&lt;p&gt;In your configuration file:&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;[server]
root_url = https://grafana.example.com/&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Or with an environment variable:&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;GF_SERVER_ROOT_URL=https://grafana.example.com/&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;step-4-restart-grafana&#34;&gt;Step 4. Restart Grafana&lt;/h3&gt;
&lt;p&gt;To finalize the installation of Grafana Enterprise, restart Grafana to enable all Grafana Enterprise features. Refer to &lt;a href=&#34;../../setup-grafana/start-restart-grafana/&#34;&gt;restart Grafana&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h2 id=&#34;license-expiration&#34;&gt;License expiration&lt;/h2&gt;
&lt;p&gt;If your license has expired, most of Grafana keeps working as normal. Some enterprise functionality stops or runs with reduced functionality and Grafana displays a banner informing the users that Grafana is running on an expired license. Your Grafana admin needs to upload a new license file to restore full functionality.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Replace your license as soon as possible. Running Grafana Enterprise with an expired license is unsupported and can lead to unexpected consequences.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;update-your-license&#34;&gt;Update your license&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Locate your current &lt;code&gt;license.jwt&lt;/code&gt; file. In a standard installation it is stored inside the Grafana data directory, which on a typical Linux installation is in &lt;code&gt;/var/lib/grafana/data&lt;/code&gt;. This location might be overridden in the ini file &lt;a href=&#34;../../setup-grafana/configure-grafana/&#34;&gt;Configuration&lt;/a&gt;.&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;ini&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-ini&#34;&gt;[enterprise]
license_path = /path/to/your/license.jwt&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The configuration file&amp;rsquo;s location may also be overridden by the &lt;code&gt;GF_ENTERPRISE_LICENSE_PATH&lt;/code&gt; environment variable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Log in to your &lt;a href=&#34;/login&#34;&gt;Grafana Cloud Account&lt;/a&gt; and make sure you&amp;rsquo;re in the correct organization in the dropdown at the top of the page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Under the &lt;strong&gt;Grafana Enterprise&lt;/strong&gt; section in the menu bar to the left, choose licenses and download the currently valid license with which you want to run Grafana. If you cannot see a valid license on Grafana.com, please contact your account manager at Grafana Labs to renew your subscription.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Replace the current &lt;code&gt;license.jwt&lt;/code&gt;-file with the one you&amp;rsquo;ve just downloaded.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../setup-grafana/start-restart-grafana/&#34;&gt;Restart Grafana&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;if-your-license-expires&#34;&gt;If your license expires&lt;/h3&gt;
&lt;p&gt;If your Grafana Enterprise license expires, you can expect the following changes in feature behavior.&lt;/p&gt;
&lt;h4 id=&#34;data-source-permissions&#34;&gt;Data source permissions&lt;/h4&gt;
&lt;p&gt;Your current data source permissions will keep working as expected, but you&amp;rsquo;ll be unable to add new data source permissions until the license has been renewed.&lt;/p&gt;
&lt;h4 id=&#34;ldap-authentication&#34;&gt;LDAP authentication&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;LDAP synchronization is not affected by an expired license.&lt;/li&gt;
&lt;li&gt;Team sync debugging is unavailable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;saml-authentication&#34;&gt;SAML authentication&lt;/h4&gt;
&lt;p&gt;SAML authentication is not affected by an expired license.&lt;/p&gt;
&lt;h4 id=&#34;role-based-access-control-rbac&#34;&gt;Role-based access control (RBAC)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Creating, updating and deleting custom roles is not available.&lt;/li&gt;
&lt;li&gt;Modifying permissions for custom roles is not available.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;reporting&#34;&gt;Reporting&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;You&amp;rsquo;re unable to configure new reports or generate previews.&lt;/li&gt;
&lt;li&gt;Existing reports continue to be sent.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;enterprise-plugins&#34;&gt;Enterprise plugins&lt;/h4&gt;
&lt;p&gt;Enterprise plugins might stop working.&lt;/p&gt;
&lt;h4 id=&#34;white-labeling&#34;&gt;White labeling&lt;/h4&gt;
&lt;p&gt;The white labeling feature is turned off, meaning that any white labeling options will not have any effect.&lt;/p&gt;
&lt;h4 id=&#34;usage-insights&#34;&gt;Usage insights&lt;/h4&gt;
&lt;p&gt;Exporting usage insights logs to Loki will be turned off for licenses expired for more than 7 days.&lt;/p&gt;
&lt;p&gt;All the other usage insights features are turned off as soon as the license expires, meaning that you will not be able to see dashboard usage, presence indicators, or use improved search. Grafana continues to collect usage data and you will have access to it as soon as you update your license.&lt;/p&gt;
&lt;h4 id=&#34;vault-integration&#34;&gt;Vault integration&lt;/h4&gt;
&lt;p&gt;Vault integration is not affected by an expired license.&lt;/p&gt;
&lt;h4 id=&#34;auditing&#34;&gt;Auditing&lt;/h4&gt;
&lt;p&gt;Auditing is not affected by an expired license.&lt;/p&gt;
&lt;h4 id=&#34;license-restrictions&#34;&gt;License restrictions&lt;/h4&gt;
&lt;p&gt;The concurrent session limit remains active for seven days after the expiration date, after which it will be turned off.&lt;/p&gt;
&lt;p&gt;The active users limit is turned off immediately.&lt;/p&gt;
&lt;h4 id=&#34;settings-updates-at-runtime&#34;&gt;Settings updates at runtime&lt;/h4&gt;
&lt;p&gt;Settings updates at runtime are not affected by an expired license.&lt;/p&gt;
&lt;h4 id=&#34;email-sharing&#34;&gt;Email sharing&lt;/h4&gt;
&lt;p&gt;External users can&amp;rsquo;t access dashboards shared via email anymore.
These dashboards are now private but you can make them public and accessible to everyone if you want to.&lt;/p&gt;
&lt;p&gt;Grafana keeps your sharing configurations and restores them after you update your license.&lt;/p&gt;
&lt;h2 id=&#34;grafana-enterprise-license-restrictions&#34;&gt;Grafana Enterprise license restrictions&lt;/h2&gt;
&lt;p&gt;When you become a Grafana Enterprise customer, you receive a license that governs your use of Grafana Enterprise.&lt;/p&gt;
&lt;h3 id=&#34;active-users-limit&#34;&gt;Active users limit&lt;/h3&gt;
&lt;p&gt;Your Grafana license includes a maximum number of active users.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An &lt;em&gt;active user&lt;/em&gt; is a user who has signed in to Grafana within the last 30 days. This is a rolling window that is updated daily.&lt;/li&gt;
&lt;li&gt;When you reach the maximum number of active users, only currently active users (users who have signed in over the past 30 days) can sign in. When a new user or a previously-inactive user tries to sign in, the user will see an error message indicating that Grafana has reached its license limit.&lt;/li&gt;
&lt;li&gt;The user&amp;rsquo;s role, number of dashboards that a user can view or edit, and the number of organizations that they can access does not affect the active user count.&lt;/li&gt;
&lt;li&gt;A license limit banner appears to administrators when Grafana reaches its active user limit; editors and viewers do not see the banner.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;determine-the-number-of-active-users&#34;&gt;Determine the number of active users&lt;/h4&gt;
&lt;p&gt;To determine the number of active users:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Sign in to Grafana Enterprise as a System Administrator.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the side navigation menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Stats and license&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Review the utilization count on the &lt;strong&gt;Utilization&lt;/strong&gt; panel.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;tiered-licensing-deprecated&#34;&gt;Tiered licensing (deprecated)&lt;/h3&gt;
&lt;p&gt;A tiered license defines dashboard viewers, and dashboard editors and administrators, as two distinct user types that each have their own user limit.&lt;/p&gt;
&lt;p&gt;As of Grafana Enterprise version 9.0, Grafana only counts and enforces the &lt;em&gt;total&lt;/em&gt; number of active users in your Grafana instance. For example, if you purchase 150 active users, you can have 20 admins, 70 editors, and 60 viewers, or you can have 150 admins. Grafana will enforce the total number of active users even if you use a license that grants a specific number of admins or editors and a certain number of viewers. This is a more permissive policy than before, which gives you the flexibility to change users&amp;rsquo; roles.&lt;/p&gt;
&lt;p&gt;If you are running a pre-9.0 version of Grafana Enterprise, please refer to the documentation for that version to learn more about license enforcement in your current version.&lt;/p&gt;
&lt;h3 id=&#34;additional-license-restrictions&#34;&gt;Additional license restrictions&lt;/h3&gt;
&lt;p&gt;Your license is controlled by the following rules:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;License expiration date:&lt;/strong&gt; The license includes an expiration date, which is the date when a license becomes inactive.&lt;/p&gt;
&lt;p&gt;As the license expiration date approaches, you will see a banner in Grafana that encourages you to renew. To learn about how to renew your license and what happens in Grafana when a license expires, refer to &lt;a href=&#34;#license-expiration&#34;&gt;License expiration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Grafana License URL:&lt;/strong&gt; Your license does not work with an instance of Grafana with a different root URL.&lt;/p&gt;
&lt;p&gt;The License URL is the complete URL of your Grafana instance, for example &lt;code&gt;https://grafana.your-company.com/&lt;/code&gt;. It is defined in the &lt;a href=&#34;../../setup-grafana/configure-grafana/#root_url&#34;&gt;root_url&lt;/a&gt; configuration setting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Concurrent sessions limit&lt;/strong&gt;: As of Grafana Enterprise 7.5, users can initiate up to three concurrent sessions of Grafana.&lt;/p&gt;
&lt;p&gt;The system creates a session when a user signs in to Grafana from a new device, a different browser, or an incognito window. If a user signs in to Grafana from another tab or window within the same browser, only one session is used.&lt;/p&gt;
&lt;p&gt;When a user reaches the session limit, the fourth connection succeeds and the longest inactive session is signed out.&lt;/p&gt;
&lt;h3 id=&#34;request-usage-billing&#34;&gt;Request usage billing&lt;/h3&gt;
&lt;p&gt;You can request Grafana Labs to activate usage billing which allows an unlimited number of active users. When usage billing is enabled, Grafana does not enforce active user limits or display warning banners. Instead, you are charged for active users that exceed the limit, according to your customer contract.&lt;/p&gt;
&lt;p&gt;Usage billing involves a contractual agreement between you and Grafana Labs, and it is only available if Grafana Enterprise is configured to &lt;a href=&#34;../../setup-grafana/configure-grafana/enterprise-configuration/#auto_refresh_license&#34;&gt;automatically refresh its license token&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;request-a-change-to-your-license&#34;&gt;Request a change to your license&lt;/h3&gt;
&lt;p&gt;To increase the number of licensed users within Grafana, extend a license, or change your licensed URL, contact &lt;a href=&#34;/profile/org#support&#34;&gt;Grafana support&lt;/a&gt; or your Grafana Labs account team. They will update your license, which you can activate from within Grafana.&lt;/p&gt;
&lt;p&gt;For instructions about how to activate your license after it is updated, refer to &lt;a href=&#34;#activate-an-enterprise-license&#34;&gt;Activate an Enterprise license&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="grafana-enterprise-license">Grafana Enterprise license&lt;/h1>
&lt;p>When you become a Grafana Enterprise customer, you gain access to Grafana&amp;rsquo;s premium observability features, including enterprise data source plugins, reporting, and role-based access control. In order to use these &lt;a href="../../introduction/grafana-enterprise/">enhanced features of Grafana Enterprise&lt;/a>, you must purchase and activate a Grafana Enterprise license.&lt;/p></description></item><item><title>Organization preferences</title><link>https://grafana.com/docs/grafana/v11.0/administration/organization-preferences/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/organization-preferences/</guid><content><![CDATA[&lt;h1 id=&#34;organization-preferences&#34;&gt;Organization preferences&lt;/h1&gt;
&lt;p&gt;Grafana preferences are basic settings. They control the Grafana UI theme, home dashboard, time zone, and so on.&lt;/p&gt;
&lt;p&gt;Preferences are sometimes confusing because they can be set at four different levels, listed from highest level to lowest:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Server -&lt;/strong&gt; Affects all users on the Grafana server. Set by a &lt;a href=&#34;../roles-and-permissions/#grafana-server-administrators&#34;&gt;Grafana server admin&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organization -&lt;/strong&gt; Affects all users in an organization. Set by an &lt;a href=&#34;../roles-and-permissions/#organization-roles&#34;&gt;Organization admin&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Team -&lt;/strong&gt; Affects all users assigned to a team. Set by an Organization Admin or Team Admin. To learn more about these roles, refer to &lt;a href=&#34;../roles-and-permissions/#teams-and-permissions&#34;&gt;Teams and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User account -&lt;/strong&gt; Affects the individual user. Set by the user on their own account.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The lowest level always takes precedence. For example, if a user sets their theme to &lt;strong&gt;Light&lt;/strong&gt;, then their visualization of Grafana displays the light theme. Nothing at any higher level can override that.&lt;/p&gt;
&lt;p&gt;If the user is aware of the change and intended it, then that&amp;rsquo;s great! But if the user is a Server Admin who made the change to their user preferences a long time ago, they might have forgotten they did that. Then, if that Server Admin is trying to change the theme at the server level, they&amp;rsquo;ll get frustrated as none of their changes have any effect that they can see. (Also, the users on the server might be confused, because &lt;em&gt;they&lt;/em&gt; can see the server-level changes!)&lt;/p&gt;
&lt;h2 id=&#34;change-grafana-name-and-email&#34;&gt;Change Grafana name and email&lt;/h2&gt;
&lt;p&gt;In Grafana, you can change your names and emails associated with groups or accounts in the Settings or Preferences. This topic provides instructions for each task.&lt;/p&gt;
&lt;p&gt;Some tasks require certain permissions. For more information about roles, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;change-organization-name&#34;&gt;Change organization name&lt;/h3&gt;
&lt;p&gt;Grafana server administrators and organization administrators can change organization names.&lt;/p&gt;
&lt;h4 id=&#34;grafana-server-admin-change-organization-name&#34;&gt;Grafana Server Admin change organization name&lt;/h4&gt;
&lt;p&gt;Follow these instructions if you are a Grafana Server Admin.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Organizations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the organization list, click the name of the organization that you want to change.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Name&lt;/strong&gt;, enter the new organization name.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Update&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;organization-admin-change-organization-name&#34;&gt;Organization Admin change organization name&lt;/h4&gt;
&lt;p&gt;If you are an Organization Admin, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Default preferences&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Organization name&lt;/strong&gt;, enter the new name.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Update organization name&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;change-team-name-or-email&#34;&gt;Change team name or email&lt;/h3&gt;
&lt;p&gt;Organization administrators and team administrators can change team names and email addresses.
To change the team name or email, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;Team&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the team list, click the name of the team that you want to change.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Settings&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;In the Team details section, you can edit the following:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name -&lt;/strong&gt; Edit this field to change the display name associated with the team.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email -&lt;/strong&gt; Edit this field to change the email address associated with the team.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Update&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;change-user-name-or-email&#34;&gt;Change user name or email&lt;/h3&gt;
&lt;p&gt;To learn how to edit your user information, refer to &lt;a href=&#34;../user-management/user-preferences/#edit-your-profile&#34;&gt;Edit your profile&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;change-grafana-ui-theme&#34;&gt;Change Grafana UI theme&lt;/h2&gt;
&lt;p&gt;In Grafana, you can modify the UI theme configured in the Settings or Preferences. Set the UI theme for the server, an organization, a team, or your personal user account using the instructions in this topic.&lt;/p&gt;
&lt;p&gt;Some tasks require certain permissions. For more information about roles, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;theme-options&#34;&gt;Theme options&lt;/h3&gt;
&lt;p&gt;The theme affects how Grafana displays graphs, menus, other UI elements.&lt;/p&gt;
&lt;h4 id=&#34;default&#34;&gt;Default&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt; is either the dark theme or the theme selected in a higher level. For example, if an Organization administrator set the &lt;strong&gt;Light&lt;/strong&gt; theme, then that is the default for all the teams in that organization.&lt;/p&gt;
&lt;h4 id=&#34;dark&#34;&gt;Dark&lt;/h4&gt;
&lt;p&gt;Here is an example of the dark theme.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/preferences/dark-theme-7-4.png&#34;
  alt=&#34;Dark theme example&#34; width=&#34;1200&#34;
     height=&#34;230&#34;/&gt;&lt;/p&gt;
&lt;h4 id=&#34;light&#34;&gt;Light&lt;/h4&gt;
&lt;p&gt;Here is an example of the light theme.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/preferences/light-theme-7-4.png&#34;
  alt=&#34;Light theme example&#34; width=&#34;1200&#34;
     height=&#34;228&#34;/&gt;&lt;/p&gt;
&lt;h3 id=&#34;change-server-ui-theme&#34;&gt;Change server UI theme&lt;/h3&gt;
&lt;p&gt;As a Grafana server administrator, you can change the default Grafana UI theme for all users who are on the server by setting the &lt;a href=&#34;../../setup-grafana/configure-grafana/#default_theme&#34;&gt;default_theme&lt;/a&gt; option in the Grafana configuration file.&lt;/p&gt;
&lt;p&gt;To see what the current settings are, refer to &lt;a href=&#34;../stats-and-license/#view-server-settings&#34;&gt;View server settings&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;change-organization-ui-theme&#34;&gt;Change organization UI theme&lt;/h3&gt;
&lt;p&gt;Organization administrators can change the UI theme for all users in an organization.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Default preferences&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Preferences section, select the UI theme.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;change-team-ui-theme&#34;&gt;Change team UI theme&lt;/h3&gt;
&lt;p&gt;Organization and team administrators can change the UI theme for all users on a team.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;Teams&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the team for which you want to change the UI theme.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Settings&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;In the Preferences section, select the UI theme.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;change-your-personal-ui-theme&#34;&gt;Change your personal UI theme&lt;/h3&gt;
&lt;p&gt;You can change the UI theme for your user account. This setting overrides UI theme settings at higher levels.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the user icon in the top right corner of the page and select &lt;strong&gt;Profile&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Preferences section, select the UI theme.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;change-the-grafana-default-timezone&#34;&gt;Change the Grafana default timezone&lt;/h2&gt;
&lt;p&gt;By default, Grafana uses the timezone in your web browser. However, you can override this setting at the server, organization, team, or individual user level. This topic provides instructions for each task.&lt;/p&gt;
&lt;p&gt;Some tasks require certain permissions. For more information about roles, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;set-server-timezone&#34;&gt;Set server timezone&lt;/h3&gt;
&lt;p&gt;Grafana server administrators can choose a default timezone for all users on the server by setting the &lt;a href=&#34;../../setup-grafana/configure-grafana/#default_timezone&#34;&gt;default_timezone&lt;/a&gt; option in the Grafana configuration file.&lt;/p&gt;
&lt;h3 id=&#34;set-organization-timezone&#34;&gt;Set organization timezone&lt;/h3&gt;
&lt;p&gt;Organization administrators can choose a default timezone for their organization.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Default preferences&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click to select an option in the &lt;strong&gt;Timezone&lt;/strong&gt; list. &lt;strong&gt;Default&lt;/strong&gt; is either the browser local timezone or the timezone selected at a higher level.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;set-team-timezone&#34;&gt;Set team timezone&lt;/h3&gt;
&lt;p&gt;Organization administrators and team administrators can choose a default timezone for all users on a team.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;Teams&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the team for which you want to change the timezone.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Settings&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Click to select an option in the &lt;strong&gt;Timezone&lt;/strong&gt; list. &lt;strong&gt;Default&lt;/strong&gt; is either the browser local timezone or the timezone selected at a higher level.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;set-your-personal-timezone&#34;&gt;Set your personal timezone&lt;/h3&gt;
&lt;p&gt;You can change the timezone for your user account. This setting overrides timezone settings at higher levels.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the user icon in the top right corner of the page and select &lt;strong&gt;Profile&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click to select an option in the &lt;strong&gt;Timezone&lt;/strong&gt; list. &lt;strong&gt;Default&lt;/strong&gt; is either the browser local timezone or the timezone selected at a higher level.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;change-the-default-home-dashboard&#34;&gt;Change the default home dashboard&lt;/h2&gt;
&lt;p&gt;The home dashboard you set is the one all users will see by default when they log in. Click the Grafana icon or &lt;strong&gt;Home&lt;/strong&gt; in the breadcrumb to return to it. You can set the home dashboard for the server, an organization, a team, or your personal user account. This topic provides instructions for each task.&lt;/p&gt;
&lt;p&gt;Some tasks require certain permissions. For more information about roles, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;set-the-home-dashboard-for-the-server&#34;&gt;Set the home dashboard for the server&lt;/h3&gt;
&lt;p&gt;Users with the Grafana Server Admin flag on their account or access to the configuration file can define a JSON file to use as the home dashboard for all users on the server.&lt;/p&gt;
&lt;h4 id=&#34;optional-convert-an-existing-dashboard-into-a-json-file&#34;&gt;[Optional] Convert an existing dashboard into a JSON file&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the page of the dashboard you want to use as the home dashboard.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Share&lt;/strong&gt; button at the top right of the screen.&lt;/li&gt;
&lt;li&gt;In the Export tab, click &lt;strong&gt;Save to file&lt;/strong&gt;. Grafana converts the dashboard to a JSON file and saves it locally.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;use-a-json-file-as-the-home-dashboard&#34;&gt;Use a JSON file as the home dashboard&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Save your JSON file somewhere that Grafana can access it. For example, in the Grafana &lt;code&gt;data&lt;/code&gt; folder of Grafana.&lt;/li&gt;
&lt;li&gt;Update your configuration file to set the path to the JSON file. Refer to &lt;a href=&#34;../../setup-grafana/configure-grafana/#default_home_dashboard_path&#34;&gt;default_home_dashboard_path&lt;/a&gt; for more information about modifying the Grafana configuration files.&lt;/li&gt;
&lt;/ol&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;ini&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-ini&#34;&gt;[dashboards]
# Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath &amp;#43; &amp;#34;dashboards/home.json&amp;#34;
default_home_dashboard_path = data/main-dashboard.json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&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;On Linux, Grafana uses &lt;code&gt;/usr/share/grafana/public/dashboards/home.json&lt;/code&gt; as the default home dashboard location.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;set-the-home-dashboard-for-your-organization&#34;&gt;Set the home dashboard for your organization&lt;/h3&gt;
&lt;p&gt;Organization administrators can choose a default home dashboard for their organization.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the dashboard you want to set as the home dashboard.&lt;/li&gt;
&lt;li&gt;Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Default preferences&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Home Dashboard&lt;/strong&gt; field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;set-home-dashboard-for-your-team&#34;&gt;Set home dashboard for your team&lt;/h3&gt;
&lt;p&gt;Organization administrators and Team Admins can set a default home dashboard for all users on a team.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the dashboard you want to set as the home dashboard.&lt;/li&gt;
&lt;li&gt;Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;Teams&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the team for which you want to change the home dashboard.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Settings&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Home Dashboard&lt;/strong&gt; field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;set-your-personal-home-dashboard&#34;&gt;Set your personal home dashboard&lt;/h3&gt;
&lt;p&gt;You can choose your own personal home dashboard. This setting overrides all home dashboards set at higher levels.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the dashboard you want to set as the home dashboard.&lt;/li&gt;
&lt;li&gt;Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.&lt;/li&gt;
&lt;li&gt;Click the user icon in the top right corner of the page and select &lt;strong&gt;Profile&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Home Dashboard&lt;/strong&gt; field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;change-grafana-language&#34;&gt;Change Grafana language&lt;/h2&gt;
&lt;h3 id=&#34;change-server-language&#34;&gt;Change server language&lt;/h3&gt;
&lt;p&gt;Grafana server administrators can change the default Grafana UI language for all users on the server by setting the &lt;a href=&#34;../../setup-grafana/configure-grafana/#default_language&#34;&gt;default_language&lt;/a&gt; option in the Grafana configuration file.&lt;/p&gt;
&lt;h3 id=&#34;change-organization-language&#34;&gt;Change organization language&lt;/h3&gt;
&lt;p&gt;Organization administrators can change the language for all users in an organization.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Default preferences&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Preferences section, select an option in the &lt;strong&gt;Language&lt;/strong&gt; dropdown.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;change-team-language&#34;&gt;Change team language&lt;/h3&gt;
&lt;p&gt;Organization and team administrators can set a default language for all users on a team.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;Teams&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the team for which you want to change the language.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Settings&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;In the Preferences section, select an option in the &lt;strong&gt;Language&lt;/strong&gt; dropdown.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;change-your-personal-language&#34;&gt;Change your personal language&lt;/h3&gt;
&lt;p&gt;You can change the language for your user account. This setting overrides language settings at higher levels.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the user icon in the top right corner of the page and select &lt;strong&gt;Profile&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Preferences section, select an option in the &lt;strong&gt;Language&lt;/strong&gt; dropdown.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="organization-preferences">Organization preferences&lt;/h1>
&lt;p>Grafana preferences are basic settings. They control the Grafana UI theme, home dashboard, time zone, and so on.&lt;/p>
&lt;p>Preferences are sometimes confusing because they can be set at four different levels, listed from highest level to lowest:&lt;/p></description></item><item><title>Plugin management</title><link>https://grafana.com/docs/grafana/v11.0/administration/plugin-management/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/plugin-management/</guid><content><![CDATA[&lt;h1 id=&#34;plugin-management&#34;&gt;Plugin management&lt;/h1&gt;
&lt;p&gt;You can enhance your Grafana experience with &lt;em&gt;plugins&lt;/em&gt;, extensions to Grafana beyond the wide range of visualizations and data sources that are built-in.&lt;/p&gt;
&lt;p&gt;This guide shows you how to &lt;a href=&#34;#install-a-plugin&#34;&gt;install&lt;/a&gt; plugins that are built by Grafana Labs, commercial partners, our community, or plugins that you have &lt;a href=&#34;/developers/plugin-tools&#34;&gt;built yourself&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;types-of-plugins&#34;&gt;Types of plugins&lt;/h2&gt;
&lt;p&gt;Grafana supports three types of plugins:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/grafana/plugins/panel-plugins&#34;&gt;Panels&lt;/a&gt; - These plugins make it easy to create and add any kind of panel, to show your data, or improve your favorite dashboards.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/grafana/plugins/data-source-plugins&#34;&gt;Data sources&lt;/a&gt; - These plugins allow you to pull data from various data sources such as databases, APIs, log files, and so on, and display it in the form of graphs, charts, and dashboards in Grafana.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/grafana/plugins/app-plugins&#34;&gt;Apps&lt;/a&gt; - These plugins enable the bundling of data sources, panels, dashboards, and Grafana pages into a cohesive experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;panel-plugins&#34;&gt;Panel plugins&lt;/h2&gt;
&lt;p&gt;Add new visualizations to your dashboard with panel plugins, such as the &lt;a href=&#34;/grafana/plugins/grafana-clock-panel&#34;&gt;Clock&lt;/a&gt;, &lt;a href=&#34;/grafana/plugins/boazreicher-mosaicplot-panel&#34;&gt;Mosaic&lt;/a&gt; and &lt;a href=&#34;/grafana/plugins/volkovlabs-variable-panel&#34;&gt;Variable&lt;/a&gt; panels.&lt;/p&gt;
&lt;p&gt;Use panel plugins when you want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Visualize data returned by data source queries.&lt;/li&gt;
&lt;li&gt;Navigate between dashboards.&lt;/li&gt;
&lt;li&gt;Control external systems, such as smart home devices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;data-source-plugins&#34;&gt;Data source plugins&lt;/h2&gt;
&lt;p&gt;Data source plugins add support for new databases, such as &lt;a href=&#34;/grafana/plugins/grafana-bigquery-datasource&#34;&gt;Google BigQuery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Data source plugins communicate with external sources of data and return the data in a format that Grafana understands. By adding a data source plugin, you can immediately use the data in any of your existing dashboards.&lt;/p&gt;
&lt;p&gt;Use data source plugins when you want to query data from external or third-party systems.&lt;/p&gt;
&lt;h2 id=&#34;app-plugins&#34;&gt;App plugins&lt;/h2&gt;
&lt;p&gt;Applications, or &lt;em&gt;app plugins&lt;/em&gt;, bundle data sources and panels to provide a cohesive experience, such as the &lt;a href=&#34;/grafana/plugins/alexanderzobnin-zabbix-app&#34;&gt;Zabbix&lt;/a&gt; app.&lt;/p&gt;
&lt;p&gt;Apps can also add custom pages for things like control panels.&lt;/p&gt;
&lt;p&gt;Use app plugins when you want an out-of-the-box monitoring experience.&lt;/p&gt;
&lt;h3 id=&#34;managing-access-for-app-plugins&#34;&gt;Managing access for app plugins&lt;/h3&gt;
&lt;p&gt;Customize access to app plugins with &lt;a href=&#34;../roles-and-permissions/access-control/#about-rbac&#34;&gt;RBAC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By default, the Viewer, Editor and Admin roles have access to all app plugins that their Organization role allows them to access. Access is granted by the &lt;code&gt;fixed:plugins.app:reader&lt;/code&gt; role.&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;To prevent users from seeing an app plugin, refer to &lt;a href=&#34;../roles-and-permissions/access-control/plan-rbac-rollout-strategy/#prevent-viewers-from-accessing-an-app-plugin&#34;&gt;these permissions scenarios&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;plugin-catalog&#34;&gt;Plugin catalog&lt;/h2&gt;
&lt;p&gt;The Grafana plugin catalog allows you to browse and manage plugins from within Grafana. Only Grafana server administrators and Organization administrators can access and use the plugin catalog. For more information about Grafana roles and permissions, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following access rules apply depending on the user role:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you are an &lt;strong&gt;Org Admin&lt;/strong&gt;, you can configure app plugins, but you can&amp;rsquo;t install, uninstall, or update them.&lt;/li&gt;
&lt;li&gt;If you are a &lt;strong&gt;Server Admin&lt;/strong&gt;, you can&amp;rsquo;t configure app plugins, but you can install, uninstall, or update them.&lt;/li&gt;
&lt;li&gt;If you are both &lt;strong&gt;Org Admin&lt;/strong&gt; and &lt;strong&gt;Server Admin&lt;/strong&gt;, you can configure app plugins and also install, uninstall, or update them.&lt;/li&gt;
&lt;/ul&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;The Grafana plugin catalog is designed to work with a single Grafana server instance only. Support for Grafana clusters is planned for future Grafana releases.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;div class=&#34;medium-6 columns&#34;&gt;
  &lt;video width=&#34;700&#34; height=&#34;600&#34; controls&gt;
    &lt;source src=&#34;/static/assets/videos/plugins-catalog-install-9.2.mp4&#34; type=&#34;video/mp4&#34;&gt;
    Your browser does not support the video tag.
  &lt;/video&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Video shows the Plugin catalog in a previous version of Grafana.&lt;/em&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;If required, the Grafana plugin catalog can be disabled using the &lt;code&gt;plugin_admin_enabled&lt;/code&gt; flag in the &lt;a href=&#34;../../setup-grafana/configure-grafana/#plugin_admin_enabled&#34;&gt;configuration&lt;/a&gt; file.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;a id=&#34;#plugin-catalog-entry&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;browse-plugins&#34;&gt;Browse plugins&lt;/h3&gt;
&lt;p&gt;To browse for available plugins:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;While logged into Grafana as an administrator, click &lt;strong&gt;Administration &amp;gt; Plugins and data &amp;gt; Plugins&lt;/strong&gt; in the side menu to view installed and available plugins.&lt;/li&gt;
&lt;li&gt;Use the search to filter based on name, keywords, organization and other metadata.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Data sources&lt;/strong&gt;, &lt;strong&gt;Panels&lt;/strong&gt;, or &lt;strong&gt;Applications&lt;/strong&gt; buttons to filter by plugin type.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;install-a-plugin&#34;&gt;Install a plugin&lt;/h3&gt;
&lt;p&gt;To install a plugin:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, click &lt;strong&gt;Administration &amp;gt; Plugins and data &amp;gt; Plugins&lt;/strong&gt; in the side navigation menu to view all plugins.&lt;/li&gt;
&lt;li&gt;Browse and find a plugin.&lt;/li&gt;
&lt;li&gt;Click the plugin&amp;rsquo;s logo.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Install&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When the update is complete, you&amp;rsquo;ll see a confirmation message that the installation was successful.&lt;/p&gt;
&lt;h3 id=&#34;update-a-plugin&#34;&gt;Update a plugin&lt;/h3&gt;
&lt;p&gt;To update a plugin:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, click &lt;strong&gt;Administration &amp;gt; Plugins and data &amp;gt; Plugins&lt;/strong&gt; in the side navigation menu to view all plugins.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Installed&lt;/strong&gt; filter to show only installed plugins.&lt;/li&gt;
&lt;li&gt;Click the plugin&amp;rsquo;s logo.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Update&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When the update is complete, you&amp;rsquo;ll see a confirmation message that the update was successful.&lt;/p&gt;
&lt;h3 id=&#34;uninstall-a-plugin&#34;&gt;Uninstall a plugin&lt;/h3&gt;
&lt;p&gt;To uninstall a plugin:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, click &lt;strong&gt;Administration &amp;gt; Plugins and data &amp;gt; Plugins&lt;/strong&gt; in the side navigation menu to view all plugins.&lt;/li&gt;
&lt;li&gt;Click the plugin&amp;rsquo;s logo.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Installed&lt;/strong&gt; filter to show only installed plugins.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Uninstall&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When the update is complete, you&amp;rsquo;ll see a confirmation message that the uninstall was successful.&lt;/p&gt;
&lt;h2 id=&#34;install-grafana-plugins&#34;&gt;Install Grafana plugins&lt;/h2&gt;
&lt;p&gt;Grafana supports data source, panel, and app plugins.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In a web browser, navigate to the &lt;a href=&#34;/plugins&#34;&gt;Grafana plugin catalog&lt;/a&gt; and find a plugin that you want to install.&lt;/li&gt;
&lt;li&gt;Click the plugin, and then click the &lt;strong&gt;Installation&lt;/strong&gt; tab.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;install-plugin-on-grafana-cloud&#34;&gt;Install plugin on Grafana Cloud&lt;/h3&gt;
&lt;p&gt;On the &lt;strong&gt;Installation tab&lt;/strong&gt;, in the &lt;strong&gt;For&lt;/strong&gt; field, click the name of the Grafana instance on which you want to install the plugin.&lt;/p&gt;
&lt;p&gt;Grafana Cloud handles the plugin installation automatically.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re logged in to Grafana Cloud when you add a plugin, log out and then log back in again to use the new plugin.&lt;/p&gt;
&lt;h3 id=&#34;install-plugin-on-local-grafana&#34;&gt;Install plugin on local Grafana&lt;/h3&gt;
&lt;p&gt;Follow the instructions on the &lt;strong&gt;Install&lt;/strong&gt; tab. You can either install the plugin with a Grafana CLI command or by downloading and uncompressing a zip file into the Grafana plugins directory. We recommend using Grafana CLI in most instances. The zip option is available if your Grafana server doesn&amp;rsquo;t have access to the internet.&lt;/p&gt;
&lt;p&gt;For more information about Grafana CLI plugin commands, refer to &lt;a href=&#34;../../cli/#plugins-commands&#34;&gt;Plugin commands&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;install-a-packaged-plugin&#34;&gt;Install a packaged plugin&lt;/h4&gt;
&lt;p&gt;After the user has downloaded the archive containing the plugin assets, they can install it by extracting the archive into their plugin directory. 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;Bash&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-bash&#34;&gt;unzip my-plugin-0.2.0.zip -d YOUR_PLUGIN_DIR/my-plugin&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The path to the plugin directory is defined in the configuration file. For more information, refer to &lt;a href=&#34;../../setup-grafana/configure-grafana/#plugins&#34;&gt;Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;plugin-signatures&#34;&gt;Plugin signatures&lt;/h2&gt;
&lt;p&gt;Plugin signature verification, also known as &lt;em&gt;signing&lt;/em&gt;, is a security measure to make sure plugins haven&amp;rsquo;t been tampered with. Upon loading, Grafana checks to see if a plugin is signed or unsigned when inspecting and verifying its digital signature.&lt;/p&gt;
&lt;p&gt;At startup, Grafana verifies the signatures of every plugin in the plugin directory. If a plugin is unsigned, then Grafana neither loads nor starts it. To see the result of this verification for each plugin, navigate to &lt;strong&gt;Configuration&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Plugins&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Grafana also writes an error message to the server log:&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;Bash&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-bash&#34;&gt;WARN[05-26|12:00:00] Some plugin scanning errors were found   errors=&amp;#34;plugin &amp;#39;&amp;lt;plugin id&amp;gt;&amp;#39; is unsigned, plugin &amp;#39;&amp;lt;plugin id&amp;gt;&amp;#39; has an invalid signature&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you are a plugin developer and want to know how to sign your plugin, refer to &lt;a href=&#34;/developers/plugin-tools/publish-a-plugin/sign-a-plugin&#34;&gt;Sign a plugin&lt;/a&gt;.&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;Signature status&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;Core&lt;/td&gt;
              &lt;td&gt;Core plugin built into Grafana.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Invalid signature&lt;/td&gt;
              &lt;td&gt;The plugin has an invalid signature.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Modified signature&lt;/td&gt;
              &lt;td&gt;The plugin has changed since it was signed. This may indicate malicious intent.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Unsigned&lt;/td&gt;
              &lt;td&gt;The plugin is not signed.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Signed&lt;/td&gt;
              &lt;td&gt;The plugin signature was successfully verified.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;plugin-signature-levels&#34;&gt;Plugin signature levels&lt;/h3&gt;
&lt;p&gt;All plugins are signed under a &lt;em&gt;signature level&lt;/em&gt;. The signature level determines how the plugin can be distributed.&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;&lt;strong&gt;Plugin Level&lt;/strong&gt;&lt;/th&gt;
              &lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Private&lt;/td&gt;
              &lt;td&gt;&lt;p&gt;Private plugins are for use on your own Grafana. They may not be distributed to the Grafana community, and are not published in the Grafana catalog.&lt;/p&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Community&lt;/td&gt;
              &lt;td&gt;&lt;p&gt;Community plugins have dependent technologies that are open source and not for profit.&lt;/p&gt;&lt;p&gt;Community plugins are published in the official Grafana catalog, and are available to the Grafana community.&lt;/p&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Commercial&lt;/td&gt;
              &lt;td&gt;&lt;p&gt;Commercial plugins have dependent technologies that are closed source or commercially backed.&lt;/p&gt;&lt;p&gt;Commercial plugins are published on the official Grafana catalog, and are available to the Grafana community.&lt;/p&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;allow-unsigned-plugins&#34;&gt;Allow unsigned plugins&lt;/h3&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;Unsigned plugins are not supported in Grafana Cloud.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;We strongly recommend that you don&amp;rsquo;t run unsigned plugins in your Grafana instance. However, if you&amp;rsquo;re aware of the risks and you still want to load an unsigned plugin, refer to &lt;a href=&#34;../../setup-grafana/configure-grafana/#allow_loading_unsigned_plugins&#34;&gt;Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve allowed loading of an unsigned plugin, then Grafana writes a warning message to the server log:&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;Bash&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-bash&#34;&gt;WARN[06-01|16:45:59] Running an unsigned plugin   pluginID=&amp;lt;plugin id&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&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;If you&amp;rsquo;re developing a plugin, then you can enable development mode to allow all unsigned plugins.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;learn-more&#34;&gt;Learn more&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/grafana/plugins&#34;&gt;Browse plugins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/developers/plugin-tools&#34;&gt;Develop plugins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://community.grafana.com/c/plugin-development/30&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Plugin development Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="plugin-management">Plugin management&lt;/h1>
&lt;p>You can enhance your Grafana experience with &lt;em>plugins&lt;/em>, extensions to Grafana beyond the wide range of visualizations and data sources that are built-in.&lt;/p></description></item><item><title>Provision Grafana</title><link>https://grafana.com/docs/grafana/v11.0/administration/provisioning/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/provisioning/</guid><content><![CDATA[&lt;h1 id=&#34;provision-grafana&#34;&gt;Provision Grafana&lt;/h1&gt;
&lt;p&gt;In previous versions of Grafana, you could only use the API for provisioning data sources and dashboards. But that required the service to be running before you started creating dashboards and you also needed to set up credentials for the HTTP API. In v5.0 we decided to improve this experience by adding a new active provisioning system that uses config files. This will make GitOps more natural as data sources and dashboards can be defined via files that can be version controlled. We hope to extend this system to later add support for users and orgs as well.&lt;/p&gt;
&lt;h2 id=&#34;config-file&#34;&gt;Config File&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&#34;../../setup-grafana/configure-grafana/&#34;&gt;Configuration&lt;/a&gt; for more information on what you can configure in &lt;code&gt;grafana.ini&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;config-file-locations&#34;&gt;Config File Locations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Default configuration from &lt;code&gt;$WORKING_DIR/conf/defaults.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Custom configuration from &lt;code&gt;$WORKING_DIR/conf/custom.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The custom configuration file path can be overridden using the &lt;code&gt;--config&lt;/code&gt; parameter&lt;/li&gt;
&lt;/ul&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;If you have installed Grafana using the &lt;code&gt;deb&lt;/code&gt; or &lt;code&gt;rpm&lt;/code&gt;
packages, then your configuration file is located at
&lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;. This path is specified in the Grafana
init.d script using &lt;code&gt;--config&lt;/code&gt; file parameter.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;using-environment-variables&#34;&gt;Using Environment Variables&lt;/h3&gt;
&lt;p&gt;It is possible to use environment variable interpolation in all 3 provisioning configuration types. Allowed syntax
is either &lt;code&gt;$ENV_VAR_NAME&lt;/code&gt; or &lt;code&gt;${ENV_VAR_NAME}&lt;/code&gt; and can be used only for values not for keys or bigger parts
of the configurations. It is not available in the dashboard&amp;rsquo;s definition files just the dashboard provisioning
configuration.
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;YAML&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-yaml&#34;&gt;datasources:
  - name: Graphite
    url: http://localhost:$PORT
    user: $USER
    secureJsonData:
      password: $PASSWORD&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you have a literal &lt;code&gt;$&lt;/code&gt; in your value and want to avoid interpolation, &lt;code&gt;$$&lt;/code&gt; can be used.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;configuration-management-tools&#34;&gt;Configuration Management Tools&lt;/h2&gt;
&lt;p&gt;Currently we do not provide any scripts/manifests for configuring Grafana. Rather than spending time learning and creating scripts/manifests for each tool, we think our time is better spent making Grafana easier to provision. Therefore, we heavily rely on the expertise of the community.&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;Tool&lt;/th&gt;
              &lt;th&gt;Project&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Puppet&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://forge.puppet.com/puppet/grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://forge.puppet.com/puppet/grafana&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Ansible&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://github.com/grafana/grafana-ansible-collection&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/grafana/grafana-ansible-collection&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Chef&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://github.com/sous-chefs/chef-grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/sous-chefs/chef-grafana&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Saltstack&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://github.com/salt-formulas/salt-formula-grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/salt-formulas/salt-formula-grafana&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Jsonnet&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://github.com/grafana/grafonnet-lib/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/grafana/grafonnet-lib/&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;NixOS&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/monitoring/grafana.nix&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;services.grafana.provision module&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;data-sources&#34;&gt;Data sources&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;Available in Grafana v5.0 and higher.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;You can manage data sources in Grafana by adding YAML configuration files in the &lt;a href=&#34;../../setup-grafana/configure-grafana/#provisioning&#34;&gt;&lt;code&gt;provisioning/datasources&lt;/code&gt;&lt;/a&gt; directory.
Each config file can contain a list of &lt;code&gt;datasources&lt;/code&gt; to add or update during startup.
If the data source already exists, Grafana reconfigures it to match the provisioned configuration file.&lt;/p&gt;
&lt;p&gt;The configuration file can also list data sources to automatically delete, called &lt;code&gt;deleteDatasources&lt;/code&gt;.
Grafana deletes the data sources listed in &lt;code&gt;deleteDatasources&lt;/code&gt; &lt;em&gt;before&lt;/em&gt; adding or updating those in the &lt;code&gt;datasources&lt;/code&gt; list.&lt;/p&gt;
&lt;h3 id=&#34;running-multiple-grafana-instances&#34;&gt;Running multiple Grafana instances&lt;/h3&gt;
&lt;p&gt;If you run multiple instances of Grafana, add a version number to each data source in the configuration and increase it when you update the configuration.
Grafana updates only data sources with the same or lower version number than specified in the config.
This prevents old configurations from overwriting newer ones if you have different versions of the &lt;code&gt;datasource.yaml&lt;/code&gt; file that don&amp;rsquo;t define version numbers, and then restart instances at the same time.&lt;/p&gt;
&lt;h3 id=&#34;example-data-source-config-file&#34;&gt;Example data source config file&lt;/h3&gt;
&lt;p&gt;This example provisions a &lt;a href=&#34;../../datasources/graphite/&#34;&gt;Graphite data source&lt;/a&gt;:&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;YAML&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-yaml&#34;&gt;# Configuration file version
apiVersion: 1

# List of data sources to delete from the database.
deleteDatasources:
  - name: Graphite
    orgId: 1

# List of data sources to insert/update depending on what&amp;#39;s
# available in the database.
datasources:
  # &amp;lt;string, required&amp;gt; Sets the name you use to refer to
  # the data source in panels and queries.
  - name: Graphite
    # &amp;lt;string, required&amp;gt; Sets the data source type.
    type: graphite
    # &amp;lt;string, required&amp;gt; Sets the access mode, either
    # proxy or direct (Server or Browser in the UI).
    # Some data sources are incompatible with any setting
    # but proxy (Server).
    access: proxy
    # &amp;lt;int&amp;gt; Sets the organization id. Defaults to orgId 1.
    orgId: 1
    # &amp;lt;string&amp;gt; Sets a custom UID to reference this
    # data source in other parts of the configuration.
    # If not specified, Grafana generates one.
    uid: my_unique_uid
    # &amp;lt;string&amp;gt; Sets the data source&amp;#39;s URL, including the
    # port.
    url: http://localhost:8080
    # &amp;lt;string&amp;gt; Sets the database user, if necessary.
    user:
    # &amp;lt;string&amp;gt; Sets the database name, if necessary.
    database:
    # &amp;lt;bool&amp;gt; Enables basic authorization.
    basicAuth:
    # &amp;lt;string&amp;gt; Sets the basic authorization username.
    basicAuthUser:
    # &amp;lt;bool&amp;gt; Enables credential headers.
    withCredentials:
    # &amp;lt;bool&amp;gt; Toggles whether the data source is pre-selected
    # for new panels. You can set only one default
    # data source per organization.
    isDefault:
    # &amp;lt;map&amp;gt; Fields to convert to JSON and store in jsonData.
    jsonData:
      # &amp;lt;string&amp;gt; Defines the Graphite service&amp;#39;s version.
      graphiteVersion: &amp;#39;1.1&amp;#39;
      # &amp;lt;bool&amp;gt; Enables TLS authentication using a client
      # certificate configured in secureJsonData.
      tlsAuth: true
      # &amp;lt;bool&amp;gt; Enables TLS authentication using a CA
      # certificate.
      tlsAuthWithCACert: true
    # &amp;lt;map&amp;gt; Fields to encrypt before storing in jsonData.
    secureJsonData:
      # &amp;lt;string&amp;gt; Defines the CA cert, client cert, and
      # client key for encrypted authentication.
      tlsCACert: &amp;#39;...&amp;#39;
      tlsClientCert: &amp;#39;...&amp;#39;
      tlsClientKey: &amp;#39;...&amp;#39;
      # &amp;lt;string&amp;gt; Sets the database password, if necessary.
      password:
      # &amp;lt;string&amp;gt; Sets the basic authorization password.
      basicAuthPassword:
    # &amp;lt;int&amp;gt; Sets the version. Used to compare versions when
    # updating. Ignored when creating a new data source.
    version: 1
    # &amp;lt;bool&amp;gt; Allows users to edit data sources from the
    # Grafana UI.
    editable: false&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For provisioning examples of specific data sources, refer to that &lt;a href=&#34;../../datasources/&#34;&gt;data source&amp;rsquo;s documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;json-data&#34;&gt;JSON Data&lt;/h4&gt;
&lt;p&gt;Since not all data sources have the same configuration settings, we include only the most common ones as fields.
To provision the rest of a data source&amp;rsquo;s settings, include them as a JSON blob in the &lt;code&gt;jsonData&lt;/code&gt; field.&lt;/p&gt;
&lt;p&gt;Common settings in the &lt;a href=&#34;../../datasources/#built-in-core-data-sources&#34;&gt;built-in core data sources&lt;/a&gt; include:&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;Data sources tagged with &lt;em&gt;HTTP*&lt;/em&gt; communicate using the HTTP protocol, which includes all core data source plugins except MySQL, PostgreSQL, and MSSQL.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;Type&lt;/th&gt;
              &lt;th&gt;Data source&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;tlsAuth&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL&lt;/td&gt;
              &lt;td&gt;Enable TLS authentication using client cert configured in secure json data&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tlsAuthWithCACert&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL, PostgreSQL&lt;/td&gt;
              &lt;td&gt;Enable TLS authentication using CA cert&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tlsSkipVerify&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL, PostgreSQL, MSSQL&lt;/td&gt;
              &lt;td&gt;Controls whether a client verifies the server&amp;rsquo;s certificate chain and host name.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;serverName&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MSSQL&lt;/td&gt;
              &lt;td&gt;Optional. Controls the server name used for certificate common name/subject alternative name verification. Defaults to using the data source URL.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timeout&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Request timeout in seconds. Overrides dataproxy.timeout option&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;graphiteVersion&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Graphite&lt;/td&gt;
              &lt;td&gt;Graphite version&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timeInterval&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus, Elasticsearch, InfluxDB, MySQL, PostgreSQL and MSSQL&lt;/td&gt;
              &lt;td&gt;Lowest interval/step value that should be used for this data source.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;httpMode&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Influxdb&lt;/td&gt;
              &lt;td&gt;HTTP Method. &amp;lsquo;GET&amp;rsquo;, &amp;lsquo;POST&amp;rsquo;, defaults to GET&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;maxSeries&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;Influxdb&lt;/td&gt;
              &lt;td&gt;Max number of series/tables that Grafana processes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;httpMethod&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;HTTP Method. &amp;lsquo;GET&amp;rsquo;, &amp;lsquo;POST&amp;rsquo;, defaults to POST&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;customQueryParameters&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Query parameters to add, as a URL-encoded string.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;manageAlerts&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Prometheus and Loki&lt;/td&gt;
              &lt;td&gt;Manage alerts via Alerting UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;alertmanagerUid&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus and Loki&lt;/td&gt;
              &lt;td&gt;UID of Alert Manager that manages Alert for this data source.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timeField&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch&lt;/td&gt;
              &lt;td&gt;Which field that should be used as timestamp&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;interval&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch&lt;/td&gt;
              &lt;td&gt;Index date time format. nil(No Pattern), &amp;lsquo;Hourly&amp;rsquo;, &amp;lsquo;Daily&amp;rsquo;, &amp;lsquo;Weekly&amp;rsquo;, &amp;lsquo;Monthly&amp;rsquo; or &amp;lsquo;Yearly&amp;rsquo;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;logMessageField&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch&lt;/td&gt;
              &lt;td&gt;Which field should be used as the log message&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;logLevelField&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch&lt;/td&gt;
              &lt;td&gt;Which field should be used to indicate the priority of the log message&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;maxConcurrentShardRequests&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;Elasticsearch&lt;/td&gt;
              &lt;td&gt;Maximum number of concurrent shard requests that each sub-search request executes per node&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4Auth&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;Enable usage of SigV4&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4AuthType&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;SigV4 auth provider. default/credentials/keys&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4ExternalId&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;Optional SigV4 External ID&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4AssumeRoleArn&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;Optional SigV4 ARN role to assume&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4Region&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;SigV4 AWS region&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4Profile&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;Optional SigV4 credentials profile&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;authType&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Auth provider. default/credentials/keys&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;externalId&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Optional External ID&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;assumeRoleArn&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Optional ARN role to assume&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;defaultRegion&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Optional default AWS region&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;customMetricsNamespaces&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Namespaces of Custom Metrics&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;profile&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Optional credentials profile&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tsdbVersion&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;OpenTSDB&lt;/td&gt;
              &lt;td&gt;Version&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tsdbResolution&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;OpenTSDB&lt;/td&gt;
              &lt;td&gt;Resolution&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sslmode&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;PostgreSQL&lt;/td&gt;
              &lt;td&gt;SSLmode. &amp;lsquo;disable&amp;rsquo;, &amp;lsquo;require&amp;rsquo;, &amp;lsquo;verify-ca&amp;rsquo; or &amp;lsquo;verify-full&amp;rsquo;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tlsConfigurationMethod&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;PostgreSQL&lt;/td&gt;
              &lt;td&gt;SSL Certificate configuration, either by &amp;lsquo;file-path&amp;rsquo; or &amp;lsquo;file-content&amp;rsquo;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sslRootCertFile&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;PostgreSQL, MSSQL&lt;/td&gt;
              &lt;td&gt;SSL server root certificate file, must be readable by the Grafana user&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sslCertFile&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;PostgreSQL&lt;/td&gt;
              &lt;td&gt;SSL client certificate file, must be readable by the Grafana user&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sslKeyFile&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;PostgreSQL&lt;/td&gt;
              &lt;td&gt;SSL client key file, must be readable by &lt;em&gt;only&lt;/em&gt; the Grafana user&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;encrypt&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;MSSQL&lt;/td&gt;
              &lt;td&gt;Determines SSL encryption handling. Options include: &lt;code&gt;disable&lt;/code&gt; - data sent between client and server is not encrypted; &lt;code&gt;false&lt;/code&gt; - data sent between client and server is not encrypted beyond the login packet; &lt;code&gt;true&lt;/code&gt; - data sent between client and server is encrypted. Default is &lt;code&gt;false&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;postgresVersion&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;PostgreSQL&lt;/td&gt;
              &lt;td&gt;Postgres version as a number (903/904/905/906/1000) meaning v9.3, v9.4, &amp;hellip;, v10&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timescaledb&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;PostgreSQL&lt;/td&gt;
              &lt;td&gt;Enable usage of TimescaleDB extension&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;maxOpenConns&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;MySQL, PostgreSQL and MSSQL&lt;/td&gt;
              &lt;td&gt;Maximum number of open connections to the database (Grafana v5.4&#43;)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;maxIdleConns&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;MySQL, PostgreSQL and MSSQL&lt;/td&gt;
              &lt;td&gt;Maximum number of connections in the idle connection pool (Grafana v5.4&#43;)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;connMaxLifetime&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;MySQL, PostgreSQL and MSSQL&lt;/td&gt;
              &lt;td&gt;Maximum amount of time in seconds a connection may be reused (Grafana v5.4&#43;)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;keepCookies&lt;/td&gt;
              &lt;td&gt;array&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;Cookies that needs to be passed along while communicating with data sources&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;prometheusVersion&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;The version of the Prometheus data source, such as &lt;code&gt;2.37.0&lt;/code&gt;, &lt;code&gt;2.24.0&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;prometheusType&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Prometheus database type. Options are &lt;code&gt;Prometheus&lt;/code&gt;, &lt;code&gt;Cortex&lt;/code&gt;, &lt;code&gt;Mimir&lt;/code&gt; or&lt;code&gt;Thanos&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;cacheLevel&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Determines the duration of the browser cache. Valid values include: &lt;code&gt;Low&lt;/code&gt;, &lt;code&gt;Medium&lt;/code&gt;, &lt;code&gt;High&lt;/code&gt;, and &lt;code&gt;None&lt;/code&gt;. This field is configurable when you enable the &lt;code&gt;prometheusResourceBrowserCache&lt;/code&gt; feature flag.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;incrementalQuerying&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Experimental: Turn on incremental querying to enhance dashboard reload performance with slow data sources&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;incrementalQueryOverlapWindow&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Experimental: Configure incremental query overlap window. Requires a valid duration string, i.e. &lt;code&gt;180s&lt;/code&gt; or &lt;code&gt;15m&lt;/code&gt; Default value is &lt;code&gt;10m&lt;/code&gt; (10 minutes).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;disableRecordingRules&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Experimental: Turn off Prometheus recording rules&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;implementation&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;AlertManager&lt;/td&gt;
              &lt;td&gt;The implementation of the AlertManager data source, such as &lt;code&gt;prometheus&lt;/code&gt;, &lt;code&gt;cortex&lt;/code&gt; or &lt;code&gt;mimir&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;handleGrafanaManagedAlerts&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;AlertManager&lt;/td&gt;
              &lt;td&gt;When enabled, Grafana-managed alerts are sent to this Alertmanager&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;For examples of specific data sources&amp;rsquo; JSON data, refer to that &lt;a href=&#34;../../datasources/&#34;&gt;data source&amp;rsquo;s documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;secure-json-data&#34;&gt;Secure JSON Data&lt;/h4&gt;
&lt;p&gt;Secure JSON data is a map of settings that will be encrypted with &lt;a href=&#34;../../setup-grafana/configure-grafana/#secret_key&#34;&gt;secret key&lt;/a&gt; from the Grafana config. The purpose of this is only to hide content from the users of the application. This should be used for storing TLS Cert and password that Grafana will append to the request on the server side. All of these settings are optional.&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;The &lt;em&gt;HTTP*&lt;/em&gt; tag denotes data sources that communicate using the HTTP protocol, including all core data source plugins except MySQL, PostgreSQL, and MSSQL.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;Type&lt;/th&gt;
              &lt;th&gt;Data source&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;tlsCACert&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL, PostgreSQL&lt;/td&gt;
              &lt;td&gt;CA cert for out going requests&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tlsClientCert&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL, PostgreSQL&lt;/td&gt;
              &lt;td&gt;TLS Client cert for outgoing requests&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;tlsClientKey&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL, PostgreSQL&lt;/td&gt;
              &lt;td&gt;TLS Client key for outgoing requests&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;password&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;, MySQL, PostgreSQL, MSSQL&lt;/td&gt;
              &lt;td&gt;password&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;basicAuthPassword&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;HTTP*&lt;/em&gt;&lt;/td&gt;
              &lt;td&gt;password for basic authentication&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;accessKey&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Access key for connecting to Cloudwatch&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;secretKey&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Cloudwatch&lt;/td&gt;
              &lt;td&gt;Secret key for connecting to Cloudwatch&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4AccessKey&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;SigV4 access key. Required when using keys auth provider&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sigV4SecretKey&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Elasticsearch and Prometheus&lt;/td&gt;
              &lt;td&gt;SigV4 secret key. Required when using keys auth provider&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;custom-http-headers-for-data-sources&#34;&gt;Custom HTTP headers for data sources&lt;/h4&gt;
&lt;p&gt;Data sources managed by Grafanas provisioning can be configured to add HTTP headers to all requests
going to that data source. The header name is configured in the &lt;code&gt;jsonData&lt;/code&gt; field and the header value should be
configured in &lt;code&gt;secureJsonData&lt;/code&gt;.&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;YAML&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-yaml&#34;&gt;apiVersion: 1

datasources:
  - name: Graphite
    jsonData:
      httpHeaderName1: &amp;#39;HeaderName&amp;#39;
      httpHeaderName2: &amp;#39;Authorization&amp;#39;
    secureJsonData:
      httpHeaderValue1: &amp;#39;HeaderValue&amp;#39;
      httpHeaderValue2: &amp;#39;Bearer XXXXXXXXX&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;plugins&#34;&gt;Plugins&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;Available in Grafana v7.1 and higher.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;You can manage plugin applications in Grafana by adding one or more YAML config files in the &lt;a href=&#34;../../setup-grafana/configure-grafana/#provisioning&#34;&gt;&lt;code&gt;provisioning/plugins&lt;/code&gt;&lt;/a&gt; directory. Each config file can contain a list of &lt;code&gt;apps&lt;/code&gt; that will be updated during start up. Grafana updates each app to match the configuration file.&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;This feature enables you to provision plugin configurations, not the plugins themselves.
The plugins must already be installed on the Grafana instance.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;example-plugin-configuration-file&#34;&gt;Example plugin configuration file&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;YAML&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-yaml&#34;&gt;apiVersion: 1

apps:
  # &amp;lt;string&amp;gt; the type of app, plugin identifier. Required
  - type: raintank-worldping-app
    # &amp;lt;int&amp;gt; Org ID. Default to 1, unless org_name is specified
    org_id: 1
    # &amp;lt;string&amp;gt; Org name. Overrides org_id unless org_id not specified
    org_name: Main Org.
    # &amp;lt;bool&amp;gt; disable the app. Default to false.
    disabled: false
    # &amp;lt;map&amp;gt; fields that will be converted to json and stored in jsonData. Custom per app.
    jsonData:
      # key/value pairs of string to object
      key: value
    # &amp;lt;map&amp;gt; fields that will be converted to json, encrypted and stored in secureJsonData. Custom per app.
    secureJsonData:
      # key/value pairs of string to string
      key: value&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;dashboards&#34;&gt;Dashboards&lt;/h2&gt;
&lt;p&gt;You can manage dashboards in Grafana by adding one or more YAML config files in the &lt;a href=&#34;../../setup-grafana/configure-grafana/#dashboards&#34;&gt;&lt;code&gt;provisioning/dashboards&lt;/code&gt;&lt;/a&gt; directory. Each config file can contain a list of &lt;code&gt;dashboards providers&lt;/code&gt; that load dashboards into Grafana from the local filesystem.&lt;/p&gt;
&lt;p&gt;The dashboard provider config file looks somewhat 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;YAML&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-yaml&#34;&gt;apiVersion: 1

providers:
  # &amp;lt;string&amp;gt; an unique provider name. Required
  - name: &amp;#39;a unique provider name&amp;#39;
    # &amp;lt;int&amp;gt; Org id. Default to 1
    orgId: 1
    # &amp;lt;string&amp;gt; name of the dashboard folder.
    folder: &amp;#39;&amp;#39;
    # &amp;lt;string&amp;gt; folder UID. will be automatically generated if not specified
    folderUid: &amp;#39;&amp;#39;
    # &amp;lt;string&amp;gt; provider type. Default to &amp;#39;file&amp;#39;
    type: file
    # &amp;lt;bool&amp;gt; disable dashboard deletion
    disableDeletion: false
    # &amp;lt;int&amp;gt; how often Grafana will scan for changed dashboards
    updateIntervalSeconds: 10
    # &amp;lt;bool&amp;gt; allow updating provisioned dashboards from the UI
    allowUiUpdates: false
    options:
      # &amp;lt;string, required&amp;gt; path to dashboard files on disk. Required when using the &amp;#39;file&amp;#39; type
      path: /var/lib/grafana/dashboards
      # &amp;lt;bool&amp;gt; use folder names from filesystem to create folders in Grafana
      foldersFromFilesStructure: true&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;When Grafana starts, it will update/insert all dashboards available in the configured path. Then later on poll that path every &lt;strong&gt;updateIntervalSeconds&lt;/strong&gt; and look for updated json files and update/insert those into the database.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Dashboards are provisioned to the root level if the &lt;code&gt;folder&lt;/code&gt; option is missing or empty.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h4 id=&#34;making-changes-to-a-provisioned-dashboard&#34;&gt;Making changes to a provisioned dashboard&lt;/h4&gt;
&lt;p&gt;It&amp;rsquo;s possible to make changes to a provisioned dashboard in the Grafana UI. However, it is not possible to automatically save the changes back to the provisioning source.
If &lt;code&gt;allowUiUpdates&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt; and you make changes to a provisioned dashboard, you can &lt;code&gt;Save&lt;/code&gt; the dashboard then changes will be persisted to the Grafana database.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;
If a provisioned dashboard is saved from the UI and then later updated from the source, the dashboard stored in the database will always be overwritten. The &lt;code&gt;version&lt;/code&gt; property in the JSON file will not affect this, even if it is lower than the existing dashboard.&lt;/p&gt;
&lt;p&gt;If a provisioned dashboard is saved from the UI and the source is removed, the dashboard stored in the database will be deleted unless the configuration option &lt;code&gt;disableDeletion&lt;/code&gt; is set to true.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If &lt;code&gt;allowUiUpdates&lt;/code&gt; is configured to &lt;code&gt;false&lt;/code&gt;, you are not able to make changes to a provisioned dashboard. When you click &lt;code&gt;Save&lt;/code&gt;, Grafana brings up a &lt;em&gt;Cannot save provisioned dashboard&lt;/em&gt; dialog. The screenshot below illustrates this behavior.&lt;/p&gt;
&lt;p&gt;Grafana offers options to export the JSON definition of a dashboard. Either &lt;code&gt;Copy JSON to Clipboard&lt;/code&gt; or &lt;code&gt;Save JSON to file&lt;/code&gt; can help you synchronize your dashboard changes back to the provisioning source.&lt;/p&gt;
&lt;p&gt;Note: The JSON definition in the input field when using &lt;code&gt;Copy JSON to Clipboard&lt;/code&gt; or &lt;code&gt;Save JSON to file&lt;/code&gt; will have the &lt;code&gt;id&lt;/code&gt; field automatically removed to aid the provisioning workflow.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#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;/static/img/docs/v51/provisioning_cannot_save_dashboard.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/v51/provisioning_cannot_save_dashboard.png&#34;data-srcset=&#34;/static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=320 320w, /static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=550 550w, /static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=750 750w, /static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=900 900w, /static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=1040 1040w, /static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=1240 1240w, /static/img/docs/v51/provisioning_cannot_save_dashboard.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;746&#34;height=&#34;505&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v51/provisioning_cannot_save_dashboard.png&#34;
            alt=&#34;&#34;width=&#34;746&#34;height=&#34;505&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;reusable-dashboard-urls&#34;&gt;Reusable Dashboard URLs&lt;/h3&gt;
&lt;p&gt;If the dashboard in the JSON file contains an &lt;a href=&#34;../../dashboards/build-dashboards/view-dashboard-json-model/&#34;&gt;UID&lt;/a&gt;, Grafana forces insert/update on that UID. This allows you to migrate dashboards between Grafana instances and provisioning Grafana from configuration without breaking the URLs given because the new dashboard URL uses the UID as identifier.
When Grafana starts, it updates/inserts all dashboards available in the configured folders. If you modify the file, then the dashboard is also updated.
By default, Grafana deletes dashboards in the database if the file is removed. You can disable this behavior using the &lt;code&gt;disableDeletion&lt;/code&gt; setting.&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;Provisioning allows you to overwrite existing dashboards
which leads to problems if you reuse settings that are supposed to be unique.
Be careful not to reuse the same &lt;code&gt;title&lt;/code&gt; multiple times within a folder
or &lt;code&gt;uid&lt;/code&gt; within the same installation as this will cause weird behaviors.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;provision-folders-structure-from-filesystem-to-grafana&#34;&gt;Provision folders structure from filesystem to Grafana&lt;/h3&gt;
&lt;p&gt;If you already store your dashboards using folders in a git repo or on a filesystem, and also you want to have the same folder names in the Grafana menu, you can use &lt;code&gt;foldersFromFilesStructure&lt;/code&gt; option.&lt;/p&gt;
&lt;p&gt;For example, to replicate these dashboards structure from the filesystem to Grafana,&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;/etc/dashboards
├── /server
│   ├── /common_dashboard.json
│   └── /network_dashboard.json
└── /application
    ├── /requests_dashboard.json
    └── /resources_dashboard.json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;you need to specify just this short provision configuration file.&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;YAML&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-yaml&#34;&gt;apiVersion: 1

providers:
  - name: dashboards
    type: file
    updateIntervalSeconds: 30
    options:
      path: /etc/dashboards
      foldersFromFilesStructure: true&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;server&lt;/code&gt; and &lt;code&gt;application&lt;/code&gt; will become new folders in Grafana menu.&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;code&gt;folder&lt;/code&gt; and &lt;code&gt;folderUid&lt;/code&gt; options should be empty or missing to make &lt;code&gt;foldersFromFilesStructure&lt;/code&gt; work.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;To provision dashboards to the root level, store them in the root of your &lt;code&gt;path&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;This feature doesn&amp;rsquo;t currently allow you to create nested folder structures, that is, where you have folders within folders.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;alerting&#34;&gt;Alerting&lt;/h2&gt;
&lt;p&gt;For information on provisioning Grafana Alerting, refer to &lt;a href=&#34;../../alerting/set-up/provision-alerting-resources/&#34;&gt;Provision Grafana Alerting resources&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;supported-settings&#34;&gt;Supported Settings&lt;/h3&gt;
&lt;p&gt;The following sections detail the supported settings and secure settings for each alert notification type. Secure settings are stored encrypted in the database and you add them to &lt;code&gt;secure_settings&lt;/code&gt; in the YAML file instead of &lt;code&gt;settings&lt;/code&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;Secure settings is supported since Grafana v7.2.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h4 id=&#34;alert-notification-pushover&#34;&gt;Alert notification &lt;code&gt;pushover&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;apiToken&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;userKey&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;device&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;priority&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;okPriority&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;retry&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;expire&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sound&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;okSound&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;h4 id=&#34;alert-notification-discord&#34;&gt;Alert notification &lt;code&gt;discord&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;avatar_url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;content&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;use_discord_username&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;h4 id=&#34;alert-notification-slack&#34;&gt;Alert notification &lt;code&gt;slack&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;recipient&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;username&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;icon_emoji&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;icon_url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;uploadImage&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;mentionUsers&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;mentionGroups&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;mentionChannel&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;token&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-victorops&#34;&gt;Alert notification &lt;code&gt;victorops&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;autoResolve&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-kafka&#34;&gt;Alert notification &lt;code&gt;kafka&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;kafkaRestProxy&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;kafkaTopic&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-line&#34;&gt;Alert notification &lt;code&gt;LINE&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;token&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-pagerduty&#34;&gt;Alert notification &lt;code&gt;pagerduty&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;integrationKey&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;autoResolve&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;h4 id=&#34;alert-notification-sensu&#34;&gt;Alert notification &lt;code&gt;sensu&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;source&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;handler&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;username&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;password&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-sensugo&#34;&gt;Alert notification &lt;code&gt;sensugo&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;apikey&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;entity&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;check&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;handler&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;namespace&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;h4 id=&#34;alert-notification-prometheus-alertmanager&#34;&gt;Alert notification &lt;code&gt;prometheus-alertmanager&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;basicAuthUser&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;basicAuthPassword&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-teams&#34;&gt;Alert notification &lt;code&gt;teams&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-dingding&#34;&gt;Alert notification &lt;code&gt;dingding&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-email&#34;&gt;Alert notification &lt;code&gt;email&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;singleEmail&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;addresses&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-hipchat&#34;&gt;Alert notification &lt;code&gt;hipchat&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;apikey&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;roomid&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-opsgenie&#34;&gt;Alert notification &lt;code&gt;opsgenie&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;apiKey&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;apiUrl&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;autoClose&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;overridePriority&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;sendTagsAs&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;h4 id=&#34;alert-notification-telegram&#34;&gt;Alert notification &lt;code&gt;telegram&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;bottoken&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;chatid&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;uploadImage&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;h4 id=&#34;alert-notification-threema&#34;&gt;Alert notification &lt;code&gt;threema&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;gateway_id&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;recipient_id&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;api_secret&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-webhook&#34;&gt;Alert notification &lt;code&gt;webhook&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;httpMethod&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;username&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;password&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-googlechat&#34;&gt;Alert notification &lt;code&gt;googlechat&lt;/code&gt;&lt;/h4&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;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;url&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert-notification-cisco-webex-teams&#34;&gt;Alert notification &lt;code&gt;Cisco Webex Teams&lt;/code&gt;&lt;/h4&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;Secure setting&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;message&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;room_id&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;api_url&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;bot_token&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;grafana-enterprise&#34;&gt;Grafana Enterprise&lt;/h2&gt;
&lt;p&gt;Grafana Enterprise supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../roles-and-permissions/access-control/rbac-grafana-provisioning/&#34;&gt;Provisioning role-based access control with Grafana&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../roles-and-permissions/access-control/rbac-terraform-provisioning/&#34;&gt;Provisioning role-based access control with Terraform&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="provision-grafana">Provision Grafana&lt;/h1>
&lt;p>In previous versions of Grafana, you could only use the API for provisioning data sources and dashboards. But that required the service to be running before you started creating dashboards and you also needed to set up credentials for the HTTP API. In v5.0 we decided to improve this experience by adding a new active provisioning system that uses config files. This will make GitOps more natural as data sources and dashboards can be defined via files that can be version controlled. We hope to extend this system to later add support for users and orgs as well.&lt;/p></description></item><item><title>API keys</title><link>https://grafana.com/docs/grafana/v11.0/administration/api-keys/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/api-keys/</guid><content><![CDATA[&lt;h1 id=&#34;api-keys&#34;&gt;API keys&lt;/h1&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;Deprecated: &lt;a href=&#34;../service-accounts/&#34;&gt;Service accounts&lt;/a&gt; have replaced API keys as the primary way to authenticate applications that interact with Grafana.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;An API key is a randomly generated string that external systems use to interact with Grafana HTTP APIs.&lt;/p&gt;
&lt;p&gt;When you create an API key, you specify a &lt;strong&gt;Role&lt;/strong&gt; that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources.&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;If you use Grafana v9.1 or newer, use service accounts instead of API keys. For more information, refer to &lt;a href=&#34;../service-accounts/&#34;&gt;Grafana service accounts&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;


&lt;h2 id=&#34;create-an-api-key&#34;&gt;Create an API key&lt;/h2&gt;
&lt;p&gt;Create an API key when you want to manage your computed workload with a user.&lt;/p&gt;
&lt;p&gt;This topic shows you how to create an API key using the Grafana UI. You can also create an API key using the Grafana HTTP API. For more information about creating API keys via the API, refer to &lt;a href=&#34;../../developers/http_api/create-api-tokens-for-org/#how-to-create-a-new-organization-and-an-api-token&#34;&gt;Create API key via API&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h3&gt;
&lt;p&gt;To follow these instructions, you need at least one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Administrator permissions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Editor permissions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Service account writer&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To ensure you have permission to create and edit API keys, follow the instructions in &lt;a href=&#34;../roles-and-permissions/#&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;steps&#34;&gt;Steps&lt;/h3&gt;
&lt;p&gt;To create an API key, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;API Keys&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add API key&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a unique name for the key.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Role&lt;/strong&gt; field, select one of the following access levels you want to assign to the key.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Admin&lt;/strong&gt;: Enables a user to use APIs at the broadest, most powerful administrative level.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editor&lt;/strong&gt; or &lt;strong&gt;Viewer&lt;/strong&gt; to limit the key&amp;rsquo;s users to those levels of power.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Time to live&lt;/strong&gt; field, specify how long you want the key to be valid.
&lt;ul&gt;
&lt;li&gt;The maximum length of time is 30 days (one month). You enter a number and a letter. Valid letters include &lt;code&gt;s&lt;/code&gt; for seconds,&lt;code&gt;m&lt;/code&gt; for minutes, &lt;code&gt;h&lt;/code&gt; for hours, &lt;code&gt;d &lt;/code&gt;for days, &lt;code&gt;w&lt;/code&gt; for weeks, and &lt;code&gt;M &lt;/code&gt;for month. For example, &lt;code&gt;12h&lt;/code&gt; is 12 hours and &lt;code&gt;1M&lt;/code&gt; is 1 month (30 days).&lt;/li&gt;
&lt;li&gt;If you are unsure about how long an API key should be valid, we recommend that you choose a short duration, such as a few hours. This approach limits the risk of having API keys that are valid for a long time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;migrate-api-keys-to-grafana-service-accounts&#34;&gt;Migrate API keys to Grafana service accounts&lt;/h2&gt;
&lt;p&gt;As an alternative to using API keys for authentication, you can use a service account-based authentication system. When compared to API keys, service accounts have limited scopes that provide more security than using API keys.&lt;/p&gt;
&lt;p&gt;For more information about the benefits of service accounts, refer to &lt;a href=&#34;../service-accounts/#service-account-benefits&#34;&gt;Grafana service account benefits&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The service account endpoints generate a machine user for authentication instead of using API keys. When you migrate an API key to a service account, a service account will be created with a service account token.&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;If you&amp;rsquo;re currently using API keys for authentication, we strongly recommend to use Grafana Service Accounts instead. Rest assured, when migrating to Service Accounts, your existing API keys will continue working as before. To find the migrated API keys, navigate to the Service Accounts section and select the Service Account Tokens tab. For more information, please refer to the &lt;a href=&#34;../service-accounts/#service-account-tokens&#34;&gt;Grafana service account tokens&lt;/a&gt; details.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;ways-of-migrating-api-keys-to-service-accounts&#34;&gt;Ways of migrating API keys to service accounts&lt;/h2&gt;
&lt;p&gt;If you are currently using API keys in your environment, you need to reconfigure your setup to use service accounts.&lt;/p&gt;
&lt;p&gt;Depending on your current setup, you may need to use one or all of the following methods to migrate your environment to service accounts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Grafana user interface: Use this method if you have been using the UI to manage your API keys and want to switch to using service accounts.&lt;/li&gt;
&lt;li&gt;The Grafana API: Use this method if you have been using API calls to manage your API keys and want to switch to using service accounts programmatically.&lt;/li&gt;
&lt;li&gt;Terraform: If you have a Terraform configuration that sets up API keys, you need to reconfigure your Terraform to use service accounts instead.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By following these steps, you can successfully migrate your integration from API keys to service accounts and continue using Grafana seamlessly.&lt;/p&gt;
&lt;h3 id=&#34;migrate-api-keys-to-grafana-service-accounts-using-the-grafana-user-interface&#34;&gt;Migrate API keys to Grafana service accounts using the Grafana user interface&lt;/h3&gt;
&lt;p&gt;This section shows you how to migrate API keys to Grafana service accounts using the Grafana user interface. You can choose to migrate a single API key or all API keys. When you migrate all API keys, you can no longer create API keys and must use service accounts instead.&lt;/p&gt;
&lt;h4 id=&#34;before-you-begin-1&#34;&gt;Before you begin&lt;/h4&gt;
&lt;p&gt;To follow these instructions, you need at least one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Administrator permissions&lt;/li&gt;
&lt;li&gt;Editor permissions&lt;/li&gt;
&lt;li&gt;Service account writer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information about permissions, refer to &lt;a href=&#34;../roles-and-permissions/#&#34;&gt;Roles and permissions&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;steps-1&#34;&gt;Steps&lt;/h4&gt;
&lt;p&gt;To migrate all API keys to service accounts, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana, point to &lt;strong&gt;Administration&lt;/strong&gt;, &lt;strong&gt;Users and access&lt;/strong&gt;, and click &lt;strong&gt;API Keys&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the top of the page, find the section which says &lt;strong&gt;Switch from API keys to service accounts&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Migrate to service accounts now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;A confirmation window will appear, asking to confirm the migration. Click &lt;strong&gt;Yes, migrate now&lt;/strong&gt; if you are willing to continue.&lt;/li&gt;
&lt;li&gt;Once migration is successful, you can choose to forever hide the API keys page. Click &lt;strong&gt;Hide API keys page forever&lt;/strong&gt; if you want to do that.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To migrate a single API key to a service account, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, &lt;strong&gt;Users and access&lt;/strong&gt;, and select &lt;strong&gt;API Keys&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Find the API Key you want to migrate.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Migrate to service account&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;migrate-api-keys-to-grafana-service-accounts-for-api-calls&#34;&gt;Migrate API keys to Grafana service accounts for API calls&lt;/h3&gt;
&lt;p&gt;This section shows you how to migrate API keys to Grafana service accounts for Grafana API workflows. For references see: &lt;a href=&#34;../../developers/http_api/serviceaccount/#create-service-account&#34;&gt;Grafana Service Accounts for the Grafana API&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;before-you-begin-2&#34;&gt;Before you begin&lt;/h4&gt;
&lt;p&gt;To follow these instructions, you need one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Administrator permissions&lt;/li&gt;
&lt;li&gt;Editor permissions&lt;/li&gt;
&lt;li&gt;Service account writer&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;steps-2&#34;&gt;Steps&lt;/h4&gt;
&lt;p&gt;Complete the following steps to migrate from API keys to service accounts for API:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Call the &lt;code&gt;POST /api/serviceaccounts&lt;/code&gt; endpoint and the &lt;code&gt;POST /api/serviceaccounts/&amp;lt;id&amp;gt;/tokens&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This action generates a service account token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Store the ID and secret that the system returns to you.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pass the token in the &lt;code&gt;Authorization&lt;/code&gt; header, prefixed with &lt;code&gt;Bearer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This action authenticates API requests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SATs used for authentication&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove code that handles the old &lt;code&gt;/api/auth/keys&lt;/code&gt; endpoint.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Track the &lt;a href=&#34;http://localhost:3000/org/apikeys&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;API keys&lt;/a&gt; in use and migrate them to SATs.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;example&#34;&gt;Example&lt;/h4&gt;
&lt;p&gt;Your current setup&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;sh&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-sh&#34;&gt;curl -X POST -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{&amp;#34;name&amp;#34;: &amp;#34;my-api-key&amp;#34;, &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;}&amp;#39; http://admin:admin@localhost:3000/api/auth/keys

# response from the api
{&amp;#34;id&amp;#34;:2,&amp;#34;name&amp;#34;:&amp;#34;my-api-key&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;eyJrIjoiTFRSN1RBOVc3SGhjblc0bWZodXZ3MnNDcU92Um5VZUIiLKJuIjoibXktYXBpLWtleSIsImlkIjoxfQ==&amp;#34;}%&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;New setup&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;sh&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-sh&#34;&gt;# create a service account
curl -X POST -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{&amp;#34;name&amp;#34;: &amp;#34;my-service-account&amp;#34;, &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;}&amp;#39; http://admin:admin@localhost:3000/api/serviceaccounts

# response with the created service account id,name, login
{&amp;#34;id&amp;#34;:1,&amp;#34;name&amp;#34;:&amp;#34;my-service-account&amp;#34;,&amp;#34;login&amp;#34;:&amp;#34;sa-my-service-account&amp;#34;,&amp;#34;orgId&amp;#34;:1,&amp;#34;isDisabled&amp;#34;:false,&amp;#34;role&amp;#34;:&amp;#34;Viewer&amp;#34;,&amp;#34;tokens&amp;#34;:0,&amp;#34;avatarUrl&amp;#34;:&amp;#34;&amp;#34;}%

# create the service account token with the service account id 1 - /serviceaccounts/{id} returned from the previous step
curl -X POST -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{&amp;#34;name&amp;#34;: &amp;#34;my-service-account-token&amp;#34;}&amp;#39; http://admin:admin@localhost:3000/api/serviceaccounts/1/tokens

# response with the created SAT id,name and key.
{&amp;#34;id&amp;#34;:2,&amp;#34;name&amp;#34;:&amp;#34;my-service-account-token&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;glsa_9244xlVFZK0j8Lh4fU8Cz6Z5tO664zIi_7a762939&amp;#34;}%

# now you can authenticate the same way as you did with the API key
curl --request GET --url http://localhost:3000/api/folders --header &amp;#39;Authorization: Bearer glsa_9244xlVFZK0j8Lh4fU8Cz6Z5tO664zIi_7a762939&amp;#39;

# response
[{&amp;#34;id&amp;#34;:1,&amp;#34;uid&amp;#34;:&amp;#34;a5261a84-eebc-4733-83a9-61f4713561d1&amp;#34;,&amp;#34;title&amp;#34;:&amp;#34;gdev dashboards&amp;#34;}]%&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;migrate-api-keys-to-grafana-service-accounts-in-terraform&#34;&gt;Migrate API keys to Grafana service accounts in Terraform&lt;/h3&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;The terraform resource &lt;code&gt;api_key&lt;/code&gt; is removed from the Grafana Terraform Provider in v3.0.0.
Before you migrate and remove the use of the resource, you should pin your terraform version to a version less-than or equal-to v2.19.0.
For more information, refer to the &lt;a href=&#34;https://github.com/grafana/terraform-provider-grafana/releases/tag/v3.0.0&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Terraform Provider release notes&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;To pin the Grafana Terraform Provider to v2.19.0:&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;hcl&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-hcl&#34;&gt;terraform {
  required_providers {
    grafana = {
      source  = &amp;#34;grafana/grafana&amp;#34;
      version = &amp;#34;2.19.0&amp;#34;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This section shows you how to migrate your Terraform configuration for API keys to Grafana service accounts. For resources, see &lt;a href=&#34;https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/service_account_token&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Service Accounts in Terraform&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For migration your cloud stack api keys, use the &lt;code&gt;grafana_cloud_stack_service_account&lt;/code&gt; and &lt;code&gt;gafana_cloud_stack_service_account_token&lt;/code&gt; resources see &lt;a href=&#34;https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/cloud_stack_service_account&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Cloud Stack Service Accounts in Terraform&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;steps-3&#34;&gt;Steps&lt;/h4&gt;
&lt;p&gt;Complete the following steps to migrate from API keys to service accounts using Terraform:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Generate &lt;code&gt;grafana_service_account&lt;/code&gt; and &lt;code&gt;grafana_service_account_token&lt;/code&gt; resources.&lt;/li&gt;
&lt;li&gt;Specify the desired scopes and expiration date when creating the service account.&lt;/li&gt;
&lt;li&gt;Use the token returned from &lt;code&gt;grafana_service_account_token&lt;/code&gt; to authenticate the API requests.&lt;/li&gt;
&lt;li&gt;Remove the terraform configuration for creating your &lt;code&gt;grafana_api_key&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Example: your current Terraform configuration&lt;/strong&gt;&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;tf&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-tf&#34;&gt;terraform {
  required_providers {
    grafana = {
      source  = &amp;#34;grafana/grafana&amp;#34;
    }
  }
}

# configure the provider with basic auth
provider &amp;#34;grafana&amp;#34; {
  url  = &amp;#34;http://localhost:3000&amp;#34;
  auth = &amp;#34;admin:admin&amp;#34;
}

resource &amp;#34;grafana_api_key&amp;#34; &amp;#34;foo&amp;#34; {
  name = &amp;#34;key_foo&amp;#34;
  role = &amp;#34;Viewer&amp;#34;
}

resource &amp;#34;grafana_api_key&amp;#34; &amp;#34;bar&amp;#34; {
  name            = &amp;#34;key_bar&amp;#34;
  role            = &amp;#34;Admin&amp;#34;
  seconds_to_live = 30
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Your new Terraform configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; you can create multiple tokens using one service account.&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;tf&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-tf&#34;&gt;terraform {
  required_providers {
    grafana = {
      source  = &amp;#34;grafana/grafana&amp;#34;
    }
  }
}

# configure the provider with basic auth
provider &amp;#34;grafana&amp;#34; {
  url  = &amp;#34;http://localhost:3000&amp;#34;
  auth = &amp;#34;admin:admin&amp;#34;
}

# Creating a service account in Grafana instance to be used as auth and attach tokens
# notice we can attach multiple tokens to one service account
resource &amp;#34;grafana_service_account&amp;#34; &amp;#34;sa-admin&amp;#34; {
  name             = &amp;#34;sa-admin&amp;#34;
  role             = &amp;#34;Admin&amp;#34;
}

# Creating a service account token in Grafana instance to be used for creating resources in Grafana instance
resource &amp;#34;grafana_service_account_token&amp;#34; &amp;#34;sat-bar&amp;#34; {
  name           = &amp;#34;sat-bar&amp;#34;
  service_account_id = grafana_service_account.sa-admin.id
}

# Creating a service account token in Grafana instance to be used for creating resources in Grafana instance
resource &amp;#34;grafana_service_account_token&amp;#34; &amp;#34;sat-foo&amp;#34; {
  name           = &amp;#34;sat-foo&amp;#34;
  service_account_id = grafana_service_account.sa-admin.id
  seconds_to_live    = 30
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;migrate-cloud-stack-api-keys-to-grafana-cloud-stack-service-accounts-in-terraform&#34;&gt;Migrate Cloud &lt;strong&gt;Stack&lt;/strong&gt; API keys to Grafana cloud stack service accounts in Terraform&lt;/h3&gt;
&lt;p&gt;This section shows you how to migrate your Terraform configuration for Grafana cloud stack API keys to Grafana cloud stack service accounts. For migration your cloud stack api keys, use the &lt;code&gt;grafana_cloud_stack_service_account&lt;/code&gt; and &lt;code&gt;gafana_cloud_stack_service_account_token&lt;/code&gt; resources see &lt;a href=&#34;https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/cloud_stack_service_account&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Cloud Stack Service Accounts in Terraform&lt;/a&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;This is only relevant for Grafana Cloud &lt;strong&gt;Stack&lt;/strong&gt; API keys &lt;code&gt;grafana_cloud_stack_api_key&lt;/code&gt;. Grafana Cloud API keys resource &lt;code&gt;grafana_cloud_api_key&lt;/code&gt; are not deprecated and should be used for authentication for managing your Grafana cloud.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h4 id=&#34;steps-4&#34;&gt;Steps&lt;/h4&gt;
&lt;p&gt;Complete the following steps to migrate from cloud stack API keys to cloud stack service accounts using Terraform:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Generate &lt;code&gt;grafana_cloud_stack_service_account&lt;/code&gt; and &lt;code&gt;grafana_cloud_stack_service_account_token&lt;/code&gt; resources.&lt;/li&gt;
&lt;li&gt;Specify the desired scopes and expiration date when creating the service account.&lt;/li&gt;
&lt;li&gt;Use the token returned from &lt;code&gt;grafana_cloud_stack_service_account_token&lt;/code&gt; to authenticate the API requests.&lt;/li&gt;
&lt;li&gt;Remove the Terraform configuration for creating your &lt;code&gt;grafana_cloud_stack_api_key&lt;/code&gt; resources.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Example: Your current Terraform configuration&lt;/strong&gt;&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;tf&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-tf&#34;&gt;terraform {
  required_providers {
    grafana = {
      source = &amp;#34;grafana/grafana&amp;#34;
    }
  }
}

# Declaring the first provider to be only used for creating the cloud-stack
provider &amp;#34;grafana&amp;#34; {
  alias = &amp;#34;cloud&amp;#34;

  cloud_api_key = &amp;#34;&amp;lt;API-Key&amp;gt;&amp;#34;
}

resource &amp;#34;grafana_cloud_stack&amp;#34; &amp;#34;my_stack&amp;#34; {
  provider = grafana.cloud

  name        = &amp;#34;my_stack&amp;#34;
  slug        = &amp;#34;my_stack&amp;#34;
  region_slug = &amp;#34;eu&amp;#34; # Example “us”,”eu” etc
}

# Creating a Grafana API key to be used as auth
resource &amp;#34;grafana_cloud_stack_api_key&amp;#34; &amp;#34;management&amp;#34; {
  provider = grafana.cloud

  stack_slug = grafana_cloud_stack.my_stack.slug
  name       = &amp;#34;management-key&amp;#34;
  role       = &amp;#34;Admin&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Your new Terraform configuration&lt;/strong&gt;&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;tf&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-tf&#34;&gt;terraform {
  required_providers {
    grafana = {
      source = &amp;#34;grafana/grafana&amp;#34;
    }
  }
}

# Declaring the first provider to be only used for creating the cloud-stack
provider &amp;#34;grafana&amp;#34; {
  alias = &amp;#34;cloud&amp;#34;

  cloud_api_key = &amp;#34;&amp;lt;API-Key&amp;gt;&amp;#34;
}

resource &amp;#34;grafana_cloud_stack&amp;#34; &amp;#34;my_stack&amp;#34; {
  provider = grafana.cloud

  name        = &amp;#34;my_stack&amp;#34;
  slug        = &amp;#34;my_stack&amp;#34;
  region_slug = &amp;#34;eu&amp;#34; # Example “us”,”eu” etc
}

# Creating a grafana cloud stack service account
resource &amp;#34;grafana_cloud_stack_service_account&amp;#34; &amp;#34;mystack_cloud-stack_service_account&amp;#34; {
  provider   = grafana.cloud
  stack_slug = grafana_cloud_stack.my_stack.slug

  name = &amp;#34;mystack-cloud-stack-sa&amp;#34;
  role = &amp;#34;Admin&amp;#34;
}

# Creating a grafana cloud stack service account token
resource &amp;#34;grafana_cloud_stack_service_account_token&amp;#34; &amp;#34;mystack_cloud-stack_service-account_token&amp;#34; {
  provider   = grafana.cloud
  stack_slug = grafana_cloud_stack.my_stack.slug

  name               = &amp;#34;mystack-cloud-stack-sa-token&amp;#34;
  service_account_id = grafana_cloud_stack_service_account.mystack_cloud-stack_service_account.id
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="api-keys">API keys&lt;/h1>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>Deprecated: &lt;a href="../service-accounts/">Service accounts&lt;/a> have replaced API keys as the primary way to authenticate applications that interact with Grafana.&lt;/p>&lt;/blockquote>&lt;/div>
&lt;p>An API key is a randomly generated string that external systems use to interact with Grafana HTTP APIs.&lt;/p></description></item><item><title>Service accounts</title><link>https://grafana.com/docs/grafana/v11.0/administration/service-accounts/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/service-accounts/</guid><content><![CDATA[&lt;h1 id=&#34;service-accounts&#34;&gt;Service accounts&lt;/h1&gt;
&lt;p&gt;You can use a service account to run automated workloads in Grafana, such as dashboard provisioning, configuration, or report generation. Create service accounts and tokens to authenticate applications, such as Terraform, with the Grafana API.&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;Service accounts replace &lt;a href=&#34;../api-keys/&#34;&gt;API keys&lt;/a&gt; as the primary way to authenticate applications that interact with Grafana.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;A common use case for creating a service account is to perform operations on automated or triggered tasks. You can use service accounts to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Schedule reports for specific dashboards to be delivered on a daily/weekly/monthly basis&lt;/li&gt;
&lt;li&gt;Define alerts in your system to be used in Grafana&lt;/li&gt;
&lt;li&gt;Set up an external SAML authentication provider&lt;/li&gt;
&lt;li&gt;Interact with Grafana without signing in as a user&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In &lt;a href=&#34;../../introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;, you can also use service accounts in combination with &lt;a href=&#34;../roles-and-permissions/access-control/&#34;&gt;role-based access control&lt;/a&gt; to grant very specific permissions to applications that interact with Grafana.&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;Service accounts can only act in the organization they are created for. If you have the same task that is needed for multiple organizations, we recommend creating service accounts in each organization.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;






  
  
  


&lt;div&gt;
  &lt;iframe src=&#34;https://player.vimeo.com/video/742056367?transparent=0&#34; title=&#34;vimeo video&#34; webkitallowfullscreen=&#34;&#34; mozallowfullscreen=&#34;&#34; allowfullscreen=&#34;&#34;&gt;&lt;/iframe&gt;
  &lt;div &gt;
    
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Video shows service accounts in Grafana v9.1. Refer to &lt;a href=&#34;#create-a-service-account-in-grafana&#34;&gt;Create a service account in Grafana&lt;/a&gt; for current instructions.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;service-account-tokens&#34;&gt;Service account tokens&lt;/h2&gt;
&lt;p&gt;A service account token is a generated random string that acts as an alternative to a password when authenticating with Grafana&amp;rsquo;s HTTP API.&lt;/p&gt;
&lt;p&gt;When you create a service account, you can associate one or more access tokens with it. You can use service access tokens the same way as API Keys, for example to access Grafana HTTP API programmatically.&lt;/p&gt;
&lt;p&gt;You can create multiple tokens for the same service account. You might want to do this if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;multiple applications use the same permissions, but you would like to audit or manage their actions separately.&lt;/li&gt;
&lt;li&gt;you need to rotate or replace a compromised token.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Service account access tokens inherit permissions from the service account.&lt;/p&gt;
&lt;h2 id=&#34;service-account-benefits&#34;&gt;Service account benefits&lt;/h2&gt;
&lt;p&gt;The added benefits of service accounts to API keys include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Service accounts resemble Grafana users and can be enabled/disabled, granted specific permissions, and remain active until they are deleted or disabled. API keys are only valid until their expiry date.&lt;/li&gt;
&lt;li&gt;Service accounts can be associated with multiple tokens.&lt;/li&gt;
&lt;li&gt;Unlike API keys, service account tokens are not associated with a specific user, which means that applications can be authenticated even if a Grafana user is deleted.&lt;/li&gt;
&lt;li&gt;You can grant granular permissions to service accounts by leveraging &lt;a href=&#34;../roles-and-permissions/access-control/&#34;&gt;role-based access control&lt;/a&gt;. For more information about permissions, refer to &lt;a href=&#34;../roles-and-permissions/&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-a-service-account-in-grafana&#34;&gt;Create a service account in Grafana&lt;/h2&gt;
&lt;p&gt;A service account can be used to run automated workloads in Grafana, like dashboard provisioning, configuration, or report generation. For more information about how you can use service accounts, refer to &lt;a href=&#34;#about-service-accounts&#34;&gt;About service accounts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information about creating service accounts via the API, refer to &lt;a href=&#34;../../developers/http_api/serviceaccount/#create-service-account&#34;&gt;Create a service account in the HTTP API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note that the user who created a service account will also be able to read, update and delete the service account that they created, as well as permissions associated with that service account.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure you have permission to create and edit service accounts. By default, the organization administrator role is required to create and edit service accounts. For more information about user permissions, refer to &lt;a href=&#34;../roles-and-permissions/#&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;to-create-a-service-account&#34;&gt;To create a service account&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana and click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Users and access&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Service accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add service account&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a &lt;strong&gt;Display name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The display name must be unique as it determines the ID associated with the service account.
&lt;ul&gt;
&lt;li&gt;We recommend that you use a consistent naming convention when you name service accounts. A consistent naming convention can help you scale and maintain service accounts in the future.&lt;/li&gt;
&lt;li&gt;You can change the display name at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;add-a-token-to-a-service-account-in-grafana&#34;&gt;Add a token to a service account in Grafana&lt;/h2&gt;
&lt;p&gt;A service account token is a generated random string that acts as an alternative to a password when authenticating with Grafana’s HTTP API. For more information about service accounts, refer to &lt;a href=&#34;#about-service-accounts&#34;&gt;About service accounts in Grafana&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can create a service account token using the Grafana UI or via the API. For more information about creating a service account token via the API, refer to &lt;a href=&#34;../../developers/http_api/serviceaccount/#create-service-account-tokens&#34;&gt;Create service account tokens using the HTTP API&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin-1&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure you have permission to create and edit service accounts. By default, the organization administrator role is required to create and edit service accounts. For more information about user permissions, refer to &lt;a href=&#34;../roles-and-permissions/#&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;service-account-token-expiration-dates&#34;&gt;Service account token expiration dates&lt;/h3&gt;
&lt;p&gt;By default, service account tokens don&amp;rsquo;t have an expiration date, meaning they won&amp;rsquo;t expire at all. However, if &lt;code&gt;token_expiration_day_limit&lt;/code&gt; is set to a value greater than 0, Grafana restricts the lifetime limit of new tokens to the configured value in days.&lt;/p&gt;
&lt;h3 id=&#34;to-add-a-token-to-a-service-account&#34;&gt;To add a token to a service account&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana and click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Users and access&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Service accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the service account to which you want to add a token.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add service account token&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the token.&lt;/li&gt;
&lt;li&gt;(recommended) Select &lt;strong&gt;Set expiration date&lt;/strong&gt; and enter an expiry date for the token.
&lt;ul&gt;
&lt;li&gt;The expiry date specifies how long you want the key to be valid.&lt;/li&gt;
&lt;li&gt;If you are unsure of an expiration date, we recommend that you set the token to expire after a short time, such as a few hours or less. This limits the risk associated with a token that is valid for a long time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Generate token&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;assign-roles-to-a-service-account-in-grafana&#34;&gt;Assign roles to a service account in Grafana&lt;/h2&gt;
&lt;p&gt;You can assign roles to a Grafana service account to control access for the associated service account tokens.
You can assign roles to a service account using the Grafana UI or via the API. For more information about assigning a role to a service account via the API, refer to &lt;a href=&#34;../../developers/http_api/serviceaccount/#update-service-account&#34;&gt;Update service account using the HTTP API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;../../introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;, you can also &lt;a href=&#34;../roles-and-permissions/access-control/assign-rbac-roles/&#34;&gt;assign RBAC roles&lt;/a&gt; to grant very specific permissions to applications that interact with Grafana.&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;Since Grafana 10.2.0, the &lt;code&gt;No Basic Role&lt;/code&gt; is available for organization users or service accounts. This role has no permissions. Permissions can be granted with RBAC.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;before-you-begin-2&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure you have permission to update service accounts roles. By default, the organization administrator role is required to update service accounts permissions. For more information about user permissions, refer to &lt;a href=&#34;../roles-and-permissions/#&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;to-assign-a-role-to-a-service-account&#34;&gt;To assign a role to a service account&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana and click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Users and access&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Service accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the service account to which you want to assign a role. As an alternative, find the service account in the list view.&lt;/li&gt;
&lt;li&gt;Assign a role using the role picker to update.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;manage-users-and-teams-permissions-for-a-service-account-in-grafana&#34;&gt;Manage users and teams permissions for a service account in Grafana&lt;/h2&gt;
&lt;p&gt;To control what and who can do with the service account you can assign permissions directly to users and teams. You can assign permissions using the Grafana UI.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin-3&#34;&gt;Before you begin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure you have permission to update user and team permissions of a service accounts. By default, the organization administrator role is required to update user and teams permissions for a service account. For more information about user permissions, refer to &lt;a href=&#34;../roles-and-permissions/#&#34;&gt;About users and permissions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Ensure you have permission to read teams.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;user-and-team-permissions-for-a-service-account&#34;&gt;User and team permissions for a service account&lt;/h3&gt;
&lt;p&gt;You can assign on of the following permissions to a specific user or a team:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Edit&lt;/strong&gt;: A user or a team with this permission can view, edit, enable and disable a service account, and add or delete service account tokens.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin&lt;/strong&gt;: User or a team with this permission will be able to everything from &lt;strong&gt;Edit&lt;/strong&gt; permission, as well as manage user and team permissions for a service account.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;to-update-team-permissions-for-a-service-account&#34;&gt;To update team permissions for a service account&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana and click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Users and access&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Service accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the service account for which you want to update team permissions a role.&lt;/li&gt;
&lt;li&gt;In the Permissions section at the bottom, click &lt;strong&gt;Add permission&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Team&lt;/strong&gt; in the dropdown and select your desired team.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;View&lt;/strong&gt;, &lt;strong&gt;Edit&lt;/strong&gt; or &lt;strong&gt;Admin&lt;/strong&gt; role in the dropdown and click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;to-update-user-permissions-for-a-service-account&#34;&gt;To update user permissions for a service account&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana and click &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Users and access&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Service accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the service account for which you want to update team permissions a role.&lt;/li&gt;
&lt;li&gt;In the Permissions section at the bottom, click &lt;strong&gt;Add permission&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;User&lt;/strong&gt; in the dropdown and select your desired user.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;View&lt;/strong&gt;, &lt;strong&gt;Edit&lt;/strong&gt; or &lt;strong&gt;Admin&lt;/strong&gt; role in the dropdown and click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;debug-the-permissions-of-a-service-account-token&#34;&gt;Debug the permissions of a service account token&lt;/h2&gt;
&lt;p&gt;This section explains how to learn which RBAC permissions are attached to a service account token.
This can help you diagnose permissions-related issues with token authorization.&lt;/p&gt;
&lt;h3 id=&#34;before-you-begin-4&#34;&gt;Before you begin&lt;/h3&gt;
&lt;p&gt;These endpoints provide details on a service account&amp;rsquo;s token.
If you haven&amp;rsquo;t added a token to a service account, do so before proceeding.
For details, refer to &lt;a href=&#34;#add-a-token-to-a-service-account-in-grafana&#34;&gt;Add a token to a service account&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;list-a-service-account-tokens-permissions&#34;&gt;List a service account token&amp;rsquo;s permissions&lt;/h3&gt;
&lt;p&gt;To list your token&amp;rsquo;s permissions, use the &lt;code&gt;/api/access-control/user/permissions&lt;/code&gt; endpoint.&lt;/p&gt;
&lt;h4 id=&#34;example&#34;&gt;Example&lt;/h4&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;The following command output is shortened to show only the relevant content.
Authorize your request with the token whose permissions you want to check.&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;Bash&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-bash&#34;&gt;curl -H &amp;#34;Authorization: Bearer glsa_HOruNAb7SOiCdshU9algkrq7FDsNSLAa_54e2f8be&amp;#34; -X GET &amp;#39;&amp;lt;grafana_url&amp;gt;/api/access-control/user/permissions&amp;#39; | jq&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The output lists the token&amp;rsquo;s permissions:&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;dashboards:read&amp;#34;: [&amp;#34;dashboards:uid:70KrY6IVz&amp;#34;],
  &amp;#34;dashboards:write&amp;#34;: [&amp;#34;dashboards:uid:70KrY6IVz&amp;#34;],
  &amp;#34;datasources.id:read&amp;#34;: [&amp;#34;datasources:*&amp;#34;],
  &amp;#34;datasources:read&amp;#34;: [&amp;#34;datasources:*&amp;#34;],
  &amp;#34;datasources:explore&amp;#34;: [&amp;#34;&amp;#34;],
  &amp;#34;datasources:query&amp;#34;: [&amp;#34;datasources:uid:grafana&amp;#34;],
  &amp;#34;datasources:read&amp;#34;: [&amp;#34;datasources:uid:grafana&amp;#34;],
  &amp;#34;orgs:read&amp;#34;: [&amp;#34;&amp;#34;]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;check-which-dashboards-a-token-is-allowed-to-see&#34;&gt;Check which dashboards a token is allowed to see&lt;/h3&gt;
&lt;p&gt;To list which dashboards a token can view, you can filter the &lt;code&gt;/api/access-control/user/permissions&lt;/code&gt; endpoint&amp;rsquo;s response for the &lt;code&gt;dashboards:read&lt;/code&gt; permission key.&lt;/p&gt;
&lt;h4 id=&#34;example-1&#34;&gt;Example&lt;/h4&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;Bash&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-bash&#34;&gt;curl -H &amp;#34;Authorization: Bearer glsa_HOruNAb7SOiCdshU9algkrq7FDsNSLAa_54e2f8be&amp;#34; -X GET &amp;#39;&amp;lt;grafana_url&amp;gt;/api/access-control/user/permissions&amp;#39; | jq &amp;#39;.&amp;#34;dashboards:read&amp;#34;&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The output lists the dashboards a token can view and the folders a token can view dashboards from,
by their unique identifiers (&lt;code&gt;uid&lt;/code&gt;):&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;dashboards:uid:70KrY6IVz&amp;#34;,
  &amp;#34;dashboards:uid:d61be733D&amp;#34;,
  &amp;#34;folders:uid:dBS87Axw2&amp;#34;,
],&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="service-accounts">Service accounts&lt;/h1>
&lt;p>You can use a service account to run automated workloads in Grafana, such as dashboard provisioning, configuration, or report generation. Create service accounts and tokens to authenticate applications, such as Terraform, with the Grafana API.&lt;/p></description></item><item><title>Correlations</title><link>https://grafana.com/docs/grafana/v11.0/administration/correlations/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/correlations/</guid><content><![CDATA[&lt;h1 id=&#34;correlations&#34;&gt;Correlations&lt;/h1&gt;
&lt;p&gt;You can create interactive links for Explore visualizations to run queries related to presented data by setting up Correlations.&lt;/p&gt;
&lt;p&gt;A correlation defines how data in one &lt;a href=&#34;../../datasources/&#34;&gt;data source&lt;/a&gt; is used to query data in another data source.
Some examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;an application name returned in a logs data source can be used to query metrics related to that application in a metrics data source, or&lt;/li&gt;
&lt;li&gt;a user name returned by an SQL data source can be used to query logs related to that particular user in a logs data source&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;../../explore/&#34;&gt;Explore&lt;/a&gt; takes user-defined correlations to display links inside the visualizations.
You can click on a link to run the related query and see results in &lt;a href=&#34;../../explore/#split-and-compare&#34;&gt;Explore Split View&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Explore visualizations that currently support showing links based on correlations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;use-correlations-in-visualizations/#correlations-in-logs-panel&#34;&gt;Logs Panel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;use-correlations-in-visualizations/#correlations-in-table&#34;&gt;Table&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can configure correlations using &lt;a href=&#34;../provisioning/&#34;&gt;provisioning&lt;/a&gt;, the &lt;strong&gt;Administration &amp;gt; Plugins and data &amp;gt; Correlations&lt;/strong&gt; page in Grafana or directly in &lt;a href=&#34;../../explore/correlations-editor-in-explore/&#34;&gt;Explore&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;example-of-how-links-work-in-explore-once-set-up&#34;&gt;Example of how links work in Explore once set up&lt;/h2&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 1516px;&#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/correlations/correlations-in-explore-10-0.gif&#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/correlations/correlations-in-explore-10-0.gif&#34;alt=&#34;Demonstration of following a correlation link in Grafana Explore&#34;width=&#34;1516&#34;height=&#34;558&#34;title=&#34;Correlations links in Explore&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/correlations/correlations-in-explore-10-0.gif&#34;
            alt=&#34;Demonstration of following a correlation link in Grafana Explore&#34;width=&#34;1516&#34;height=&#34;558&#34;title=&#34;Correlations links in Explore&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Correlations links in Explore&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;See also:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/correlations/correlation-configuration/&#34;&gt;Correlation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/correlations/correlation-permissions/&#34;&gt;Permissions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/correlations/add-permissions-to-create-new-correlations/&#34;&gt;Add permissions to create new correlations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/correlations/create-a-new-correlation/&#34;&gt;Create a new correlation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/correlations/use-variables-and-transformations/&#34;&gt;Use variables and transformations in a correlation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v11.0/administration/correlations/use-correlations-in-visualizations/&#34;&gt;Use correlations in visualizations&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
]]></content><description>&lt;h1 id="correlations">Correlations&lt;/h1>
&lt;p>You can create interactive links for Explore visualizations to run queries related to presented data by setting up Correlations.&lt;/p>
&lt;p>A correlation defines how data in one &lt;a href="../../datasources/">data source&lt;/a> is used to query data in another data source.
Some examples:&lt;/p></description></item><item><title>Feature toggles</title><link>https://grafana.com/docs/grafana/v11.0/administration/feature-toggles/</link><pubDate>Mon, 16 Mar 2026 19:38:33 +0000</pubDate><guid>https://grafana.com/docs/grafana/v11.0/administration/feature-toggles/</guid><content><![CDATA[&lt;h1 id=&#34;feature-toggles&#34;&gt;Feature toggles&lt;/h1&gt;
&lt;p&gt;Grafana incorporates feature toggles which let you introduce new functionality safeguarded by control flags. This allows Grafana administrators the flexibility to determine the appropriate timing for enabling or disabling specific features.
For detailed information about particular features and how they operate, refer to 
    &lt;a href=&#34;/docs/grafana/v11.0/setup-grafana/configure-grafana/feature-toggles/&#34;&gt;Configure Feature Toggles&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;manage-feature-toggles&#34;&gt;Manage feature toggles&lt;/h2&gt;
&lt;p&gt;In the &lt;strong&gt;Administration&lt;/strong&gt; page, the &lt;strong&gt;Feature Management&lt;/strong&gt; section enables authorized users to view and edit the various features that are active in their Grafana environment.
Authorized users include administrators, and users with the &lt;a href=&#34;../roles-and-permissions/access-control/#fixed-roles&#34;&gt;fixed roles&lt;/a&gt; &lt;code&gt;featuremgmt.read&lt;/code&gt; and &lt;code&gt;featuremgmt.write&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;There are different options for visibility and customization depending on the development stage of the feature.&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;Stage&lt;/th&gt;
              &lt;th&gt;Visibility&lt;/th&gt;
              &lt;th&gt;Editable&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Experimental&lt;/td&gt;
              &lt;td&gt;Hidden&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Private preview&lt;/td&gt;
              &lt;td&gt;Hidden&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Public preview&lt;/td&gt;
              &lt;td&gt;Visible*&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;General availability&lt;/td&gt;
              &lt;td&gt;Visible*&lt;/td&gt;
              &lt;td&gt;Yes*&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Deprecated&lt;/td&gt;
              &lt;td&gt;Visible*&lt;/td&gt;
              &lt;td&gt;Yes*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&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;Options marked with an asterisk (*) are defaults for the corresponding feature stage.
Each feature toggle owner can override its default behavior.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;edit-feature-toggles&#34;&gt;Edit feature toggles&lt;/h2&gt;
&lt;p&gt;You can only edit feature toggles if Grafana is configured with the proper feature management settings.
For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v11.0/setup-grafana/configure-grafana/feature-toggles/#configure-feature-management&#34;&gt;Configure feature management&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Altering the state of a toggle may require restarting your Grafana instance, which can take a few minutes.&lt;/p&gt;
&lt;p&gt;To edit a feature toggle, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to Grafana as a server administrator or authorized user.&lt;/li&gt;
&lt;li&gt;In the primary menu, go to &lt;strong&gt;Administration &amp;gt; General &amp;gt; Feature toggles&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Navigate to the list of feature toggles and select your feature state overrides.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save changes&lt;/strong&gt; and wait for your Grafana instance to restart with the updated feature toggles.&lt;/li&gt;
&lt;/ol&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;Editing feature toggles with the feature toggle management page is available now in all tiers of &lt;a href=&#34;/docs/grafana-cloud/&#34;&gt;Grafana Cloud&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

]]></content><description>&lt;h1 id="feature-toggles">Feature toggles&lt;/h1>
&lt;p>Grafana incorporates feature toggles which let you introduce new functionality safeguarded by control flags. This allows Grafana administrators the flexibility to determine the appropriate timing for enabling or disabling specific features.
For detailed information about particular features and how they operate, refer to
&lt;a href="/docs/grafana/v11.0/setup-grafana/configure-grafana/feature-toggles/">Configure Feature Toggles&lt;/a>.&lt;/p></description></item></channel></rss>