grafana setup documentation guide troubleshooting diagnostics enable diagnostics grafana aliases troubleshooting keywords Learn how to configure profiling and tracing so that you can troubleshoot Grafana

Answer:
---
aliases:
  - ../../troubleshooting/diagnostics/
  - ../enable-diagnostics/
description: Learn how to configure profiling and tracing so that you can troubleshoot Grafana.
keywords:
  - grafana
  - troubleshooting
  - documentation
  - guide
labels:
  products:
    - enterprise
    - oss
menuTitle: Configure profiling and tracing
title: Configure profiling and tracing to troubleshoot Grafana
weight: 200
---

# Configure profiling and tracing to troubleshoot Grafana

You can set up the `grafana-server` process to enable certain diagnostics when it starts. This can be useful
when investigating certain performance problems. It's _not_ recommended to have these enabled by default.

## Turn on profiling and collect profiles

The `grafana-server` can be started with the command-line option `-profile` to enable profiling, `-profile-addr` to override the default HTTP address (`localhost`), and
`-profile-port` to override the default HTTP port (`6060`) where the `pprof` debugging endpoints are available. Further, [`-profile-block-rate`](https://pkg.go.dev/runtime#SetBlockProfileRate) controls the fraction of goroutine blocking events that are reported in the blocking profile, default `1` (i.e. track every event) for backward compatibility reasons, and [`-profile-mutex-rate`](https://pkg.go.dev/runtime#SetMutexProfileFraction) controls the fraction of mutex contention events that are reported in the mutex profile, default `0` (i.e. track no events). The higher the fraction (that is, the smaller this value) the more overhead it adds to normal operations.

Running Grafana with profiling enabled and without block and mutex profiling enabled should only add a fraction of overhead and is suitable for [continuous profiling](https://grafana.com/oss/pyroscope/). Adding a small fraction of block and mutex profiling, such as 10-5 (10%-20%) should in general be fine.

Enable profiling:

```bash
./grafana server -profile -profile-addr=0.0.0.0 -profile-port=8080
```

Enable profiling with block and mutex profiling enabled with a fraction of 20%:

```bash
./grafana server -profile -profile-addr=0.0.0.0 -profile-port=8080 -profile-block-rate=5 -profile-mutex-rate=5
```

Note that `pprof` debugging endpoints are served on a different port than the Grafana HTTP server. Check what debugging endpoints are available by browsing `http://<profile-addr><profile-port>/debug/pprof`.

There are some additional [godeltaprof](https://github.com/grafana/pyroscope-go/tree/main/godeltaprof) endpoints available which are more suitable in a continuous profiling scenario. These endpoints are `/debug/pprof/delta_heap`, `/debug/pprof/delta_block`, `/debug/pprof/delta_mutex`.

You can configure or override profiling settings using environment variables:

```bash
export GF_DIAGNOSTICS_PROFILING_ENABLED=true
export GF_DIAGNOSTICS_PROFILING_ADDR=0.0.0.0
export GF_DIAGNOSTICS_PROFILING_PORT=8080
export GF_DIAGNOSTICS_PROFILING_BLOCK_RATE=5
export GF_DIAGNOSTICS_PROFILING_MUTEX_RATE=5
```

In general, you use the [Go command pprof](https://golang.org/cmd/pprof/) to both collect and analyze profiling data. You can also use [curl](https://curl.se/) or similar to collect profiles which could be convenient in environments where you don't have the Go/pprof command available. Next, some usage examples of using curl and pprof to collect and analyze memory and CPU profiles.

**Analyzing high memory usage/memory leaks:**

When experiencing high memory usage or potential memory leaks it's useful to collect several heap profiles and later when analyzing, compare them. It's a good idea to wait some time, e.g. 30 seconds, between collecting each profile to allow memory consumption to increase.

```bash
curl http://<profile-addr>:<profile-port>/debug/pprof/heap > heap1.pprof
sleep 30
curl http://<profile-addr>:<profile-port>/debug/pprof/heap > heap2.pprof
```

You can then use pprof tool to compare two heap profiles:

```bash
go tool pprof -http=localhost:8081 --base heap1.pprof heap2.pprof
```

**Analyzing high CPU usage:**

When experiencing high CPU usage it's suggested to collect CPU profiles over a period of time, e.g. 30 seconds.

```bash
curl 'http://<profile-addr>:<profile-port>/debug/pprof/profile?seconds=30' > profile.pprof
```

You can then use pprof tool to analyze the collected CPU profile:

```bash
go tool pprof -http=localhost:8081 profile.pprof
```

## Use tracing

The `grafana-server` can be started with the arguments `-tracing` to enable tracing and `-tracing-file` to override the default trace file (`trace.out`) where trace result is written to. For example:

```bash
./grafana server -tracing -tracing-file=/tmp/trace.out
```

You can configure or override profiling settings using environment variables:

```bash
export GF_DIAGNOSTICS_TRACING_ENABLED=true
export GF_DIAGNOSTICS_TRACING_FILE=/tmp/trace.out
```

View the trace in a web browser (Go required to be installed):

```bash
go tool trace <trace file>
2019/11/24 22:20:42 Parsing trace...
2019/11/24 22:20:42 Splitting trace...
2019/11/24 22:20:42 Opening browser. Trace viewer is listening on http://127.0.0.1:39735
```

For more information about how to analyze trace files, refer to [Go command trace](https://golang.org/cmd/trace/).

aliases            troubleshooting diagnostics         enable diagnostics  description  Learn how to configure profiling and tracing so that you can troubleshoot Grafana  keywords      grafana     troubleshooting     documentation     guide labels    products        enterprise       oss menuTitle  Configure profiling and tracing title  Configure profiling and tracing to troubleshoot Grafana weight  200        Configure profiling and tracing to troubleshoot Grafana  You can set up the  grafana server  process to enable certain diagnostics when it starts  This can be useful when investigating certain performance problems  It s  not  recommended to have these enabled by default      Turn on profiling and collect profiles  The  grafana server  can be started with the command line option   profile  to enable profiling    profile addr  to override the default HTTP address   localhost    and   profile port  to override the default HTTP port   6060   where the  pprof  debugging endpoints are available  Further     profile block rate   https   pkg go dev runtime SetBlockProfileRate  controls the fraction of goroutine blocking events that are reported in the blocking profile  default  1   i e  track every event  for backward compatibility reasons  and    profile mutex rate   https   pkg go dev runtime SetMutexProfileFraction  controls the fraction of mutex contention events that are reported in the mutex profile  default  0   i e  track no events   The higher the fraction  that is  the smaller this value  the more overhead it adds to normal operations   Running Grafana with profiling enabled and without block and mutex profiling enabled should only add a fraction of overhead and is suitable for  continuous profiling  https   grafana com oss pyroscope    Adding a small fraction of block and mutex profiling  such as 10 5  10  20   should in general be fine   Enable profiling      bash   grafana server  profile  profile addr 0 0 0 0  profile port 8080      Enable profiling with block and mutex profiling enabled with a fraction of 20       bash   grafana server  profile  profile addr 0 0 0 0  profile port 8080  profile block rate 5  profile mutex rate 5      Note that  pprof  debugging endpoints are served on a different port than the Grafana HTTP server  Check what debugging endpoints are available by browsing  http    profile addr  profile port  debug pprof    There are some additional  godeltaprof  https   github com grafana pyroscope go tree main godeltaprof  endpoints available which are more suitable in a continuous profiling scenario  These endpoints are   debug pprof delta heap     debug pprof delta block     debug pprof delta mutex    You can configure or override profiling settings using environment variables      bash export GF DIAGNOSTICS PROFILING ENABLED true export GF DIAGNOSTICS PROFILING ADDR 0 0 0 0 export GF DIAGNOSTICS PROFILING PORT 8080 export GF DIAGNOSTICS PROFILING BLOCK RATE 5 export GF DIAGNOSTICS PROFILING MUTEX RATE 5      In general  you use the  Go command pprof  https   golang org cmd pprof   to both collect and analyze profiling data  You can also use  curl  https   curl se   or similar to collect profiles which could be convenient in environments where you don t have the Go pprof command available  Next  some usage examples of using curl and pprof to collect and analyze memory and CPU profiles     Analyzing high memory usage memory leaks     When experiencing high memory usage or potential memory leaks it s useful to collect several heap profiles and later when analyzing  compare them  It s a good idea to wait some time  e g  30 seconds  between collecting each profile to allow memory consumption to increase      bash curl http    profile addr   profile port  debug pprof heap   heap1 pprof sleep 30 curl http    profile addr   profile port  debug pprof heap   heap2 pprof      You can then use pprof tool to compare two heap profiles      bash go tool pprof  http localhost 8081   base heap1 pprof heap2 pprof        Analyzing high CPU usage     When experiencing high CPU usage it s suggested to collect CPU profiles over a period of time  e g  30 seconds      bash curl  http    profile addr   profile port  debug pprof profile seconds 30    profile pprof      You can then use pprof tool to analyze the collected CPU profile      bash go tool pprof  http localhost 8081 profile pprof         Use tracing  The  grafana server  can be started with the arguments   tracing  to enable tracing and   tracing file  to override the default trace file   trace out   where trace result is written to  For example      bash   grafana server  tracing  tracing file  tmp trace out      You can configure or override profiling settings using environment variables      bash export GF DIAGNOSTICS TRACING ENABLED true export GF DIAGNOSTICS TRACING FILE  tmp trace out      View the trace in a web browser  Go required to be installed       bash go tool trace  trace file  2019 11 24 22 20 42 Parsing trace    2019 11 24 22 20 42 Splitting trace    2019 11 24 22 20 42 Opening browser  Trace viewer is listening on http   127 0 0 1 39735      For more information about how to analyze trace files  refer to  Go command trace  https   golang org cmd trace


grafana setup settings enterprise settings updates labels grafana aliases products keywords Settings updates at runtime runtime

Answer:
---
aliases:
  - ../../enterprise/settings-updates/
description: Settings updates at runtime
keywords:
  - grafana
  - runtime
  - settings
labels:
  products:
    - enterprise
    - oss
title: Settings updates at runtime
weight: 500
---

# Settings updates at runtime

This functionality is deprecated and will be removed in a future release. For configuring SAML authentication, please use the new [SSO settings API]().

By updating settings at runtime, you can update Grafana settings without needing to restart the Grafana server.

Updates that happen at runtime are stored in the database and override
[settings from other sources]()
(arguments, environment variables, settings file, etc). Therefore, every time a specific setting key is removed at runtime,
the value used for that key is the inherited one from the other sources in the reverse order of precedence
(`arguments > environment variables > settings file`). When no value is provided through any of these options, then the value used will be the application default

Currently, **it only supports updates on the `auth.saml` section.**

## Update settings via the API

You can update settings through the [Admin API]().

When you submit a settings update via API, Grafana verifies if the given settings updates are allowed and valid. If they are, then Grafana stores the settings in the database and reloads
Grafana services with no need to restart the instance.

So, the payload of a `PUT` request to the update settings endpoint (`/api/admin/settings`)
should contain (either one or both):

- An `updates` map with a key, and a value per section you want to set.
- A `removals` list with keys per section you want to unset.

For example, if you provide the following `updates`:

```json
{
  "updates": {
    "auth.saml": {
      "enabled": "true",
      "single_logout": "false"
    }
  }
}
```

it would enable SAML and disable single logouts. And, if you provide the following `removals`:

```json
{
  "removals": {
    "auth.saml": ["allow_idp_initiated"]
  }
}
```

it would remove the key/value setting identified by `allow_idp_initiated` within the `auth.saml`.
So, the SAML service would be reloaded and that value would be inherited for either (settings `.ini` file,
environment variable, command line arguments or any other accepted mechanism to provide configuration).

Therefore, the complete HTTP payload would looks like:

```json
{
  "updates": {
    "auth.saml": {
      "enabled": "true",
      "single_logout": "false"
    }
  },
  "removals": {
    "auth.saml": ["allow_idp_initiated"]
  }
}
```

In case any of these settings cannot be overridden nor valid, it would return an error and these settings
won't be persisted into the database.

## Background job (high availability set-ups)

Grafana Enterprise has a built-in scheduled background job that looks into the database every minute for
settings updates. If there are updates, it reloads the Grafana services affected by the detected changes.

The background job synchronizes settings between instances in a highly available set-up. So, after you perform some changes through the
HTTP API, then the other instances are synchronized through the database and the background job.

## Control access with role-based access control

If you have [role-based access control]() enabled, you can control who can read or update settings.
Refer to the [Admin API]() for more information.

aliases            enterprise settings updates  description  Settings updates at runtime keywords      grafana     runtime     settings labels    products        enterprise       oss title  Settings updates at runtime weight  500        Settings updates at runtime   This functionality is deprecated and will be removed in a future release  For configuring SAML authentication  please use the new  SSO settings API       By updating settings at runtime  you can update Grafana settings without needing to restart the Grafana server   Updates that happen at runtime are stored in the database and override  settings from other sources     arguments  environment variables  settings file  etc   Therefore  every time a specific setting key is removed at runtime  the value used for that key is the inherited one from the other sources in the reverse order of precedence   arguments   environment variables   settings file    When no value is provided through any of these options  then the value used will be the application default  Currently    it only supports updates on the  auth saml  section        Update settings via the API  You can update settings through the  Admin API      When you submit a settings update via API  Grafana verifies if the given settings updates are allowed and valid  If they are  then Grafana stores the settings in the database and reloads Grafana services with no need to restart the instance   So  the payload of a  PUT  request to the update settings endpoint    api admin settings   should contain  either one or both      An  updates  map with a key  and a value per section you want to set    A  removals  list with keys per section you want to unset   For example  if you provide the following  updates       json      updates          auth saml            enabled    true          single logout    false                   it would enable SAML and disable single logouts  And  if you provide the following  removals       json      removals          auth saml     allow idp initiated              it would remove the key value setting identified by  allow idp initiated  within the  auth saml   So  the SAML service would be reloaded and that value would be inherited for either  settings   ini  file  environment variable  command line arguments or any other accepted mechanism to provide configuration    Therefore  the complete HTTP payload would looks like      json      updates          auth saml            enabled    true          single logout    false                removals          auth saml     allow idp initiated              In case any of these settings cannot be overridden nor valid  it would return an error and these settings won t be persisted into the database      Background job  high availability set ups   Grafana Enterprise has a built in scheduled background job that looks into the database every minute for settings updates  If there are updates  it reloads the Grafana services affected by the detected changes   The background job synchronizes settings between instances in a highly available set up  So  after you perform some changes through the HTTP API  then the other instances are synchronized through the database and the background job      Control access with role based access control  If you have  role based access control    enabled  you can control who can read or update settings  Refer to the  Admin API    for more information


grafana setup weight 100 Learn about Grafana Enterprise configuration options that you can specify labels aliases products title Configure Grafana Enterprise enterprise enterprise configuration oss enterprise

Answer:
---
aliases:
  - ../../enterprise/enterprise-configuration/
description: Learn about Grafana Enterprise configuration options that you can specify.
labels:
  products:
    - enterprise
    - oss
title: Configure Grafana Enterprise
weight: 100
---

# Configure Grafana Enterprise

This page describes Grafana Enterprise-specific configuration options that you can specify in a `.ini` configuration file or using environment variables. Refer to [Configuration]() for more information about available configuration options.

## [enterprise]

### license_path

Local filesystem path to Grafana Enterprise's license file.
Defaults to `<paths.data>/license.jwt`.

### license_text

When set to the text representation (i.e. content of the license file)
of the license, Grafana will evaluate and apply the given license to
the instance.

### auto_refresh_license

When enabled, Grafana will send the license and usage statistics to
the license issuer. If the license has been updated on the issuer's
side to be valid for a different number of users or a new duration,
your Grafana instance will be updated with the new terms
automatically. Defaults to `true`.

The license only automatically updates once per day. To immediately update the terms for a license, use the Grafana UI to renew your license token.

### license_validation_type

When set to `aws`, Grafana will validate its license status with Amazon Web Services (AWS) instead of with Grafana Labs. Only use this setting if you purchased an Enterprise license from AWS Marketplace. Defaults to empty, which means that by default Grafana Enterprise will validate using a license issued by Grafana Labs. For details about licenses issued by AWS, refer to [Activate a Grafana Enterprise license purchased through AWS Marketplace]().

## [white_labeling]

### app_title

Set to your company name to override application title.

### login_logo

Set to complete URL to override login logo.

### login_background

Set to complete CSS background expression to override login background. Example:

```bash
[white_labeling]
login_background = url(http://www.bhmpics.com/wallpapers/starfield-1920x1080.jpg)
```

### menu_logo

Set to complete URL to override menu logo.

### fav_icon

Set to complete URL to override fav icon (icon shown in browser tab).

### apple_touch_icon

Set to complete URL to override Apple/iOS icon.

### hide_edition

Set to `true` to remove the Grafana edition from appearing in the footer.

### footer_links

List the link IDs to use here. Grafana will look for matching link configurations, the link IDs should be space-separated and contain no whitespace.

## [usage_insights.export]

By [exporting usage logs](), you can directly query them and create dashboards of the information that matters to you most, such as dashboard errors, most active organizations, or your top-10 most-used queries.

### enabled

Enable the usage insights export feature.

### storage

Specify a storage type. Defaults to `loki`.

## [usage_insights.export.storage.loki]

### type

Set the communication protocol to use with Loki, which is either `grpc` or `http`. Defaults to `grpc`.

### url

Set the address for writing logs to Loki (format must be host:port).

### tls

Decide whether or not to enable the TLS (Transport Layer Security) protocol when establishing the connection to Loki. Defaults to true.

### tenant_id

Set the tenant ID for Loki communication, which is disabled by default. The tenant ID is required to interact with Loki running in [multi-tenant mode](/docs/loki/latest/operations/multi-tenancy/).

## [analytics.summaries]

### buffer_write_interval

Interval for writing dashboard usage stats buffer to database.

### buffer_write_timeout

Timeout for writing dashboard usage stats buffer to database.

### rollup_interval

Interval for trying to roll up per dashboard usage summary. Only rolled up at most once per day.

### rollup_timeout

Timeout for trying to rollup per dashboard usage summary.

## [analytics.views]

### recent_users_age

Age for recent active users.

## [reporting]

### rendering_timeout

Timeout for each panel rendering request.

### concurrent_render_limit

Maximum number of concurrent calls to the rendering service.

### image_scale_factor

Scale factor for rendering images. Value `2` is enough for monitor resolutions, `4` would be better for printed material. Setting a higher value affects performance and memory.

### max_attachment_size_mb

Set the maximum file size in megabytes for the CSV attachments.

### fonts_path

Path to the directory containing font files.

### font_regular

Name of the TrueType font file with regular style.

### font_bold

Name of the TrueType font file with bold style.

### font_italic

Name of the TrueType font file with italic style.

### max_retries_per_panel

Maximum number of panel rendering request retries before returning an error. To disable the retry feature, enter `0`. This is available in public preview and requires the `reportingRetries` feature toggle.

### allowed_domains

Allowed domains to receive reports. Use an asterisk (`*`) to allow all domains. Use a comma-separated list to allow multiple domains. Example: allowed_domains = grafana.com, example.org

## [auditing]

[Auditing]() allows you to track important changes to your Grafana instance. By default, audit logs are logged to file but the auditing feature also supports sending logs directly to Loki.

### enabled

Enable the auditing feature. Defaults to false.

### loggers

List of enabled loggers.

### log_dashboard_content

Keep dashboard content in the logs (request or response fields). This can significantly increase the size of your logs.

### verbose

Log all requests and keep requests and responses body. This can significantly increase the size of your logs.

### log_all_status_codes

Set to false to only log requests with 2xx, 3xx, 401, 403, 500 responses.

### max_response_size_bytes

Maximum response body (in bytes) to be recorded. May help reducing the memory footprint caused by auditing.

## [auditing.logs.file]

### path

Path to logs folder.

### max_files

Maximum log files to keep.

### max_file_size_mb

Max size in megabytes per log file.

## [auditing.logs.loki]

### url

Set the URL for writing logs to Loki.

### tls

If true, it establishes a secure connection to Loki. Defaults to true.

### tenant_id

Set the tenant ID for Loki communication, which is disabled by default. The tenant ID is required to interact with Loki running in [multi-tenant mode](/docs/loki/latest/operations/multi-tenancy/).

## [auth.saml]

### enabled

If true, the feature is enabled. Defaults to false.

### allow_sign_up

If true, allow new Grafana users to be created through SAML logins. Defaults to true.

### certificate

Base64-encoded public X.509 certificate. Used to sign requests to the IdP.

### certificate_path

Path to the public X.509 certificate. Used to sign requests to the IdP.

### private_key

Base64-encoded private key. Used to decrypt assertions from the IdP.

### private_key_path

Path to the private key. Used to decrypt assertions from the IdP.

### idp_metadata

Base64-encoded IdP SAML metadata XML. Used to verify and obtain binding locations from the IdP.

### idp_metadata_path

Path to the SAML metadata XML. Used to verify and obtain binding locations from the IdP.

### idp_metadata_url

URL to fetch SAML IdP metadata. Used to verify and obtain binding locations from the IdP.

### max_issue_delay

Time since the IdP issued a response and the SP is allowed to process it. Defaults to 90 seconds.

### metadata_valid_duration

How long the SPs metadata is valid. Defaults to 48 hours.

### assertion_attribute_name

Friendly name or name of the attribute within the SAML assertion to use as the user name. Alternatively, this can be a template with variables that match the names of attributes within the SAML assertion.

### assertion_attribute_login

Friendly name or name of the attribute within the SAML assertion to use as the user login handle.

### assertion_attribute_email

Friendly name or name of the attribute within the SAML assertion to use as the user email.

### assertion_attribute_groups

Friendly name or name of the attribute within the SAML assertion to use as the user groups.

### assertion_attribute_role

Friendly name or name of the attribute within the SAML assertion to use as the user roles.

### assertion_attribute_org

Friendly name or name of the attribute within the SAML assertion to use as the user organization.

### allowed_organizations

List of comma- or space-separated organizations. Each user must be a member of at least one organization to log in.

### org_mapping

List of comma- or space-separated Organization:OrgId:Role mappings. Organization can be `*` meaning "All users". Role is optional and can have the following values: `Admin`, `Editor` ,`Viewer` or `None`.

### role_values_none

List of comma- or space-separated roles that will be mapped to the None role.

### role_values_viewer

List of comma- or space-separated roles that will be mapped to the Viewer role.

### role_values_editor

List of comma- or space-separated roles that will be mapped to the Editor role.

### role_values_admin

List of comma- or space-separated roles that will be mapped to the Admin role.

### role_values_grafana_admin

List of comma- or space-separated roles that will be mapped to the Grafana Admin (Super Admin) role.

## [keystore.vault]

### url

Location of the Vault server.

### namespace

Vault namespace if using Vault with multi-tenancy.

### auth_method

Method for authenticating towards Vault. Vault is inactive if this option is not set. Current possible values: `token`.

### token

Secret token to connect to Vault when auth_method is `token`.

### lease_renewal_interval

Time between checking if there are any secrets which needs to be renewed.

### lease_renewal_expires_within

Time until expiration for tokens which are renewed. Should have a value higher than lease_renewal_interval.

### lease_renewal_increment

New duration for renewed tokens. Vault may be configured to ignore this value and impose a stricter limit.

## [security.egress]

Security egress makes it possible to control outgoing traffic from the Grafana server.

### host_deny_list

A list of hostnames or IP addresses separated by spaces for which requests are blocked.

### host_allow_list

A list of hostnames or IP addresses separated by spaces for which requests are allowed. All other requests are blocked.

### header_drop_list

A list of headers that are stripped from the outgoing data source and alerting requests.

### cookie_drop_list

A list of cookies that are stripped from the outgoing data source and alerting requests.

## [security.encryption]

### algorithm

Encryption algorithm used to encrypt secrets stored in the database and cookies. Possible values are `aes-cfb` (default) and `aes-gcm`. AES-CFB stands for _Advanced Encryption Standard_ in _cipher feedback_ mode, and AES-GCM stands for _Advanced Encryption Standard_ in _Galois/Counter Mode_.

## [caching]

When query caching is enabled, Grafana can temporarily store the results of data source queries and serve cached responses to similar requests.

### backend

The caching backend to use when storing cached queries. Options: `memory`, `redis`, and `memcached`.

The default is `memory`.

### enabled

Setting 'enabled' to `true` allows users to configure query caching for data sources.

This value is `true` by default.

This setting enables the caching feature, but it does not turn on query caching for any data source. To turn on query caching for a data source, update the setting on the data source configuration page. For more information, refer to the [query caching docs]().

### ttl

_Time to live_ (TTL) is the time that a query result is stored in the caching system before it is deleted or refreshed. This setting defines the time to live for query caching, when TTL is not configured in data source settings. The default value is `1m` (1 minute).

### max_ttl

The max duration that a query result is stored in the caching system before it is deleted or refreshed. This value will override `ttl` config option or data source setting if the `ttl` value is greater than `max_ttl`. To disable this constraint, set this value to `0s`.

The default is `0s` (disabled).

Disabling this constraint is not recommended in production environments.

### max_value_mb

This value limits the size of a single cache value. If a cache value (or query result) exceeds this size, then it is not cached. To disable this limit, set this value to `0`.

The default is `1`.

### connection_timeout

This setting defines the duration to wait for a connection to the caching backend.

The default is `5s`.

### read_timeout

This setting defines the duration to wait for the caching backend to return a cached result. To disable this timeout, set this value to `0s`.

The default is `0s` (disabled).

Disabling this timeout is not recommended in production environments.

### write_timeout

This setting defines the number of seconds to wait for the caching backend to store a result. To disable this timeout, set this value to `0s`.

The default is `0s` (disabled).

Disabling this timeout is not recommended in production environments.

## [caching.encryption]

### enabled

When 'enabled' is `true`, query values in the cache are encrypted.

The default is `false`.

### encryption_key

A string used to generate a key for encrypting the cache. For the encrypted cache data to persist between Grafana restarts, you must specify this key. If it is empty when encryption is enabled, then the key is automatically generated on startup, and the cache clears upon restarts.

The default is `""`.

## [caching.memory]

### gc_interval

When storing cache data in-memory, this setting defines how often a background process cleans up stale data from the in-memory cache. More frequent "garbage collection" can keep memory usage from climbing but will increase CPU usage.

The default is `1m`.

### max_size_mb

The maximum size of the in-memory cache in megabytes. Once this size is reached, new cache items are rejected. For more flexible control over cache eviction policies and size, use the Redis or Memcached backend.

To disable the maximum, set this value to `0`.

The default is `25`.

Disabling the maximum is not recommended in production environments.

## [caching.redis]

### url

The full Redis URL of your Redis server. For example: `redis://username:password@localhost:6379`. To enable TLS, use the `rediss` scheme.

The default is `"redis://localhost:6379"`.

### cluster

A comma-separated list of Redis cluster members, either in `host:port` format or using the full Redis URLs (`redis://username:password@localhost:6379`). For example, `localhost:7000, localhost: 7001, localhost:7002`.
If you use the full Redis URLs, then you can specify the scheme, username, and password only once. For example, `redis://username:password@localhost:0000,localhost:1111,localhost:2222`. You cannot specify a different username and password for each URL.

If you have specify `cluster`, the value for `url` is ignored.

You can enable TLS for cluster mode using the `rediss` scheme in Grafana Enterprise v8.5 and later versions.

### prefix

A string that prefixes all Redis keys. This value must be set if using a shared database in Redis. If `prefix` is empty, then one will not be used.

The default is `"grafana"`.

## [caching.memcached]

### servers

A space-separated list of memcached servers. Example: `memcached-server-1:11211 memcached-server-2:11212 memcached-server-3:11211`. Or if there's only one server: `memcached-server:11211`.

The default is `"localhost:11211"`.

The following memcached configuration requires the `tlsMemcached` feature toggle.

### tls_enabled

Enables TLS authentication for memcached. Defaults to `false`.

### tls_cert_path

Path to the client certificate, which will be used for authenticating with the server. Also requires the key path to be configured.

### tls_key_path

Path to the key for the client certificate. Also requires the client certificate to be configured.

### tls_ca_path

Path to the CA certificates to validate the server certificate against. If not set, the host's root CA certificates are used.

### tls_server_name

Override the expected name on the server certificate.

### connection_timeout

Timeout for the memcached client to connect to memcached. Defaults to `0`, which uses the memcached client default timeout per connection scheme.

## [recorded_queries]

### enabled

Whether the recorded queries feature is enabled

### min_interval

Sets the minimum interval to enforce between query evaluations. The default value is `10s`. Query evaluation will be
adjusted if they are less than this value. Higher values can help with resource management.

The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g.
30s or 1m.

### max_queries

The maximum number of recorded queries that can exist.

### default_remote_write_datasource_uid

The UID of the datasource where the query data will be written.

If all `default_remote_write_*` properties are set, this information will be populated at startup. If a remote write target has
already been configured, nothing will happen.

### default_remote_write_path

The api path where metrics will be written

If all `default_remote_write_*` properties are set, this information will be populated at startup. If a remote write target has
already been configured, nothing will happen.

### default_remote_write_datasource_org_id

The org id of the datasource where the query data will be written.

If all `default_remote_write_*` properties are set, this information will be populated at startup. If a remote write target has
already been configured, nothing will happen.

aliases            enterprise enterprise configuration  description  Learn about Grafana Enterprise configuration options that you can specify  labels    products        enterprise       oss title  Configure Grafana Enterprise weight  100        Configure Grafana Enterprise  This page describes Grafana Enterprise specific configuration options that you can specify in a   ini  configuration file or using environment variables  Refer to  Configuration    for more information about available configuration options       enterprise       license path  Local filesystem path to Grafana Enterprise s license file  Defaults to   paths data  license jwt        license text  When set to the text representation  i e  content of the license file  of the license  Grafana will evaluate and apply the given license to the instance       auto refresh license  When enabled  Grafana will send the license and usage statistics to the license issuer  If the license has been updated on the issuer s side to be valid for a different number of users or a new duration  your Grafana instance will be updated with the new terms automatically  Defaults to  true     The license only automatically updates once per day  To immediately update the terms for a license  use the Grafana UI to renew your license token        license validation type  When set to  aws   Grafana will validate its license status with Amazon Web Services  AWS  instead of with Grafana Labs  Only use this setting if you purchased an Enterprise license from AWS Marketplace  Defaults to empty  which means that by default Grafana Enterprise will validate using a license issued by Grafana Labs  For details about licenses issued by AWS  refer to  Activate a Grafana Enterprise license purchased through AWS Marketplace          white labeling       app title  Set to your company name to override application title       login logo  Set to complete URL to override login logo       login background  Set to complete CSS background expression to override login background  Example      bash  white labeling  login background   url http   www bhmpics com wallpapers starfield 1920x1080 jpg           menu logo  Set to complete URL to override menu logo       fav icon  Set to complete URL to override fav icon  icon shown in browser tab        apple touch icon  Set to complete URL to override Apple iOS icon       hide edition  Set to  true  to remove the Grafana edition from appearing in the footer       footer links  List the link IDs to use here  Grafana will look for matching link configurations  the link IDs should be space separated and contain no whitespace       usage insights export   By  exporting usage logs     you can directly query them and create dashboards of the information that matters to you most  such as dashboard errors  most active organizations  or your top 10 most used queries       enabled  Enable the usage insights export feature       storage  Specify a storage type  Defaults to  loki        usage insights export storage loki       type  Set the communication protocol to use with Loki  which is either  grpc  or  http   Defaults to  grpc        url  Set the address for writing logs to Loki  format must be host port        tls  Decide whether or not to enable the TLS  Transport Layer Security  protocol when establishing the connection to Loki  Defaults to true       tenant id  Set the tenant ID for Loki communication  which is disabled by default  The tenant ID is required to interact with Loki running in  multi tenant mode   docs loki latest operations multi tenancy         analytics summaries       buffer write interval  Interval for writing dashboard usage stats buffer to database       buffer write timeout  Timeout for writing dashboard usage stats buffer to database       rollup interval  Interval for trying to roll up per dashboard usage summary  Only rolled up at most once per day       rollup timeout  Timeout for trying to rollup per dashboard usage summary       analytics views       recent users age  Age for recent active users       reporting       rendering timeout  Timeout for each panel rendering request       concurrent render limit  Maximum number of concurrent calls to the rendering service       image scale factor  Scale factor for rendering images  Value  2  is enough for monitor resolutions   4  would be better for printed material  Setting a higher value affects performance and memory       max attachment size mb  Set the maximum file size in megabytes for the CSV attachments       fonts path  Path to the directory containing font files       font regular  Name of the TrueType font file with regular style       font bold  Name of the TrueType font file with bold style       font italic  Name of the TrueType font file with italic style       max retries per panel  Maximum number of panel rendering request retries before returning an error  To disable the retry feature  enter  0   This is available in public preview and requires the  reportingRetries  feature toggle       allowed domains  Allowed domains to receive reports  Use an asterisk       to allow all domains  Use a comma separated list to allow multiple domains  Example  allowed domains   grafana com  example org      auditing    Auditing    allows you to track important changes to your Grafana instance  By default  audit logs are logged to file but the auditing feature also supports sending logs directly to Loki       enabled  Enable the auditing feature  Defaults to false       loggers  List of enabled loggers       log dashboard content  Keep dashboard content in the logs  request or response fields   This can significantly increase the size of your logs       verbose  Log all requests and keep requests and responses body  This can significantly increase the size of your logs       log all status codes  Set to false to only log requests with 2xx  3xx  401  403  500 responses       max response size bytes  Maximum response body  in bytes  to be recorded  May help reducing the memory footprint caused by auditing       auditing logs file       path  Path to logs folder       max files  Maximum log files to keep       max file size mb  Max size in megabytes per log file       auditing logs loki       url  Set the URL for writing logs to Loki       tls  If true  it establishes a secure connection to Loki  Defaults to true       tenant id  Set the tenant ID for Loki communication  which is disabled by default  The tenant ID is required to interact with Loki running in  multi tenant mode   docs loki latest operations multi tenancy         auth saml       enabled  If true  the feature is enabled  Defaults to false       allow sign up  If true  allow new Grafana users to be created through SAML logins  Defaults to true       certificate  Base64 encoded public X 509 certificate  Used to sign requests to the IdP       certificate path  Path to the public X 509 certificate  Used to sign requests to the IdP       private key  Base64 encoded private key  Used to decrypt assertions from the IdP       private key path  Path to the private key  Used to decrypt assertions from the IdP       idp metadata  Base64 encoded IdP SAML metadata XML  Used to verify and obtain binding locations from the IdP       idp metadata path  Path to the SAML metadata XML  Used to verify and obtain binding locations from the IdP       idp metadata url  URL to fetch SAML IdP metadata  Used to verify and obtain binding locations from the IdP       max issue delay  Time since the IdP issued a response and the SP is allowed to process it  Defaults to 90 seconds       metadata valid duration  How long the SPs metadata is valid  Defaults to 48 hours       assertion attribute name  Friendly name or name of the attribute within the SAML assertion to use as the user name  Alternatively  this can be a template with variables that match the names of attributes within the SAML assertion       assertion attribute login  Friendly name or name of the attribute within the SAML assertion to use as the user login handle       assertion attribute email  Friendly name or name of the attribute within the SAML assertion to use as the user email       assertion attribute groups  Friendly name or name of the attribute within the SAML assertion to use as the user groups       assertion attribute role  Friendly name or name of the attribute within the SAML assertion to use as the user roles       assertion attribute org  Friendly name or name of the attribute within the SAML assertion to use as the user organization       allowed organizations  List of comma  or space separated organizations  Each user must be a member of at least one organization to log in       org mapping  List of comma  or space separated Organization OrgId Role mappings  Organization can be     meaning  All users   Role is optional and can have the following values   Admin    Editor    Viewer  or  None        role values none  List of comma  or space separated roles that will be mapped to the None role       role values viewer  List of comma  or space separated roles that will be mapped to the Viewer role       role values editor  List of comma  or space separated roles that will be mapped to the Editor role       role values admin  List of comma  or space separated roles that will be mapped to the Admin role       role values grafana admin  List of comma  or space separated roles that will be mapped to the Grafana Admin  Super Admin  role       keystore vault       url  Location of the Vault server       namespace  Vault namespace if using Vault with multi tenancy       auth method  Method for authenticating towards Vault  Vault is inactive if this option is not set  Current possible values   token        token  Secret token to connect to Vault when auth method is  token        lease renewal interval  Time between checking if there are any secrets which needs to be renewed       lease renewal expires within  Time until expiration for tokens which are renewed  Should have a value higher than lease renewal interval       lease renewal increment  New duration for renewed tokens  Vault may be configured to ignore this value and impose a stricter limit       security egress   Security egress makes it possible to control outgoing traffic from the Grafana server       host deny list  A list of hostnames or IP addresses separated by spaces for which requests are blocked       host allow list  A list of hostnames or IP addresses separated by spaces for which requests are allowed  All other requests are blocked       header drop list  A list of headers that are stripped from the outgoing data source and alerting requests       cookie drop list  A list of cookies that are stripped from the outgoing data source and alerting requests       security encryption       algorithm  Encryption algorithm used to encrypt secrets stored in the database and cookies  Possible values are  aes cfb   default  and  aes gcm   AES CFB stands for  Advanced Encryption Standard  in  cipher feedback  mode  and AES GCM stands for  Advanced Encryption Standard  in  Galois Counter Mode        caching   When query caching is enabled  Grafana can temporarily store the results of data source queries and serve cached responses to similar requests       backend  The caching backend to use when storing cached queries  Options   memory    redis   and  memcached    The default is  memory        enabled  Setting  enabled  to  true  allows users to configure query caching for data sources   This value is  true  by default    This setting enables the caching feature  but it does not turn on query caching for any data source  To turn on query caching for a data source  update the setting on the data source configuration page  For more information  refer to the  query caching docs           ttl   Time to live   TTL  is the time that a query result is stored in the caching system before it is deleted or refreshed  This setting defines the time to live for query caching  when TTL is not configured in data source settings  The default value is  1m   1 minute        max ttl  The max duration that a query result is stored in the caching system before it is deleted or refreshed  This value will override  ttl  config option or data source setting if the  ttl  value is greater than  max ttl   To disable this constraint  set this value to  0s    The default is  0s   disabled     Disabling this constraint is not recommended in production environments        max value mb  This value limits the size of a single cache value  If a cache value  or query result  exceeds this size  then it is not cached  To disable this limit  set this value to  0    The default is  1        connection timeout  This setting defines the duration to wait for a connection to the caching backend   The default is  5s        read timeout  This setting defines the duration to wait for the caching backend to return a cached result  To disable this timeout  set this value to  0s    The default is  0s   disabled     Disabling this timeout is not recommended in production environments        write timeout  This setting defines the number of seconds to wait for the caching backend to store a result  To disable this timeout  set this value to  0s    The default is  0s   disabled     Disabling this timeout is not recommended in production environments        caching encryption       enabled  When  enabled  is  true   query values in the cache are encrypted   The default is  false        encryption key  A string used to generate a key for encrypting the cache  For the encrypted cache data to persist between Grafana restarts  you must specify this key  If it is empty when encryption is enabled  then the key is automatically generated on startup  and the cache clears upon restarts   The default is            caching memory       gc interval  When storing cache data in memory  this setting defines how often a background process cleans up stale data from the in memory cache  More frequent  garbage collection  can keep memory usage from climbing but will increase CPU usage   The default is  1m        max size mb  The maximum size of the in memory cache in megabytes  Once this size is reached  new cache items are rejected  For more flexible control over cache eviction policies and size  use the Redis or Memcached backend   To disable the maximum  set this value to  0    The default is  25     Disabling the maximum is not recommended in production environments        caching redis       url  The full Redis URL of your Redis server  For example   redis   username password localhost 6379   To enable TLS  use the  rediss  scheme   The default is   redis   localhost 6379         cluster  A comma separated list of Redis cluster members  either in  host port  format or using the full Redis URLs   redis   username password localhost 6379    For example   localhost 7000  localhost  7001  localhost 7002   If you use the full Redis URLs  then you can specify the scheme  username  and password only once  For example   redis   username password localhost 0000 localhost 1111 localhost 2222   You cannot specify a different username and password for each URL    If you have specify  cluster   the value for  url  is ignored     You can enable TLS for cluster mode using the  rediss  scheme in Grafana Enterprise v8 5 and later versions        prefix  A string that prefixes all Redis keys  This value must be set if using a shared database in Redis  If  prefix  is empty  then one will not be used   The default is   grafana         caching memcached       servers  A space separated list of memcached servers  Example   memcached server 1 11211 memcached server 2 11212 memcached server 3 11211   Or if there s only one server   memcached server 11211    The default is   localhost 11211      The following memcached configuration requires the  tlsMemcached  feature toggle        tls enabled  Enables TLS authentication for memcached  Defaults to  false        tls cert path  Path to the client certificate  which will be used for authenticating with the server  Also requires the key path to be configured       tls key path  Path to the key for the client certificate  Also requires the client certificate to be configured       tls ca path  Path to the CA certificates to validate the server certificate against  If not set  the host s root CA certificates are used       tls server name  Override the expected name on the server certificate       connection timeout  Timeout for the memcached client to connect to memcached  Defaults to  0   which uses the memcached client default timeout per connection scheme       recorded queries       enabled  Whether the recorded queries feature is enabled      min interval  Sets the minimum interval to enforce between query evaluations  The default value is  10s   Query evaluation will be adjusted if they are less than this value  Higher values can help with resource management   The interval string is a possibly signed sequence of decimal numbers  followed by a unit suffix  ms  s  m  h  d   e g  30s or 1m       max queries  The maximum number of recorded queries that can exist       default remote write datasource uid  The UID of the datasource where the query data will be written   If all  default remote write    properties are set  this information will be populated at startup  If a remote write target has already been configured  nothing will happen       default remote write path  The api path where metrics will be written  If all  default remote write    properties are set  this information will be populated at startup  If a remote write target has already been configured  nothing will happen       default remote write datasource org id  The org id of the datasource where the query data will be written   If all  default remote write    properties are set  this information will be populated at startup  If a remote write target has already been configured  nothing will happen


grafana setup weight 300 aliases products enterprise white labeling enable custom branding title Configure custom branding Change the look of Grafana to match your corporate brand labels enterprise

Answer:
---
aliases:
  - ../../enterprise/white-labeling/
  - ../enable-custom-branding/
description: Change the look of Grafana to match your corporate brand.
labels:
  products:
    - enterprise
title: Configure custom branding
weight: 300
---

# Configure custom branding

Custom branding enables you to replace the Grafana Labs brand and logo with your corporate brand and logo.

Available in [Grafana Enterprise]() and [Grafana Cloud](/docs/grafana-cloud). For Cloud Advanced and Enterprise customers, please provide custom elements and logos to our Support team. We will help you host your images and update your custom branding.

This feature is not available for Grafana Free and Pro tiers.
For more information on feature availability across plans, refer to our [feature comparison page](/docs/grafana-cloud/cost-management-and-billing/understand-grafana-cloud-features/)

The `grafana.ini` file includes Grafana Enterprise custom branding. As with all configuration options, you can use environment variables to set custom branding.

With custom branding, you have the ability to modify the following elements:

- Application title
- Login background
- Login logo
- Side menu top logo
- Footer and help menu links
- Fav icon (shown in browser tab)
- Login title (will not appear if a login logo is set)
- Login subtitle (will not appear if a login logo is set)
- Login box background
- Loading logo

> You will have to host your logo and other images used by the custom branding feature separately. Make sure Grafana can access the URL where the assets are stored.

The configuration file in Grafana Enterprise contains the following options. For more information about configuring Grafana, refer to [Configure Grafana]().

```ini
# Enterprise only
[white_labeling]
# Set to your company name to override application title
;app_title =

# Set to main title on the login page (Will not appear if a login logo is set)
;login_title =

# Set to login subtitle (Will not appear if a login logo is set)
;login_subtitle =

# Set to complete URL to override login logo
;login_logo =

# Set to complete CSS background expression to override login background
# example: login_background = url(http://www.bhmpics.com/wallpapers/starfield-1920x1080.jpg)
;login_background =

# Set to complete CSS background expression to override login box background
;login_box_background =

# Set to complete URL to override menu logo
;menu_logo =

# Set to complete URL to override fav icon (icon shown in browser tab)
;fav_icon =

# Set to complete URL to override apple/ios icon
;apple_touch_icon =

# Set to complete URL to override loading logo
;loading_logo =

# Set to `true` to remove the Grafana edition from appearing in the footer
;hide_edition =
```

You have the option of adding custom links in place of the default footer links (Documentation, Support, Community). Below is an example of how to replace the default footer and help links with custom links.

```ini
footer_links = support guides extracustom
footer_links_support_text = Support
footer_links_support_url = http://your.support.site
footer_links_guides_text = Guides
footer_links_guides_url = http://your.guides.site
footer_links_extracustom_text = Custom text
footer_links_extracustom_url = http://your.custom.site
```

The following example shows configuring custom branding using environment variables instead of the `custom.ini` or `grafana.ini` files.

```
GF_WHITE_LABELING_FOOTER_LINKS=support guides extracustom
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_TEXT=Support
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_URL=http://your.support.site
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_TEXT=Guides
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_URL=http://your.guides.site
GF_WHITE_LABELING_FOOTER_LINKS_EXTRACUSTOM_TEXT=Custom Text
GF_WHITE_LABELING_FOOTER_LINKS_EXTRACUSTOM_URL=http://your.custom.site
```

The following two links are always present in the footer:

- Grafana edition
- Grafana version with build number

If you specify `footer_links` or `GF_WHITE_LABELING_FOOTER_LINKS`, then all other default links are removed from the footer, and only what is specified is included.

## Custom branding for shared dashboards

In addition to the customizations described below, you can customize the footer of your shared dashboards.
To customize the footer of a shared dashboard, add the following section to the `grafana.ini` file.

```ini
[white_labeling.public_dashboards]

# Hides the footer for the shared dashboards if set to `true`.
# example: footer_hide = "true"
;footer_hide =

# Set to text shown in the footer
;footer_text =

# Set to complete url to override shared dashboard footer logo. Default is `grafana-logo` and will display the Grafana logo.
# An empty value will hide the footer logo.
;footer_logo =

# Set to link for the footer
;footer_link =

# Set to `true` to hide the Grafana logo next to the title
;header_logo_hide =
```

If you specify `footer_hide` to `true`, all the other values are ignored because the footer will not be shown.

aliases            enterprise white labeling         enable custom branding  description  Change the look of Grafana to match your corporate brand  labels    products        enterprise title  Configure custom branding weight  300        Configure custom branding  Custom branding enables you to replace the Grafana Labs brand and logo with your corporate brand and logo    Available in  Grafana Enterprise    and  Grafana Cloud   docs grafana cloud   For Cloud Advanced and Enterprise customers  please provide custom elements and logos to our Support team  We will help you host your images and update your custom branding   This feature is not available for Grafana Free and Pro tiers  For more information on feature availability across plans  refer to our  feature comparison page   docs grafana cloud cost management and billing understand grafana cloud features      The  grafana ini  file includes Grafana Enterprise custom branding  As with all configuration options  you can use environment variables to set custom branding   With custom branding  you have the ability to modify the following elements     Application title   Login background   Login logo   Side menu top logo   Footer and help menu links   Fav icon  shown in browser tab    Login title  will not appear if a login logo is set    Login subtitle  will not appear if a login logo is set    Login box background   Loading logo    You will have to host your logo and other images used by the custom branding feature separately  Make sure Grafana can access the URL where the assets are stored   The configuration file in Grafana Enterprise contains the following options  For more information about configuring Grafana  refer to  Configure Grafana         ini   Enterprise only  white labeling    Set to your company name to override application title  app title      Set to main title on the login page  Will not appear if a login logo is set   login title      Set to login subtitle  Will not appear if a login logo is set   login subtitle      Set to complete URL to override login logo  login logo      Set to complete CSS background expression to override login background   example  login background   url http   www bhmpics com wallpapers starfield 1920x1080 jpg   login background      Set to complete CSS background expression to override login box background  login box background      Set to complete URL to override menu logo  menu logo      Set to complete URL to override fav icon  icon shown in browser tab   fav icon      Set to complete URL to override apple ios icon  apple touch icon      Set to complete URL to override loading logo  loading logo      Set to  true  to remove the Grafana edition from appearing in the footer  hide edition        You have the option of adding custom links in place of the default footer links  Documentation  Support  Community   Below is an example of how to replace the default footer and help links with custom links      ini footer links   support guides extracustom footer links support text   Support footer links support url   http   your support site footer links guides text   Guides footer links guides url   http   your guides site footer links extracustom text   Custom text footer links extracustom url   http   your custom site      The following example shows configuring custom branding using environment variables instead of the  custom ini  or  grafana ini  files       GF WHITE LABELING FOOTER LINKS support guides extracustom GF WHITE LABELING FOOTER LINKS SUPPORT TEXT Support GF WHITE LABELING FOOTER LINKS SUPPORT URL http   your support site GF WHITE LABELING FOOTER LINKS GUIDES TEXT Guides GF WHITE LABELING FOOTER LINKS GUIDES URL http   your guides site GF WHITE LABELING FOOTER LINKS EXTRACUSTOM TEXT Custom Text GF WHITE LABELING FOOTER LINKS EXTRACUSTOM URL http   your custom site       The following two links are always present in the footer      Grafana edition   Grafana version with build number  If you specify  footer links  or  GF WHITE LABELING FOOTER LINKS   then all other default links are removed from the footer  and only what is specified is included      Custom branding for shared dashboards  In addition to the customizations described below  you can customize the footer of your shared dashboards  To customize the footer of a shared dashboard  add the following section to the  grafana ini  file      ini  white labeling public dashboards     Hides the footer for the shared dashboards if set to  true     example  footer hide    true   footer hide      Set to text shown in the footer  footer text      Set to complete url to override shared dashboard footer logo  Default is  grafana logo  and will display the Grafana logo    An empty value will hide the footer logo   footer logo      Set to link for the footer  footer link      Set to  true  to hide the Grafana logo next to the title  header logo hide        If you specify  footer hide  to  true   all the other values are ignored because the footer will not be shown