<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/v4.3/installation/</link><description>Recent content in Installation on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v4.3/installation/index.xml" rel="self" type="application/rss+xml"/><item><title>Configuration</title><link>https://grafana.com/docs/grafana/v4.3/installation/configuration/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/configuration/</guid><content><![CDATA[&lt;h1 id=&#34;configuration&#34;&gt;Configuration&lt;/h1&gt;
&lt;p&gt;The Grafana back-end has a number of configuration options that can be
specified in a &lt;code&gt;.ini&lt;/code&gt; configuration file or specified using environment variables.&lt;/p&gt;
&lt;h2 id=&#34;config-file-locations&#34;&gt;Config file locations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Default configuration from &lt;code&gt;$WORKING_DIR/conf/defaults.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Custom configuration from &lt;code&gt;$WORKING_DIR/conf/custom.ini&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The custom configuration file path can be overridden using the &lt;code&gt;--config&lt;/code&gt; parameter&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note.&lt;/strong&gt; If you have installed Grafana using the &lt;code&gt;deb&lt;/code&gt; or &lt;code&gt;rpm&lt;/code&gt;
packages, then your configuration file is located at
&lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;. This path is specified in the Grafana
init.d script using &lt;code&gt;--config&lt;/code&gt; file parameter.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;using-environment-variables&#34;&gt;Using environment variables&lt;/h2&gt;
&lt;p&gt;All options in the configuration file (listed below) can be overridden
using environment variables using the syntax:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;GF_&amp;lt;SectionName&amp;gt;_&amp;lt;KeyName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Where the section name is the text within the brackets. Everything
should be upper case, &lt;code&gt;.&lt;/code&gt; should be replaced by &lt;code&gt;_&lt;/code&gt;. For example, given these configuration settings:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# default section
instance_name = ${HOSTNAME}

[security]
admin_user = admin

