<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Installation on Grafana Labs</title><link>https://grafana.com/docs/grafana/v7.0/installation/</link><description>Recent content in Installation on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v7.0/installation/index.xml" rel="self" type="application/rss+xml"/><item><title>Configure Grafana Docker image</title><link>https://grafana.com/docs/grafana/v7.0/installation/configure-docker/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/configure-docker/</guid><content><![CDATA[&lt;h1 id=&#34;configure-a-grafana-docker-image&#34;&gt;Configure a Grafana Docker image&lt;/h1&gt;
&lt;p&gt;If you are running Grafana in a Docker image, then you configure Grafana using &lt;a href=&#34;../../administration/configuration/#configure-with-environment-variables&#34;&gt;environment variables&lt;/a&gt; rather than directly editing the configuration file. If you want to save your data, then you also need to designate persistent storage or bind mounts for the Grafana container.&lt;/p&gt;
&lt;h2 id=&#34;save-your-grafana-data&#34;&gt;Save your Grafana data&lt;/h2&gt;
&lt;p&gt;If you do not designate a location for information storage, then all your Grafana data disappears as soon as you stop your image. To save your data, you need to set up persistent storage or bind mounts for your container.&lt;/p&gt;
&lt;h3 id=&#34;run-grafana-container-with-persistent-storage-recommended&#34;&gt;Run Grafana container with persistent storage (recommended)&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;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;# create a persistent volume for your data in /var/lib/grafana (database and plugins)
docker volume create grafana-storage

# start grafana
docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;run-grafana-container-using-bind-mounts&#34;&gt;Run Grafana container using bind mounts&lt;/h3&gt;
&lt;p&gt;You may want to run Grafana in Docker but use folders on your host for the database or configuration. When doing so, it becomes important to start the container with a user that is able to access and write to the folder you map into the container.&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;mkdir data # creates a folder for your data
ID=$(id -u) # saves your user id in the ID variable

# starts grafana with your user id and using the data folder
docker run -d --user $ID --volume &amp;#34;$PWD/data:/var/lib/grafana&amp;#34; -p 3000:3000 grafana/grafana:5.1.0&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;default-paths&#34;&gt;Default paths&lt;/h2&gt;
&lt;p&gt;The following settings are hard-coded when launching the Grafana Docker container and can only be overridden using environment variables, not in &lt;code&gt;conf/grafana.ini&lt;/code&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;Setting&lt;/th&gt;
              &lt;th&gt;Default value&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;GF_PATHS_CONFIG&lt;/td&gt;
              &lt;td&gt;/etc/grafana/grafana.ini&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GF_PATHS_DATA&lt;/td&gt;
              &lt;td&gt;/var/lib/grafana&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GF_PATHS_HOME&lt;/td&gt;
              &lt;td&gt;/usr/share/grafana&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GF_PATHS_LOGS&lt;/td&gt;
              &lt;td&gt;/var/log/grafana&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GF_PATHS_PLUGINS&lt;/td&gt;
              &lt;td&gt;/var/lib/grafana/plugins&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GF_PATHS_PROVISIONING&lt;/td&gt;
              &lt;td&gt;/etc/grafana/provisioning&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;configure-grafana-with-docker-secrets&#34;&gt;Configure Grafana with Docker Secrets&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v5.2 and later.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s possible to supply Grafana with configuration through files. This works well with &lt;a href=&#34;https://docs.docker.com/engine/swarm/secrets/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Docker Secrets&lt;/a&gt; as the secrets by default gets mapped into &lt;code&gt;/run/secrets/&amp;lt;name of secret&amp;gt;&lt;/code&gt; of the container.&lt;/p&gt;
