Docs: updates for file-based menu (#28500)

* initial

* cleanup

* remove bad aliases

* cleanup, fix links

* add docs-file-based-command

* update docs

* update readme

* fix broken links

* fix spelling

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
This commit is contained in:
Robby Milo 2020-11-09 21:26:49 +01:00 committed by GitHub
parent a7e092f243
commit abee02dbcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
271 changed files with 260 additions and 1266 deletions

View File

@ -5,10 +5,10 @@ IMAGE = grafana/grafana-docs-dev:latest
docs: docs:
docker pull $(IMAGE) docker pull $(IMAGE)
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE)
docs-no-pull: docs-no-pull:
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE)
docs-test: docs-test:
docker pull $(IMAGE) docker pull $(IMAGE)
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest --rm -it $(IMAGE) /bin/bash -c 'make prod' docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest --rm -it $(IMAGE) /bin/bash -c 'make prod'

View File

@ -24,7 +24,7 @@ Use the Hugo shortcode [relref](https://gohugo.io/content-management/cross-refer
### Edit the side menu ### Edit the side menu
Edit [sources/menu.yaml](sources/menu.yaml) to make changes to the sidebar. Stop and rerun the `make docs` command for changes to take effect. The side menu is automatically build from the file structure. Use the [weight](https://gohugo.io/templates/lists/#by-weight) front matter parameter to order pages.
### Add images ### Add images

View File

@ -2,7 +2,6 @@
title = "Grafana documentation" title = "Grafana documentation"
description = "Guides, Installation and Feature Documentation" description = "Guides, Installation and Feature Documentation"
keywords = ["grafana", "installation", "documentation"] keywords = ["grafana", "installation", "documentation"]
type = "docs"
aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin", "/docs/grafana/v3.1"] aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin", "/docs/grafana/v3.1"]
+++ +++

View File

@ -1,11 +1,7 @@
+++ +++
title = "Administration" title = "Administration"
description = "Administration" description = "Administration"
type = "docs" weight = 40
[menu.docs]
name = "Administration"
identifier = "admin"
weight = 20
+++ +++
# Administration # Administration

View File

@ -2,17 +2,12 @@
title = "Change the default home dashboard" title = "Change the default home dashboard"
description = "How to replace the default home dashboard" description = "How to replace the default home dashboard"
keywords = ["grafana", "configuration", "documentation", "home"] keywords = ["grafana", "configuration", "documentation", "home"]
type = "docs"
[menu.docs]
name = "Home Dashboard"
identifier = "change-home-dashboard"
parent = "admin"
weight = 100 weight = 100
+++ +++
# Change the default home dashboard # Change the default home dashboard
You can change the default dashboard on the organization, team and user level. The home dashboard you set for the whole organization is the one all users will see by default. The team dashboard applies to all users assigned to the team in Grafana. The team dashboard overrides the organization dashboard settings. Personal dashboard settings override team dashboard settings. You can change the default dashboard on the organization, team and user level. The home dashboard you set for the whole organization is the one all users will see by default. The team dashboard applies to all users assigned to the team in Grafana. The team dashboard overrides the organization dashboard settings. Personal dashboard settings override team dashboard settings.
## Set the home dashboard for your organization ## Set the home dashboard for your organization
@ -34,7 +29,7 @@ You can provide your own JSON file to change the home dashboard. No user will be
1. In the **Export** tab, click on **Save to file**. 1. In the **Export** tab, click on **Save to file**.
#### Use a JSON file as the home dashboard #### Use a JSON file as the home dashboard
1. Save your JSON file somewhere that Grafana can access it, for example, in the Grafana `data` folder of Grafana. 1. Save your JSON file somewhere that Grafana can access it, for example, in the Grafana `data` folder of Grafana.
1. Update your configuration file to set the path to the JSON file. Read how to update this file in the [configuration]({{< relref "./configuration.md">}}) documentation. 1. Update your configuration file to set the path to the JSON file. Read how to update this file in the [configuration]({{< relref "./configuration.md">}}) documentation.
```ini ```ini
[dashboards] [dashboards]
@ -45,14 +40,14 @@ default_home_dashboard_path = data/main-dashboard.json
## Set home dashboard for your team ## Set home dashboard for your team
1. Navigate to the dashboard you want to set as the home dashboard. 1. Navigate to the dashboard you want to set as the home dashboard.
1. Star this dashboard by clicking on the star next to the dashboard title. 1. Star this dashboard by clicking on the star next to the dashboard title.
1. On the left menu, hover your cursor over the **Configuration** (gear) icon and then click **Teams**. 1. On the left menu, hover your cursor over the **Configuration** (gear) icon and then click **Teams**.
1. Click on the team you want to change the home dashboard for and then navigate to the **Settings** tab. 1. Click on the team you want to change the home dashboard for and then navigate to the **Settings** tab.
1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards. 1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards.
## Set your personal home dashboard ## Set your personal home dashboard
1. Navigate to the dashboard you want to set as the home dashboard. 1. Navigate to the dashboard you want to set as the home dashboard.
1. Star this dashboard by clicking on the star next to the dashboard title. 1. Star this dashboard by clicking on the star next to the dashboard title.
1. On the left menu, hover your cursor over your avatar and then click **Preferences**. 1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards. 1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards.

View File

@ -2,10 +2,6 @@
title = "Change your password" title = "Change your password"
description = "How to change your Grafana password" description = "How to change your Grafana password"
keywords = ["grafana", "password", "change", "preferences"] keywords = ["grafana", "password", "change", "preferences"]
type = "docs"
[menu.docs]
identifier = "change-your-password"
parent = "administration"
weight = 100 weight = 100
+++ +++

View File

@ -2,9 +2,6 @@
title = "Grafana CLI" title = "Grafana CLI"
description = "Guide to using grafana-cli" description = "Guide to using grafana-cli"
keywords = ["grafana", "cli", "grafana-cli", "command line interface"] keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
type = "docs"
[menu.docs]
parent = "admin"
weight = 8 weight = 8
+++ +++

View File

@ -2,12 +2,7 @@
title = "Configuration" title = "Configuration"
description = "Configuration documentation" description = "Configuration documentation"
keywords = ["grafana", "configuration", "documentation"] keywords = ["grafana", "configuration", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/configuration/"] aliases = ["/docs/grafana/latest/installation/configuration/"]
[menu.docs]
name = "Configuration"
identifier = "config"
parent = "admin"
weight = 300 weight = 300
+++ +++

View File

@ -2,12 +2,7 @@
title = "Configure Grafana Docker image" title = "Configure Grafana Docker image"
description = "Guide for configuring the Grafana Docker image" description = "Guide for configuring the Grafana Docker image"
keywords = ["grafana", "configuration", "documentation", "docker"] keywords = ["grafana", "configuration", "documentation", "docker"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/configure-docker/"] aliases = ["/docs/grafana/latest/installation/configure-docker/"]
[menu.docs]
name = "Configure Grafana Docker image"
identifier = "configure-docker"
parent = "administration"
weight = 400 weight = 400
+++ +++

View File

@ -2,9 +2,6 @@
title = "Image rendering" title = "Image rendering"
description = "" description = ""
keywords = ["grafana", "image", "rendering", "plugin"] keywords = ["grafana", "image", "rendering", "plugin"]
type = "docs"
[menu.docs]
parent = "features"
weight = 8 weight = 8
+++ +++

View File

@ -2,9 +2,6 @@
title = "Jaeger instrumentation" title = "Jaeger instrumentation"
description = "Jaeger traces emitted and propagation by Grafana" description = "Jaeger traces emitted and propagation by Grafana"
keywords = ["grafana", "jaeger", "tracing"] keywords = ["grafana", "jaeger", "tracing"]
type = "docs"
[menu.docs]
parent = "admin"
weight = 9 weight = 9
+++ +++

View File

@ -2,9 +2,6 @@
title = "Internal Grafana metrics" title = "Internal Grafana metrics"
description = "Internal metrics exposed by Grafana" description = "Internal metrics exposed by Grafana"
keywords = ["grafana", "metrics", "internal metrics"] keywords = ["grafana", "metrics", "internal metrics"]
type = "docs"
[menu.docs]
parent = "admin"
weight = 8 weight = 8
+++ +++
@ -29,7 +26,7 @@ When enabled, Grafana exposes a number of metrics, including:
These instructions assume you have already added Prometheus as a data source in Grafana. These instructions assume you have already added Prometheus as a data source in Grafana.
1. Enable Prometheus to scrape metrics from Grafana. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options: 1. Enable Prometheus to scrape metrics from Grafana. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options:
``` ```
# Metrics available at HTTP API Url /metrics # Metrics available at HTTP API Url /metrics
@ -57,7 +54,7 @@ These instructions assume you have already added Prometheus as a data source in
scrape_interval: 15s scrape_interval: 15s
scrape_timeout: 5s scrape_timeout: 5s
static_configs: static_configs:
- targets: ['localhost:3000'] - targets: ['localhost:3000']
``` ```
@ -70,7 +67,7 @@ These instructions assume you have already added Prometheus as a data source in
These instructions assume you have already added Graphite as a data source in Grafana. These instructions assume you have already added Graphite as a data source in Grafana.
1. Enable sending metrics to Graphite. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options: 1. Enable sending metrics to Graphite. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options:
``` ```
# Metrics available at HTTP API Url /metrics # Metrics available at HTTP API Url /metrics

View File

@ -2,10 +2,6 @@
title = "Change your preferences" title = "Change your preferences"
description = "How to change your Grafana preferences" description = "How to change your Grafana preferences"
keywords = ["grafana", "profile", "change", "preferences"] keywords = ["grafana", "profile", "change", "preferences"]
type = "docs"
[menu.docs]
identifier = "preferences"
parent = "administration"
weight = 200 weight = 200
+++ +++

View File

@ -2,10 +2,7 @@
title = "Provisioning" title = "Provisioning"
description = "" description = ""
keywords = ["grafana", "provisioning"] keywords = ["grafana", "provisioning"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/provisioning"] aliases = ["/docs/grafana/latest/installation/provisioning"]
[menu.docs]
parent = "admin"
weight = 8 weight = 8
+++ +++

View File

@ -2,12 +2,7 @@
title = "Security" title = "Security"
description = "Security Docs" description = "Security Docs"
keywords = ["grafana", "security", "documentation"] keywords = ["grafana", "security", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/security/"] aliases = ["/docs/grafana/latest/installation/security/"]
[menu.docs]
name = "Security"
identifier = "security"
parent = "admin"
weight = 500 weight = 500
+++ +++
@ -23,7 +18,7 @@ You can configure Grafana to only allow certain IP addresses or hostnames to be
## Firewall rules ## Firewall rules
Configure a firewall to restrict Grafana from making network requests to sensitive internal web services. Configure a firewall to restrict Grafana from making network requests to sensitive internal web services.
There are many firewall tools available, refer to the documentation for your specific security tool. For example, Linux users can use [iptables](https://en.wikipedia.org/wiki/Iptables). There are many firewall tools available, refer to the documentation for your specific security tool. For example, Linux users can use [iptables](https://en.wikipedia.org/wiki/Iptables).

View File

@ -1,9 +1,7 @@
+++ +++
title = "Set up Grafana for high availability" title = "Set up Grafana for high availability"
type = "docs"
keywords = ["grafana", "tutorials", "HA", "high availability"] keywords = ["grafana", "tutorials", "HA", "high availability"]
aliases = ["/docs/grafana/latest/tutorials/ha_setup/"] aliases = ["/docs/grafana/latest/tutorials/ha_setup/"]
[menu.docs]
weight = 1200 weight = 1200
+++ +++

View File

@ -2,11 +2,6 @@
title = "View server settings" title = "View server settings"
description = "How to view server settings in the Grafana UI" description = "How to view server settings in the Grafana UI"
keywords = ["grafana", "configuration", "server", "settings"] keywords = ["grafana", "configuration", "server", "settings"]
type = "docs"
[menu.docs]
name = "Configuration"
identifier = "config"
parent = "admin"
weight = 350 weight = 350
+++ +++

View File

@ -1,8 +1,6 @@
+++ +++
title = "View server stats" title = "View server stats"
type = "docs"
keywords = ["grafana", "server", "statistics"] keywords = ["grafana", "server", "statistics"]
[menu.docs]
weight = 1150 weight = 1150
+++ +++

View File

@ -1,9 +1,5 @@
+++ +++
title = "Alerting" title = "Alerting"
type = "docs"
[menu.docs]
identifier = "alerting"
parent = "features"
weight = 100 weight = 100
+++ +++

View File

@ -1,10 +1,6 @@
+++ +++
title = "Alerts overview" title = "Alerts overview"
type = "docs" aliases = ["/docs/grafana/latest/alerting/rules/", "/docs/grafana/latest/alerting/metrics/"]
[menu.docs]
identifier = "alerting"
parent = "Alerting"
aliases = ["/docs/grafana/latest/alerting/rules/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/rules/#query-condition-example", "/docs/grafana/latest/alerting/rules/#for", "/docs/grafana/latest/alerting/rules/#rule-config"]
weight = 100 weight = 100
+++ +++

View File

@ -2,11 +2,6 @@
title = "Create alerts" title = "Create alerts"
description = "Configure alert rules" description = "Configure alert rules"
keywords = ["grafana", "alerting", "guide", "rules"] keywords = ["grafana", "alerting", "guide", "rules"]
type = "docs"
[menu.docs]
name = "Create alerts"
identifier = "create-alerts"
parent = "alerting"
weight = 200 weight = 200
+++ +++

View File

@ -2,11 +2,6 @@
title = "Alert notifications" title = "Alert notifications"
description = "Alerting notifications guide" description = "Alerting notifications guide"
keywords = ["Grafana", "alerting", "guide", "notifications"] keywords = ["Grafana", "alerting", "guide", "notifications"]
type = "docs"
[menu.docs]
name = "Notifications"
identifier = "alert-notification"
parent = "alerting"
weight = 100 weight = 100
+++ +++

View File

@ -2,10 +2,6 @@
title = "Pause alert rule" title = "Pause alert rule"
description = "Pause an existing alert rule" description = "Pause an existing alert rule"
keywords = ["grafana", "alerting", "guide", "rules", "view"] keywords = ["grafana", "alerting", "guide", "rules", "view"]
type = "docs"
[menu.docs]
identifier = "pause-alerts"
parent = "alerting"
weight = 400 weight = 400
+++ +++

View File

@ -2,11 +2,6 @@
title = "Troubleshoot alerts" title = "Troubleshoot alerts"
description = "Troubleshoot alert rules" description = "Troubleshoot alert rules"
keywords = ["grafana", "alerting", "guide", "rules", "troubleshoot"] keywords = ["grafana", "alerting", "guide", "rules", "troubleshoot"]
type = "docs"
[menu.docs]
name = "Troubleshoot alerts"
identifier = "troubleshoot-alerts"
parent = "alerting"
weight = 500 weight = 500
+++ +++

View File

@ -2,11 +2,6 @@
title = "View alerts" title = "View alerts"
description = "View existing alert rules" description = "View existing alert rules"
keywords = ["grafana", "alerting", "guide", "rules", "view"] keywords = ["grafana", "alerting", "guide", "rules", "view"]
type = "docs"
[menu.docs]
name = "View alerts"
identifier = "view-alerts"
parent = "alerting"
weight = 400 weight = 400
+++ +++

View File

@ -1,11 +1,6 @@
+++ +++
title = "Authentication" title = "Authentication"
description = "Authentication" description = "Authentication"
type = "docs"
[menu.docs]
name = "Authentication"
identifier = "authentication"
parent = "admin"
weight = 30 weight = 30
+++ +++
@ -18,13 +13,13 @@ Here is a table showing all supported authentication providers and the features
See also, [Grafana Authentication]({{< relref "grafana.md" >}}). See also, [Grafana Authentication]({{< relref "grafana.md" >}}).
Provider | Support | Role mapping | Team sync<br> *(Enterprise only)* | Active sync<br> *(Enterprise only)* Provider | Support | Role mapping | Team sync<br> *(Enterprise only)* | Active sync<br> *(Enterprise only)*
-------- | :-----: | :----------: | :-------: | :---------: -------- | :-----: | :----------: | :-------: | :---------:
[Auth Proxy]({{< relref "auth-proxy.md" >}}) | v2.1+ | - | v6.3+ | - [Auth Proxy]({{< relref "auth-proxy.md" >}}) | v2.1+ | - | v6.3+ | -
[Azure AD OAuth]({{< relref "azuread.md" >}}) | v6.7+ | v6.7+ | v6.7+ | - [Azure AD OAuth]({{< relref "azuread.md" >}}) | v6.7+ | v6.7+ | v6.7+ | -
[Generic OAuth]({{< relref "generic-oauth.md" >}}) | v4.0+ | v6.5+ | - | - [Generic OAuth]({{< relref "generic-oauth.md" >}}) | v4.0+ | v6.5+ | - | -
[GitHub OAuth]({{< relref "github.md" >}}) | v2.0+ | - | v6.3+ | - [GitHub OAuth]({{< relref "github.md" >}}) | v2.0+ | - | v6.3+ | -
[GitLab OAuth]({{< relref "gitlab.md" >}}) | v5.3+ | - | v6.4+ | - [GitLab OAuth]({{< relref "gitlab.md" >}}) | v5.3+ | - | v6.4+ | -
[Google OAuth]({{< relref "google.md" >}}) | v2.0+ | - | - | - [Google OAuth]({{< relref "google.md" >}}) | v2.0+ | - | - | -
[LDAP]({{< relref "ldap.md" >}}) | v2.1+ | v2.1+ | v5.3+ | v6.3+ [LDAP]({{< relref "ldap.md" >}}) | v2.1+ | v2.1+ | v5.3+ | v6.3+
[Okta OAuth]({{< relref "okta.md" >}}) | v7.0+ | v7.0+ | v7.0+ | - [Okta OAuth]({{< relref "okta.md" >}}) | v7.0+ | v7.0+ | v7.0+ | -
[SAML]({{< relref "../enterprise/saml.md" >}}) (Enterprise only) | v6.3+ | v7.0+ | v7.0+ | - [SAML]({{< relref "../enterprise/saml.md" >}}) (Enterprise only) | v6.3+ | v7.0+ | v7.0+ | -

View File

@ -2,12 +2,7 @@
title = "Auth Proxy" title = "Auth Proxy"
description = "Grafana Auth Proxy Guide " description = "Grafana Auth Proxy Guide "
keywords = ["grafana", "configuration", "documentation", "proxy"] keywords = ["grafana", "configuration", "documentation", "proxy"]
type = "docs"
aliases = ["/docs/grafana/latest/tutorials/authproxy/"] aliases = ["/docs/grafana/latest/tutorials/authproxy/"]
[menu.docs]
name = "Auth Proxy"
identifier = "auth-proxy"
parent = "authentication"
weight = 200 weight = 200
+++ +++

View File

@ -2,11 +2,6 @@
title = "Azure AD OAuth2 authentication" title = "Azure AD OAuth2 authentication"
description = "Grafana Azure AD OAuth Guide " description = "Grafana Azure AD OAuth Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "Azure AD"
identifier = "azuread_oauth2"
parent = "authentication"
weight = 700 weight = 700
+++ +++
@ -24,7 +19,7 @@ To enable the Azure AD OAuth2 you must register your application with Azure AD.
1. Under **Manage** in the side menu, click **App Registrations** and then **New Registration**. Provide a fitting name. 1. Under **Manage** in the side menu, click **App Registrations** and then **New Registration**. Provide a fitting name.
1. Under **Redirect URI**, select **Web** as the app type. 1. Under **Redirect URI**, select **Web** as the app type.
1. Add the redirect URL `https://<grafana domain>/login/azuread`, then click **Register**. 1. Add the redirect URL `https://<grafana domain>/login/azuread`, then click **Register**.
@ -88,7 +83,7 @@ To enable the Azure AD OAuth2 you must register your application with Azure AD.
1. Go to **Azure Active Directory** and then to **Enterprise Applications**. Search for your application and click on it. 1. Go to **Azure Active Directory** and then to **Enterprise Applications**. Search for your application and click on it.
1. Click on **Users and Groups** and add Users/Groups to the Grafana roles by using **Add User**. 1. Click on **Users and Groups** and add Users/Groups to the Grafana roles by using **Add User**.
## Enable Azure AD OAuth in Grafana ## Enable Azure AD OAuth in Grafana

View File

@ -2,11 +2,6 @@
title = "Enhanced LDAP Integration" title = "Enhanced LDAP Integration"
description = "Grafana Enhanced LDAP Integration Guide " description = "Grafana Enhanced LDAP Integration Guide "
keywords = ["grafana", "configuration", "documentation", "ldap", "active directory", "enterprise"] keywords = ["grafana", "configuration", "documentation", "ldap", "active directory", "enterprise"]
type = "docs"
[menu.docs]
name = "Enhanced LDAP"
identifier = "enhanced-ldap"
parent = "authentication"
weight = 400 weight = 400
+++ +++

View File

@ -2,11 +2,6 @@
title = "OAuth authentication" title = "OAuth authentication"
description = "Grafana OAuthentication Guide " description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "Generic OAuth"
identifier = "generic_oauth"
parent = "authentication"
weight = 500 weight = 500
+++ +++
@ -47,8 +42,8 @@ tls_client_ca =
Set `api_url` to the resource that returns [OpenID UserInfo](https://connect2id.com/products/server/docs/api/userinfo) compatible information. Set `api_url` to the resource that returns [OpenID UserInfo](https://connect2id.com/products/server/docs/api/userinfo) compatible information.
You can also specify the SSL/TLS configuration used by the client. You can also specify the SSL/TLS configuration used by the client.
- Set `tls_client_cert` to the path of the certificate. - Set `tls_client_cert` to the path of the certificate.
- Set `tls_client_key` to the path containing the key. - Set `tls_client_key` to the path containing the key.
- Set `tls_client_ca` to the path containing a trusted certificate authority list. - Set `tls_client_ca` to the path containing a trusted certificate authority list.
@ -75,7 +70,7 @@ See [JMESPath examples](#jmespath-examples) for more information.
Customize user login using `login_attribute_path` configuration option. Order of operations is as follows: Customize user login using `login_attribute_path` configuration option. Order of operations is as follows:
1. Grafana evaluates the `login_attribute_path` JMESPath expression against the ID token. 1. Grafana evaluates the `login_attribute_path` JMESPath expression against the ID token.
1. If Grafana finds no value, then Grafana evaluates expression against the JSON data obtained from UserInfo endpoint. The UserInfo endpoint URL is specified in the `api_url` configuration option. 1. If Grafana finds no value, then Grafana evaluates expression against the JSON data obtained from UserInfo endpoint. The UserInfo endpoint URL is specified in the `api_url` configuration option.
You can customize the attribute name used to extract the ID token from the returned OAuth token with the `id_token_attribute_name` option. You can customize the attribute name used to extract the ID token from the returned OAuth token with the `id_token_attribute_name` option.

View File

@ -2,11 +2,6 @@
title = "GitHub OAuth2 Authentication" title = "GitHub OAuth2 Authentication"
description = "Grafana OAuthentication Guide " description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "GitHub"
identifier = "github_oauth2"
parent = "authentication"
weight = 800 weight = 800
+++ +++
@ -46,7 +41,7 @@ team_ids =
allowed_organizations = allowed_organizations =
``` ```
You may have to set the `root_url` option of `[server]` for the callback URL to be You may have to set the `root_url` option of `[server]` for the callback URL to be
correct. For example in case you are serving Grafana behind a proxy. correct. For example in case you are serving Grafana behind a proxy.
Restart the Grafana back-end. You should now see a GitHub login button Restart the Grafana back-end. You should now see a GitHub login button
@ -104,7 +99,7 @@ allowed_organizations = github google
> Only available in Grafana Enterprise v6.3+ > Only available in Grafana Enterprise v6.3+
With Team Sync you can map your GitHub org teams to teams in Grafana so that your users will automatically be added to With Team Sync you can map your GitHub org teams to teams in Grafana so that your users will automatically be added to
the correct teams. the correct teams.
Your GitHub teams can be referenced in two ways: Your GitHub teams can be referenced in two ways:

View File

@ -2,11 +2,6 @@
title = "GitLab OAuth2 Authentication" title = "GitLab OAuth2 Authentication"
description = "Grafana OAuthentication Guide " description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "GitLab"
identifier = "gitlab_oauth"
parent = "authentication"
weight = 900 weight = 900
+++ +++
@ -58,7 +53,7 @@ api_url = https://gitlab.com/api/v4
allowed_groups = allowed_groups =
``` ```
You may have to set the `root_url` option of `[server]` for the callback URL to be You may have to set the `root_url` option of `[server]` for the callback URL to be
correct. For example in case you are serving Grafana behind a proxy. correct. For example in case you are serving Grafana behind a proxy.
Restart the Grafana backend for your changes to take effect. Restart the Grafana backend for your changes to take effect.
@ -121,7 +116,7 @@ allowed_groups = example, foo/bar
> Only available in Grafana Enterprise v6.4+ > Only available in Grafana Enterprise v6.4+
With Team Sync you can map your GitLab groups to teams in Grafana so that your users will automatically be added to With Team Sync you can map your GitLab groups to teams in Grafana so that your users will automatically be added to
the correct teams. the correct teams.
Your GitLab groups can be referenced in the same way as `allowed_groups`, like `example` or `foo/bar`. Your GitLab groups can be referenced in the same way as `allowed_groups`, like `example` or `foo/bar`.

View File

@ -2,11 +2,6 @@
title = "Google OAuth2 Authentication" title = "Google OAuth2 Authentication"
description = "Grafana OAuthentication Guide " description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "Google"
identifier = "google_oauth2"
parent = "authentication"
weight = 600 weight = 600
+++ +++
@ -45,7 +40,7 @@ allowed_domains = mycompany.com mycompany.org
allow_sign_up = true allow_sign_up = true
``` ```
You may have to set the `root_url` option of `[server]` for the callback URL to be You may have to set the `root_url` option of `[server]` for the callback URL to be
correct. For example in case you are serving Grafana behind a proxy. correct. For example in case you are serving Grafana behind a proxy.
Restart the Grafana back-end. You should now see a Google login button Restart the Grafana back-end. You should now see a Google login button

View File

@ -2,11 +2,6 @@
title = "Grafana Authentication" title = "Grafana Authentication"
description = "Grafana OAuthentication Guide " description = "Grafana OAuthentication Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "GitLab"
identifier = "grafana-oauth"
parent = "authentication"
weight = 100 weight = 100
+++ +++

View File

@ -2,12 +2,7 @@
title = "LDAP Authentication" title = "LDAP Authentication"
description = "Grafana LDAP Authentication Guide " description = "Grafana LDAP Authentication Guide "
keywords = ["grafana", "configuration", "documentation", "ldap", "active directory"] keywords = ["grafana", "configuration", "documentation", "ldap", "active directory"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/ldap/"] aliases = ["/docs/grafana/latest/installation/ldap/"]
[menu.docs]
name = "LDAP"
identifier = "ldap"
parent = "authentication"
weight = 300 weight = 300
+++ +++
@ -85,9 +80,6 @@ search_base_dns = ["dc=grafana,dc=org"]
# Specify names of the LDAP attributes your LDAP uses # Specify names of the LDAP attributes your LDAP uses
[servers.attributes] [servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "memberOf" member_of = "memberOf"
email = "email" email = "email"
``` ```
@ -105,7 +97,7 @@ bind_password = "${LDAP_ADMIN_PASSWORD}"
> Only available in Grafana v6.4+ > Only available in Grafana v6.4+
Grafana has an LDAP debug view built-in which allows you to test your LDAP configuration directly within Grafana. At the moment of writing, only Grafana admins can use the LDAP debug view. Grafana has an LDAP debug view built-in which allows you to test your LDAP configuration directly within Grafana. At the moment of writing, only Grafana admins can use the LDAP debug view.
Within this view, you'll be able to see which LDAP servers are currently reachable and test your current configuration. Within this view, you'll be able to see which LDAP servers are currently reachable and test your current configuration.
{{< docs-imagebox img="/img/docs/ldap_debug.png" class="docs-image--no-shadow" max-width="600px" >}} {{< docs-imagebox img="/img/docs/ldap_debug.png" class="docs-image--no-shadow" max-width="600px" >}}
@ -243,9 +235,6 @@ search_filter = "(cn=%s)"
search_base_dns = ["dc=grafana,dc=org"] search_base_dns = ["dc=grafana,dc=org"]
[servers.attributes] [servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "memberOf" member_of = "memberOf"
email = "email" email = "email"
@ -272,9 +261,6 @@ search_filter = "(cn=%s)"
search_base_dns = ["ou=users,dc=grafana,dc=org"] search_base_dns = ["ou=users,dc=grafana,dc=org"]
[servers.attributes] [servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "memberOf" member_of = "memberOf"
email = "email" email = "email"
@ -298,9 +284,6 @@ search_filter = "(cn=%s)"
search_base_dns = ["ou=users,dc=grafana,dc=org"] search_base_dns = ["ou=users,dc=grafana,dc=org"]
[servers.attributes] [servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "memberOf" member_of = "memberOf"
email = "email" email = "email"
@ -336,9 +319,6 @@ search_filter = "(sAMAccountName=%s)"
search_base_dns = ["dc=corp,dc=local"] search_base_dns = ["dc=corp,dc=local"]
[servers.attributes] [servers.attributes]
name = "givenName"
surname = "sn"
username = "sAMAccountName"
member_of = "memberOf" member_of = "memberOf"
email = "mail" email = "mail"

View File

@ -2,11 +2,6 @@
title = "Okta OAuth2 authentication" title = "Okta OAuth2 authentication"
description = "Grafana Okta OAuth Guide " description = "Grafana Okta OAuth Guide "
keywords = ["grafana", "configuration", "documentation", "oauth"] keywords = ["grafana", "configuration", "documentation", "oauth"]
type = "docs"
[menu.docs]
name = "Okta"
identifier = "okta_oauth2"
parent = "authentication"
weight = 1000 weight = 1000
+++ +++

View File

@ -1,11 +1,6 @@
+++ +++
title = "Overview" title = "Overview"
description = "Overview for auth" description = "Overview for auth"
type = "docs"
[menu.docs]
name = "Overview"
identifier = "overview-auth"
parent = "authentication"
weight = 1 weight = 1
+++ +++
@ -16,16 +11,16 @@ Grafana provides many ways to authenticate users. Some authentication integratio
Here is a table showing all supported authentication providers and the features available for them. [Team sync]({{< relref "../enterprise/team-sync.md" >}}) and [active sync]({{< relref "../enterprise/enhanced_ldap.md#active-ldap-synchronization" >}}) are only available in Grafana Enterprise. Here is a table showing all supported authentication providers and the features available for them. [Team sync]({{< relref "../enterprise/team-sync.md" >}}) and [active sync]({{< relref "../enterprise/enhanced_ldap.md#active-ldap-synchronization" >}}) are only available in Grafana Enterprise.
Provider | Support | Role mapping | Team sync<br> *(Enterprise only)* | Active sync<br> *(Enterprise only)* Provider | Support | Role mapping | Team sync<br> *(Enterprise only)* | Active sync<br> *(Enterprise only)*
-------- | :-----: | :----------: | :-------: | :---------: -------- | :-----: | :----------: | :-------: | :---------:
[Auth Proxy]({{< relref "auth-proxy.md" >}}) | v2.1+ | - | v6.3+ | - [Auth Proxy]({{< relref "auth-proxy.md" >}}) | v2.1+ | - | v6.3+ | -
[Azure AD OAuth]({{< relref "azuread.md" >}}) | v6.7+ | v6.7+ | v6.7+ | - [Azure AD OAuth]({{< relref "azuread.md" >}}) | v6.7+ | v6.7+ | v6.7+ | -
[Generic OAuth]({{< relref "generic-oauth.md" >}}) | v4.0+ | v6.5+ | - | - [Generic OAuth]({{< relref "generic-oauth.md" >}}) | v4.0+ | v6.5+ | - | -
[GitHub OAuth]({{< relref "github.md" >}}) | v2.0+ | - | v6.3+ | - [GitHub OAuth]({{< relref "github.md" >}}) | v2.0+ | - | v6.3+ | -
[GitLab OAuth]({{< relref "gitlab.md" >}}) | v5.3+ | - | v6.4+ | - [GitLab OAuth]({{< relref "gitlab.md" >}}) | v5.3+ | - | v6.4+ | -
[Google OAuth]({{< relref "google.md" >}}) | v2.0+ | - | - | - [Google OAuth]({{< relref "google.md" >}}) | v2.0+ | - | - | -
[LDAP]({{< relref "ldap.md" >}}) | v2.1+ | v2.1+ | v5.3+ | v6.3+ [LDAP]({{< relref "ldap.md" >}}) | v2.1+ | v2.1+ | v5.3+ | v6.3+
[Okta OAuth]({{< relref "okta.md" >}}) | v7.0+ | v7.0+ | v7.0+ | - [Okta OAuth]({{< relref "okta.md" >}}) | v7.0+ | v7.0+ | v7.0+ | -
[SAML]({{< relref "../enterprise/saml.md" >}}) (Enterprise only) | v6.3+ | v7.0+ | v7.0+ | - [SAML]({{< relref "../enterprise/saml.md" >}}) (Enterprise only) | v6.3+ | v7.0+ | v7.0+ | -
## Grafana Auth ## Grafana Auth
@ -61,11 +56,11 @@ login_cookie_name = grafana_session
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes). # The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes).
login_maximum_inactive_lifetime_duration = login_maximum_inactive_lifetime_duration =
# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). # The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
login_maximum_lifetime_duration = login_maximum_lifetime_duration =
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes. # How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
token_rotation_interval_minutes = 10 token_rotation_interval_minutes = 10

View File

@ -3,10 +3,6 @@ title = "SAML Authentication"
description = "Grafana SAML Authentication" description = "Grafana SAML Authentication"
keywords = ["grafana", "saml", "documentation", "saml-auth"] keywords = ["grafana", "saml", "documentation", "saml-auth"]
aliases = ["/docs/grafana/latest/auth/saml/"] aliases = ["/docs/grafana/latest/auth/saml/"]
type = "docs"
[menu.docs]
name = "SAML"
parent = "authentication"
weight = 1100 weight = 1100
+++ +++

View File

@ -3,10 +3,6 @@ title = "Team Sync"
description = "Grafana Team Sync" description = "Grafana Team Sync"
keywords = ["grafana", "auth", "documentation"] keywords = ["grafana", "auth", "documentation"]
aliases = ["/docs/grafana/latest/auth/saml/"] aliases = ["/docs/grafana/latest/auth/saml/"]
type = "docs"
[menu.docs]
name = "Team Sync"
parent = "authentication"
weight = 1200 weight = 1200
+++ +++

View File

@ -1,9 +1,6 @@
+++ +++
title = "Best practices" title = "Best practices"
description = "Best practices for working with Grafana" description = "Best practices for working with Grafana"
type = "docs"
[menu.docs]
identifier = "best-practices"
weight = 20 weight = 20
+++ +++
@ -15,5 +12,5 @@ This section provides information about best practices for intermediate Grafana
- [Best practices for managing dashboards]({{< relref "best-practices-for-managing-dashboards" >}}) - [Best practices for managing dashboards]({{< relref "best-practices-for-managing-dashboards" >}})
- [Common observability strategies]({{< relref "common-observability-strategies" >}}) - [Common observability strategies]({{< relref "common-observability-strategies" >}})
- [Dashboard management maturity model]({{< relref "dashboard-management-maturity-levels" >}}) - [Dashboard management maturity model]({{< relref "dashboard-management-maturity-levels" >}})
<!-- BEGIN Optimal Workshop Intercept Snippet --><div id='owInviteSnippet' style='position:fixed;right:20px;bottom:20px;width:280px;padding:20px;margin:0;border-radius:6px;background:#1857B8;color:#F7F8FA;text-align:left;z-index:2200000000;opacity:0;transition:opacity 500ms;-webkit-transition:opacity 500ms;display:none;'><div id='owInviteMessage' style='padding:0;margin:0 0 20px 0;font-size:16px;'>Got a spare two and a half minutes to help us improve the docs?</div><a id='owInviteOk' href='https://Grafana.optimalworkshop.com/questions/grafana-docs?tag=docs&utm_medium=intercept' onclick='this.parentNode.style.display="none";' target='_blank' style='color:#F7FAFF;font-size:16px;font-weight:bold;text-decoration:underline;'>Yes, I&#x27;ll help</a><a id='owInviteCancel' href='javascript:void(0)' onclick='this.parentNode.style.display="none";' style='color:#F7F8FA;font-size:14px;text-decoration:underline;float:right;'>Close</a></div><script>var owOnload=function(){if(-1==document.cookie.indexOf('ow-intercept-quiz-4ior230e')){var o=new XMLHttpRequest;o.onloadend=function(){try{var o=document.getElementById('owInviteSnippet');var date=new Date();date.setMonth(date.getMonth()+1);this.response&&JSON.parse(this.response).active===!0&&(document.cookie='ow-intercept-quiz-4ior230e=Done;path=/;expires='+date.toUTCString()+';',setTimeout(function(){o.style.display='block',o.style.opacity=1},2e3))}catch(e){}},o.open('POST','https://app.optimalworkshop.com/survey_status/questions/4ior230e/active'),o.send()}};if(window.addEventListener){window.addEventListener('load',function(){owOnload();});}else if(window.attachEvent){window.attachEvent('onload',function(){owOnload();});}</script><!-- END Optimal Workshop snippet --> <!-- BEGIN Optimal Workshop Intercept Snippet --><div id='owInviteSnippet' style='position:fixed;right:20px;bottom:20px;width:280px;padding:20px;margin:0;border-radius:6px;background:#1857B8;color:#F7F8FA;text-align:left;z-index:2200000000;opacity:0;transition:opacity 500ms;-webkit-transition:opacity 500ms;display:none;'><div id='owInviteMessage' style='padding:0;margin:0 0 20px 0;font-size:16px;'>Got a spare two and a half minutes to help us improve the docs?</div><a id='owInviteOk' href='https://Grafana.optimalworkshop.com/questions/grafana-docs?tag=docs&utm_medium=intercept' onclick='this.parentNode.style.display="none";' target='_blank' style='color:#F7FAFF;font-size:16px;font-weight:bold;text-decoration:underline;'>Yes, I&#x27;ll help</a><a id='owInviteCancel' href='javascript:void(0)' onclick='this.parentNode.style.display="none";' style='color:#F7F8FA;font-size:14px;text-decoration:underline;float:right;'>Close</a></div><script>var owOnload=function(){if(-1==document.cookie.indexOf('ow-intercept-quiz-4ior230e')){var o=new XMLHttpRequest;o.onloadend=function(){try{var o=document.getElementById('owInviteSnippet');var date=new Date();date.setMonth(date.getMonth()+1);this.response&&JSON.parse(this.response).active===!0&&(document.cookie='ow-intercept-quiz-4ior230e=Done;path=/;expires='+date.toUTCString()+';',setTimeout(function(){o.style.display='block',o.style.opacity=1},2e3))}catch(e){}},o.open('POST','https://app.optimalworkshop.com/survey_status/questions/4ior230e/active'),o.send()}};if(window.addEventListener){window.addEventListener('load',function(){owOnload();});}else if(window.attachEvent){window.attachEvent('onload',function(){owOnload();});}</script><!-- END Optimal Workshop snippet -->

View File

@ -1,10 +1,6 @@
+++ +++
title = "Best practices for creating dashboards" title = "Best practices for creating dashboards"
description = "Best practices for creating dashboards in Grafana" description = "Best practices for creating dashboards in Grafana"
type = "docs"
[menu.docs]
identifier = "best-practices-for-creating-dashboards"
parent = "best-practices"
weight = 100 weight = 100
+++ +++
@ -49,7 +45,7 @@ Once you have a strategy or design guidelines, write them down to help maintain
- If you create many related dashboards, think about how to cross-reference them for easy navigation. Refer to [Best practices for managing dashboards]({{< relref "best-practices-for-managing-dashboards.md" >}}) for more information. - If you create many related dashboards, think about how to cross-reference them for easy navigation. Refer to [Best practices for managing dashboards]({{< relref "best-practices-for-managing-dashboards.md" >}}) for more information.
- Grafana retrieves data from a data source. A basic understanding of [data sources]({{< relref "../datasources/_index.md" >}}) in general and your specific is important. - Grafana retrieves data from a data source. A basic understanding of [data sources]({{< relref "../datasources/_index.md" >}}) in general and your specific is important.
- Avoid unnecessary dashboard refreshing to reduce the load on the network or backend. For example, if your data changes every hour, then you don't need to set the dashboard refresh rate to 30 seconds. - Avoid unnecessary dashboard refreshing to reduce the load on the network or backend. For example, if your data changes every hour, then you don't need to set the dashboard refresh rate to 30 seconds.
- Use the left and right Y-axes when displaying time series with different units or ranges. - Use the left and right Y-axes when displaying time series with different units or ranges.
- Add documentation to dashboards and panels. - Add documentation to dashboards and panels.
- To add documentation to a dashboard, add a [Text panel visualization]({{< relref "../panels/visualizations/text-panel.md" >}}) to the dashboard. Record things like the purpose of the dashboard, useful resource links, and any instructions users might need to interact with the dashboard. Check out this [Wikimedia example](https://grafana.wikimedia.org/d/000000066/resourceloader?orgId=1). - To add documentation to a dashboard, add a [Text panel visualization]({{< relref "../panels/visualizations/text-panel.md" >}}) to the dashboard. Record things like the purpose of the dashboard, useful resource links, and any instructions users might need to interact with the dashboard. Check out this [Wikimedia example](https://grafana.wikimedia.org/d/000000066/resourceloader?orgId=1).
- To add documentation to a panel, [edit the panel settings]({{< relref "../panels/add-a-panel.md#edit-panel-settings" >}}) and add a description. Any text you add will appear if you hover your cursor over the small `i` in the top left corner of the panel. - To add documentation to a panel, [edit the panel settings]({{< relref "../panels/add-a-panel.md#edit-panel-settings" >}}) and add a description. Any text you add will appear if you hover your cursor over the small `i` in the top left corner of the panel.

View File

@ -1,10 +1,6 @@
+++ +++
title = "Best practices for managing dashboards" title = "Best practices for managing dashboards"
description = "Best practices for managing dashboards in Grafana" description = "Best practices for managing dashboards in Grafana"
type = "docs"
[menu.docs]
identifier = "best-practices-for-managing-dashboards"
parent = "best-practices"
weight = 200 weight = 200
+++ +++
@ -18,7 +14,7 @@ Here are some principles to consider before you start managing dashboards.
### Strategic observability ### Strategic observability
There are several [common observability strategies]({{< relref "common-observability-strategies.md" >}}). You should research them and decide whether one of them works for you or if you want to come up with your own. Either way, have a plan, write it down, and stick to it. There are several [common observability strategies]({{< relref "common-observability-strategies.md" >}}). You should research them and decide whether one of them works for you or if you want to come up with your own. Either way, have a plan, write it down, and stick to it.
Adapt your strategy to changing needs as necessary. Adapt your strategy to changing needs as necessary.

View File

@ -3,10 +3,6 @@ title = "Common observability strategies"
description = "Common observability strategies" description = "Common observability strategies"
keywords = ["grafana", "intro", "guide", "concepts", "methods"] keywords = ["grafana", "intro", "guide", "concepts", "methods"]
aliases = ["/docs/grafana/latest/getting-started/strategies/"] aliases = ["/docs/grafana/latest/getting-started/strategies/"]
type = "docs"
[menu.docs]
identifier = "common-observability-strategies"
parent = "best-practices"
weight = 300 weight = 300
+++ +++
@ -19,7 +15,7 @@ A logical strategy allows you to make uniform dashboards and scale your observab
## Guidelines for usage ## Guidelines for usage
- The USE method tells you how happy your machines are, the RED method tells you how happy your users are. - The USE method tells you how happy your machines are, the RED method tells you how happy your users are.
- USE reports on causes of issues. - USE reports on causes of issues.
- RED reports on user experience and is more likely to report symptoms of problems. - RED reports on user experience and is more likely to report symptoms of problems.
- The best practice of alerting is to alert on symptoms rather than causes, so alerting should be done on RED dashboards. - The best practice of alerting is to alert on symptoms rather than causes, so alerting should be done on RED dashboards.

View File

@ -1,10 +1,6 @@
+++ +++
title = "Dashboard management maturity model" title = "Dashboard management maturity model"
description = "Explanation of dashboard management maturity model" description = "Explanation of dashboard management maturity model"
type = "docs"
[menu.docs]
identifier = "best-management-for-maturity-model"
parent = "best-practices"
weight = 400 weight = 400
+++ +++
@ -35,8 +31,8 @@ At this stage, you are starting to manage your dashboard use with methodical das
How can you tell you are here? How can you tell you are here?
- Prevent sprawl by using template variables. For example, you don't need a separate dashboard for each node, you can use query variables. Even better, you can make the data source a template variable too, so you can reuse the same dashboard across different clusters and monitoring backends. - Prevent sprawl by using template variables. For example, you don't need a separate dashboard for each node, you can use query variables. Even better, you can make the data source a template variable too, so you can reuse the same dashboard across different clusters and monitoring backends.
Refer to the list of [Variable examples]({{< relref "../variables/variable-examples.md" >}}) if you want some ideas. Refer to the list of [Variable examples]({{< relref "../variables/variable-examples.md" >}}) if you want some ideas.
- Methodical dashboards according to an [observability strategy]({{< relref "common-observability-strategies.md" >}}). - Methodical dashboards according to an [observability strategy]({{< relref "common-observability-strategies.md" >}}).
@ -49,7 +45,7 @@ How can you tell you are here?
{{< imgbox max-width="100%" img="/img/docs/best-practices/service-hierarchy-example.png" caption="Example of a service hierarchy" >}} {{< imgbox max-width="100%" img="/img/docs/best-practices/service-hierarchy-example.png" caption="Example of a service hierarchy" >}}
- Compare like to like: split service dashboards when the magnitude differs. Make sure aggregated metrics don't drown out important information. - Compare like to like: split service dashboards when the magnitude differs. Make sure aggregated metrics don't drown out important information.
- Expressive charts with meaningful use of color and normalizing axes where you can. - Expressive charts with meaningful use of color and normalizing axes where you can.
- Example of meaningful color: Blue means it's good, red means it's bad. [Thresholds]({{< relref "../panels/thresholds.md" >}}) can help with that. - Example of meaningful color: Blue means it's good, red means it's bad. [Thresholds]({{< relref "../panels/thresholds.md" >}}) can help with that.
- Example of normalizing axes: When comparing CPU usage, measure by percentage rather than raw number, because machines can have a different number of cores. Normalizing CPU usage by the number of cores reduces cognitive load because the viewer can trust that at 100% all cores are being used, without having to know the number of CPUs. - Example of normalizing axes: When comparing CPU usage, measure by percentage rather than raw number, because machines can have a different number of cores. Normalizing CPU usage by the number of cores reduces cognitive load because the viewer can trust that at 100% all cores are being used, without having to know the number of CPUs.
- Directed browsing cuts down on "guessing." - Directed browsing cuts down on "guessing."

View File

@ -1,10 +1,7 @@
+++ +++
title = "Dashboard overview" title = "Dashboards"
type = "docs"
aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"] aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
[menu.docs] weight = 80
identifier = "dashboards"
weight = 100
+++ +++
# Dashboard overview # Dashboard overview

View File

@ -1,11 +1,7 @@
+++ +++
title = "Annotations" title = "Annotations"
keywords = ["grafana", "annotations", "documentation", "guide"] keywords = ["grafana", "annotations", "documentation", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/annotations/"] aliases = ["/docs/grafana/latest/reference/annotations/"]
[menu.docs]
name = "Annotations"
parent = "dashboard_features"
weight = 2 weight = 2
+++ +++

View File

@ -1,11 +1,7 @@
+++ +++
title = "Dashboard Folders" title = "Dashboard Folders"
keywords = ["grafana", "dashboard", "dashboard folders", "folder", "folders", "documentation", "guide"] keywords = ["grafana", "dashboard", "dashboard folders", "folder", "folders", "documentation", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/dashboard_folders/"] aliases = ["/docs/grafana/latest/reference/dashboard_folders/"]
[menu.docs]
name = "Folders"
parent = "dashboard_features"
weight = 3 weight = 3
+++ +++

View File

@ -1,11 +1,7 @@
+++ +++
title = "Dashboard Version History" title = "Dashboard Version History"
keywords = ["grafana", "dashboard", "documentation", "version", "history"] keywords = ["grafana", "dashboard", "documentation", "version", "history"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/dashboard_history/"] aliases = ["/docs/grafana/latest/reference/dashboard_history/"]
[menu.docs]
name = "Dashboard Version History"
parent = "dashboard_features"
weight = 100 weight = 100
+++ +++

View File

@ -1,10 +1,7 @@
+++ +++
title = "Export and import" title = "Export and import"
keywords = ["grafana", "dashboard", "documentation", "export", "import"] keywords = ["grafana", "dashboard", "documentation", "export", "import"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/export_import/"] aliases = ["/docs/grafana/latest/reference/export_import/"]
[menu.docs]
parent = "dashboard_features"
weight = 800 weight = 800
+++ +++
@ -30,7 +27,7 @@ the dashboard, and will also be added as a required input when the dashboard is
## Importing a dashboard ## Importing a dashboard
To import a dashboard click the + icon in the side menu, and then click **Import**. To import a dashboard click the + icon in the side menu, and then click **Import**.
{{< docs-imagebox img="/img/docs/v70/import_step1.png" max-width="700px" >}} {{< docs-imagebox img="/img/docs/v70/import_step1.png" max-width="700px" >}}

View File

@ -1,11 +1,7 @@
+++ +++
title = "JSON model" title = "JSON model"
keywords = ["grafana", "dashboard", "documentation", "json", "model"] keywords = ["grafana", "dashboard", "documentation", "json", "model"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/dashboard/"] aliases = ["/docs/grafana/latest/reference/dashboard/"]
[menu.docs]
name = "JSON Model"
parent = "dashboard_features"
weight = 1200 weight = 1200
+++ +++

View File

@ -1,11 +1,7 @@
+++ +++
title = "Playlist" title = "Playlist"
keywords = ["grafana", "dashboard", "documentation", "playlist"] keywords = ["grafana", "dashboard", "documentation", "playlist"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/playlist/"] aliases = ["/docs/grafana/latest/reference/playlist/"]
[menu.docs]
parent = "dashboard_features"
identifier = "feature_playlist"
weight = 4 weight = 4
+++ +++
@ -22,7 +18,7 @@ You can access the Playlist feature from Grafana's side menu, in the Dashboards
## Create a playlist ## Create a playlist
You create a playlist to present dashboards in a sequence, with a set order and time interval between dashboards. You create a playlist to present dashboards in a sequence, with a set order and time interval between dashboards.
1. To access the Playlist feature, hover your cursor over Grafana's side menu. 1. To access the Playlist feature, hover your cursor over Grafana's side menu.
1. Click **Playlists**. 1. Click **Playlists**.
@ -32,7 +28,7 @@ You create a playlist to present dashboards in a sequence, with a set order and
The time interval is the amount of time for Grafana to stay on a particular dashboard before advancing to the next one on the playlist. The time interval is the amount of time for Grafana to stay on a particular dashboard before advancing to the next one on the playlist.
1. Next to the dashboard(s) you want to add to your playlist, click **Add to playlist**. 1. Next to the dashboard(s) you want to add to your playlist, click **Add to playlist**.
1. Click **Create**. 1. Click **Create**.
## Edit a playlist ## Edit a playlist
@ -46,7 +42,7 @@ You can edit playlists while creating them or after saving them.
### Edit the Name of a playlist ### Edit the Name of a playlist
1. Double-click within the **Name** text box. 1. Double-click within the **Name** text box.
1. Enter a name. 1. Enter a name.
1. Click **Save** to save your changes. 1. Click **Save** to save your changes.
### Edit the Interval of a playlist ### Edit the Interval of a playlist
@ -62,9 +58,9 @@ You can edit playlists while creating them or after saving them.
### Search for a dashboard to add ### Search for a dashboard to add
1. Click the **Search dashboards by name** text box. 1. Click the **Search dashboards by name** text box.
1. Search for the playlist by name or regular expression. 1. Search for the playlist by name or regular expression.
1. If needed, filter your results by starred status or tags. 1. If needed, filter your results by starred status or tags.
By default, your starred dashboards will appear as options to add to the Playlist. By default, your starred dashboards will appear as options to add to the Playlist.
1. Click **Save** to save your changes. 1. Click **Save** to save your changes.
@ -85,18 +81,18 @@ You can edit playlists while creating them or after saving them.
## Save a playlist ## Save a playlist
You can save a playlist to add it to your **Playlists** page, where you can start it. Be sure that all the dashboards you want to appear in your playlist are added when creating or editing the playlist before saving it. You can save a playlist to add it to your **Playlists** page, where you can start it. Be sure that all the dashboards you want to appear in your playlist are added when creating or editing the playlist before saving it.
1. To access the Playlist feature, hover your cursor over Grafana's side menu. 1. To access the Playlist feature, hover your cursor over Grafana's side menu.
1. Click **Playlists**. 1. Click **Playlists**.
1. Click on the playlist. 1. Click on the playlist.
1. Edit the playlist. 1. Edit the playlist.
* Ensure that your playlist has a **Name**, **Interval**, and at least one **Dashboard** added to it. * Ensure that your playlist has a **Name**, **Interval**, and at least one **Dashboard** added to it.
1. Click **Save**. 1. Click **Save**.
## Start a playlist ## Start a playlist
You can start a playlist in five different view modes, which determine how the menus and navigation bar are displayed on the dashboards. You can start a playlist in five different view modes, which determine how the menus and navigation bar are displayed on the dashboards.
By default, each dashboard is displayed for the amount of time entered in the Interval field, which can be set while creating or editing a playlist. Once a playlist is started, it can be controlled using the navbar at the top of your screen. By default, each dashboard is displayed for the amount of time entered in the Interval field, which can be set while creating or editing a playlist. Once a playlist is started, it can be controlled using the navbar at the top of your screen.
@ -104,24 +100,24 @@ By default, each dashboard is displayed for the amount of time entered in the In
1. Next to the playlist you want to start, click **Start playlist**. 1. Next to the playlist you want to start, click **Start playlist**.
1. In the dropdown, select the mode you want the playlist to display in. 1. In the dropdown, select the mode you want the playlist to display in.
- **Normal mode:** - **Normal mode:**
- The side menu remains visible. - The side menu remains visible.
- The navbar, row and panel controls appear at the top of the screen. - The navbar, row and panel controls appear at the top of the screen.
- **TV mode:** - **TV mode:**
- The side menu is hidden/removed. - The side menu is hidden/removed.
- The navbar, row and panel controls appear at the top of the screen. - The navbar, row and panel controls appear at the top of the screen.
- Enabled automatically after one minute of user inactivity. - Enabled automatically after one minute of user inactivity.
- You can enable it manually using the `d v` sequence shortcut, or by appending the parameter `?inactive` to the dashboard URL. - You can enable it manually using the `d v` sequence shortcut, or by appending the parameter `?inactive` to the dashboard URL.
- You can disable it with any mouse movement or keyboard action. - You can disable it with any mouse movement or keyboard action.
- **TV mode (with auto fit panels):** - **TV mode (with auto fit panels):**
- The side menu is hidden/removed. - The side menu is hidden/removed.
- The navbar, row and panel controls appear at the top of the screen. - The navbar, row and panel controls appear at the top of the screen.
- Dashboard panels automatically adjust to optimize space on screen. - Dashboard panels automatically adjust to optimize space on screen.
- **Kiosk mode:** - **Kiosk mode:**
- The side menu, navbar, row and panel controls are completely hidden/removed from view. - The side menu, navbar, row and panel controls are completely hidden/removed from view.
- You can enable it manually using the `d v` sequence shortcut after the playlist has started. - You can enable it manually using the `d v` sequence shortcut after the playlist has started.
- You can disable it manually with the same shortcut. - You can disable it manually with the same shortcut.
- **Kiosk mode (with auto fit panels):** - **Kiosk mode (with auto fit panels):**
- The side menu, navbar, row and panel controls are completely hidden/removed from view. - The side menu, navbar, row and panel controls are completely hidden/removed from view.
- Dashboard panels automatically adjust to optimize space on screen. - Dashboard panels automatically adjust to optimize space on screen.
## Control a playlist ## Control a playlist
@ -141,12 +137,12 @@ You can control a playlist in **Normal** or **TV** mode after it's started, usin
## Share a playlist in a view mode ## Share a playlist in a view mode
You can share a playlist by copying the link address on the view mode you prefer, and pasting the URL to your destination. You can share a playlist by copying the link address on the view mode you prefer, and pasting the URL to your destination.
1. From the Dashboards submenu, click **Playlists**. 1. From the Dashboards submenu, click **Playlists**.
1. Next to the playlist you want to share, click **Start playlist**. 1. Next to the playlist you want to share, click **Start playlist**.
1. In the dropdown, right click the view mode you prefer. 1. In the dropdown, right click the view mode you prefer.
1. Click **Copy Link Address** to copy the URL to your clipboard. 1. Click **Copy Link Address** to copy the URL to your clipboard.
Example: The URL for the first playlist on the Grafana Play site in Kiosk mode will look like this: Example: The URL for the first playlist on the Grafana Play site in Kiosk mode will look like this:
[https://play.grafana.org/playlists/play/1?kiosk](https://play.grafana.org/playlists/play/1?kiosk). [https://play.grafana.org/playlists/play/1?kiosk](https://play.grafana.org/playlists/play/1?kiosk).

View File

@ -2,10 +2,7 @@
title = "Reporting" title = "Reporting"
description = "" description = ""
keywords = ["grafana", "reporting"] keywords = ["grafana", "reporting"]
type = "docs"
aliases = ["/docs/grafana/latest/administration/reports"] aliases = ["/docs/grafana/latest/administration/reports"]
[menu.docs]
parent = "features"
weight = 8 weight = 8
+++ +++

View File

@ -1,10 +1,7 @@
+++ +++
title = "Scripted dashboards" title = "Scripted dashboards"
keywords = ["grafana", "dashboard", "documentation", "scripted"] keywords = ["grafana", "dashboard", "documentation", "scripted"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/scripting/"] aliases = ["/docs/grafana/latest/reference/scripting/"]
[menu.docs]
parent = "dashboard_features"
weight = 1500 weight = 1500
+++ +++

View File

@ -1,10 +1,7 @@
+++ +++
title = "Search" title = "Search"
keywords = ["grafana", "dashboard", "documentation", "search"] keywords = ["grafana", "dashboard", "documentation", "search"]
type = "docs"
aliases =["/docs/grafana/latest/reference/search/"] aliases =["/docs/grafana/latest/reference/search/"]
[menu.docs]
parent = "dashboard_features"
weight = 5 weight = 5
+++ +++

View File

@ -1,10 +1,7 @@
+++ +++
title = "Share dashboard" title = "Share dashboard"
keywords = ["grafana", "dashboard", "documentation", "sharing"] keywords = ["grafana", "dashboard", "documentation", "sharing"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/share_dashboard/"] aliases = ["/docs/grafana/latest/reference/share_dashboard/"]
[menu.docs]
parent = "dashboard_features"
weight = 500 weight = 500
+++ +++

View File

@ -1,10 +1,7 @@
+++ +++
title = "Share panel" title = "Share panel"
keywords = ["grafana", "dashboard", "documentation", "sharing"] keywords = ["grafana", "dashboard", "documentation", "sharing"]
type = "docs"
aliases = ["/docs/grafana/latest/reference/share_panel/"] aliases = ["/docs/grafana/latest/reference/share_panel/"]
[menu.docs]
parent = "dashboard_features"
weight = 600 weight = 600
+++ +++

View File

@ -1,8 +1,5 @@
+++ +++
title = "Keyboard shortcuts" title = "Keyboard shortcuts"
type = "docs"
[menu.docs]
parent = "features"
weight = 7 weight = 7
+++ +++

View File

@ -2,10 +2,6 @@
title = "Time range controls" title = "Time range controls"
keywords = ["grafana", "dashboard", "documentation", "time range"] keywords = ["grafana", "dashboard", "documentation", "time range"]
aliases = ["/docs/grafana/latest/reference/timerange/"] aliases = ["/docs/grafana/latest/reference/timerange/"]
type = "docs"
[menu.docs]
name = "Time range controls"
parent = "dashboards"
weight = 7 weight = 7
+++ +++

View File

@ -1,12 +1,7 @@
+++ +++
title = "Data sources" title = "Data sources"
type = "docs"
aliases = ["/docs/grafana/latest/datasources/overview/"] aliases = ["/docs/grafana/latest/datasources/overview/"]
[menu.docs] weight = 60
name = "Data sources"
identifier = "datasources"
parent = "features"
weight = 50
+++ +++
# Data sources # Data sources

View File

@ -1,11 +1,6 @@
+++ +++
title = "Add data source" title = "Add data source"
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/add-a-data-source/"] aliases = ["/docs/grafana/latest/features/datasources/add-a-data-source/"]
[menu.docs]
name = "Add a data source"
identifier = "add_data_source"
parent = "features"
weight = 100 weight = 100
+++ +++
@ -23,7 +18,7 @@ Before you create your first dashboard, you need to add your data source. Follow
{{< docs-imagebox img="/img/docs/v52/add-datasource.png" max-width="700px" class="docs-image--no-shadow">}} {{< docs-imagebox img="/img/docs/v52/add-datasource.png" max-width="700px" class="docs-image--no-shadow">}}
1. In the **Name** box, enter a name for this data source. 1. In the **Name** box, enter a name for this data source.
{{< docs-imagebox img="/img/docs/v52/datasource-settings.png" max-width="700px" class="docs-image--no-shadow">}} {{< docs-imagebox img="/img/docs/v52/datasource-settings.png" max-width="700px" class="docs-image--no-shadow">}}

View File

@ -2,11 +2,7 @@
title = "Azure Monitor" title = "Azure Monitor"
description = "Guide for using Azure Monitor in Grafana" description = "Guide for using Azure Monitor in Grafana"
keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"] keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/azuremonitor"] aliases = ["/docs/grafana/latest/features/datasources/azuremonitor"]
[menu.docs]
name = "Azure Monitor"
parent = "datasources"
weight = 300 weight = 300
+++ +++

View File

@ -2,11 +2,7 @@
title = "Cloud Monitoring" title = "Cloud Monitoring"
description = "Guide for using Google Cloud Monitoring in Grafana" description = "Guide for using Google Cloud Monitoring in Grafana"
keywords = ["grafana", "stackdriver", "google", "guide", "cloud", "monitoring"] keywords = ["grafana", "stackdriver", "google", "guide", "cloud", "monitoring"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/stackdriver", "/docs/grafana/latest/features/datasources/cloudmonitoring/"] aliases = ["/docs/grafana/latest/features/datasources/stackdriver", "/docs/grafana/latest/features/datasources/cloudmonitoring/"]
[menu.docs]
name = "Google Cloud Monitoring"
parent = "datasources"
weight = 200 weight = 200
+++ +++

View File

@ -2,12 +2,7 @@
title = "AWS CloudWatch" title = "AWS CloudWatch"
description = "Guide for using CloudWatch in Grafana" description = "Guide for using CloudWatch in Grafana"
keywords = ["grafana", "cloudwatch", "guide"] keywords = ["grafana", "cloudwatch", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/datasources/cloudwatch"] aliases = ["/docs/grafana/latest/datasources/cloudwatch"]
[menu.docs]
name = "AWS Cloudwatch"
identifier = "cloudwatch"
parent = "datasources"
weight = 200 weight = 200
+++ +++

View File

@ -2,11 +2,7 @@
title = "Elasticsearch" title = "Elasticsearch"
description = "Guide for using Elasticsearch in Grafana" description = "Guide for using Elasticsearch in Grafana"
keywords = ["grafana", "elasticsearch", "guide"] keywords = ["grafana", "elasticsearch", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/elasticsearch"] aliases = ["/docs/grafana/latest/features/datasources/elasticsearch"]
[menu.docs]
name = "Elasticsearch"
parent = "datasources"
weight = 400 weight = 400
+++ +++
@ -95,7 +91,7 @@ For example, if you're using a default setup of Filebeat for shipping logs to El
Data links create a link from a specified field that can be accessed in logs view in Explore. Data links create a link from a specified field that can be accessed in logs view in Explore.
Each data link configuration consists of: Each data link configuration consists of:
- **Field -** Name of the field used by the data link. - **Field -** Name of the field used by the data link.
- **URL/query -** If the link is external, then enter the full link URL. If the link is internal link, then this input serves as query for the target data source. In both cases, you can interpolate the value from the field with `${__value.raw }` macro. - **URL/query -** If the link is external, then enter the full link URL. If the link is internal link, then this input serves as query for the target data source. In both cases, you can interpolate the value from the field with `${__value.raw }` macro.
- **Internal link -** Select if the link is internal or external. In case of internal link, a data source selector allows you to select the target data source. Only tracing data sources are supported. - **Internal link -** Select if the link is internal or external. In case of internal link, a data source selector allows you to select the target data source. Only tracing data sources are supported.

View File

@ -2,12 +2,7 @@
title = "Graphite" title = "Graphite"
description = "Guide for using graphite in Grafana" description = "Guide for using graphite in Grafana"
keywords = ["grafana", "graphite", "guide"] keywords = ["grafana", "graphite", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/graphite"] aliases = ["/docs/grafana/latest/features/datasources/graphite"]
[menu.docs]
name = "Graphite"
identifier = "graphite"
parent = "datasources"
weight = 600 weight = 600
+++ +++

View File

@ -2,11 +2,7 @@
title = "InfluxDB" title = "InfluxDB"
description = "Guide for using InfluxDB in Grafana" description = "Guide for using InfluxDB in Grafana"
keywords = ["grafana", "influxdb", "guide", "flux"] keywords = ["grafana", "influxdb", "guide", "flux"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/influxdb"] aliases = ["/docs/grafana/latest/features/datasources/influxdb"]
[menu.docs]
name = "InfluxDB"
parent = "datasources"
weight = 700 weight = 700
+++ +++
@ -68,7 +64,7 @@ Identifier | Description
{{< docs-imagebox img="/img/docs/v45/influxdb_query_still.png" class="docs-image--no-shadow" animated-gif="/img/docs/v45/influxdb_query.gif" >}} {{< docs-imagebox img="/img/docs/v45/influxdb_query_still.png" class="docs-image--no-shadow" animated-gif="/img/docs/v45/influxdb_query.gif" >}}
You can access the InfluxDB editor under the metrics tab when you are in the edit mode of the Graph or Singlestat panels. You can access the InfluxDB editor under the metrics tab when you are in the edit mode of the Graph or Singlestat panels.
Enter edit mode by clicking the panel title and clicking **Edit**. The editor allows you to select metrics and tags. Enter edit mode by clicking the panel title and clicking **Edit**. The editor allows you to select metrics and tags.
### Filter data (WHERE) ### Filter data (WHERE)
@ -180,7 +176,7 @@ You can view the interpolated version of a query with the Query Inspector.
> Only available in Grafana v6.3+. > Only available in Grafana v6.3+.
Querying and displaying log data from InfluxDB is available in [Explore]({{< relref "../explore" >}}), and in the [logs panel]({{< relref "../panels/visualizations/logs-panel.md" >}}) in dashboards. Querying and displaying log data from InfluxDB is available in [Explore]({{< relref "../explore" >}}), and in the [logs panel]({{< relref "../panels/visualizations/logs-panel.md" >}}) in dashboards.
Select the InfluxDB data source, and then enter a query to display your logs. Select the InfluxDB data source, and then enter a query to display your logs.
### Log Queries ### Log Queries

View File

@ -2,11 +2,7 @@
title = "Jaeger" title = "Jaeger"
description = "Guide for using Jaeger in Grafana" description = "Guide for using Jaeger in Grafana"
keywords = ["grafana", "jaeger", "guide", "tracing"] keywords = ["grafana", "jaeger", "guide", "tracing"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/jaeger"] aliases = ["/docs/grafana/latest/features/datasources/jaeger"]
[menu.docs]
name = "Jaeger"
parent = "datasources"
weight = 800 weight = 800
+++ +++

View File

@ -2,11 +2,7 @@
title = "Loki" title = "Loki"
description = "Guide for using Loki in Grafana" description = "Guide for using Loki in Grafana"
keywords = ["grafana", "loki", "logging", "guide"] keywords = ["grafana", "loki", "logging", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/loki"] aliases = ["/docs/grafana/latest/features/datasources/loki"]
[menu.docs]
name = "Loki"
parent = "datasources"
weight = 800 weight = 800
+++ +++

View File

@ -2,11 +2,7 @@
title = "Microsoft SQL Server" title = "Microsoft SQL Server"
description = "Guide for using Microsoft SQL Server in Grafana" description = "Guide for using Microsoft SQL Server in Grafana"
keywords = ["grafana", "MSSQL", "Microsoft", "SQL", "guide", "Azure SQL Database"] keywords = ["grafana", "MSSQL", "Microsoft", "SQL", "guide", "Azure SQL Database"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/mssql/"] aliases = ["/docs/grafana/latest/features/datasources/mssql/"]
[menu.docs]
name = "Microsoft SQL Server"
parent = "datasources"
weight = 900 weight = 900
+++ +++

View File

@ -2,11 +2,7 @@
title = "MySQL" title = "MySQL"
description = "Guide for using MySQL in Grafana" description = "Guide for using MySQL in Grafana"
keywords = ["grafana", "mysql", "guide"] keywords = ["grafana", "mysql", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/mysql/"] aliases = ["/docs/grafana/latest/features/datasources/mysql/"]
[menu.docs]
name = "MySQL"
parent = "datasources"
weight = 1000 weight = 1000
+++ +++

View File

@ -2,11 +2,7 @@
title = "OpenTSDB" title = "OpenTSDB"
description = "Guide for using OpenTSDB in Grafana" description = "Guide for using OpenTSDB in Grafana"
keywords = ["grafana", "opentsdb", "guide"] keywords = ["grafana", "opentsdb", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/opentsdb", "/docs/grafana/latest/features/datasources/opentsdb/"] aliases = ["/docs/grafana/latest/features/opentsdb", "/docs/grafana/latest/features/datasources/opentsdb/"]
[menu.docs]
name = "OpenTSDB"
parent = "datasources"
weight = 1100 weight = 1100
+++ +++

View File

@ -2,11 +2,7 @@
title = "PostgreSQL" title = "PostgreSQL"
description = "Guide for using PostgreSQL in Grafana" description = "Guide for using PostgreSQL in Grafana"
keywords = ["grafana", "postgresql", "guide"] keywords = ["grafana", "postgresql", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/postgres/"] aliases = ["/docs/grafana/latest/features/datasources/postgres/"]
[menu.docs]
name = "PostgreSQL"
parent = "datasources"
weight = 1200 weight = 1200
+++ +++

View File

@ -2,11 +2,7 @@
title = "Prometheus" title = "Prometheus"
description = "Guide for using Prometheus in Grafana" description = "Guide for using Prometheus in Grafana"
keywords = ["grafana", "prometheus", "guide"] keywords = ["grafana", "prometheus", "guide"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/prometheus"] aliases = ["/docs/grafana/latest/features/datasources/prometheus"]
[menu.docs]
name = "Prometheus"
parent = "datasources"
weight = 1300 weight = 1300
+++ +++

View File

@ -2,11 +2,7 @@
title = "Tempo" title = "Tempo"
description = "High volume, minimal dependency trace storage. OSS tracing solution from Grafana Labs." description = "High volume, minimal dependency trace storage. OSS tracing solution from Grafana Labs."
keywords = ["grafana", "tempo", "guide", "tracing"] keywords = ["grafana", "tempo", "guide", "tracing"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/tempo"] aliases = ["/docs/grafana/latest/features/datasources/tempo"]
[menu.docs]
name = "Tempo"
parent = "datasources"
weight = 800 weight = 800
+++ +++

View File

@ -1,11 +1,7 @@
+++ +++
title = "TestData" title = "TestData"
keywords = ["grafana", "dashboard", "documentation", "panels", "testdata"] keywords = ["grafana", "dashboard", "documentation", "panels", "testdata"]
type = "docs"
aliases = ["/docs/grafana/latest/features/datasources/testdata"] aliases = ["/docs/grafana/latest/features/datasources/testdata"]
[menu.docs]
name = "TestData"
parent = "datasources"
weight = 1400 weight = 1400
+++ +++
@ -17,9 +13,9 @@ This makes it much easier to verify functionality since the data can be shared v
## Enable ## Enable
The `TestData DB` data source is not enabled by default. To enable it: The `TestData DB` data source is not enabled by default. To enable it:
1. In the **Configuration** menu (small gear on the left side of the screen), click **Data Sources**. 1. In the **Configuration** menu (small gear on the left side of the screen), click **Data Sources**.
1. Click **Add Data Source**. 1. Click **Add Data Source**.
1. Search and click `TestData DB`. 1. Search and click `TestData DB`.
1. Click **Save & Test** to enable it. 1. Click **Save & Test** to enable it.
@ -39,7 +35,7 @@ Once you provided the numbers, `TestData DB` distributes them evenly based on th
## Dashboards ## Dashboards
`TestData DB` also contains some dashboards with examples. `TestData DB` also contains some dashboards with examples.
1. Click **Configuration** > **Data Sources** > **TestData DB** > **Dashboards**. 1. Click **Configuration** > **Data Sources** > **TestData DB** > **Dashboards**.
1. **Import** the **Simple Streaming Example** dashboard. 1. **Import** the **Simple Streaming Example** dashboard.

View File

@ -2,11 +2,7 @@
title = "Zipkin" title = "Zipkin"
description = "Guide for using Zipkin in Grafana" description = "Guide for using Zipkin in Grafana"
keywords = ["grafana", "zipkin", "guide", "tracing"] keywords = ["grafana", "zipkin", "guide", "tracing"]
type = "docs"
aliases = ["/docs/grafana/latest/datasources/zipkin"] aliases = ["/docs/grafana/latest/datasources/zipkin"]
[menu.docs]
name = "Zipkin"
parent = "datasources"
weight = 1500 weight = 1500
+++ +++
@ -36,7 +32,7 @@ Querying and displaying traces from Zipkin is available via [Explore]({{< relref
The Zipkin query editor allows you to query by trace ID directly or selecting a trace from trace selector. To query by trace ID, insert the ID into the text input. The Zipkin query editor allows you to query by trace ID directly or selecting a trace from trace selector. To query by trace ID, insert the ID into the text input.
{{< docs-imagebox img="/img/docs/v70/zipkin-query-editor-open.png" class="docs-image--no-shadow" caption="Screenshot of the Zipkin query editor with trace selector expanded" >}} {{< docs-imagebox img="/img/docs/v70/zipkin-query-editor-open.png" class="docs-image--no-shadow" caption="Screenshot of the Zipkin query editor with trace selector expanded" >}}
Use the trace selector to pick particular trace from all traces logged in the time range you have selected in Explore. The trace selector has three levels of nesting: Use the trace selector to pick particular trace from all traces logged in the time range you have selected in Explore. The trace selector has three levels of nesting:
1. The service you are interested in. 1. The service you are interested in.

View File

@ -1,7 +1,7 @@
+++ +++
title = "Developers" title = "Developers"
type = "docs"
aliases = ["/docs/plugins/developing/"] aliases = ["/docs/plugins/developing/"]
weight = 190
+++ +++
# Developers # Developers

View File

@ -1,7 +1,6 @@
+++ +++
title = "Contributor License Agreement (CLA)" title = "Contributor License Agreement (CLA)"
description = "Contributor License Agreement (CLA)" description = "Contributor License Agreement (CLA)"
type = "docs"
aliases = ["/docs/grafana/latest/project/cla", "docs/contributing/cla.html"] aliases = ["/docs/grafana/latest/project/cla", "docs/contributing/cla.html"]
+++ +++

View File

@ -1,7 +1,6 @@
+++ +++
title = "Contribute to Grafana" title = "Contribute to Grafana"
keywords = ["grafana", "documentation", "developers", "resources"] keywords = ["grafana", "documentation", "developers", "resources"]
type = "docs"
+++ +++
# Contribute to Grafana # Contribute to Grafana

View File

@ -1,6 +1,5 @@
+++ +++
title = "Build a plugin." title = "Build a plugin."
type = "docs"
+++ +++
# Build a plugin # Build a plugin

View File

@ -1,6 +1,5 @@
+++ +++
title = "Add authentication for data source plugins" title = "Add authentication for data source plugins"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/auth-for-datasources/", "/docs/grafana/latest/developers/plugins/authentication/"] aliases = ["/docs/grafana/latest/plugins/developing/auth-for-datasources/", "/docs/grafana/latest/developers/plugins/authentication/"]
+++ +++

View File

@ -1,6 +1,5 @@
+++ +++
title = "Add support for annotations" title = "Add support for annotations"
type = "docs"
+++ +++
# Add support for annotations # Add support for annotations

View File

@ -1,6 +1,5 @@
+++ +++
title = "Add support for Explore queries" title = "Add support for Explore queries"
type = "docs"
+++ +++
# Add support for Explore queries # Add support for Explore queries

View File

@ -1,6 +1,5 @@
+++ +++
title = "Add support for variables in plugins" title = "Add support for variables in plugins"
type = "docs"
+++ +++
# Add support for variables in plugins # Add support for variables in plugins

View File

@ -1,7 +1,6 @@
+++ +++
title = "Backend plugins" title = "Backend plugins"
keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"] keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/backend-plugins-guide/"] aliases = ["/docs/grafana/latest/plugins/developing/backend-plugins-guide/"]
+++ +++

View File

@ -1,7 +1,6 @@
+++ +++
title = "Grafana Plugin SDK for Go" title = "Grafana Plugin SDK for Go"
keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "sdk", "documentation"] keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "sdk", "documentation"]
type = "docs"
+++ +++
# Grafana plugin SDK for Go # Grafana plugin SDK for Go

View File

@ -1,7 +1,6 @@
+++ +++
title = "Plugin protocol" title = "Plugin protocol"
keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"] keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"]
type = "docs"
+++ +++
# Plugin protocol # Plugin protocol

View File

@ -1,6 +1,5 @@
+++ +++
title = "Build a logs data source plugin" title = "Build a logs data source plugin"
type = "docs"
+++ +++
# Build a logs data source plugin # Build a logs data source plugin

View File

@ -1,6 +1,5 @@
+++ +++
title = "Build a streaming data source plugin" title = "Build a streaming data source plugin"
type = "docs"
+++ +++
# Build a streaming data source plugin # Build a streaming data source plugin

View File

@ -1,6 +1,5 @@
+++ +++
title = "Data frames" title = "Data frames"
type = "docs"
+++ +++
# Data frames # Data frames

View File

@ -1,6 +1,5 @@
+++ +++
title = "Error handling" title = "Error handling"
type = "docs"
+++ +++
# Error handling # Error handling

View File

@ -1,6 +1,5 @@
+++ +++
title = "Legacy plugins" title = "Legacy plugins"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/development/", "/docs/grafana/latest/plugins/datasources/", "/docs/grafana/latest/plugins/apps/", "/docs/grafana/latest/plugins/panels/", "/docs/grafana/latest/plugins/developing/development/"] aliases = ["/docs/grafana/latest/plugins/development/", "/docs/grafana/latest/plugins/datasources/", "/docs/grafana/latest/plugins/apps/", "/docs/grafana/latest/plugins/panels/", "/docs/grafana/latest/plugins/developing/development/"]
+++ +++

View File

@ -1,7 +1,6 @@
+++ +++
title = "Legacy app plugins" title = "Legacy app plugins"
keywords = ["grafana", "plugins", "documentation"] keywords = ["grafana", "plugins", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/apps/"] aliases = ["/docs/grafana/latest/plugins/developing/apps/"]
+++ +++

View File

@ -1,7 +1,6 @@
+++ +++
title = "Legacy data source plugins" title = "Legacy data source plugins"
keywords = ["grafana", "plugins", "documentation"] keywords = ["grafana", "plugins", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/datasources/"] aliases = ["/docs/grafana/latest/plugins/developing/datasources/"]
+++ +++

View File

@ -1,6 +1,5 @@
+++ +++
title = "Legacy defaults and editor mode" title = "Legacy defaults and editor mode"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/defaults-and-editor-mode/"] aliases = ["/docs/grafana/latest/plugins/developing/defaults-and-editor-mode/"]
+++ +++

View File

@ -1,7 +1,6 @@
+++ +++
title = "Legacy panel plugins" title = "Legacy panel plugins"
keywords = ["grafana", "plugins", "panel", "documentation"] keywords = ["grafana", "plugins", "panel", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/panels/"] aliases = ["/docs/grafana/latest/plugins/developing/panels/"]
+++ +++

View File

@ -1,6 +1,5 @@
+++ +++
title = "Legacy review guidelines" title = "Legacy review guidelines"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/plugin-review-guidelines/"] aliases = ["/docs/grafana/latest/plugins/developing/plugin-review-guidelines/"]
+++ +++

View File

@ -1,6 +1,5 @@
+++ +++
title = "Legacy snapshot mode" title = "Legacy snapshot mode"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/snapshot-mode/"] aliases = ["/docs/grafana/latest/plugins/developing/snapshot-mode/"]
+++ +++

View File

@ -1,6 +1,5 @@
+++ +++
title = "Legacy code style guide" title = "Legacy code style guide"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/code-styleguide/"] aliases = ["/docs/grafana/latest/plugins/developing/code-styleguide/"]
+++ +++

View File

@ -4,7 +4,6 @@
# ------------------------------------------------------------------------- # -------------------------------------------------------------------------
title = "plugin.json" title = "plugin.json"
keywords = ["grafana", "plugins", "documentation"] keywords = ["grafana", "plugins", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/plugins/developing/plugin.json/"] aliases = ["/docs/grafana/latest/plugins/developing/plugin.json/"]
+++ +++

Some files were not shown because too many files have changed in this diff Show More