[auth.google]
client_secret = 0ldS3cretKey
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then you can override them using:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=true
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;instance_name&#34;&gt;instance_name&lt;/h2&gt;
&lt;p&gt;Set the name of the grafana-server instance. Used in logging and internal metrics and in
clustering info. Defaults to: &lt;code&gt;${HOSTNAME}&lt;/code&gt;, which will be replaced with
environment variable &lt;code&gt;HOSTNAME&lt;/code&gt;, if that is empty or does not exist Grafana will try to use
system calls to get the machine name.&lt;/p&gt;
&lt;h2 id=&#34;paths&#34;&gt;[paths]&lt;/h2&gt;
&lt;h3 id=&#34;data&#34;&gt;data&lt;/h3&gt;
&lt;p&gt;Path to where Grafana stores the sqlite3 database (if used), file based
sessions (if used), and other data.  This path is usually specified via
command line in the init.d script or the systemd service file.&lt;/p&gt;
&lt;h3 id=&#34;logs&#34;&gt;logs&lt;/h3&gt;
&lt;p&gt;Path to where Grafana will store logs. This path is usually specified via
command line in the init.d script or the systemd service file.  It can
be overridden in the configuration file or in the default environment variable
file.&lt;/p&gt;
&lt;h2 id=&#34;server&#34;&gt;[server]&lt;/h2&gt;
&lt;h3 id=&#34;http_addr&#34;&gt;http_addr&lt;/h3&gt;
&lt;p&gt;The IP address to bind to. If empty will bind to all interfaces&lt;/p&gt;
&lt;h3 id=&#34;http_port&#34;&gt;http_port&lt;/h3&gt;
&lt;p&gt;The port to bind to, defaults to &lt;code&gt;3000&lt;/code&gt;. To use port 80 you need to
either give the Grafana binary permission for example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo setcap &#39;cap_net_bind_service=&#43;ep&#39; /usr/sbin/grafana-server
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Or redirect port 80 to the Grafana port using:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Another way is put a webserver like Nginx or Apache in front of Grafana and have them proxy requests to Grafana.&lt;/p&gt;
&lt;h3 id=&#34;protocol&#34;&gt;protocol&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http&lt;/code&gt; or &lt;code&gt;https&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; Grafana versions earlier than 3.0 are vulnerable to &lt;a href=&#34;https://en.wikipedia.org/wiki/POODLE&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;POODLE&lt;/a&gt;. So we strongly recommend to upgrade to 3.x or use a reverse proxy for ssl termination.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;domain&#34;&gt;domain&lt;/h3&gt;
&lt;p&gt;This setting is only used in as a part of the &lt;code&gt;root_url&lt;/code&gt; setting (see below). Important if you
use GitHub or Google OAuth.&lt;/p&gt;
&lt;h3 id=&#34;enforce_domain&#34;&gt;enforce_domain&lt;/h3&gt;
&lt;p&gt;Redirect to correct domain if host header does not match domain.
Prevents DNS rebinding attacks. Default is false.&lt;/p&gt;
&lt;h3 id=&#34;root_url&#34;&gt;root_url&lt;/h3&gt;
&lt;p&gt;This is the full URL used to access Grafana from a web browser. This is
important if you use Google or GitHub OAuth authentication (for the
callback URL to be correct).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; This setting is also important if you have a reverse proxy
in front of Grafana that exposes it through a subpath. In that
case add the subpath to the end of this URL setting.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;static_root_path&#34;&gt;static_root_path&lt;/h3&gt;
&lt;p&gt;The path to the directory where the front end files (HTML, JS, and CSS
files). Default to &lt;code&gt;public&lt;/code&gt; which is why the Grafana binary needs to be
executed with working directory set to the installation path.&lt;/p&gt;
&lt;h3 id=&#34;cert_file&#34;&gt;cert_file&lt;/h3&gt;
&lt;p&gt;Path to the certificate file (if &lt;code&gt;protocol&lt;/code&gt; is set to &lt;code&gt;https&lt;/code&gt;).&lt;/p&gt;
&lt;h3 id=&#34;cert_key&#34;&gt;cert_key&lt;/h3&gt;
&lt;p&gt;Path to the certificate key file (if &lt;code&gt;protocol&lt;/code&gt; is set to &lt;code&gt;https&lt;/code&gt;).&lt;/p&gt;
&lt;h3 id=&#34;router_logging&#34;&gt;router_logging&lt;/h3&gt;
&lt;p&gt;Set to true for Grafana to log all HTTP requests (not just errors). These are logged as Info level events
to grafana log.&lt;/p&gt;
&lt;hr /&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;database&#34;&gt;[database]&lt;/h2&gt;
&lt;p&gt;Grafana needs a database to store users and dashboards (and other
things). By default it is configured to use &lt;code&gt;sqlite3&lt;/code&gt; which is an
embedded database (included in the main Grafana binary).&lt;/p&gt;
&lt;h3 id=&#34;url&#34;&gt;url&lt;/h3&gt;
&lt;p&gt;Use either URL or or the other fields below to configure the database
Example: &lt;code&gt;mysql://user:secret@host:port/database&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;type&#34;&gt;type&lt;/h3&gt;
&lt;p&gt;Either &lt;code&gt;mysql&lt;/code&gt;, &lt;code&gt;postgres&lt;/code&gt; or &lt;code&gt;sqlite3&lt;/code&gt;, it&amp;rsquo;s your choice.&lt;/p&gt;
&lt;h3 id=&#34;path&#34;&gt;path&lt;/h3&gt;
&lt;p&gt;Only applicable for &lt;code&gt;sqlite3&lt;/code&gt; database. The file path where the database
will be stored.&lt;/p&gt;
&lt;h3 id=&#34;host&#34;&gt;host&lt;/h3&gt;
&lt;p&gt;Only applicable to MySQL or Postgres. Includes IP or hostname and port.
For example, for MySQL running on the same host as Grafana: &lt;code&gt;host = 127.0.0.1:3306&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;name&#34;&gt;name&lt;/h3&gt;
&lt;p&gt;The name of the Grafana database. Leave it set to &lt;code&gt;grafana&lt;/code&gt; or some
other name.&lt;/p&gt;
&lt;h3 id=&#34;user&#34;&gt;user&lt;/h3&gt;
&lt;p&gt;The database user (not applicable for &lt;code&gt;sqlite3&lt;/code&gt;).&lt;/p&gt;
&lt;h3 id=&#34;password&#34;&gt;password&lt;/h3&gt;
&lt;p&gt;The database user&amp;rsquo;s password (not applicable for &lt;code&gt;sqlite3&lt;/code&gt;). If the password contains &lt;code&gt;#&lt;/code&gt; or &lt;code&gt;;&lt;/code&gt; you have to wrap it with trippel quotes. Ex &lt;code&gt;&amp;quot;&amp;quot;&amp;quot;#password;&amp;quot;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;ssl_mode&#34;&gt;ssl_mode&lt;/h3&gt;
&lt;p&gt;For Postgres, use either &lt;code&gt;disable&lt;/code&gt;, &lt;code&gt;require&lt;/code&gt; or &lt;code&gt;verify-full&lt;/code&gt;.
For MySQL, use either &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;, or &lt;code&gt;skip-verify&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;ca_cert_path&#34;&gt;ca_cert_path&lt;/h3&gt;
&lt;p&gt;(MySQL only) The path to the CA certificate to use. On many linux systems, certs can be found in &lt;code&gt;/etc/ssl/certs&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;client_key_path&#34;&gt;client_key_path&lt;/h3&gt;
&lt;p&gt;(MySQL only) The path to the client key. Only if server requires client authentication.&lt;/p&gt;
&lt;h3 id=&#34;client_cert_path&#34;&gt;client_cert_path&lt;/h3&gt;
&lt;p&gt;(MySQL only) The path to the client cert. Only if server requires client authentication.&lt;/p&gt;
&lt;h3 id=&#34;server_cert_name&#34;&gt;server_cert_name&lt;/h3&gt;
&lt;p&gt;(MySQL only) The common name field of the certificate used by the &lt;code&gt;mysql&lt;/code&gt; server. Not necessary if &lt;code&gt;ssl_mode&lt;/code&gt; is set to &lt;code&gt;skip-verify&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;security&#34;&gt;[security]&lt;/h2&gt;
&lt;h3 id=&#34;admin_user&#34;&gt;admin_user&lt;/h3&gt;
&lt;p&gt;The name of the default Grafana admin user (who has full permissions).
Defaults to &lt;code&gt;admin&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;admin_password&#34;&gt;admin_password&lt;/h3&gt;
&lt;p&gt;The password of the default Grafana admin. Set once on first-run.  Defaults to &lt;code&gt;admin&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;login_remember_days&#34;&gt;login_remember_days&lt;/h3&gt;
&lt;p&gt;The number of days the keep me logged in / remember me cookie lasts.&lt;/p&gt;
&lt;h3 id=&#34;secret_key&#34;&gt;secret_key&lt;/h3&gt;
&lt;p&gt;Used for signing keep me logged in / remember me cookies.&lt;/p&gt;
&lt;h3 id=&#34;disable_gravatar&#34;&gt;disable_gravatar&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;true&lt;/code&gt; to disable the use of Gravatar for user profile images.
Default is &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;data_source_proxy_whitelist&#34;&gt;data_source_proxy_whitelist&lt;/h3&gt;
&lt;p&gt;Define a white list of allowed ips/domains to use in data sources. Format: &lt;code&gt;ip_or_domain:port&lt;/code&gt; separated by spaces&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;users&#34;&gt;[users]&lt;/h2&gt;
&lt;h3 id=&#34;allow_sign_up&#34;&gt;allow_sign_up&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;false&lt;/code&gt; to prohibit users from being able to sign up / create
user accounts. Defaults to &lt;code&gt;true&lt;/code&gt;.  The admin user can still create
users from the &lt;a href=&#34;../../reference/admin&#34;&gt;Grafana Admin Pages&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;allow_org_create&#34;&gt;allow_org_create&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;false&lt;/code&gt; to prohibit users from creating new organizations.
Defaults to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;auto_assign_org&#34;&gt;auto_assign_org&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;true&lt;/code&gt; to automatically add new users to the main organization
(id 1). When set to &lt;code&gt;false&lt;/code&gt;, new users will automatically cause a new
organization to be created for that new user.&lt;/p&gt;
&lt;h3 id=&#34;auto_assign_org_role&#34;&gt;auto_assign_org_role&lt;/h3&gt;
&lt;p&gt;The role new users will be assigned for the main organization (if the
above setting is set to true).  Defaults to &lt;code&gt;Viewer&lt;/code&gt;, other valid
options are &lt;code&gt;Admin&lt;/code&gt; and &lt;code&gt;Editor&lt;/code&gt; and &lt;code&gt;Read Only Editor&lt;/code&gt;. e.g. :&lt;/p&gt;
&lt;p&gt;&lt;code&gt;auto_assign_org_role = Read Only Editor&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;auth&#34;&gt;[auth]&lt;/h2&gt;
&lt;h3 id=&#34;disable_login_form&#34;&gt;disable_login_form&lt;/h3&gt;
&lt;p&gt;Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false.&lt;/p&gt;
&lt;h3 id=&#34;disable_signout_menu&#34;&gt;disable_signout_menu&lt;/h3&gt;
&lt;p&gt;Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;authanonymous&#34;&gt;[auth.anonymous]&lt;/h2&gt;
&lt;h3 id=&#34;enabled&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;true&lt;/code&gt; to enable anonymous access. Defaults to &lt;code&gt;false&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;org_name&#34;&gt;org_name&lt;/h3&gt;
&lt;p&gt;Set the organization name that should be used for anonymous users. If
you change your organization name in the Grafana UI this setting needs
to be updated to match the new name.&lt;/p&gt;
&lt;h3 id=&#34;org_role&#34;&gt;org_role&lt;/h3&gt;
&lt;p&gt;Specify role for anonymous users. Defaults to &lt;code&gt;Viewer&lt;/code&gt;, other valid
options are &lt;code&gt;Editor&lt;/code&gt; and &lt;code&gt;Admin&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;authgithub&#34;&gt;[auth.github]&lt;/h2&gt;
&lt;p&gt;You need to create a GitHub application (you find this under the GitHub
profile page). When you create the application you will need to specify
a callback URL. Specify this as callback:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;http://&amp;lt;my_grafana_server_name_or_ip&amp;gt;:&amp;lt;grafana_server_port&amp;gt;/login/github
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This callback URL must match the full HTTP address that you use in your
browser to access Grafana, but with the prefix path of &lt;code&gt;/login/github&lt;/code&gt;.
When the GitHub application is created you will get a Client ID and a
Client Secret. Specify these in the Grafana configuration file. For
example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[auth.github]
enabled = true
allow_sign_up = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
team_ids =
allowed_organizations =
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Restart the Grafana back-end. You should now see a GitHub login button
on the login page. You can now login or sign up with your GitHub
accounts.&lt;/p&gt;
&lt;p&gt;You may allow users to sign-up via GitHub authentication by setting the
&lt;code&gt;allow_sign_up&lt;/code&gt; option to &lt;code&gt;true&lt;/code&gt;. When this option is set to &lt;code&gt;true&lt;/code&gt;, any
user successfully authenticating via GitHub authentication will be
automatically signed up.&lt;/p&gt;
&lt;h3 id=&#34;team_ids&#34;&gt;team_ids&lt;/h3&gt;
&lt;p&gt;Require an active team membership for at least one of the given teams on
GitHub. If the authenticated user isn&amp;rsquo;t a member of at least one of the
teams they will not be able to register or authenticate with your
Grafana instance. For example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[auth.github]
enabled = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email,read:org
team_ids = 150,300
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
allow_sign_up = true
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;allowed_organizations&#34;&gt;allowed_organizations&lt;/h3&gt;
&lt;p&gt;Require an active organization membership for at least one of the given
organizations on GitHub. If the authenticated user isn&amp;rsquo;t a member of at least
one of the organizations they will not be able to register or authenticate with
your Grafana instance. For example&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[auth.github]
enabled = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email,read:org
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
allow_sign_up = true
# space-delimited organization names
allowed_organizations = github google
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2 id=&#34;authgoogle&#34;&gt;[auth.google]&lt;/h2&gt;
&lt;p&gt;You need to create a Google project. You can do this in the &lt;a href=&#34;https://console.developers.google.com/project&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Google
Developer Console&lt;/a&gt;.  When
you create the project you will need to specify a callback URL. Specify
this as callback:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;http://&amp;lt;my_grafana_server_name_or_ip&amp;gt;:&amp;lt;grafana_server_port&amp;gt;/login/google
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This callback URL must match the full HTTP address that you use in your
browser to access Grafana, but with the prefix path of &lt;code&gt;/login/google&lt;/code&gt;.
When the Google project is created you will get a Client ID and a Client
Secret. Specify these in the Grafana configuration file. For example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[auth.google]
enabled = true
client_id = YOUR_GOOGLE_APP_CLIENT_ID
client_secret = YOUR_GOOGLE_APP_CLIENT_SECRET
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
allowed_domains = mycompany.com mycompany.org
allow_sign_up = true
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Restart the Grafana back-end. You should now see a Google login button
on the login page. You can now login or sign up with your Google
accounts. The &lt;code&gt;allowed_domains&lt;/code&gt; option is optional, and domains were separated by space.&lt;/p&gt;
&lt;p&gt;You may allow users to sign-up via Google authentication by setting the
&lt;code&gt;allow_sign_up&lt;/code&gt; option to &lt;code&gt;true&lt;/code&gt;. When this option is set to &lt;code&gt;true&lt;/code&gt;, any
user successfully authenticating via Google authentication will be
automatically signed up.&lt;/p&gt;
&lt;h2 id=&#34;authgeneric_oauth&#34;&gt;[auth.generic_oauth]&lt;/h2&gt;
&lt;p&gt;This option could be used if have your own oauth service.&lt;/p&gt;
&lt;p&gt;This callback URL must match the full HTTP address that you use in your
browser to access Grafana, but with the prefix path of &lt;code&gt;/login/generic_oauth&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[auth.generic_oauth]
enabled = true
client_id = YOUR_APP_CLIENT_ID
client_secret = YOUR_APP_CLIENT_SECRET
scopes =
auth_url =
token_url =
api_url =
allowed_domains = mycompany.com mycompany.org
allow_sign_up = true
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Set api_url to the resource that returns &lt;a href=&#34;https://connect2id.com/products/server/docs/api/userinfo&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OpenID UserInfo&lt;/a&gt; compatible information.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;authbasic&#34;&gt;[auth.basic]&lt;/h2&gt;
&lt;h3 id=&#34;enabled-1&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;When enabled is &lt;code&gt;true&lt;/code&gt; (default) the http api will accept basic authentication.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;authldap&#34;&gt;[auth.ldap]&lt;/h2&gt;
&lt;h3 id=&#34;enabled-2&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;true&lt;/code&gt; to enable LDAP integration (default: &lt;code&gt;false&lt;/code&gt;)&lt;/p&gt;
&lt;h3 id=&#34;config_file&#34;&gt;config_file&lt;/h3&gt;
&lt;p&gt;Path to the LDAP specific configuration file (default: &lt;code&gt;/etc/grafana/ldap.toml&lt;/code&gt;)&lt;/p&gt;
&lt;h3 id=&#34;allow_sign_up-1&#34;&gt;allow_sign_up&lt;/h3&gt;
&lt;p&gt;Allow sign up should almost always be true (default) to allow new Grafana users to be created (if ldap authentication is ok). If set to
false only pre-existing Grafana users will be able to login (if ldap authentication is ok).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For details on LDAP Configuration, go to the &lt;a href=&#34;../ldap/&#34;&gt;LDAP Integration&lt;/a&gt; page.&lt;/p&gt;&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;authproxy&#34;&gt;[auth.proxy]&lt;/h2&gt;
&lt;p&gt;This feature allows you to handle authentication in a http reverse proxy.&lt;/p&gt;
&lt;h3 id=&#34;enabled-3&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Defaults to &lt;code&gt;false&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;header_name&#34;&gt;header_name&lt;/h3&gt;
&lt;p&gt;Defaults to X-WEBAUTH-USER&lt;/p&gt;
&lt;h4 id=&#34;header_property&#34;&gt;header_property&lt;/h4&gt;
&lt;p&gt;Defaults to username but can also be set to email&lt;/p&gt;
&lt;h3 id=&#34;auto_sign_up&#34;&gt;auto_sign_up&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;true&lt;/code&gt; to enable auto sign up of users who do not exist in Grafana DB. Defaults to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;session&#34;&gt;[session]&lt;/h2&gt;
&lt;h3 id=&#34;provider&#34;&gt;provider&lt;/h3&gt;
&lt;p&gt;Valid values are &lt;code&gt;memory&lt;/code&gt;, &lt;code&gt;file&lt;/code&gt;, &lt;code&gt;mysql&lt;/code&gt;, &lt;code&gt;postgres&lt;/code&gt;, &lt;code&gt;memcache&lt;/code&gt; or &lt;code&gt;redis&lt;/code&gt;. Default is &lt;code&gt;file&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;provider_config&#34;&gt;provider_config&lt;/h3&gt;
&lt;p&gt;This option should be configured differently depending on what type of
session provider you have configured.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;file:&lt;/strong&gt; session file path, e.g. &lt;code&gt;data/sessions&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mysql:&lt;/strong&gt; go-sql-driver/mysql dsn config string, e.g. &lt;code&gt;user:password@tcp(127.0.0.1:3306)/database_name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;postgres:&lt;/strong&gt; ex:  user=a password=b host=localhost port=5432 dbname=c sslmode=require&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;memcache:&lt;/strong&gt; ex:  127.0.0.1:11211&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;redis:&lt;/strong&gt; ex: &lt;code&gt;addr=127.0.0.1:6379,pool_size=100,prefix=grafana&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you use MySQL or Postgres as the session store you need to create the
session table manually.&lt;/p&gt;
&lt;p&gt;Mysql Example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CREATE TABLE `session` (
    `key`       CHAR(16) NOT NULL,
    `data`      BLOB,
    `expiry`    INT(11) UNSIGNED NOT NULL,
    PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Postgres Example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CREATE TABLE session (
    key       CHAR(16) NOT NULL,
    data      BYTEA,
    expiry    INTEGER NOT NULL,
    PRIMARY KEY (key)
);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Postgres valid &lt;code&gt;sslmode&lt;/code&gt; are &lt;code&gt;disable&lt;/code&gt;, &lt;code&gt;require&lt;/code&gt; (default), &lt;code&gt;verify-ca&lt;/code&gt;, and &lt;code&gt;verify-full&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;cookie_name&#34;&gt;cookie_name&lt;/h3&gt;
&lt;p&gt;The name of the Grafana session cookie.&lt;/p&gt;
&lt;h3 id=&#34;cookie_secure&#34;&gt;cookie_secure&lt;/h3&gt;
&lt;p&gt;Set to true if you host Grafana behind HTTPS only. Defaults to &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;session_life_time&#34;&gt;session_life_time&lt;/h3&gt;
&lt;p&gt;How long sessions lasts in seconds. Defaults to &lt;code&gt;86400&lt;/code&gt; (24 hours).&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;analytics&#34;&gt;[analytics]&lt;/h2&gt;
&lt;h3 id=&#34;reporting_enabled&#34;&gt;reporting_enabled&lt;/h3&gt;
&lt;p&gt;When enabled Grafana will send anonymous usage statistics to
&lt;code&gt;stats.grafana.org&lt;/code&gt;. No IP addresses are being tracked, only simple counters to
track running instances, versions, dashboard &amp;amp; error counts. It is very helpful
to us, so please leave this enabled. Counters are sent every 24 hours. Default
value is &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;google_analytics_ua_id&#34;&gt;google_analytics_ua_id&lt;/h3&gt;
&lt;p&gt;If you want to track Grafana usage via Google analytics specify &lt;em&gt;your&lt;/em&gt; Universal
Analytics ID here. By default this feature is disabled.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;dashboardsjson&#34;&gt;[dashboards.json]&lt;/h2&gt;
&lt;p&gt;If you have a system that automatically builds dashboards as json files you can enable this feature to have the
Grafana backend index those json dashboards which will make them appear in regular dashboard search.&lt;/p&gt;
&lt;h3 id=&#34;enabled-4&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;. Is disabled by default.&lt;/p&gt;
&lt;h3 id=&#34;path-1&#34;&gt;path&lt;/h3&gt;
&lt;p&gt;The full path to a directory containing your json dashboards.&lt;/p&gt;
&lt;h2 id=&#34;smtp&#34;&gt;[smtp]&lt;/h2&gt;
&lt;p&gt;Email server settings.&lt;/p&gt;
&lt;h3 id=&#34;enabled-5&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;defaults to false&lt;/p&gt;
&lt;h3 id=&#34;host-1&#34;&gt;host&lt;/h3&gt;
&lt;p&gt;defaults to localhost:25&lt;/p&gt;
&lt;h3 id=&#34;user-1&#34;&gt;user&lt;/h3&gt;
&lt;p&gt;In case of SMTP auth, defaults to &lt;code&gt;empty&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;password-1&#34;&gt;password&lt;/h3&gt;
&lt;p&gt;In case of SMTP auth, defaults to &lt;code&gt;empty&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;cert_file-1&#34;&gt;cert_file&lt;/h3&gt;
&lt;p&gt;File path to a cert file, defaults to &lt;code&gt;empty&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;key_file&#34;&gt;key_file&lt;/h3&gt;
&lt;p&gt;File path to a key file, defaults to &lt;code&gt;empty&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;skip_verify&#34;&gt;skip_verify&lt;/h3&gt;
&lt;p&gt;Verify SSL for smtp server? defaults to &lt;code&gt;false&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;from_address&#34;&gt;from_address&lt;/h3&gt;
&lt;p&gt;Address used when sending out emails, defaults to &lt;code&gt;admin@grafana.localhost&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;from_name&#34;&gt;from_name&lt;/h3&gt;
&lt;p&gt;Name to be used when sending out emails, defaults to &lt;code&gt;Grafana&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;log&#34;&gt;[log]&lt;/h2&gt;
&lt;h3 id=&#34;mode&#34;&gt;mode&lt;/h3&gt;
&lt;p&gt;Either &amp;ldquo;console&amp;rdquo;, &amp;ldquo;file&amp;rdquo;, &amp;ldquo;syslog&amp;rdquo;. Default is console and  file
Use space to separate multiple modes, e.g. &amp;ldquo;console file&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;level&#34;&gt;level&lt;/h3&gt;
&lt;p&gt;Either &amp;ldquo;debug&amp;rdquo;, &amp;ldquo;info&amp;rdquo;, &amp;ldquo;warn&amp;rdquo;, &amp;ldquo;error&amp;rdquo;, &amp;ldquo;critical&amp;rdquo;, default is &amp;ldquo;info&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;filters&#34;&gt;filters&lt;/h3&gt;
&lt;p&gt;optional settings to set different levels for specific loggers.
Ex &lt;code&gt;filters = sqlstore:debug&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;metrics&#34;&gt;[metrics]&lt;/h2&gt;
&lt;h3 id=&#34;enabled-6&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Enable metrics reporting. defaults true. Available via HTTP API &lt;code&gt;/api/metrics&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;interval_seconds&#34;&gt;interval_seconds&lt;/h3&gt;
&lt;p&gt;Flush/Write interval when sending metrics to external TSDB. Defaults to 10s.&lt;/p&gt;
&lt;h2 id=&#34;metricsgraphite&#34;&gt;[metrics.graphite]&lt;/h2&gt;
&lt;p&gt;Include this section if you want to send internal Grafana metrics to Graphite.&lt;/p&gt;
&lt;h3 id=&#34;address&#34;&gt;address&lt;/h3&gt;
&lt;p&gt;Format &lt;code&gt;&amp;lt;Hostname or ip&amp;gt;&lt;/code&gt;:port&lt;/p&gt;
&lt;h3 id=&#34;prefix&#34;&gt;prefix&lt;/h3&gt;
&lt;p&gt;Graphite metric prefix. Defaults to &lt;code&gt;prod.grafana.%(instance_name)s.&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;snapshots&#34;&gt;[snapshots]&lt;/h2&gt;
&lt;h3 id=&#34;external_enabled&#34;&gt;external_enabled&lt;/h3&gt;
&lt;p&gt;Set to false to disable external snapshot publish endpoint (default true)&lt;/p&gt;
&lt;h3 id=&#34;external_snapshot_url&#34;&gt;external_snapshot_url&lt;/h3&gt;
&lt;p&gt;Set root url to a Grafana instance where you want to publish external snapshots (defaults to &lt;a href=&#34;https://snapshots-origin.raintank.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://snapshots-origin.raintank.io&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id=&#34;external_snapshot_name&#34;&gt;external_snapshot_name&lt;/h3&gt;
&lt;p&gt;Set name for external snapshot button. Defaults to &lt;code&gt;Publish to snapshot.raintank.io&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;remove-expired-snapshot&#34;&gt;remove expired snapshot&lt;/h3&gt;
&lt;p&gt;Enabled to automatically remove expired snapshots&lt;/p&gt;
&lt;h3 id=&#34;remove-snapshots-after-90-days&#34;&gt;remove snapshots after 90 days&lt;/h3&gt;
&lt;p&gt;Time to live for snapshots.&lt;/p&gt;
&lt;h2 id=&#34;external_image_storage&#34;&gt;[external_image_storage]&lt;/h2&gt;
&lt;p&gt;These options control how images should be made public so they can be shared on services like slack.&lt;/p&gt;
&lt;h3 id=&#34;provider-1&#34;&gt;provider&lt;/h3&gt;
&lt;p&gt;You can choose between (s3, webdav). If left empty Grafana will ignore the upload action.&lt;/p&gt;
&lt;h2 id=&#34;external_image_storages3&#34;&gt;[external_image_storage.s3]&lt;/h2&gt;
&lt;h3 id=&#34;bucket_url&#34;&gt;bucket_url&lt;/h3&gt;
&lt;p&gt;Bucket URL for S3. AWS region can be specified within URL or defaults to &amp;lsquo;us-east-1&amp;rsquo;, e.g.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://grafana.s3.amazonaws.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;http://grafana.s3.amazonaws.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://grafana.s3-ap-southeast-2.amazonaws.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://grafana.s3-ap-southeast-2.amazonaws.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://grafana.s3-cn-north-1.amazonaws.com.cn&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://grafana.s3-cn-north-1.amazonaws.com.cn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;access_key&#34;&gt;access_key&lt;/h3&gt;
&lt;p&gt;Access key. e.g. AAAAAAAAAAAAAAAAAAAA&lt;/p&gt;
&lt;p&gt;Access key requires permissions to the S3 bucket for the &amp;lsquo;s3:PutObject&amp;rsquo; and &amp;lsquo;s3:PutObjectAcl&amp;rsquo; actions.&lt;/p&gt;
&lt;h3 id=&#34;secret_key-1&#34;&gt;secret_key&lt;/h3&gt;
&lt;p&gt;Secret key. e.g. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&lt;/p&gt;
&lt;h2 id=&#34;external_image_storagewebdav&#34;&gt;[external_image_storage.webdav]&lt;/h2&gt;
&lt;h3 id=&#34;url-1&#34;&gt;url&lt;/h3&gt;
&lt;p&gt;Url to where Grafana will send PUT request with images&lt;/p&gt;
&lt;h3 id=&#34;public_url&#34;&gt;public_url&lt;/h3&gt;
&lt;p&gt;Optional parameter. Url to send to users in notifications, directly appended with the resulting uploaded file name.&lt;/p&gt;
&lt;h3 id=&#34;username&#34;&gt;username&lt;/h3&gt;
&lt;p&gt;basic auth username&lt;/p&gt;
&lt;h3 id=&#34;password-2&#34;&gt;password&lt;/h3&gt;
&lt;p&gt;basic auth password&lt;/p&gt;
&lt;h2 id=&#34;alerting&#34;&gt;[alerting]&lt;/h2&gt;
&lt;h3 id=&#34;enabled-7&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Defaults to true. Set to false to disable alerting engine and hide Alerting from UI.&lt;/p&gt;
&lt;h3 id=&#34;execute_alerts&#34;&gt;execute_alerts&lt;/h3&gt;
&lt;h3 id=&#34;execute_alerts--true&#34;&gt;execute_alerts = true&lt;/h3&gt;
&lt;p&gt;Makes it possible to turn off alert rule execution.&lt;/p&gt;
]]></content><description>&lt;h1 id="configuration">Configuration&lt;/h1>
&lt;p>The Grafana back-end has a number of configuration options that can be
specified in a &lt;code>.ini&lt;/code> configuration file or specified using environment variables.&lt;/p>
&lt;h2 id="config-file-locations">Config file locations&lt;/h2>
&lt;ul>
&lt;li>Default configuration from &lt;code>$WORKING_DIR/conf/defaults.ini&lt;/code>&lt;/li>
&lt;li>Custom configuration from &lt;code>$WORKING_DIR/conf/custom.ini&lt;/code>&lt;/li>
&lt;li>The custom configuration file path can be overridden using the &lt;code>--config&lt;/code> parameter&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;strong>Note.&lt;/strong> If you have installed Grafana using the &lt;code>deb&lt;/code> or &lt;code>rpm&lt;/code>
packages, then your configuration file is located at
&lt;code>/etc/grafana/grafana.ini&lt;/code>. This path is specified in the Grafana
init.d script using &lt;code>--config&lt;/code> file parameter.&lt;/p></description></item><item><title>Installing on Debian / Ubuntu</title><link>https://grafana.com/docs/grafana/v4.3/installation/debian/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/debian/</guid><content><![CDATA[&lt;h1 id=&#34;installing-on-debian--ubuntu&#34;&gt;Installing on Debian / Ubuntu&lt;/h1&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;Description&lt;/th&gt;
              &lt;th&gt;Download&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Stable for Debian-based Linux&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.3.0_amd64.deb&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grafana_4.3.0_amd64.deb&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&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;h2 id=&#34;install-stable&#34;&gt;Install Stable&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;wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.2.0_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.2.0_amd64.deb&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;!--