&lt;p&gt;You can do this with any of the configuration options in conf/grafana.ini by setting &lt;code&gt;GF_&amp;lt;SectionName&amp;gt;_&amp;lt;KeyName&amp;gt;__FILE&lt;/code&gt; to the path of the file holding the secret.&lt;/p&gt;
&lt;p&gt;For example, you could set the admin password this way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Admin password secret: &lt;code&gt;/run/secrets/admin_password&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Environment variable: &lt;code&gt;GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/admin_password&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configure-aws-credentials-for-cloudwatch-support&#34;&gt;Configure AWS credentials for CloudWatch Support&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;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;docker run -d \
-p 3000:3000 \
--name=grafana \
-e &amp;#34;GF_AWS_PROFILES=default&amp;#34; \
-e &amp;#34;GF_AWS_default_ACCESS_KEY_ID=YOUR_ACCESS_KEY&amp;#34; \
-e &amp;#34;GF_AWS_default_SECRET_ACCESS_KEY=YOUR_SECRET_KEY&amp;#34; \
-e &amp;#34;GF_AWS_default_REGION=us-east-1&amp;#34; \
grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You may also specify multiple profiles to &lt;code&gt;GF_AWS_PROFILES&lt;/code&gt; (e.g.
&lt;code&gt;GF_AWS_PROFILES=default another&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Supported variables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GF_AWS_${profile}_ACCESS_KEY_ID&lt;/code&gt;: AWS access key ID (required).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GF_AWS_${profile}_SECRET_ACCESS_KEY&lt;/code&gt;: AWS secret access  key (required).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GF_AWS_${profile}_REGION&lt;/code&gt;: AWS region (optional).&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="configure-a-grafana-docker-image">Configure a Grafana Docker image&lt;/h1>
&lt;p>If you are running Grafana in a Docker image, then you configure Grafana using &lt;a href="../../administration/configuration/#configure-with-environment-variables">environment variables&lt;/a> rather than directly editing the configuration file. If you want to save your data, then you also need to designate persistent storage or bind mounts for the Grafana container.&lt;/p></description></item><item><title>Install on Debian/Ubuntu</title><link>https://grafana.com/docs/grafana/v7.0/installation/debian/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/debian/</guid><content><![CDATA[&lt;h1 id=&#34;install-on-debian-or-ubuntu&#34;&gt;Install on Debian or Ubuntu&lt;/h1&gt;
&lt;p&gt;This page explains how to install Grafana dependencies, download and install Grafana, get the service up and running on your Debian or Ubuntu system, and also describes the installation package details.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note on upgrading:&lt;/strong&gt; While the process for upgrading Grafana is very similar to installing Grafana, there are some key backup steps you should perform. Read &lt;a href=&#34;../upgrading/&#34;&gt;Upgrading Grafana&lt;/a&gt; for tips and guidance on updating an existing installation.&lt;/p&gt;
&lt;h2 id=&#34;1-download-and-install&#34;&gt;1. Download and install&lt;/h2&gt;
&lt;p&gt;You can install Grafana using our official APT repository, by downloading a &lt;code&gt;.deb&lt;/code&gt; package, or by downloading a binary &lt;code&gt;.tar.gz&lt;/code&gt; file.&lt;/p&gt;
&lt;h3 id=&#34;install-from-apt-repository&#34;&gt;Install from APT repository&lt;/h3&gt;
&lt;p&gt;If you install from the APT repository, then Grafana is automatically updated every time you run &lt;code&gt;apt-get update&lt;/code&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;Grafana Version&lt;/th&gt;
              &lt;th&gt;Package&lt;/th&gt;
              &lt;th&gt;Repository&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana OSS&lt;/td&gt;
              &lt;td&gt;grafana&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/oss/deb stable main&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana OSS (Beta)&lt;/td&gt;
              &lt;td&gt;grafana&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/oss/deb beta main&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana Enterprise&lt;/td&gt;
              &lt;td&gt;grafana-enterprise&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/enterprise/deb stable main&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana Enterprise (Beta)&lt;/td&gt;
              &lt;td&gt;grafana-enterprise&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/enterprise/deb beta main&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;blockquote&gt;
&lt;p&gt;We recommend all users install the Enterprise Edition of Grafana, which can be seamlessly upgraded with a Grafana Enterprise &lt;a href=&#34;/products/enterprise/?utm_source=grafana-install-page&#34;&gt;subscription&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h4 id=&#34;to-install-the-latest-enterprise-edition&#34;&gt;To install the latest Enterprise edition:&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;sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

Add this repository for stable releases:

```bash
echo &amp;#34;deb https://packages.grafana.com/enterprise/deb stable main&amp;#34; | sudo tee -a /etc/apt/sources.list.d/grafana.list &lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Add this repository if you want beta releases:&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;echo &amp;#34;deb https://packages.grafana.com/enterprise/deb beta main&amp;#34; | sudo tee -a /etc/apt/sources.list.d/grafana.list &lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;After you add the repository:&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;sudo apt-get update
sudo apt-get install grafana-enterprise&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;to-install-the-latest-oss-release&#34;&gt;To install the latest OSS release:&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;sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Add this repository for stable releases:&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;echo &amp;#34;deb https://packages.grafana.com/oss/deb stable main&amp;#34; | sudo tee -a /etc/apt/sources.list.d/grafana.list &lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Add this repository if you want beta releases:&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;echo &amp;#34;deb https://packages.grafana.com/oss/deb beta main&amp;#34; | sudo tee -a /etc/apt/sources.list.d/grafana.list &lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;After you add the repository:&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;sudo apt-get update
sudo apt-get install grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;install-deb-package&#34;&gt;Install .deb package&lt;/h3&gt;
&lt;p&gt;If you install the &lt;code&gt;.deb&lt;/code&gt; package, then you will need to manually update Grafana for each new version.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the &lt;a href=&#34;/grafana/download&#34;&gt;Grafana download page&lt;/a&gt;, select the Grafana version you want to install.
&lt;ul&gt;
&lt;li&gt;The most recent Grafana version is selected by default.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Version&lt;/strong&gt; field displays only finished releases. If you want to install a beta version, click &lt;strong&gt;Nightly Builds&lt;/strong&gt; and then select a version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Select an &lt;strong&gt;Edition&lt;/strong&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; - Recommended download. Functionally identical to the open source version, but includes features you can unlock with a license if you so choose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt; - Functionally identical to the Enterprise version, but you will need to download the Enterprise version if you want Enterprise features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Depending on which system you are running, click &lt;strong&gt;Linux&lt;/strong&gt; or &lt;strong&gt;ARM&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Copy and paste the code from the installation page into your command line and run. It follows the pattern shown below.&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;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;sudo apt-get install -y adduser libfontconfig1
wget &amp;lt;.deb package url&amp;gt;
sudo dpkg -i grafana&amp;lt;edition&amp;gt;_&amp;lt;version&amp;gt;_amd64.deb&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;install-from-binary-targz-file&#34;&gt;Install from binary .tar.gz file&lt;/h2&gt;
&lt;p&gt;Download the latest &lt;a href=&#34;/grafana/download?platform=linux&#34;&gt;&lt;code&gt;.tar.gz&lt;/code&gt; file&lt;/a&gt; and extract it. The files extract into a folder named after the Grafana version downloaded. This folder contains all files required to run Grafana. There are no init scripts or install scripts in this package.&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;wget &amp;lt;tar.gz package url&amp;gt;
sudo tar -zxvf &amp;lt;tar.gz package&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;2-start-the-server&#34;&gt;2. Start the server&lt;/h2&gt;
&lt;p&gt;This starts the &lt;code&gt;grafana-server&lt;/code&gt; process as the &lt;code&gt;grafana&lt;/code&gt; user, which was created during the package installation.&lt;/p&gt;
&lt;p&gt;If you installed with the APT repository or &lt;code&gt;.deb&lt;/code&gt; package, then you can start the server using &lt;code&gt;systemd&lt;/code&gt; or &lt;code&gt;init.d&lt;/code&gt;. If you installed a binary &lt;code&gt;.tar.gz&lt;/code&gt; file, then you need to execute the binary.&lt;/p&gt;
&lt;h3 id=&#34;start-the-server-with-systemd&#34;&gt;Start the server with systemd&lt;/h3&gt;
&lt;p&gt;To start the service and verify that the service has started:&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;sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Configure the Grafana server to start at boot:&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;sudo systemctl enable grafana-server.service&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;start-the-server-with-initd&#34;&gt;Start the server with init.d&lt;/h3&gt;
&lt;p&gt;To start the service and verify that the service has started:&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;sudo service grafana-server start
sudo service grafana-server status&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Configure the Grafana server to start at boot:&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;sudo update-rc.d grafana-server defaults&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;execute-the-binary&#34;&gt;Execute the binary&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; binary .tar.gz needs the working directory to be the root install directory where the binary and the &lt;code&gt;public&lt;/code&gt; folder are located.&lt;/p&gt;
&lt;p&gt;Start Grafana by running:&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;./bin/grafana-server web&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;package-details&#34;&gt;Package details&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Installs binary to &lt;code&gt;/usr/sbin/grafana-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installs Init.d script to &lt;code&gt;/etc/init.d/grafana-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Creates default file (environment vars) to &lt;code&gt;/etc/default/grafana-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installs configuration file to &lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installs systemd service (if systemd is available) name &lt;code&gt;grafana-server.service&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The default configuration sets the log file at &lt;code&gt;/var/log/grafana/grafana.log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The default configuration specifies an sqlite3 db at &lt;code&gt;/var/lib/grafana/grafana.db&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installs HTML/JS/CSS and other Grafana files at &lt;code&gt;/usr/share/grafana&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../getting-started/getting-started/&#34;&gt;Getting Started&lt;/a&gt; guide for information about logging in, setting up data sources, and so on.&lt;/p&gt;
&lt;h2 id=&#34;configure-grafana&#34;&gt;Configure Grafana&lt;/h2&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; page for details on options for customizing your environment, logging, database, and so on.&lt;/p&gt;
]]></content><description>&lt;h1 id="install-on-debian-or-ubuntu">Install on Debian or Ubuntu&lt;/h1>
&lt;p>This page explains how to install Grafana dependencies, download and install Grafana, get the service up and running on your Debian or Ubuntu system, and also describes the installation package details.&lt;/p></description></item><item><title>Install on macOS</title><link>https://grafana.com/docs/grafana/v7.0/installation/mac/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/mac/</guid><content><![CDATA[&lt;h1 id=&#34;install-on-macos&#34;&gt;Install on macOS&lt;/h1&gt;
&lt;p&gt;This page provides instructions to help you install Grafana on macOS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note on upgrading:&lt;/strong&gt; While the process for upgrading Grafana is very similar to installing Grafana, there are some key backup steps you should perform. Read &lt;a href=&#34;../upgrading/&#34;&gt;Upgrading Grafana&lt;/a&gt; for tips and guidance on updating an existing installation.&lt;/p&gt;
&lt;h2 id=&#34;1-download-and-install&#34;&gt;1. Download and install&lt;/h2&gt;
&lt;p&gt;Before you begin, you must have &lt;a href=&#34;http://brew.sh/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Homebrew&lt;/a&gt; installed.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;On the &lt;a href=&#34;/grafana/download?platform=mac&#34;&gt;Grafana download page&lt;/a&gt;, select the Grafana version you want to install.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The most recent Grafana version is selected by default.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Version&lt;/strong&gt; field displays only finished releases. If you want to install a beta version, click &lt;strong&gt;Nightly Builds&lt;/strong&gt; and then select a version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select an &lt;strong&gt;Edition&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt; - Functionally identical to the enterprise version, but you will need to download the enterprise version if you want enterprise features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; - Not currently available for Mac.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Mac&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy and paste the code from the installation page into your command line and run. It follows the pattern shown below.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;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;brew update
brew install grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;2-start-grafana&#34;&gt;2. Start Grafana&lt;/h2&gt;
&lt;p&gt;Start Grafana using Homebrew services:&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;brew services start grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;upgrade-with-homebrew&#34;&gt;Upgrade with Homebrew&lt;/h2&gt;
&lt;p&gt;To upgrade Grafana, use the reinstall command:&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;brew update
brew reinstall grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="install-on-macos">Install on macOS&lt;/h1>
&lt;p>This page provides instructions to help you install Grafana on macOS.&lt;/p>
&lt;p>&lt;strong>Note on upgrading:&lt;/strong> While the process for upgrading Grafana is very similar to installing Grafana, there are some key backup steps you should perform. Read &lt;a href="../upgrading/">Upgrading Grafana&lt;/a> for tips and guidance on updating an existing installation.&lt;/p></description></item><item><title>Install on RPM-based Linux</title><link>https://grafana.com/docs/grafana/v7.0/installation/rpm/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/rpm/</guid><content><![CDATA[&lt;h1 id=&#34;install-on-rpm-based-linux-centos-fedora-opensuse-red-hat&#34;&gt;Install on RPM-based Linux (CentOS, Fedora, OpenSuse, Red Hat)&lt;/h1&gt;
&lt;p&gt;This page explains how to install Grafana dependencies, download and install Grafana, get the service up and running on your RPM-based Linux system, and the installation package details.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note on upgrading:&lt;/strong&gt; While the process for upgrading Grafana is very similar to installing Grafana, there are some key backup steps you should perform. Read &lt;a href=&#34;../upgrading/&#34;&gt;Upgrading Grafana&lt;/a&gt; for tips and guidance on updating an existing installation.&lt;/p&gt;
&lt;h2 id=&#34;1-download-and-install&#34;&gt;1. Download and install&lt;/h2&gt;
&lt;p&gt;You can install Grafana from a YUM repository, manually using YUM, manually using RPM, or by downloading a binary &lt;code&gt;.tar.gz&lt;/code&gt; file.&lt;/p&gt;
&lt;h3 id=&#34;install-from-yum-repository&#34;&gt;Install from YUM repository&lt;/h3&gt;
&lt;p&gt;If you install from the YUM repository, then Grafana is automatically updated every time you run &lt;code&gt;sudo yum update&lt;/code&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;Grafana Version&lt;/th&gt;
              &lt;th&gt;Package&lt;/th&gt;
              &lt;th&gt;Repository&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana OSS&lt;/td&gt;
              &lt;td&gt;grafana&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/oss/rpm&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana OSS (Beta)&lt;/td&gt;
              &lt;td&gt;grafana&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/oss/rpm-beta&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana Enterprise&lt;/td&gt;
              &lt;td&gt;grafana-enterprise&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/enterprise/rpm&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grafana Enterprise (Beta)&lt;/td&gt;
              &lt;td&gt;grafana-enterprise&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;https://packages.grafana.com/enterprise/rpm-beta&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Add a new file to your YUM repo using the method of your choice. The command below uses &lt;code&gt;nano&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;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;sudo nano /etc/yum.repos.d/grafana.repo&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Choose if you want to install the Open Source or Enterprise edition of Grafana and enter the information from the edition you&amp;rsquo;ve chosen into &lt;code&gt;grafana.repo&lt;/code&gt;. If you want to install the beta version of Grafana you need to replace the URL with a beta URL from the table above.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We recommend all users to install the Enterprise Edition of Grafana, which can be seamlessly upgraded with a Grafana Enterprise &lt;a href=&#34;/products/enterprise/?utm_source=grafana-install-page&#34;&gt;subscription&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For Enterprise releases:&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;[grafana]
name=grafana
baseurl=https://packages.grafana.com/enterprise/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For OSS releases:&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;[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Install Grafana with one of 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;sudo yum install grafana

# or

sudo yum install grafana-enterprise&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;install-manually-with-yum&#34;&gt;Install manually with YUM&lt;/h3&gt;
&lt;p&gt;If you install manually with YUM, then you will need to manually update Grafana for each new version. To enable automatic updates for your Grafana installation please use the instructions below to install via our YUM repository.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the &lt;a href=&#34;/grafana/download&#34;&gt;Grafana download page&lt;/a&gt;, select the Grafana version you want to install.
&lt;ul&gt;
&lt;li&gt;The most recent Grafana version is selected by default.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Version&lt;/strong&gt; field displays only finished releases. If you want to install a beta version, click &lt;strong&gt;Nightly Builds&lt;/strong&gt; and then select a version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Select an &lt;strong&gt;Edition&lt;/strong&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; - Recommended download. Functionally identical to the open source version, but includes features you can unlock with a license if you so choose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt; - Functionally identical to the Enterprise version, but you will need to download the Enterprise version if you want enterprise features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Depending on which system you are running, click &lt;strong&gt;Linux&lt;/strong&gt; or &lt;strong&gt;ARM&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Copy and paste the code from the installation page into your command line and run. It follows the pattern shown below.&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;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;wget &amp;lt;rpm package url&amp;gt;
sudo yum localinstall &amp;lt;local rpm package&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can also install Grafana using YUM directly:&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;sudo yum install &amp;lt;rpm package url&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;install-with-rpm&#34;&gt;Install with RPM&lt;/h3&gt;
&lt;p&gt;If you install with RPM, then you will need to manually update Grafana for each new version. This method varies according to which Linux OS you are running. Read the instructions fully before you begin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The .rpm files are signed, you can verify the signature with this &lt;a href=&#34;https://packages.grafana.com/gpg.key&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;public GPG key&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the &lt;a href=&#34;/grafana/download&#34;&gt;Grafana download page&lt;/a&gt;, select the Grafana version you want to install.
&lt;ul&gt;
&lt;li&gt;The most recent Grafana version is selected by default.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Version&lt;/strong&gt; field displays only finished releases. If you want to install a beta version, click &lt;strong&gt;Nightly Builds&lt;/strong&gt; and then select a version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Select an &lt;strong&gt;Edition&lt;/strong&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; - Recommended download. Functionally identical to the open source version, but includes features you can unlock with a license if you so choose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt; - Functionally identical to the Enterprise version, but you will need to download the Enterprise version if you want Enterprise features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Depending on which system you are running, click &lt;strong&gt;Linux&lt;/strong&gt; or &lt;strong&gt;ARM&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Copy and paste the .rpm package URL and the local .rpm package information from the installation page into the pattern shown below, then run the commands.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;On CentOS, Fedora, Red Hat, or RHEL:&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;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;sudo yum install initscripts urw-fonts wget
wget &amp;lt;rpm package url&amp;gt;
sudo rpm -Uvh &amp;lt;local rpm package&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;On OpenSUSE or SUSE:&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;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;wget &amp;lt;rpm package url&amp;gt;
sudo rpm -i --nodeps &amp;lt;local rpm package&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;install-from-binary-targz-file&#34;&gt;Install from binary .tar.gz file&lt;/h3&gt;
&lt;p&gt;Download the latest &lt;a href=&#34;/grafana/download?platform=linux&#34;&gt;&lt;code&gt;.tar.gz&lt;/code&gt; file&lt;/a&gt; and extract it. The files are extracted into a folder named after the Grafana version that you downloaded. This folder contains all files required to run Grafana. There are no init scripts or install scripts in this package.&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;wget &amp;lt;tar.gz package url&amp;gt;
sudo tar -zxvf &amp;lt;tar.gz package&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;2-start-the-server&#34;&gt;2. Start the server&lt;/h2&gt;
&lt;p&gt;This starts the &lt;code&gt;grafana-server&lt;/code&gt; process as the &lt;code&gt;grafana&lt;/code&gt; user, which was created during the package installation. The systemd commands work in most cases, but some older Linux systems might require init.d. The installer should prompt you with the correct commands.&lt;/p&gt;
&lt;p&gt;If you installed with an &lt;code&gt;.rpm&lt;/code&gt; package, then you can start the server using &lt;code&gt;systemd&lt;/code&gt; or &lt;code&gt;init.d&lt;/code&gt;. If you installed a binary &lt;code&gt;.tar.gz&lt;/code&gt; file, then you need to execute the binary.&lt;/p&gt;
&lt;h3 id=&#34;start-the-server-with-systemd&#34;&gt;Start the server with systemd&lt;/h3&gt;
&lt;p&gt;To start the service and verify that the service has started:&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;sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Configure the Grafana server to start at boot:&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;sudo systemctl enable grafana-server&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;SUSE or OpenSUSE users:&lt;/strong&gt; You might need to start the server with the systemd method, then use the init.d method to configure Grafana to start at boot.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;start-the-server-with-initd&#34;&gt;Start the server with init.d&lt;/h3&gt;
&lt;p&gt;To start the service and verify that the service has started:&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;sudo service grafana-server start
sudo service grafana-server status&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Configure the Grafana server to start at boot:&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;sudo /sbin/chkconfig --add grafana-server&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;execute-the-binary&#34;&gt;Execute the binary&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; binary needs the working directory to be the root install directory where the binary and the &lt;code&gt;public&lt;/code&gt; folder are located.&lt;/p&gt;
&lt;p&gt;Start Grafana by running:&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;./bin/grafana-server web&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;package-details&#34;&gt;Package details&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Installs binary to &lt;code&gt;/usr/sbin/grafana-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copies init.d script to &lt;code&gt;/etc/init.d/grafana-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installs default file (environment vars) to &lt;code&gt;/etc/sysconfig/grafana-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copies configuration file to &lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installs systemd service (if systemd is available) name &lt;code&gt;grafana-server.service&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The default configuration uses a log file at &lt;code&gt;/var/log/grafana/grafana.log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The default configuration specifies an sqlite3 database at &lt;code&gt;/var/lib/grafana/grafana.db&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../getting-started/getting-started/&#34;&gt;Getting Started&lt;/a&gt; guide for information about logging in, setting up data sources, and so on.&lt;/p&gt;
&lt;h2 id=&#34;configure-grafana&#34;&gt;Configure Grafana&lt;/h2&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; page for details on options for customizing your environment, logging, database, and so on.&lt;/p&gt;
]]></content><description>&lt;h1 id="install-on-rpm-based-linux-centos-fedora-opensuse-red-hat">Install on RPM-based Linux (CentOS, Fedora, OpenSuse, Red Hat)&lt;/h1>
&lt;p>This page explains how to install Grafana dependencies, download and install Grafana, get the service up and running on your RPM-based Linux system, and the installation package details.&lt;/p></description></item><item><title>Install on Windows</title><link>https://grafana.com/docs/grafana/v7.0/installation/windows/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/windows/</guid><content><![CDATA[&lt;h1 id=&#34;install-on-windows&#34;&gt;Install on Windows&lt;/h1&gt;
&lt;p&gt;You can either download the Windows installer package or a standalone Windows binary file.&lt;/p&gt;
&lt;p&gt;Read &lt;a href=&#34;../upgrading/&#34;&gt;Upgrading Grafana&lt;/a&gt; for tips and guidance on updating an existing
installation.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;a href=&#34;/grafana/download?platform=windows&#34;&gt;Download Grafana&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Select a Grafana version you want to install.
&lt;ul&gt;
&lt;li&gt;The most recent Grafana version is selected by default.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Version&lt;/strong&gt; field displays only finished releases. If you want to install a beta version, click &lt;strong&gt;Nightly Builds&lt;/strong&gt; and then select a version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Select an &lt;strong&gt;Edition&lt;/strong&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; - Recommended download. Functionally identical to the open source version, but includes features you can unlock with a license if you so choose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt; - Functionally identical to the enterprise version, but you will need to download the enterprise version if you want enterprise features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Windows&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can either use the Windows installer or you can install a standalone Windows binary.&lt;/p&gt;
&lt;h2 id=&#34;install-with-windows-installer-recommended&#34;&gt;Install with Windows installer (recommended)&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Download the installer&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Open and run the installer.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in &lt;a href=&#34;../../getting-started/getting-started/&#34;&gt;Getting Started&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;install-standalone-windows-binary&#34;&gt;Install standalone Windows binary&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Download the zip file&lt;/strong&gt;.
&lt;strong&gt;Important:&lt;/strong&gt; After you&amp;rsquo;ve downloaded the zip file and before extracting it, make sure to open the properties for that file (right-click &lt;strong&gt;Properties&lt;/strong&gt;) and select the &lt;code&gt;unblock&lt;/code&gt; check box and then click &lt;code&gt;Ok&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extract this folder to anywhere you want Grafana to run from.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start Grafana by executing &lt;code&gt;grafana-server.exe&lt;/code&gt;, located in the &lt;code&gt;bin&lt;/code&gt; directory, preferably from the command line. If you want to run Grafana as a Windows service, then download
&lt;a href=&#34;https://nssm.cc/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;NSSM&lt;/a&gt;. It is very easy to add Grafana as a Windows service using that tool.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in &lt;a href=&#34;../../getting-started/getting-started/&#34;&gt;Getting Started&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The default Grafana port is &lt;code&gt;3000&lt;/code&gt;. This port might require extra permissions on Windows. If it does not appear in the default port, you can try changing to a different port.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go into the &lt;code&gt;conf&lt;/code&gt; directory and copy &lt;code&gt;sample.ini&lt;/code&gt; to &lt;code&gt;custom.ini&lt;/code&gt;.  &lt;strong&gt;Note:&lt;/strong&gt; You should edit &lt;code&gt;custom.ini&lt;/code&gt;, never &lt;code&gt;defaults.ini&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Edit &lt;code&gt;custom.ini&lt;/code&gt; and uncomment the &lt;code&gt;http_port&lt;/code&gt; configuration option (&lt;code&gt;;&lt;/code&gt; is the comment character in ini files) and change it to something like &lt;code&gt;8080&lt;/code&gt; or similar. That port should not require extra Windows privileges.
Read more about the &lt;a href=&#34;../../administration/configuration/&#34;&gt;configuration options&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
]]></content><description>&lt;h1 id="install-on-windows">Install on Windows&lt;/h1>
&lt;p>You can either download the Windows installer package or a standalone Windows binary file.&lt;/p>
&lt;p>Read &lt;a href="../upgrading/">Upgrading Grafana&lt;/a> for tips and guidance on updating an existing
installation.&lt;/p></description></item><item><title>Migrating from older versions</title><link>https://grafana.com/docs/grafana/v7.0/installation/migrating_to2/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/migrating_to2/</guid><content><![CDATA[&lt;h1 id=&#34;migrating-from-older-versions&#34;&gt;Migrating from older versions&lt;/h1&gt;
&lt;p&gt;Normally new versions of Grafana are backward compatible. Any changes to database or dashboard schema will
be automatically migrated when Grafana-server start up without any user action required.&lt;/p&gt;
&lt;h1 id=&#34;migrating-from-v1x-to-v2x&#34;&gt;Migrating from v1.x to v2.x&lt;/h1&gt;
&lt;p&gt;Grafana 2.0 represents a major update to Grafana. It brings new
capabilities, many of which are enabled by its new back-end server and
integrated database.&lt;/p&gt;
&lt;p&gt;The new back-end lays a solid foundation that we hope to build on over
the coming months. For the 2.0 release, it enables authentication as
well as server-side sharing and rendering.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve attempted to provide a smooth migration path for v1.9 users to
migrate to Grafana 2.0.&lt;/p&gt;
&lt;h2 id=&#34;adding-data-sources&#34;&gt;Adding Data sources&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;config.js&lt;/code&gt; file has been deprecated. Data sources are now managed via
the UI or HTTP API. Manage your organizations data sources by clicking on the &lt;code&gt;Data Sources&lt;/code&gt; menu on the
side menu (which can be toggled via the Grafana icon in the upper left
of your browser).&lt;/p&gt;
&lt;p&gt;From here, you can add any Graphite, InfluxDB, elasticsearch, and
OpenTSDB data sources that you were using with Grafana 1.x. Grafana 2.0
can be configured to communicate with your data source using a back-end
mode which can eliminate many CORS-related issues, as well as provide
more secure authentication to your data sources.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note&lt;/em&gt; When you add your data sources please name them exactly as you
named them in &lt;code&gt;config.js&lt;/code&gt; in Grafana 1.x. That name is referenced by
panels, annotation and template queries. That way when you import
your old dashboard they will work without any changes.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;importing-your-existing-dashboards&#34;&gt;Importing your existing dashboards&lt;/h2&gt;
&lt;p&gt;Grafana 2.0 now has integrated dashboard storage engine that can be
configured to use an internal sqlite3 database, MySQL, or Postgres. This
eliminates the need to use Elasticsearch for dashboard storage for
Graphite users. Grafana 2.0 does not support storing dashboards in
InfluxDB.&lt;/p&gt;
&lt;p&gt;You can seamlessly import your existing dashboards.&lt;/p&gt;
&lt;h3 id=&#34;importing-dashboards-from-elasticsearch&#34;&gt;Importing dashboards from Elasticsearch&lt;/h3&gt;
&lt;p&gt;Start by going to the &lt;code&gt;Data Sources&lt;/code&gt; view (via the side menu), and make
sure your Elasticsearch data source is added. Specify the Elasticsearch
index name where your existing Grafana v1.x dashboards are stored
(the default is &lt;code&gt;grafana-dash&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/v2/datasource_edit_elastic.jpg&#34;
  alt=&#34;&#34; width=&#34;679&#34;
     height=&#34;446&#34;/&gt;&lt;/p&gt;
&lt;h3 id=&#34;importing-dashboards-from-influxdb&#34;&gt;Importing dashboards from InfluxDB&lt;/h3&gt;
&lt;p&gt;Start by going to the &lt;code&gt;Data Sources&lt;/code&gt; view (via the side menu), and make
sure your InfluxDB data source is added. Specify the database name where
your Grafana v1.x dashboards are stored, the default is &lt;code&gt;grafana&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;go-to-import-dashboards-view&#34;&gt;Go to Import dashboards view&lt;/h3&gt;
&lt;p&gt;Go to the &lt;code&gt;Dashboards&lt;/code&gt; view and click on the dashboards search drop
down. Click the &lt;code&gt;Import&lt;/code&gt; button at the bottom of the search drop down.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/v2/dashboard_import.jpg&#34;
  alt=&#34;&#34; width=&#34;742&#34;
     height=&#34;636&#34;/&gt;&lt;/p&gt;
&lt;h3 id=&#34;import-view&#34;&gt;Import view&lt;/h3&gt;
&lt;p&gt;In the Import view you find the section &lt;code&gt;Migrate dashboards&lt;/code&gt;. Pick the
data source you added (from Elasticsearch or InfluxDB), and click the
&lt;code&gt;Import&lt;/code&gt; button.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/v2/migrate_dashboards.jpg&#34;
  alt=&#34;&#34; width=&#34;688&#34;
     height=&#34;120&#34;/&gt;&lt;/p&gt;
&lt;p&gt;Your dashboards should be automatically imported into the Grafana 2.0
back-end.&lt;/p&gt;
&lt;p&gt;Dashboards will no longer be stored in your previous Elasticsearch or
InfluxDB databases.&lt;/p&gt;
&lt;h3 id=&#34;invite-your-team&#34;&gt;Invite your team&lt;/h3&gt;
&lt;p&gt;Explain users and orgs.&lt;/p&gt;
&lt;h3 id=&#34;enjoy-the-new-features&#34;&gt;Enjoy the new features&lt;/h3&gt;
]]></content><description>&lt;h1 id="migrating-from-older-versions">Migrating from older versions&lt;/h1>
&lt;p>Normally new versions of Grafana are backward compatible. Any changes to database or dashboard schema will
be automatically migrated when Grafana-server start up without any user action required.&lt;/p></description></item><item><title>Requirements</title><link>https://grafana.com/docs/grafana/v7.0/installation/requirements/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/requirements/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-requirements&#34;&gt;Grafana requirements&lt;/h1&gt;
&lt;p&gt;This page lists the minimum hardware and software requirements to install Grafana.&lt;/p&gt;
&lt;p&gt;To run Grafana, you must have a supported operating system, hardware that meets or exceeds minimum requirements, a supported database, and a supported browser&lt;/p&gt;
&lt;h2 id=&#34;supported-operating-systems&#34;&gt;Supported operating systems&lt;/h2&gt;
&lt;p&gt;The following operating systems are supported for Grafana installation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../debian/&#34;&gt;Debian / Ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../rpm/&#34;&gt;RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../mac/&#34;&gt;macOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../windows/&#34;&gt;Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While you can install Grafana on other operating systems, we do not recommend doing so and do not provide support for that use case.&lt;/p&gt;
&lt;p&gt;Installation of Grafana on other operating systems is possible, but not supported.&lt;/p&gt;
&lt;h2 id=&#34;hardware-recommendations&#34;&gt;Hardware recommendations&lt;/h2&gt;
&lt;p&gt;Grafana does not use a lot of resources and is very lightweight in use of memory and CPU.&lt;/p&gt;
&lt;p&gt;Minimum recommended memory: 255 MB
Minimum recommended CPU: 1&lt;/p&gt;
&lt;p&gt;Some features might require more memory or CPUs. Features require more resources include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../administration/image_rendering/#requirements&#34;&gt;Server side rendering of images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../alerting/alerts-overview/&#34;&gt;Alerting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Data source proxy&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;supported-databases&#34;&gt;Supported databases&lt;/h2&gt;
&lt;p&gt;Grafana requires a database to store its configuration data, such as users, data sources, and dashboards. The exact requirements depend on the size of the Grafana installation and features used.&lt;/p&gt;
&lt;p&gt;Grafana supports the following databases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQLite&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By default, Grafana installs with and uses SQLite, which is an embedded database stored in the Grafana installation location.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;NOTE: PostgreSQL versions 9.5.18, 9.4.23, 9.6.14, 10.9, 11.4, and 12-beta2 are affected by a bug (tracked by the PostgreSQL project as &lt;a href=&#34;https://www.postgresql.org/message-id/flat/15865-17940eacc8f8b081%40postgresql.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;bug #15865&lt;/a&gt;) which prevents those versions from being used with Grafana. The bug has been fixed in more recent versions of PostgreSQL.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;supported-web-browsers&#34;&gt;Supported web browsers&lt;/h2&gt;
&lt;p&gt;Grafana is supported in the current version of the following browsers. Older versions of these browsers might not be supported, so you should always upgrade to the latest version when using Grafana.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome/Chromium&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;li&gt;Safari&lt;/li&gt;
&lt;li&gt;Microsoft Edge&lt;/li&gt;
&lt;li&gt;Internet Explorer 11 is only fully supported in Grafana versions prior to v6.0.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: Always enable JavaScript in your browser. Running Grafana without JavaScript enabled in the browser is not supported.&lt;/p&gt;&lt;/blockquote&gt;
]]></content><description>&lt;h1 id="grafana-requirements">Grafana requirements&lt;/h1>
&lt;p>This page lists the minimum hardware and software requirements to install Grafana.&lt;/p>
&lt;p>To run Grafana, you must have a supported operating system, hardware that meets or exceeds minimum requirements, a supported database, and a supported browser&lt;/p></description></item><item><title>Run Grafana Docker image</title><link>https://grafana.com/docs/grafana/v7.0/installation/docker/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/docker/</guid><content><![CDATA[&lt;h1 id=&#34;run-grafana-docker-image&#34;&gt;Run Grafana Docker image&lt;/h1&gt;
&lt;p&gt;You can install and run Grafana using the official Docker container. The official Grafana Docker image comes in two variants: Alpine and Ubuntu.&lt;/p&gt;
&lt;p&gt;This page also contains important information about &lt;a href=&#34;#migrate-from-previous-docker-containers-versions&#34;&gt;migrating from earlier Docker container versions&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;alpine-image-recommended&#34;&gt;Alpine image (recommended)&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;grafana/grafana:&amp;lt;version&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This is the default image. This image is based on the popular &lt;a href=&#34;http://alpinelinux.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Alpine Linux project&lt;/a&gt;, available in &lt;a href=&#34;https://hub.docker.com/_/alpine&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;the alpine official image&lt;/a&gt;. Alpine Linux is much smaller than most distribution base images, and thus leads to slimmer and more secure images.&lt;/p&gt;
&lt;p&gt;This variant is highly recommended when security and final image size being as small as possible is desired. The main caveat to note is that it does use &lt;a href=&#34;http://www.musl-libc.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;musl libc&lt;/a&gt; instead of &lt;a href=&#34;http://www.etalabs.net/compare_libcs.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;glibc and friends&lt;/a&gt;, so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn&amp;rsquo;t have an issue with this, so this variant is usually a very safe choice.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;grafana/grafana:&amp;lt;version&amp;gt;&lt;/code&gt; image was based on &lt;a href=&#34;https://ubuntu.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Ubuntu&lt;/a&gt; before version 6.4.0.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;ubuntu-image&#34;&gt;Ubuntu image&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;grafana/grafana:&amp;lt;version&amp;gt;-ubuntu&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This image is based on &lt;a href=&#34;https://ubuntu.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Ubuntu&lt;/a&gt;, available in &lt;a href=&#34;https://hub.docker.com/_/ubuntu&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;the Ubuntu official image&lt;/a&gt;. This is an alternative image for those who prefer an &lt;a href=&#34;https://ubuntu.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Ubuntu&lt;/a&gt; based image and/or who are dependent on certain tooling not available for Alpine.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;grafana/grafana:&amp;lt;version&amp;gt;-ubuntu&lt;/code&gt; image is available for Grafana version 6.5.0 and later.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;run-grafana&#34;&gt;Run Grafana&lt;/h2&gt;
&lt;p&gt;You can run the latest Grafana version, run a specific version, or run an unstable version based on the master branch of the &lt;a href=&#34;https://github.com/grafana/grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grafana/grafana GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;run-the-latest-stable-version-of-grafana&#34;&gt;Run the latest stable version of Grafana&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are on a Linux system, you might need to add &lt;code&gt;sudo&lt;/code&gt; before the command.&lt;/p&gt;&lt;/blockquote&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;docker run -d -p 3000:3000 grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;run-a-specific-version-of-grafana&#34;&gt;Run a specific version of Grafana&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are on a Linux system, you might need to add &lt;code&gt;sudo&lt;/code&gt; before the command.&lt;/p&gt;&lt;/blockquote&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;docker run -d -p 3000:3000 --name grafana grafana/grafana:&amp;lt;version number&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example:&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;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;docker run -d -p 3000:3000 --name grafana grafana/grafana:6.5.0&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;run-the-grafana-master-branch&#34;&gt;Run the Grafana master branch&lt;/h3&gt;
&lt;p&gt;For every successful build of the master branch, we update the &lt;code&gt;grafana/grafana:master&lt;/code&gt; and &lt;code&gt;grafana/grafana:master-ubuntu&lt;/code&gt; tags. Additionally, two new tags are created, &lt;code&gt;grafana/grafana-dev:master-&amp;lt;commit hash&amp;gt;&lt;/code&gt; and &lt;code&gt;grafana/grafana-dev:master-&amp;lt;commit hash&amp;gt;-ubuntu&lt;/code&gt;, which includes the hash of the Git commit that was built. Use these to get access to the latest master builds of Grafana.&lt;/p&gt;
&lt;p&gt;When running Grafana master in production, we &lt;em&gt;strongly&lt;/em&gt; recommend that you use the &lt;code&gt;grafana/grafana-dev:master-&amp;lt;commit hash&amp;gt;&lt;/code&gt; tag. This tag guarantees that you use a specific version of Grafana instead of whatever was the most recent commit at the time.&lt;/p&gt;
&lt;p&gt;For a list of available tags, check out &lt;a href=&#34;https://hub.docker.com/r/grafana/grafana/tags/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grafana/grafana&lt;/a&gt; and &lt;a href=&#34;https://hub.docker.com/r/grafana/grafana-dev/tags/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grafana/grafana-dev&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;install-plugins-in-the-docker-container&#34;&gt;Install plugins in the Docker container&lt;/h2&gt;
&lt;p&gt;You can install official and community plugins listed on the Grafana &lt;a href=&#34;/grafana/plugins&#34;&gt;plugins page&lt;/a&gt; or from a custom URL.&lt;/p&gt;
&lt;h3 id=&#34;install-official-and-community-grafana-plugins&#34;&gt;Install official and community Grafana plugins&lt;/h3&gt;
&lt;p&gt;Pass the plugins you want installed to Docker with the &lt;code&gt;GF_INSTALL_PLUGINS&lt;/code&gt; environment variable as a comma-separated list. This sends each plugin name to &lt;code&gt;grafana-cli plugins install ${plugin}&lt;/code&gt; and installs them when Grafana starts.&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;docker run -d \
-p 3000:3000 \
--name=grafana \
-e &amp;#34;GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource&amp;#34; \
grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;If you need to specify the version of a plugin, then you can add it to the &lt;code&gt;GF_INSTALL_PLUGINS&lt;/code&gt; environment variable. Otherwise, the latest will be assumed. For example: &lt;code&gt;-e &amp;quot;GF_INSTALL_PLUGINS=grafana-clock-panel 1.0.1,grafana-simple-json-datasource 1.3.5&amp;quot;&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;install-plugins-from-other-sources&#34;&gt;Install plugins from other sources&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v5.3.1 and later.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can install plugins from custom URLs by specifying the URL like this: &lt;code&gt;GF_INSTALL_PLUGINS=&amp;lt;url to plugin zip&amp;gt;;&amp;lt;plugin name&amp;gt;&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;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;docker run -d \
-p 3000:3000 \
--name=grafana \
-e &amp;#34;GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip;custom-plugin&amp;#34; \
grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;build-and-run-a-docker-image-with-pre-installed-plugins&#34;&gt;Build and run a Docker image with pre-installed plugins&lt;/h2&gt;
&lt;p&gt;You can build your own customized image that includes plugins. This saves time if you are creating multiple images and you want them all to have the same plugins installed on build.&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&#34;https://github.com/grafana/grafana/tree/master/packaging/docker&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana GitHub repository&lt;/a&gt; there is a folder called &lt;code&gt;custom/&lt;/code&gt; which includes two Dockerfiles, &lt;code&gt;Dockerfile&lt;/code&gt; and &lt;code&gt;ubuntu.Dockerfile&lt;/code&gt;, that can be used to build a custom Grafana image. It accepts &lt;code&gt;GRAFANA_VERSION&lt;/code&gt;, &lt;code&gt;GF_INSTALL_PLUGINS&lt;/code&gt;, and &lt;code&gt;GF_INSTALL_IMAGE_RENDERER_PLUGIN&lt;/code&gt; as build arguments.&lt;/p&gt;
&lt;h3 id=&#34;build-with-pre-installed-plugins&#34;&gt;Build with pre-installed plugins&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;If you need to specify the version of a plugin, you can add it to the &lt;code&gt;GF_INSTALL_PLUGINS&lt;/code&gt; build argument. Otherwise, the latest will be assumed. For example: &lt;code&gt;--build-arg &amp;quot;GF_INSTALL_PLUGINS=grafana-clock-panel 1.0.1,grafana-simple-json-datasource 1.3.5&amp;quot;&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Example of how to build and run:&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;cd custom
docker build \
--build-arg &amp;#34;GRAFANA_VERSION=latest&amp;#34; \
--build-arg &amp;#34;GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource&amp;#34; \
-t grafana-custom -f Dockerfile .

docker run -d -p 3000:3000 --name=grafana grafana-custom&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;Dockerfile&lt;/code&gt; in above example with &lt;code&gt;ubuntu.Dockerfile&lt;/code&gt; to build a custom Ubuntu based image (Grafana v6.5&#43;).&lt;/p&gt;
&lt;h3 id=&#34;build-with-grafana-image-renderer-plugin-pre-installed&#34;&gt;Build with Grafana Image Renderer plugin pre-installed&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v6.5 and later. This is experimental.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The &lt;a href=&#34;../../administration/image_rendering/#grafana-image-renderer-plugin&#34;&gt;Grafana Image Renderer plugin&lt;/a&gt; does not currently work if it is installed in Grafana Docker image. You can build a custom Docker image by using the &lt;code&gt;GF_INSTALL_IMAGE_RENDERER_PLUGIN&lt;/code&gt; build argument. This installs additional dependencies needed for the Grafana Image Renderer plugin to run.&lt;/p&gt;
&lt;p&gt;Example of how to build and run:&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;cd custom
docker build \
--build-arg &amp;#34;GRAFANA_VERSION=latest&amp;#34; \
--build-arg &amp;#34;GF_INSTALL_IMAGE_RENDERER_PLUGIN=true&amp;#34; \
-t grafana-custom -f Dockerfile .

docker run -d -p 3000:3000 --name=grafana grafana-custom&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;Dockerfile&lt;/code&gt; in above example with &lt;code&gt;ubuntu.Dockerfile&lt;/code&gt; to build a custom Ubuntu-based image (Grafana v6.5&#43;).&lt;/p&gt;
&lt;h2 id=&#34;migrate-from-previous-docker-containers-versions&#34;&gt;Migrate from previous Docker containers versions&lt;/h2&gt;
&lt;p&gt;This section contains important information if you want to migrate from previous Grafana container versions to a more current one.&lt;/p&gt;
&lt;h3 id=&#34;migrate-to-v65-or-later&#34;&gt;Migrate to v6.5 or later&lt;/h3&gt;
&lt;p&gt;Grafana Docker image now comes in two variants, one &lt;a href=&#34;http://alpinelinux.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Alpine&lt;/a&gt; based and one &lt;a href=&#34;https://ubuntu.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Ubuntu&lt;/a&gt; based, see &lt;a href=&#34;#image-variants&#34;&gt;Image Variants&lt;/a&gt; for details.&lt;/p&gt;
&lt;h3 id=&#34;migrate-to-v64-or-later&#34;&gt;Migrate to v6.4 or later&lt;/h3&gt;
&lt;p&gt;Grafana Docker image was changed to be based on &lt;a href=&#34;http://alpinelinux.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Alpine&lt;/a&gt; instead of &lt;a href=&#34;https://ubuntu.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Ubuntu&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;migrate-to-v51-or-later&#34;&gt;Migrate to v5.1 or later&lt;/h3&gt;
&lt;p&gt;The Docker container for Grafana has seen a major rewrite for 5.1.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important changes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;File ownership is no longer modified during startup with &lt;code&gt;chown&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Default user ID is now &lt;code&gt;472&lt;/code&gt; instead of &lt;code&gt;104&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Removed the following implicit volumes:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/var/lib/grafana&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/grafana&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/log/grafana&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;removal-of-implicit-volumes&#34;&gt;Removal of implicit volumes&lt;/h4&gt;
&lt;p&gt;Previously &lt;code&gt;/var/lib/grafana&lt;/code&gt;, &lt;code&gt;/etc/grafana&lt;/code&gt; and &lt;code&gt;/var/log/grafana&lt;/code&gt; were defined as volumes in the &lt;code&gt;Dockerfile&lt;/code&gt;. This led to the creation of three volumes each time a new instance of the Grafana container started, whether you wanted it or not.&lt;/p&gt;
&lt;p&gt;You should always be careful to define your own named volume for storage, but if you depended on these volumes, then you should be aware that an upgraded container will no longer have them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warning&lt;/strong&gt;: When migrating from an earlier version to 5.1 or later using Docker compose and implicit volumes, you need to use &lt;code&gt;docker inspect&lt;/code&gt; to find out which volumes your container is mapped to so that you can map them to the upgraded container as well. You will also have to change file ownership (or user) as documented below.&lt;/p&gt;
&lt;h4 id=&#34;user-id-changes&#34;&gt;User ID changes&lt;/h4&gt;
&lt;p&gt;In Grafana v5.1, we changed the ID of the Grafana user. Unfortunately this means that files created prior to v5.1 won&amp;rsquo;t have the correct permissions for later versions. We made this change so that it would be more likely that the Grafana users ID would be unique to Grafana. For example, on Ubuntu 16.04 &lt;code&gt;104&lt;/code&gt; is already in use by the syslog user.&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;Version&lt;/th&gt;
              &lt;th&gt;User&lt;/th&gt;
              &lt;th&gt;User ID&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&amp;lt; 5.1&lt;/td&gt;
              &lt;td&gt;grafana&lt;/td&gt;
              &lt;td&gt;104&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;blockquote&gt;
&lt;p&gt;= 5.1  | grafana | 472&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;There are two possible solutions to this problem. Either you start the new container as the root user and change ownership from &lt;code&gt;104&lt;/code&gt; to &lt;code&gt;472&lt;/code&gt;, or you start the upgraded container as user &lt;code&gt;104&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id=&#34;run-docker-as-a-different-user&#34;&gt;Run Docker as a different user&lt;/h5&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;docker run --user 104 --volume &amp;#34;&amp;lt;your volume mapping here&amp;gt;&amp;#34; grafana/grafana:5.1.0&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h5 id=&#34;specify-a-user-in-docker-composeyml&#34;&gt;Specify a user in docker-compose.yml&lt;/h5&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;version: &amp;#34;2&amp;#34;

services:
  grafana:
    image: grafana/grafana:5.1.0
    ports:
      - 3000:3000
    user: &amp;#34;104&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;modify-permissions&#34;&gt;Modify permissions&lt;/h4&gt;
&lt;p&gt;The commands below run bash inside the Grafana container with your volume mapped in. This makes it possible to modify the file ownership to match the new container. Always be careful when modifying 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;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;$ docker run -ti --user root --volume &amp;#34;&amp;lt;your volume mapping here&amp;gt;&amp;#34; --entrypoint bash grafana/grafana:5.1.0

# in the container you just started:
chown -R root:root /etc/grafana &amp;amp;&amp;amp; \
chmod -R a&amp;#43;r /etc/grafana &amp;amp;&amp;amp; \
chown -R grafana:grafana /var/lib/grafana &amp;amp;&amp;amp; \
chown -R grafana:grafana /usr/share/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../getting-started/getting-started/&#34;&gt;Getting Started&lt;/a&gt; guide for information about logging in, setting up data sources, and so on.&lt;/p&gt;
&lt;h2 id=&#34;configure-docker-image&#34;&gt;Configure Docker image&lt;/h2&gt;
&lt;p&gt;Refer to &lt;a href=&#34;../configure-docker/&#34;&gt;Configure a Grafana Docker image&lt;/a&gt; page for details on options for customizing your environment, logging, database, and so on.&lt;/p&gt;
&lt;h2 id=&#34;configure-grafana&#34;&gt;Configure Grafana&lt;/h2&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; page for details on options for customizing your environment, logging, database, and so on.&lt;/p&gt;
]]></content><description>&lt;h1 id="run-grafana-docker-image">Run Grafana Docker image&lt;/h1>
&lt;p>You can install and run Grafana using the official Docker container. The official Grafana Docker image comes in two variants: Alpine and Ubuntu.&lt;/p></description></item><item><title>Security</title><link>https://grafana.com/docs/grafana/v7.0/installation/security/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/security/</guid><content><![CDATA[&lt;h1 id=&#34;security&#34;&gt;Security&lt;/h1&gt;
&lt;p&gt;If you run non-Grafana web services on your Grafana server or within its local network, then they might be vulnerable to exploitation through the Grafana data source proxy or other methods.&lt;/p&gt;
&lt;p&gt;To prevent this type of exploitation from happening, we recommend that you apply one or more of the precautions listed below.&lt;/p&gt;
&lt;h2 id=&#34;limit-ip-addresseshostnames-for-data-source-url&#34;&gt;Limit IP addresses/hostnames for data source URL&lt;/h2&gt;
&lt;p&gt;You can configure Grafana to only allow certain IP addresses or hostnames to be used as data source URLs and proxied through the Grafana data source proxy. Refer to &lt;a href=&#34;../../administration/configuration/#data-source-proxy-whitelist&#34;&gt;data_source_proxy_whitelist&lt;/a&gt; for usage instructions.&lt;/p&gt;
&lt;h2 id=&#34;firewall-rules&#34;&gt;Firewall rules&lt;/h2&gt;
&lt;p&gt;Configure a firewall to restrict Grafana from making network requests to sensitive internal web services.&lt;/p&gt;
&lt;p&gt;There are many firewall tools available, refer to the documentation for your specific security tool. For example, Linux users can use &lt;a href=&#34;https://en.wikipedia.org/wiki/Iptables&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;iptables&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;proxy-server&#34;&gt;Proxy server&lt;/h2&gt;
&lt;p&gt;Require all network requests being made by Grafana to go through a proxy server.&lt;/p&gt;
&lt;h2 id=&#34;limit-viewer-query-permissions&#34;&gt;Limit Viewer query permissions&lt;/h2&gt;
&lt;p&gt;Users with the Viewer role can enter &lt;em&gt;any possible query&lt;/em&gt; in &lt;em&gt;any&lt;/em&gt; of the data sources available in the &lt;strong&gt;organization&lt;/strong&gt;, not just the queries that are defined on the dashboards for which the user has Viewer permissions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt; In a Grafana instance with one data source, one dashboard, and one panel that has one query defined, you might assume that a Viewer can only see the result of the query defined in that panel. Actually, the Viewer has access to send any query to the data source. With a command-line tool like curl (there are lots of tools for this), the Viewer can make their own query to the data source and potentially access sensitive data.&lt;/p&gt;
&lt;p&gt;To address this vulnerability, you can restrict data source query access in the following ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create multiple data sources with some restrictions added in data source config that restrict access (like database name or credentials). Then use the &lt;a href=&#34;../../permissions/datasource_permissions/&#34;&gt;Data Source Permissions&lt;/a&gt; Enterprise feature to restrict user access to the data source in Grafana.&lt;/li&gt;
&lt;li&gt;Create a separate Grafana organization, and in that organization, create a separate data source. Make sure the data source has some option/user/credentials setting that limits access to a subset of the data. Not all data sources have an option to limit access.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="security">Security&lt;/h1>
&lt;p>If you run non-Grafana web services on your Grafana server or within its local network, then they might be vulnerable to exploitation through the Grafana data source proxy or other methods.&lt;/p></description></item><item><title>Troubleshooting</title><link>https://grafana.com/docs/grafana/v7.0/installation/troubleshooting/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/troubleshooting/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h1&gt;
&lt;p&gt;This page lists some useful tools to help troubleshoot common Grafana issues.&lt;/p&gt;
&lt;h2 id=&#34;visualization-and-query-issues&#34;&gt;Visualization and query issues&lt;/h2&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
    style=&#34;max-width: 40%;&#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/v45/query_inspector.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/static/img/docs/v45/query_inspector.png&#34;data-srcset=&#34;/static/img/docs/v45/query_inspector.png?w=320 320w, /static/img/docs/v45/query_inspector.png?w=550 550w, /static/img/docs/v45/query_inspector.png?w=750 750w, /static/img/docs/v45/query_inspector.png?w=900 900w, /static/img/docs/v45/query_inspector.png?w=1040 1040w, /static/img/docs/v45/query_inspector.png?w=1240 1240w, /static/img/docs/v45/query_inspector.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Query Inspector&#34;width=&#34;1980&#34;height=&#34;1080&#34;title=&#34;Query Inspector&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v45/query_inspector.png&#34;
            alt=&#34;Query Inspector&#34;width=&#34;1980&#34;height=&#34;1080&#34;title=&#34;Query Inspector&#34;class=&#34;float-right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Query Inspector&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The most common problems are related to the query and response from your data source. Even if it looks
like a bug or visualization issue in Grafana, it is almost always a problem with the data source query or
the data source response.&lt;/p&gt;
&lt;p&gt;To check this you should use query inspector, which was added in Grafana 4.5. The query inspector shows query requests and responses. Refer to the data source page for more information.&lt;/p&gt;
&lt;p&gt;For more on the query inspector read the Grafana Community article &lt;a href=&#34;https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Using Grafana’s Query Inspector to troubleshoot issues&lt;/a&gt;. For older versions of Grafana, refer to the &lt;a href=&#34;https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50/2&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;How troubleshoot metric query issue&lt;/a&gt; article.&lt;/p&gt;
&lt;h2 id=&#34;logging&#34;&gt;Logging&lt;/h2&gt;
&lt;p&gt;If you encounter an error or problem, then you can check the Grafana server log. Usually located at &lt;code&gt;/var/log/grafana/grafana.log&lt;/code&gt; on Unix systems or in &lt;code&gt;&amp;lt;grafana_install_dir&amp;gt;/data/log&lt;/code&gt; on other platforms and manual installations.&lt;/p&gt;
&lt;p&gt;You can enable more logging by changing log level in the Grafana configuration file.&lt;/p&gt;
&lt;h2 id=&#34;diagnostics&#34;&gt;Diagnostics&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; process can be instructed to enable certain diagnostics when it starts. This can be helpful
when investigating certain performance problems. It&amp;rsquo;s &lt;em&gt;not&lt;/em&gt; recommended to have these enabled by default.&lt;/p&gt;
&lt;h3 id=&#34;profiling&#34;&gt;Profiling&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; can be started with the arguments &lt;code&gt;-profile&lt;/code&gt; to enable profiling and  &lt;code&gt;-profile-port&lt;/code&gt; to override
the default HTTP port (&lt;code&gt;6060&lt;/code&gt;) where the pprof debugging endpoints will be available, e.g.&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;./grafana-server -profile -profile-port=8080&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note that &lt;code&gt;pprof&lt;/code&gt; debugging endpoints are served on a different port than the Grafana HTTP server.&lt;/p&gt;
&lt;p&gt;You can configure or override profiling settings using environment variables:&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;export GF_DIAGNOSTICS_PROFILING_ENABLED=true
export GF_DIAGNOSTICS_PROFILING_PORT=8080&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Refer to &lt;a href=&#34;https://golang.org/cmd/pprof/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go command pprof&lt;/a&gt; for more information about how to collect and analyze profiling data.&lt;/p&gt;
&lt;h3 id=&#34;server-side-image-rendering-rpm-based-linux&#34;&gt;Server side image rendering (RPM-based Linux)&lt;/h3&gt;
&lt;p&gt;Server side image (png) rendering is a feature that is optional but very useful when sharing visualizations, for example in alert notifications.&lt;/p&gt;
&lt;p&gt;If the image is missing text make sure you have font packages installed.&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;sudo yum install fontconfig
sudo yum install freetype*
sudo yum install urw-fonts&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;tracing&#34;&gt;Tracing&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; can be started with the arguments &lt;code&gt;-tracing&lt;/code&gt; to enable tracing and &lt;code&gt;-tracing-file&lt;/code&gt; to override the default trace file (&lt;code&gt;trace.out&lt;/code&gt;) where trace result is written to. 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;./grafana-server -tracing -tracing-file=/tmp/trace.out&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can configure or override profiling settings using environment variables:&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;export GF_DIAGNOSTICS_TRACING_ENABLED=true
export GF_DIAGNOSTICS_TRACING_FILE=/tmp/trace.out&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;View the trace in a web browser (Go required to be installed):&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;go tool trace &amp;lt;trace file&amp;gt;
2019/11/24 22:20:42 Parsing trace...
2019/11/24 22:20:42 Splitting trace...
2019/11/24 22:20:42 Opening browser. Trace viewer is listening on http://127.0.0.1:39735&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;See &lt;a href=&#34;https://golang.org/cmd/trace/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go command trace&lt;/a&gt; for more information about how to analyze trace files.&lt;/p&gt;
&lt;h2 id=&#34;faqs&#34;&gt;FAQs&lt;/h2&gt;
&lt;p&gt;Check out the &lt;a href=&#34;https://community.grafana.com/c/howto/faq&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;FAQ section&lt;/a&gt; on the Grafana Community page for answers to frequently
asked questions.&lt;/p&gt;
]]></content><description>&lt;h1 id="troubleshooting">Troubleshooting&lt;/h1>
&lt;p>This page lists some useful tools to help troubleshoot common Grafana issues.&lt;/p>
&lt;h2 id="visualization-and-query-issues">Visualization and query issues&lt;/h2>
&lt;figure
class="figure-wrapper figure-wrapper__lightbox w-100p float-right"
style="max-width: 40%;"
itemprop="associatedMedia"
itemscope=""
itemtype="http://schema.org/ImageObject"
>&lt;a
class="lightbox-link captioned"
href="/static/img/docs/v45/query_inspector.png"
itemprop="contentUrl"
>&lt;div class="img-wrapper w-100p h-auto">&lt;img
class="lazyload mb-0"
data-src="/static/img/docs/v45/query_inspector.png"data-srcset="/static/img/docs/v45/query_inspector.png?w=320 320w, /static/img/docs/v45/query_inspector.png?w=550 550w, /static/img/docs/v45/query_inspector.png?w=750 750w, /static/img/docs/v45/query_inspector.png?w=900 900w, /static/img/docs/v45/query_inspector.png?w=1040 1040w, /static/img/docs/v45/query_inspector.png?w=1240 1240w, /static/img/docs/v45/query_inspector.png?w=1920 1920w"data-sizes="auto"alt="Query Inspector"width="1980"height="1080"title="Query Inspector"/>
&lt;noscript>
&lt;img
src="/static/img/docs/v45/query_inspector.png"
alt="Query Inspector"width="1980"height="1080"title="Query Inspector"class="float-right"/>
&lt;/noscript>&lt;/div>&lt;figcaption class="w-100p caption text-gray-13 ">Query Inspector&lt;/figcaption>&lt;/a>&lt;/figure>
&lt;p>The most common problems are related to the query and response from your data source. Even if it looks
like a bug or visualization issue in Grafana, it is almost always a problem with the data source query or
the data source response.&lt;/p></description></item><item><title>Upgrade Grafana</title><link>https://grafana.com/docs/grafana/v7.0/installation/upgrading/</link><pubDate>Wed, 15 Apr 2026 19:44:45 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.0/installation/upgrading/</guid><content><![CDATA[&lt;h1 id=&#34;upgrade-grafana&#34;&gt;Upgrade Grafana&lt;/h1&gt;
&lt;p&gt;We recommend that you upgrade Grafana often to stay up to date with the latest fixes and enhancements.
In order to make this a reality, Grafana upgrades are backward compatible and the upgrade process is simple and quick.&lt;/p&gt;
&lt;p&gt;Upgrading is generally safe (between many minor and one major version) and dashboards and graphs will look the same. There may be minor breaking changes in some edge cases, which are outlined in the &lt;a href=&#34;https://community.grafana.com/c/releases&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Release Notes&lt;/a&gt; and &lt;a href=&#34;https://github.com/grafana/grafana/blob/master/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Changelog&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;backup&#34;&gt;Backup&lt;/h2&gt;
&lt;p&gt;We recommend that you backup a few things in case you have to rollback the upgrade.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installed plugins - Back them up before you upgrade them in case you want to rollback the Grafana version and want to get the exact same versions you where running before the upgrade.&lt;/li&gt;
&lt;li&gt;Configuration files do not need to be backed up. However, you might want to in case you add new config options after upgrade and then rollback.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;database-backup&#34;&gt;Database backup&lt;/h3&gt;
&lt;p&gt;Before upgrading it can be a good idea to backup your Grafana database. This will ensure that you can always rollback to your previous version. During startup, Grafana will automatically migrate the database schema (if there are changes or new tables). Sometimes this can cause issues if you later want to downgrade.&lt;/p&gt;
&lt;h4 id=&#34;sqlite&#34;&gt;sqlite&lt;/h4&gt;
&lt;p&gt;If you use sqlite you only need to make a backup of your &lt;code&gt;grafana.db&lt;/code&gt; file. This is usually located at &lt;code&gt;/var/lib/grafana/grafana.db&lt;/code&gt; on Unix systems.
If you are unsure what database you use and where it is stored check you grafana configuration file. If you
installed grafana to custom location using a binary tar/zip it is usually in &lt;code&gt;&amp;lt;grafana_install_dir&amp;gt;/data&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;mysql&#34;&gt;mysql&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;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;h4 id=&#34;postgres&#34;&gt;postgres&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;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;h3 id=&#34;ubuntu-or-debian&#34;&gt;Ubuntu or Debian&lt;/h3&gt;
&lt;p&gt;You can upgrade Grafana by following the same procedure as when you installed it.&lt;/p&gt;
&lt;h4 id=&#34;upgrade-debian-package&#34;&gt;Upgrade Debian package&lt;/h4&gt;
&lt;p&gt;If you installed Grafana by downloading a Debian package (&lt;code&gt;.deb&lt;/code&gt;), then you can execute the same &lt;code&gt;dpkg -i&lt;/code&gt; command but with the new package. It will upgrade your Grafana installation.&lt;/p&gt;
&lt;p&gt;Go to the &lt;a href=&#34;/grafana/download?platform=linux&#34;&gt;download page&lt;/a&gt; for the latest download
links.&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;wget &amp;lt;debian package url&amp;gt;
sudo apt-get install -y adduser libfontconfig1
sudo dpkg -i grafana_&amp;lt;version&amp;gt;_amd64.deb&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;upgrade-from-apt-repository&#34;&gt;Upgrade from APT repository&lt;/h4&gt;
&lt;p&gt;If you installed Grafana from our APT repository, then Grafana will automatically update when you run apt-get upgrade to upgrade all system packages.&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;sudo apt-get update
sudo apt-get upgrade&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;upgrade-from-binary-tar-file&#34;&gt;Upgrade from binary .tar file&lt;/h4&gt;
&lt;p&gt;If you downloaded the binary &lt;code&gt;.tar.gz&lt;/code&gt; package, then you can just download and extract the new package and overwrite all your existing files. However, this might overwrite your config changes.&lt;/p&gt;
&lt;p&gt;We recommend that you save your custom config changes in a file named &lt;code&gt;&amp;lt;grafana_install_dir&amp;gt;/conf/custom.ini&lt;/code&gt;.
This allows you to upgrade Grafana without risking losing your configuration changes.&lt;/p&gt;
&lt;h3 id=&#34;centos--rhel&#34;&gt;Centos / RHEL&lt;/h3&gt;
&lt;p&gt;If you installed Grafana by downloading an RPM package you can just follow the same installation guide and execute the same &lt;code&gt;yum install&lt;/code&gt; or &lt;code&gt;rpm -i&lt;/code&gt; command but with the new package. It will upgrade your Grafana installation.&lt;/p&gt;
&lt;p&gt;If you used our YUM repository:&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;sudo yum update grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;docker&#34;&gt;Docker&lt;/h3&gt;
&lt;p&gt;This just an example, details depend on how you configured your grafana container.&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;docker pull grafana/grafana
docker stop my-grafana-container
docker rm my-grafana-container
docker run -d --name=my-grafana-container --restart=always -v /var/lib/grafana:/var/lib/grafana grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;windows&#34;&gt;Windows&lt;/h3&gt;
&lt;p&gt;If you downloaded the Windows binary package you can just download a newer package and extract to the same location (and overwrite the existing files). This might overwrite your config changes. We recommend that you save your config changes in a file named &lt;code&gt;&amp;lt;grafana_install_dir&amp;gt;/conf/custom.ini&lt;/code&gt; as this will make upgrades easier without risking losing your config changes.&lt;/p&gt;
&lt;h2 id=&#34;update-plugins&#34;&gt;Update plugins&lt;/h2&gt;
&lt;p&gt;After you have upgraded, we strongly recommend that you update all your plugins as a new version of Grafana
can make older plugins stop working properly.&lt;/p&gt;
&lt;p&gt;You can update all plugins using&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;grafana-cli plugins update-all&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;upgrading-from-1x&#34;&gt;Upgrading from 1.x&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;../migrating_to2/&#34;&gt;Migrating from 1.x to 2.x&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;upgrading-from-2x&#34;&gt;Upgrading from 2.x&lt;/h2&gt;
&lt;p&gt;We are not aware of any issues upgrading directly from 2.x to 4.x but to be on the safe side go via 3.x =&amp;gt; 4.x.&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v50&#34;&gt;Upgrading to v5.0&lt;/h2&gt;
&lt;p&gt;The dashboard grid layout engine has changed. All dashboards will be automatically upgraded to new positioning system when you load them in v5. Dashboards saved in v5 will not work in older versions of Grafana. Some external panel plugins might need to be updated to work properly.&lt;/p&gt;
&lt;p&gt;For more details on the new panel positioning system, &lt;a href=&#34;../../reference/dashboard/#panel-size-position&#34;&gt;click here&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v52&#34;&gt;Upgrading to v5.2&lt;/h2&gt;
&lt;p&gt;One of the database migrations included in this release will update all annotation timestamps from second to millisecond precision. If you have a large amount of annotations the database migration may take a long time to complete which may cause problems if you use systemd to run Grafana.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve got one report where using systemd, PostgreSQL and a large amount of annotations (table size 1645mb) took 8-20 minutes for the database migration to complete. However, the grafana-server process was killed after 90 seconds by systemd. Any database migration queries in progress when systemd kills the grafana-server process continues to execute in database until finished.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re using systemd and have a large amount of annotations consider temporary adjusting the systemd &lt;code&gt;TimeoutStartSec&lt;/code&gt; setting to something high like &lt;code&gt;30m&lt;/code&gt; before upgrading.&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v60&#34;&gt;Upgrading to v6.0&lt;/h2&gt;
&lt;p&gt;If you have text panels with script tags they will no longer work due to a new setting that per default disallow unsanitized HTML.
Read more &lt;a href=&#34;../../administration/configuration/#disable-sanitize-html&#34;&gt;here&lt;/a&gt; about this new setting.&lt;/p&gt;
&lt;h3 id=&#34;authentication-and-security&#34;&gt;Authentication and security&lt;/h3&gt;
&lt;p&gt;If you are using Grafana&amp;rsquo;s builtin, LDAP (without Auth Proxy) or OAuth authentication all users will be required to login upon the next visit after the upgrade.&lt;/p&gt;
&lt;p&gt;If you have &lt;code&gt;cookie_secure&lt;/code&gt; set to &lt;code&gt;true&lt;/code&gt; in the &lt;code&gt;session&lt;/code&gt; section you probably want to change the &lt;code&gt;cookie_secure&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; in the &lt;code&gt;security&lt;/code&gt; section as well. Ending up with a configuration 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;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;[session]
cookie_secure = true

[security]
cookie_secure = true&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;login_remember_days&lt;/code&gt;, &lt;code&gt;cookie_username&lt;/code&gt; and &lt;code&gt;cookie_remember_name&lt;/code&gt; settings in the &lt;code&gt;security&lt;/code&gt; section are no longer being used so they&amp;rsquo;re safe to remove.&lt;/p&gt;
&lt;p&gt;If you have &lt;code&gt;login_remember_days&lt;/code&gt; configured to 0 (zero) you should change your configuration to this to accomplish similar behavior, i.e. a logged in user will maximum be logged in for 1 day until being forced to login again:&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;[auth]
login_maximum_inactive_lifetime_days = 1
login_maximum_lifetime_days = 1&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The default cookie name for storing the auth token is &lt;code&gt;grafana_session&lt;/code&gt;. you can configure this with &lt;code&gt;login_cookie_name&lt;/code&gt; in &lt;code&gt;[auth]&lt;/code&gt; settings.&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v62&#34;&gt;Upgrading to v6.2&lt;/h2&gt;
&lt;h3 id=&#34;ensure-encryption-of-data-source-secrets&#34;&gt;Ensure encryption of data source secrets&lt;/h3&gt;
&lt;p&gt;Data sources store passwords and basic auth passwords in secureJsonData encrypted (AES-256 in CFB mode) by default. Existing data source
will keep working with unencrypted passwords. If you want to migrate to encrypted storage for your existing data sources
you can do that by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For data sources created through UI, you need to go to data source config, re enter the password or basic auth
password and save the data source.&lt;/li&gt;
&lt;li&gt;For data sources created by provisioning, you need to update your config file and use secureJsonData.password or
secureJsonData.basicAuthPassword field. See &lt;a href=&#34;../../administration/provisioning/&#34;&gt;provisioning docs&lt;/a&gt; for example of current
configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;embedding-grafana&#34;&gt;Embedding Grafana&lt;/h3&gt;
&lt;p&gt;If you&amp;rsquo;re embedding Grafana in a &lt;code&gt;&amp;lt;frame&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;embed&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;object&amp;gt;&lt;/code&gt; on a different website it will no longer work due to a new setting
that per default instructs the browser to not allow Grafana to be embedded. Read more &lt;a href=&#34;../../administration/configuration/#allow-embedding&#34;&gt;here&lt;/a&gt; about
this new setting.&lt;/p&gt;
&lt;h3 id=&#34;session-storage-is-no-longer-used&#34;&gt;Session storage is no longer used&lt;/h3&gt;
&lt;p&gt;In 6.2 we completely removed the backend session storage since we replaced the previous login session implementation with an auth token.
If you are using Auth proxy with LDAP an shared cached is used in Grafana so you might want configure [remote_cache] instead. If not
Grafana will fallback to using the database as an shared cache.&lt;/p&gt;
&lt;h3 id=&#34;upgrading-elasticsearch-to-v70&#34;&gt;Upgrading Elasticsearch to v7.0&#43;&lt;/h3&gt;
&lt;p&gt;The semantics of &lt;code&gt;max concurrent shard requests&lt;/code&gt; changed in Elasticsearch v7.0, see &lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/7.0/breaking-changes-7.0.html#semantics-changed-max-concurrent-shared-requests&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;release notes&lt;/a&gt; for reference.&lt;/p&gt;
&lt;p&gt;If you upgrade Elasticsearch to v7.0&#43; you should make sure to update the data source configuration in Grafana so that version
is &lt;code&gt;7.0&#43;&lt;/code&gt; and &lt;code&gt;max concurrent shard requests&lt;/code&gt; properly configured. 256 was the default in pre v7.0 versions. In v7.0 and above 5 is the default.&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v64&#34;&gt;Upgrading to v6.4&lt;/h2&gt;
&lt;h3 id=&#34;annotations-database-migration&#34;&gt;Annotations database migration&lt;/h3&gt;
&lt;p&gt;One of the database migrations included in this release will merge multiple rows used to represent an annotation range into a single row. If you have a large number of region annotations the database migration may take a long time to complete. See &lt;a href=&#34;#upgrading-to-v5-2&#34;&gt;Upgrading to v5.2&lt;/a&gt; for tips on how to manage this process.&lt;/p&gt;
&lt;h3 id=&#34;docker-1&#34;&gt;Docker&lt;/h3&gt;
&lt;p&gt;Grafana’s docker image is now based on &lt;a href=&#34;http://alpinelinux.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Alpine&lt;/a&gt; instead of &lt;a href=&#34;https://ubuntu.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Ubuntu&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;plugins-that-need-updating&#34;&gt;Plugins that need updating&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/grafana/plugins/grafana-splunk-datasource&#34;&gt;Splunk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;upgrading-to-v65&#34;&gt;Upgrading to v6.5&lt;/h2&gt;
&lt;p&gt;Pre Grafana 6.5.0, the CloudWatch datasource used the GetMetricStatistics API for all queries that did not have an ´id´ and did not have an ´expression´ defined in the query editor. The GetMetricStatistics API has a limit of 400 transactions per second (TPS). In this release, all queries use the GetMetricData API which has a limit of 50 TPS and 100 metrics per transaction. We expect this transition to be smooth for most of our users, but in case you do face throttling issues we suggest you increase the TPS quota. To do that, please visit the &lt;a href=&#34;https://console.aws.amazon.com/servicequotas/home?r#!/services/monitoring/quotas/L-5E141212&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;AWS Service Quotas console&lt;/a&gt;. For more details around CloudWatch API limits, &lt;a href=&#34;https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;see CloudWatch docs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Each request to the GetMetricData API can include 100 queries. This means that each panel in Grafana will only issue one GetMetricData request, regardless of the number of query rows that are present in the panel. Consequently as it is no longer possible to set &lt;code&gt;HighRes&lt;/code&gt; on a per query level anymore, this switch is now removed from the query editor. High resolution can still be achieved by choosing a smaller minimum period in the query editor.&lt;/p&gt;
&lt;p&gt;The handling of multi-valued template variables in dimension values has been changed in Grafana 6.5. When a multi template variable is being used, Grafana will generate a search expression. In the GetMetricData API, expressions are limited to 1024 characters, so it might be the case that this limit is reached when a multi-valued template variable that has a lot of values is being used. If this is the case, we suggest you start using &lt;code&gt;*&lt;/code&gt; wildcard as dimension value instead of a multi-valued template variable.&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v66&#34;&gt;Upgrading to v6.6&lt;/h2&gt;
&lt;p&gt;The Generic OAuth setting &lt;code&gt;send_client_credentials_via_post&lt;/code&gt;, used for supporting non-compliant providers, has been removed. From now on, Grafana will automatically detect if credentials should be sent as part of the URL or request body for a specific provider. The result will be remembered and used for additional OAuth requests for that provider.&lt;/p&gt;
&lt;h3 id=&#34;important-changes-regarding-samesite-cookie-attribute&#34;&gt;Important changes regarding SameSite cookie attribute&lt;/h3&gt;
&lt;p&gt;Chrome 80 treats cookies as &lt;code&gt;SameSite=Lax&lt;/code&gt; by default if no &lt;code&gt;SameSite&lt;/code&gt; attribute is specified, see &lt;a href=&#34;https://www.chromestatus.com/feature/5088147346030592&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://www.chromestatus.com/feature/5088147346030592&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Due to this change in Chrome, the &lt;code&gt;[security]&lt;/code&gt; setting &lt;code&gt;cookie_samesite&lt;/code&gt; configured to &lt;code&gt;none&lt;/code&gt; now renders cookies with &lt;code&gt;SameSite=None&lt;/code&gt; attribute compared to before where no &lt;code&gt;SameSite&lt;/code&gt; attribute was added to cookies. To get the old behavior, use value &lt;code&gt;disabled&lt;/code&gt; instead of &lt;code&gt;none&lt;/code&gt;, see &lt;a href=&#34;../../administration/configuration/#cookie-samesite&#34;&gt;cookie_samesite in Configuration&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; There is currently a bug affecting Mac OSX and iOS that causes &lt;code&gt;SameSite=None&lt;/code&gt; cookies to be treated as &lt;code&gt;SameSite=Strict&lt;/code&gt; and therefore not sent with cross-site requests, see &lt;a href=&#34;https://bugs.webkit.org/show_bug.cgi?id=198181&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://bugs.webkit.org/show_bug.cgi?id=198181&lt;/a&gt; for details. Until this is fixed, &lt;code&gt;SameSite=None&lt;/code&gt; might not work properly on Safari.&lt;/p&gt;
&lt;p&gt;This version of Chrome also rejects insecure &lt;code&gt;SameSite=None&lt;/code&gt; cookies. See &lt;a href=&#34;https://www.chromestatus.com/feature/5633521622188032&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://www.chromestatus.com/feature/5633521622188032&lt;/a&gt; for more information. Make sure that you
change the &lt;code&gt;[security]&lt;/code&gt; setting &lt;code&gt;cookie_secure&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; and use HTTPS when &lt;code&gt;cookie_samesite&lt;/code&gt; is configured to &lt;code&gt;none&lt;/code&gt;, otherwise authentication in Grafana won&amp;rsquo;t work properly.&lt;/p&gt;
&lt;h2 id=&#34;upgrading-to-v70&#34;&gt;Upgrading to v7.0&lt;/h2&gt;
&lt;h3 id=&#34;phantomjs-removed&#34;&gt;PhantomJS removed&lt;/h3&gt;
&lt;p&gt;PhantomJS was deprecated in &lt;a href=&#34;../../guides/whats-new-in-v6-4/#phantomjs-deprecation&#34;&gt;Grafana v6.4&lt;/a&gt; and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the &lt;a href=&#34;/grafana/plugins/grafana-image-renderer&#34;&gt;Grafana Image Renderer plugin&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;dashboard-minimum-refresh-interval-enforced&#34;&gt;Dashboard minimum refresh interval enforced&lt;/h3&gt;
&lt;p&gt;A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds. Read more &lt;a href=&#34;../../administration/configuration/#min-refresh-interval&#34;&gt;here&lt;/a&gt; about this setting.&lt;/p&gt;
&lt;h3 id=&#34;backend-plugins&#34;&gt;Backend plugins&lt;/h3&gt;
&lt;p&gt;Grafana now requires backend plugins to be signed. If a backend plugin is not signed Grafana will not load/start it. This is an additional security measure to make sure backend plugin binaries and files haven&amp;rsquo;t been tampered with.  All Grafana Labs authored backend plugins, including Enterprise plugins, are now signed. It&amp;rsquo;s possible to allow unsigned plugins using a configuration setting, but is something we strongly advise against doing. Read more &lt;a href=&#34;../../administration/#allow-loading-unsigned-plugins&#34;&gt;here&lt;/a&gt; about this setting.&lt;/p&gt;
&lt;h3 id=&#34;cookie-path&#34;&gt;Cookie path&lt;/h3&gt;
&lt;p&gt;Starting from Grafana v7.0.0, the cookie path does not include the trailing slash if Grafana is served from a subpath in order to align with &lt;a href=&#34;https://tools.ietf.org/html/rfc6265#section-5.1.4&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;RFC 6265&lt;/a&gt;. However, stale session cookies (set before the upgrade) can result in unsuccessful logins because they can not be deleted during the standard login phase due to the changed cookie path. Therefore users experiencing login problems are advised to manually delete old session cookies, or administrators can fix this for all users by changing the &lt;a href=&#34;../../administration/#login-cookie-name&#34;&gt;&lt;code&gt;login_cookie_name&lt;/code&gt;&lt;/a&gt;, so the old cookie would get ignored.&lt;/p&gt;
]]></content><description>&lt;h1 id="upgrade-grafana">Upgrade Grafana&lt;/h1>
&lt;p>We recommend that you upgrade Grafana often to stay up to date with the latest fixes and enhancements.
In order to make this a reality, Grafana upgrades are backward compatible and the upgrade process is simple and quick.&lt;/p></description></item></channel></rss>