## Install Beta

```bash
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.3.0-beta1_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.3.0-beta1_amd64.deb
```
--&gt;
&lt;h2 id=&#34;apt-repository&#34;&gt;APT Repository&lt;/h2&gt;
&lt;p&gt;Add the following line to your &lt;code&gt;/etc/apt/sources.list&lt;/code&gt; file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;deb https://packagecloud.io/grafana/stable/debian/ jessie main
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Use the above line even if you are on Ubuntu or another Debian version.
There is also a testing repository if you want beta or release
candidates.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;deb https://packagecloud.io/grafana/testing/debian/ jessie main
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then add the &lt;a href=&#34;https://packagecloud.io/grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Package Cloud&lt;/a&gt; key. This
allows you to install signed 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;curl https://packagecloud.io/gpg.key | sudo apt-key add -&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Update your Apt repositories and install Grafana&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 install grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;On some older versions of Ubuntu and Debian you may need to install the
&lt;code&gt;apt-transport-https&lt;/code&gt; package which is needed to fetch packages over
HTTPS.&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 install -y apt-transport-https&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;/ul&gt;
&lt;h2 id=&#34;start-the-server-initd-service&#34;&gt;Start the server (init.d service)&lt;/h2&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;sudo service grafana-server start&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This will start 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 default HTTP port
is &lt;code&gt;3000&lt;/code&gt; and default user and group is &lt;code&gt;admin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To configure the Grafana server to start at boot time:&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;h2 id=&#34;start-the-server-via-systemd&#34;&gt;Start the server (via systemd)&lt;/h2&gt;
&lt;p&gt;To start the service using systemd:&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;systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Enable the systemd service so that Grafana starts 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;h2 id=&#34;environment-file&#34;&gt;Environment file&lt;/h2&gt;
&lt;p&gt;The systemd service file and init.d script both use the file located at
&lt;code&gt;/etc/default/grafana-server&lt;/code&gt; for environment variables used when
starting the back-end. Here you can override log directory, data
directory and other variables.&lt;/p&gt;
&lt;h3 id=&#34;logging&#34;&gt;Logging&lt;/h3&gt;
&lt;p&gt;By default Grafana will log to &lt;code&gt;/var/log/grafana&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;database&#34;&gt;Database&lt;/h3&gt;
&lt;p&gt;The default configuration specifies a sqlite3 database located at
&lt;code&gt;/var/lib/grafana/grafana.db&lt;/code&gt;. Please backup this database before
upgrades. You can also use MySQL or Postgres as the Grafana database, as detailed on &lt;a href=&#34;../configuration/#database&#34;&gt;the configuration page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;The configuration file is located at &lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;.  Go the
&lt;a href=&#34;../configuration/&#34;&gt;Configuration&lt;/a&gt; page for details on all
those options.&lt;/p&gt;
&lt;h3 id=&#34;adding-data-sources&#34;&gt;Adding data sources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/graphite/&#34;&gt;Graphite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/influxdb/&#34;&gt;InfluxDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/opentsdb/&#34;&gt;OpenTSDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/prometheus/&#34;&gt;Prometheus&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;installing-from-binary-tar-file&#34;&gt;Installing from binary tar file&lt;/h2&gt;
&lt;p&gt;Download &lt;a href=&#34;/get&#34;&gt;the latest &lt;code&gt;.tar.gz&lt;/code&gt; file&lt;/a&gt; and
extract it.  This will extract into a folder named after the version 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;p&gt;To configure Grafana add a configuration file named &lt;code&gt;custom.ini&lt;/code&gt; to the
&lt;code&gt;conf&lt;/code&gt; folder and override any of the settings defined in
&lt;code&gt;conf/defaults.ini&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Start Grafana by executing &lt;code&gt;./bin/grafana-server web&lt;/code&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 is located).&lt;/p&gt;
]]></content><description>&lt;h1 id="installing-on-debian--ubuntu">Installing on Debian / Ubuntu&lt;/h1>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Description&lt;/th>
&lt;th>Download&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Stable for Debian-based Linux&lt;/td>
&lt;td>&lt;a href="https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.3.0_amd64.deb" target="_blank" rel="noopener noreferrer">grafana_4.3.0_amd64.deb&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&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>Installing on Mac</title><link>https://grafana.com/docs/grafana/v4.3/installation/mac/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/mac/</guid><content><![CDATA[&lt;h1 id=&#34;installing-on-mac&#34;&gt;Installing on Mac&lt;/h1&gt;
&lt;p&gt;Installation can be done using &lt;a href=&#34;http://brew.sh/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;homebrew&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Install latest stable:&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;brew update
brew install grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To start grafana look at the command printed after the homebrew install completes.&lt;/p&gt;
&lt;p&gt;To upgrade use the reinstall command&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;brew update
brew reinstall grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;p&gt;You can also install the latest unstable grafana from git:&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;brew install --HEAD grafana/grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To upgrade grafana if you&amp;rsquo;ve installed from HEAD:&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;brew reinstall --HEAD grafana/grafana/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="installing-on-mac">Installing on Mac&lt;/h1>
&lt;p>Installation can be done using &lt;a href="http://brew.sh/" target="_blank" rel="noopener noreferrer">homebrew&lt;/a>&lt;/p>
&lt;p>Install latest stable:&lt;/p>
&lt;div class="code-snippet code-snippet__mini">&lt;div class="lang-toolbar__mini">
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;/div>&lt;div class="code-snippet code-snippet__border">
&lt;pre data-expanded="false">&lt;code class="language-none">brew update
brew install grafana&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>To start grafana look at the command printed after the homebrew install completes.&lt;/p></description></item><item><title>Installing on RPM-based Linux</title><link>https://grafana.com/docs/grafana/v4.3/installation/rpm/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/rpm/</guid><content><![CDATA[&lt;h1 id=&#34;installing-on-rpm-based-linux-centos-fedora-opensuse-redhat&#34;&gt;Installing on RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat)&lt;/h1&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;Description&lt;/th&gt;
              &lt;th&gt;Download&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Stable for CentOS / Fedora / OpenSuse / Redhat Linux&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.0-1.x86_64.rpm&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;4.3.0 (x86-64 rpm)&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&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;h2 id=&#34;install-stable&#34;&gt;Install Stable&lt;/h2&gt;
&lt;p&gt;You can install Grafana using Yum directly.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Or install manually using &lt;code&gt;rpm&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;on-centos--fedora--redhat&#34;&gt;On CentOS / Fedora / Redhat:&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
$ sudo yum install initscripts fontconfig
$ sudo rpm -Uvh grafana-4.2.0-1.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;on-opensuse&#34;&gt;On OpenSuse:&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;$ sudo rpm -i --nodeps grafana-4.2.0-1.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;install-via-yum-repository&#34;&gt;Install via YUM Repository&lt;/h2&gt;
&lt;p&gt;Add the following to a new file at &lt;code&gt;/etc/yum.repos.d/grafana.repo&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There is also a testing repository if you want beta or release
candidates.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;baseurl=https://packagecloud.io/grafana/testing/el/6/$basearch
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then install Grafana via the &lt;code&gt;yum&lt;/code&gt; command.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo yum install grafana
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;rpm-gpg-key&#34;&gt;RPM GPG Key&lt;/h3&gt;
&lt;p&gt;The RPMs are signed, you can verify the signature with this &lt;a href=&#34;https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;public GPG
key&lt;/a&gt;.&lt;/p&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;start-the-server-initd-service&#34;&gt;Start the server (init.d service)&lt;/h2&gt;
&lt;p&gt;You can start Grafana by running:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo service grafana-server start
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will start the &lt;code&gt;grafana-server&lt;/code&gt; process as the &lt;code&gt;grafana&lt;/code&gt; user,
which is created during package installation. The default HTTP port is
&lt;code&gt;3000&lt;/code&gt;, and default user and group is &lt;code&gt;admin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To configure the Grafana server to start at boot time:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo /sbin/chkconfig --add grafana-server
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;start-the-server-via-systemd&#34;&gt;Start the server (via systemd)&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;$ systemctl daemon-reload
$ systemctl start grafana-server
$ systemctl status grafana-server
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;enable-the-systemd-service-to-start-at-boot&#34;&gt;Enable the systemd service to start at boot&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo systemctl enable grafana-server.service
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;environment-file&#34;&gt;Environment file&lt;/h2&gt;
&lt;p&gt;The systemd service file and init.d script both use the file located at
&lt;code&gt;/etc/sysconfig/grafana-server&lt;/code&gt; for environment variables used when
starting the back-end. Here you can override log directory, data
directory and other variables.&lt;/p&gt;
&lt;h3 id=&#34;logging&#34;&gt;Logging&lt;/h3&gt;
&lt;p&gt;By default Grafana will log to &lt;code&gt;/var/log/grafana&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;database&#34;&gt;Database&lt;/h3&gt;
&lt;p&gt;The default configuration specifies a sqlite3 database located at
&lt;code&gt;/var/lib/grafana/grafana.db&lt;/code&gt;. Please backup this database before
upgrades. You can also use MySQL or Postgres as the Grafana database, as detailed on &lt;a href=&#34;../configuration/#database&#34;&gt;the configuration page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;The configuration file is located at &lt;code&gt;/etc/grafana/grafana.ini&lt;/code&gt;.  Go the
&lt;a href=&#34;../configuration/&#34;&gt;Configuration&lt;/a&gt; page for details on all
those options.&lt;/p&gt;
&lt;h3 id=&#34;adding-data-sources&#34;&gt;Adding data sources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/graphite/&#34;&gt;Graphite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/influxdb/&#34;&gt;InfluxDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/opentsdb/&#34;&gt;OpenTSDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../features/datasources/prometheus/&#34;&gt;Prometheus&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;server-side-image-rendering&#34;&gt;Server side image rendering&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 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;yum install fontconfig
yum install freetype*
yum install urw-fonts&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;installing-from-binary-tar-file&#34;&gt;Installing from binary tar file&lt;/h2&gt;
&lt;p&gt;Download &lt;a href=&#34;/get&#34;&gt;the latest &lt;code&gt;.tar.gz&lt;/code&gt; file&lt;/a&gt; and
extract it.  This will extract into a folder named after the version 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;p&gt;To configure Grafana add a configuration file named &lt;code&gt;custom.ini&lt;/code&gt; to the
&lt;code&gt;conf&lt;/code&gt; folder and override any of the settings defined in
&lt;code&gt;conf/defaults.ini&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Start Grafana by executing &lt;code&gt;./bin/grafana-server web&lt;/code&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 is located).&lt;/p&gt;
]]></content><description>&lt;h1 id="installing-on-rpm-based-linux-centos-fedora-opensuse-redhat">Installing on RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat)&lt;/h1>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Description&lt;/th>
&lt;th>Download&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Stable for CentOS / Fedora / OpenSuse / Redhat Linux&lt;/td>
&lt;td>&lt;a href="https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.0-1.x86_64.rpm" target="_blank" rel="noopener noreferrer">4.3.0 (x86-64 rpm)&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&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>Installing on Windows</title><link>https://grafana.com/docs/grafana/v4.3/installation/windows/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/windows/</guid><content><![CDATA[&lt;h1 id=&#34;installing-on-windows&#34;&gt;Installing on Windows&lt;/h1&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;Description&lt;/th&gt;
              &lt;th&gt;Download&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Latest stable package for Windows&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.0.windows-x64.zip&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grafana.4.3.0.windows-x64.zip&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&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;h2 id=&#34;configure&#34;&gt;Configure&lt;/h2&gt;
&lt;p&gt;The zip file contains a folder with the current Grafana version. Extract
this folder to anywhere you want Grafana to run from.  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;. You should edit
&lt;code&gt;custom.ini&lt;/code&gt;, never &lt;code&gt;defaults.ini&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The default Grafana port is &lt;code&gt;3000&lt;/code&gt;, this port requires extra permissions
on windows. Edit &lt;code&gt;custom.ini&lt;/code&gt; and uncomment the &lt;code&gt;http_port&lt;/code&gt;
configuration option and change it to something like &lt;code&gt;8080&lt;/code&gt; or similar.
That port should not require extra Windows privileges.&lt;/p&gt;
&lt;p&gt;Start Grafana by executing &lt;code&gt;grafana-server.exe&lt;/code&gt;, preferably from the
command line. If you want to run Grafana as windows service, 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 add Grafana as a Windows
service using that tool.&lt;/p&gt;
&lt;p&gt;Read more about the &lt;a href=&#34;../configuration/&#34;&gt;configuration options&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;building-on-windows&#34;&gt;Building on Windows&lt;/h2&gt;
&lt;p&gt;The Grafana backend includes Sqlite3 which requires GCC to compile. So
in order to compile Grafana on Windows you need to install GCC. We
recommend &lt;a href=&#34;http://tdm-gcc.tdragon.net/download&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;TDM-GCC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Copy &lt;code&gt;conf/sample.ini&lt;/code&gt; to a file named &lt;code&gt;conf/custom.ini&lt;/code&gt; and change the
web server port to something like 8080. The default Grafana port, 3000,
requires special privileges on Windows.&lt;/p&gt;
]]></content><description>&lt;h1 id="installing-on-windows">Installing on Windows&lt;/h1>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Description&lt;/th>
&lt;th>Download&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Latest stable package for Windows&lt;/td>
&lt;td>&lt;a href="https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.0.windows-x64.zip" target="_blank" rel="noopener noreferrer">grafana.4.3.0.windows-x64.zip&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&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>Installing using Docker</title><link>https://grafana.com/docs/grafana/v4.3/installation/docker/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/docker/</guid><content><![CDATA[&lt;h1 id=&#34;installing-using-docker&#34;&gt;Installing using Docker&lt;/h1&gt;
&lt;p&gt;Grafana is very easy to install and run using the official docker container.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ docker run -i -p 3000:3000 grafana/grafana
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All Grafana configuration settings can be defined using environment
variables, this is especially useful when using the above container.&lt;/p&gt;
&lt;h2 id=&#34;docker-volumes--env-config&#34;&gt;Docker volumes &amp;amp; ENV config&lt;/h2&gt;
&lt;p&gt;The Docker container exposes two volumes, the sqlite3 database in the
folder &lt;code&gt;/var/lib/grafana&lt;/code&gt; and configuration files is in &lt;code&gt;/etc/grafana/&lt;/code&gt;
folder. You can map these volumes to host folders when you start the
container:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ docker run -d -p 3000:3000 \
    -v /var/lib/grafana:/var/lib/grafana \
    -e &amp;quot;GF_SECURITY_ADMIN_PASSWORD=secret&amp;quot; \
    grafana/grafana
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In the above example I map the data folder and sets a configuration option via
an &lt;code&gt;ENV&lt;/code&gt; instruction.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;The back-end web server has a number of configuration options. Go the
&lt;a href=&#34;../configuration/&#34;&gt;Configuration&lt;/a&gt; page for details on all
those options.&lt;/p&gt;
]]></content><description>&lt;h1 id="installing-using-docker">Installing using Docker&lt;/h1>
&lt;p>Grafana is very easy to install and run using the official docker container.&lt;/p>
&lt;pre>&lt;code>$ docker run -i -p 3000:3000 grafana/grafana
&lt;/code>&lt;/pre>
&lt;p>All Grafana configuration settings can be defined using environment
variables, this is especially useful when using the above container.&lt;/p></description></item><item><title>LDAP Authentication</title><link>https://grafana.com/docs/grafana/v4.3/installation/ldap/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/ldap/</guid><content><![CDATA[&lt;h1 id=&#34;ldap-authentication&#34;&gt;LDAP Authentication&lt;/h1&gt;
&lt;p&gt;Grafana (2.1 and newer) ships with a strong LDAP integration feature. The LDAP integration in Grafana allows your
Grafana users to login with their LDAP credentials. You can also specify mappings between LDAP
group memberships and Grafana Organization user roles.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;You turn on LDAP in the &lt;a href=&#34;../configuration/#auth-ldap&#34;&gt;main config file&lt;/a&gt; as well as specify the path to the LDAP
specific configuration file (default: &lt;code&gt;/etc/grafana/ldap.toml&lt;/code&gt;).&lt;/p&gt;
&lt;h3 id=&#34;example-config&#34;&gt;Example config&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;toml&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-toml&#34;&gt;# Set to true to log user information returned from LDAP
verbose_logging = false

[[servers]]
# Ldap server host (specify multiple hosts space separated)
host = &amp;#34;127.0.0.1&amp;#34;
# Default port is 389 or 636 if use_ssl = true
port = 389
# Set to true if ldap server supports TLS
use_ssl = false
# Set to true if connect ldap server with STARTTLS pattern (create connection in insecure, then upgrade to secure connection with TLS)
start_tls = false
# set to true if you want to skip ssl cert validation
ssl_skip_verify = false
# set to the path to your root CA certificate or leave unset to use system defaults
# root_ca_cert = &amp;#34;/path/to/certificate.crt&amp;#34;

# Search user bind dn
bind_dn = &amp;#34;cn=admin,dc=grafana,dc=org&amp;#34;
# Search user bind password
# If the password contains # or ; you have to wrap it with trippel quotes. Ex &amp;#34;&amp;#34;&amp;#34;#password;&amp;#34;&amp;#34;&amp;#34;
bind_password = &amp;#39;grafana&amp;#39;

# User search filter, for example &amp;#34;(cn=%s)&amp;#34; or &amp;#34;(sAMAccountName=%s)&amp;#34; or &amp;#34;(uid=%s)&amp;#34;
search_filter = &amp;#34;(cn=%s)&amp;#34;

# An array of base dns to search through
search_base_dns = [&amp;#34;dc=grafana,dc=org&amp;#34;]

# In POSIX LDAP schemas, without memberOf attribute a secondary query must be made for groups.
# This is done by enabling group_search_filter below. You must also set member_of= &amp;#34;cn&amp;#34;
# in [servers.attributes] below.

## Group search filter, to retrieve the groups of which the user is a member (only set if memberOf attribute is not available)
# group_search_filter = &amp;#34;(&amp;amp;(objectClass=posixGroup)(memberUid=%s))&amp;#34;
## An array of the base DNs to search through for groups. Typically uses ou=groups
# group_search_base_dns = [&amp;#34;ou=groups,dc=grafana,dc=org&amp;#34;]

# Specify names of the ldap attributes your ldap uses
[servers.attributes]
name = &amp;#34;givenName&amp;#34;
surname = &amp;#34;sn&amp;#34;
username = &amp;#34;cn&amp;#34;
member_of = &amp;#34;memberOf&amp;#34;
email =  &amp;#34;email&amp;#34;

# Map ldap groups to grafana org roles
[[servers.group_mappings]]
group_dn = &amp;#34;cn=admins,dc=grafana,dc=org&amp;#34;
org_role = &amp;#34;Admin&amp;#34;
# The Grafana organization database id, optional, if left out the default org (id 1) will be used.  Setting this allows for multiple group_dn&amp;#39;s to be assigned to the same org_role provided the org_id differs
# org_id = 1

[[servers.group_mappings]]
group_dn = &amp;#34;cn=users,dc=grafana,dc=org&amp;#34;
org_role = &amp;#34;Editor&amp;#34;

[[servers.group_mappings]]
# If you want to match all (or no ldap groups) then you can use wildcard
group_dn = &amp;#34;*&amp;#34;
org_role = &amp;#34;Viewer&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;bind--bind-password&#34;&gt;Bind &amp;amp; Bind Password&lt;/h2&gt;
&lt;p&gt;By default the configuration expects you to specify a bind DN and bind password. This should be a read only user that can perform LDAP searches.
When the user DN is found a second bind is performed with the user provided username &amp;amp; password (in the normal Grafana login form).&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;bind_dn = &amp;#34;cn=admin,dc=grafana,dc=org&amp;#34;
bind_password = &amp;#34;grafana&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;single-bind-example&#34;&gt;Single Bind Example&lt;/h3&gt;
&lt;p&gt;If you can provide a single bind expression that matches all possible users, you can skip the second bind and bind against the user DN directly.
This allows you to not specify a bind_password in the configuration file.&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;bind_dn = &amp;#34;cn=%s,o=users,dc=grafana,dc=org&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In this case you skip providing a &lt;code&gt;bind_password&lt;/code&gt; and instead provide a &lt;code&gt;bind_dn&lt;/code&gt; value with a &lt;code&gt;%s&lt;/code&gt; somewhere. This will be replaced with the username entered in on the Grafana login page.
The search filter and search bases settings are still needed to perform the LDAP search to retrieve the other LDAP information (like LDAP groups and email).&lt;/p&gt;
&lt;h2 id=&#34;posix-schema-no-memberof-attribute&#34;&gt;POSIX schema (no memberOf attribute)&lt;/h2&gt;
&lt;p&gt;If your ldap server does not support the memberOf attribute add these options:&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;toml&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-toml&#34;&gt;## Group search filter, to retrieve the groups of which the user is a member (only set if memberOf attribute is not available)
group_search_filter = &amp;#34;(&amp;amp;(objectClass=posixGroup)(memberUid=%s))&amp;#34;
## An array of the base DNs to search through for groups. Typically uses ou=groups
group_search_base_dns = [&amp;#34;ou=groups,dc=grafana,dc=org&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Also change set &lt;code&gt;member_of = &amp;quot;cn&amp;quot;&lt;/code&gt; in the &lt;code&gt;[servers.attributes]&lt;/code&gt; section.&lt;/p&gt;
&lt;h2 id=&#34;ldap-to-grafana-org-role-sync&#34;&gt;LDAP to Grafana Org Role Sync&lt;/h2&gt;
&lt;h3 id=&#34;mappings&#34;&gt;Mappings&lt;/h3&gt;
&lt;p&gt;In &lt;code&gt;[[servers.group_mappings]]&lt;/code&gt; you can map an LDAP group to a Grafana organization
and role.  These will be synced every time the user logs in, with LDAP being
the authoritative source.  So, if you change a user&amp;rsquo;s role in the Grafana Org.
Users page, this change will be reset the next time the user logs in. If you
change the LDAP groups of a user, the change will take effect the next
time the user logs in.&lt;/p&gt;
&lt;h3 id=&#34;priority&#34;&gt;Priority&lt;/h3&gt;
&lt;p&gt;The first group mapping that an LDAP user is matched to will be used for the sync. If you have LDAP users that fit multiple mappings, the topmost mapping in the TOML config will be used.&lt;/p&gt;
]]></content><description>&lt;h1 id="ldap-authentication">LDAP Authentication&lt;/h1>
&lt;p>Grafana (2.1 and newer) ships with a strong LDAP integration feature. The LDAP integration in Grafana allows your
Grafana users to login with their LDAP credentials. You can also specify mappings between LDAP
group memberships and Grafana Organization user roles.&lt;/p></description></item><item><title>Migrating from older versions</title><link>https://grafana.com/docs/grafana/v4.3/installation/migrating_to2/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/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>Running Grafana behind a reverse proxy</title><link>https://grafana.com/docs/grafana/v4.3/installation/behind_proxy/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/behind_proxy/</guid><content><![CDATA[&lt;h1 id=&#34;running-grafana-behind-a-reverse-proxy&#34;&gt;Running Grafana behind a reverse proxy&lt;/h1&gt;
&lt;p&gt;It should be straight forward to get Grafana up and running behind a reverse proxy. But here are some things that you might run into.&lt;/p&gt;
&lt;p&gt;Links and redirects will not be rendered correctly unless you set the server.domain setting.&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;[server]
domain = foo.bar&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To use sub &lt;em&gt;path&lt;/em&gt; ex &lt;code&gt;http://foo.bar/grafana&lt;/code&gt; make sure to include &lt;code&gt;/grafana&lt;/code&gt; in the end of root_url.
Otherwise Grafana will not behave correctly. See example below.&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;Here are some example configurations for running Grafana behind a reverse proxy.&lt;/p&gt;
&lt;h3 id=&#34;grafana-configuration-ex-&#34;&gt;Grafana configuration (ex &lt;a href=&#34;http://foo.bar.com&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;http://foo.bar.com&lt;/a&gt;)&lt;/h3&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;[server]
domain = foo.bar&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;nginx-configuration&#34;&gt;Nginx configuration&lt;/h3&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;server {
  listen 80;
  root /usr/share/nginx/www;
  index index.html index.htm;

  location / {
   proxy_pass http://localhost:3000/;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;examples-with-sub-path-ex-&#34;&gt;Examples with &lt;strong&gt;sub path&lt;/strong&gt; (ex &lt;a href=&#34;http://foo.bar.com/grafana&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;http://foo.bar.com/grafana&lt;/a&gt;)&lt;/h3&gt;
&lt;h4 id=&#34;grafana-configuration-with-sub-path&#34;&gt;Grafana configuration with sub path&lt;/h4&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;[server]
domain = foo.bar
root_url = %(protocol)s://%(domain)s:/grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;nginx-configuration-with-sub-path&#34;&gt;Nginx configuration with sub path&lt;/h4&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;server {
  listen 80;
  root /usr/share/nginx/www;
  index index.html index.htm;

  location /grafana/ {
   proxy_pass http://localhost:3000/;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="running-grafana-behind-a-reverse-proxy">Running Grafana behind a reverse proxy&lt;/h1>
&lt;p>It should be straight forward to get Grafana up and running behind a reverse proxy. But here are some things that you might run into.&lt;/p></description></item><item><title>Troubleshooting</title><link>https://grafana.com/docs/grafana/v4.3/installation/troubleshooting/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/troubleshooting/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h1&gt;
&lt;h2 id=&#34;visualization--query-issues&#34;&gt;visualization &amp;amp; query issues&lt;/h2&gt;
&lt;p&gt;The most common problems are related to the query &amp;amp; response from you data source. Even if it looks
like a bug or visualization issue in Grafana it is 99% of time a problem with the data source query or
the data source response.&lt;/p&gt;
&lt;p&gt;So make sure to check the query sent and the raw response, learn how in this guide: &lt;a href=&#34;https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;How to troubleshoot metric query issues&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;logging&#34;&gt;Logging&lt;/h2&gt;
&lt;p&gt;If you encounter an error or problem it is a good idea to 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 &amp;amp; manual installs.&lt;/p&gt;
&lt;p&gt;You can enable more logging by changing log level in you grafana configuration file.&lt;/p&gt;
&lt;h2 id=&#34;faq&#34;&gt;FAQ&lt;/h2&gt;
&lt;p&gt;Checkout the &lt;a href=&#34;https://community.grafana.com/c/howto/faq&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;FAQ&lt;/a&gt; section on our community page for frequently
asked questions.&lt;/p&gt;
]]></content><description>&lt;h1 id="troubleshooting">Troubleshooting&lt;/h1>
&lt;h2 id="visualization--query-issues">visualization &amp;amp; query issues&lt;/h2>
&lt;p>The most common problems are related to the query &amp;amp; response from you data source. Even if it looks
like a bug or visualization issue in Grafana it is 99% of time a problem with the data source query or
the data source response.&lt;/p></description></item><item><title>Upgrading</title><link>https://grafana.com/docs/grafana/v4.3/installation/upgrading/</link><pubDate>Mon, 13 Apr 2026 16:15:04 -0700</pubDate><guid>https://grafana.com/docs/grafana/v4.3/installation/upgrading/</guid><content><![CDATA[&lt;h1 id=&#34;upgrading-grafana&#34;&gt;Upgrading Grafana&lt;/h1&gt;
&lt;p&gt;We recommend everyone to upgrade Grafana often to stay up to date with the latest fixes and enhancements.
In order make this a reality Grafana upgrades are backward compatible and the upgrade process is simple &amp;amp; quick.&lt;/p&gt;
&lt;p&gt;Upgrading is generally always safe (between many minor and one major version) and dashboards and graphs will look the same. There can be minor breaking changes in some edge cases which are usually 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;database-backup&#34;&gt;Database Backup&lt;/h2&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 you &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 system.
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 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;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 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;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--debian&#34;&gt;Ubuntu / Debian&lt;/h3&gt;
&lt;p&gt;If you installed grafana by downloading a debian package (&lt;code&gt;.deb&lt;/code&gt;) you can just follow the same installation guide
and execute the same &lt;code&gt;dpkg -i&lt;/code&gt; command but with the new package. It will upgrade your Grafana install.&lt;/p&gt;
&lt;p&gt;If you used our APT 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;h4 id=&#34;upgrading-from-binary-tar-file&#34;&gt;Upgrading from binary tar file&lt;/h4&gt;
&lt;p&gt;If you downloaded the binary tar package you can just download and extract a new package
and overwrite all your existing files. But this might overwrite your config changes. We
recommend you place 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;h3 id=&#34;centos--rhel&#34;&gt;Centos / RHEL&lt;/h3&gt;
&lt;p&gt;If you installed grafana by downloading a 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 install.&lt;/p&gt;
&lt;p&gt;If you used our YUM 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 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 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;docker pull grafana
docker stop my-grafana-container
docker rm my-grafana-container
docker run --name=my-grafana-container --restart=always -v /var/lib/grafana:/var/lib/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 you place 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;upgrading-form-1x&#34;&gt;Upgrading form 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-form-2x&#34;&gt;Upgrading form 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 on the safe side go via 3.x.&lt;/p&gt;
]]></content><description>&lt;h1 id="upgrading-grafana">Upgrading Grafana&lt;/h1>
&lt;p>We recommend everyone to upgrade Grafana often to stay up to date with the latest fixes and enhancements.
In order make this a reality Grafana upgrades are backward compatible and the upgrade process is simple &amp;amp; quick.&lt;/p></description></item></channel></rss>