diff --git a/.betterer.results b/.betterer.results index 7c54b12b30d..14981d93b13 100644 --- a/.betterer.results +++ b/.betterer.results @@ -173,9 +173,6 @@ exports[`no enzyme tests`] = { "public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:4164297658": [ [0, 17, 13, "RegExp match", "2409514259"] ], - "public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:523695501": [ - [0, 17, 13, "RegExp match", "2409514259"] - ], "public/app/features/folders/FolderSettingsPage.test.tsx:1109052730": [ [0, 19, 13, "RegExp match", "2409514259"] ], @@ -203,7 +200,7 @@ exports[`no enzyme tests`] = { "public/app/features/teams/TeamSettings.test.tsx:2043271249": [ [0, 19, 13, "RegExp match", "2409514259"] ], - "public/app/features/users/UsersListPage.test.tsx:3908145117": [ + "public/app/features/users/UsersListPage.test.tsx:2518052139": [ [0, 19, 13, "RegExp match", "2409514259"] ], "public/app/features/users/UsersTable.test.tsx:263958312": [ diff --git a/conf/defaults.ini b/conf/defaults.ini index 2120725f2ca..d7de0adab5b 100644 --- a/conf/defaults.ini +++ b/conf/defaults.ini @@ -305,7 +305,7 @@ content_security_policy = false # $ROOT_PATH is server.root_url without the protocol. content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';""" -# Controls if old angular plugins are supported or not. This will be disabled by default in Grafana v9. +# Controls if old angular plugins are supported or not. This will be disabled by default in future release angular_support_enabled = true [security.encryption] @@ -582,8 +582,6 @@ enabled = false header_name = X-WEBAUTH-USER header_property = username auto_sign_up = true -# Deprecated, use sync_ttl instead -ldap_sync_ttl = 60 sync_ttl = 60 whitelist = headers = @@ -1174,9 +1172,6 @@ promQueryBuilder = true # The new loki visual query builder lokiQueryBuilder = true -# InfluxDB backend migration -influxdbBackendMigration = true - # Experimental Explore to Dashboard workflow explore2Dashboard = true diff --git a/conf/sample.ini b/conf/sample.ini index 2467dc3a22c..8d8fd35ae33 100644 --- a/conf/sample.ini +++ b/conf/sample.ini @@ -305,7 +305,7 @@ # $ROOT_PATH is server.root_url without the protocol. ;content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';""" -# Controls if old angular plugins are supported or not. This will be disabled by default in Grafana v9. +# Controls if old angular plugins are supported or not. This will be disabled by default in future release ;angular_support_enabled = true [security.encryption] diff --git a/docs/sources/_index.md b/docs/sources/_index.md index 193dbea6b48..7ff19b1fb26 100644 --- a/docs/sources/_index.md +++ b/docs/sources/_index.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/", "/docs/grafana/latest/guides/reference/admin/", "/docs/grafana/v1.1/", "/docs/grafana/v3.1/"] -description = "Guides, Installation and Feature Documentation" -keywords = ["grafana", "installation", "documentation"] -title = "Grafana documentation" -+++ +--- +aliases: + - /docs/grafana/latest/ + - /docs/grafana/latest/guides/reference/admin/ + - /docs/grafana/v1.1/ + - /docs/grafana/v3.1/ +description: Guides, Installation and Feature Documentation +keywords: + - grafana + - installation + - documentation +title: Grafana documentation +--- # Grafana documentation diff --git a/docs/sources/administration/_index.md b/docs/sources/administration/_index.md index a9798e2b693..84e4e51d12c 100644 --- a/docs/sources/administration/_index.md +++ b/docs/sources/administration/_index.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/administration/"] -description = "Administration" -title = "Administration" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/administration/ +description: Administration +title: Administration +weight: 40 +--- # Administration diff --git a/docs/sources/administration/cli.md b/docs/sources/administration/cli.md index 3056312c725..849d51a76af 100644 --- a/docs/sources/administration/cli.md +++ b/docs/sources/administration/cli.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/administration/cli/"] -description = "Guide to using grafana-cli" -keywords = ["grafana", "cli", "grafana-cli", "command line interface"] -title = "Grafana CLI" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/administration/cli/ +description: Guide to using grafana-cli +keywords: + - grafana + - cli + - grafana-cli + - command line interface +title: Grafana CLI +weight: 400 +--- # Grafana CLI diff --git a/docs/sources/administration/configuration.md b/docs/sources/administration/configuration.md index a77fe93edae..311a8fa453c 100644 --- a/docs/sources/administration/configuration.md +++ b/docs/sources/administration/configuration.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/administration/configuration/", "/docs/grafana/latest/installation/configuration/"] -description = "Configuration documentation" -keywords = ["grafana", "configuration", "documentation"] -title = "Configuration" -weight = 150 -+++ +--- +aliases: + - /docs/grafana/latest/administration/configuration/ + - /docs/grafana/latest/installation/configuration/ +description: Configuration documentation +keywords: + - grafana + - configuration + - documentation +title: Configuration +weight: 150 +--- # Configuration @@ -602,7 +607,7 @@ Set Content Security Policy template used when adding the Content-Security-Polic ### angular_support_enabled -This currently defaults to `true` but will in Grafana v9 default to `false`. When set to false the angular framework and support components will not be loaded. This means that +This currently defaults to `true` but will default to `false` in a future release. When set to false the angular framework and support components will not be loaded. This means that all plugins and core features that depend on angular support will stop working. Current core features that will stop working: diff --git a/docs/sources/administration/configure-docker.md b/docs/sources/administration/configure-docker.md index 217fa558821..1c1d800b95b 100644 --- a/docs/sources/administration/configure-docker.md +++ b/docs/sources/administration/configure-docker.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/administration/configure-docker/", "/docs/grafana/latest/installation/configure-docker/"] -description = "Guide for configuring the Grafana Docker image" -keywords = ["grafana", "configuration", "documentation", "docker"] -title = "Configure Grafana Docker image" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/administration/configure-docker/ + - /docs/grafana/latest/installation/configure-docker/ +description: Guide for configuring the Grafana Docker image +keywords: + - grafana + - configuration + - documentation + - docker +title: Configure Grafana Docker image +weight: 200 +--- # Configure a Grafana Docker image diff --git a/docs/sources/administration/database-encryption.md b/docs/sources/administration/database-encryption.md index f88104a9880..0af9ad244ee 100644 --- a/docs/sources/administration/database-encryption.md +++ b/docs/sources/administration/database-encryption.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/administration/database-encryption/"] -description = "Grafana database encryption" -keywords = ["grafana", "database", "encryption", "envelope encryption", "documentation"] -title = "Database encryption" -weight = 450 -+++ +--- +aliases: + - /docs/grafana/latest/administration/database-encryption/ +description: Grafana database encryption +keywords: + - grafana + - database + - encryption + - envelope encryption + - documentation +title: Database encryption +weight: 450 +--- # Grafana database encryption diff --git a/docs/sources/administration/jaeger-instrumentation.md b/docs/sources/administration/jaeger-instrumentation.md index 01981377c52..ebd37888e73 100644 --- a/docs/sources/administration/jaeger-instrumentation.md +++ b/docs/sources/administration/jaeger-instrumentation.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/administration/jaeger-instrumentation/"] -description = "Jaeger traces emitted and propagation by Grafana" -keywords = ["grafana", "jaeger", "tracing"] -title = "Jaeger instrumentation" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/administration/jaeger-instrumentation/ +description: Jaeger traces emitted and propagation by Grafana +keywords: + - grafana + - jaeger + - tracing +title: Jaeger instrumentation +weight: 900 +--- # Jaeger instrumentation diff --git a/docs/sources/administration/manage-user-preferences/_index.md b/docs/sources/administration/manage-user-preferences/_index.md index 123f29f7363..809fe239374 100644 --- a/docs/sources/administration/manage-user-preferences/_index.md +++ b/docs/sources/administration/manage-user-preferences/_index.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/administration/change-your-password/", "/docs/grafana/latest/administration/manage-user-preferences/"] -description = "Learn how to update your user preferences and switch organizations" -keywords = ["password", "change", "organization", "change"] -title = "Manage user preferences" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/administration/change-your-password/ + - /docs/grafana/latest/administration/manage-user-preferences/ +description: Learn how to update your user preferences and switch organizations +keywords: + - password + - change + - organization + - change +title: Manage user preferences +weight: 400 +--- # Manage user preferences diff --git a/docs/sources/administration/manage-users-and-permissions/_index.md b/docs/sources/administration/manage-users-and-permissions/_index.md index 1e3e48e4bcc..4a0ae999e3b 100644 --- a/docs/sources/administration/manage-users-and-permissions/_index.md +++ b/docs/sources/administration/manage-users-and-permissions/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/"] -title = "Manage users and permissions" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/ +title: Manage users and permissions +weight: 200 +--- # Manage users and permissions diff --git a/docs/sources/administration/manage-users-and-permissions/about-users-and-permissions.md b/docs/sources/administration/manage-users-and-permissions/about-users-and-permissions.md index b471fa27df7..1fa41c94d7c 100644 --- a/docs/sources/administration/manage-users-and-permissions/about-users-and-permissions.md +++ b/docs/sources/administration/manage-users-and-permissions/about-users-and-permissions.md @@ -1,8 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/", "/docs/grafana/latest/manage-users/", "/docs/grafana/latest/permissions/", "/docs/grafana/latest/permissions/organization_roles/", "/docs/grafana/latest/permissions/overview/"] -title = "About users and permissions" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/ + - /docs/grafana/latest/manage-users/ + - /docs/grafana/latest/permissions/ + - /docs/grafana/latest/permissions/organization_roles/ + - /docs/grafana/latest/permissions/overview/ +title: About users and permissions +weight: 100 +--- # About users and permissions diff --git a/docs/sources/administration/manage-users-and-permissions/manage-dashboard-permissions/_index.md b/docs/sources/administration/manage-users-and-permissions/manage-dashboard-permissions/_index.md index d8b8bf76645..0786ad403ba 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-dashboard-permissions/_index.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-dashboard-permissions/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/", "/docs/grafana/latest/permissions/dashboard_folder_permissions/"] -title = "Manage dashboard permissions" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/ + - /docs/grafana/latest/permissions/dashboard_folder_permissions/ +title: Manage dashboard permissions +weight: 500 +--- # Manage dashboard permissions diff --git a/docs/sources/administration/manage-users-and-permissions/manage-org-users/_index.md b/docs/sources/administration/manage-users-and-permissions/manage-org-users/_index.md index 7b8b0454d27..a2c8622894a 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-org-users/_index.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-org-users/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/", "/docs/grafana/latest/manage-users/org-admin/"] -title = "Manage users in an organization" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/ + - /docs/grafana/latest/manage-users/org-admin/ +title: Manage users in an organization +weight: 400 +--- # Manage users in an organization diff --git a/docs/sources/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions.md b/docs/sources/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions.md index 70bee3ae264..ea769aa8ff9 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/"] -title = "Change a user's organization permissions" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/ +title: Change a user's organization permissions +weight: 30 +--- # Change a user's organization permissions diff --git a/docs/sources/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org.md b/docs/sources/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org.md index 7ae875e82c7..8cef28ced99 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/"] -title = "Invite a user to join an organization" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/ +title: Invite a user to join an organization +weight: 10 +--- # Invite a user to join an organization diff --git a/docs/sources/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites.md b/docs/sources/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites.md index a48079703b9..92a2a5a1809 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/"] -title = "Manage a pending invitation" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/ +title: Manage a pending invitation +weight: 20 +--- # Manage a pending invitation diff --git a/docs/sources/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org.md b/docs/sources/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org.md index cdc8348e9d7..1d6b68ac0ee 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/"] -title = "Remove a user from an organization" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/ +title: Remove a user from an organization +weight: 40 +--- # Remove a user from an organization diff --git a/docs/sources/administration/manage-users-and-permissions/manage-org-users/view-list-org-users.md b/docs/sources/administration/manage-users-and-permissions/manage-org-users/view-list-org-users.md index cf03ec5db9a..019027eb360 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-org-users/view-list-org-users.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-org-users/view-list-org-users.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/"] -title = "View a list of organization users" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/ +title: View a list of organization users +weight: 50 +--- # View a list of organization users diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/_index.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/_index.md index 867789bcf12..91467e02ca7 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/_index.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/_index.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/", "/docs/grafana/latest/manage-users/server-admin/", "/docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/"] -title = "Manage users globally" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/ + - /docs/grafana/latest/manage-users/server-admin/ + - /docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/ +title: Manage users globally +weight: 300 +--- # Manage users globally diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md index 31767666dbd..50b9b47c800 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org/", "/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/"] -title = "Add or remove a user from an organization" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org/ + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/ +title: Add or remove a user from an organization +weight: 30 +--- # Add a user to an organization diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-user.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-user.md index 7033dce3749..9450c881d8d 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-user.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/add-user.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/"] -title = "Add a user" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/ +title: Add a user +weight: 10 +--- # Add a user diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges.md index 219d390aea2..27b64fc08c8 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/"] -title = "Assign or remove Grafana server administrator privileges" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/ +title: Assign or remove Grafana server administrator privileges +weight: 20 +--- # Assign or remove Grafana server administrator privileges diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions.md index 1ca6cee6dbc..5eb323753fb 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/"] -title = "Change a user's organization permissions" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/ +title: Change a user's organization permissions +weight: 50 +--- # Change a user's organization permissions diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/force-user-logout.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/force-user-logout.md index 3c9199bf881..0cf4c9d87f9 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/force-user-logout.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/force-user-logout.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/"] -title = "Force a user to logout from Grafana" -weight = 90 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/ +title: Force a user to logout from Grafana +weight: 90 +--- # Force a user to log out of Grafana diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions.md index 1664e9c1fea..5736cb7df84 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/"] -title = "Grant editors administrator permissions" -weight = 60 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/ +title: Grant editors administrator permissions +weight: 60 +--- # Grant editors administrator permissions diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account.md index 03fce48d967..84859121220 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account/", "/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-user-account-details/"] -title = "View and edit a user account" -weight = 110 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account/ + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-user-account-details/ +title: View and edit a user account +weight: 110 +--- # View user details diff --git a/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-list-users.md b/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-list-users.md index a0e2eed8de2..b834bdb4a8b 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-list-users.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-server-users/view-list-users.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/"] -title = "View a list of users" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/ +title: View a list of users +weight: 100 +--- # View a list of users diff --git a/docs/sources/administration/manage-users-and-permissions/manage-teams/_index.md b/docs/sources/administration/manage-users-and-permissions/manage-teams/_index.md index b6a631a5afe..ad7b15c71e2 100644 --- a/docs/sources/administration/manage-users-and-permissions/manage-teams/_index.md +++ b/docs/sources/administration/manage-users-and-permissions/manage-teams/_index.md @@ -1,8 +1,12 @@ -+++ -aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-teams/", "/docs/grafana/latest/manage-users/add-or-remove-user-from-team/", "/docs/grafana/latest/manage-users/create-or-remove-team/", "/docs/grafana/latest/manage-users/manage-teams/"] -title = "Manage teams" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/administration/manage-users-and-permissions/manage-teams/ + - /docs/grafana/latest/manage-users/add-or-remove-user-from-team/ + - /docs/grafana/latest/manage-users/create-or-remove-team/ + - /docs/grafana/latest/manage-users/manage-teams/ +title: Manage teams +weight: 600 +--- # Manage teams diff --git a/docs/sources/administration/preferences/_index.md b/docs/sources/administration/preferences/_index.md index c93e126d798..9c71dfb8dbf 100644 --- a/docs/sources/administration/preferences/_index.md +++ b/docs/sources/administration/preferences/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/preferences/"] -title = "Preferences" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/administration/preferences/ +title: Preferences +weight: 50 +--- # Grafana preferences diff --git a/docs/sources/administration/preferences/change-grafana-name.md b/docs/sources/administration/preferences/change-grafana-name.md index 9c043c90d3e..9a2ec90b69f 100644 --- a/docs/sources/administration/preferences/change-grafana-name.md +++ b/docs/sources/administration/preferences/change-grafana-name.md @@ -1,9 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-name/"] -keywords = ["grafana", "configuration", "documentation", "home"] -title = "Change name and email" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/administration/preferences/change-grafana-name/ +keywords: + - grafana + - configuration + - documentation + - home +title: Change name and email +weight: 100 +--- # Change Grafana name and email diff --git a/docs/sources/administration/preferences/change-grafana-theme.md b/docs/sources/administration/preferences/change-grafana-theme.md index 27de9025370..2cc4a2c6f1b 100644 --- a/docs/sources/administration/preferences/change-grafana-theme.md +++ b/docs/sources/administration/preferences/change-grafana-theme.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-theme/"] -description = "How to set the Grafana UI theme" -keywords = ["grafana", "configuration", "documentation", "home"] -title = "Change UI theme" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/administration/preferences/change-grafana-theme/ +description: How to set the Grafana UI theme +keywords: + - grafana + - configuration + - documentation + - home +title: Change UI theme +weight: 200 +--- # Change Grafana UI theme diff --git a/docs/sources/administration/preferences/change-grafana-timezone.md b/docs/sources/administration/preferences/change-grafana-timezone.md index 95f832743d2..d01b67bcc42 100644 --- a/docs/sources/administration/preferences/change-grafana-timezone.md +++ b/docs/sources/administration/preferences/change-grafana-timezone.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-timezone/"] -description = "How to change your Grafana timezone" -keywords = ["grafana", "configuration", "documentation", "home"] -title = "Change default timezone" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/administration/preferences/change-grafana-timezone/ +description: How to change your Grafana timezone +keywords: + - grafana + - configuration + - documentation + - home +title: Change default timezone +weight: 400 +--- # Change the Grafana default timezone diff --git a/docs/sources/administration/preferences/change-home-dashboard.md b/docs/sources/administration/preferences/change-home-dashboard.md index 2f5bbce5ad2..c867665f6c5 100644 --- a/docs/sources/administration/preferences/change-home-dashboard.md +++ b/docs/sources/administration/preferences/change-home-dashboard.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/administration/change-home-dashboard/", "/docs/grafana/latest/administration/preferences/change-home-dashboard/"] -description = "How to replace the default home dashboard" -keywords = ["grafana", "configuration", "documentation", "home"] -title = "Change home dashboard" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/administration/change-home-dashboard/ + - /docs/grafana/latest/administration/preferences/change-home-dashboard/ +description: How to replace the default home dashboard +keywords: + - grafana + - configuration + - documentation + - home +title: Change home dashboard +weight: 300 +--- # Change the default home dashboard diff --git a/docs/sources/administration/provisioning.md b/docs/sources/administration/provisioning.md index 239122405f9..f0e0f744fdd 100644 --- a/docs/sources/administration/provisioning.md +++ b/docs/sources/administration/provisioning.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/administration/provisioning/", "/docs/grafana/latest/installation/provisioning/"] -description = "" -keywords = ["grafana", "provisioning"] -title = "Provisioning" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/administration/provisioning/ + - /docs/grafana/latest/installation/provisioning/ +description: '' +keywords: + - grafana + - provisioning +title: Provisioning +weight: 800 +--- # Provisioning Grafana diff --git a/docs/sources/administration/security.md b/docs/sources/administration/security.md index 100afe745b9..76cec13081e 100644 --- a/docs/sources/administration/security.md +++ b/docs/sources/administration/security.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/administration/security/", "/docs/grafana/latest/installation/security/"] -description = "Security Docs" -keywords = ["grafana", "security", "documentation"] -title = "Security" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/administration/security/ + - /docs/grafana/latest/installation/security/ +description: Security Docs +keywords: + - grafana + - security + - documentation +title: Security +weight: 500 +--- # Security diff --git a/docs/sources/administration/set-up-for-high-availability.md b/docs/sources/administration/set-up-for-high-availability.md index fd6e03d9c14..ff9acc98a66 100644 --- a/docs/sources/administration/set-up-for-high-availability.md +++ b/docs/sources/administration/set-up-for-high-availability.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/administration/set-up-for-high-availability/", "/docs/grafana/latest/tutorials/ha_setup/"] -keywords = ["grafana", "tutorials", "HA", "high availability"] -title = "Set up Grafana for high availability" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/administration/set-up-for-high-availability/ + - /docs/grafana/latest/tutorials/ha_setup/ +keywords: + - grafana + - tutorials + - HA + - high availability +title: Set up Grafana for high availability +weight: 1200 +--- # Set up Grafana for high availability diff --git a/docs/sources/administration/view-server/_index.md b/docs/sources/administration/view-server/_index.md index 0052604e072..b726bf96b37 100644 --- a/docs/sources/administration/view-server/_index.md +++ b/docs/sources/administration/view-server/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/administration/view-server/"] -title = "View server" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/administration/view-server/ +title: View server +weight: 100 +--- # View server information diff --git a/docs/sources/administration/view-server/internal-metrics.md b/docs/sources/administration/view-server/internal-metrics.md index e8c63990ad6..eb18e74534a 100644 --- a/docs/sources/administration/view-server/internal-metrics.md +++ b/docs/sources/administration/view-server/internal-metrics.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/admin/metrics/", "/docs/grafana/latest/administration/view-server/internal-metrics/"] -description = "Internal metrics exposed by Grafana" -keywords = ["grafana", "metrics", "internal metrics"] -title = "Internal Grafana metrics" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/admin/metrics/ + - /docs/grafana/latest/administration/view-server/internal-metrics/ +description: Internal metrics exposed by Grafana +keywords: + - grafana + - metrics + - internal metrics +title: Internal Grafana metrics +weight: 200 +--- # Internal Grafana metrics diff --git a/docs/sources/administration/view-server/view-server-settings.md b/docs/sources/administration/view-server/view-server-settings.md index dbbcd22162e..7fbf1f6e0e3 100644 --- a/docs/sources/administration/view-server/view-server-settings.md +++ b/docs/sources/administration/view-server/view-server-settings.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/admin/view-server-settings/", "/docs/grafana/latest/administration/view-server/view-server-settings/"] -description = "How to view server settings in the Grafana UI" -keywords = ["grafana", "configuration", "server", "settings"] -title = "View server settings" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/admin/view-server-settings/ + - /docs/grafana/latest/administration/view-server/view-server-settings/ +description: How to view server settings in the Grafana UI +keywords: + - grafana + - configuration + - server + - settings +title: View server settings +weight: 300 +--- # View Grafana server settings diff --git a/docs/sources/administration/view-server/view-server-stats.md b/docs/sources/administration/view-server/view-server-stats.md index 3a8f1f33104..b13996451ed 100644 --- a/docs/sources/administration/view-server/view-server-stats.md +++ b/docs/sources/administration/view-server/view-server-stats.md @@ -1,9 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/admin/view-server-stats/", "/docs/grafana/latest/administration/view-server/view-server-stats/"] -keywords = ["grafana", "server", "statistics"] -title = "View server stats" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/admin/view-server-stats/ + - /docs/grafana/latest/administration/view-server/view-server-stats/ +keywords: + - grafana + - server + - statistics +title: View server stats +weight: 400 +--- # View Grafana server stats diff --git a/docs/sources/alerting/_index.md b/docs/sources/alerting/_index.md index 72206e75b36..6662edb456b 100644 --- a/docs/sources/alerting/_index.md +++ b/docs/sources/alerting/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/", "/docs/grafana/latest/alerting/unified-alerting/difference-old-new/"] -title = "Alerting" -weight = 114 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/ + - /docs/grafana/latest/alerting/unified-alerting/alerting/ +title: Alerting +weight: 114 +--- # Grafana alerting @@ -18,13 +20,13 @@ For new installations or existing installs without alerting configured, Grafana | ----------- | ------------- | ------------- | ------------- | | Grafana 9.0 | On by default | On by default | On by default | -- For existing OSS installations with legacy dashboard alerting, you can [opt-in]({{< relref "./opt-in.md" >}}) to Grafana alerting. -- For Grafana Cloud instances using legacy cloud alerting, contact customer support to migrate to Grafana alerting. +Existing installations that upgrade to v9.0 will have Grafana alerting enabled by default. For more information on migrating from legacy or the cloud alerting plugin, see [Migrating to Grafana alerting]({{< relref "./migrating-alerts/_index.md" >}}). Before you begin, we recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "./fundamentals/_index.md" >}}) of Grafana alerting. Refer to [Role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to learn more about controlling access to alerts using role-based permissions. -- [Enable Grafana alerting in OSS]({{< relref "./opt-in.md" >}}) -- [Migrating legacy alerts]({{< relref "./migrating-legacy-alerts.md" >}}) +- [About alert rules]({{< relref "./fundamentals/alert-rules/_index.md" >}}) +- [Migrating legacy alerts]({{< relref "./migrating-alerts/_index.md" >}}) +- [Disable Grafana alerting in OSS]({{< relref "./migrating-alerts/opt-out.md" >}}) - [Create Grafana managed alerting rules]({{< relref "alerting-rules/create-grafana-managed-rule.md" >}}) - [Create Grafana Mimir or Loki managed alerting rules]({{< relref "alerting-rules/create-mimir-loki-managed-rule.md" >}}) - [View existing alerting rules and manage their current state]({{< relref "alerting-rules/rule-list.md" >}}) diff --git a/docs/sources/alerting/about-alerting.md b/docs/sources/alerting/about-alerting.md new file mode 100644 index 00000000000..66c02f01902 --- /dev/null +++ b/docs/sources/alerting/about-alerting.md @@ -0,0 +1,33 @@ +--- +aliases: + - /docs/grafana/latest/alerting/about-alerting/ +description: A quick overview of Grafana alerting +keywords: + - grafana + - alerting + - overview + - concepts + - basics +title: About Grafana alerting +weight: 100 +--- + +# About Grafana alerting + +Grafana Alerting consists of several individual concepts that are at the core of a flexible and powerful alerting engine. + +This topic explains how to create [alert rules]({{< relref "./fundamentals/alert-rules/_index.md" >}}), their relationship with [alert instances]({{< relref "./fundamentals/alert-rules/alert-instances.md" >}}) and the various alert rule [states and transitions]({{< relref "./fundamentals/state-and-health.md" >}}), [notification policies]({{< relref "./notifications/_index.md" >}}) and [contact points]({{< relref "./contact-points/_index.md" >}}). + +These three individual concepts are the minimum necessities to successfully create alerts and receive notifications. + +We will also touch on various other concepts such as [silences]({{< relref "./silences/_index.md" >}}) and [mute timings]({{< relref "./notifications/mute-timings.md" >}}) to more granularly manage alert notifications, [role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) to limit access and manage permissions and additional advanced topics such as [external alertmanagers]({{< relref "./fundamentals/alertmanager.md#add-a-new-external-alertmanager" >}}) and [high availability]({{< relref "./high-availability/_index.md" >}}). + +## Overview + +{{< figure src="/static/img/docs/alerting/unified/about-alerting-flow-diagram.jpg" caption="Grafana alerting overview" >}} + +As shown in the diagram above, Grafana alerting uses [labels]({{< relref "./fundamentals/annotation-label/how-to-use-labels.md" >}}) to match an alert rule and its instances to a specific notification policy. This concept of labels and label matching is important and is also used in [silences]({{< relref "./silences/_index.md" >}}). + +Each notification policy specifies a set of [label matchers]({{< relref "./fundamentals/annotation-label/labels-and-label-matchers.md" >}}) to indicate what alerts they are responsible for. + +A notification policy has a [contact point]({{< relref "./contact-points/_index.md" >}}) assigned to it that consists of one or more [notifiers]({{< relref "./contact-points/_index.md#list-of-notifiers-supported-by-grafana" >}}). diff --git a/docs/sources/alerting/alert-groups/_index.md b/docs/sources/alerting/alert-groups/_index.md index 0951ad5eb4a..364b7a875f5 100644 --- a/docs/sources/alerting/alert-groups/_index.md +++ b/docs/sources/alerting/alert-groups/_index.md @@ -1,10 +1,15 @@ -+++ -title = "Alert groups" -description = "Alert groups" -keywords = ["grafana", "alerting", "alerts", "groups"] -weight = 445 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/alert-groups/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/alert-groups/ +description: Alert groups +keywords: + - grafana + - alerting + - alerts + - groups +title: Alert groups +weight: 445 +--- # Alert groups diff --git a/docs/sources/alerting/alert-groups/filter-alerts.md b/docs/sources/alerting/alert-groups/filter-alerts.md index 778721bb8cc..ac99b231edf 100644 --- a/docs/sources/alerting/alert-groups/filter-alerts.md +++ b/docs/sources/alerting/alert-groups/filter-alerts.md @@ -1,10 +1,15 @@ -+++ -title = "Filter alerts" -description = "Alert groups" -keywords = ["grafana", "alerting", "alerts", "groups"] -weight = 445 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/alert-groups/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/alert-groups/ +description: Alert groups +keywords: + - grafana + - alerting + - alerts + - groups +title: Filter alerts +weight: 445 +--- # Filter alerts by group diff --git a/docs/sources/alerting/alert-groups/view-alert-grouping.md b/docs/sources/alerting/alert-groups/view-alert-grouping.md index ea911b291c2..7ba51699158 100644 --- a/docs/sources/alerting/alert-groups/view-alert-grouping.md +++ b/docs/sources/alerting/alert-groups/view-alert-grouping.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alert-groups/", "/docs/grafana/latest/alerting/unified-alerting/alert-groups/"] -description = "Alert groups" -keywords = ["grafana", "alerting", "alerts", "groups"] -title = "View alert groupings" -weight = 445 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alert-groups/ + - /docs/grafana/latest/alerting/unified-alerting/alert-groups/ +description: Alert groups +keywords: + - grafana + - alerting + - alerts + - groups +title: View alert groupings +weight: 445 +--- # View alert groupings diff --git a/docs/sources/alerting/alerting-limitations.md b/docs/sources/alerting/alerting-limitations.md index 82094f19cde..1efc1fffeea 100644 --- a/docs/sources/alerting/alerting-limitations.md +++ b/docs/sources/alerting/alerting-limitations.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-limitations/"] -title = "Limitations" -weight = 552 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-limitations/ +title: Limitations +weight: 552 +--- # Limitations diff --git a/docs/sources/alerting/alerting-rules/_index.md b/docs/sources/alerting/alerting-rules/_index.md index c7c038200e7..bbbf57cae8c 100644 --- a/docs/sources/alerting/alerting-rules/_index.md +++ b/docs/sources/alerting/alerting-rules/_index.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/", "/docs/grafana/latest/alerting/rules/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/"] -title = "Create and manage rules" -weight = 130 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/ + - /docs/grafana/latest/alerting/rules/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/ +title: Create and manage rules +weight: 130 +--- # Create and manage Grafana alerting rules diff --git a/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md b/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md index 6c577300a35..f1485d38fae 100644 --- a/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md +++ b/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md @@ -1,41 +1,48 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/"] -description = "Create Grafana managed alert rule" -keywords = ["grafana", "alerting", "guide", "rules", "create"] -title = "Create Grafana managed alert rule" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/ +description: Create Grafana managed alert rule +keywords: + - grafana + - alerting + - guide + - rules + - create +title: Create Grafana managed alert rule +weight: 400 +--- # Create a Grafana managed alerting rule -Grafana allows you to create alerting rules that query one or more data sources, reduce or transform the results and compare them to each other or to fix thresholds. When these are executed, Grafana sends notifications to the contact point. +Grafana allows you to create alerting rules that query one or more data sources, reduce or transform the results and compare them to each other or to fix thresholds. When these are executed, Grafana sends notifications to the contact point. For information on Grafana alerting, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting. ## Add Grafana managed rule 1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. -1. Click **New alert rule**. -1. In Step 1, add the rule name, type, and storage location. - - In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule. - - From the **Rule type** drop-down, select **Grafana managed alert**. - - From the **Folder** drop-down, select the folder where you want to store the rule. If you do not select a folder, the rule is stored in the General folder. To create a new folder, click the drop-down and enter the new folder name. -1. In Step 2, add queries and expressions to evaluate. - - Keep the default name or hover over and click the edit icon to change the name. +1. Click **New alert rule**. The new alerting rule page opens where the Grafana managed alerts option is selected by default. +1. In Step 1, add queries and expressions to evaluate, and then select the alert condition. - For queries, select a data source from the drop-down. - Add one or more [queries]({{< relref "../../panels/query-a-data-source/add-a-query.md" >}}) or [expressions]({{< relref "../../panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md" >}}). - For each expression, select either **Classic condition** to create a single alert rule, or choose from **Math**, **Reduce**, **Resample** options to generate separate alert for each series. For details on these options, see [Single and multi dimensional rule](#single-and-multi-dimensional-rule). - Click **Run queries** to verify that the query is successful. -1. In Step 3, add conditions. + - Next, select the query or expression for your alert condition. +1. In Step 2, specify the alert evaluation interval. - From the **Condition** drop-down, select the query or expression to trigger the alert rule. - For **Evaluate every**, specify the frequency of evaluation. Must be a multiple of 10 seconds. For examples, `1m`, `30s`. - For **Evaluate for**, specify the duration for which the condition must be true before an alert fires. - > **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the Firing state, else it reverts back to the Normal state. + > **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the `Firing` state, otherwise it reverts back to the `Normal` state. - In **Configure no data and error handling**, configure alerting behavior in the absence of data. Use the guidelines in [No data and error handling](#no-data-and-error-handling). - Click **Preview alerts** to check the result of running the query at this moment. Preview excludes no data and error handling. -1. In Step 4, add additional metadata associated with the rule. +1. In Step 3, add the rule name, storage location, rule group, as well as additional metadata associated with the rule. + - In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule. + - From the **Folder** drop-down, select the folder where you want to store the rule. + - For **Group**, specify a pre-defined group. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time. - Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}). - Add Runbook URL, panel, dashboard, and alert IDs. - Add custom labels. 1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page. +1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule. ### Single and multi dimensional rule diff --git a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md index 95e11990f97..58a4ee34a52 100644 --- a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md +++ b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md @@ -1,10 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/"] -description = "Create Grafana Mimir or Loki managed recording rule" -keywords = ["grafana", "alerting", "guide", "rules", "recording rules", "create"] -title = "Create Grafana Mimir or Loki managed recording rule" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ +description: Create Grafana Mimir or Loki managed recording rule +keywords: + - grafana + - alerting + - guide + - rules + - recording rules + - create +title: Create Grafana Mimir or Loki managed recording rule +weight: 400 +--- # Create a Grafana Mimir or Loki managed recording rule @@ -12,16 +21,35 @@ You can create and manage recording rules for an external Grafana Mimir or Loki ## Before you begin -For Grafana Mimir and Loki data sources to work with Grafana 8.0 alerting, enable the ruler API by configuring their respective services. +- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules. -**Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types. +- For Grafana Mimir and Loki data sources, enable the ruler API by configuring their respective services. -**Grafana Mimir** - When configuring a Grafana Prometheus data source to point to Grafana Mimir, use the legacy `/api/prom` prefix, not `/prometheus`. Currently, we support only single-binary mode and you cannot provide a separate URL for the ruler API. + - **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types. -> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings page and clear the **Manage alerts via Alerting UI** checkbox. + - **Grafana Mimir** - use the [legacy `/api/prom` prefix](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#path-prefixes), not `/prometheus`. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API. + +> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox. ## Add a Grafana Mimir or Loki managed recording rule +To create a Grafana Mimir or Loki managed recording rule + +1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. +1. Click **New alert rule**. The new alerting rule page opens where the **Grafana managed alert** option is selected by default. +1. In Step 1, select **Mimir or Loki recording rule** option. + - Select your Loki or Prometheus data source, add the query to evaluate, and then select the alert condition. + - Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series. +1. In Step 2, add the rule name, namespace, rule group, as well as additional metadata associated with the rule. + - In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule. + - From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}). + - From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time. + - Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}). + - Add Runbook URL, panel, dashboard, and alert IDs. + - Add custom labels. +1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page. +1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule. + 1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. 1. Click **New alert rule**. 1. In Step 1, add the rule name, type, and storage location. diff --git a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md index ff0baf0e66e..79f66448792 100644 --- a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md +++ b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md @@ -1,18 +1,26 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/"] -description = "Create Grafana Mimir or Loki managed alerting rule" -keywords = ["grafana", "alerting", "guide", "rules", "create"] -title = "Create Grafana Mimir or Loki managed alert rule" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ +description: Create Grafana Mimir or Loki managed alerting rule +keywords: + - grafana + - alerting + - guide + - rules + - create +title: Create Grafana Mimir or Loki managed alert rule +weight: 400 +--- # Create a Grafana Mimir or Loki managed alerting rule -Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance. +Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance that has ruler API enabled. For information on Grafana alerting, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting. ## Before you begin -- Verify that you have write permission to the Prometheus data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules. +- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules. - For Grafana Mimir and Loki data sources, enable the ruler API by configuring their respective services. @@ -25,23 +33,19 @@ Grafana allows you to create alerting rules for an external Grafana Mimir or Lok ## Add a Grafana Mimir or Loki managed alerting rule 1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. -1. Click **New alert rule**. -1. In Step 1, add the rule name, type, and storage location. - - In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule. - - From the **Rule type** drop-down, select **Mimir / Loki managed alert**. - - From the **Select data source** drop-down, select an external Prometheus, an external Loki, or a Grafana Cloud data source. - - From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}). - - From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time. - {{< figure src="/static/img/docs/alerting/unified/rule-edit-mimir-alert-type-8-0.png" max-width="550px" caption="Alert details" >}} -1. In Step 2, add the query to evaluate. - - Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series. - {{< figure src="/static/img/docs/alerting/unified/rule-edit-mimir-query-8-0.png" max-width="550px" caption="Alert details" >}} -1. In Step 3, add conditions. +1. Click **New alert rule**. The new alerting rule page opens where the Grafana managed alerts option is selected by default. +1. In Step 1, select **Mimir or Loki alert** option. + - Next, select your Loki or Prometheus data source and add the query to evaluate. + - Enter a PromQL or LogQL expression to query. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series. +1. In Step 2, specify the alert evaluation interval. - In the **For** text box, specify the duration for which the condition must be true before an alert fires. If you specify `5m`, the condition must be true for 5 minutes before the alert fires. > **Note:** Once a condition is met, the alert goes into the `Pending` state. If the condition remains active for the duration specified, the alert transitions to the `Firing` state, else it reverts to the `Normal` state. -1. In Step 4, add additional metadata associated with the rule. +1. In Step 3, add the rule name, namespace, rule group, as well as additional metadata associated with the rule. + - In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule. + - From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}). + - From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time. - Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}). - Add Runbook URL, panel, dashboard, and alert IDs. - Add custom labels. -1. To evaluate the rule and see what alerts it would produce, click **Preview alerts**. It will display a list of alerts with state and value of for each one. 1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page. +1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule. diff --git a/docs/sources/alerting/alerting-rules/edit-mimir-loki-namespace-group.md b/docs/sources/alerting/alerting-rules/edit-mimir-loki-namespace-group.md index a1bd8428ee4..696ca97e9a3 100644 --- a/docs/sources/alerting/alerting-rules/edit-mimir-loki-namespace-group.md +++ b/docs/sources/alerting/alerting-rules/edit-mimir-loki-namespace-group.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/edit-mimir-loki-namespace-group/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/"] -description = "Edit Grafana Mimir or Loki rule groups and namespaces" -keywords = ["grafana", "alerting", "guide", "group", "namespace", "grafana mimir", "loki"] -title = "Grafana Mimir or Loki rule groups and namespaces" -weight = 405 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/edit-mimir-loki-namespace-group/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/ +description: Edit Grafana Mimir or Loki rule groups and namespaces +keywords: + - grafana + - alerting + - guide + - group + - namespace + - grafana mimir + - loki +title: Grafana Mimir or Loki rule groups and namespaces +weight: 405 +--- # Grafana Mimir or Loki rule groups and namespaces diff --git a/docs/sources/alerting/alerting-rules/rule-list.md b/docs/sources/alerting/alerting-rules/rule-list.md index 986c9973ed8..5d09c68992a 100644 --- a/docs/sources/alerting/alerting-rules/rule-list.md +++ b/docs/sources/alerting/alerting-rules/rule-list.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/rule-list/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/"] -description = "Manage alerting rules" -keywords = ["grafana", "alerting", "guide", "rules", "view"] -title = "Manage alerting rules" -weight = 402 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/rule-list/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/ +description: Manage alerting rules +keywords: + - grafana + - alerting + - guide + - rules + - view +title: Manage alerting rules +weight: 402 +--- # Manage alerting rules diff --git a/docs/sources/alerting/contact-points/_index.md b/docs/sources/alerting/contact-points/_index.md index c010672c679..cf78e0dd760 100644 --- a/docs/sources/alerting/contact-points/_index.md +++ b/docs/sources/alerting/contact-points/_index.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/contact-points/", "/docs/grafana/latest/alerting/unified-alerting/contact-points/"] -description = "Create or edit contact point" -keywords = ["grafana", "alerting", "guide", "contact point", "notification channel", "create"] -title = "Contact points" -weight = 430 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/ + - /docs/grafana/latest/alerting/unified-alerting/contact-points/ +description: Create or edit contact point +keywords: + - grafana + - alerting + - guide + - contact point + - notification channel + - create +title: Contact points +weight: 430 +--- # Contact points @@ -12,199 +20,11 @@ Use contact points to define how your contacts are notified when an alert fires. You can configure Grafana managed contact points as well as contact points for an [external Alertmanager data source]({{< relref "../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "../fundamentals/alertmanager.md" >}}). -## Add a contact point +Before you begin, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting. -1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. -1. Click **Contact points** to open the page listing existing contact points. -1. Click **New contact point**. -1. From the **Alertmanager** dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected. -1. In **Name**, enter a descriptive name for the contact point. -1. From **Contact point type**, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted. -1. Some contact point types, like email or webhook, have optional settings. In **Optional settings**, specify additional settings for the selected contact point type. -1. In Notification settings, optionally select **Disable resolved message** if you do not want to be notified when an alert resolves. -1. To add another contact point type, click **New contact point type** and repeat steps 6 through 8. -1. Click **Save contact point** to save your changes. - -## Edit a contact point - -1. In the Alerting page, click **Contact points** to open the page listing existing contact points. -1. Find the contact point to edit, then click **Edit** (pen icon). -1. Make any changes and click **Save contact point**. - -## Test a contact point - -For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly. - -To send a test notification: - -1. In the Grafana side bar, hover your cursor over the **Alerting** (bell) icon and then click **Contact** points. -1. Find the contact point to test, then click **Edit** (pen icon). You can also create a new contact point if needed. -1. Click **Test** (paper airplane icon) to open the contact point testing modal. -1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification. -1. Click **Send test notification** to fire the alert. - -## Delete a contact point - -1. In the Alerting page, click **Contact points** to open the page listing existing contact points. -1. Find the contact point to delete, then click **Delete** (trash icon). -1. In the confirmation dialog, click **Yes, delete**. - -> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the [notification policy]({{< relref "../notifications/_index.md" >}}) or update it to use another contact point. - -## Edit Alertmanager global config - -To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types: - -1. In the Alerting page, click **Contact points** to open the page listing existing contact points. -1. From the **Alertmanager** drop-down, select an external Alertmanager data source. -1. Click the **Edit global config** option. -1. Add global configuration settings. -1. Click **Save global config** to save your changes. - -> **Note** This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via [Grafana configuration]({{< relref "../../administration/configuration.md" >}}). - -## List of notifiers supported by Grafana - -| Name | Type | Grafana Alertmanager | Other Alertmanagers | -| --------------------------------------------- | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- | -| [DingDing](#dingdingdingtalk) | `dingding` | Supported | N/A | -| [Discord](#discord) | `discord` | Supported | N/A | -| [Email](#email) | `email` | Supported | Supported | -| [Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | Supported | N/A | -| [Kafka](#kafka) | `kafka` | Supported | N/A | -| Line | `line` | Supported | N/A | -| Microsoft Teams | `teams` | Supported | N/A | -| [Opsgenie](#opsgenie) | `opsgenie` | Supported | Supported | -| [Pagerduty](#pagerduty) | `pagerduty` | Supported | Supported | -| Prometheus Alertmanager | `prometheus-alertmanager` | Supported | N/A | -| [Pushover](#pushover) | `pushover` | Supported | Supported | -| Sensu | `sensu` | Supported | N/A | -| [Sensu Go](#sensu-go) | `sensugo` | Supported | N/A | -| [Slack](#slack) | `slack` | Supported | Supported | -| Telegram | `telegram` | Supported | N/A | -| Threema | `threema` | Supported | N/A | -| VictorOps | `victorops` | Supported | Supported | -| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) | -| [WeCom](#wecom) | `wecom` | Supported | N/A | -| [Zenduty](#zenduty) | `webhook` | Supported | N/A | - -### Webhook - -Example JSON body: - -```json -{ - "receiver": "My Super Webhook", - "status": "firing", - "orgId": 1, - "alerts": [ - { - "status": "firing", - "labels": { - "alertname": "High memory usage", - "team": "blue", - "zone": "us-1" - }, - "annotations": { - "description": "The system has high memory usage", - "runbook_url": "https://myrunbook.com/runbook/1234", - "summary": "This alert was triggered for zone us-1" - }, - "startsAt": "2021-10-12T09:51:03.157076+02:00", - "endsAt": "0001-01-01T00:00:00Z", - "generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit", - "fingerprint": "c6eadffa33fcdf37", - "silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1", - "dashboardURL": "", - "panelURL": "", - "valueString": "[ metric='' labels={} value=14151.331895396988 ]" - }, - { - "status": "firing", - "labels": { - "alertname": "High CPU usage", - "team": "blue", - "zone": "eu-1" - }, - "annotations": { - "description": "The system has high CPU usage", - "runbook_url": "https://myrunbook.com/runbook/1234", - "summary": "This alert was triggered for zone eu-1" - }, - "startsAt": "2021-10-12T09:56:03.157076+02:00", - "endsAt": "0001-01-01T00:00:00Z", - "generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit", - "fingerprint": "bc97ff14869b13e3", - "silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1", - "dashboardURL": "", - "panelURL": "", - "valueString": "[ metric='' labels={} value=47043.702386305304 ]" - } - ], - "groupLabels": {}, - "commonLabels": { - "team": "blue" - }, - "commonAnnotations": {}, - "externalURL": "https://play.grafana.org/", - "version": "1", - "groupKey": "{}:{}", - "truncatedAlerts": 0, - "title": "[FIRING:2] (blue)", - "state": "alerting", - "message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n" -} -``` - -### Webhook fields - -#### Body - -| Key | Type | Description | -| ----------------- | ------------------------- | ------------------------------------------------------------------------------- | -| receiver | string | Name of the webhook | -| status | string | Current status of the alert, `firing` or `resolved` | -| orgId | number | ID of the organization related to the payload | -| alerts | array of [alerts](#alert) | Alerts that are triggering | -| groupLabels | object | Labels that are used for grouping, map of string keys to string values | -| commonLabels | object | Labels that all alarms have in common, map of string keys to string values | -| commonAnnotations | object | Annotations that all alarms have in common, map of string keys to string values | -| externalURL | string | External URL to the Grafana instance sending this webhook | -| version | string | Version of the payload | -| groupKey | string | Key that is used for grouping | -| truncatedAlerts | number | Number of alerts that were truncated | -| title | string | **Will be deprecated soon** | -| state | string | **Will be deprecated soon** | -| message | string | **Will be deprecated soon** | - -#### Alert - -| Key | Type | Description | -| ------------ | ------ | ---------------------------------------------------------------------------------- | -| status | string | Current status of the alert, `firing` or `resolved` | -| labels | object | Labels that are part of this alert, map of string keys to string values | -| annotations | object | Annotations that are part of this alert, map of string keys to string values | -| startsAt | string | Start time of the alert | -| endsAt | string | End time of the alert, default value when not resolved is `0001-01-01T00:00:00Z` | -| valueString | string | Values that triggered the current status | -| generatorURL | string | URL of the alert rule in the Grafana UI | -| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint | -| silenceURL | string | URL to silence the alert rule in the Grafana UI | -| dashboardURL | string | **Will be deprecated soon** | -| panelURL | string | **Will be deprecated soon** | - -#### Removed fields related to dashboards - -Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed. - -### WeCom - -WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps: - -1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to -2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot" -3. There should be a Webhook URL in the panel. - -| Setting | Description | -| ------- | ------------------ | -| Url | WeCom webhook URL. | +- [Create contact point]({{< relref "./create-contact-point.md" >}}) +- [Edit contact point]({{< relref "./edit-contact-point.md" >}}) +- [Test contact point]({{< relref "./test-contact-point.md" >}}) +- [Delete contact point]({{< relref "./delete-contact-point.md" >}}) +- [List of notifiers]({{< relref "./notifiers/_index.md" >}}) +- [Message templating]({{< relref "./message-templating/_index.md" >}}) diff --git a/docs/sources/alerting/contact-points/create-contact-point.md b/docs/sources/alerting/contact-points/create-contact-point.md new file mode 100644 index 00000000000..a26a7bcc022 --- /dev/null +++ b/docs/sources/alerting/contact-points/create-contact-point.md @@ -0,0 +1,31 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Add contact point +weight: 100 +--- + +# Add a contact point + +Use contact points to define how your contacts are notified when an alert fires. + +To add a contact point + +1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. +1. Click **Contact points** to open the page listing existing contact points. +1. Click **New contact point**. +1. From the **Alertmanager** dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected. +1. In **Name**, enter a descriptive name for the contact point. +1. From **Contact point type**, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted. +1. Some contact point types, like email or webhook, have optional settings. In **Optional settings**, specify additional settings for the selected contact point type. +1. In Notification settings, optionally select **Disable resolved message** if you do not want to be notified when an alert resolves. +1. To add another contact point type, click **New contact point type** and repeat steps 6 through 8. +1. Click **Save contact point** to save your changes. diff --git a/docs/sources/alerting/contact-points/delete-contact-point.md b/docs/sources/alerting/contact-points/delete-contact-point.md new file mode 100644 index 00000000000..a898459bde3 --- /dev/null +++ b/docs/sources/alerting/contact-points/delete-contact-point.md @@ -0,0 +1,26 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Delete a contact point +weight: 115 +--- + +## Delete a contact point + +For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly. + +To delete a contact point + +1. In the Alerting page, click **Contact points** to open the page listing existing contact points. +1. Find the contact point to delete, then click **Delete** (trash icon). +1. In the confirmation dialog, click **Yes, delete**. + +> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the [notification policy]({{< relref "../notifications/_index.md" >}}) or update it to use another contact point. diff --git a/docs/sources/alerting/contact-points/edit-alertmanager-config.md b/docs/sources/alerting/contact-points/edit-alertmanager-config.md new file mode 100644 index 00000000000..c94931986c1 --- /dev/null +++ b/docs/sources/alerting/contact-points/edit-alertmanager-config.md @@ -0,0 +1,26 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Edit contact point +weight: 120 +--- + +# Edit Alertmanager global config + +To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types: + +1. In the Alerting page, click **Contact points** to open the page listing existing contact points. +1. From the **Alertmanager** drop-down, select an external Alertmanager data source. +1. Click the **Edit global config** option. +1. Add global configuration settings. +1. Click **Save global config** to save your changes. + +> **Note** This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via [Grafana configuration]({{< relref "../../administration/configuration.md" >}}) diff --git a/docs/sources/alerting/contact-points/edit-contact-point.md b/docs/sources/alerting/contact-points/edit-contact-point.md new file mode 100644 index 00000000000..b0ae2db9925 --- /dev/null +++ b/docs/sources/alerting/contact-points/edit-contact-point.md @@ -0,0 +1,24 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Edit contact point +weight: 105 +--- + +# Edit a contact point + +Use contact points to define how your contacts are notified when an alert fires. + +To edit a contact point + +1. In the Alerting page, click **Contact points** to open the page listing existing contact points. +1. Find the contact point to edit, then click **Edit** (pen icon). +1. Make any changes and click **Save contact point**. diff --git a/docs/sources/alerting/contact-points/message-templating/_index.md b/docs/sources/alerting/contact-points/message-templating/_index.md index 7cf66dbbee0..299b974f4cd 100644 --- a/docs/sources/alerting/contact-points/message-templating/_index.md +++ b/docs/sources/alerting/contact-points/message-templating/_index.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/message-templating/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/"] -description = "Message templating" -keywords = ["grafana", "alerting", "guide", "contact point", "templating"] -title = "Message templating" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +description: Message templating +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Message templating +weight: 400 +--- # Message templating @@ -16,41 +23,11 @@ Since most of the contact point fields can be templated, you can create reusable The following example shows how to use default templates to render an alert message in Slack. The message title contains a count of alerts that are firing or were resolved. The message body lists the alerts and their status. - +{{< figure src="/static/img/docs/alerting/unified/contact-points-template-fields-8-0.png" class="docs-image--no-shadow" max-width= "550px" caption="Default template" >}} The following example shows the use of a custom template within one of the contact point fields. - - -### Create a message template - -> **Note:** Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organisations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 alerts only if they have one organisation. Otherwise, silences for the Grafana managed alerts will be visible by all organizations. - -1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. -1. In the Alerting page, click **Contact points** to open the page listing existing contact points. -1. From Alertmanager drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana. - {{< figure max-width="250px" src="/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif" caption="Select Alertmanager" >}} -1. Click **Add template**. -1. In **Name**, add a descriptive name. -1. In **Content**, add the content of the template. -1. Click **Save template** button at the bottom of the page. - - -The `define` tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the **Name** field. When both are specified, it is a best practice to ensure that they are the same. - -### Edit a message template - -1. In the Alerting page, click **Contact points** to open the page listing existing contact points. -1. In the Template table, find the template you want to edit, then click the **Edit** (pen icon). -1. Make your changes, then click **Save template**. - -### Delete a message template - -1. In the Alerting page, click **Contact points** to open the page listing existing contact points. -1. In the Template table, find the template you want to delete, then click the **Delete** (trash icon). -1. In the confirmation dialog, click **Yes, delete** to delete the template. - -Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use. +{{< figure src="/static/img/docs/alerting/unified/contact-points-use-template-8-0.png" class="docs-image--no-shadow" max-width= "550px" caption="Default template" >}} ### Nested templates @@ -79,59 +56,6 @@ You can use any of the following built-in template options to embed custom templ | `default.message` | Provides a formatted summary of firing and resolved alerts. | | `teams.default.message` | Similar to `default.messsage`, formatted for Microsoft Teams. | -### Example of a custom template - -Here's an example of how to use a custom template. You can also use the default template included in the setup. - -Step 1: Configure a template to render a single alert. - -``` -{{ define "myalert" }} - [{{.Status}}] {{ .Labels.alertname }} - - Labels: - {{ range .Labels.SortedPairs }} - {{ .Name }}: {{ .Value }} - {{ end }} - - {{ if gt (len .Annotations) 0 }} - Annotations: - {{ range .Annotations.SortedPairs }} - {{ .Name }}: {{ .Value }} - {{ end }} - {{ end }} - - {{ if gt (len .SilenceURL ) 0 }} - Silence alert: {{ .SilenceURL }} - {{ end }} - {{ if gt (len .DashboardURL ) 0 }} - Go to dashboard: {{ .DashboardURL }} - {{ end }} -{{ end }} -``` - -Step 2: Configure a template to render entire notification message. - -``` -{{ define "mymessage" }} - {{ if gt (len .Alerts.Firing) 0 }} - {{ len .Alerts.Firing }} firing: - {{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }} - {{ end }} - {{ if gt (len .Alerts.Resolved) 0 }} - {{ len .Alerts.Resolved }} resolved: - {{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }} - {{ end }} -{{ end }} -``` - -Step 3: Add `mymessage` in the notification message field. - -``` -Alert summary: -{{ template "mymessage" . }} -``` - ### HTML in message templates HTML in alerting message templates is escaped. We do not support rendering of HTML in the resulting notification. diff --git a/docs/sources/alerting/contact-points/message-templating/create-message-template.md b/docs/sources/alerting/contact-points/message-templating/create-message-template.md new file mode 100644 index 00000000000..9a143aa6754 --- /dev/null +++ b/docs/sources/alerting/contact-points/message-templating/create-message-template.md @@ -0,0 +1,32 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Create message template +weight: 100 +--- + +# Create a message template + +You can use message templates to customize notification messages for the contact point types. + +To create a message tempplate: + +1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts. +2. In the Alerting page, click **Contact points** to open the page listing existing contact points. +3. From Alertmanager drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana. + {{< figure max-width="250px" src="/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif" caption="Select Alertmanager" >}} +4. Click **Add template**. +5. In **Name**, add a descriptive name. +6. In **Content**, add the content of the template. +7. Click **Save template** button at the bottom of the page. + + +The `define` tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the **Name** field. When both are specified, it is a best practice to ensure that they are the same. diff --git a/docs/sources/alerting/contact-points/message-templating/delete-message-template.md b/docs/sources/alerting/contact-points/message-templating/delete-message-template.md new file mode 100644 index 00000000000..8bc78e32147 --- /dev/null +++ b/docs/sources/alerting/contact-points/message-templating/delete-message-template.md @@ -0,0 +1,24 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Delete message template +weight: 110 +--- + +# Edit a message template + +Message templates customize notification messages for the contact point types. + +1. In the Alerting page, click **Contact points** to open the page listing existing contact points. +1. In the Template table, find the template you want to delete, then click the **Delete** (trash icon). +1. In the confirmation dialog, click **Yes, delete** to delete the template. + +Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use. diff --git a/docs/sources/alerting/contact-points/message-templating/edit-message-template.md b/docs/sources/alerting/contact-points/message-templating/edit-message-template.md new file mode 100644 index 00000000000..f3cdf06eb0a --- /dev/null +++ b/docs/sources/alerting/contact-points/message-templating/edit-message-template.md @@ -0,0 +1,24 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Edit message template +weight: 100 +--- + +# Edit a message template + +Message templates customize notification messages for the contact point types. + +To edit a message template + +1. In the Alerting page, click **Contact points** to open the page listing existing contact points. +1. In the Template table, find the template you want to edit, then click the **Edit** (pen icon). +1. Make your changes, then click **Save template**. diff --git a/docs/sources/alerting/contact-points/message-templating/example-template-functions.md b/docs/sources/alerting/contact-points/message-templating/example-template-functions.md new file mode 100644 index 00000000000..d9d5e87c76f --- /dev/null +++ b/docs/sources/alerting/contact-points/message-templating/example-template-functions.md @@ -0,0 +1,126 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/template-functions/ + - /docs/grafana/latest/alerting/message-templating/template-functions/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Examples of template functions +weight: 130 +--- + +# Examples of template functions + +## humanize + +**Template string** `{ humanize $value }` + +**Input** `1234567.0` + +**Expected** `1.235M` + +## humanize1024 + +**TemplateString** `{ humanize1024 $value } ` + +**Input** `1048576.0` + +**Expected** `1Mi` + +## humanizeDuration + +**TemplateString** `{ humanizeDuration $value }` + +**Input** `899.99` + +**Expected** `14m 59s` + +### humanizePercentage + +**TemplateString** `{ humanizePercentage $value }` + +**Input** `0.1234567` + +**Expected** `12.35%` + +## humanizeTimestamp + +**TemplateString** `{ $value | humanizeTimestamp }` + +**Input** `1435065584.128` + +**Expected** `2015-06-23 13:19:44.128 +0000 UTC` + +## title + +**TemplateString** `{ $value | title }` + +**Input** `aa bb CC` + +**Expected** `Aa Bb Cc` + +### toUpper + +**TemplateString** `{ $value | toUpper }` + +**Input** `aa bb CC` + +**Expected** `AA BB CC` + +### toLower + +**TemplateString** `{ $value | toLower }` + +**Input** `aA bB CC` + +**Expected** `aa bb cc` + +## match + +**TemplateString** `{ match "a+" $labels.instance }` + +**Input** `aa` + +**Expected** `true` + +## reReplaceAll + +**TemplateString** `{{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}` + +**Input** `localhost:3000` + +**Expected** `my.domain:3000` + +### graphLink + +**TemplateString** `{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}` + +**Expected** `/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]` + +### tableLink + +**TemplateString** `{{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}` + +**Expected** `/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]` + +## args + +**TemplateString** `{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}` + +**Expected** `1 2` + +## externalURL + +**TemplateString** `{ externalURL }` + +**Expected** `http://localhost/path/prefix` + +## pathPrefix + +**TemplateString** `{ pathPrefix }` + +**Expected** `/path/prefix` diff --git a/docs/sources/alerting/contact-points/message-templating/example-template.md b/docs/sources/alerting/contact-points/message-templating/example-template.md new file mode 100644 index 00000000000..ac1cfc3faa9 --- /dev/null +++ b/docs/sources/alerting/contact-points/message-templating/example-template.md @@ -0,0 +1,67 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Example message template +weight: 115 +--- + +# Example of a custom template + +Here's an example of how to use a custom template. You can also use the default template included in the setup. + +Step 1: Configure a template to render a single alert. + +``` +{{ define "myalert" }} + [{{.Status}}] {{ .Labels.alertname }} + + Labels: + {{ range .Labels.SortedPairs }} + {{ .Name }}: {{ .Value }} + {{ end }} + + {{ if gt (len .Annotations) 0 }} + Annotations: + {{ range .Annotations.SortedPairs }} + {{ .Name }}: {{ .Value }} + {{ end }} + {{ end }} + + {{ if gt (len .SilenceURL ) 0 }} + Silence alert: {{ .SilenceURL }} + {{ end }} + {{ if gt (len .DashboardURL ) 0 }} + Go to dashboard: {{ .DashboardURL }} + {{ end }} +{{ end }} +``` + +Step 2: Configure a template to render entire notification message. + +``` +{{ define "mymessage" }} + {{ if gt (len .Alerts.Firing) 0 }} + {{ len .Alerts.Firing }} firing: + {{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }} + {{ end }} + {{ if gt (len .Alerts.Resolved) 0 }} + {{ len .Alerts.Resolved }} resolved: + {{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }} + {{ end }} +{{ end }} +``` + +Step 3: Add `mymessage` in the notification message field. + +``` +Alert summary: +{{ template "mymessage" . }} +``` diff --git a/docs/sources/alerting/contact-points/message-templating/template-data.md b/docs/sources/alerting/contact-points/message-templating/template-data.md index 71d71b82c07..7f770f643da 100644 --- a/docs/sources/alerting/contact-points/message-templating/template-data.md +++ b/docs/sources/alerting/contact-points/message-templating/template-data.md @@ -1,8 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/message-templating/template-data/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/"] -keywords = ["grafana", "alerting", "guide", "contact point", "templating"] -title = "Template data" -+++ +--- +aliases: + - /docs/grafana/latest/alerting/message-templating/template-data/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Template data +weight: 120 +--- # Template data diff --git a/docs/sources/alerting/contact-points/message-templating/template-functions.md b/docs/sources/alerting/contact-points/message-templating/template-functions.md index 500dde75a00..ee9801eaca3 100644 --- a/docs/sources/alerting/contact-points/message-templating/template-functions.md +++ b/docs/sources/alerting/contact-points/message-templating/template-functions.md @@ -1,8 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/message-templating/template-functions/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/"] -keywords = ["grafana", "alerting", "guide", "contact point", "templating"] -title = "Template functions" -+++ +--- +aliases: + - /docs/grafana/latest/alerting/message-templating/template-functions/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Template functions +weight: 125 +--- # Template Functions diff --git a/docs/sources/alerting/contact-points/notifiers/_index.md b/docs/sources/alerting/contact-points/notifiers/_index.md new file mode 100644 index 00000000000..b1afff72833 --- /dev/null +++ b/docs/sources/alerting/contact-points/notifiers/_index.md @@ -0,0 +1,41 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: List of notifiers +weight: 130 +--- + +# List of supported notifiers + +The following table lists the notifiers (contact point types) supported by Grafana. + +| Name | Type | Grafana Alertmanager | Other Alertmanagers | +| --------------------------------------------- | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- | +| [DingDing](#dingdingdingtalk) | `dingding` | Supported | N/A | +| [Discord](#discord) | `discord` | Supported | N/A | +| [Email](#email) | `email` | Supported | Supported | +| [Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | Supported | N/A | +| [Kafka](#kafka) | `kafka` | Supported | N/A | +| Line | `line` | Supported | N/A | +| Microsoft Teams | `teams` | Supported | N/A | +| [Opsgenie](#opsgenie) | `opsgenie` | Supported | Supported | +| [Pagerduty](#pagerduty) | `pagerduty` | Supported | Supported | +| Prometheus Alertmanager | `prometheus-alertmanager` | Supported | N/A | +| [Pushover](#pushover) | `pushover` | Supported | Supported | +| Sensu | `sensu` | Supported | N/A | +| [Sensu Go](#sensu-go) | `sensugo` | Supported | N/A | +| [Slack](#slack) | `slack` | Supported | Supported | +| Telegram | `telegram` | Supported | N/A | +| Threema | `threema` | Supported | N/A | +| VictorOps | `victorops` | Supported | Supported | +| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) | +| [WeCom](#wecom) | `wecom` | Supported | N/A | +| [Zenduty](#zenduty) | `webhook` | Supported | N/A | diff --git a/docs/sources/alerting/contact-points/notifiers/webhook-notifier.md b/docs/sources/alerting/contact-points/notifiers/webhook-notifier.md new file mode 100644 index 00000000000..ea7876ea079 --- /dev/null +++ b/docs/sources/alerting/contact-points/notifiers/webhook-notifier.md @@ -0,0 +1,137 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Webhook notifier +weight: 105 +--- + +### Webhook + +This topic helps you configure the Webhook notifier. It also discusses that [WeCom]({{< relref "./webhook-notifier/#wecom" >}}) contact points need a Webhook URL. + +Example JSON body: + +```json +{ + "receiver": "My Super Webhook", + "status": "firing", + "orgId": 1, + "alerts": [ + { + "status": "firing", + "labels": { + "alertname": "High memory usage", + "team": "blue", + "zone": "us-1" + }, + "annotations": { + "description": "The system has high memory usage", + "runbook_url": "https://myrunbook.com/runbook/1234", + "summary": "This alert was triggered for zone us-1" + }, + "startsAt": "2021-10-12T09:51:03.157076+02:00", + "endsAt": "0001-01-01T00:00:00Z", + "generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit", + "fingerprint": "c6eadffa33fcdf37", + "silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1", + "dashboardURL": "", + "panelURL": "", + "valueString": "[ metric='' labels={} value=14151.331895396988 ]" + }, + { + "status": "firing", + "labels": { + "alertname": "High CPU usage", + "team": "blue", + "zone": "eu-1" + }, + "annotations": { + "description": "The system has high CPU usage", + "runbook_url": "https://myrunbook.com/runbook/1234", + "summary": "This alert was triggered for zone eu-1" + }, + "startsAt": "2021-10-12T09:56:03.157076+02:00", + "endsAt": "0001-01-01T00:00:00Z", + "generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit", + "fingerprint": "bc97ff14869b13e3", + "silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1", + "dashboardURL": "", + "panelURL": "", + "valueString": "[ metric='' labels={} value=47043.702386305304 ]" + } + ], + "groupLabels": {}, + "commonLabels": { + "team": "blue" + }, + "commonAnnotations": {}, + "externalURL": "https://play.grafana.org/", + "version": "1", + "groupKey": "{}:{}", + "truncatedAlerts": 0, + "title": "[FIRING:2] (blue)", + "state": "alerting", + "message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n" +} +``` + +### Webhook fields + +## Body + +| Key | Type | Description | +| ----------------- | ------------------------- | ------------------------------------------------------------------------------- | +| receiver | string | Name of the webhook | +| status | string | Current status of the alert, `firing` or `resolved` | +| orgId | number | ID of the organization related to the payload | +| alerts | array of [alerts](#alert) | Alerts that are triggering | +| groupLabels | object | Labels that are used for grouping, map of string keys to string values | +| commonLabels | object | Labels that all alarms have in common, map of string keys to string values | +| commonAnnotations | object | Annotations that all alarms have in common, map of string keys to string values | +| externalURL | string | External URL to the Grafana instance sending this webhook | +| version | string | Version of the payload | +| groupKey | string | Key that is used for grouping | +| truncatedAlerts | number | Number of alerts that were truncated | +| title | string | **Will be deprecated soon** | +| state | string | **Will be deprecated soon** | +| message | string | **Will be deprecated soon** | + +### Alert + +| Key | Type | Description | +| ------------ | ------ | ---------------------------------------------------------------------------------- | +| status | string | Current status of the alert, `firing` or `resolved` | +| labels | object | Labels that are part of this alert, map of string keys to string values | +| annotations | object | Annotations that are part of this alert, map of string keys to string values | +| startsAt | string | Start time of the alert | +| endsAt | string | End time of the alert, default value when not resolved is `0001-01-01T00:00:00Z` | +| valueString | string | Values that triggered the current status | +| generatorURL | string | URL of the alert rule in the Grafana UI | +| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint | +| silenceURL | string | URL to silence the alert rule in the Grafana UI | +| dashboardURL | string | **Will be deprecated soon** | +| panelURL | string | **Will be deprecated soon** | + +### Removed fields related to dashboards + +Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed. + +## WeCom + +WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps: + +1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to +2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot" +3. There should be a Webhook URL in the panel. + +| Setting | Description | +| ------- | ------------------ | +| Url | WeCom webhook URL. | diff --git a/docs/sources/alerting/contact-points/test-contact-point.md b/docs/sources/alerting/contact-points/test-contact-point.md new file mode 100644 index 00000000000..129b37ba524 --- /dev/null +++ b/docs/sources/alerting/contact-points/test-contact-point.md @@ -0,0 +1,26 @@ +--- +aliases: + - /docs/grafana/latest/alerting/contact-points/message-templating/ + - /docs/grafana/latest/alerting/message-templating/ + - /docs/grafana/latest/alerting/unified-alerting/message-templating/ +keywords: + - grafana + - alerting + - guide + - contact point + - templating +title: Test a contact point +weight: 110 +--- + +# Test a contact point + +For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly. + +To send a test notification: + +1. In the Grafana side bar, hover your cursor over the **Alerting** (bell) icon and then click **Contact** points. +1. Find the contact point to test, then click **Edit** (pen icon). You can also create a new contact point if needed. +1. Click **Test** (paper airplane icon) to open the contact point testing modal. +1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification. +1. Click **Send test notification** to fire the alert. diff --git a/docs/sources/alerting/difference-old-new.md b/docs/sources/alerting/difference-old-new.md index 29af5b50597..bb32cd3228f 100644 --- a/docs/sources/alerting/difference-old-new.md +++ b/docs/sources/alerting/difference-old-new.md @@ -1,11 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/difference-old-new/", "/docs/grafana/latest/alerting/unified-alerting/difference-old-new/"] -description = "What's New with Grafana alerts" -draft = true -keywords = ["grafana", "alerting", "guide"] -title = "What's new in Grafana alerting" -weight = 108 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/difference-old-new/ + - /docs/grafana/latest/alerting/unified-alerting/difference-old-new/ +description: What's New with Grafana alerts +draft: true +keywords: + - grafana + - alerting + - guide +title: What's new in Grafana alerting +weight: 108 +--- # What's new in Grafana alerting diff --git a/docs/sources/alerting/fundamentals/_index.md b/docs/sources/alerting/fundamentals/_index.md index 8826764c5ca..98ede25db8a 100644 --- a/docs/sources/alerting/fundamentals/_index.md +++ b/docs/sources/alerting/fundamentals/_index.md @@ -1,13 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/fundamentals/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/"] -title = "Alerting fundamentals" -weight = 110 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/fundamentals/ + - /docs/grafana/latest/alerting/metrics/ + - /docs/grafana/latest/alerting/unified-alerting/fundamentals/ +title: Alerting fundamentals +weight: 110 +--- # Alerting fundamentals This section includes the following fundamental concepts of Grafana alerting: +- [Alert rules]({{< relref "./alert-rules/_index.md" >}}) - [Annotations and labels for alerting rules]({{< relref "./annotation-label/_index.md" >}}) - [Alertmanager]({{< relref "./alertmanager.md" >}}) - [State and health of alerting rules]({{< relref "./state-and-health.md" >}}) diff --git a/docs/sources/alerting/fundamentals/alert-rules/_index.md b/docs/sources/alerting/fundamentals/alert-rules/_index.md new file mode 100644 index 00000000000..4adfff1ed29 --- /dev/null +++ b/docs/sources/alerting/fundamentals/alert-rules/_index.md @@ -0,0 +1,22 @@ +--- +description: About Grafana alert rules +keywords: + - grafana + - alerting + - rules +title: Alert rules +weight: 101 +--- + +# About alert rules + +An alerting rule is a set of evaluation criteria that determines whether an alert instance will fire. The rule consists of one or more queries and expressions, a condition, the frequency of evaluation, and optionally, the duration over which the condition is met. + +While queries and expressions select the data set to evaluate, a condition sets the threshold that an alert must meet or exceed to create an alert. + +An interval specifies how frequently an alerting rule is evaluated. Duration, when configured, indicates how long a condition must be met. The alert rules can also define alerting behavior in the absence of data. + +- [Alert rule types]({{< relref "./alert-rule-types.md" >}}) +- [Alert instances]({{< relref "./alert-instances.md" >}}) +- [Organising alert rules]({{< relref "./organising-alerts.md" >}}) +- [Annotation and labels]({{< relref "../annotation-label/_index.md" >}}) diff --git a/docs/sources/alerting/fundamentals/alert-rules/alert-instances.md b/docs/sources/alerting/fundamentals/alert-rules/alert-instances.md new file mode 100644 index 00000000000..70854972b47 --- /dev/null +++ b/docs/sources/alerting/fundamentals/alert-rules/alert-instances.md @@ -0,0 +1,25 @@ +--- +description: Learn about Grafana alert instances +keywords: + - grafana + - alerting + - instances +title: Alert instances +weight: 103 +--- + +# Alert instances + +Grafana managed alerts support multi-dimensional alerting. Each alert rule can create multiple alert instances. This is exceptionally powerful if you are observing multiple series in a single expression. + +Consider the following PromQL expression: + +```promql +sum by(cpu) ( + rate(node_cpu_seconds_total{mode!="idle"}[1m]) +) +``` + +A rule using this expression will create as many alert instances as the amount of CPUs we are observing after the first evaluation, allowing a single rule to report the status of each CPU. + +{{< figure src="/static/img/docs/alerting/unified/multi-dimensional-alert.png" caption="A multi-dimensional Grafana managed alert rule" >}} diff --git a/docs/sources/alerting/fundamentals/alert-rules/alert-rule-types.md b/docs/sources/alerting/fundamentals/alert-rules/alert-rule-types.md new file mode 100644 index 00000000000..a0035a65f8d --- /dev/null +++ b/docs/sources/alerting/fundamentals/alert-rules/alert-rule-types.md @@ -0,0 +1,33 @@ +--- +description: Learn about the different alert rule types +keywords: + - grafana + - alerting + - rule types +title: Alert rule types +weight: 102 +--- + +# Alert rule types + +Grafana supports several alert rule types, the following sections will explain their merits and demerits and help you choose the right alert type for your use case. + +## Grafana managed rules + +Grafana-managed rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of your existing data sources. + +In additional to supporting any datasource you can also add additional [expressions]({{< relref "../../../panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md" >}}) to transform your data and express alert conditions. + +## Mimir, Loki and Cortex rules + +To create Mimir, Loki or Cortex alerts you must have a compatible Prometheus data source. You can check if your data source is compatible by testing the data source and checking the details if the ruler API is supported. + +{{< figure src="/static/img/docs/alerting/unified/mimir-datasource-check.png" caption="Successfully connected to a Mimir Prometheus datasource" max-width="40%" >}} + +## Recording rules + +Recording rules are only available for compatible Prometheus data sources like Mimir, Loki and Cortex. + +A recording rule allows you to save an expression's result to a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query the same expression repeatedly. + +Read more about [recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) in Prometheus. diff --git a/docs/sources/alerting/fundamentals/alert-rules/organising-alerts.md b/docs/sources/alerting/fundamentals/alert-rules/organising-alerts.md new file mode 100644 index 00000000000..37d53335bd7 --- /dev/null +++ b/docs/sources/alerting/fundamentals/alert-rules/organising-alerts.md @@ -0,0 +1,25 @@ +--- +description: Learn how to organize alert rules +keywords: + - grafana + - alerting + - organization +title: Organising alert rules +weight: 104 +--- + +## Namespaces and groups + +Alerts can be organized using Folders for Grafana-managed rules and namespaces for Mimir or Loki rules and group names. + +### Namespaces + +When creating Grafana-managed rules, the folder can be used to perform access control and grant or deny access to all rules within a specific folder. + +### Groups + +All rules within a group are evaluated at the same **interval**. + +Alert rules and recording rules within a group will always be evaluated **sequentially**, meaning no rules will be evaluated at the same time and in order of appearance. + +> **Note** If you want rules to be evaluated concurrently and with different intervals, consider storing them in different groups. diff --git a/docs/sources/alerting/fundamentals/alertmanager.md b/docs/sources/alerting/fundamentals/alertmanager.md index 7a849bf7928..27fc0a40ec4 100644 --- a/docs/sources/alerting/fundamentals/alertmanager.md +++ b/docs/sources/alerting/fundamentals/alertmanager.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/fundamentals/alertmanager/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/"] -title = "Alertmanager" -weight = 116 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/fundamentals/alertmanager/ + - /docs/grafana/latest/alerting/metrics/ + - /docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/ +title: Alertmanager +weight: 116 +--- # Alertmanager diff --git a/docs/sources/alerting/fundamentals/annotation-label/_index.md b/docs/sources/alerting/fundamentals/annotation-label/_index.md index f91a411b87e..a1478c0bf78 100644 --- a/docs/sources/alerting/fundamentals/annotation-label/_index.md +++ b/docs/sources/alerting/fundamentals/annotation-label/_index.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/"] -description = "Annotations and labels for alerting" -keywords = ["grafana", "alerting", "guide", "rules", "create"] -title = "Annotations and labels for alerting rules" -weight = 401 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/ + - /docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/ +description: Annotations and labels for alerting +keywords: + - grafana + - alerting + - guide + - rules + - create +title: Annotations and labels for alerting rules +weight: 401 +--- # Annotations and labels for alerting rules diff --git a/docs/sources/alerting/fundamentals/annotation-label/how-to-use-labels.md b/docs/sources/alerting/fundamentals/annotation-label/how-to-use-labels.md index 2eab1aa0859..a3d43022341 100644 --- a/docs/sources/alerting/fundamentals/annotation-label/how-to-use-labels.md +++ b/docs/sources/alerting/fundamentals/annotation-label/how-to-use-labels.md @@ -1,9 +1,13 @@ -+++ -title = "Labels in Grafana alerting" -description = "Learn about labels and label matchers in alerting" -keywords = ["grafana", "alerting", "guide", "fundamentals"] -weight = 117 -+++ +--- +description: Learn about labels and label matchers in alerting +keywords: + - grafana + - alerting + - guide + - fundamentals +title: Labels in Grafana alerting +weight: 117 +--- # Labels in Grafana alerting diff --git a/docs/sources/alerting/fundamentals/annotation-label/labels-and-label-matchers.md b/docs/sources/alerting/fundamentals/annotation-label/labels-and-label-matchers.md index 07768d26b36..4fd035ac72e 100644 --- a/docs/sources/alerting/fundamentals/annotation-label/labels-and-label-matchers.md +++ b/docs/sources/alerting/fundamentals/annotation-label/labels-and-label-matchers.md @@ -1,9 +1,13 @@ -+++ -title = "Label matchers" -description = "Learn about labels and label matchers in alerting" -keywords = ["grafana", "alerting", "guide", "fundamentals"] -weight = 117 -+++ +--- +description: Learn about labels and label matchers in alerting +keywords: + - grafana + - alerting + - guide + - fundamentals +title: Label matchers +weight: 117 +--- # How label matching works diff --git a/docs/sources/alerting/fundamentals/annotation-label/variables-label-annotation.md b/docs/sources/alerting/fundamentals/annotation-label/variables-label-annotation.md index 362943b8af0..2caf38d1fe3 100644 --- a/docs/sources/alerting/fundamentals/annotation-label/variables-label-annotation.md +++ b/docs/sources/alerting/fundamentals/annotation-label/variables-label-annotation.md @@ -1,9 +1,13 @@ -+++ -title = "Template variables for alerting rule labels and annotations" -description = "Learn about labels and label matchers in alerting" -keywords = ["grafana", "alerting", "guide", "fundamentals"] -weight = 117 -+++ +--- +description: Learn about labels and label matchers in alerting +keywords: + - grafana + - alerting + - guide + - fundamentals +title: Template variables for alerting rule labels and annotations +weight: 117 +--- # Template variables for alerting rule labels and annotations diff --git a/docs/sources/alerting/fundamentals/evaluate-grafana-alerts.md b/docs/sources/alerting/fundamentals/evaluate-grafana-alerts.md index f55944766dd..1c48018d727 100644 --- a/docs/sources/alerting/fundamentals/evaluate-grafana-alerts.md +++ b/docs/sources/alerting/fundamentals/evaluate-grafana-alerts.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/fundamentals/evaluate-grafana-alerts/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/"] -title = "Alerting on numeric data" -weight = 116 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/fundamentals/evaluate-grafana-alerts/ + - /docs/grafana/latest/alerting/metrics/ + - /docs/grafana/latest/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/ +title: Alerting on numeric data +weight: 116 +--- # Alerting on numeric data diff --git a/docs/sources/alerting/fundamentals/state-and-health.md b/docs/sources/alerting/fundamentals/state-and-health.md index 796f8e9c2b7..4b8a511f282 100644 --- a/docs/sources/alerting/fundamentals/state-and-health.md +++ b/docs/sources/alerting/fundamentals/state-and-health.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/fundamentals/state-and-health/", "/docs/grafana/llatest/alerting/unified-alerting/alerting-rules/state-and-health/"] -description = "State and Health of alerting rules" -keywords = ["grafana", "alerting", "guide", "state"] -title = "State and health of alerting rules" -+++ +--- +aliases: + - /docs/grafana/latest/alerting/fundamentals/state-and-health/ + - /docs/grafana/llatest/alerting/unified-alerting/alerting-rules/state-and-health/ +description: State and Health of alerting rules +keywords: + - grafana + - alerting + - guide + - state +title: State and health of alerting rules +--- # State and health of alerting rules diff --git a/docs/sources/alerting/high-availability/_index.md b/docs/sources/alerting/high-availability/_index.md index 766ac32f545..8f07d00fd58 100644 --- a/docs/sources/alerting/high-availability/_index.md +++ b/docs/sources/alerting/high-availability/_index.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/high-availability/", "/docs/grafana/latest/alerting/unified-alerting/high-availability/"] -description = "High availability" -keywords = ["grafana", "alerting", "tutorials", "ha", "high availability"] -title = " Alerting high availability" -weight = 450 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/high-availability/ + - /docs/grafana/latest/alerting/unified-alerting/high-availability/ +description: High availability +keywords: + - grafana + - alerting + - tutorials + - ha + - high availability +title: ' Alerting high availability' +weight: 450 +--- # About alerting high availability diff --git a/docs/sources/alerting/high-availability/enable-alerting-ha.md b/docs/sources/alerting/high-availability/enable-alerting-ha.md index 2b2c48d245c..41aa31bcf9c 100644 --- a/docs/sources/alerting/high-availability/enable-alerting-ha.md +++ b/docs/sources/alerting/high-availability/enable-alerting-ha.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/high-availability/enable-alerting-ha/", "/docs/grafana/latest/alerting/unified-alerting/high-availability/"] -description = "Enable alerting high availability" -keywords = ["grafana", "alerting", "tutorials", "ha", "high availability"] -title = "Enable alerting high availability" -weight = 450 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/high-availability/enable-alerting-ha/ + - /docs/grafana/latest/alerting/unified-alerting/high-availability/ +description: Enable alerting high availability +keywords: + - grafana + - alerting + - tutorials + - ha + - high availability +title: Enable alerting high availability +weight: 450 +--- # Enable alerting high availability diff --git a/docs/sources/alerting/migrating-alerts/_index.md b/docs/sources/alerting/migrating-alerts/_index.md new file mode 100644 index 00000000000..256c226c812 --- /dev/null +++ b/docs/sources/alerting/migrating-alerts/_index.md @@ -0,0 +1,27 @@ +--- +aliases: + - /docs/grafana/latest/alerting/migrating-alerts/ +description: Migrate Grafana alerts +title: Migrate to Grafana alerting +weight: 113 +--- + +# Migrate to Grafana alerting + +Grafana alerting is the default for new Cloud, Enterprise, and OSS installations. The new installations will only show the Grafana alerting icon in the left navigation panel. + +Existing installations that upgrade to v9.0 will have Grafana alerting enabled by default. + +| Grafana instance upgraded to v 90 | | +| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Cloud | Existing Cloud installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting plugin icon and the new Grafana alerting icon. During upgrade, existing alerts from the Cloud alerting plugin are migrated to Grafana alerting. Once migration is complete, you can access aman manage the older alerts from the new alerting Grafana alerting icon in the navigation panel. The (older) Cloud alerting plugin is uninstalled from your cloud instance. Contact customer support if you **do not wish** to migrate to Grafana alerting for your Cloud stack. If you choose to use legacy alerting, use the You will see the new Grafana alerting icon as well as the old Cloud alerting plugin in the left navigation panel. | +| Enterprise | Existing Enterprise instances using legacy alerting will have both the old (marked as legacy) and the new alerting icons in the navigation panel. During upgrade, existing legacy alerts are migrated to Grafana alerting. If you wish, you can [opt-out]({{< relref "./opt-out.md" >}}) of Grafana alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. | +| OSS | Existing OSS installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting icon (marked as legacy) and the new Grafana alerting icon. During upgrade, existing legacy alerts are migrated to Grafana alerting. If you wish, you can [opt-out]({{< relref "./opt-out.md" >}}) of Grafana alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. | + +During migration from legacy alerting to unified alerting, the legacy alerts are updated to the new alerts type, as a result, the user does not lose alerts or alerting data. However, if a user rolls back to legacy alerting after having migrated to unified alerting, they will only get the legacy alerts they had right before migration. + +## Roll back to legacy alerting + +Although we encourage you to use Grafana alerting, roll back to legacy alerting is supported in Grafana 9. Rolling back can result in data loss (you will loose all alerts that you created using Grafana alerting). This is applicable to the fresh installation as well as upgraded setups. + +> **Note:** Legacy alerting will be deprecated in a future release (v10). diff --git a/docs/sources/alerting/migrating-legacy-alerts.md b/docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md similarity index 55% rename from docs/sources/alerting/migrating-legacy-alerts.md rename to docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md index 51dfd5ffac7..c70da4eeb0f 100644 --- a/docs/sources/alerting/migrating-legacy-alerts.md +++ b/docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md @@ -1,13 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/migrating-legacy-alerts/", "/docs/grafana/latest/alerting/unified-alerting/opt-in/"] -description = "Migrate legacy dashboard alerts" -title = "Migrating legacy dashboard alerts" -weight = 114 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/migrating-legacy-alerts/ + - /docs/grafana/latest/alerting/unified-alerting/opt-in/ +description: Migrate legacy dashboard alerts +title: Migrating legacy dashboard alerts +weight: 114 +--- # Migrating legacy dashboard alerts -When Grafana alerting is enabled or Grafana is upgraded to the latest version, existing legacy dashboard alerts migrate in a format compatible with the Grafana alerting. In the Alerting page of your Grafana instance, you can view the migrated alerts alongside new alerts. +When Grafana alerting is enabled or Grafana is upgraded to the latest version, existing legacy dashboard alerts migrate in a format compatible with the Grafana alerting. In the Alerting page of your Grafana instance, you can view the migrated alerts alongside any new alerts. This topic explains how legacy dashboard alerts are migrated and some limitations. + +> **Note:** This topic is only relevant for OSS and Enterprise customers. Contact customer support to enable or disable Grafana alerting for your Cloud stack. Read and write access to legacy dashboard alerts and Grafana alerts are governed by the permissions of the folders storing them. During migration, legacy dashboard alert permissions are matched to the new rules permissions as follows: @@ -15,20 +19,9 @@ Read and write access to legacy dashboard alerts and Grafana alerts are governed - If there are no dashboard permissions and the dashboard is under a folder, then the rule is linked to this folder and inherits its permissions. - If there are no dashboard permissions and the dashboard is under the General folder, then the rule is linked to the `General Alerting` folder, and the rule inherits the default permissions. -> **Note:** Since there is no `Keep Last State` option for [`No Data`]({{< relref "./alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) in Grafana alerting, this option becomes `NoData` during the legacy rules migration. Option "Keep Last State" for [`Error handling`]({{< relref "./alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) is migrated to a new option `Error`. To match the behavior of the `Keep Last State`, in both cases, during the migration Grafana automatically creates a [silence]({{< relref "./silences/_index.md" >}}) for each alert rule with a duration of 1 year. +> **Note:** Since there is no `Keep Last State` option for [`No Data`]({{< relref "../alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) in Grafana alerting, this option becomes `NoData` during the legacy rules migration. Option "Keep Last State" for [`Error handling`]({{< relref "../alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) is migrated to a new option `Error`. To match the behavior of the `Keep Last State`, in both cases, during the migration Grafana automatically creates a [silence]({{< relref "../silences/_index.md" >}}) for each alert rule with a duration of 1 year. Notification channels are migrated to an Alertmanager configuration with the appropriate routes and receivers. Default notification channels are added as contact points to the default route. Notification channels not associated with any Dashboard alert go to the `autogen-unlinked-channel-recv` route. Since `Hipchat` and `Sensu` notification channels are no longer supported, legacy alerts associated with these channels are not automatically migrated to Grafana alerting. Assign the legacy alerts to a supported notification channel so that you continue to receive notifications for those alerts. Silences (expiring after one year) are created for all paused dashboard alerts. - -## Disable Grafana alerts - -To disable Grafana alerts and enable legacy dashboard alerts: - -1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [Grafana alerting]({{< relref "../administration/configuration.md#unified_alerting" >}}) section. -1. Set the `enabled` property to `false`. -1. For [legacy dashboard alerting]({{< relref "../administration/configuration.md#alerting" >}}), set the `enabled` flag to `true`. -1. Restart Grafana for the configuration changes to take effect. - -> **Note:** Switching from one flavor of alerting to another can result in data loss. This is applicable to the fresh installation as well as upgraded setups. diff --git a/docs/sources/alerting/migrating-alerts/opt-out.md b/docs/sources/alerting/migrating-alerts/opt-out.md new file mode 100644 index 00000000000..9f90ce6f383 --- /dev/null +++ b/docs/sources/alerting/migrating-alerts/opt-out.md @@ -0,0 +1,42 @@ +--- +aliases: + - /docs/grafana/latest/alerting/opt-in/ + - /docs/grafana/latest/alerting/unified-alerting/opt-in/ +description: Disable Grafana alerts +title: Opt-out of Grafana alerting +weight: 113 +--- + +# Opt-out to Grafana alerting in OSS + +This topic discusses how to disable Grafana alerting and migrate to legacy dashboard alerting. It also provides guidance on how to enable Grafana alerting once you are ready to migrate to Grafana alerting. + +> **Note:** This topic is only relevant for OSS and Enterprise customers. Contact customer support to enable or disable Grafana alerting for your Grafana Cloud stack. + +## Before you begin + +We recommend that you backup Grafana's database. If you are using PostgreSQL as the backend database, then the minimum required version is 9.5. + +## Opt-out of Grafana alerts + +To opt-out of Grafana alerts and roll back to legacy dashboard alerting: + +1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [Grafana alerting]({{< relref "../../administration/configuration.md#unified_alerting" >}}) section. +1. Set the `enabled` property to `false`. +1. For [legacy dashboard alerting]({{< relref "../../administration/configuration.md#alerting" >}}), set the `enabled` flag to `true`. +1. Restart Grafana for the configuration changes to take effect. + +> **Note:** Rolling back from Grafana to legacy alerting can result in data loss. This is applicable to the fresh installation as well as upgraded setups. + +## Opt-in to Grafana alerting + +When you are ready to make the switch, the following procedure will help you migrate to Grafana alerting. + +To opt-in to Grafana alerts: + +1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [unified alerts]({{< relref "../../administration/configuration.md#unified_alerting" >}}) section. +2. Set the `enabled` property to `true`. +3. Next, for [legacy dashboard alerting]({{< relref "../../administration/configuration.md#alerting" >}}), set the `enabled` flag to `false`. +4. Restart Grafana for the configuration changes to take effect. + +> **Note:** The `ngalert` toggle previously used to enable or disable Grafana alerting is no longer available. diff --git a/docs/sources/alerting/notifications/_index.md b/docs/sources/alerting/notifications/_index.md index 01fef50d0a2..a04ca9792b1 100644 --- a/docs/sources/alerting/notifications/_index.md +++ b/docs/sources/alerting/notifications/_index.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/notifications/", "/docs/grafana/latest/alerting/unified-alerting/notifications/"] -description = "Notification policies" -keywords = ["grafana", "alerting", "guide", "notification policies", "routes"] -title = "Notification policies" -weight = 440 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/notifications/ + - /docs/grafana/latest/alerting/unified-alerting/notifications/ +description: Notification policies +keywords: + - grafana + - alerting + - guide + - notification policies + - routes +title: Notification policies +weight: 440 +--- # Notification policies diff --git a/docs/sources/alerting/notifications/mute-timings.md b/docs/sources/alerting/notifications/mute-timings.md index 4fbab31dd21..9d941be1735 100644 --- a/docs/sources/alerting/notifications/mute-timings.md +++ b/docs/sources/alerting/notifications/mute-timings.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/notifications/mute-timings/", "/docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/"] -description = "Mute timings" -keywords = ["grafana", "alerting", "guide", "mute", "mute timings", "mute time interval"] -title = "Mute timings" -weight = 450 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/notifications/mute-timings/ + - /docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/ +description: Mute timings +keywords: + - grafana + - alerting + - guide + - mute + - mute timings + - mute time interval +title: Mute timings +weight: 450 +--- # Mute timings diff --git a/docs/sources/alerting/opt-in.md b/docs/sources/alerting/opt-in.md deleted file mode 100644 index ca31f27b927..00000000000 --- a/docs/sources/alerting/opt-in.md +++ /dev/null @@ -1,41 +0,0 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/opt-in/", "/docs/grafana/latest/alerting/unified-alerting/opt-in/"] -description = "Enable Grafana alerts" -title = "Opt-in to Grafana alerting" -weight = 113 -+++ - -# Opt-in to Grafana alerting in OSS - -Grafana alerting is enabled by default for new Cloud and OSS installations. - -- For existing OSS installations that use legacy dashboard alerts, unified alerting is still an opt-in feature. -- For existing Grafana Cloud users, contact customer support to enable Grafana alerting for your Cloud stack. - -## Before you begin - -We recommend that you backup Grafana's database. If you are using PostgreSQL as the backend database, then the minimum required version is 9.5. - -## Enable Grafana alerting - -To enable Grafana alerts: - -1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [unified alerts]({{< relref "../administration/configuration.md#unified_alerting" >}}) section. -2. Set the `enabled` property to `true`. -3. Next, for [legacy dashboard alerting]({{< relref "../administration/configuration.md#alerting" >}}), set the `enabled` flag to `false`. -4. Restart Grafana for the configuration changes to take effect. - -> **Note:** The `ngalert` toggle previously used to enable or disable Grafana alerting is no longer available. - -Before v8.2, notification logs and silences were stored on a disk. If you did not use persistent disks, you would have lost any configured silences and logs on a restart, resulting in unwanted or duplicate notifications. We no longer require the use of a persistent disk. Instead, the notification logs and silences are stored regularly (every 15 minutes). If you used the file-based approach, Grafana reads the existing file and persists it eventually. - -## Disable Grafana alerts - -To disable Grafana alerts and roll back to legacy dashboard alerting: - -1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [Grafana alerting]({{< relref "../administration/configuration.md#unified_alerting" >}}) section. -1. Set the `enabled` property to `false`. -1. For [legacy dashboard alerting]({{< relref "../administration/configuration.md#alerting" >}}), set the `enabled` flag to `true`. -1. Restart Grafana for the configuration changes to take effect. - -> **Note:** Switching from one flavor of alerting to another can result in data loss. This is applicable to the fresh installation as well as upgraded setups. diff --git a/docs/sources/alerting/silences/_index.md b/docs/sources/alerting/silences/_index.md index 9f9f8e43946..259baa64ed0 100644 --- a/docs/sources/alerting/silences/_index.md +++ b/docs/sources/alerting/silences/_index.md @@ -1,10 +1,15 @@ -+++ -title = "Silences" -description = "Silences" -keywords = ["grafana", "alerting", "silence", "mute"] -weight = 450 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/silences/ +description: Silences +keywords: + - grafana + - alerting + - silence + - mute +title: Silences +weight: 450 +--- # About alerting silences diff --git a/docs/sources/alerting/silences/create-silence.md b/docs/sources/alerting/silences/create-silence.md index c12bfc37ad8..16460ec1928 100644 --- a/docs/sources/alerting/silences/create-silence.md +++ b/docs/sources/alerting/silences/create-silence.md @@ -1,10 +1,15 @@ -+++ -title = "Create a silence" -description = "Add silence alert notification" -keywords = ["grafana", "alerting", "silence", "mute"] -weight = 450 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/silences/ +description: Add silence alert notification +keywords: + - grafana + - alerting + - silence + - mute +title: Create a silence +weight: 450 +--- # Create a silence diff --git a/docs/sources/alerting/silences/edit-silence.md b/docs/sources/alerting/silences/edit-silence.md index d2460b70e4b..0b118e4a7fb 100644 --- a/docs/sources/alerting/silences/edit-silence.md +++ b/docs/sources/alerting/silences/edit-silence.md @@ -1,10 +1,15 @@ -+++ -title = "Edit silences" -description = "Edit alerting silences" -keywords = ["grafana", "alerting", "silence", "mute"] -weight = 450 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/silences/ +description: Edit alerting silences +keywords: + - grafana + - alerting + - silence + - mute +title: Edit silences +weight: 450 +--- # Edit silences diff --git a/docs/sources/alerting/silences/label-matching-alert-suppression.md b/docs/sources/alerting/silences/label-matching-alert-suppression.md index 5398941947e..60a1ad0609c 100644 --- a/docs/sources/alerting/silences/label-matching-alert-suppression.md +++ b/docs/sources/alerting/silences/label-matching-alert-suppression.md @@ -1,10 +1,15 @@ -+++ -title = "Label matching and alert suppression" -description = "Silences alert notifications" -keywords = ["grafana", "alerting", "silence", "mute"] -weight = 452 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/silences/ +description: Silences alert notifications +keywords: + - grafana + - alerting + - silence + - mute +title: Label matching and alert suppression +weight: 452 +--- # About label matching for alert suppression diff --git a/docs/sources/alerting/silences/linking-to-silence-form.md b/docs/sources/alerting/silences/linking-to-silence-form.md index 8bb4e5a2be9..eb0a1e0ccb7 100644 --- a/docs/sources/alerting/silences/linking-to-silence-form.md +++ b/docs/sources/alerting/silences/linking-to-silence-form.md @@ -1,10 +1,15 @@ -+++ -title = "Create URL to link to silence form" -description = "Linking to a silence form" -keywords = ["grafana", "alerting", "silence", "mute"] -weight = 451 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/silences/ +description: Linking to a silence form +keywords: + - grafana + - alerting + - silence + - mute +title: Create URL to link to silence form +weight: 451 +--- # Create a URL to link to a silence form diff --git a/docs/sources/alerting/silences/remove-silence.md b/docs/sources/alerting/silences/remove-silence.md index 32f03a32f67..d7dd7cdc8b6 100644 --- a/docs/sources/alerting/silences/remove-silence.md +++ b/docs/sources/alerting/silences/remove-silence.md @@ -1,10 +1,15 @@ -+++ -title = "Remove silences" -description = "Remove alerting silences" -keywords = ["grafana", "alerting", "silence", "mute"] -weight = 451 -aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"] -+++ +--- +aliases: + - /docs/grafana/latest/alerting/unified-alerting/silences/ +description: Remove alerting silences +keywords: + - grafana + - alerting + - silence + - mute +title: Remove silences +weight: 451 +--- # Remove silences diff --git a/docs/sources/auth/_index.md b/docs/sources/auth/_index.md index 502c7f3e8e6..c68ce381a0f 100644 --- a/docs/sources/auth/_index.md +++ b/docs/sources/auth/_index.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/auth/"] -description = "Authentication" -title = "Authentication" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/auth/ +description: Authentication +title: Authentication +weight: 30 +--- # User Authentication Overview diff --git a/docs/sources/auth/auth-proxy.md b/docs/sources/auth/auth-proxy.md index d558098b55f..70fff8ee09c 100644 --- a/docs/sources/auth/auth-proxy.md +++ b/docs/sources/auth/auth-proxy.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/auth/auth-proxy/", "/docs/grafana/latest/tutorials/authproxy/"] -description = "Grafana Auth Proxy Guide " -keywords = ["grafana", "configuration", "documentation", "proxy"] -title = "Auth Proxy" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/auth/auth-proxy/ + - /docs/grafana/latest/tutorials/authproxy/ +description: 'Grafana Auth Proxy Guide ' +keywords: + - grafana + - configuration + - documentation + - proxy +title: Auth Proxy +weight: 200 +--- # Auth Proxy Authentication diff --git a/docs/sources/auth/azuread.md b/docs/sources/auth/azuread.md index c4eb067b675..c83943f5907 100644 --- a/docs/sources/auth/azuread.md +++ b/docs/sources/auth/azuread.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/azuread/"] -description = "Grafana Azure AD OAuth Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "Azure AD OAuth2 authentication" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/auth/azuread/ +description: 'Grafana Azure AD OAuth Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: Azure AD OAuth2 authentication +weight: 700 +--- # Azure AD OAuth2 authentication diff --git a/docs/sources/auth/enhanced_ldap.md b/docs/sources/auth/enhanced_ldap.md index eb8f0750eec..25085763a3d 100644 --- a/docs/sources/auth/enhanced_ldap.md +++ b/docs/sources/auth/enhanced_ldap.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/auth/enhanced_ldap/"] -description = "Grafana Enhanced LDAP Integration Guide " -keywords = ["grafana", "configuration", "documentation", "ldap", "active directory", "enterprise"] -title = "Enhanced LDAP Integration" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/auth/enhanced_ldap/ +description: 'Grafana Enhanced LDAP Integration Guide ' +keywords: + - grafana + - configuration + - documentation + - ldap + - active directory + - enterprise +title: Enhanced LDAP Integration +weight: 400 +--- # Enhanced LDAP integration diff --git a/docs/sources/auth/generic-oauth.md b/docs/sources/auth/generic-oauth.md index 3db5506508f..c8171861ba7 100644 --- a/docs/sources/auth/generic-oauth.md +++ b/docs/sources/auth/generic-oauth.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/generic-oauth/"] -description = "Grafana OAuthentication Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "OAuth authentication" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/auth/generic-oauth/ +description: 'Grafana OAuthentication Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: OAuth authentication +weight: 500 +--- # Generic OAuth authentication diff --git a/docs/sources/auth/github.md b/docs/sources/auth/github.md index 348a74886df..55132eb9148 100644 --- a/docs/sources/auth/github.md +++ b/docs/sources/auth/github.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/github/"] -description = "Grafana OAuthentication Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "GitHub OAuth2 Authentication" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/auth/github/ +description: 'Grafana OAuthentication Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: GitHub OAuth2 Authentication +weight: 800 +--- # GitHub OAuth2 Authentication diff --git a/docs/sources/auth/gitlab.md b/docs/sources/auth/gitlab.md index a5bd8eb1643..ab8447965d2 100644 --- a/docs/sources/auth/gitlab.md +++ b/docs/sources/auth/gitlab.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/gitlab/"] -description = "Grafana OAuthentication Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "GitLab OAuth2 Authentication" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/auth/gitlab/ +description: 'Grafana OAuthentication Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: GitLab OAuth2 Authentication +weight: 900 +--- # GitLab OAuth2 Authentication diff --git a/docs/sources/auth/google.md b/docs/sources/auth/google.md index 55d52e44afb..65a820e023c 100644 --- a/docs/sources/auth/google.md +++ b/docs/sources/auth/google.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/google/"] -description = "Grafana OAuthentication Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "Google OAuth2 Authentication" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/auth/google/ +description: 'Grafana OAuthentication Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: Google OAuth2 Authentication +weight: 600 +--- # Google OAuth2 Authentication diff --git a/docs/sources/auth/grafana.md b/docs/sources/auth/grafana.md index 80375f5e0e0..daba2d407b5 100644 --- a/docs/sources/auth/grafana.md +++ b/docs/sources/auth/grafana.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/grafana/"] -description = "Grafana OAuthentication Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "Grafana Authentication" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/auth/grafana/ +description: 'Grafana OAuthentication Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: Grafana Authentication +weight: 100 +--- ## Grafana Auth diff --git a/docs/sources/auth/jwt.md b/docs/sources/auth/jwt.md index d5507d8eef6..44822a0ebc9 100644 --- a/docs/sources/auth/jwt.md +++ b/docs/sources/auth/jwt.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/auth/jwt/"] -description = "Grafana JWT Authentication" -keywords = ["grafana", "configuration", "documentation", "jwt", "jwk"] -title = "JWT Authentication" -weight = 250 -+++ +--- +aliases: + - /docs/grafana/latest/auth/jwt/ +description: Grafana JWT Authentication +keywords: + - grafana + - configuration + - documentation + - jwt + - jwk +title: JWT Authentication +weight: 250 +--- # JWT authentication diff --git a/docs/sources/auth/ldap.md b/docs/sources/auth/ldap.md index 4e43e78eaf3..2a961a4d47c 100644 --- a/docs/sources/auth/ldap.md +++ b/docs/sources/auth/ldap.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/auth/ldap/", "/docs/grafana/latest/installation/ldap/"] -description = "Grafana LDAP Authentication Guide " -keywords = ["grafana", "configuration", "documentation", "ldap", "active directory"] -title = "LDAP Authentication" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/auth/ldap/ + - /docs/grafana/latest/installation/ldap/ +description: 'Grafana LDAP Authentication Guide ' +keywords: + - grafana + - configuration + - documentation + - ldap + - active directory +title: LDAP Authentication +weight: 300 +--- # LDAP Authentication diff --git a/docs/sources/auth/okta.md b/docs/sources/auth/okta.md index ea949a3d88e..2d58b9b3a9b 100644 --- a/docs/sources/auth/okta.md +++ b/docs/sources/auth/okta.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/okta/"] -description = "Grafana Okta OAuth Guide " -keywords = ["grafana", "configuration", "documentation", "oauth"] -title = "Okta OAuth2 authentication" -weight = 1000 -+++ +--- +aliases: + - /docs/grafana/latest/auth/okta/ +description: 'Grafana Okta OAuth Guide ' +keywords: + - grafana + - configuration + - documentation + - oauth +title: Okta OAuth2 authentication +weight: 1000 +--- # Okta OAuth2 authentication diff --git a/docs/sources/auth/overview.md b/docs/sources/auth/overview.md index 3bea4b9a030..e6f899d3cf3 100644 --- a/docs/sources/auth/overview.md +++ b/docs/sources/auth/overview.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/auth/overview/"] -description = "Overview for auth" -title = "Overview" -weight = 1 -+++ +--- +aliases: + - /docs/grafana/latest/auth/overview/ +description: Overview for auth +title: Overview +weight: 1 +--- # User Authentication Overview diff --git a/docs/sources/auth/saml.md b/docs/sources/auth/saml.md index 98e921da278..efb7ee278c0 100644 --- a/docs/sources/auth/saml.md +++ b/docs/sources/auth/saml.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/saml/"] -description = "Grafana SAML Authentication" -keywords = ["grafana", "saml", "documentation", "saml-auth"] -title = "SAML Authentication" -weight = 1100 -+++ +--- +aliases: + - /docs/grafana/latest/auth/saml/ +description: Grafana SAML Authentication +keywords: + - grafana + - saml + - documentation + - saml-auth +title: SAML Authentication +weight: 1100 +--- # SAML authentication diff --git a/docs/sources/auth/team-sync.md b/docs/sources/auth/team-sync.md index 9bebec819fc..c47b4678610 100644 --- a/docs/sources/auth/team-sync.md +++ b/docs/sources/auth/team-sync.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/saml/", "/docs/grafana/latest/auth/team-sync/"] -description = "Grafana Team Sync" -keywords = ["grafana", "auth", "documentation"] -title = "Team Sync" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/auth/saml/ + - /docs/grafana/latest/auth/team-sync/ +description: Grafana Team Sync +keywords: + - grafana + - auth + - documentation +title: Team Sync +weight: 1200 +--- # Team sync diff --git a/docs/sources/basics/_index.md b/docs/sources/basics/_index.md index f26094e6311..2c67abb9305 100644 --- a/docs/sources/basics/_index.md +++ b/docs/sources/basics/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/basics/"] -title = "Grafana basics" -weight = 15 -+++ +--- +aliases: + - /docs/grafana/latest/basics/ +title: Grafana basics +weight: 15 +--- # Grafana basics diff --git a/docs/sources/basics/exemplars/_index.md b/docs/sources/basics/exemplars/_index.md index 4696922e319..c4bb32ac882 100644 --- a/docs/sources/basics/exemplars/_index.md +++ b/docs/sources/basics/exemplars/_index.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/basics/exemplars/"] -description = "Exemplars" -keywords = ["grafana", "concepts", "exemplars", "prometheus"] -title = "Exemplars" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/basics/exemplars/ +description: Exemplars +keywords: + - grafana + - concepts + - exemplars + - prometheus +title: Exemplars +weight: 400 +--- # Introduction to exemplars diff --git a/docs/sources/basics/exemplars/view-exemplars.md b/docs/sources/basics/exemplars/view-exemplars.md index 4453ebf91ad..3e3620ab927 100644 --- a/docs/sources/basics/exemplars/view-exemplars.md +++ b/docs/sources/basics/exemplars/view-exemplars.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/basics/exemplars/view-exemplars/"] -description = "Exemplars" -keywords = ["grafana", "concepts", "exemplars", "prometheus"] -title = "View exemplar data" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/basics/exemplars/view-exemplars/ +description: Exemplars +keywords: + - grafana + - concepts + - exemplars + - prometheus +title: View exemplar data +weight: 400 +--- # View exemplar data diff --git a/docs/sources/basics/glossary.md b/docs/sources/basics/glossary.md index 04380473f02..1fd9828ed8a 100644 --- a/docs/sources/basics/glossary.md +++ b/docs/sources/basics/glossary.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/basics/glossary/", "/docs/grafana/latest/getting-started/glossary/", "/docs/grafana/latest/guides/glossary/"] -description = "Grafana glossary" -keywords = ["grafana", "intro", "glossary", "dictionary"] -title = "Glossary" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/basics/glossary/ + - /docs/grafana/latest/getting-started/glossary/ + - /docs/grafana/latest/guides/glossary/ +description: Grafana glossary +keywords: + - grafana + - intro + - glossary + - dictionary +title: Glossary +weight: 800 +--- # Glossary diff --git a/docs/sources/basics/intro-histograms.md b/docs/sources/basics/intro-histograms.md index a3c00e80a0f..8cb0c0ebb86 100644 --- a/docs/sources/basics/intro-histograms.md +++ b/docs/sources/basics/intro-histograms.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/basics/intro-histograms/", "/docs/grafana/latest/getting-started/intro-histograms/"] -description = "An introduction to histograms and heatmaps" -keywords = ["grafana", "heatmap", "panel", "documentation", "histogram"] -title = "Histograms and heatmaps" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/basics/intro-histograms/ + - /docs/grafana/latest/getting-started/intro-histograms/ +description: An introduction to histograms and heatmaps +keywords: + - grafana + - heatmap + - panel + - documentation + - histogram +title: Histograms and heatmaps +weight: 700 +--- # Introduction to histograms and heatmaps diff --git a/docs/sources/basics/timeseries-dimensions.md b/docs/sources/basics/timeseries-dimensions.md index 88a0fb5cb0a..70fbee143fe 100644 --- a/docs/sources/basics/timeseries-dimensions.md +++ b/docs/sources/basics/timeseries-dimensions.md @@ -1,10 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/basics/timeseries-dimensions/", "/docs/grafana/latest/getting-started/timeseries-dimensions/", "/docs/grafana/latest/guides/timeseries-dimensions/"] -description = "time series dimensions" -keywords = ["grafana", "intro", "guide", "concepts", "timeseries", "labels"] -title = "Time series dimensions" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/basics/timeseries-dimensions/ + - /docs/grafana/latest/getting-started/timeseries-dimensions/ + - /docs/grafana/latest/guides/timeseries-dimensions/ +description: time series dimensions +keywords: + - grafana + - intro + - guide + - concepts + - timeseries + - labels +title: Time series dimensions +weight: 600 +--- # Time series dimensions diff --git a/docs/sources/basics/timeseries.md b/docs/sources/basics/timeseries.md index 6197aa2b5dd..a9f61abe6a6 100644 --- a/docs/sources/basics/timeseries.md +++ b/docs/sources/basics/timeseries.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/basics/timeseries/"] -description = "Introduction to time series" -keywords = ["grafana", "intro", "guide", "concepts", "timeseries"] -title = "Intro to time series" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/basics/timeseries/ +description: Introduction to time series +keywords: + - grafana + - intro + - guide + - concepts + - timeseries +title: Intro to time series +weight: 400 +--- # Introduction to time series diff --git a/docs/sources/best-practices/_index.md b/docs/sources/best-practices/_index.md index 70e443ed08b..cb443d43145 100644 --- a/docs/sources/best-practices/_index.md +++ b/docs/sources/best-practices/_index.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/best-practices/"] -description = "Best practices for working with Grafana" -title = "Best practices" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/best-practices/ +description: Best practices for working with Grafana +title: Best practices +weight: 20 +--- # Best practices diff --git a/docs/sources/best-practices/best-practices-for-creating-dashboards.md b/docs/sources/best-practices/best-practices-for-creating-dashboards.md index 4133dbb1816..a2f895dae1d 100644 --- a/docs/sources/best-practices/best-practices-for-creating-dashboards.md +++ b/docs/sources/best-practices/best-practices-for-creating-dashboards.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/best-practices/best-practices-for-creating-dashboards/"] -description = "Best practices for creating dashboards in Grafana" -title = "Best practices for creating dashboards" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/best-practices/best-practices-for-creating-dashboards/ +description: Best practices for creating dashboards in Grafana +title: Best practices for creating dashboards +weight: 100 +--- # Best practices for creating dashboards diff --git a/docs/sources/best-practices/best-practices-for-managing-dashboards.md b/docs/sources/best-practices/best-practices-for-managing-dashboards.md index 17ad57f5f38..f011fadf634 100644 --- a/docs/sources/best-practices/best-practices-for-managing-dashboards.md +++ b/docs/sources/best-practices/best-practices-for-managing-dashboards.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/best-practices/best-practices-for-managing-dashboards/"] -description = "Best practices for managing dashboards in Grafana" -title = "Best practices for managing dashboards" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/best-practices/best-practices-for-managing-dashboards/ +description: Best practices for managing dashboards in Grafana +title: Best practices for managing dashboards +weight: 200 +--- # Best practices for managing dashboards diff --git a/docs/sources/best-practices/common-observability-strategies.md b/docs/sources/best-practices/common-observability-strategies.md index ff66f5bb82b..3d42f617aa0 100644 --- a/docs/sources/best-practices/common-observability-strategies.md +++ b/docs/sources/best-practices/common-observability-strategies.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/best-practices/common-observability-strategies/", "/docs/grafana/latest/getting-started/strategies/"] -description = "Common observability strategies" -keywords = ["grafana", "intro", "guide", "concepts", "methods"] -title = "Common observability strategies" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/best-practices/common-observability-strategies/ + - /docs/grafana/latest/getting-started/strategies/ +description: Common observability strategies +keywords: + - grafana + - intro + - guide + - concepts + - methods +title: Common observability strategies +weight: 300 +--- # Common observability strategies diff --git a/docs/sources/best-practices/dashboard-management-maturity-levels.md b/docs/sources/best-practices/dashboard-management-maturity-levels.md index 9832750b087..7c6d2bd727c 100644 --- a/docs/sources/best-practices/dashboard-management-maturity-levels.md +++ b/docs/sources/best-practices/dashboard-management-maturity-levels.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/best-practices/dashboard-management-maturity-levels/"] -description = "Explanation of dashboard management maturity model" -title = "Dashboard management maturity model" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/best-practices/dashboard-management-maturity-levels/ +description: Explanation of dashboard management maturity model +title: Dashboard management maturity model +weight: 400 +--- # Dashboard management maturity model diff --git a/docs/sources/dashboards/_index.md b/docs/sources/dashboards/_index.md index 9363d730c81..e33089c3a07 100644 --- a/docs/sources/dashboards/_index.md +++ b/docs/sources/dashboards/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/", "/docs/grafana/latest/features/dashboard/dashboards/"] -title = "Dashboards" -weight = 80 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/ + - /docs/grafana/latest/features/dashboard/dashboards/ +title: Dashboards +weight: 80 +--- # About Grafana dashboards diff --git a/docs/sources/dashboards/annotations.md b/docs/sources/dashboards/annotations.md index d81e9d965f8..d328ef44603 100644 --- a/docs/sources/dashboards/annotations.md +++ b/docs/sources/dashboards/annotations.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/annotations/", "/docs/grafana/latest/reference/annotations/"] -keywords = ["grafana", "annotations", "documentation", "guide"] -title = "Annotations" -weight = 9 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/annotations/ + - /docs/grafana/latest/reference/annotations/ +keywords: + - grafana + - annotations + - documentation + - guide +title: Annotations +weight: 9 +--- # Annotations diff --git a/docs/sources/dashboards/dashboard-create.md b/docs/sources/dashboards/dashboard-create.md index 3017af23e4e..6380a4c97b2 100644 --- a/docs/sources/dashboards/dashboard-create.md +++ b/docs/sources/dashboards/dashboard-create.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-create/", "/docs/grafana/latest/features/dashboard/dashboards/"] -title = "Create dashboards" -weight = 7 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-create/ + - /docs/grafana/latest/features/dashboard/dashboards/ +title: Create dashboards +weight: 7 +--- ## Create dashboard diff --git a/docs/sources/dashboards/dashboard-folders.md b/docs/sources/dashboards/dashboard-folders.md index b54d257e689..e0bb3d00542 100644 --- a/docs/sources/dashboards/dashboard-folders.md +++ b/docs/sources/dashboards/dashboard-folders.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-folders/", "/docs/grafana/latest/reference/dashboard_folders/"] -keywords = ["grafana", "dashboard", "dashboard folders", "folder", "folders", "documentation", "guide"] -title = "Dashboard Folders" -weight = 6 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-folders/ + - /docs/grafana/latest/reference/dashboard_folders/ +keywords: + - grafana + - dashboard + - dashboard folders + - folder + - folders + - documentation + - guide +title: Dashboard Folders +weight: 6 +--- # Dashboard Folders diff --git a/docs/sources/dashboards/dashboard-history.md b/docs/sources/dashboards/dashboard-history.md index daea155bec5..fd78a68fc92 100644 --- a/docs/sources/dashboards/dashboard-history.md +++ b/docs/sources/dashboards/dashboard-history.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-history/", "/docs/grafana/latest/reference/dashboard_history/"] -keywords = ["grafana", "dashboard", "documentation", "version", "history"] -title = "Dashboard version history" -weight = 14 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-history/ + - /docs/grafana/latest/reference/dashboard_history/ +keywords: + - grafana + - dashboard + - documentation + - version + - history +title: Dashboard version history +weight: 14 +--- # Dashboard version history diff --git a/docs/sources/dashboards/dashboard-manage.md b/docs/sources/dashboards/dashboard-manage.md index 46825b835c1..a6effcca652 100644 --- a/docs/sources/dashboards/dashboard-manage.md +++ b/docs/sources/dashboards/dashboard-manage.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-manage/", "/docs/grafana/latest/features/dashboard/dashboards/"] -title = "Manage dashboards" -weight = 8 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-manage/ + - /docs/grafana/latest/features/dashboard/dashboards/ +title: Manage dashboards +weight: 8 +--- ## Manage dashboards diff --git a/docs/sources/dashboards/dashboard-ui/_index.md b/docs/sources/dashboards/dashboard-ui/_index.md index d396a980773..6822d53a687 100644 --- a/docs/sources/dashboards/dashboard-ui/_index.md +++ b/docs/sources/dashboards/dashboard-ui/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-ui/", "/docs/grafana/latest/features/dashboard/dashboards/"] -title = " Dashboard UI" -weight = 2 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-ui/ + - /docs/grafana/latest/features/dashboard/dashboards/ +title: ' Dashboard UI' +weight: 2 +--- # Working with Grafana dashboard UI diff --git a/docs/sources/dashboards/dashboard-ui/dashboard-header.md b/docs/sources/dashboards/dashboard-ui/dashboard-header.md index 5b0e51ac912..2bcdea21eec 100644 --- a/docs/sources/dashboards/dashboard-ui/dashboard-header.md +++ b/docs/sources/dashboards/dashboard-ui/dashboard-header.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-ui/dashboard-header/", "/docs/grafana/latest/features/dashboard/dashboards/"] -title = "Dashboard header" -weight = 80 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-ui/dashboard-header/ + - /docs/grafana/latest/features/dashboard/dashboards/ +title: Dashboard header +weight: 80 +--- ## Dashboard header diff --git a/docs/sources/dashboards/dashboard-ui/dashboard-row.md b/docs/sources/dashboards/dashboard-ui/dashboard-row.md index c26b2df886b..e364bd13941 100644 --- a/docs/sources/dashboards/dashboard-ui/dashboard-row.md +++ b/docs/sources/dashboards/dashboard-ui/dashboard-row.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/dashboard-ui/dashboard-row/", "/docs/grafana/latest/features/dashboard/dashboards/"] -title = "Dashboard rows" -weight = 80 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/dashboard-ui/dashboard-row/ + - /docs/grafana/latest/features/dashboard/dashboards/ +title: Dashboard rows +weight: 80 +--- # Dashboard rows diff --git a/docs/sources/dashboards/export-import.md b/docs/sources/dashboards/export-import.md index b5094328fb8..302e6d40e7d 100644 --- a/docs/sources/dashboards/export-import.md +++ b/docs/sources/dashboards/export-import.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/export-import/", "/docs/grafana/latest/reference/export_import/"] -keywords = ["grafana", "dashboard", "documentation", "export", "import"] -title = "Export and import" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/export-import/ + - /docs/grafana/latest/reference/export_import/ +keywords: + - grafana + - dashboard + - documentation + - export + - import +title: Export and import +weight: 800 +--- # Export and import diff --git a/docs/sources/dashboards/json-model.md b/docs/sources/dashboards/json-model.md index e9e45d9d233..c9d01f8a368 100644 --- a/docs/sources/dashboards/json-model.md +++ b/docs/sources/dashboards/json-model.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/json-model/", "/docs/grafana/latest/reference/dashboard/"] -keywords = ["grafana", "dashboard", "documentation", "json", "model"] -title = "JSON model" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/json-model/ + - /docs/grafana/latest/reference/dashboard/ +keywords: + - grafana + - dashboard + - documentation + - json + - model +title: JSON model +weight: 1200 +--- # Dashboard JSON model diff --git a/docs/sources/dashboards/playlist.md b/docs/sources/dashboards/playlist.md index c5a4ccff44f..9fc153aa81f 100644 --- a/docs/sources/dashboards/playlist.md +++ b/docs/sources/dashboards/playlist.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/playlist/", "/docs/grafana/latest/reference/playlist/"] -keywords = ["grafana", "dashboard", "documentation", "playlist"] -title = "Playlist" -weight = 9 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/playlist/ + - /docs/grafana/latest/reference/playlist/ +keywords: + - grafana + - dashboard + - documentation + - playlist +title: Playlist +weight: 9 +--- # Playlist diff --git a/docs/sources/dashboards/previews.md b/docs/sources/dashboards/previews.md index 1f4c79f759e..fe0a546951d 100644 --- a/docs/sources/dashboards/previews.md +++ b/docs/sources/dashboards/previews.md @@ -1,9 +1,14 @@ -+++ -title = "Dashboard previews" -keywords = ["grafana", "dashboard", "documentation", "previews"] -aliases = ["/docs/grafana/latest/reference/previews/"] -weight = 9 -+++ +--- +aliases: + - /docs/grafana/latest/reference/previews/ +keywords: + - grafana + - dashboard + - documentation + - previews +title: Dashboard previews +weight: 9 +--- # Dashboard previews diff --git a/docs/sources/dashboards/reporting.md b/docs/sources/dashboards/reporting.md index 1a475d4ae05..b3573056b54 100644 --- a/docs/sources/dashboards/reporting.md +++ b/docs/sources/dashboards/reporting.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/administration/reports/", "/docs/grafana/latest/dashboards/reporting/"] -description = "" -keywords = ["grafana", "reporting"] -title = "Reporting" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/administration/reports/ + - /docs/grafana/latest/dashboards/reporting/ +description: '' +keywords: + - grafana + - reporting +title: Reporting +weight: 10 +--- # Reporting diff --git a/docs/sources/dashboards/scripted-dashboards.md b/docs/sources/dashboards/scripted-dashboards.md index c4204146a53..ba4b1f0c850 100644 --- a/docs/sources/dashboards/scripted-dashboards.md +++ b/docs/sources/dashboards/scripted-dashboards.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/scripted-dashboards/", "/docs/grafana/latest/reference/scripting/"] -keywords = ["grafana", "dashboard", "documentation", "scripted"] -title = "Scripted dashboards" -weight = 1500 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/scripted-dashboards/ + - /docs/grafana/latest/reference/scripting/ +keywords: + - grafana + - dashboard + - documentation + - scripted +title: Scripted dashboards +weight: 1500 +--- # Scripted dashboards diff --git a/docs/sources/dashboards/search.md b/docs/sources/dashboards/search.md index dbdf9353fb4..60fe8f2b5e6 100644 --- a/docs/sources/dashboards/search.md +++ b/docs/sources/dashboards/search.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/search/", "/docs/grafana/latest/reference/search/"] -keywords = ["grafana", "dashboard", "documentation", "search"] -title = "Search" -weight = 9 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/search/ + - /docs/grafana/latest/reference/search/ +keywords: + - grafana + - dashboard + - documentation + - search +title: Search +weight: 9 +--- # Dashboard Search diff --git a/docs/sources/dashboards/shortcuts.md b/docs/sources/dashboards/shortcuts.md index 89317a6a553..b0b5fd40522 100644 --- a/docs/sources/dashboards/shortcuts.md +++ b/docs/sources/dashboards/shortcuts.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/shortcuts/"] -title = "Keyboard shortcuts" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/shortcuts/ +title: Keyboard shortcuts +weight: 10 +--- # Keyboard shortcuts diff --git a/docs/sources/dashboards/time-range-controls.md b/docs/sources/dashboards/time-range-controls.md index 715c13c9c28..608bc926252 100644 --- a/docs/sources/dashboards/time-range-controls.md +++ b/docs/sources/dashboards/time-range-controls.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/time-range-controls/", "/docs/grafana/latest/reference/timerange/"] -keywords = ["grafana", "dashboard", "documentation", "time range"] -title = "Time range controls" -weight = 13 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/time-range-controls/ + - /docs/grafana/latest/reference/timerange/ +keywords: + - grafana + - dashboard + - documentation + - time range +title: Time range controls +weight: 13 +--- # Time range controls diff --git a/docs/sources/datasources/_index.md b/docs/sources/datasources/_index.md index d59d20fba6f..8acd40d4fd5 100644 --- a/docs/sources/datasources/_index.md +++ b/docs/sources/datasources/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/", "/docs/grafana/latest/datasources/overview/"] -title = "Data sources" -weight = 60 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/ + - /docs/grafana/latest/datasources/overview/ +title: Data sources +weight: 60 +--- # Data sources diff --git a/docs/sources/datasources/add-a-data-source.md b/docs/sources/datasources/add-a-data-source.md index f1e57a2056b..56b96c80711 100644 --- a/docs/sources/datasources/add-a-data-source.md +++ b/docs/sources/datasources/add-a-data-source.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/add-a-data-source/", "/docs/grafana/latest/features/datasources/add-a-data-source/"] -title = "Add data source" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/add-a-data-source/ + - /docs/grafana/latest/features/datasources/add-a-data-source/ +title: Add data source +weight: 100 +--- # Add a data source diff --git a/docs/sources/datasources/alertmanager.md b/docs/sources/datasources/alertmanager.md index aa03f2c0e83..d2df3d05c61 100644 --- a/docs/sources/datasources/alertmanager.md +++ b/docs/sources/datasources/alertmanager.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/alertmanager/", "/docs/grafana/latest/features/datasources/alertmanager/"] -description = "Guide for using Alertmanager in Grafana" -keywords = ["grafana", "prometheus", "guide"] -title = "Alertmanager" -weight = 150 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/alertmanager/ + - /docs/grafana/latest/features/datasources/alertmanager/ +description: Guide for using Alertmanager in Grafana +keywords: + - grafana + - prometheus + - guide +title: Alertmanager +weight: 150 +--- # Alertmanager data source diff --git a/docs/sources/datasources/aws-cloudwatch/_index.md b/docs/sources/datasources/aws-cloudwatch/_index.md index 514b6ebd21a..6d62699ce12 100644 --- a/docs/sources/datasources/aws-cloudwatch/_index.md +++ b/docs/sources/datasources/aws-cloudwatch/_index.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/aws-cloudwatch/", "/docs/grafana/latest/datasources/cloudwatch/"] -description = "Guide for using CloudWatch in Grafana" -keywords = ["grafana", "cloudwatch", "guide"] -title = "AWS CloudWatch" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/aws-cloudwatch/ + - /docs/grafana/latest/datasources/cloudwatch/ +description: Guide for using CloudWatch in Grafana +keywords: + - grafana + - cloudwatch + - guide +title: AWS CloudWatch +weight: 200 +--- # AWS CloudWatch data source diff --git a/docs/sources/datasources/aws-cloudwatch/aws-authentication.md b/docs/sources/datasources/aws-cloudwatch/aws-authentication.md index 72dd753c548..4e385587817 100644 --- a/docs/sources/datasources/aws-cloudwatch/aws-authentication.md +++ b/docs/sources/datasources/aws-cloudwatch/aws-authentication.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/aws-cloudwatch/aws-authentication/", "/docs/grafana/latest/datasources/cloudwatch/"] -description = "AWS authentication" -keywords = ["grafana", "aws", "authentication"] -title = "Authentication" -weight = 5 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/aws-cloudwatch/aws-authentication/ + - /docs/grafana/latest/datasources/cloudwatch/ +description: AWS authentication +keywords: + - grafana + - aws + - authentication +title: Authentication +weight: 5 +--- # AWS authentication diff --git a/docs/sources/datasources/aws-cloudwatch/preconfig-cloudwatch-dashboards.md b/docs/sources/datasources/aws-cloudwatch/preconfig-cloudwatch-dashboards.md index a66e3c4b0e0..1e6802006d4 100644 --- a/docs/sources/datasources/aws-cloudwatch/preconfig-cloudwatch-dashboards.md +++ b/docs/sources/datasources/aws-cloudwatch/preconfig-cloudwatch-dashboards.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/aws-cloudwatch/preconfig-cloudwatch-dashboards/", "/docs/grafana/latest/datasources/cloudwatch/"] -description = "Guide for using AWS CloudWatch in Grafana" -keywords = ["grafana", "stackdriver", "google", "guide", "cloud", "monitoring"] -title = "Curated CloudWatch dashboards" -weight = 15 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/aws-cloudwatch/preconfig-cloudwatch-dashboards/ + - /docs/grafana/latest/datasources/cloudwatch/ +description: Guide for using AWS CloudWatch in Grafana +keywords: + - grafana + - stackdriver + - google + - guide + - cloud + - monitoring +title: Curated CloudWatch dashboards +weight: 15 +--- # Curated CloudWatch dashboards diff --git a/docs/sources/datasources/aws-cloudwatch/provision-cloudwatch.md b/docs/sources/datasources/aws-cloudwatch/provision-cloudwatch.md index 147fc7dc2db..a8736a85223 100644 --- a/docs/sources/datasources/aws-cloudwatch/provision-cloudwatch.md +++ b/docs/sources/datasources/aws-cloudwatch/provision-cloudwatch.md @@ -1,9 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/aws-cloudwatch/provision-cloudwatch/", "/docs/grafana/latest/datasources/cloudwatch/"] -description = "Guide for provisioning CloudWatch" -title = "Provision CloudWatch" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/aws-cloudwatch/provision-cloudwatch/ + - /docs/grafana/latest/datasources/cloudwatch/ +description: Guide for provisioning CloudWatch +title: Provision CloudWatch +weight: 400 +--- # Provision CloudWatch data source diff --git a/docs/sources/datasources/aws-cloudwatch/template-queries-cloudwatch.md b/docs/sources/datasources/aws-cloudwatch/template-queries-cloudwatch.md index d3a21c1c8b0..ab812279d41 100644 --- a/docs/sources/datasources/aws-cloudwatch/template-queries-cloudwatch.md +++ b/docs/sources/datasources/aws-cloudwatch/template-queries-cloudwatch.md @@ -1,9 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/aws-cloudwatch/template-queries-cloudwatch/", "/docs/grafana/latest/datasources/cloudwatch/"] -description = "Template variables in CloudWatch queryh" -title = "Template variables in CloudWatch query" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/aws-cloudwatch/template-queries-cloudwatch/ + - /docs/grafana/latest/datasources/cloudwatch/ +description: Template variables in CloudWatch queryh +title: Template variables in CloudWatch query +weight: 10 +--- # Using template variables in CloudWatch queries diff --git a/docs/sources/datasources/azuremonitor/_index.md b/docs/sources/datasources/azuremonitor/_index.md index b2f1638a6a3..5528e2c3548 100644 --- a/docs/sources/datasources/azuremonitor/_index.md +++ b/docs/sources/datasources/azuremonitor/_index.md @@ -1,10 +1,21 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/azuremonitor/", "/docs/grafana/latest/features/datasources/azuremonitor/"] -description = "Guide for using Azure Monitor in Grafana" -keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"] -title = "Azure Monitor" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/azuremonitor/ + - /docs/grafana/latest/features/datasources/azuremonitor/ +description: Guide for using Azure Monitor in Grafana +keywords: + - grafana + - microsoft + - azure + - monitor + - application + - insights + - log + - analytics + - guide +title: Azure Monitor +weight: 300 +--- # Azure Monitor data source @@ -261,6 +272,10 @@ You can use Grafana macros when constructing a query. Use the macros in the wher If using the `All` option, then check the `Include All Option` checkbox and in the `Custom all value` field type in the following value: `all`. If `$myVar` has value `all` then the macro will instead expand to `1 == 1`. For template variables with a lot of options, this will increase the query performance by not building a large "where..in" clause. +### Working with large Azure resource data sets + +If a request exceeds the [maximum allowed value of records](https://docs.microsoft.com/en-us/azure/governance/resource-graph/concepts/work-with-data#paging-results), the result is paginated and only the first page of results are returned. You can use filters to reduce the amount of records returned under that value. + ## Going further with Azure Monitor See the following topics to learn more about the Azure Monitor data source: diff --git a/docs/sources/datasources/azuremonitor/deprecated-application-insights.md b/docs/sources/datasources/azuremonitor/deprecated-application-insights.md index 850e509be22..68c836a83af 100644 --- a/docs/sources/datasources/azuremonitor/deprecated-application-insights.md +++ b/docs/sources/datasources/azuremonitor/deprecated-application-insights.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/azuremonitor/deprecated-application-insights/"] -description = "Template to provision the Azure Monitor data source" -keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"] -title = "Application Insights deprecation" -weight = 999 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/azuremonitor/deprecated-application-insights/ +description: Template to provision the Azure Monitor data source +keywords: + - grafana + - microsoft + - azure + - monitor + - application + - insights + - log + - analytics + - guide +title: Application Insights deprecation +weight: 999 +--- # Deprecated Application Insights and Insights Analytics diff --git a/docs/sources/datasources/azuremonitor/provisioning.md b/docs/sources/datasources/azuremonitor/provisioning.md index b62be69df0c..8ee6790b8ce 100644 --- a/docs/sources/datasources/azuremonitor/provisioning.md +++ b/docs/sources/datasources/azuremonitor/provisioning.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/azuremonitor/provisioning/"] -description = "Template to provision the Azure Monitor data source" -keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"] -title = "Provisioning Azure Monitor" -weight = 2 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/azuremonitor/provisioning/ +description: Template to provision the Azure Monitor data source +keywords: + - grafana + - microsoft + - azure + - monitor + - application + - insights + - log + - analytics + - guide +title: Provisioning Azure Monitor +weight: 2 +--- # Configure the data source with provisioning diff --git a/docs/sources/datasources/azuremonitor/template-variables.md b/docs/sources/datasources/azuremonitor/template-variables.md index a30c3680480..1de3b37a6bd 100644 --- a/docs/sources/datasources/azuremonitor/template-variables.md +++ b/docs/sources/datasources/azuremonitor/template-variables.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/azuremonitor/template-variables/"] -description = "Using template variables with Azure Monitor in Grafana" -keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"] -title = "Azure Monitor template variables" -weight = 2 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/azuremonitor/template-variables/ +description: Using template variables with Azure Monitor in Grafana +keywords: + - grafana + - microsoft + - azure + - monitor + - application + - insights + - log + - analytics + - guide +title: Azure Monitor template variables +weight: 2 +--- # Template variables diff --git a/docs/sources/datasources/elasticsearch.md b/docs/sources/datasources/elasticsearch.md index b81691f04a2..e66013dd91e 100644 --- a/docs/sources/datasources/elasticsearch.md +++ b/docs/sources/datasources/elasticsearch.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/elasticsearch/", "/docs/grafana/latest/features/datasources/elasticsearch/"] -description = "Guide for using Elasticsearch in Grafana" -keywords = ["grafana", "elasticsearch", "guide"] -title = "Elasticsearch" -weight = 325 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/elasticsearch/ + - /docs/grafana/latest/features/datasources/elasticsearch/ +description: Guide for using Elasticsearch in Grafana +keywords: + - grafana + - elasticsearch + - guide +title: Elasticsearch +weight: 325 +--- # Using Elasticsearch in Grafana diff --git a/docs/sources/datasources/google-cloud-monitoring/_index.md b/docs/sources/datasources/google-cloud-monitoring/_index.md index 28008861985..401bb055bc0 100644 --- a/docs/sources/datasources/google-cloud-monitoring/_index.md +++ b/docs/sources/datasources/google-cloud-monitoring/_index.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/google-cloud-monitoring/", "/docs/grafana/latest/features/datasources/stackdriver/", "/docs/grafana/next/datasources/cloudmonitoring/", "/docs/grafana/next/features/datasources/cloudmonitoring/"] -description = "Guide for using Google Cloud Monitoring in Grafana" -keywords = ["grafana", "stackdriver", "google", "guide", "cloud", "monitoring"] -title = "Google Cloud Monitoring" -weight = 350 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/google-cloud-monitoring/ + - /docs/grafana/latest/features/datasources/stackdriver/ + - /docs/grafana/next/datasources/cloudmonitoring/ + - /docs/grafana/next/features/datasources/cloudmonitoring/ +description: Guide for using Google Cloud Monitoring in Grafana +keywords: + - grafana + - stackdriver + - google + - guide + - cloud + - monitoring +title: Google Cloud Monitoring +weight: 350 +--- # Using Google Cloud Monitoring in Grafana diff --git a/docs/sources/datasources/google-cloud-monitoring/google-authentication.md b/docs/sources/datasources/google-cloud-monitoring/google-authentication.md index 395d94e5b63..7829f8d0d32 100644 --- a/docs/sources/datasources/google-cloud-monitoring/google-authentication.md +++ b/docs/sources/datasources/google-cloud-monitoring/google-authentication.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/google-cloud-monitoring/google-authentication/", "/docs/grafana/next/datasources/cloudmonitoring/"] -description = "Google authentication" -keywords = ["grafana", "google", "authentication"] -title = "Authentication" -weight = 5 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/google-cloud-monitoring/google-authentication/ + - /docs/grafana/next/datasources/cloudmonitoring/ +description: Google authentication +keywords: + - grafana + - google + - authentication +title: Authentication +weight: 5 +--- # Google authentication diff --git a/docs/sources/datasources/google-cloud-monitoring/preconfig-cloud-monitoring-dashboards.md b/docs/sources/datasources/google-cloud-monitoring/preconfig-cloud-monitoring-dashboards.md index 8bcdc2ef894..c23a2be9a73 100644 --- a/docs/sources/datasources/google-cloud-monitoring/preconfig-cloud-monitoring-dashboards.md +++ b/docs/sources/datasources/google-cloud-monitoring/preconfig-cloud-monitoring-dashboards.md @@ -1,10 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/google-cloud-monitoring/preconfig-cloud-monitoring-dashboards/", "/docs/grafana/latest/features/datasources/stackdriver/", "/docs/grafana/next/features/datasources/cloudmonitoring/"] -description = "Guide for using Google Cloud Monitoring in Grafana" -keywords = ["grafana", "stackdriver", "google", "guide", "cloud", "monitoring"] -title = "Preconfigured dashboards" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/google-cloud-monitoring/preconfig-cloud-monitoring-dashboards/ + - /docs/grafana/latest/features/datasources/stackdriver/ + - /docs/grafana/next/features/datasources/cloudmonitoring/ +description: Guide for using Google Cloud Monitoring in Grafana +keywords: + - grafana + - stackdriver + - google + - guide + - cloud + - monitoring +title: Preconfigured dashboards +weight: 10 +--- # Preconfigured Cloud Monitoring dashboards diff --git a/docs/sources/datasources/graphite.md b/docs/sources/datasources/graphite.md index b31ea462836..e4ef27a2b11 100644 --- a/docs/sources/datasources/graphite.md +++ b/docs/sources/datasources/graphite.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/graphite/", "/docs/grafana/latest/features/datasources/graphite/"] -description = "Guide for using graphite in Grafana" -keywords = ["grafana", "graphite", "guide"] -title = "Graphite" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/graphite/ + - /docs/grafana/latest/features/datasources/graphite/ +description: Guide for using graphite in Grafana +keywords: + - grafana + - graphite + - guide +title: Graphite +weight: 600 +--- # Using Graphite in Grafana diff --git a/docs/sources/datasources/influxdb/_index.md b/docs/sources/datasources/influxdb/_index.md index 140fbc05f35..b452368cff1 100644 --- a/docs/sources/datasources/influxdb/_index.md +++ b/docs/sources/datasources/influxdb/_index.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/influxdb/", "/docs/grafana/latest/features/datasources/influxdb/"] -description = "Guide for using InfluxDB in Grafana" -keywords = ["grafana", "influxdb", "guide", "flux"] -title = "InfluxDB data source" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/influxdb/ + - /docs/grafana/latest/features/datasources/influxdb/ +description: Guide for using InfluxDB in Grafana +keywords: + - grafana + - influxdb + - guide + - flux +title: InfluxDB data source +weight: 700 +--- # InfluxDB data source diff --git a/docs/sources/datasources/influxdb/influxdb-flux.md b/docs/sources/datasources/influxdb/influxdb-flux.md index aa66380316c..ec7cf40f0e3 100644 --- a/docs/sources/datasources/influxdb/influxdb-flux.md +++ b/docs/sources/datasources/influxdb/influxdb-flux.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/influxdb/influxdb-flux/"] -description = "Guide for Flux in Grafana" -title = "Flux support in Grafana" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/influxdb/influxdb-flux/ +description: Guide for Flux in Grafana +title: Flux support in Grafana +weight: 200 +--- # Flux query language in Grafana diff --git a/docs/sources/datasources/influxdb/influxdb-templates.md b/docs/sources/datasources/influxdb/influxdb-templates.md index e894309078f..ef9732290e7 100644 --- a/docs/sources/datasources/influxdb/influxdb-templates.md +++ b/docs/sources/datasources/influxdb/influxdb-templates.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/influxdb/influxdb-templates/"] -description = "Guide for templates in InfluxDB" -title = "InfluxDB templates" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/influxdb/influxdb-templates/ +description: Guide for templates in InfluxDB +title: InfluxDB templates +weight: 300 +--- ## InfluxDB templates diff --git a/docs/sources/datasources/influxdb/provision-influxdb.md b/docs/sources/datasources/influxdb/provision-influxdb.md index cdabdfdaca0..6caece5f25c 100644 --- a/docs/sources/datasources/influxdb/provision-influxdb.md +++ b/docs/sources/datasources/influxdb/provision-influxdb.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/influxdb/provision-influxdb/"] -description = "Guide for provisioning InfluxDB" -title = "Provision InfluxDB" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/influxdb/provision-influxdb/ +description: Guide for provisioning InfluxDB +title: Provision InfluxDB +weight: 400 +--- # Provision InfluxDB diff --git a/docs/sources/datasources/jaeger.md b/docs/sources/datasources/jaeger.md index 001574b4c45..f6a5518b58d 100644 --- a/docs/sources/datasources/jaeger.md +++ b/docs/sources/datasources/jaeger.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/jaeger/", "/docs/grafana/latest/features/datasources/jaeger/"] -description = "Guide for using Jaeger in Grafana" -keywords = ["grafana", "jaeger", "guide", "tracing"] -title = "Jaeger" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/jaeger/ + - /docs/grafana/latest/features/datasources/jaeger/ +description: Guide for using Jaeger in Grafana +keywords: + - grafana + - jaeger + - guide + - tracing +title: Jaeger +weight: 800 +--- # Jaeger data source diff --git a/docs/sources/datasources/loki.md b/docs/sources/datasources/loki.md index 22f40a7eac2..7c2f7fbea70 100644 --- a/docs/sources/datasources/loki.md +++ b/docs/sources/datasources/loki.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/loki/", "/docs/grafana/latest/features/datasources/loki/"] -description = "Guide for using Loki in Grafana" -keywords = ["grafana", "loki", "logging", "guide"] -title = "Loki" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/loki/ + - /docs/grafana/latest/features/datasources/loki/ +description: Guide for using Loki in Grafana +keywords: + - grafana + - loki + - logging + - guide +title: Loki +weight: 800 +--- # Using Loki in Grafana diff --git a/docs/sources/datasources/mssql.md b/docs/sources/datasources/mssql.md index d9bd5aa04d5..3d89d0e7957 100644 --- a/docs/sources/datasources/mssql.md +++ b/docs/sources/datasources/mssql.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/mssql/", "/docs/grafana/latest/features/datasources/mssql/"] -description = "Guide for using Microsoft SQL Server in Grafana" -keywords = ["grafana", "MSSQL", "Microsoft", "SQL", "guide", "Azure SQL Database"] -title = "Microsoft SQL Server" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/mssql/ + - /docs/grafana/latest/features/datasources/mssql/ +description: Guide for using Microsoft SQL Server in Grafana +keywords: + - grafana + - MSSQL + - Microsoft + - SQL + - guide + - Azure SQL Database +title: Microsoft SQL Server +weight: 900 +--- # Using Microsoft SQL Server in Grafana diff --git a/docs/sources/datasources/mysql.md b/docs/sources/datasources/mysql.md index 4189a62d7c8..99352d7eb23 100644 --- a/docs/sources/datasources/mysql.md +++ b/docs/sources/datasources/mysql.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/mysql/", "/docs/grafana/latest/features/datasources/mysql/"] -description = "Guide for using MySQL in Grafana" -keywords = ["grafana", "mysql", "guide"] -title = "MySQL" -weight = 1000 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/mysql/ + - /docs/grafana/latest/features/datasources/mysql/ +description: Guide for using MySQL in Grafana +keywords: + - grafana + - mysql + - guide +title: MySQL +weight: 1000 +--- # Using MySQL in Grafana diff --git a/docs/sources/datasources/opentsdb.md b/docs/sources/datasources/opentsdb.md index f7c8782b3bd..534c5e35ae9 100644 --- a/docs/sources/datasources/opentsdb.md +++ b/docs/sources/datasources/opentsdb.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/opentsdb/", "/docs/grafana/latest/features/datasources/opentsdb/", "/docs/grafana/latest/features/opentsdb/"] -description = "Guide for using OpenTSDB in Grafana" -keywords = ["grafana", "opentsdb", "guide"] -title = "OpenTSDB" -weight = 1100 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/opentsdb/ + - /docs/grafana/latest/features/datasources/opentsdb/ + - /docs/grafana/latest/features/opentsdb/ +description: Guide for using OpenTSDB in Grafana +keywords: + - grafana + - opentsdb + - guide +title: OpenTSDB +weight: 1100 +--- # Using OpenTSDB in Grafana diff --git a/docs/sources/datasources/postgres.md b/docs/sources/datasources/postgres.md index 5e9b432a41e..9e4f5ba4daa 100644 --- a/docs/sources/datasources/postgres.md +++ b/docs/sources/datasources/postgres.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/postgres/", "/docs/grafana/latest/features/datasources/postgres/"] -description = "Guide for using PostgreSQL in Grafana" -keywords = ["grafana", "postgresql", "guide"] -title = "PostgreSQL" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/postgres/ + - /docs/grafana/latest/features/datasources/postgres/ +description: Guide for using PostgreSQL in Grafana +keywords: + - grafana + - postgresql + - guide +title: PostgreSQL +weight: 1200 +--- # PostgreSQL data source diff --git a/docs/sources/datasources/prometheus.md b/docs/sources/datasources/prometheus.md index 3b22249aa9d..850fba334c8 100644 --- a/docs/sources/datasources/prometheus.md +++ b/docs/sources/datasources/prometheus.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/prometheus/", "/docs/grafana/latest/features/datasources/prometheus/"] -description = "Guide for using Prometheus in Grafana" -keywords = ["grafana", "prometheus", "guide"] -title = "Prometheus" -weight = 1300 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/prometheus/ + - /docs/grafana/latest/features/datasources/prometheus/ +description: Guide for using Prometheus in Grafana +keywords: + - grafana + - prometheus + - guide +title: Prometheus +weight: 1300 +--- # Prometheus data source diff --git a/docs/sources/datasources/tempo.md b/docs/sources/datasources/tempo.md index 7993df800f8..6ca483d28a3 100644 --- a/docs/sources/datasources/tempo.md +++ b/docs/sources/datasources/tempo.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/tempo/", "/docs/grafana/latest/features/datasources/tempo/"] -description = "High volume, minimal dependency trace storage. OSS tracing solution from Grafana Labs." -keywords = ["grafana", "tempo", "guide", "tracing"] -title = "Tempo" -weight = 1400 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/tempo/ + - /docs/grafana/latest/features/datasources/tempo/ +description: High volume, minimal dependency trace storage. OSS tracing solution from + Grafana Labs. +keywords: + - grafana + - tempo + - guide + - tracing +title: Tempo +weight: 1400 +--- # Tempo data source diff --git a/docs/sources/datasources/testdata.md b/docs/sources/datasources/testdata.md index 01b56da7b2f..75d8a7292d7 100644 --- a/docs/sources/datasources/testdata.md +++ b/docs/sources/datasources/testdata.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/testdata/", "/docs/grafana/latest/features/datasources/testdata/"] -keywords = ["grafana", "dashboard", "documentation", "panels", "testdata"] -title = "TestData" -weight = 1500 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/testdata/ + - /docs/grafana/latest/features/datasources/testdata/ +keywords: + - grafana + - dashboard + - documentation + - panels + - testdata +title: TestData +weight: 1500 +--- # Grafana TestData DB diff --git a/docs/sources/datasources/zipkin.md b/docs/sources/datasources/zipkin.md index 88ba196ce12..e07d659848b 100644 --- a/docs/sources/datasources/zipkin.md +++ b/docs/sources/datasources/zipkin.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/datasources/zipkin/"] -description = "Guide for using Zipkin in Grafana" -keywords = ["grafana", "zipkin", "guide", "tracing"] -title = "Zipkin" -weight = 1600 -+++ +--- +aliases: + - /docs/grafana/latest/datasources/zipkin/ +description: Guide for using Zipkin in Grafana +keywords: + - grafana + - zipkin + - guide + - tracing +title: Zipkin +weight: 1600 +--- # Zipkin data source diff --git a/docs/sources/developers/_index.md b/docs/sources/developers/_index.md index 9d4232b6191..ef00f162ab5 100644 --- a/docs/sources/developers/_index.md +++ b/docs/sources/developers/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/developers/", "/docs/grafana/latest/plugins/developing/"] -title = "Developers" -weight = 190 -+++ +--- +aliases: + - /docs/grafana/latest/developers/ + - /docs/grafana/latest/plugins/developing/ +title: Developers +weight: 190 +--- # Developers diff --git a/docs/sources/developers/angular_deprecation.md b/docs/sources/developers/angular_deprecation.md index f908928a606..1631198066d 100644 --- a/docs/sources/developers/angular_deprecation.md +++ b/docs/sources/developers/angular_deprecation.md @@ -1,13 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/angular_deprecation/"] -keywords = ["grafana", "documentation", "developers", "resources"] -title = "Angular support deprecation" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/developers/angular_deprecation/ +keywords: + - grafana + - documentation + - developers + - resources +title: Angular support deprecation +weight: 500 +--- # Angular support deprecation -Angular plugin support is deprecated, and it will be removed in a future release. There are still many community plugins that depend on Grafana’s angular plugin support for them to work. The same is true for many internal (private) plugins developed over the years by Grafana users. Grafana version 9 will have a server configuration option, global for the whole instance, that will control if angular plugin support is available or not. By default, angular plugin support will be disabled. +Angular plugin support is deprecated, and it will be removed in a future release. There are still many community plugins that depend on Grafana’s angular plugin support for them to work. The same is true for many internal (private) plugins developed over the years by Grafana users. Grafana version 9 will have a server configuration option, global for the whole instance, that will control if angular plugin support is available or not. By default angular support is still enabled but this will soon change as we complete the migration of all angular code in the core product. ## Why are we deprecating angular support? @@ -15,7 +20,7 @@ AngularJS is an old frontend framework that stopped active development many year ## When will angular plugins stop working? -In Grafana version 9 coming in June 2022, all angular plugins will stop working unless a new server configuration option is turned on. If you still depend on community or internally developed plugins that require AngularJS then you will have to turn this option on. +We hope to migrate the last remaining angular code in core Grafana later this year. Then the setting enable_angular_support can be disable by default. This will make all angular plugins stop working. If you still depend on community or internally developed plugins that require AngularJS then you will have to enable this option. This is a good time to start working on migrating plugins to React. diff --git a/docs/sources/developers/cla.md b/docs/sources/developers/cla.md index b4257216091..291a25c4a14 100644 --- a/docs/sources/developers/cla.md +++ b/docs/sources/developers/cla.md @@ -1,9 +1,12 @@ -+++ -aliases = ["/docs/contributing/cla.html/", "/docs/grafana/latest/developers/cla/", "/docs/grafana/latest/project/cla/"] -description = "Contributor License Agreement (CLA)" -title = "Contributor License Agreement (CLA)" -weight = 400 -+++ +--- +aliases: + - /docs/contributing/cla.html/ + - /docs/grafana/latest/developers/cla/ + - /docs/grafana/latest/project/cla/ +description: Contributor License Agreement (CLA) +title: Contributor License Agreement (CLA) +weight: 400 +--- # Grafana Labs Software Grant and Contributor License Agreement ("Agreement") diff --git a/docs/sources/developers/contribute.md b/docs/sources/developers/contribute.md index eb0f4fe5e10..27839534e50 100644 --- a/docs/sources/developers/contribute.md +++ b/docs/sources/developers/contribute.md @@ -1,9 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/developers/contribute/"] -keywords = ["grafana", "documentation", "developers", "resources"] -title = "Contribute to Grafana" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/developers/contribute/ +keywords: + - grafana + - documentation + - developers + - resources +title: Contribute to Grafana +weight: 300 +--- # Contribute to Grafana diff --git a/docs/sources/developers/http_api/_index.md b/docs/sources/developers/http_api/_index.md index 6218af7a49e..df270b512ce 100644 --- a/docs/sources/developers/http_api/_index.md +++ b/docs/sources/developers/http_api/_index.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/", "/docs/grafana/latest/http_api/", "/docs/grafana/latest/overview/"] -description = "Grafana HTTP API" -keywords = ["grafana", "http", "documentation", "api", "overview"] -title = "HTTP API" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/ + - /docs/grafana/latest/http_api/ + - /docs/grafana/latest/overview/ +description: Grafana HTTP API +keywords: + - grafana + - http + - documentation + - api + - overview +title: HTTP API +weight: 100 +--- # HTTP API reference diff --git a/docs/sources/developers/http_api/access_control.md b/docs/sources/developers/http_api/access_control.md index 73f709e4965..b523a59ceba 100644 --- a/docs/sources/developers/http_api/access_control.md +++ b/docs/sources/developers/http_api/access_control.md @@ -1,9 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/access_control/", "/docs/grafana/latest/http_api/access_control/", "/docs/grafana/latest/http_api/accesscontrol/"] -description = "" -keywords = ["grafana", "http", "documentation", "api", "role-based-access-control", "acl", "enterprise"] -title = "RBAC HTTP API" -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/access_control/ + - /docs/grafana/latest/http_api/access_control/ + - /docs/grafana/latest/http_api/accesscontrol/ +description: '' +keywords: + - grafana + - http + - documentation + - api + - role-based-access-control + - acl + - enterprise +title: RBAC HTTP API +--- # RBAC API diff --git a/docs/sources/developers/http_api/admin.md b/docs/sources/developers/http_api/admin.md index 3dc5de3a592..412db306a79 100644 --- a/docs/sources/developers/http_api/admin.md +++ b/docs/sources/developers/http_api/admin.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/admin/", "/docs/grafana/latest/http_api/admin/"] -description = "Grafana Admin HTTP API" -keywords = ["grafana", "http", "documentation", "api", "admin"] -title = "Admin HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/admin/ + - /docs/grafana/latest/http_api/admin/ +description: Grafana Admin HTTP API +keywords: + - grafana + - http + - documentation + - api + - admin +title: 'Admin HTTP API ' +--- # Admin API diff --git a/docs/sources/developers/http_api/alerting.md b/docs/sources/developers/http_api/alerting.md index 9d43f0b20a7..c92bc04857b 100644 --- a/docs/sources/developers/http_api/alerting.md +++ b/docs/sources/developers/http_api/alerting.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/alerting/", "/docs/grafana/latest/http_api/alerting/"] -description = "Grafana Alerts HTTP API" -keywords = ["grafana", "http", "documentation", "api", "alerting", "alerts"] -title = "Alerting HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/alerting/ + - /docs/grafana/latest/http_api/alerting/ +description: Grafana Alerts HTTP API +keywords: + - grafana + - http + - documentation + - api + - alerting + - alerts +title: 'Alerting HTTP API ' +--- # Alerting API diff --git a/docs/sources/developers/http_api/alerting_notification_channels.md b/docs/sources/developers/http_api/alerting_notification_channels.md index 05ef45944a3..2ab22260e1e 100644 --- a/docs/sources/developers/http_api/alerting_notification_channels.md +++ b/docs/sources/developers/http_api/alerting_notification_channels.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/alerting_notification_channels/", "/docs/grafana/latest/http_api/alerting_notification_channels/"] -description = "Grafana Alerting Notification Channel HTTP API" -keywords = ["grafana", "http", "documentation", "api", "alerting", "alerts", "notifications"] -title = "Alerting Notification Channels HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/alerting_notification_channels/ + - /docs/grafana/latest/http_api/alerting_notification_channels/ +description: Grafana Alerting Notification Channel HTTP API +keywords: + - grafana + - http + - documentation + - api + - alerting + - alerts + - notifications +title: 'Alerting Notification Channels HTTP API ' +--- # Alerting Notification Channels API diff --git a/docs/sources/developers/http_api/annotations.md b/docs/sources/developers/http_api/annotations.md index fa87f9a6ff9..7e6709140bd 100644 --- a/docs/sources/developers/http_api/annotations.md +++ b/docs/sources/developers/http_api/annotations.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/annotations/", "/docs/grafana/latest/http_api/annotations/"] -description = "Grafana Annotations HTTP API" -keywords = ["grafana", "http", "documentation", "api", "annotation", "annotations", "comment"] -title = "Annotations HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/annotations/ + - /docs/grafana/latest/http_api/annotations/ +description: Grafana Annotations HTTP API +keywords: + - grafana + - http + - documentation + - api + - annotation + - annotations + - comment +title: 'Annotations HTTP API ' +--- # Annotations API diff --git a/docs/sources/developers/http_api/auth.md b/docs/sources/developers/http_api/auth.md index af377df401a..6cec6f4949c 100644 --- a/docs/sources/developers/http_api/auth.md +++ b/docs/sources/developers/http_api/auth.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/auth/", "/docs/grafana/latest/http_api/auth/", "/docs/grafana/latest/http_api/authentication/"] -description = "Grafana Authentication HTTP API" -keywords = ["grafana", "http", "documentation", "api", "authentication"] -title = "Authentication HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/auth/ + - /docs/grafana/latest/http_api/auth/ + - /docs/grafana/latest/http_api/authentication/ +description: Grafana Authentication HTTP API +keywords: + - grafana + - http + - documentation + - api + - authentication +title: 'Authentication HTTP API ' +--- # Authentication API diff --git a/docs/sources/developers/http_api/create-api-tokens-for-org.md b/docs/sources/developers/http_api/create-api-tokens-for-org.md index 1c93ec6932f..1d35d51beb8 100644 --- a/docs/sources/developers/http_api/create-api-tokens-for-org.md +++ b/docs/sources/developers/http_api/create-api-tokens-for-org.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/create-api-tokens-for-org/", "/docs/grafana/latest/http_api/create-api-tokens-for-org/", "/docs/grafana/latest/tutorials/api_org_token_howto/"] -keywords = ["grafana", "tutorials", "API", "Token", "Org", "Organization"] -title = "API Tutorial: Create API tokens and dashboards for an organization" -weight = 150 -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/create-api-tokens-for-org/ + - /docs/grafana/latest/http_api/create-api-tokens-for-org/ + - /docs/grafana/latest/tutorials/api_org_token_howto/ +keywords: + - grafana + - tutorials + - API + - Token + - Org + - Organization +title: 'API Tutorial: Create API tokens and dashboards for an organization' +weight: 150 +--- # Create API tokens and dashboards for an organization diff --git a/docs/sources/developers/http_api/curl-examples.md b/docs/sources/developers/http_api/curl-examples.md index 0849c597899..f8f7be5c2fc 100644 --- a/docs/sources/developers/http_api/curl-examples.md +++ b/docs/sources/developers/http_api/curl-examples.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/curl-examples/", "/docs/grafana/latest/http_api/curl-examples/"] -description = "cURL examples" -keywords = ["grafana", "http", "documentation", "api", "curl"] -title = "cURL examples" -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/curl-examples/ + - /docs/grafana/latest/http_api/curl-examples/ +description: cURL examples +keywords: + - grafana + - http + - documentation + - api + - curl +title: cURL examples +--- # cURL examples diff --git a/docs/sources/developers/http_api/dashboard.md b/docs/sources/developers/http_api/dashboard.md index ce0d4ec354c..1ff52ba193c 100644 --- a/docs/sources/developers/http_api/dashboard.md +++ b/docs/sources/developers/http_api/dashboard.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/dashboard/", "/docs/grafana/latest/http_api/dashboard/"] -description = "Grafana Dashboard HTTP API" -keywords = ["grafana", "http", "documentation", "api", "dashboard"] -title = "Dashboard HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/dashboard/ + - /docs/grafana/latest/http_api/dashboard/ +description: Grafana Dashboard HTTP API +keywords: + - grafana + - http + - documentation + - api + - dashboard +title: 'Dashboard HTTP API ' +--- # Dashboard API diff --git a/docs/sources/developers/http_api/dashboard_permissions.md b/docs/sources/developers/http_api/dashboard_permissions.md index 57ec549c021..a04d70b8cde 100644 --- a/docs/sources/developers/http_api/dashboard_permissions.md +++ b/docs/sources/developers/http_api/dashboard_permissions.md @@ -1,9 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/dashboard_permissions/", "/docs/grafana/latest/http_api/dashboard_permissions/", "/docs/grafana/latest/http_api/dashboardpermissions/"] -description = "Grafana Dashboard Permissions HTTP API" -keywords = ["grafana", "http", "documentation", "api", "dashboard", "permission", "permissions", "acl"] -title = "Dashboard Permissions HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/dashboard_permissions/ + - /docs/grafana/latest/http_api/dashboard_permissions/ + - /docs/grafana/latest/http_api/dashboardpermissions/ +description: Grafana Dashboard Permissions HTTP API +keywords: + - grafana + - http + - documentation + - api + - dashboard + - permission + - permissions + - acl +title: 'Dashboard Permissions HTTP API ' +--- # Dashboard Permissions API diff --git a/docs/sources/developers/http_api/dashboard_versions.md b/docs/sources/developers/http_api/dashboard_versions.md index 291c03f9ae8..a337cf27218 100644 --- a/docs/sources/developers/http_api/dashboard_versions.md +++ b/docs/sources/developers/http_api/dashboard_versions.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/dashboard_versions/", "/docs/grafana/latest/http_api/dashboard_versions/", "/docs/grafana/latest/http_api/dashboardversions/"] -description = "Grafana Dashboard Versions HTTP API" -keywords = ["grafana", "http", "documentation", "api", "dashboard", "versions"] -title = "Dashboard Versions HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/dashboard_versions/ + - /docs/grafana/latest/http_api/dashboard_versions/ + - /docs/grafana/latest/http_api/dashboardversions/ +description: Grafana Dashboard Versions HTTP API +keywords: + - grafana + - http + - documentation + - api + - dashboard + - versions +title: 'Dashboard Versions HTTP API ' +--- # Dashboard Versions diff --git a/docs/sources/developers/http_api/data_source.md b/docs/sources/developers/http_api/data_source.md index b3c2a024e20..6630998829c 100644 --- a/docs/sources/developers/http_api/data_source.md +++ b/docs/sources/developers/http_api/data_source.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/data_source/", "/docs/grafana/latest/http_api/data_source/", "/docs/grafana/latest/http_api/datasource/"] -description = "Grafana Data source HTTP API" -keywords = ["grafana", "http", "documentation", "api", "data source"] -title = "Data source HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/data_source/ + - /docs/grafana/latest/http_api/data_source/ + - /docs/grafana/latest/http_api/datasource/ +description: Grafana Data source HTTP API +keywords: + - grafana + - http + - documentation + - api + - data source +title: 'Data source HTTP API ' +--- # Data source API diff --git a/docs/sources/developers/http_api/datasource_permissions.md b/docs/sources/developers/http_api/datasource_permissions.md index e18d3e68b7a..15bbb406e95 100644 --- a/docs/sources/developers/http_api/datasource_permissions.md +++ b/docs/sources/developers/http_api/datasource_permissions.md @@ -1,9 +1,21 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/datasource_permissions/", "/docs/grafana/latest/http_api/datasource_permissions/", "/docs/grafana/latest/http_api/datasourcepermissions/"] -description = "Data Source Permissions API" -keywords = ["grafana", "http", "documentation", "api", "datasource", "permission", "permissions", "acl", "enterprise"] -title = "Datasource Permissions HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/datasource_permissions/ + - /docs/grafana/latest/http_api/datasource_permissions/ + - /docs/grafana/latest/http_api/datasourcepermissions/ +description: Data Source Permissions API +keywords: + - grafana + - http + - documentation + - api + - datasource + - permission + - permissions + - acl + - enterprise +title: 'Datasource Permissions HTTP API ' +--- # Data Source Permissions API diff --git a/docs/sources/developers/http_api/external_group_sync.md b/docs/sources/developers/http_api/external_group_sync.md index 65d9791b692..681b894d5e5 100644 --- a/docs/sources/developers/http_api/external_group_sync.md +++ b/docs/sources/developers/http_api/external_group_sync.md @@ -1,9 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/external_group_sync/", "/docs/grafana/latest/http_api/external_group_sync/"] -description = "Grafana External Group Sync HTTP API" -keywords = ["grafana", "http", "documentation", "api", "team", "teams", "group", "member", "enterprise"] -title = "External Group Sync HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/external_group_sync/ + - /docs/grafana/latest/http_api/external_group_sync/ +description: Grafana External Group Sync HTTP API +keywords: + - grafana + - http + - documentation + - api + - team + - teams + - group + - member + - enterprise +title: 'External Group Sync HTTP API ' +--- # External Group Synchronization API diff --git a/docs/sources/developers/http_api/folder.md b/docs/sources/developers/http_api/folder.md index a19275594c9..845c47f6249 100644 --- a/docs/sources/developers/http_api/folder.md +++ b/docs/sources/developers/http_api/folder.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/folder/", "/docs/grafana/latest/http_api/folder/"] -description = "Grafana Folder HTTP API" -keywords = ["grafana", "http", "documentation", "api", "folder"] -title = "Folder HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/folder/ + - /docs/grafana/latest/http_api/folder/ +description: Grafana Folder HTTP API +keywords: + - grafana + - http + - documentation + - api + - folder +title: 'Folder HTTP API ' +--- # Folder API diff --git a/docs/sources/developers/http_api/folder_dashboard_search.md b/docs/sources/developers/http_api/folder_dashboard_search.md index 75890179ffc..f0f1da0d848 100644 --- a/docs/sources/developers/http_api/folder_dashboard_search.md +++ b/docs/sources/developers/http_api/folder_dashboard_search.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/folder_dashboard_search/", "/docs/grafana/latest/http_api/folder_dashboard_search/"] -description = "Grafana Folder/Dashboard Search HTTP API" -keywords = ["grafana", "http", "documentation", "api", "search", "folder", "dashboard"] -title = "Folder/Dashboard Search HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/folder_dashboard_search/ + - /docs/grafana/latest/http_api/folder_dashboard_search/ +description: Grafana Folder/Dashboard Search HTTP API +keywords: + - grafana + - http + - documentation + - api + - search + - folder + - dashboard +title: 'Folder/Dashboard Search HTTP API ' +--- # Folder/Dashboard Search API diff --git a/docs/sources/developers/http_api/folder_permissions.md b/docs/sources/developers/http_api/folder_permissions.md index 1b06a6b7c03..b3bff5feccd 100644 --- a/docs/sources/developers/http_api/folder_permissions.md +++ b/docs/sources/developers/http_api/folder_permissions.md @@ -1,9 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/folder_permissions/", "/docs/grafana/latest/http_api/dashboardpermissions/", "/docs/grafana/latest/http_api/folder_permissions/"] -description = "Grafana Folder Permissions HTTP API" -keywords = ["grafana", "http", "documentation", "api", "folder", "permission", "permissions", "acl"] -title = "Folder Permissions HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/folder_permissions/ + - /docs/grafana/latest/http_api/dashboardpermissions/ + - /docs/grafana/latest/http_api/folder_permissions/ +description: Grafana Folder Permissions HTTP API +keywords: + - grafana + - http + - documentation + - api + - folder + - permission + - permissions + - acl +title: 'Folder Permissions HTTP API ' +--- # Folder Permissions API diff --git a/docs/sources/developers/http_api/library_element.md b/docs/sources/developers/http_api/library_element.md index 38afb3a1cd0..2065b468fb4 100644 --- a/docs/sources/developers/http_api/library_element.md +++ b/docs/sources/developers/http_api/library_element.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/library_element/", "/docs/grafana/latest/http_api/library_element/"] -description = "Grafana Library Element HTTP API" -keywords = ["grafana", "http", "documentation", "api", "library-element"] -title = "Library Element HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/library_element/ + - /docs/grafana/latest/http_api/library_element/ +description: Grafana Library Element HTTP API +keywords: + - grafana + - http + - documentation + - api + - library-element +title: 'Library Element HTTP API ' +--- # Library Element API diff --git a/docs/sources/developers/http_api/licensing.md b/docs/sources/developers/http_api/licensing.md index 2c6bef8ec7f..923cd1c5104 100644 --- a/docs/sources/developers/http_api/licensing.md +++ b/docs/sources/developers/http_api/licensing.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/licensing/", "/docs/grafana/latest/http_api/licensing/"] -description = "Enterprise Licensing HTTP API" -keywords = ["grafana", "http", "documentation", "api", "licensing", "enterprise"] -title = "Licensing HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/licensing/ + - /docs/grafana/latest/http_api/licensing/ +description: Enterprise Licensing HTTP API +keywords: + - grafana + - http + - documentation + - api + - licensing + - enterprise +title: 'Licensing HTTP API ' +--- # Enterprise License API diff --git a/docs/sources/developers/http_api/org.md b/docs/sources/developers/http_api/org.md index cff2b6d3979..b395874221c 100644 --- a/docs/sources/developers/http_api/org.md +++ b/docs/sources/developers/http_api/org.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/org/", "/docs/grafana/latest/http_api/org/", "/docs/grafana/latest/http_api/organization/"] -description = "Grafana Organization HTTP API" -keywords = ["grafana", "http", "documentation", "api", "organization"] -title = "Organization HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/org/ + - /docs/grafana/latest/http_api/org/ + - /docs/grafana/latest/http_api/organization/ +description: Grafana Organization HTTP API +keywords: + - grafana + - http + - documentation + - api + - organization +title: 'Organization HTTP API ' +--- # Organization API diff --git a/docs/sources/developers/http_api/other.md b/docs/sources/developers/http_api/other.md index 1e5118e0323..7b7cda4c8ac 100644 --- a/docs/sources/developers/http_api/other.md +++ b/docs/sources/developers/http_api/other.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/other/", "/docs/grafana/latest/http_api/other/"] -description = "Grafana Other HTTP API" -keywords = ["grafana", "http", "documentation", "api", "other"] -title = "Other HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/other/ + - /docs/grafana/latest/http_api/other/ +description: Grafana Other HTTP API +keywords: + - grafana + - http + - documentation + - api + - other +title: 'Other HTTP API ' +--- # Frontend Settings API diff --git a/docs/sources/developers/http_api/playlist.md b/docs/sources/developers/http_api/playlist.md index b8cb81f253b..feb9ab077b9 100644 --- a/docs/sources/developers/http_api/playlist.md +++ b/docs/sources/developers/http_api/playlist.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/playlist/", "/docs/grafana/latest/http_api/playlist/"] -description = "Playlist Admin HTTP API" -keywords = ["grafana", "http", "documentation", "api", "playlist"] -title = "Playlist HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/playlist/ + - /docs/grafana/latest/http_api/playlist/ +description: Playlist Admin HTTP API +keywords: + - grafana + - http + - documentation + - api + - playlist +title: 'Playlist HTTP API ' +--- # Playlist API diff --git a/docs/sources/developers/http_api/preferences.md b/docs/sources/developers/http_api/preferences.md index da4239620d0..ffc13320203 100644 --- a/docs/sources/developers/http_api/preferences.md +++ b/docs/sources/developers/http_api/preferences.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/preferences/", "/docs/grafana/latest/http_api/preferences/"] -description = "Grafana HTTP API" -keywords = ["grafana", "http", "documentation", "api", "preferences"] -title = "HTTP Preferences API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/preferences/ + - /docs/grafana/latest/http_api/preferences/ +description: Grafana HTTP API +keywords: + - grafana + - http + - documentation + - api + - preferences +title: 'HTTP Preferences API ' +--- # User and Org Preferences API diff --git a/docs/sources/developers/http_api/query_history.md b/docs/sources/developers/http_api/query_history.md index a82f3856a0d..b7616fb1ba8 100644 --- a/docs/sources/developers/http_api/query_history.md +++ b/docs/sources/developers/http_api/query_history.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/query_history/", "/docs/grafana/latest/http_api/query_history/"] -description = "Grafana Query History HTTP API" -keywords = ["grafana", "http", "documentation", "api", "queryHistory"] -title = "Query History HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/query_history/ + - /docs/grafana/latest/http_api/query_history/ +description: Grafana Query History HTTP API +keywords: + - grafana + - http + - documentation + - api + - queryHistory +title: 'Query History HTTP API ' +--- # Query history API diff --git a/docs/sources/developers/http_api/reporting.md b/docs/sources/developers/http_api/reporting.md index 63bc42f59f2..0c53c5a495b 100644 --- a/docs/sources/developers/http_api/reporting.md +++ b/docs/sources/developers/http_api/reporting.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/reporting/", "/docs/grafana/latest/http_api/reporting/"] -description = "Grafana Enterprise APIs" -keywords = ["grafana", "enterprise", "api", "reporting"] -title = "Reporting API" -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/reporting/ + - /docs/grafana/latest/http_api/reporting/ +description: Grafana Enterprise APIs +keywords: + - grafana + - enterprise + - api + - reporting +title: Reporting API +--- # Reporting API diff --git a/docs/sources/developers/http_api/serviceaccount.md b/docs/sources/developers/http_api/serviceaccount.md index d69e666d42f..017296891e3 100644 --- a/docs/sources/developers/http_api/serviceaccount.md +++ b/docs/sources/developers/http_api/serviceaccount.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/serviceaccount/", "/docs/grafana/latest/http_api/serviceaccount/"] -description = "Grafana service account HTTP API" -keywords = ["grafana", "http", "documentation", "api", "serviceaccount"] -title = "Service account HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/serviceaccount/ + - /docs/grafana/latest/http_api/serviceaccount/ +description: Grafana service account HTTP API +keywords: + - grafana + - http + - documentation + - api + - serviceaccount +title: 'Service account HTTP API ' +--- # Service account API diff --git a/docs/sources/developers/http_api/short_url.md b/docs/sources/developers/http_api/short_url.md index de9f0604ece..1aa9d678d93 100644 --- a/docs/sources/developers/http_api/short_url.md +++ b/docs/sources/developers/http_api/short_url.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/short_url/", "/docs/grafana/latest/http_api/short_url/"] -description = "Grafana Short URL HTTP API" -keywords = ["grafana", "http", "documentation", "api", "shortUrl"] -title = "Short URL HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/short_url/ + - /docs/grafana/latest/http_api/short_url/ +description: Grafana Short URL HTTP API +keywords: + - grafana + - http + - documentation + - api + - shortUrl +title: 'Short URL HTTP API ' +--- # Short URL API diff --git a/docs/sources/developers/http_api/snapshot.md b/docs/sources/developers/http_api/snapshot.md index 0c1ab30eb2e..664cfa4ecb8 100644 --- a/docs/sources/developers/http_api/snapshot.md +++ b/docs/sources/developers/http_api/snapshot.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/snapshot/", "/docs/grafana/latest/http_api/snapshot/"] -description = "Grafana HTTP API" -keywords = ["grafana", "http", "documentation", "api", "snapshot"] -title = "HTTP Snapshot API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/snapshot/ + - /docs/grafana/latest/http_api/snapshot/ +description: Grafana HTTP API +keywords: + - grafana + - http + - documentation + - api + - snapshot +title: 'HTTP Snapshot API ' +--- # Snapshot API diff --git a/docs/sources/developers/http_api/team.md b/docs/sources/developers/http_api/team.md index 44bdcdc5a0c..9e0eb7d7654 100644 --- a/docs/sources/developers/http_api/team.md +++ b/docs/sources/developers/http_api/team.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/team/", "/docs/grafana/latest/http_api/team/"] -description = "Grafana Team HTTP API" -keywords = ["grafana", "http", "documentation", "api", "team", "teams", "group"] -title = "Team HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/team/ + - /docs/grafana/latest/http_api/team/ +description: Grafana Team HTTP API +keywords: + - grafana + - http + - documentation + - api + - team + - teams + - group +title: 'Team HTTP API ' +--- # Team API diff --git a/docs/sources/developers/http_api/user.md b/docs/sources/developers/http_api/user.md index 354f2f1802f..3e7ccedfa4a 100644 --- a/docs/sources/developers/http_api/user.md +++ b/docs/sources/developers/http_api/user.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/http_api/user/", "/docs/grafana/latest/http_api/user/"] -description = "Grafana User HTTP API" -keywords = ["grafana", "http", "documentation", "api", "user"] -title = "User HTTP API " -+++ +--- +aliases: + - /docs/grafana/latest/developers/http_api/user/ + - /docs/grafana/latest/http_api/user/ +description: Grafana User HTTP API +keywords: + - grafana + - http + - documentation + - api + - user +title: 'User HTTP API ' +--- # User API diff --git a/docs/sources/developers/plugins/_index.md b/docs/sources/developers/plugins/_index.md index d3560b3422a..abfabf73b15 100644 --- a/docs/sources/developers/plugins/_index.md +++ b/docs/sources/developers/plugins/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/", "/docs/grafana/latest/plugins/developing/"] -title = "Build a plugin" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/ + - /docs/grafana/latest/plugins/developing/ +title: Build a plugin +weight: 200 +--- # Build a plugin diff --git a/docs/sources/developers/plugins/add-authentication-for-data-source-plugins.md b/docs/sources/developers/plugins/add-authentication-for-data-source-plugins.md index 97a01321337..a92566fb965 100644 --- a/docs/sources/developers/plugins/add-authentication-for-data-source-plugins.md +++ b/docs/sources/developers/plugins/add-authentication-for-data-source-plugins.md @@ -1,7 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/add-authentication-for-data-source-plugins/", "/docs/grafana/latest/plugins/developing/auth-for-datasources/", "/docs/grafana/next/developers/plugins/authentication/"] -title = "Add authentication for data source plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/add-authentication-for-data-source-plugins/ + - /docs/grafana/latest/plugins/developing/auth-for-datasources/ + - /docs/grafana/next/developers/plugins/authentication/ +title: Add authentication for data source plugins +--- # Add authentication for data source plugins diff --git a/docs/sources/developers/plugins/add-query-editor-help.md b/docs/sources/developers/plugins/add-query-editor-help.md index efe6fff5ebf..ea377ec46bb 100644 --- a/docs/sources/developers/plugins/add-query-editor-help.md +++ b/docs/sources/developers/plugins/add-query-editor-help.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/add-query-editor-help/"] -title = "Add query editor help" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/add-query-editor-help/ +title: Add query editor help +--- # Add a query editor help component diff --git a/docs/sources/developers/plugins/add-support-for-annotations.md b/docs/sources/developers/plugins/add-support-for-annotations.md index baa5c79cf21..8355ae00fb3 100644 --- a/docs/sources/developers/plugins/add-support-for-annotations.md +++ b/docs/sources/developers/plugins/add-support-for-annotations.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/add-support-for-annotations/"] -title = "Add support for annotations" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/add-support-for-annotations/ +title: Add support for annotations +--- # Add support for annotations diff --git a/docs/sources/developers/plugins/add-support-for-explore-queries.md b/docs/sources/developers/plugins/add-support-for-explore-queries.md index cc647f39947..224cff98120 100644 --- a/docs/sources/developers/plugins/add-support-for-explore-queries.md +++ b/docs/sources/developers/plugins/add-support-for-explore-queries.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/add-support-for-explore-queries/"] -title = "Add support for Explore queries" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/add-support-for-explore-queries/ +title: Add support for Explore queries +--- # Add support for Explore queries diff --git a/docs/sources/developers/plugins/add-support-for-variables.md b/docs/sources/developers/plugins/add-support-for-variables.md index d33fd1a1bd1..b70c3643e62 100644 --- a/docs/sources/developers/plugins/add-support-for-variables.md +++ b/docs/sources/developers/plugins/add-support-for-variables.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/add-support-for-variables/"] -title = "Add support for variables in plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/add-support-for-variables/ +title: Add support for variables in plugins +--- # Add support for variables in plugins diff --git a/docs/sources/developers/plugins/backend/_index.md b/docs/sources/developers/plugins/backend/_index.md index c9e1dc9d608..a370973db06 100644 --- a/docs/sources/developers/plugins/backend/_index.md +++ b/docs/sources/developers/plugins/backend/_index.md @@ -1,8 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/backend/", "/docs/grafana/latest/plugins/developing/backend-plugins-guide/"] -keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"] -title = "Backend plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/backend/ + - /docs/grafana/latest/plugins/developing/backend-plugins-guide/ +keywords: + - grafana + - plugins + - backend + - plugin + - backend-plugins + - documentation +title: Backend plugins +--- # Backend plugins diff --git a/docs/sources/developers/plugins/backend/grafana-plugin-sdk-for-go.md b/docs/sources/developers/plugins/backend/grafana-plugin-sdk-for-go.md index 3bd6de02255..ebc5cd3a5f8 100644 --- a/docs/sources/developers/plugins/backend/grafana-plugin-sdk-for-go.md +++ b/docs/sources/developers/plugins/backend/grafana-plugin-sdk-for-go.md @@ -1,8 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/backend/grafana-plugin-sdk-for-go/"] -keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "sdk", "documentation"] -title = "Grafana Plugin SDK for Go" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/backend/grafana-plugin-sdk-for-go/ +keywords: + - grafana + - plugins + - backend + - plugin + - backend-plugins + - sdk + - documentation +title: Grafana Plugin SDK for Go +--- # Grafana plugin SDK for Go diff --git a/docs/sources/developers/plugins/backend/plugin-protocol.md b/docs/sources/developers/plugins/backend/plugin-protocol.md index 2be8462b4dc..e876914ab6f 100644 --- a/docs/sources/developers/plugins/backend/plugin-protocol.md +++ b/docs/sources/developers/plugins/backend/plugin-protocol.md @@ -1,8 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/backend/plugin-protocol/"] -keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"] -title = "Plugin protocol" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/backend/plugin-protocol/ +keywords: + - grafana + - plugins + - backend + - plugin + - backend-plugins + - documentation +title: Plugin protocol +--- # Plugin protocol diff --git a/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md b/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md index 5baff091349..bda48878be4 100644 --- a/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md +++ b/docs/sources/developers/plugins/build-a-logs-data-source-plugin.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/build-a-logs-data-source-plugin/"] -title = "Build a logs data source plugin" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/build-a-logs-data-source-plugin/ +title: Build a logs data source plugin +--- # Build a logs data source plugin diff --git a/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md b/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md index 94f9f852236..06e1b748c29 100644 --- a/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md +++ b/docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/build-a-streaming-data-source-plugin/"] -title = "Build a streaming data source plugin" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/build-a-streaming-data-source-plugin/ +title: Build a streaming data source plugin +--- # Build a streaming data source plugin diff --git a/docs/sources/developers/plugins/custom-panel-option-editors.md b/docs/sources/developers/plugins/custom-panel-option-editors.md index d2963cb7191..d9cbcf20a5f 100644 --- a/docs/sources/developers/plugins/custom-panel-option-editors.md +++ b/docs/sources/developers/plugins/custom-panel-option-editors.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/custom-panel-option-editors/"] -title = "Custom panel option editors" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/custom-panel-option-editors/ +title: Custom panel option editors +--- # Custom panel option editors diff --git a/docs/sources/developers/plugins/data-frames.md b/docs/sources/developers/plugins/data-frames.md index 5b4bd22c890..e2d9cca68d7 100644 --- a/docs/sources/developers/plugins/data-frames.md +++ b/docs/sources/developers/plugins/data-frames.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/data-frames/"] -title = "Data frames" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/data-frames/ +title: Data frames +--- # Data frames diff --git a/docs/sources/developers/plugins/development-with-local-grafana.md b/docs/sources/developers/plugins/development-with-local-grafana.md index 65c216ca0ba..1d15d333317 100644 --- a/docs/sources/developers/plugins/development-with-local-grafana.md +++ b/docs/sources/developers/plugins/development-with-local-grafana.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/development-with-local-grafana/"] -title = "Development with local Grafana" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/development-with-local-grafana/ +title: Development with local Grafana +--- # Development with local Grafana diff --git a/docs/sources/developers/plugins/error-handling.md b/docs/sources/developers/plugins/error-handling.md index 203612d8754..bfc1b8e1331 100644 --- a/docs/sources/developers/plugins/error-handling.md +++ b/docs/sources/developers/plugins/error-handling.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/error-handling/"] -title = "Error handling" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/error-handling/ +title: Error handling +--- # Error handling diff --git a/docs/sources/developers/plugins/legacy/_index.md b/docs/sources/developers/plugins/legacy/_index.md index 9a96c0679f3..63b5cbdd4f4 100644 --- a/docs/sources/developers/plugins/legacy/_index.md +++ b/docs/sources/developers/plugins/legacy/_index.md @@ -1,7 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/", "/docs/grafana/latest/plugins/development/", "/docs/grafana/next/plugins/apps/", "/docs/grafana/next/plugins/datasources/", "/docs/grafana/next/plugins/developing/development/", "/docs/grafana/next/plugins/panels/"] -title = "Legacy plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/ + - /docs/grafana/latest/plugins/development/ + - /docs/grafana/next/plugins/apps/ + - /docs/grafana/next/plugins/datasources/ + - /docs/grafana/next/plugins/developing/development/ + - /docs/grafana/next/plugins/panels/ +title: Legacy plugins +--- # Legacy plugins diff --git a/docs/sources/developers/plugins/legacy/apps.md b/docs/sources/developers/plugins/legacy/apps.md index f653ff56c87..9a43032325b 100644 --- a/docs/sources/developers/plugins/legacy/apps.md +++ b/docs/sources/developers/plugins/legacy/apps.md @@ -1,8 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/apps/", "/docs/grafana/latest/plugins/developing/apps/"] -keywords = ["grafana", "plugins", "documentation"] -title = "Legacy app plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/apps/ + - /docs/grafana/latest/plugins/developing/apps/ +keywords: + - grafana + - plugins + - documentation +title: Legacy app plugins +--- # Legacy app plugins diff --git a/docs/sources/developers/plugins/legacy/data-sources.md b/docs/sources/developers/plugins/legacy/data-sources.md index 8c7f31459c9..a3116f4ee0e 100644 --- a/docs/sources/developers/plugins/legacy/data-sources.md +++ b/docs/sources/developers/plugins/legacy/data-sources.md @@ -1,8 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/data-sources/", "/docs/grafana/latest/plugins/developing/datasources/"] -keywords = ["grafana", "plugins", "documentation"] -title = "Legacy data source plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/data-sources/ + - /docs/grafana/latest/plugins/developing/datasources/ +keywords: + - grafana + - plugins + - documentation +title: Legacy data source plugins +--- # Legacy data source plugins diff --git a/docs/sources/developers/plugins/legacy/defaults-and-editor-mode.md b/docs/sources/developers/plugins/legacy/defaults-and-editor-mode.md index c6da24ecb54..c686938978d 100644 --- a/docs/sources/developers/plugins/legacy/defaults-and-editor-mode.md +++ b/docs/sources/developers/plugins/legacy/defaults-and-editor-mode.md @@ -1,7 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/defaults-and-editor-mode/", "/docs/grafana/latest/plugins/developing/defaults-and-editor-mode/"] -title = "Legacy defaults and editor mode" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/defaults-and-editor-mode/ + - /docs/grafana/latest/plugins/developing/defaults-and-editor-mode/ +title: Legacy defaults and editor mode +--- # Legacy defaults and editor mode diff --git a/docs/sources/developers/plugins/legacy/panels.md b/docs/sources/developers/plugins/legacy/panels.md index 0f5525d2bdd..9ffd453586e 100644 --- a/docs/sources/developers/plugins/legacy/panels.md +++ b/docs/sources/developers/plugins/legacy/panels.md @@ -1,8 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/panels/", "/docs/grafana/latest/plugins/developing/panels/"] -keywords = ["grafana", "plugins", "panel", "documentation"] -title = "Legacy panel plugins" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/panels/ + - /docs/grafana/latest/plugins/developing/panels/ +keywords: + - grafana + - plugins + - panel + - documentation +title: Legacy panel plugins +--- # Legacy panel plugins diff --git a/docs/sources/developers/plugins/legacy/review-guidelines.md b/docs/sources/developers/plugins/legacy/review-guidelines.md index 7f5d9e71796..0e07bf020ad 100644 --- a/docs/sources/developers/plugins/legacy/review-guidelines.md +++ b/docs/sources/developers/plugins/legacy/review-guidelines.md @@ -1,7 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/review-guidelines/", "/docs/grafana/latest/plugins/developing/plugin-review-guidelines/"] -title = "Legacy review guidelines" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/review-guidelines/ + - /docs/grafana/latest/plugins/developing/plugin-review-guidelines/ +title: Legacy review guidelines +--- # Legacy review guidelines diff --git a/docs/sources/developers/plugins/legacy/snapshot-mode.md b/docs/sources/developers/plugins/legacy/snapshot-mode.md index 826a6c33b8a..bfcb418cac0 100644 --- a/docs/sources/developers/plugins/legacy/snapshot-mode.md +++ b/docs/sources/developers/plugins/legacy/snapshot-mode.md @@ -1,7 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/snapshot-mode/", "/docs/grafana/latest/plugins/developing/snapshot-mode/"] -title = "Legacy snapshot mode" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/snapshot-mode/ + - /docs/grafana/latest/plugins/developing/snapshot-mode/ +title: Legacy snapshot mode +--- # Legacy snapshot mode diff --git a/docs/sources/developers/plugins/legacy/style-guide.md b/docs/sources/developers/plugins/legacy/style-guide.md index 812060d6022..fa0d308671e 100644 --- a/docs/sources/developers/plugins/legacy/style-guide.md +++ b/docs/sources/developers/plugins/legacy/style-guide.md @@ -1,7 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/legacy/style-guide/", "/docs/grafana/latest/plugins/developing/code-styleguide/"] -title = "Legacy code style guide" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/legacy/style-guide/ + - /docs/grafana/latest/plugins/developing/code-styleguide/ +title: Legacy code style guide +--- # Legacy code style guide diff --git a/docs/sources/developers/plugins/metadata.md b/docs/sources/developers/plugins/metadata.md index 3bdaea28ffe..9de5660286d 100644 --- a/docs/sources/developers/plugins/metadata.md +++ b/docs/sources/developers/plugins/metadata.md @@ -1,8 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/metadata/", "/docs/grafana/latest/plugins/developing/plugin.json/"] -keywords = ["grafana", "plugins", "documentation"] -title = "plugin.json" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/metadata/ + - /docs/grafana/latest/plugins/developing/plugin.json/ +keywords: + - grafana + - plugins + - documentation +title: plugin.json +--- # plugin.json diff --git a/docs/sources/developers/plugins/migration-guide.md b/docs/sources/developers/plugins/migration-guide.md index 00153a20ede..ed3591af874 100644 --- a/docs/sources/developers/plugins/migration-guide.md +++ b/docs/sources/developers/plugins/migration-guide.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/migration-guide/"] -title = "Plugin migration guide" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/migration-guide/ +title: Plugin migration guide +--- # Plugin migration guide diff --git a/docs/sources/developers/plugins/package-a-plugin.md b/docs/sources/developers/plugins/package-a-plugin.md index ae33ce3e531..dbb374102dd 100644 --- a/docs/sources/developers/plugins/package-a-plugin.md +++ b/docs/sources/developers/plugins/package-a-plugin.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/package-a-plugin/", "/docs/grafana/latest/developers/plugins/share-a-plugin/"] -title = "Package a plugin" -type = "docs" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/package-a-plugin/ + - /docs/grafana/latest/developers/plugins/share-a-plugin/ +title: Package a plugin +type: docs +--- # Package a plugin diff --git a/docs/sources/developers/plugins/publishing-and-signing-criteria.md b/docs/sources/developers/plugins/publishing-and-signing-criteria.md index e9031bed87b..8e85d43abc2 100644 --- a/docs/sources/developers/plugins/publishing-and-signing-criteria.md +++ b/docs/sources/developers/plugins/publishing-and-signing-criteria.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/publishing-and-signing-criteria/"] -title = "Plugin publishing and signing criteria" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/publishing-and-signing-criteria/ +title: Plugin publishing and signing criteria +--- # Plugin publishing and signing criteria diff --git a/docs/sources/developers/plugins/sign-a-plugin.md b/docs/sources/developers/plugins/sign-a-plugin.md index dee4e2588d1..f72ce4ad424 100644 --- a/docs/sources/developers/plugins/sign-a-plugin.md +++ b/docs/sources/developers/plugins/sign-a-plugin.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/sign-a-plugin/"] -title = "Sign a plugin" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/sign-a-plugin/ +title: Sign a plugin +--- # Sign a plugin diff --git a/docs/sources/developers/plugins/working-with-data-frames.md b/docs/sources/developers/plugins/working-with-data-frames.md index 4208f0c0c3a..f1f3803eff3 100644 --- a/docs/sources/developers/plugins/working-with-data-frames.md +++ b/docs/sources/developers/plugins/working-with-data-frames.md @@ -1,7 +1,8 @@ -+++ -aliases = ["/docs/grafana/latest/developers/plugins/working-with-data-frames/"] -title = "Working with data frames" -+++ +--- +aliases: + - /docs/grafana/latest/developers/plugins/working-with-data-frames/ +title: Working with data frames +--- # Working with data frames diff --git a/docs/sources/enterprise/_index.md b/docs/sources/enterprise/_index.md index 5450e2f4fe8..0e5139cad96 100644 --- a/docs/sources/enterprise/_index.md +++ b/docs/sources/enterprise/_index.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/"] -description = "Grafana Enterprise overview" -keywords = ["grafana", "documentation", "datasource", "permissions", "ldap", "licensing", "enterprise", "insights", "reporting"] -title = "Grafana Enterprise" -weight = 150 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/ +description: Grafana Enterprise overview +keywords: + - grafana + - documentation + - datasource + - permissions + - ldap + - licensing + - enterprise + - insights + - reporting +title: Grafana Enterprise +weight: 150 +--- # Grafana Enterprise diff --git a/docs/sources/enterprise/access-control/about-rbac.md b/docs/sources/enterprise/access-control/about-rbac.md index d804e78f626..4eefb2cd96e 100644 --- a/docs/sources/enterprise/access-control/about-rbac.md +++ b/docs/sources/enterprise/access-control/about-rbac.md @@ -1,6 +1,7 @@ --- aliases: - - /docs/grafana/latest/enterprise/access-control/', '/docs/grafana/latest/enterprise/access-control/roles/ + - /docs/grafana/latest/enterprise/access-control/ + - /docs/grafana/latest/enterprise/access-control/roles/ - /docs/grafana/latest/enterprise/access-control/about-rbac/ description: Role-based access control (RBAC) provides a standardized way of granting, changing, and revoking access so that users can view and modify Grafana resources, diff --git a/docs/sources/enterprise/access-control/configure-rbac.md b/docs/sources/enterprise/access-control/configure-rbac.md index f49f2e0467f..7cc0e950dbe 100644 --- a/docs/sources/enterprise/access-control/configure-rbac.md +++ b/docs/sources/enterprise/access-control/configure-rbac.md @@ -1,8 +1,8 @@ --- -title: 'Configure RBAC in Grafana' -menuTitle: 'Configure RBAC' -description: 'Learn how to configure RBAC.' aliases: [] +description: Learn how to configure RBAC. +menuTitle: Configure RBAC +title: Configure RBAC in Grafana weight: 30 --- diff --git a/docs/sources/enterprise/access-control/rbac-fixed-basic-role-definitions.md b/docs/sources/enterprise/access-control/rbac-fixed-basic-role-definitions.md index 71d56c6528b..70b9a852f15 100644 --- a/docs/sources/enterprise/access-control/rbac-fixed-basic-role-definitions.md +++ b/docs/sources/enterprise/access-control/rbac-fixed-basic-role-definitions.md @@ -80,7 +80,7 @@ The following tables list permissions associated with basic and fixed roles. ### Alerting roles -If alerting is [enabled]({{< relref "../../alerting/opt-in.md" >}}), you can use predefined roles to manage user access to alert rules, alert instances, and alert notification settings and create custom roles to limit user access to alert rules in a folder. +If alerting is [enabled]({{< relref "../../alerting/migrating-alerts/opt-in.md" >}}), you can use predefined roles to manage user access to alert rules, alert instances, and alert notification settings and create custom roles to limit user access to alert rules in a folder. Access to Grafana alert rules is an intersection of many permissions: diff --git a/docs/sources/enterprise/access-control/rbac-provisioning.md b/docs/sources/enterprise/access-control/rbac-provisioning.md index 0d767e05067..2593af6f9aa 100644 --- a/docs/sources/enterprise/access-control/rbac-provisioning.md +++ b/docs/sources/enterprise/access-control/rbac-provisioning.md @@ -1,7 +1,8 @@ --- aliases: - /docs/grafana/latest/enterprise/access-control/rbac-provisioning/ -description: Learn about RBAC provisioning and view an example YAML provisioning file that configures Grafana role assignments. +description: Learn about RBAC provisioning and view an example YAML provisioning file + that configures Grafana role assignments. menuTitle: RBAC provisioning title: Grafana RBAC provisioning weight: 60 diff --git a/docs/sources/enterprise/auditing.md b/docs/sources/enterprise/auditing.md index 644d974482e..78d187edf8b 100644 --- a/docs/sources/enterprise/auditing.md +++ b/docs/sources/enterprise/auditing.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/auditing/"] -description = "Auditing" -keywords = ["grafana", "auditing", "audit", "logs"] -title = "Auditing" -weight = 1100 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/auditing/ +description: Auditing +keywords: + - grafana + - auditing + - audit + - logs +title: Auditing +weight: 1100 +--- # Auditing diff --git a/docs/sources/enterprise/datasource_permissions.md b/docs/sources/enterprise/datasource_permissions.md index 76fb1c0c9e6..d79ff9fc49c 100644 --- a/docs/sources/enterprise/datasource_permissions.md +++ b/docs/sources/enterprise/datasource_permissions.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/datasource_permissions/", "/docs/sources/permissions/datasource_permissions/"] -description = "Grafana Datasource Permissions Guide" -keywords = ["grafana", "configuration", "documentation", "datasource", "permissions", "users", "teams", "enterprise"] -title = "Data source permissions" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/datasource_permissions/ + - /docs/sources/permissions/datasource_permissions/ +description: Grafana Datasource Permissions Guide +keywords: + - grafana + - configuration + - documentation + - datasource + - permissions + - users + - teams + - enterprise +title: Data source permissions +weight: 500 +--- # Data source permissions diff --git a/docs/sources/enterprise/enhanced_ldap.md b/docs/sources/enterprise/enhanced_ldap.md index ca2a0972226..8da2ba4a99b 100644 --- a/docs/sources/enterprise/enhanced_ldap.md +++ b/docs/sources/enterprise/enhanced_ldap.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enhanced_ldap/"] -description = "Grafana Enhanced LDAP Integration Guide " -keywords = ["grafana", "configuration", "documentation", "ldap", "active directory", "enterprise"] -title = "Enhanced LDAP Integration" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enhanced_ldap/ +description: 'Grafana Enhanced LDAP Integration Guide ' +keywords: + - grafana + - configuration + - documentation + - ldap + - active directory + - enterprise +title: Enhanced LDAP Integration +weight: 600 +--- # Enhanced LDAP integration diff --git a/docs/sources/enterprise/enterprise-configuration.md b/docs/sources/enterprise/enterprise-configuration.md index 2ccb1e2767b..36ce654d29d 100644 --- a/docs/sources/enterprise/enterprise-configuration.md +++ b/docs/sources/enterprise/enterprise-configuration.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enterprise-configuration/"] -description = "Enterprise configuration documentation" -keywords = ["grafana", "configuration", "documentation", "enterprise"] -title = "Enterprise configuration" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enterprise-configuration/ +description: Enterprise configuration documentation +keywords: + - grafana + - configuration + - documentation + - enterprise +title: Enterprise configuration +weight: 700 +--- # Grafana Enterprise configuration diff --git a/docs/sources/enterprise/enterprise-encryption/_index.md b/docs/sources/enterprise/enterprise-encryption/_index.md index 87d9862f054..b7c8b6548b0 100644 --- a/docs/sources/enterprise/enterprise-encryption/_index.md +++ b/docs/sources/enterprise/enterprise-encryption/_index.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enterprise-encryption/"] -description = "Grafana Enterprise database encryption" -keywords = ["grafana", "enterprise", "database", "encryption", "documentation"] -title = "Enterprise database encryption" -weight = 130 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enterprise-encryption/ +description: Grafana Enterprise database encryption +keywords: + - grafana + - enterprise + - database + - encryption + - documentation +title: Enterprise database encryption +weight: 130 +--- # Grafana Enterprise database encryption diff --git a/docs/sources/enterprise/enterprise-encryption/using-aws-kms-to-encrypt-database-secrets.md b/docs/sources/enterprise/enterprise-encryption/using-aws-kms-to-encrypt-database-secrets.md index e28e4cf8d45..51877da2748 100644 --- a/docs/sources/enterprise/enterprise-encryption/using-aws-kms-to-encrypt-database-secrets.md +++ b/docs/sources/enterprise/enterprise-encryption/using-aws-kms-to-encrypt-database-secrets.md @@ -1,10 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enterprise-encryption/using-aws-kms-to-encrypt-database-secrets/"] -description = "Using AWS KMS to encrypt database secrets" -keywords = ["grafana", "AWS KMS integration"] -title = "AMS KMS" -weight = 3 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enterprise-encryption/using-aws-kms-to-encrypt-database-secrets/ +description: Using AWS KMS to encrypt database secrets +keywords: + - grafana + - AWS KMS integration +title: AMS KMS +weight: 3 +--- # Using AWS KMS to encrypt database secrets diff --git a/docs/sources/enterprise/enterprise-encryption/using-azure-key-vault-to-encrypt-database-secrets.md b/docs/sources/enterprise/enterprise-encryption/using-azure-key-vault-to-encrypt-database-secrets.md index 7d5bfe7f63f..1f910db1f3f 100644 --- a/docs/sources/enterprise/enterprise-encryption/using-azure-key-vault-to-encrypt-database-secrets.md +++ b/docs/sources/enterprise/enterprise-encryption/using-azure-key-vault-to-encrypt-database-secrets.md @@ -1,10 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enterprise-encryption/using-azure-key-vault-to-encrypt-database-secrets/"] -description = "Using Azure Key Vault to encrypt database secrets" -keywords = ["grafana", "Azure key vault"] -title = "Azure Key Vault" -weight = 2 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enterprise-encryption/using-azure-key-vault-to-encrypt-database-secrets/ +description: Using Azure Key Vault to encrypt database secrets +keywords: + - grafana + - Azure key vault +title: Azure Key Vault +weight: 2 +--- # Using Azure Key Vault to encrypt database secrets diff --git a/docs/sources/enterprise/enterprise-encryption/using-google-cloud-kms-to-encrypt-database-secrets.md b/docs/sources/enterprise/enterprise-encryption/using-google-cloud-kms-to-encrypt-database-secrets.md index adc9bdc024e..dd5ab2dcd72 100644 --- a/docs/sources/enterprise/enterprise-encryption/using-google-cloud-kms-to-encrypt-database-secrets.md +++ b/docs/sources/enterprise/enterprise-encryption/using-google-cloud-kms-to-encrypt-database-secrets.md @@ -1,10 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enterprise-encryption/using-google-cloud-kms-to-encrypt-database-secrets/"] -description = "Using Google Cloud KMS to encrypt database secrets" -keywords = ["grafana", "Google Cloud KMS integration"] -title = "Google Cloud KMS" -weight = 3 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enterprise-encryption/using-google-cloud-kms-to-encrypt-database-secrets/ +description: Using Google Cloud KMS to encrypt database secrets +keywords: + - grafana + - Google Cloud KMS integration +title: Google Cloud KMS +weight: 3 +--- # Using Google Cloud KMS to encrypt database secrets diff --git a/docs/sources/enterprise/enterprise-encryption/using-hashicorp-key-vault-to-encrypt-database-secrets.md b/docs/sources/enterprise/enterprise-encryption/using-hashicorp-key-vault-to-encrypt-database-secrets.md index 711d2ded059..635f1b7ecf1 100644 --- a/docs/sources/enterprise/enterprise-encryption/using-hashicorp-key-vault-to-encrypt-database-secrets.md +++ b/docs/sources/enterprise/enterprise-encryption/using-hashicorp-key-vault-to-encrypt-database-secrets.md @@ -1,10 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/enterprise-encryption/using-hashicorp-key-vault-to-encrypt-database-secrets/"] -description = "Using Hashicorp Vault to encrypt database secrets" -keywords = ["grafana", "Hashicorp Vault integration"] -title = "Hashicorp Vault" -weight = 3 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/enterprise-encryption/using-hashicorp-key-vault-to-encrypt-database-secrets/ +description: Using Hashicorp Vault to encrypt database secrets +keywords: + - grafana + - Hashicorp Vault integration +title: Hashicorp Vault +weight: 3 +--- # Using Hashicorp Vault to encrypt database secrets diff --git a/docs/sources/enterprise/export-pdf.md b/docs/sources/enterprise/export-pdf.md index c7f7b97d28a..73c56740c8c 100644 --- a/docs/sources/enterprise/export-pdf.md +++ b/docs/sources/enterprise/export-pdf.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/export-pdf/"] -description = "" -keywords = ["grafana", "export", "pdf", "share"] -title = "Export dashboard as PDF" -weight = 1400 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/export-pdf/ +description: '' +keywords: + - grafana + - export + - pdf + - share +title: Export dashboard as PDF +weight: 1400 +--- # Export dashboard as PDF diff --git a/docs/sources/enterprise/license/_index.md b/docs/sources/enterprise/license/_index.md index 3c5324b97f9..37352ece76e 100644 --- a/docs/sources/enterprise/license/_index.md +++ b/docs/sources/enterprise/license/_index.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/license/"] -description = "Enterprise license" -keywords = ["grafana", "licensing", "enterprise"] -title = "Grafana Enterprise license" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/license/ +description: Enterprise license +keywords: + - grafana + - licensing + - enterprise +title: Grafana Enterprise license +weight: 10 +--- # Grafana Enterprise license diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/_index.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/_index.md index 65f70087e54..22e8fae35ce 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/_index.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/_index.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/"] -description = "Activate Enterprise license purchased through AWS Marketplace" -keywords = ["grafana", "aws", "marketplace", "enterprise", "license"] -title = "Activate a Grafana Enterprise license purchased through AWS Marketplace" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/ +description: Activate Enterprise license purchased through AWS Marketplace +keywords: + - grafana + - aws + - marketplace + - enterprise + - license +title: Activate a Grafana Enterprise license purchased through AWS Marketplace +weight: 400 +--- # Activate a Grafana Enterprise license purchased through AWS Marketplace diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws.md index 38ef63d86f4..8b2a22e77f9 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/", "/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/"] -description = "About Grafana Enterprise licenses from AWS Marketplace" -keywords = ["grafana", "about", "enterprise", "overview", "aws", "marketplace"] -title = "About Grafana Enterprise licenses from AWS Marketplace" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/ + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/ +description: About Grafana Enterprise licenses from AWS Marketplace +keywords: + - grafana + - about + - enterprise + - overview + - aws + - marketplace +title: About Grafana Enterprise licenses from AWS Marketplace +weight: 100 +--- # About Grafana Enterprise licenses from AWS Marketplace diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs.md index d1f2172af70..e674dad48da 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-ecs/", "/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs/"] -description = "Activate a Grafana Enterprise license from AWS Marketplace on ECS" -keywords = ["grafana", "ecs", "enterprise", "aws", "marketplace", "activate"] -title = "Activate a Grafana Enterprise license from AWS Marketplace on ECS" -weight = 250 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-ecs/ + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs/ +description: Activate a Grafana Enterprise license from AWS Marketplace on ECS +keywords: + - grafana + - ecs + - enterprise + - aws + - marketplace + - activate +title: Activate a Grafana Enterprise license from AWS Marketplace on ECS +weight: 250 +--- # Activate a Grafana Enterprise license from AWS Marketplace on ECS diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks.md index 77084375a36..18a70d719ed 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-eks/", "/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks/"] -description = "Activate a Grafana Enterprise license from AWS Marketplace on EKS" -keywords = ["grafana", "enterprise", "aws", "marketplace", "eks", "activate"] -title = "Activate a Grafana Enterprise license from AWS Marketplace on EKS" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-eks/ + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks/ +description: Activate a Grafana Enterprise license from AWS Marketplace on EKS +keywords: + - grafana + - enterprise + - aws + - marketplace + - eks + - activate +title: Activate a Grafana Enterprise license from AWS Marketplace on EKS +weight: 200 +--- # Activate a Grafana Enterprise license from AWS Marketplace on EKS diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws.md index d333cecacf2..9b472872d54 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws.md @@ -1,10 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/", "/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/"] -description = "Activate a Grafana Enterprise license from AWS on an instance deployed outside of AWS" -keywords = ["grafana", "enterprise", "aws", "marketplace", "activate"] -title = "Activate a Grafana Enterprise license from AWS on an instance deployed outside of AWS" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/ + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/ +description: Activate a Grafana Enterprise license from AWS on an instance deployed + outside of AWS +keywords: + - grafana + - enterprise + - aws + - marketplace + - activate +title: Activate a Grafana Enterprise license from AWS on an instance deployed outside + of AWS +weight: 300 +--- # Activate a Grafana Enterprise license from AWS on an instance deployed outside of AWS diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace.md index 600e9d50d35..861d723031a 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-aws-marketplace-license/manage-license-in-aws-marketplace/", "/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace/"] -description = "Manage your Grafana Enterprise license in AWS Marketplace" -keywords = ["grafana", "enterprise", "aws", "marketplace", "manage", "add", "remove", "users"] -title = "Manage your Grafana Enterprise license in AWS Marketplace" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-aws-marketplace-license/manage-license-in-aws-marketplace/ + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace/ +description: Manage your Grafana Enterprise license in AWS Marketplace +keywords: + - grafana + - enterprise + - aws + - marketplace + - manage + - add + - remove + - users +title: Manage your Grafana Enterprise license in AWS Marketplace +weight: 400 +--- ## Manage your Grafana Enterprise license in AWS Marketplace diff --git a/docs/sources/enterprise/license/activate-aws-marketplace-license/transfer-ge-license.md b/docs/sources/enterprise/license/activate-aws-marketplace-license/transfer-ge-license.md index b0480359782..a7ec2bfc919 100644 --- a/docs/sources/enterprise/license/activate-aws-marketplace-license/transfer-ge-license.md +++ b/docs/sources/enterprise/license/activate-aws-marketplace-license/transfer-ge-license.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-aws-marketplace-license/transfer-ge-license/", "/docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/transfer-ge-license/"] -description = "Transfer your AWS Marketplace Grafana Enterprise license" -keywords = ["grafana", "enterprise", "aws", "marketplace", "transfer", "move"] -title = "Transfer your AWS Marketplace Grafana Enterprise license" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-aws-marketplace-license/transfer-ge-license/ + - /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/transfer-ge-license/ +description: Transfer your AWS Marketplace Grafana Enterprise license +keywords: + - grafana + - enterprise + - aws + - marketplace + - transfer + - move +title: Transfer your AWS Marketplace Grafana Enterprise license +weight: 400 +--- # Transfer your AWS Marketplace Grafana Enterprise license diff --git a/docs/sources/enterprise/license/activate-license.md b/docs/sources/enterprise/license/activate-license.md index c246719ad0c..7fa0a651ad8 100644 --- a/docs/sources/enterprise/license/activate-license.md +++ b/docs/sources/enterprise/license/activate-license.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/activate-license/", "/docs/grafana/latest/enterprise/license/activate-license/"] -description = "Activate an Enterprise license" -keywords = ["grafana", "licensing", "enterprise"] -title = "Activate an Enterprise license" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/activate-license/ + - /docs/grafana/latest/enterprise/license/activate-license/ +description: Activate an Enterprise license +keywords: + - grafana + - licensing + - enterprise +title: Activate an Enterprise license +weight: 100 +--- # Activate an Enterprise license diff --git a/docs/sources/enterprise/license/license-expiration.md b/docs/sources/enterprise/license/license-expiration.md index 70c0939084a..d2168eb3a9e 100644 --- a/docs/sources/enterprise/license/license-expiration.md +++ b/docs/sources/enterprise/license/license-expiration.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/license-expiration/", "/docs/grafana/latest/enterprise/license/license-expiration/"] -description = "" -keywords = ["grafana", "licensing"] -title = "License expiration" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/license-expiration/ + - /docs/grafana/latest/enterprise/license/license-expiration/ +description: '' +keywords: + - grafana + - licensing +title: License expiration +weight: 200 +--- # License expiration diff --git a/docs/sources/enterprise/license/license-restrictions.md b/docs/sources/enterprise/license/license-restrictions.md index 11c24828468..574b72f934f 100644 --- a/docs/sources/enterprise/license/license-restrictions.md +++ b/docs/sources/enterprise/license/license-restrictions.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/license-restrictions/", "/docs/grafana/latest/enterprise/license/license-restrictions/"] -description = "Grafana Enterprise license restrictions" -keywords = ["grafana", "licensing", "enterprise"] -title = "License restrictions" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/license-restrictions/ + - /docs/grafana/latest/enterprise/license/license-restrictions/ +description: Grafana Enterprise license restrictions +keywords: + - grafana + - licensing + - enterprise +title: License restrictions +weight: 300 +--- # Understanding Grafana Enterprise licensing diff --git a/docs/sources/enterprise/query-caching.md b/docs/sources/enterprise/query-caching.md index 1f62dad8eb1..c0c9b51814d 100644 --- a/docs/sources/enterprise/query-caching.md +++ b/docs/sources/enterprise/query-caching.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/query-caching/"] -description = "Grafana Enterprise data source query caching" -keywords = ["grafana", "plugins", "query", "caching"] -title = "Query caching" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/query-caching/ +description: Grafana Enterprise data source query caching +keywords: + - grafana + - plugins + - query + - caching +title: Query caching +weight: 300 +--- # Query caching diff --git a/docs/sources/enterprise/recorded-queries.md b/docs/sources/enterprise/recorded-queries.md index 5a178de76d1..599e1c1255b 100644 --- a/docs/sources/enterprise/recorded-queries.md +++ b/docs/sources/enterprise/recorded-queries.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/recorded-queries/"] -description = "Grafana Enterprise recorded queries" -keywords = ["grafana", "query", "queries", "recorded"] -title = "Recorded queries" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/recorded-queries/ +description: Grafana Enterprise recorded queries +keywords: + - grafana + - query + - queries + - recorded +title: Recorded queries +weight: 300 +--- # Recorded queries diff --git a/docs/sources/enterprise/reporting.md b/docs/sources/enterprise/reporting.md index ed6fbe2b745..9bb0c6de6cd 100644 --- a/docs/sources/enterprise/reporting.md +++ b/docs/sources/enterprise/reporting.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/administration/reports/", "/docs/grafana/latest/enterprise/reporting/"] -description = "" -keywords = ["grafana", "reporting"] -title = "Reporting" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/administration/reports/ + - /docs/grafana/latest/enterprise/reporting/ +description: '' +keywords: + - grafana + - reporting +title: Reporting +weight: 800 +--- # Reporting diff --git a/docs/sources/enterprise/request-security.md b/docs/sources/enterprise/request-security.md index ccf6a4d3acc..d02ded36429 100644 --- a/docs/sources/enterprise/request-security.md +++ b/docs/sources/enterprise/request-security.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/request-security/"] -description = "Grafana Enterprise request security" -keywords = ["grafana", "security", "enterprise"] -title = "Request security" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/request-security/ +description: Grafana Enterprise request security +keywords: + - grafana + - security + - enterprise +title: Request security +weight: 400 +--- # Request security diff --git a/docs/sources/enterprise/saml/about-saml.md b/docs/sources/enterprise/saml/about-saml.md index c541856d1a0..b42bd19a054 100644 --- a/docs/sources/enterprise/saml/about-saml.md +++ b/docs/sources/enterprise/saml/about-saml.md @@ -44,38 +44,8 @@ In terms of initiation, Grafana supports: - SP-initiated requests - IdP-initiated requests -By default, SP-initiated requests are enabled. For instructions on how to enable IdP-initiated logins, see https://grafana.com/docs/grafana/latest/enterprise/saml/#idp-initiated-single-sign-on-sso. +By default, SP-initiated requests are enabled. For instructions on how to enable IdP-initiated logins, refer to [IdP-initiated]({{< relref "./configure-saml/#idp-initiated-single-sign-on-sso" >}}) to get more information. ### Edit SAML options in the Grafana config file -Once you have enabled saml, you can configure Grafana to use it for SAML authentication. Refer to [Configuration]({{< relref "../../administration/configuration.md" >}}) to get more information about how to configure Grafana. - -**Edit SAML options in Grafana config file:** - -1. In the `[auth.saml]` section in the Grafana configuration file, set [`enabled`]({{< relref ".././enterprise-configuration.md#enabled" >}}) to `true`. -1. Configure the [certificate and private key]({{< relref "#certificate-and-private-key" >}}). -1. On the Okta application page where you have been redirected after application created, navigate to the **Sign On** tab and find **Identity Provider metadata** link in the **Settings** section. -1. Set the [`idp_metadata_url`]({{< relref ".././enterprise-configuration.md#idp-metadata-url" >}}) to the URL obtained from the previous step. The URL should look like `https://.okta.com/app//sso/saml/metadata`. -1. Set the following options to the attribute names configured at the **step 10** of the SAML integration setup. You can find this attributes on the **General** tab of the application page (**ATTRIBUTE STATEMENTS** and **GROUP ATTRIBUTE STATEMENTS** in the **SAML Settings** section). - - [`assertion_attribute_login`]({{< relref ".././enterprise-configuration.md#assertion-attribute-login" >}}) - - [`assertion_attribute_email`]({{< relref ".././enterprise-configuration.md#assertion-attribute-email" >}}) - - [`assertion_attribute_name`]({{< relref ".././enterprise-configuration.md#assertion-attribute-name" >}}) - - [`assertion_attribute_groups`]({{< relref ".././enterprise-configuration.md#assertion-attribute-groups" >}}) -1. Save the configuration file and and then restart the Grafana server. - -When you are finished, the Grafana configuration might look like this example: - -```bash -[server] -root_url = https://grafana.example.com - -[auth.saml] -enabled = true -private_key_path = "/path/to/private_key.pem" -certificate_path = "/path/to/certificate.cert" -idp_metadata_url = "https://my-org.okta.com/app/my-application/sso/saml/metadata" -assertion_attribute_name = DisplayName -assertion_attribute_login = Login -assertion_attribute_email = Email -assertion_attribute_groups = Group -``` +Once you have enabled saml, you can configure Grafana to use it for SAML authentication. Refer to [Configure SAML Authentication]({{< relref "./configure-saml.md#" >}}) to get more information about how to configure Grafana. diff --git a/docs/sources/enterprise/saml/set-up-saml-with-okta.md b/docs/sources/enterprise/saml/set-up-saml-with-okta.md index 11e2a727d11..9de28106e78 100644 --- a/docs/sources/enterprise/saml/set-up-saml-with-okta.md +++ b/docs/sources/enterprise/saml/set-up-saml-with-okta.md @@ -50,3 +50,33 @@ Grafana supports user authentication through Okta, which is useful when you want 1. Click **Next**. 1. On the final Feedback tab, fill out the form and then click **Finish**. + +**Edit SAML options for Okta in Grafana config file:** + +1. In the `[auth.saml]` section in the Grafana configuration file, set [`enabled`]({{< relref ".././enterprise-configuration.md#enabled" >}}) to `true`. +1. Configure the [certificate and private key]({{< relref "#certificate-and-private-key" >}}). +1. On the Okta application page where you have been redirected after application created, navigate to the **Sign On** tab and find **Identity Provider metadata** link in the **Settings** section. +1. Set the [`idp_metadata_url`]({{< relref ".././enterprise-configuration.md#idp-metadata-url" >}}) to the URL obtained from the previous step. The URL should look like `https://.okta.com/app//sso/saml/metadata`. +1. Set the following options to the attribute names configured at the **step 10** of the SAML integration setup. You can find this attributes on the **General** tab of the application page (**ATTRIBUTE STATEMENTS** and **GROUP ATTRIBUTE STATEMENTS** in the **SAML Settings** section). + - [`assertion_attribute_login`]({{< relref ".././enterprise-configuration.md#assertion-attribute-login" >}}) + - [`assertion_attribute_email`]({{< relref ".././enterprise-configuration.md#assertion-attribute-email" >}}) + - [`assertion_attribute_name`]({{< relref ".././enterprise-configuration.md#assertion-attribute-name" >}}) + - [`assertion_attribute_groups`]({{< relref ".././enterprise-configuration.md#assertion-attribute-groups" >}}) +1. Save the configuration file and and then restart the Grafana server. + +When you are finished, the Grafana configuration might look like this example: + +```bash +[server] +root_url = https://grafana.example.com + +[auth.saml] +enabled = true +private_key_path = "/path/to/private_key.pem" +certificate_path = "/path/to/certificate.cert" +idp_metadata_url = "https://my-org.okta.com/app/my-application/sso/saml/metadata" +assertion_attribute_name = DisplayName +assertion_attribute_login = Login +assertion_attribute_email = Email +assertion_attribute_groups = Group +``` diff --git a/docs/sources/enterprise/settings-updates.md b/docs/sources/enterprise/settings-updates.md index d192920b1a8..a33c6c573a5 100644 --- a/docs/sources/enterprise/settings-updates.md +++ b/docs/sources/enterprise/settings-updates.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/settings-updates/"] -description = "Settings updates at runtime" -keywords = ["grafana", "runtime", "settings"] -title = "Settings updates at runtime" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/settings-updates/ +description: Settings updates at runtime +keywords: + - grafana + - runtime + - settings +title: Settings updates at runtime +weight: 500 +--- # Settings updates at runtime diff --git a/docs/sources/enterprise/team-sync.md b/docs/sources/enterprise/team-sync.md index 708cce1470e..21d63ede58c 100644 --- a/docs/sources/enterprise/team-sync.md +++ b/docs/sources/enterprise/team-sync.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/auth/saml/", "/docs/grafana/latest/enterprise/team-sync/"] -description = "Grafana Team Sync" -keywords = ["grafana", "auth", "documentation"] -title = "Team sync" -weight = 1000 -+++ +--- +aliases: + - /docs/grafana/latest/auth/saml/ + - /docs/grafana/latest/enterprise/team-sync/ +description: Grafana Team Sync +keywords: + - grafana + - auth + - documentation +title: Team sync +weight: 1000 +--- # Team sync diff --git a/docs/sources/enterprise/usage-insights/_index.md b/docs/sources/enterprise/usage-insights/_index.md index 9e2885baa24..608689eef55 100644 --- a/docs/sources/enterprise/usage-insights/_index.md +++ b/docs/sources/enterprise/usage-insights/_index.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/usage-insights/"] -description = "Understand how your Grafana instance is used" -keywords = ["grafana", "usage-insights", "enterprise"] -title = "Usage insights" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/usage-insights/ +description: Understand how your Grafana instance is used +keywords: + - grafana + - usage-insights + - enterprise +title: Usage insights +weight: 200 +--- # Usage insights diff --git a/docs/sources/enterprise/usage-insights/dashboard-datasource-insights.md b/docs/sources/enterprise/usage-insights/dashboard-datasource-insights.md index ab18ad807dc..e284d0a016b 100644 --- a/docs/sources/enterprise/usage-insights/dashboard-datasource-insights.md +++ b/docs/sources/enterprise/usage-insights/dashboard-datasource-insights.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/usage-insights/dashboard-datasource-insights/"] -description = "Understand how your dashboards and data sources are used" -keywords = ["grafana", "usage-insights", "enterprise"] -title = "Dashboard and data source insights" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/usage-insights/dashboard-datasource-insights/ +description: Understand how your dashboards and data sources are used +keywords: + - grafana + - usage-insights + - enterprise +title: Dashboard and data source insights +weight: 200 +--- # Dashboard and data source insights diff --git a/docs/sources/enterprise/usage-insights/export-logs.md b/docs/sources/enterprise/usage-insights/export-logs.md index 53ad13afc47..dcd7cef2316 100644 --- a/docs/sources/enterprise/usage-insights/export-logs.md +++ b/docs/sources/enterprise/usage-insights/export-logs.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/usage-insights/export-logs/"] -description = "Export logs of usage insights" -keywords = ["grafana", "export", "usage-insights", "enterprise"] -title = "Export logs of usage insights" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/usage-insights/export-logs/ +description: Export logs of usage insights +keywords: + - grafana + - export + - usage-insights + - enterprise +title: Export logs of usage insights +weight: 500 +--- # Export logs of usage insights diff --git a/docs/sources/enterprise/usage-insights/improved-search.md b/docs/sources/enterprise/usage-insights/improved-search.md index 399e9ec0cb6..14b873be8c7 100644 --- a/docs/sources/enterprise/usage-insights/improved-search.md +++ b/docs/sources/enterprise/usage-insights/improved-search.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/usage-insights/improved-search/"] -description = "Sort dashboards by using insights data" -keywords = ["grafana", "search", "sort", "enterprise"] -title = "Sort dashboards by using insights data" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/usage-insights/improved-search/ +description: Sort dashboards by using insights data +keywords: + - grafana + - search + - sort + - enterprise +title: Sort dashboards by using insights data +weight: 400 +--- # Sort dashboards by using insights data diff --git a/docs/sources/enterprise/usage-insights/presence-indicator.md b/docs/sources/enterprise/usage-insights/presence-indicator.md index 44e1603a65e..a84f0245839 100644 --- a/docs/sources/enterprise/usage-insights/presence-indicator.md +++ b/docs/sources/enterprise/usage-insights/presence-indicator.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/usage-insights/presence-indicator/"] -description = "Know who is looking at the same dashboard as you are" -keywords = ["grafana", "presence-indicator", "enterprise"] -title = "Presence indicator" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/usage-insights/presence-indicator/ +description: Know who is looking at the same dashboard as you are +keywords: + - grafana + - presence-indicator + - enterprise +title: Presence indicator +weight: 300 +--- # Presence indicator diff --git a/docs/sources/enterprise/vault.md b/docs/sources/enterprise/vault.md index 49e86a76e44..de6a7574096 100644 --- a/docs/sources/enterprise/vault.md +++ b/docs/sources/enterprise/vault.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/vault/"] -description = "" -keywords = ["grafana", "vault", "configuration"] -title = "Vault" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/vault/ +description: '' +keywords: + - grafana + - vault + - configuration +title: Vault +weight: 1200 +--- # Vault integration diff --git a/docs/sources/enterprise/white-labeling.md b/docs/sources/enterprise/white-labeling.md index 1eac3352f51..61620ab30f9 100644 --- a/docs/sources/enterprise/white-labeling.md +++ b/docs/sources/enterprise/white-labeling.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/enterprise/white-labeling/"] -description = "Change the look of Grafana to match your corporate brand" -keywords = ["grafana", "white-labeling", "enterprise"] -title = "White labeling" -weight = 1300 -+++ +--- +aliases: + - /docs/grafana/latest/enterprise/white-labeling/ +description: Change the look of Grafana to match your corporate brand +keywords: + - grafana + - white-labeling + - enterprise +title: White labeling +weight: 1300 +--- # White labeling diff --git a/docs/sources/explore/_index.md b/docs/sources/explore/_index.md index 80270c3defa..2fe14d8ba69 100644 --- a/docs/sources/explore/_index.md +++ b/docs/sources/explore/_index.md @@ -1,9 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/explore/", "/docs/grafana/latest/features/explore/"] -keywords = ["explore", "loki", "logs"] -title = "Explore" -weight = 90 -+++ +--- +aliases: + - /docs/grafana/latest/explore/ + - /docs/grafana/latest/features/explore/ +keywords: + - explore + - loki + - logs +title: Explore +weight: 90 +--- # Explore diff --git a/docs/sources/explore/explore-inspector.md b/docs/sources/explore/explore-inspector.md index 52a06c0cd12..2a19daab3e6 100644 --- a/docs/sources/explore/explore-inspector.md +++ b/docs/sources/explore/explore-inspector.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/explore/explore-inspector/"] -title = "Inspector in Explore" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/explore/explore-inspector/ +title: Inspector in Explore +weight: 400 +--- # Inspector in Explore diff --git a/docs/sources/explore/logs-integration.md b/docs/sources/explore/logs-integration.md index ee7983b0ca4..6b40d8c10bd 100644 --- a/docs/sources/explore/logs-integration.md +++ b/docs/sources/explore/logs-integration.md @@ -1,10 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/explore/logs-integration/"] -description = "Logs in Explore" -keywords = ["explore", "logs"] -title = "Logs in Explore" -weight = 15 -+++ +--- +aliases: + - /docs/grafana/latest/explore/logs-integration/ +description: Logs in Explore +keywords: + - explore + - logs +title: Logs in Explore +weight: 15 +--- # Logs in Explore diff --git a/docs/sources/explore/query-management.md b/docs/sources/explore/query-management.md index 9cbb1492d0b..c7d454c214b 100644 --- a/docs/sources/explore/query-management.md +++ b/docs/sources/explore/query-management.md @@ -1,9 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/explore/query-management/"] -keywords = ["explore", "loki", "logs"] -title = "Query management" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/explore/query-management/ +keywords: + - explore + - loki + - logs +title: Query management +weight: 10 +--- # Query management in Explore diff --git a/docs/sources/explore/trace-integration.md b/docs/sources/explore/trace-integration.md index ba513ea69a3..e6ff9207274 100644 --- a/docs/sources/explore/trace-integration.md +++ b/docs/sources/explore/trace-integration.md @@ -1,10 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/explore/trace-integration/"] -description = "Tracing in Explore" -keywords = ["explore", "trace"] -title = "Tracing in Explore" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/explore/trace-integration/ +description: Tracing in Explore +keywords: + - explore + - trace +title: Tracing in Explore +weight: 20 +--- # Tracing in Explore diff --git a/docs/sources/getting-started/_index.md b/docs/sources/getting-started/_index.md index 96fd0c3e151..383ca9aeac2 100644 --- a/docs/sources/getting-started/_index.md +++ b/docs/sources/getting-started/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/getting-started/", "/docs/grafana/latest/guides/what-is-grafana/"] -title = "Getting started" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/getting-started/ + - /docs/grafana/latest/guides/what-is-grafana/ +title: Getting started +weight: 10 +--- # Getting started diff --git a/docs/sources/getting-started/getting-started-influxdb.md b/docs/sources/getting-started/getting-started-influxdb.md index d4e12b29981..64dc85fa0ee 100644 --- a/docs/sources/getting-started/getting-started-influxdb.md +++ b/docs/sources/getting-started/getting-started-influxdb.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/getting-started/getting-started-influxdb/"] -description = "Guide for getting started with Grafana and InfluxDB" -keywords = ["grafana", "intro", "guide", "started"] -title = "With Grafana and InfluxDB" -weight = 250 -+++ +--- +aliases: + - /docs/grafana/latest/getting-started/getting-started-influxdb/ +description: Guide for getting started with Grafana and InfluxDB +keywords: + - grafana + - intro + - guide + - started +title: With Grafana and InfluxDB +weight: 250 +--- # Getting started with Grafana and InfluxDB diff --git a/docs/sources/getting-started/getting-started-prometheus.md b/docs/sources/getting-started/getting-started-prometheus.md index fa8b93374bf..5158f5f9ae3 100644 --- a/docs/sources/getting-started/getting-started-prometheus.md +++ b/docs/sources/getting-started/getting-started-prometheus.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/getting-started/getting-started-prometheus/", "/docs/grafana/latest/guides/getting_started/", "/docs/grafana/latest/guides/gettingstarted/"] -description = "Guide for getting started with Grafana and Prometheus" -keywords = ["grafana", "intro", "guide", "started"] -title = "With Grafana and Prometheus" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/getting-started/getting-started-prometheus/ + - /docs/grafana/latest/guides/getting_started/ + - /docs/grafana/latest/guides/gettingstarted/ +description: Guide for getting started with Grafana and Prometheus +keywords: + - grafana + - intro + - guide + - started +title: With Grafana and Prometheus +weight: 300 +--- # Getting started with Grafana and Prometheus diff --git a/docs/sources/getting-started/getting-started-sql.md b/docs/sources/getting-started/getting-started-sql.md index a3892ab4d68..cdb587fe257 100644 --- a/docs/sources/getting-started/getting-started-sql.md +++ b/docs/sources/getting-started/getting-started-sql.md @@ -1,10 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/getting-started/getting-started-sql/", "/docs/grafana/latest/guides/getting_started/", "/docs/grafana/latest/guides/gettingstarted/"] -description = "Guide for getting started with Grafana and MS SQL Server" -draft = true -keywords = ["grafana", "intro", "guide", "started", "SQL", "MSSQL"] -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/getting-started/getting-started-sql/ + - /docs/grafana/latest/guides/getting_started/ + - /docs/grafana/latest/guides/gettingstarted/ +description: Guide for getting started with Grafana and MS SQL Server +draft: true +keywords: + - grafana + - intro + - guide + - started + - SQL + - MSSQL +weight: 400 +--- # Getting started with Grafana and MS SQL Server diff --git a/docs/sources/getting-started/getting-started.md b/docs/sources/getting-started/getting-started.md index 71790400e99..860e47699e0 100644 --- a/docs/sources/getting-started/getting-started.md +++ b/docs/sources/getting-started/getting-started.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/getting-started/getting-started/", "/docs/grafana/latest/guides/getting_started/", "/docs/grafana/latest/guides/gettingstarted/"] -description = "Guide for getting started with Grafana" -keywords = ["grafana", "intro", "guide", "started"] -title = "With Grafana" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/getting-started/getting-started/ + - /docs/grafana/latest/guides/getting_started/ + - /docs/grafana/latest/guides/gettingstarted/ +description: Guide for getting started with Grafana +keywords: + - grafana + - intro + - guide + - started +title: With Grafana +weight: 200 +--- # Getting started with Grafana diff --git a/docs/sources/image-rendering/_index.md b/docs/sources/image-rendering/_index.md index 5c3103d5863..4b293b79495 100644 --- a/docs/sources/image-rendering/_index.md +++ b/docs/sources/image-rendering/_index.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/administration/image_rendering/", "/docs/grafana/latest/image-rendering/"] -description = "Image rendering" -keywords = ["grafana", "image", "rendering", "plugin"] -title = "Image rendering" -weight = 55 -+++ +--- +aliases: + - /docs/grafana/latest/administration/image_rendering/ + - /docs/grafana/latest/image-rendering/ +description: Image rendering +keywords: + - grafana + - image + - rendering + - plugin +title: Image rendering +weight: 55 +--- # Image rendering diff --git a/docs/sources/image-rendering/monitoring.md b/docs/sources/image-rendering/monitoring.md index 3a65683fdd9..33c1331d95a 100644 --- a/docs/sources/image-rendering/monitoring.md +++ b/docs/sources/image-rendering/monitoring.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/image-rendering/monitoring/"] -description = "Image rendering monitoring" -keywords = ["grafana", "image", "rendering", "plugin", "monitoring"] -title = "Monitoring the image renderer" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/image-rendering/monitoring/ +description: Image rendering monitoring +keywords: + - grafana + - image + - rendering + - plugin + - monitoring +title: Monitoring the image renderer +weight: 100 +--- # Monitoring the image renderer diff --git a/docs/sources/image-rendering/troubleshooting.md b/docs/sources/image-rendering/troubleshooting.md index f339d366334..d8f272892ee 100644 --- a/docs/sources/image-rendering/troubleshooting.md +++ b/docs/sources/image-rendering/troubleshooting.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/image-rendering/troubleshooting/"] -description = "Image rendering troubleshooting" -keywords = ["grafana", "image", "rendering", "plugin", "troubleshooting"] -title = "Troubleshooting" -weight = 115 -+++ +--- +aliases: + - /docs/grafana/latest/image-rendering/troubleshooting/ +description: Image rendering troubleshooting +keywords: + - grafana + - image + - rendering + - plugin + - troubleshooting +title: Troubleshooting +weight: 115 +--- # Troubleshoot image rendering diff --git a/docs/sources/installation/_index.md b/docs/sources/installation/_index.md index 508bc51d683..b5b3714c7c2 100644 --- a/docs/sources/installation/_index.md +++ b/docs/sources/installation/_index.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/install/", "/docs/grafana/latest/installation/", "/docs/grafana/latest/installation/installation/", "/docs/grafana/v2.1/installation/install/"] -description = "Installation guide for Grafana" -keywords = ["grafana", "installation", "documentation"] -title = "Installation" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/install/ + - /docs/grafana/latest/installation/ + - /docs/grafana/latest/installation/installation/ + - /docs/grafana/v2.1/installation/install/ +description: Installation guide for Grafana +keywords: + - grafana + - installation + - documentation +title: Installation +weight: 30 +--- # Install Grafana diff --git a/docs/sources/installation/debian.md b/docs/sources/installation/debian.md index 4a326be3a73..8fbd4b0b8a1 100644 --- a/docs/sources/installation/debian.md +++ b/docs/sources/installation/debian.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/installation/debian/", "/docs/grafana/latest/installation/installation/debian/"] -description = "Install guide for Grafana on Debian or Ubuntu" -keywords = ["grafana", "installation", "documentation"] -title = "Install on Debian/Ubuntu" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/installation/debian/ + - /docs/grafana/latest/installation/installation/debian/ +description: Install guide for Grafana on Debian or Ubuntu +keywords: + - grafana + - installation + - documentation +title: Install on Debian/Ubuntu +weight: 200 +--- # Install on Debian or Ubuntu diff --git a/docs/sources/installation/docker.md b/docs/sources/installation/docker.md index bedf5671416..bd1f8e72cf8 100644 --- a/docs/sources/installation/docker.md +++ b/docs/sources/installation/docker.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/installation/docker/"] -description = "Guide for running Grafana using Docker" -keywords = ["grafana", "configuration", "documentation", "docker"] -title = "Run Grafana Docker image" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/installation/docker/ +description: Guide for running Grafana using Docker +keywords: + - grafana + - configuration + - documentation + - docker +title: Run Grafana Docker image +weight: 600 +--- # Run Grafana Docker image diff --git a/docs/sources/installation/kubernetes.md b/docs/sources/installation/kubernetes.md index e1889eec737..aa47fbf0c57 100644 --- a/docs/sources/installation/kubernetes.md +++ b/docs/sources/installation/kubernetes.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/installation/kubernetes/"] -description = "Guide for deploying Grafana on Kubernetes" -keywords = ["grafana", "configuration", "documentation", "kubernetes"] -title = "Deploy Grafana on Kubernetes" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/installation/kubernetes/ +description: Guide for deploying Grafana on Kubernetes +keywords: + - grafana + - configuration + - documentation + - kubernetes +title: Deploy Grafana on Kubernetes +weight: 700 +--- ## Deploy Grafana on Kubernetes diff --git a/docs/sources/installation/mac.md b/docs/sources/installation/mac.md index 12c0536d136..b766c18c6da 100644 --- a/docs/sources/installation/mac.md +++ b/docs/sources/installation/mac.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/installation/mac/"] -description = "Installing Grafana on macOS" -keywords = ["grafana", "configuration", "documentation", "mac", "homebrew", "osx"] -title = "Install on macOS" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/installation/mac/ +description: Installing Grafana on macOS +keywords: + - grafana + - configuration + - documentation + - mac + - homebrew + - osx +title: Install on macOS +weight: 500 +--- # Install on macOS diff --git a/docs/sources/installation/requirements.md b/docs/sources/installation/requirements.md index b6e64b9c6e5..3939f5f7f88 100644 --- a/docs/sources/installation/requirements.md +++ b/docs/sources/installation/requirements.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/installation/requirements/"] -description = "Requirements for Grafana" -keywords = ["grafana", "installation", "documentation"] -title = "Requirements" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/installation/requirements/ +description: Requirements for Grafana +keywords: + - grafana + - installation + - documentation +title: Requirements +weight: 100 +--- # Grafana requirements diff --git a/docs/sources/installation/restart-grafana.md b/docs/sources/installation/restart-grafana.md index 93f337559e3..08366246b33 100644 --- a/docs/sources/installation/restart-grafana.md +++ b/docs/sources/installation/restart-grafana.md @@ -1,10 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/installation/restart-grafana/"] -description = "Instructions for restarting Grafana" -keywords = ["grafana", "restart", "documentation"] -title = "Restart Grafana" -weight = 750 -+++ +--- +aliases: + - /docs/grafana/latest/installation/restart-grafana/ +description: Instructions for restarting Grafana +keywords: + - grafana + - restart + - documentation +title: Restart Grafana +weight: 750 +--- # Restart Grafana diff --git a/docs/sources/installation/rpm.md b/docs/sources/installation/rpm.md index 5a159abb3ef..4e09a724adf 100644 --- a/docs/sources/installation/rpm.md +++ b/docs/sources/installation/rpm.md @@ -1,10 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/installation/installation/rpm/", "/docs/grafana/latest/installation/rpm/"] -description = "Grafana Installation guide for RPM-based Linux, such as Centos, Fedora, OpenSuse, and Red Hat." -keywords = ["grafana", "installation", "documentation", "centos", "fedora", "opensuse", "redhat"] -title = "Install on RPM-based Linux" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/installation/installation/rpm/ + - /docs/grafana/latest/installation/rpm/ +description: Grafana Installation guide for RPM-based Linux, such as Centos, Fedora, + OpenSuse, and Red Hat. +keywords: + - grafana + - installation + - documentation + - centos + - fedora + - opensuse + - redhat +title: Install on RPM-based Linux +weight: 300 +--- # Install on RPM-based Linux (CentOS, Fedora, OpenSuse, Red Hat) diff --git a/docs/sources/installation/upgrading.md b/docs/sources/installation/upgrading.md index fb0d2dc4aa5..edf6136c704 100644 --- a/docs/sources/installation/upgrading.md +++ b/docs/sources/installation/upgrading.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/installation/upgrading/"] -description = "Guide for upgrading Grafana" -keywords = ["grafana", "configuration", "documentation", "upgrade"] -title = "Upgrade Grafana" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/installation/upgrading/ +description: Guide for upgrading Grafana +keywords: + - grafana + - configuration + - documentation + - upgrade +title: Upgrade Grafana +weight: 700 +--- # Upgrade Grafana diff --git a/docs/sources/installation/windows.md b/docs/sources/installation/windows.md index b3cea37beae..5d0ec6d47dd 100644 --- a/docs/sources/installation/windows.md +++ b/docs/sources/installation/windows.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/installation/windows/"] -description = "Install Grafana on Windows" -keywords = ["grafana", "configuration", "documentation", "windows"] -title = "Install on Windows" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/installation/windows/ +description: Install Grafana on Windows +keywords: + - grafana + - configuration + - documentation + - windows +title: Install on Windows +weight: 400 +--- # Install on Windows diff --git a/docs/sources/introduction/_index.md b/docs/sources/introduction/_index.md index cb0d76e9ae9..510b142b772 100644 --- a/docs/sources/introduction/_index.md +++ b/docs/sources/introduction/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/guides/what-is-grafana/", "/docs/grafana/latest/introduction/"] -title = "Introduction to Grafana" -weight = 5 -+++ +--- +aliases: + - /docs/grafana/latest/guides/what-is-grafana/ + - /docs/grafana/latest/introduction/ +title: Introduction to Grafana +weight: 5 +--- # Introduction to Grafana diff --git a/docs/sources/introduction/oss-details.md b/docs/sources/introduction/oss-details.md index d00befee8d7..cd4452e388b 100644 --- a/docs/sources/introduction/oss-details.md +++ b/docs/sources/introduction/oss-details.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/guides/what-is-grafana/", "/docs/grafana/latest/introduction/oss-details/"] -title = "What is Grafana OSS" -weight = 5 -+++ +--- +aliases: + - /docs/grafana/latest/guides/what-is-grafana/ + - /docs/grafana/latest/introduction/oss-details/ +title: What is Grafana OSS +weight: 5 +--- # What is Grafana OSS diff --git a/docs/sources/linking/_index.md b/docs/sources/linking/_index.md index 8bfd10751e2..ca0cd9bca0c 100644 --- a/docs/sources/linking/_index.md +++ b/docs/sources/linking/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/linking/"] -title = "Linking" -weight = 120 -+++ +--- +aliases: + - /docs/grafana/latest/linking/ +title: Linking +weight: 120 +--- # Linking overview diff --git a/docs/sources/linking/dashboard-links.md b/docs/sources/linking/dashboard-links.md index 7e494d9cbee..09c64200adb 100644 --- a/docs/sources/linking/dashboard-links.md +++ b/docs/sources/linking/dashboard-links.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/linking/dashboard-links/"] -description = "" -keywords = ["grafana", "linking", "create links", "link dashboards", "navigate"] -title = "Dashboard links" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/linking/dashboard-links/ +description: '' +keywords: + - grafana + - linking + - create links + - link dashboards + - navigate +title: Dashboard links +weight: 200 +--- # Dashboard links diff --git a/docs/sources/linking/data-link-variables.md b/docs/sources/linking/data-link-variables.md index 41b09cfe6eb..ee776cf2f38 100644 --- a/docs/sources/linking/data-link-variables.md +++ b/docs/sources/linking/data-link-variables.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/linking/data-link-variables/", "/docs/grafana/latest/variables/url-variables/", "/docs/grafana/latest/variables/variable-types/url-variables/"] -keywords = ["grafana", "url variables", "documentation", "variables", "data link"] -title = "URL variables" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/linking/data-link-variables/ + - /docs/grafana/latest/variables/url-variables/ + - /docs/grafana/latest/variables/variable-types/url-variables/ +keywords: + - grafana + - url variables + - documentation + - variables + - data link +title: URL variables +weight: 400 +--- # Data link variables diff --git a/docs/sources/linking/data-links.md b/docs/sources/linking/data-links.md index 5821fe01e5a..6d4743904ba 100644 --- a/docs/sources/linking/data-links.md +++ b/docs/sources/linking/data-links.md @@ -1,8 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/linking/data-links/", "/docs/grafana/latest/reference/datalinks/"] -keywords = ["grafana", "data links", "documentation", "playlist"] -title = "Data links" -+++ +--- +aliases: + - /docs/grafana/latest/linking/data-links/ + - /docs/grafana/latest/reference/datalinks/ +keywords: + - grafana + - data links + - documentation + - playlist +title: Data links +--- # Data links diff --git a/docs/sources/linking/linking-overview.md b/docs/sources/linking/linking-overview.md index c0686aa98ac..ee71c614aff 100644 --- a/docs/sources/linking/linking-overview.md +++ b/docs/sources/linking/linking-overview.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/features/navigation-links/", "/docs/grafana/latest/linking/linking-overview/"] -keywords = ["grafana", "linking", "create links", "link panels", "link dashboards", "navigate"] -title = "Linking overview" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/features/navigation-links/ + - /docs/grafana/latest/linking/linking-overview/ +keywords: + - grafana + - linking + - create links + - link panels + - link dashboards + - navigate +title: Linking overview +weight: 100 +--- # Linking overview diff --git a/docs/sources/linking/panel-links.md b/docs/sources/linking/panel-links.md index a0b93640130..e8db8824661 100644 --- a/docs/sources/linking/panel-links.md +++ b/docs/sources/linking/panel-links.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/navigation-links/", "/docs/grafana/latest/linking/panel-links/"] -description = "" -keywords = ["grafana", "linking", "create links", "link panels", "link dashboards", "navigate"] -title = "Panel links" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/features/navigation-links/ + - /docs/grafana/latest/linking/panel-links/ +description: '' +keywords: + - grafana + - linking + - create links + - link panels + - link dashboards + - navigate +title: Panel links +weight: 300 +--- # Panel links diff --git a/docs/sources/live/set-up-grafana-live.md b/docs/sources/live/set-up-grafana-live.md index cffa2a5b8d6..357ba666279 100644 --- a/docs/sources/live/set-up-grafana-live.md +++ b/docs/sources/live/set-up-grafana-live.md @@ -1,16 +1,15 @@ --- -title: 'Set up Grafana Live' -menuTitle: 'Set up Grafana Live' -description: 'Grafana Live is a real-time messaging engine that pushes event data to a frontend when an event occurs.' aliases: - [ - '/docs/grafana/latest/live/live-feature-overview/', - '/docs/grafana/latest/live/', - '/docs/grafana/latest/live/configure-grafana-live/', - '/docs/grafana/latest/live/live-channel/', - '/docs/grafana/latest/live/live-ha-setup/', - '/docs/grafana/latest/live/set-up-grafana-live/', - ] + - /docs/grafana/latest/live/live-feature-overview/ + - /docs/grafana/latest/live/ + - /docs/grafana/latest/live/configure-grafana-live/ + - /docs/grafana/latest/live/live-channel/ + - /docs/grafana/latest/live/live-ha-setup/ + - /docs/grafana/latest/live/set-up-grafana-live/ +description: Grafana Live is a real-time messaging engine that pushes event data to + a frontend when an event occurs. +menuTitle: Set up Grafana Live +title: Set up Grafana Live weight: 115 --- diff --git a/docs/sources/old-alerting/_index.md b/docs/sources/old-alerting/_index.md index 262b7adbb08..80cd70e4791 100644 --- a/docs/sources/old-alerting/_index.md +++ b/docs/sources/old-alerting/_index.md @@ -1,9 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/old-alerting/"] -draft = true -title = "Legacy Grafana Alerts" -weight = 114 -+++ +--- +aliases: + - /docs/grafana/latest/old-alerting/ +draft: true +title: Legacy Grafana Alerts +weight: 114 +--- # Legacy Grafana alerts diff --git a/docs/sources/old-alerting/add-notification-template.md b/docs/sources/old-alerting/add-notification-template.md index cad18d63dc7..fdbf5369096 100644 --- a/docs/sources/old-alerting/add-notification-template.md +++ b/docs/sources/old-alerting/add-notification-template.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/add-notification-template/", "/docs/grafana/latest/old-alerting/add-notification-template/"] -draft = true -keywords = ["grafana", "documentation", "alerting", "alerts", "notification", "templating"] -title = "Alert notification templating" -weight = 110 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/add-notification-template/ + - /docs/grafana/latest/old-alerting/add-notification-template/ +draft: true +keywords: + - grafana + - documentation + - alerting + - alerts + - notification + - templating +title: Alert notification templating +weight: 110 +--- # Alert notification templating diff --git a/docs/sources/old-alerting/create-alerts.md b/docs/sources/old-alerting/create-alerts.md index 55ce84691c8..98f31f734bb 100644 --- a/docs/sources/old-alerting/create-alerts.md +++ b/docs/sources/old-alerting/create-alerts.md @@ -1,11 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/create-alerts/", "/docs/grafana/latest/old-alerting/create-alerts/"] -description = "Configure alert rules" -draft = true -keywords = ["grafana", "alerting", "guide", "rules"] -title = "Create alerts" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/create-alerts/ + - /docs/grafana/latest/old-alerting/create-alerts/ +description: Configure alert rules +draft: true +keywords: + - grafana + - alerting + - guide + - rules +title: Create alerts +weight: 200 +--- # Create alerts diff --git a/docs/sources/old-alerting/notifications.md b/docs/sources/old-alerting/notifications.md index e2d8e449fd0..cf2e213777b 100644 --- a/docs/sources/old-alerting/notifications.md +++ b/docs/sources/old-alerting/notifications.md @@ -1,11 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/notifications/", "/docs/grafana/latest/old-alerting/notifications/"] -description = "Alerting notifications guide" -draft = true -keywords = ["Grafana", "alerting", "guide", "notifications"] -title = "Alert notifications" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/notifications/ + - /docs/grafana/latest/old-alerting/notifications/ +description: Alerting notifications guide +draft: true +keywords: + - Grafana + - alerting + - guide + - notifications +title: Alert notifications +weight: 100 +--- # Alert notifications diff --git a/docs/sources/old-alerting/pause-an-alert-rule.md b/docs/sources/old-alerting/pause-an-alert-rule.md index 76d6e32af9a..db049f98ba5 100644 --- a/docs/sources/old-alerting/pause-an-alert-rule.md +++ b/docs/sources/old-alerting/pause-an-alert-rule.md @@ -1,11 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/pause-an-alert-rule/", "/docs/grafana/latest/old-alerting/pause-an-alert-rule/"] -description = "Pause an existing alert rule" -draft = true -keywords = ["grafana", "alerting", "guide", "rules", "view"] -title = "Pause alert rule" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/pause-an-alert-rule/ + - /docs/grafana/latest/old-alerting/pause-an-alert-rule/ +description: Pause an existing alert rule +draft: true +keywords: + - grafana + - alerting + - guide + - rules + - view +title: Pause alert rule +weight: 400 +--- # Pause an alert rule diff --git a/docs/sources/old-alerting/troubleshoot-alerts.md b/docs/sources/old-alerting/troubleshoot-alerts.md index 5aa2c493f3a..719f6aac881 100644 --- a/docs/sources/old-alerting/troubleshoot-alerts.md +++ b/docs/sources/old-alerting/troubleshoot-alerts.md @@ -1,11 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/troubleshoot-alerts/", "/docs/grafana/latest/old-alerting/troubleshoot-alerts/"] -description = "Troubleshoot alert rules" -draft = true -keywords = ["grafana", "alerting", "guide", "rules", "troubleshoot"] -title = "Troubleshoot alerts" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/troubleshoot-alerts/ + - /docs/grafana/latest/old-alerting/troubleshoot-alerts/ +description: Troubleshoot alert rules +draft: true +keywords: + - grafana + - alerting + - guide + - rules + - troubleshoot +title: Troubleshoot alerts +weight: 500 +--- # Troubleshoot alerts diff --git a/docs/sources/old-alerting/view-alerts.md b/docs/sources/old-alerting/view-alerts.md index 08c12673903..b600402d9c1 100644 --- a/docs/sources/old-alerting/view-alerts.md +++ b/docs/sources/old-alerting/view-alerts.md @@ -1,11 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/alerting/view-alerts/", "/docs/grafana/latest/old-alerting/view-alerts/"] -description = "View existing alert rules" -draft = true -keywords = ["grafana", "alerting", "guide", "rules", "view"] -title = "View alerts" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/alerting/view-alerts/ + - /docs/grafana/latest/old-alerting/view-alerts/ +description: View existing alert rules +draft: true +keywords: + - grafana + - alerting + - guide + - rules + - view +title: View alerts +weight: 400 +--- # View existing alert rules diff --git a/docs/sources/panels/_index.md b/docs/sources/panels/_index.md index 33c63d8110f..6ff9bf7d93a 100644 --- a/docs/sources/panels/_index.md +++ b/docs/sources/panels/_index.md @@ -1,9 +1,12 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/panels/", "/docs/grafana/latest/panels/", "/docs/sources/panels/"] -description = "Panels" -title = "Panels" -weight = 72 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/panels/ + - /docs/grafana/latest/panels/ + - /docs/sources/panels/ +description: Panels +title: Panels +weight: 72 +--- # About Grafana panels diff --git a/docs/sources/panels/add-panels-dynamically/_index.md b/docs/sources/panels/add-panels-dynamically/_index.md index 2b8cab26f66..d7c20e7ce19 100644 --- a/docs/sources/panels/add-panels-dynamically/_index.md +++ b/docs/sources/panels/add-panels-dynamically/_index.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/panels/add-panels-dynamically/", "/docs/grafana/latest/panels/repeat-panels-or-rows/", "/docs/sources/panels/add-panels-dynamically/"] -keywords = ["dynamic", "variable", "panel"] -title = "Enable template variables to add panels dynamically" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/panels/add-panels-dynamically/ + - /docs/grafana/latest/panels/repeat-panels-or-rows/ + - /docs/sources/panels/add-panels-dynamically/ +keywords: + - dynamic + - variable + - panel +title: Enable template variables to add panels dynamically +weight: 800 +--- # Enable template variables to add panels dynamically diff --git a/docs/sources/panels/add-panels-dynamically/about-repeating-panels-rows.md b/docs/sources/panels/add-panels-dynamically/about-repeating-panels-rows.md index 42b436c6597..c2f8ff94ca4 100644 --- a/docs/sources/panels/add-panels-dynamically/about-repeating-panels-rows.md +++ b/docs/sources/panels/add-panels-dynamically/about-repeating-panels-rows.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/add-panels-dynamically/about-repeating-panels-rows/", "/docs/sources/panels/add-panels-dynamically/about-repeating-panels-rows/"] -title = "About repeating panels or rows" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/add-panels-dynamically/about-repeating-panels-rows/ + - /docs/sources/panels/add-panels-dynamically/about-repeating-panels-rows/ +title: About repeating panels or rows +weight: 10 +--- # About repeating panels and rows diff --git a/docs/sources/panels/add-panels-dynamically/configure-repeating-panels.md b/docs/sources/panels/add-panels-dynamically/configure-repeating-panels.md index 7da31954724..bf326fe56cc 100644 --- a/docs/sources/panels/add-panels-dynamically/configure-repeating-panels.md +++ b/docs/sources/panels/add-panels-dynamically/configure-repeating-panels.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/add-panels-dynamically/configure-repeating-panels/", "/docs/sources/panels/add-panels-dynamically/configure-repeating-panels/"] -title = "Configure repeating panels" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/add-panels-dynamically/configure-repeating-panels/ + - /docs/sources/panels/add-panels-dynamically/configure-repeating-panels/ +title: Configure repeating panels +weight: 20 +--- # Configure repeating panels diff --git a/docs/sources/panels/add-panels-dynamically/configure-repeating-rows.md b/docs/sources/panels/add-panels-dynamically/configure-repeating-rows.md index f871eafc56d..0032abb5942 100644 --- a/docs/sources/panels/add-panels-dynamically/configure-repeating-rows.md +++ b/docs/sources/panels/add-panels-dynamically/configure-repeating-rows.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/add-panels-dynamically/configure-repeating-rows/", "/docs/sources/panels/add-panels-dynamically/configure-repeating-rows/"] -title = "Configure repeating rows" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/add-panels-dynamically/configure-repeating-rows/ + - /docs/sources/panels/add-panels-dynamically/configure-repeating-rows/ +title: Configure repeating rows +weight: 30 +--- # Configure repeating rows diff --git a/docs/sources/panels/calculation-types.md b/docs/sources/panels/calculation-types.md index b5dc6102a6d..342c0cc9b1d 100644 --- a/docs/sources/panels/calculation-types.md +++ b/docs/sources/panels/calculation-types.md @@ -1,8 +1,12 @@ -+++ -aliases = ["/docs/grafana/latest/panels/calculation-types/", "/docs/grafana/latest/panels/calculations-list/", "/docs/grafana/latest/panels/reference-calculation-types/", "/docs/sources/panels/reference-calculation-types/"] -title = "Calculation types" -weight = 1100 -+++ +--- +aliases: + - /docs/grafana/latest/panels/calculation-types/ + - /docs/grafana/latest/panels/calculations-list/ + - /docs/grafana/latest/panels/reference-calculation-types/ + - /docs/sources/panels/reference-calculation-types/ +title: Calculation types +weight: 1100 +--- # Reference: Calculation types diff --git a/docs/sources/panels/format-data/_index.md b/docs/sources/panels/format-data/_index.md index dbd9259c654..aa02d556864 100644 --- a/docs/sources/panels/format-data/_index.md +++ b/docs/sources/panels/format-data/_index.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/", "/docs/grafana/latest/panels/value-mappings/", "/docs/sources/panels/format-data/"] -title = "Format data using value mapping" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/ + - /docs/grafana/latest/panels/value-mappings/ + - /docs/sources/panels/format-data/ +title: Format data using value mapping +weight: 600 +--- # Format data using value mapping diff --git a/docs/sources/panels/format-data/about-value-mapping.md b/docs/sources/panels/format-data/about-value-mapping.md index c25589540e9..b249364e506 100644 --- a/docs/sources/panels/format-data/about-value-mapping.md +++ b/docs/sources/panels/format-data/about-value-mapping.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/about-value-mapping/", "/docs/sources/panels/format-data/about-value-mapping/"] -title = "About value mapping" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/about-value-mapping/ + - /docs/sources/panels/format-data/about-value-mapping/ +title: About value mapping +weight: 10 +--- # About value mapping diff --git a/docs/sources/panels/format-data/edit-value-mapping.md b/docs/sources/panels/format-data/edit-value-mapping.md index 81933c78a9e..e3826a3c288 100644 --- a/docs/sources/panels/format-data/edit-value-mapping.md +++ b/docs/sources/panels/format-data/edit-value-mapping.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/edit-value-mapping/", "/docs/sources/panels/format-data/edit-value-mapping/"] -title = "Edit a value mapping" -weight = 60 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/edit-value-mapping/ + - /docs/sources/panels/format-data/edit-value-mapping/ +title: Edit a value mapping +weight: 60 +--- # Edit a value mapping diff --git a/docs/sources/panels/format-data/map-a-range.md b/docs/sources/panels/format-data/map-a-range.md index 9db57b69cdd..f660183e40f 100644 --- a/docs/sources/panels/format-data/map-a-range.md +++ b/docs/sources/panels/format-data/map-a-range.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/map-a-range/", "/docs/sources/panels/format-data/map-a-range/"] -title = "Map a range" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/map-a-range/ + - /docs/sources/panels/format-data/map-a-range/ +title: Map a range +weight: 30 +--- # Map a range diff --git a/docs/sources/panels/format-data/map-a-regular-expression.md b/docs/sources/panels/format-data/map-a-regular-expression.md index 99da7e9490d..0d3d6426dd8 100644 --- a/docs/sources/panels/format-data/map-a-regular-expression.md +++ b/docs/sources/panels/format-data/map-a-regular-expression.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/map-a-regular-expression/", "/docs/sources/panels/format-data/map-a-regular-expression/"] -title = "Map a regular expression" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/map-a-regular-expression/ + - /docs/sources/panels/format-data/map-a-regular-expression/ +title: Map a regular expression +weight: 40 +--- # Map a regular expression diff --git a/docs/sources/panels/format-data/map-a-special-value.md b/docs/sources/panels/format-data/map-a-special-value.md index 9983eb72310..183c91b851f 100644 --- a/docs/sources/panels/format-data/map-a-special-value.md +++ b/docs/sources/panels/format-data/map-a-special-value.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/map-a-special-value/", "/docs/sources/panels/format-data/map-a-special-value/"] -title = "Map a special value" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/map-a-special-value/ + - /docs/sources/panels/format-data/map-a-special-value/ +title: Map a special value +weight: 50 +--- # Map a special value diff --git a/docs/sources/panels/format-data/map-a-value.md b/docs/sources/panels/format-data/map-a-value.md index 83c36651c72..8a74b6cc2bd 100644 --- a/docs/sources/panels/format-data/map-a-value.md +++ b/docs/sources/panels/format-data/map-a-value.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/format-data/map-a-value/", "/docs/sources/panels/format-data/map-a-value/"] -title = "Map a value" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/format-data/map-a-value/ + - /docs/sources/panels/format-data/map-a-value/ +title: Map a value +weight: 20 +--- # Map a value diff --git a/docs/sources/panels/library-panels/_index.md b/docs/sources/panels/library-panels/_index.md index aebc09f8a32..7e35d457ecf 100644 --- a/docs/sources/panels/library-panels/_index.md +++ b/docs/sources/panels/library-panels/_index.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/", "/docs/grafana/latest/panels/panel-library/", "/docs/sources/panels/library-panels/"] -title = "Create reusable Grafana panels" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/ + - /docs/grafana/latest/panels/panel-library/ + - /docs/sources/panels/library-panels/ +title: Create reusable Grafana panels +weight: 700 +--- # Create reusable Grafana panels diff --git a/docs/sources/panels/library-panels/about-library-panels.md b/docs/sources/panels/library-panels/about-library-panels.md index 1a8f7a2b1dd..5a1bd2c905a 100644 --- a/docs/sources/panels/library-panels/about-library-panels.md +++ b/docs/sources/panels/library-panels/about-library-panels.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/about-library-panels/", "/docs/sources/panels/library-panels/about-library-panels/"] -title = "About Grafana library panels" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/about-library-panels/ + - /docs/sources/panels/library-panels/about-library-panels/ +title: About Grafana library panels +weight: 10 +--- # About Grafana panel libraries diff --git a/docs/sources/panels/library-panels/add-library-panel.md b/docs/sources/panels/library-panels/add-library-panel.md index 010d2545050..041a11dbc38 100644 --- a/docs/sources/panels/library-panels/add-library-panel.md +++ b/docs/sources/panels/library-panels/add-library-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/add-library-panel/", "/docs/sources/panels/library-panels/add-library-panel/"] -title = "Add a Grafana library panel to a dashboard" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/add-library-panel/ + - /docs/sources/panels/library-panels/add-library-panel/ +title: Add a Grafana library panel to a dashboard +weight: 30 +--- # Add a Grafana library panel to a dashboard diff --git a/docs/sources/panels/library-panels/create-library-panel.md b/docs/sources/panels/library-panels/create-library-panel.md index 92e4cc3c588..9f856d52a9c 100644 --- a/docs/sources/panels/library-panels/create-library-panel.md +++ b/docs/sources/panels/library-panels/create-library-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/create-library-panel/", "/docs/sources/panels/library-panels/create-library-panel/"] -title = "Create a Grafana library panel" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/create-library-panel/ + - /docs/sources/panels/library-panels/create-library-panel/ +title: Create a Grafana library panel +weight: 20 +--- # Create a Grafana library panel diff --git a/docs/sources/panels/library-panels/delete-library-panel.md b/docs/sources/panels/library-panels/delete-library-panel.md index e8213f53a0f..2d799887449 100644 --- a/docs/sources/panels/library-panels/delete-library-panel.md +++ b/docs/sources/panels/library-panels/delete-library-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/delete-library-panel/", "/docs/sources/panels/library-panels/delete-library-panel/"] -title = "Delete a Grafana library panel" -weight = 60 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/delete-library-panel/ + - /docs/sources/panels/library-panels/delete-library-panel/ +title: Delete a Grafana library panel +weight: 60 +--- # Delete a Grafana library panel diff --git a/docs/sources/panels/library-panels/manage-library-panel.md b/docs/sources/panels/library-panels/manage-library-panel.md index 6222639f040..08d63f5aee8 100644 --- a/docs/sources/panels/library-panels/manage-library-panel.md +++ b/docs/sources/panels/library-panels/manage-library-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/manage-library-panel/", "/docs/sources/panels/library-panels/manage-library-panel/"] -title = "Manage Grafana library panels" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/manage-library-panel/ + - /docs/sources/panels/library-panels/manage-library-panel/ +title: Manage Grafana library panels +weight: 40 +--- # Manage Grafana library panels diff --git a/docs/sources/panels/library-panels/unlink-library-panel.md b/docs/sources/panels/library-panels/unlink-library-panel.md index abd7c44c362..06173090d11 100644 --- a/docs/sources/panels/library-panels/unlink-library-panel.md +++ b/docs/sources/panels/library-panels/unlink-library-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/library-panels/unlink-library-panel/", "/docs/sources/panels/library-panels/unlink-library-panel/"] -title = "Unlink a Grafana library panel" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/panels/library-panels/unlink-library-panel/ + - /docs/sources/panels/library-panels/unlink-library-panel/ +title: Unlink a Grafana library panel +weight: 50 +--- # Unlink a Grafana library panel diff --git a/docs/sources/panels/override-field-values/_index.md b/docs/sources/panels/override-field-values/_index.md index 0fd419a7ec6..c4bde5b26a3 100644 --- a/docs/sources/panels/override-field-values/_index.md +++ b/docs/sources/panels/override-field-values/_index.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/panels/field-overrides/", "/docs/grafana/latest/panels/override-field-values/", "/docs/sources/panels/override-field-values/"] -title = "Override field values" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/panels/field-overrides/ + - /docs/grafana/latest/panels/override-field-values/ + - /docs/sources/panels/override-field-values/ +title: Override field values +weight: 400 +--- # Override field values diff --git a/docs/sources/panels/override-field-values/about-field-overrides.md b/docs/sources/panels/override-field-values/about-field-overrides.md index 29fe9da15e1..ba345dd9e9c 100644 --- a/docs/sources/panels/override-field-values/about-field-overrides.md +++ b/docs/sources/panels/override-field-values/about-field-overrides.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/override-field-values/about-field-overrides/", "/docs/sources/panels/override-field-values/about-field-overrides/"] -title = "About field overrides" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/override-field-values/about-field-overrides/ + - /docs/sources/panels/override-field-values/about-field-overrides/ +title: About field overrides +weight: 10 +--- # About field overrides diff --git a/docs/sources/panels/override-field-values/add-a-field-override.md b/docs/sources/panels/override-field-values/add-a-field-override.md index 64857fd825f..a1cc7167a70 100644 --- a/docs/sources/panels/override-field-values/add-a-field-override.md +++ b/docs/sources/panels/override-field-values/add-a-field-override.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/override-field-values/add-a-field-override/", "/docs/sources/panels/override-field-values/add-a-field-override/"] -title = "Add a field override" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/override-field-values/add-a-field-override/ + - /docs/sources/panels/override-field-values/add-a-field-override/ +title: Add a field override +weight: 30 +--- # Add a field override diff --git a/docs/sources/panels/override-field-values/delete-a-field-override.md b/docs/sources/panels/override-field-values/delete-a-field-override.md index 1e35aea0f31..c214374213a 100644 --- a/docs/sources/panels/override-field-values/delete-a-field-override.md +++ b/docs/sources/panels/override-field-values/delete-a-field-override.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/override-field-values/delete-a-field-override/", "/docs/sources/panels/override-field-values/delete-a-field-override/"] -title = "Delete a field override" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/panels/override-field-values/delete-a-field-override/ + - /docs/sources/panels/override-field-values/delete-a-field-override/ +title: Delete a field override +weight: 50 +--- # Delete a field override diff --git a/docs/sources/panels/override-field-values/edit-field-override.md b/docs/sources/panels/override-field-values/edit-field-override.md index bcb380403fe..cecfd3a583f 100644 --- a/docs/sources/panels/override-field-values/edit-field-override.md +++ b/docs/sources/panels/override-field-values/edit-field-override.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/override-field-values/edit-field-override/", "/docs/sources/panels/override-field-values/edit-field-override/"] -title = "Edit a field overrides" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/panels/override-field-values/edit-field-override/ + - /docs/sources/panels/override-field-values/edit-field-override/ +title: Edit a field overrides +weight: 40 +--- # Edit a field override diff --git a/docs/sources/panels/override-field-values/view-field-override.md b/docs/sources/panels/override-field-values/view-field-override.md index 70f9ef2a650..d7ecfae17c8 100644 --- a/docs/sources/panels/override-field-values/view-field-override.md +++ b/docs/sources/panels/override-field-values/view-field-override.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/override-field-values/view-field-override/", "/docs/sources/panels/override-field-values/view-field-override/"] -title = "View field overrides" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/override-field-values/view-field-override/ + - /docs/sources/panels/override-field-values/view-field-override/ +title: View field overrides +weight: 20 +--- # View field overrides diff --git a/docs/sources/panels/query-a-data-source/_index.md b/docs/sources/panels/query-a-data-source/_index.md index 2fd11529214..40f2b205b7c 100644 --- a/docs/sources/panels/query-a-data-source/_index.md +++ b/docs/sources/panels/query-a-data-source/_index.md @@ -1,8 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/panels/expressions/", "/docs/grafana/latest/panels/inspect-panel/", "/docs/grafana/latest/panels/queries/", "/docs/grafana/latest/panels/query-a-data-source/", "/docs/grafana/latest/panels/share-query-results/", "/docs/sources/panels/query-a-data-source/_index/"] -title = "Query a data source" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/panels/expressions/ + - /docs/grafana/latest/panels/inspect-panel/ + - /docs/grafana/latest/panels/queries/ + - /docs/grafana/latest/panels/query-a-data-source/ + - /docs/grafana/latest/panels/share-query-results/ + - /docs/sources/panels/query-a-data-source/_index/ +title: Query a data source +weight: 200 +--- # Query a data source diff --git a/docs/sources/panels/query-a-data-source/about-queries.md b/docs/sources/panels/query-a-data-source/about-queries.md index f3dd392bb6f..f59246cbf65 100644 --- a/docs/sources/panels/query-a-data-source/about-queries.md +++ b/docs/sources/panels/query-a-data-source/about-queries.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/about-queries/", "/docs/sources/panels/query-a-data-source/about-queries/"] -title = "About queries" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/about-queries/ + - /docs/sources/panels/query-a-data-source/about-queries/ +title: About queries +weight: 10 +--- # About queries diff --git a/docs/sources/panels/query-a-data-source/add-a-query.md b/docs/sources/panels/query-a-data-source/add-a-query.md index e00229cb851..93cc3978279 100644 --- a/docs/sources/panels/query-a-data-source/add-a-query.md +++ b/docs/sources/panels/query-a-data-source/add-a-query.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/add-a-query/", "/docs/sources/panels/query-a-data-source/add-a-query/"] -title = "Add a query" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/add-a-query/ + - /docs/sources/panels/query-a-data-source/add-a-query/ +title: Add a query +weight: 30 +--- # Add a query diff --git a/docs/sources/panels/query-a-data-source/download-raw-query-results.md b/docs/sources/panels/query-a-data-source/download-raw-query-results.md index fd43e9ccd18..85d1f5cdad5 100644 --- a/docs/sources/panels/query-a-data-source/download-raw-query-results.md +++ b/docs/sources/panels/query-a-data-source/download-raw-query-results.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/download-raw-query-results/", "/docs/sources/panels/query-a-data-source/download-raw-query-results/"] -title = "Download raw query results" -weight = 70 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/download-raw-query-results/ + - /docs/sources/panels/query-a-data-source/download-raw-query-results/ +title: Download raw query results +weight: 70 +--- # Download raw query results diff --git a/docs/sources/panels/query-a-data-source/inspect-query-performance.md b/docs/sources/panels/query-a-data-source/inspect-query-performance.md index 01d44021484..bfece2faf3d 100644 --- a/docs/sources/panels/query-a-data-source/inspect-query-performance.md +++ b/docs/sources/panels/query-a-data-source/inspect-query-performance.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/inspect-query-performance/", "/docs/sources/panels/query-a-data-source/inspect-query-performance/"] -title = "Inspect query performance" -weight = 80 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/inspect-query-performance/ + - /docs/sources/panels/query-a-data-source/inspect-query-performance/ +title: Inspect query performance +weight: 80 +--- # Inspect query performance diff --git a/docs/sources/panels/query-a-data-source/inspect-request-and-response-data.md b/docs/sources/panels/query-a-data-source/inspect-request-and-response-data.md index 452a5ea8b99..e542369b186 100644 --- a/docs/sources/panels/query-a-data-source/inspect-request-and-response-data.md +++ b/docs/sources/panels/query-a-data-source/inspect-request-and-response-data.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/inspect-request-and-response-data/", "/docs/sources/panels/query-a-data-source/inspect-request-and-response-data/"] -title = "Inspect query request and response data" -weight = 90 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/inspect-request-and-response-data/ + - /docs/sources/panels/query-a-data-source/inspect-request-and-response-data/ +title: Inspect query request and response data +weight: 90 +--- # Inspect query request and response data diff --git a/docs/sources/panels/query-a-data-source/manage-queries.md b/docs/sources/panels/query-a-data-source/manage-queries.md index 27236ac3729..b87c75bfcde 100644 --- a/docs/sources/panels/query-a-data-source/manage-queries.md +++ b/docs/sources/panels/query-a-data-source/manage-queries.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/manage-queries/", "/docs/sources/panels/query-a-data-source/manage-queries/"] -title = "Manage queries" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/manage-queries/ + - /docs/sources/panels/query-a-data-source/manage-queries/ +title: Manage queries +weight: 50 +--- # Manage queries diff --git a/docs/sources/panels/query-a-data-source/navigate-query-tab.md b/docs/sources/panels/query-a-data-source/navigate-query-tab.md index c78303e84fc..d10c1982ace 100644 --- a/docs/sources/panels/query-a-data-source/navigate-query-tab.md +++ b/docs/sources/panels/query-a-data-source/navigate-query-tab.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/navigate-query-tab/", "/docs/sources/panels/query-a-data-source/navigate-query-tab/"] -title = "Navigate the query tab" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/navigate-query-tab/ + - /docs/sources/panels/query-a-data-source/navigate-query-tab/ +title: Navigate the query tab +weight: 20 +--- # Navigate the query tab diff --git a/docs/sources/panels/query-a-data-source/share-query.md b/docs/sources/panels/query-a-data-source/share-query.md index a28fbbda4b0..1aee1fae4fd 100644 --- a/docs/sources/panels/query-a-data-source/share-query.md +++ b/docs/sources/panels/query-a-data-source/share-query.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/share-query/", "/docs/sources/panels/query-a-data-source/share-query/"] -title = "Share query results with another panel" -weight = 60 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/share-query/ + - /docs/sources/panels/query-a-data-source/share-query/ +title: Share query results with another panel +weight: 60 +--- # Share query results with another panel diff --git a/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md b/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md index 8e93cd06bfa..f8518964015 100644 --- a/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md +++ b/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/use-expressions-to-manipulate-data/", "/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/"] -title = "Use expressions to manipulate data" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/use-expressions-to-manipulate-data/ + - /docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/ +title: Use expressions to manipulate data +weight: 40 +--- # Use expressions to manipulate data diff --git a/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md b/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md index d3e70d08a26..d7a3e5e8d6a 100644 --- a/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md +++ b/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions/", "/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions/"] -title = "About expressions" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions/ + - /docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions/ +title: About expressions +weight: 10 +--- # About expressions diff --git a/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression.md b/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression.md index 784f77d71cd..8cd0bfbbd8c 100644 --- a/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression.md +++ b/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression/", "/docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression/"] -title = "Write an expression" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression/ + - /docs/sources/panels/query-a-data-source/use-expressions-to-manipulate-data/write-an-expression/ +title: Write an expression +weight: 20 +--- # Write an expression diff --git a/docs/sources/panels/query-options.md b/docs/sources/panels/query-options.md index 8ed869be197..66a22a92465 100644 --- a/docs/sources/panels/query-options.md +++ b/docs/sources/panels/query-options.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/panels/query-options/", "/docs/grafana/latest/panels/reference-query-options/", "/docs/sources/panels/reference-query-options/"] -title = "Query options" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/panels/query-options/ + - /docs/grafana/latest/panels/reference-query-options/ + - /docs/sources/panels/reference-query-options/ +title: Query options +weight: 900 +--- # Reference: Query options diff --git a/docs/sources/panels/standard-field-definitions.md b/docs/sources/panels/standard-field-definitions.md index 312005443f5..34fdd253a7a 100644 --- a/docs/sources/panels/standard-field-definitions.md +++ b/docs/sources/panels/standard-field-definitions.md @@ -1,8 +1,11 @@ -+++ -aliases = ["/docs/grafana/latest/panels/reference-standard-field-definitions/", "/docs/grafana/latest/panels/standard-field-definitions/", "/docs/sources/panels/reference-standard-field-definitions/"] -title = "Standard field definitions" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/panels/reference-standard-field-definitions/ + - /docs/grafana/latest/panels/standard-field-definitions/ + - /docs/sources/panels/reference-standard-field-definitions/ +title: Standard field definitions +weight: 1200 +--- # Reference: Standard field definitions diff --git a/docs/sources/panels/transform-data/_index.md b/docs/sources/panels/transform-data/_index.md index 46b1b7d8956..fdd7afdd77f 100644 --- a/docs/sources/panels/transform-data/_index.md +++ b/docs/sources/panels/transform-data/_index.md @@ -1,8 +1,14 @@ -+++ -aliases = ["/docs/grafana/latest/panels/transform-data/", "/docs/grafana/latest/panels/transformations/", "/docs/grafana/latest/panels/transformations/apply-transformations/", "/docs/grafana/latest/panels/transformations/config-from-query/", "/docs/grafana/latest/panels/transformations/rows-to-fields/", "/docs/sources/panels/transform-data/"] -title = "Transform data" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/panels/transform-data/ + - /docs/grafana/latest/panels/transformations/ + - /docs/grafana/latest/panels/transformations/apply-transformations/ + - /docs/grafana/latest/panels/transformations/config-from-query/ + - /docs/grafana/latest/panels/transformations/rows-to-fields/ + - /docs/sources/panels/transform-data/ +title: Transform data +weight: 500 +--- # Transform data diff --git a/docs/sources/panels/transform-data/about-transformation.md b/docs/sources/panels/transform-data/about-transformation.md index ca814f06663..291d841e345 100644 --- a/docs/sources/panels/transform-data/about-transformation.md +++ b/docs/sources/panels/transform-data/about-transformation.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/transform-data/about-transformation/", "/docs/sources/panels/transform-data/about-transformation/"] -title = "About transformations" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/transform-data/about-transformation/ + - /docs/sources/panels/transform-data/about-transformation/ +title: About transformations +weight: 10 +--- # About transformations diff --git a/docs/sources/panels/transform-data/add-transformation-to-data.md b/docs/sources/panels/transform-data/add-transformation-to-data.md index f5af584c5eb..a5a1c04979c 100644 --- a/docs/sources/panels/transform-data/add-transformation-to-data.md +++ b/docs/sources/panels/transform-data/add-transformation-to-data.md @@ -1,8 +1,12 @@ -+++ -aliases = ["/docs/grafana/latest/panels/transform-data/add-transformation-to-data/", "/docs/grafana/latest/panels/transform-data/apply-transformation-to-data/", "/docs/sources/panels/transform-data/add-transformation-to-data/", "/docs/sources/panels/transform-data/apply-transformation-to-data/"] -title = "Add a transformation to data" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/transform-data/add-transformation-to-data/ + - /docs/grafana/latest/panels/transform-data/apply-transformation-to-data/ + - /docs/sources/panels/transform-data/add-transformation-to-data/ + - /docs/sources/panels/transform-data/apply-transformation-to-data/ +title: Add a transformation to data +weight: 20 +--- # Add a transformation function to data diff --git a/docs/sources/panels/transform-data/debug-transformation.md b/docs/sources/panels/transform-data/debug-transformation.md index 3e0de08ac11..c809580bb46 100644 --- a/docs/sources/panels/transform-data/debug-transformation.md +++ b/docs/sources/panels/transform-data/debug-transformation.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/transform-data/debug-transformation/", "/docs/sources/panels/transform-data/debug-transformation/"] -title = "Debug a transformation" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/transform-data/debug-transformation/ + - /docs/sources/panels/transform-data/debug-transformation/ +title: Debug a transformation +weight: 30 +--- # Debug a transformation diff --git a/docs/sources/panels/transform-data/delete-transformation.md b/docs/sources/panels/transform-data/delete-transformation.md index 4543afbeb16..e0819287e0c 100644 --- a/docs/sources/panels/transform-data/delete-transformation.md +++ b/docs/sources/panels/transform-data/delete-transformation.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/transform-data/delete-transformation/", "/docs/sources/panels/transform-data/delete-transformation/"] -title = "Delete a transformation" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/panels/transform-data/delete-transformation/ + - /docs/sources/panels/transform-data/delete-transformation/ +title: Delete a transformation +weight: 40 +--- # Delete a transformation diff --git a/docs/sources/panels/transform-data/transformation-functions.md b/docs/sources/panels/transform-data/transformation-functions.md index d11a16a741e..310edb1fc5f 100644 --- a/docs/sources/panels/transform-data/transformation-functions.md +++ b/docs/sources/panels/transform-data/transformation-functions.md @@ -1,8 +1,12 @@ -+++ -aliases = ["/docs/grafana/latest/panels/reference-transformation-functions/", "/docs/grafana/latest/panels/transform-data/transformation-functions/", "/docs/grafana/latest/panels/transformations/types-options/", "/docs/sources/panels/reference-transformation-functions/"] -title = "Transformation functions" -weight = 1000 -+++ +--- +aliases: + - /docs/grafana/latest/panels/reference-transformation-functions/ + - /docs/grafana/latest/panels/transform-data/transformation-functions/ + - /docs/grafana/latest/panels/transformations/types-options/ + - /docs/sources/panels/reference-transformation-functions/ +title: Transformation functions +weight: 1000 +--- # Reference: Transformation functions diff --git a/docs/sources/panels/working-with-panels/_index.md b/docs/sources/panels/working-with-panels/_index.md index 995003c52d4..858d0521d42 100644 --- a/docs/sources/panels/working-with-panels/_index.md +++ b/docs/sources/panels/working-with-panels/_index.md @@ -1,8 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/panels/add-a-panel/", "/docs/grafana/latest/panels/legend-options/", "/docs/grafana/latest/panels/panel-editor/", "/docs/grafana/latest/panels/panel-options/", "/docs/grafana/latest/panels/standard-options/", "/docs/grafana/latest/panels/working-with-panels/", "/docs/sources/panels/working-with-panels/"] -title = "Working with Grafana panels" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/panels/add-a-panel/ + - /docs/grafana/latest/panels/legend-options/ + - /docs/grafana/latest/panels/panel-editor/ + - /docs/grafana/latest/panels/panel-options/ + - /docs/grafana/latest/panels/standard-options/ + - /docs/grafana/latest/panels/working-with-panels/ + - /docs/sources/panels/working-with-panels/ +title: Working with Grafana panels +weight: 100 +--- # Working with Grafana panels diff --git a/docs/sources/panels/working-with-panels/add-link-to-panel.md b/docs/sources/panels/working-with-panels/add-link-to-panel.md index 04d9b24fd52..66da1ea5e4c 100644 --- a/docs/sources/panels/working-with-panels/add-link-to-panel.md +++ b/docs/sources/panels/working-with-panels/add-link-to-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/add-link-to-panel/", "/docs/sources/panels/working-with-panels/add-link-to-panel/"] -title = "Add a link to a panel" -weight = 60 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/add-link-to-panel/ + - /docs/sources/panels/working-with-panels/add-link-to-panel/ +title: Add a link to a panel +weight: 60 +--- # Add a link to a panel diff --git a/docs/sources/panels/working-with-panels/add-panel.md b/docs/sources/panels/working-with-panels/add-panel.md index 0629dee8fa7..05d80a5c0e0 100644 --- a/docs/sources/panels/working-with-panels/add-panel.md +++ b/docs/sources/panels/working-with-panels/add-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/add-panel/", "/docs/sources/panels/working-with-panels/add-panel/"] -title = "Add a panel to a dashboard" -weight = 20 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/add-panel/ + - /docs/sources/panels/working-with-panels/add-panel/ +title: Add a panel to a dashboard +weight: 20 +--- # Add a panel to a dashboard diff --git a/docs/sources/panels/working-with-panels/add-title-and-description.md b/docs/sources/panels/working-with-panels/add-title-and-description.md index 39be901b3ab..324e9fd6db4 100644 --- a/docs/sources/panels/working-with-panels/add-title-and-description.md +++ b/docs/sources/panels/working-with-panels/add-title-and-description.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/add-title-and-description/", "/docs/sources/panels/working-with-panels/add-title-and-description/"] -title = "Add a title and description to a panel" -weight = 30 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/add-title-and-description/ + - /docs/sources/panels/working-with-panels/add-title-and-description/ +title: Add a title and description to a panel +weight: 30 +--- # Add a title and description to a panel diff --git a/docs/sources/panels/working-with-panels/apply-color-to-series.md b/docs/sources/panels/working-with-panels/apply-color-to-series.md index 4e3902b48bc..ea29194c87e 100644 --- a/docs/sources/panels/working-with-panels/apply-color-to-series.md +++ b/docs/sources/panels/working-with-panels/apply-color-to-series.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/apply-color-to-series/", "/docs/sources/panels/working-with-panels/apply-color-to-series/"] -title = "Apply color to series and fields" -weight = 50 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/apply-color-to-series/ + - /docs/sources/panels/working-with-panels/apply-color-to-series/ +title: Apply color to series and fields +weight: 50 +--- # Apply color to series and fields diff --git a/docs/sources/panels/working-with-panels/configure-legend.md b/docs/sources/panels/working-with-panels/configure-legend.md index 89f119803dc..49e5e7bbd07 100644 --- a/docs/sources/panels/working-with-panels/configure-legend.md +++ b/docs/sources/panels/working-with-panels/configure-legend.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/configure-legend/", "/docs/sources/panels/working-with-panels/configure-legend/"] -title = "Configure a legend" -weight = 70 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/configure-legend/ + - /docs/sources/panels/working-with-panels/configure-legend/ +title: Configure a legend +weight: 70 +--- # Configure a legend diff --git a/docs/sources/panels/working-with-panels/download-query-results.md b/docs/sources/panels/working-with-panels/download-query-results.md index 524a6f3bf84..812d2a181ce 100644 --- a/docs/sources/panels/working-with-panels/download-query-results.md +++ b/docs/sources/panels/working-with-panels/download-query-results.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/download-query-results/", "/docs/sources/panels/working-with-panels/download-query-results/"] -title = "Download query results" -weight = 110 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/download-query-results/ + - /docs/sources/panels/working-with-panels/download-query-results/ +title: Download query results +weight: 110 +--- # Download query results diff --git a/docs/sources/panels/working-with-panels/format-standard-fields.md b/docs/sources/panels/working-with-panels/format-standard-fields.md index 48971fa92a6..0c6c34c1066 100644 --- a/docs/sources/panels/working-with-panels/format-standard-fields.md +++ b/docs/sources/panels/working-with-panels/format-standard-fields.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/format-standard-fields/", "/docs/sources/panels/working-with-panels/format-standard-fields/"] -title = "Format a standard field" -weight = 40 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/format-standard-fields/ + - /docs/sources/panels/working-with-panels/format-standard-fields/ +title: Format a standard field +weight: 40 +--- # Format a standard field diff --git a/docs/sources/panels/working-with-panels/navigate-inspector-panel.md b/docs/sources/panels/working-with-panels/navigate-inspector-panel.md index 21f50e74fe1..f61c499c1a3 100644 --- a/docs/sources/panels/working-with-panels/navigate-inspector-panel.md +++ b/docs/sources/panels/working-with-panels/navigate-inspector-panel.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/navigate-inspector-panel/", "/docs/sources/panels/working-with-panels/navigate-inspector-panel/"] -title = "Navigate the Grafana Inspector panel" -weight = 90 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/navigate-inspector-panel/ + - /docs/sources/panels/working-with-panels/navigate-inspector-panel/ +title: Navigate the Grafana Inspector panel +weight: 90 +--- # Navigate the Grafana Inspector panel diff --git a/docs/sources/panels/working-with-panels/navigate-panel-editor.md b/docs/sources/panels/working-with-panels/navigate-panel-editor.md index aff5b4f3774..ba89626877e 100644 --- a/docs/sources/panels/working-with-panels/navigate-panel-editor.md +++ b/docs/sources/panels/working-with-panels/navigate-panel-editor.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/navigate-panel-editor/", "/docs/sources/panels/working-with-panels/navigate-panel-editor/"] -title = "Navigate the Grafana panel editor" -weight = 10 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/navigate-panel-editor/ + - /docs/sources/panels/working-with-panels/navigate-panel-editor/ +title: Navigate the Grafana panel editor +weight: 10 +--- # Navigate the Grafana panel editor diff --git a/docs/sources/panels/working-with-panels/organize-dashboard.md b/docs/sources/panels/working-with-panels/organize-dashboard.md index 02465b252f5..8c615242727 100644 --- a/docs/sources/panels/working-with-panels/organize-dashboard.md +++ b/docs/sources/panels/working-with-panels/organize-dashboard.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/organize-dashboard/", "/docs/sources/panels/working-with-panels/organize-dashboard/"] -title = "Organize a dashboard" -weight = 80 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/organize-dashboard/ + - /docs/sources/panels/working-with-panels/organize-dashboard/ +title: Organize a dashboard +weight: 80 +--- # Organize a dashboard diff --git a/docs/sources/panels/working-with-panels/view-json-model.md b/docs/sources/panels/working-with-panels/view-json-model.md index 8e7afff81a0..a576cff4895 100644 --- a/docs/sources/panels/working-with-panels/view-json-model.md +++ b/docs/sources/panels/working-with-panels/view-json-model.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/working-with-panels/view-json-model/", "/docs/sources/panels/working-with-panels/view-json-model/"] -title = "View a panel JSON model" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/panels/working-with-panels/view-json-model/ + - /docs/sources/panels/working-with-panels/view-json-model/ +title: View a panel JSON model +weight: 100 +--- # View a panel JSON model diff --git a/docs/sources/plugins/_index.md b/docs/sources/plugins/_index.md index 15f607fdcfb..0566d20224a 100644 --- a/docs/sources/plugins/_index.md +++ b/docs/sources/plugins/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/plugins/"] -title = "Plugins" -weight = 160 -+++ +--- +aliases: + - /docs/grafana/latest/plugins/ +title: Plugins +weight: 160 +--- # Plugins diff --git a/docs/sources/plugins/catalog.md b/docs/sources/plugins/catalog.md index 231e5eb226a..5df069f0dd0 100644 --- a/docs/sources/plugins/catalog.md +++ b/docs/sources/plugins/catalog.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/plugins/catalog/"] -title = "Plugin catalog" -weight = 1 -+++ +--- +aliases: + - /docs/grafana/latest/plugins/catalog/ +title: Plugin catalog +weight: 1 +--- # Plugin catalog diff --git a/docs/sources/plugins/installation.md b/docs/sources/plugins/installation.md index 56342b803df..206e35b2b98 100644 --- a/docs/sources/plugins/installation.md +++ b/docs/sources/plugins/installation.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/plugins/installation/"] -title = "Install plugins" -weight = 1 -+++ +--- +aliases: + - /docs/grafana/latest/plugins/installation/ +title: Install plugins +weight: 1 +--- # Install Grafana plugins diff --git a/docs/sources/plugins/plugin-signatures.md b/docs/sources/plugins/plugin-signatures.md index caa406e8e40..d473d1a3da9 100644 --- a/docs/sources/plugins/plugin-signatures.md +++ b/docs/sources/plugins/plugin-signatures.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/plugins/plugin-signature-verification/", "/docs/grafana/latest/plugins/plugin-signatures/"] -title = "Plugin signatures" -type = "docs" -+++ +--- +aliases: + - /docs/grafana/latest/plugins/plugin-signature-verification/ + - /docs/grafana/latest/plugins/plugin-signatures/ +title: Plugin signatures +type: docs +--- # Plugin signatures diff --git a/docs/sources/release-notes/_index.md b/docs/sources/release-notes/_index.md index b773f705a1c..efc34bb3fd5 100644 --- a/docs/sources/release-notes/_index.md +++ b/docs/sources/release-notes/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/"] -title = "Release notes" -weight = 10000 -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/ +title: Release notes +weight: 10000 +--- # Release notes diff --git a/docs/sources/release-notes/release-notes-7-3-0.md b/docs/sources/release-notes/release-notes-7-3-0.md index 28196a06dfe..fbd41fe243c 100644 --- a/docs/sources/release-notes/release-notes-7-3-0.md +++ b/docs/sources/release-notes/release-notes-7-3-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-0/"] -title = "Release notes for Grafana 7.3.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-0/ +title: Release notes for Grafana 7.3.0 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-1.md b/docs/sources/release-notes/release-notes-7-3-1.md index c508591d700..34f059fd314 100644 --- a/docs/sources/release-notes/release-notes-7-3-1.md +++ b/docs/sources/release-notes/release-notes-7-3-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-1/"] -title = "Release notes for Grafana 7.3.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-1/ +title: Release notes for Grafana 7.3.1 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-10.md b/docs/sources/release-notes/release-notes-7-3-10.md index 63cb399d80a..2911b5c0711 100644 --- a/docs/sources/release-notes/release-notes-7-3-10.md +++ b/docs/sources/release-notes/release-notes-7-3-10.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-10/"] -title = "Release notes for Grafana 7.3.10" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-10/ +title: Release notes for Grafana 7.3.10 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-2.md b/docs/sources/release-notes/release-notes-7-3-2.md index 5c21b426a92..deac211b8b7 100644 --- a/docs/sources/release-notes/release-notes-7-3-2.md +++ b/docs/sources/release-notes/release-notes-7-3-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-2/"] -title = "Release notes for Grafana 7.3.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-2/ +title: Release notes for Grafana 7.3.2 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-3.md b/docs/sources/release-notes/release-notes-7-3-3.md index ef90dbfbdbf..319c5cce5d9 100644 --- a/docs/sources/release-notes/release-notes-7-3-3.md +++ b/docs/sources/release-notes/release-notes-7-3-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-3/"] -title = "Release notes for Grafana 7.3.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-3/ +title: Release notes for Grafana 7.3.3 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-4.md b/docs/sources/release-notes/release-notes-7-3-4.md index 7fc37b347e2..9201b92898a 100644 --- a/docs/sources/release-notes/release-notes-7-3-4.md +++ b/docs/sources/release-notes/release-notes-7-3-4.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-4/"] -title = "Release notes for Grafana 7.3.4" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-4/ +title: Release notes for Grafana 7.3.4 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-5.md b/docs/sources/release-notes/release-notes-7-3-5.md index 2d58b758fca..916404750de 100644 --- a/docs/sources/release-notes/release-notes-7-3-5.md +++ b/docs/sources/release-notes/release-notes-7-3-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-5/"] -title = "Release notes for Grafana 7.3.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-5/ +title: Release notes for Grafana 7.3.5 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-6.md b/docs/sources/release-notes/release-notes-7-3-6.md index 642676f4e44..eb89c772902 100644 --- a/docs/sources/release-notes/release-notes-7-3-6.md +++ b/docs/sources/release-notes/release-notes-7-3-6.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-6/"] -title = "Release notes for Grafana 7.3.6" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-6/ +title: Release notes for Grafana 7.3.6 +--- diff --git a/docs/sources/release-notes/release-notes-7-3-7.md b/docs/sources/release-notes/release-notes-7-3-7.md index 87a20434abf..942a1b19ffd 100644 --- a/docs/sources/release-notes/release-notes-7-3-7.md +++ b/docs/sources/release-notes/release-notes-7-3-7.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-3-7/"] -title = "Release notes for Grafana 7.3.7" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-3-7/ +title: Release notes for Grafana 7.3.7 +--- diff --git a/docs/sources/release-notes/release-notes-7-4-0.md b/docs/sources/release-notes/release-notes-7-4-0.md index c8e5532026d..264294b3167 100644 --- a/docs/sources/release-notes/release-notes-7-4-0.md +++ b/docs/sources/release-notes/release-notes-7-4-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-4-0/"] -title = "Release notes for Grafana 7.4.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-4-0/ +title: Release notes for Grafana 7.4.0 +--- diff --git a/docs/sources/release-notes/release-notes-7-4-1.md b/docs/sources/release-notes/release-notes-7-4-1.md index b83575e6acd..288e2535585 100644 --- a/docs/sources/release-notes/release-notes-7-4-1.md +++ b/docs/sources/release-notes/release-notes-7-4-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-4-1/"] -title = "Release notes for Grafana 7.4.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-4-1/ +title: Release notes for Grafana 7.4.1 +--- diff --git a/docs/sources/release-notes/release-notes-7-4-2.md b/docs/sources/release-notes/release-notes-7-4-2.md index 8367f83fa1b..ea2bb8bfaea 100644 --- a/docs/sources/release-notes/release-notes-7-4-2.md +++ b/docs/sources/release-notes/release-notes-7-4-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-4-2/"] -title = "Release notes for Grafana 7.4.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-4-2/ +title: Release notes for Grafana 7.4.2 +--- diff --git a/docs/sources/release-notes/release-notes-7-4-3.md b/docs/sources/release-notes/release-notes-7-4-3.md index 4d9c5369e35..7e07bfe1b9e 100644 --- a/docs/sources/release-notes/release-notes-7-4-3.md +++ b/docs/sources/release-notes/release-notes-7-4-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-4-3/"] -title = "Release notes for Grafana 7.4.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-4-3/ +title: Release notes for Grafana 7.4.3 +--- diff --git a/docs/sources/release-notes/release-notes-7-4-5.md b/docs/sources/release-notes/release-notes-7-4-5.md index c6a22de30e8..88dacac1dcb 100644 --- a/docs/sources/release-notes/release-notes-7-4-5.md +++ b/docs/sources/release-notes/release-notes-7-4-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-4-5/"] -title = "Release notes for Grafana 7.4.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-4-5/ +title: Release notes for Grafana 7.4.5 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-0-beta1.md b/docs/sources/release-notes/release-notes-7-5-0-beta1.md index 6c1da4a0299..9d4ed27b3a6 100644 --- a/docs/sources/release-notes/release-notes-7-5-0-beta1.md +++ b/docs/sources/release-notes/release-notes-7-5-0-beta1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-0-beta1/"] -title = "Release notes for Grafana 7.5.0-beta1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-0-beta1/ +title: Release notes for Grafana 7.5.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-0-beta2.md b/docs/sources/release-notes/release-notes-7-5-0-beta2.md index 77c4d3534c4..5eb32436515 100644 --- a/docs/sources/release-notes/release-notes-7-5-0-beta2.md +++ b/docs/sources/release-notes/release-notes-7-5-0-beta2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-0-beta2/"] -title = "Release notes for Grafana 7.5.0-beta2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-0-beta2/ +title: Release notes for Grafana 7.5.0-beta2 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-0.md b/docs/sources/release-notes/release-notes-7-5-0.md index d244841dc83..1af41313179 100644 --- a/docs/sources/release-notes/release-notes-7-5-0.md +++ b/docs/sources/release-notes/release-notes-7-5-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-0/"] -title = "Release notes for Grafana 7.5.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-0/ +title: Release notes for Grafana 7.5.0 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-1.md b/docs/sources/release-notes/release-notes-7-5-1.md index fa349d37211..89c0165b90d 100644 --- a/docs/sources/release-notes/release-notes-7-5-1.md +++ b/docs/sources/release-notes/release-notes-7-5-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-1/"] -title = "Release notes for Grafana 7.5.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-1/ +title: Release notes for Grafana 7.5.1 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-10.md b/docs/sources/release-notes/release-notes-7-5-10.md index 2e53731daee..9de611faea5 100644 --- a/docs/sources/release-notes/release-notes-7-5-10.md +++ b/docs/sources/release-notes/release-notes-7-5-10.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-10/"] -title = "Release notes for Grafana 7.5.10" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-10/ +title: Release notes for Grafana 7.5.10 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-11.md b/docs/sources/release-notes/release-notes-7-5-11.md index 4169dc35682..696ed760aff 100644 --- a/docs/sources/release-notes/release-notes-7-5-11.md +++ b/docs/sources/release-notes/release-notes-7-5-11.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-11/"] -title = "Release notes for Grafana 7.5.11" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-11/ +title: Release notes for Grafana 7.5.11 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-12.md b/docs/sources/release-notes/release-notes-7-5-12.md index 058e0b30a0b..ce5909b0b69 100644 --- a/docs/sources/release-notes/release-notes-7-5-12.md +++ b/docs/sources/release-notes/release-notes-7-5-12.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-12/"] -title = "Release notes for Grafana 7.5.12" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-12/ +title: Release notes for Grafana 7.5.12 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-13.md b/docs/sources/release-notes/release-notes-7-5-13.md index 9bc0fa86774..aedaae6e2c2 100644 --- a/docs/sources/release-notes/release-notes-7-5-13.md +++ b/docs/sources/release-notes/release-notes-7-5-13.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-13/"] -title = "Release notes for Grafana 7.5.13" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-13/ +title: Release notes for Grafana 7.5.13 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-15.md b/docs/sources/release-notes/release-notes-7-5-15.md index fc939d7f72c..2ee4401990f 100644 --- a/docs/sources/release-notes/release-notes-7-5-15.md +++ b/docs/sources/release-notes/release-notes-7-5-15.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-15/"] -title = "Release notes for Grafana 7.5.15" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-15/ +title: Release notes for Grafana 7.5.15 +--- # Release notes for Grafana 7.5.15 diff --git a/docs/sources/release-notes/release-notes-7-5-2.md b/docs/sources/release-notes/release-notes-7-5-2.md index 4ca78051518..36da2f309c7 100644 --- a/docs/sources/release-notes/release-notes-7-5-2.md +++ b/docs/sources/release-notes/release-notes-7-5-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-2/"] -title = "Release notes for Grafana 7.5.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-2/ +title: Release notes for Grafana 7.5.2 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-3.md b/docs/sources/release-notes/release-notes-7-5-3.md index 7c7575ec0a4..0ebe05c8e2c 100644 --- a/docs/sources/release-notes/release-notes-7-5-3.md +++ b/docs/sources/release-notes/release-notes-7-5-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-3/"] -title = "Release notes for Grafana 7.5.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-3/ +title: Release notes for Grafana 7.5.3 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-4.md b/docs/sources/release-notes/release-notes-7-5-4.md index 62eec035800..3bfaa30a064 100644 --- a/docs/sources/release-notes/release-notes-7-5-4.md +++ b/docs/sources/release-notes/release-notes-7-5-4.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-4/"] -title = "Release notes for Grafana 7.5.4" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-4/ +title: Release notes for Grafana 7.5.4 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-5.md b/docs/sources/release-notes/release-notes-7-5-5.md index 0419bc4d385..3d11d2d0550 100644 --- a/docs/sources/release-notes/release-notes-7-5-5.md +++ b/docs/sources/release-notes/release-notes-7-5-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-5/"] -title = "Release notes for Grafana 7.5.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-5/ +title: Release notes for Grafana 7.5.5 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-6.md b/docs/sources/release-notes/release-notes-7-5-6.md index 29359394195..d9f28076f14 100644 --- a/docs/sources/release-notes/release-notes-7-5-6.md +++ b/docs/sources/release-notes/release-notes-7-5-6.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-6/"] -title = "Release notes for Grafana 7.5.6" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-6/ +title: Release notes for Grafana 7.5.6 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-7.md b/docs/sources/release-notes/release-notes-7-5-7.md index d1f8018dd59..eb2e4b7eaea 100644 --- a/docs/sources/release-notes/release-notes-7-5-7.md +++ b/docs/sources/release-notes/release-notes-7-5-7.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-7/"] -title = "Release notes for Grafana 7.5.7" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-7/ +title: Release notes for Grafana 7.5.7 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-8.md b/docs/sources/release-notes/release-notes-7-5-8.md index aa8fab3e0d6..558cbb6f16d 100644 --- a/docs/sources/release-notes/release-notes-7-5-8.md +++ b/docs/sources/release-notes/release-notes-7-5-8.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-8/"] -title = "Release notes for Grafana 7.5.8" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-8/ +title: Release notes for Grafana 7.5.8 +--- diff --git a/docs/sources/release-notes/release-notes-7-5-9.md b/docs/sources/release-notes/release-notes-7-5-9.md index 835a6e9535c..067585d0000 100644 --- a/docs/sources/release-notes/release-notes-7-5-9.md +++ b/docs/sources/release-notes/release-notes-7-5-9.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-7-5-9/"] -title = "Release notes for Grafana 7.5.9" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-7-5-9/ +title: Release notes for Grafana 7.5.9 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-0-beta1.md b/docs/sources/release-notes/release-notes-8-0-0-beta1.md index 2e936eed885..575c58df022 100644 --- a/docs/sources/release-notes/release-notes-8-0-0-beta1.md +++ b/docs/sources/release-notes/release-notes-8-0-0-beta1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-0-beta1/"] -title = "Release notes for Grafana 8.0.0-beta1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-0-beta1/ +title: Release notes for Grafana 8.0.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-0-beta2.md b/docs/sources/release-notes/release-notes-8-0-0-beta2.md index df009b34312..3537f0207c9 100644 --- a/docs/sources/release-notes/release-notes-8-0-0-beta2.md +++ b/docs/sources/release-notes/release-notes-8-0-0-beta2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-0-beta2/"] -title = "Release notes for Grafana 8.0.0-beta2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-0-beta2/ +title: Release notes for Grafana 8.0.0-beta2 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-0-beta3.md b/docs/sources/release-notes/release-notes-8-0-0-beta3.md index 3942bfec1ea..b3f6f95d202 100644 --- a/docs/sources/release-notes/release-notes-8-0-0-beta3.md +++ b/docs/sources/release-notes/release-notes-8-0-0-beta3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-0-beta3/"] -title = "Release notes for Grafana 8.0.0-beta3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-0-beta3/ +title: Release notes for Grafana 8.0.0-beta3 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-0.md b/docs/sources/release-notes/release-notes-8-0-0.md index ae340ebee4d..9d55ddc696c 100644 --- a/docs/sources/release-notes/release-notes-8-0-0.md +++ b/docs/sources/release-notes/release-notes-8-0-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-0/"] -title = "Release notes for Grafana 8.0.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-0/ +title: Release notes for Grafana 8.0.0 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-1.md b/docs/sources/release-notes/release-notes-8-0-1.md index bea4b1a7377..33134bfb0fc 100644 --- a/docs/sources/release-notes/release-notes-8-0-1.md +++ b/docs/sources/release-notes/release-notes-8-0-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-1/"] -title = "Release notes for Grafana 8.0.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-1/ +title: Release notes for Grafana 8.0.1 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-2.md b/docs/sources/release-notes/release-notes-8-0-2.md index 905e3f0eb49..eb1f7ca5117 100644 --- a/docs/sources/release-notes/release-notes-8-0-2.md +++ b/docs/sources/release-notes/release-notes-8-0-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-2/"] -title = "Release notes for Grafana 8.0.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-2/ +title: Release notes for Grafana 8.0.2 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-3.md b/docs/sources/release-notes/release-notes-8-0-3.md index b0c588f8347..a09f610584f 100644 --- a/docs/sources/release-notes/release-notes-8-0-3.md +++ b/docs/sources/release-notes/release-notes-8-0-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-3/"] -title = "Release notes for Grafana 8.0.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-3/ +title: Release notes for Grafana 8.0.3 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-4.md b/docs/sources/release-notes/release-notes-8-0-4.md index be7dcfb32aa..8a81795b4b2 100644 --- a/docs/sources/release-notes/release-notes-8-0-4.md +++ b/docs/sources/release-notes/release-notes-8-0-4.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-4/"] -title = "Release notes for Grafana 8.0.4" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-4/ +title: Release notes for Grafana 8.0.4 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-5.md b/docs/sources/release-notes/release-notes-8-0-5.md index 4ceb0c57575..81695de8436 100644 --- a/docs/sources/release-notes/release-notes-8-0-5.md +++ b/docs/sources/release-notes/release-notes-8-0-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-5/"] -title = "Release notes for Grafana 8.0.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-5/ +title: Release notes for Grafana 8.0.5 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-6.md b/docs/sources/release-notes/release-notes-8-0-6.md index 713b356c752..70d82510f69 100644 --- a/docs/sources/release-notes/release-notes-8-0-6.md +++ b/docs/sources/release-notes/release-notes-8-0-6.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-6/"] -title = "Release notes for Grafana 8.0.6" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-6/ +title: Release notes for Grafana 8.0.6 +--- diff --git a/docs/sources/release-notes/release-notes-8-0-7.md b/docs/sources/release-notes/release-notes-8-0-7.md index 4e62083bfc1..867dc7efaaa 100644 --- a/docs/sources/release-notes/release-notes-8-0-7.md +++ b/docs/sources/release-notes/release-notes-8-0-7.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-0-7/"] -title = "Release notes for Grafana 8.0.7" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-0-7/ +title: Release notes for Grafana 8.0.7 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-0-beta1.md b/docs/sources/release-notes/release-notes-8-1-0-beta1.md index 16b88d80b65..9d18c2d371b 100644 --- a/docs/sources/release-notes/release-notes-8-1-0-beta1.md +++ b/docs/sources/release-notes/release-notes-8-1-0-beta1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-0-beta1/"] -title = "Release notes for Grafana 8.1.0-beta1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-0-beta1/ +title: Release notes for Grafana 8.1.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-0-beta2.md b/docs/sources/release-notes/release-notes-8-1-0-beta2.md index c79ca28989f..93449985783 100644 --- a/docs/sources/release-notes/release-notes-8-1-0-beta2.md +++ b/docs/sources/release-notes/release-notes-8-1-0-beta2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-0-beta2/"] -title = "Release notes for Grafana 8.1.0-beta2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-0-beta2/ +title: Release notes for Grafana 8.1.0-beta2 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-0-beta3.md b/docs/sources/release-notes/release-notes-8-1-0-beta3.md index 0bba933564c..9b787bce3ab 100644 --- a/docs/sources/release-notes/release-notes-8-1-0-beta3.md +++ b/docs/sources/release-notes/release-notes-8-1-0-beta3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-0-beta3/"] -title = "Release notes for Grafana 8.1.0-beta3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-0-beta3/ +title: Release notes for Grafana 8.1.0-beta3 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-0.md b/docs/sources/release-notes/release-notes-8-1-0.md index 41ebe20bd9f..79e2cd18c38 100644 --- a/docs/sources/release-notes/release-notes-8-1-0.md +++ b/docs/sources/release-notes/release-notes-8-1-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-0/"] -title = "Release notes for Grafana 8.1.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-0/ +title: Release notes for Grafana 8.1.0 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-1.md b/docs/sources/release-notes/release-notes-8-1-1.md index b467e784828..37fd61e6c17 100644 --- a/docs/sources/release-notes/release-notes-8-1-1.md +++ b/docs/sources/release-notes/release-notes-8-1-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-1/"] -title = "Release notes for Grafana 8.1.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-1/ +title: Release notes for Grafana 8.1.1 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-2.md b/docs/sources/release-notes/release-notes-8-1-2.md index 410523737dd..d603be55d37 100644 --- a/docs/sources/release-notes/release-notes-8-1-2.md +++ b/docs/sources/release-notes/release-notes-8-1-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-2/"] -title = "Release notes for Grafana 8.1.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-2/ +title: Release notes for Grafana 8.1.2 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-3.md b/docs/sources/release-notes/release-notes-8-1-3.md index e3416c004ef..ac9195f6b54 100644 --- a/docs/sources/release-notes/release-notes-8-1-3.md +++ b/docs/sources/release-notes/release-notes-8-1-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-3/"] -title = "Release notes for Grafana 8.1.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-3/ +title: Release notes for Grafana 8.1.3 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-4.md b/docs/sources/release-notes/release-notes-8-1-4.md index 6f1e7e24f29..39d9a97e419 100644 --- a/docs/sources/release-notes/release-notes-8-1-4.md +++ b/docs/sources/release-notes/release-notes-8-1-4.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-4/"] -title = "Release notes for Grafana 8.1.4" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-4/ +title: Release notes for Grafana 8.1.4 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-5.md b/docs/sources/release-notes/release-notes-8-1-5.md index ffcfcf35e00..89bc8433dc8 100644 --- a/docs/sources/release-notes/release-notes-8-1-5.md +++ b/docs/sources/release-notes/release-notes-8-1-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-5/"] -title = "Release notes for Grafana 8.1.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-5/ +title: Release notes for Grafana 8.1.5 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-6.md b/docs/sources/release-notes/release-notes-8-1-6.md index 2ad4ffd7432..3552f54eede 100644 --- a/docs/sources/release-notes/release-notes-8-1-6.md +++ b/docs/sources/release-notes/release-notes-8-1-6.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-6/"] -title = "Release notes for Grafana 8.1.6" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-6/ +title: Release notes for Grafana 8.1.6 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-7.md b/docs/sources/release-notes/release-notes-8-1-7.md index d7cbfb41023..ab3d83e0f9a 100644 --- a/docs/sources/release-notes/release-notes-8-1-7.md +++ b/docs/sources/release-notes/release-notes-8-1-7.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-7/"] -title = "Release notes for Grafana 8.1.7" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-7/ +title: Release notes for Grafana 8.1.7 +--- diff --git a/docs/sources/release-notes/release-notes-8-1-8.md b/docs/sources/release-notes/release-notes-8-1-8.md index f77652aa432..dc7cd936edf 100644 --- a/docs/sources/release-notes/release-notes-8-1-8.md +++ b/docs/sources/release-notes/release-notes-8-1-8.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-1-8/"] -title = "Release notes for Grafana 8.1.8" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-1-8/ +title: Release notes for Grafana 8.1.8 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-0-beta1.md b/docs/sources/release-notes/release-notes-8-2-0-beta1.md index 7469f7b4ccc..2cb0419bb96 100644 --- a/docs/sources/release-notes/release-notes-8-2-0-beta1.md +++ b/docs/sources/release-notes/release-notes-8-2-0-beta1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-0-beta1/"] -title = "Release notes for Grafana 8.2.0-beta1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-0-beta1/ +title: Release notes for Grafana 8.2.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-0-beta2.md b/docs/sources/release-notes/release-notes-8-2-0-beta2.md index 74adee723e6..46eb5050b81 100644 --- a/docs/sources/release-notes/release-notes-8-2-0-beta2.md +++ b/docs/sources/release-notes/release-notes-8-2-0-beta2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-0-beta2/"] -title = "Release notes for Grafana 8.2.0-beta2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-0-beta2/ +title: Release notes for Grafana 8.2.0-beta2 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-0.md b/docs/sources/release-notes/release-notes-8-2-0.md index 4513de999b4..2ee72e73ca4 100644 --- a/docs/sources/release-notes/release-notes-8-2-0.md +++ b/docs/sources/release-notes/release-notes-8-2-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-0/"] -title = "Release notes for Grafana 8.2.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-0/ +title: Release notes for Grafana 8.2.0 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-1.md b/docs/sources/release-notes/release-notes-8-2-1.md index d1a419ab338..07dfd6dd33b 100644 --- a/docs/sources/release-notes/release-notes-8-2-1.md +++ b/docs/sources/release-notes/release-notes-8-2-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-1/"] -title = "Release notes for Grafana 8.2.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-1/ +title: Release notes for Grafana 8.2.1 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-2.md b/docs/sources/release-notes/release-notes-8-2-2.md index fcfb8203279..526f5761245 100644 --- a/docs/sources/release-notes/release-notes-8-2-2.md +++ b/docs/sources/release-notes/release-notes-8-2-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-2/"] -title = "Release notes for Grafana 8.2.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-2/ +title: Release notes for Grafana 8.2.2 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-3.md b/docs/sources/release-notes/release-notes-8-2-3.md index 121fb348db6..65de6a479e3 100644 --- a/docs/sources/release-notes/release-notes-8-2-3.md +++ b/docs/sources/release-notes/release-notes-8-2-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-3/"] -title = "Release notes for Grafana 8.2.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-3/ +title: Release notes for Grafana 8.2.3 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-4.md b/docs/sources/release-notes/release-notes-8-2-4.md index 52af12afe3d..3295bb09be5 100644 --- a/docs/sources/release-notes/release-notes-8-2-4.md +++ b/docs/sources/release-notes/release-notes-8-2-4.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-4/"] -title = "Release notes for Grafana 8.2.4" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-4/ +title: Release notes for Grafana 8.2.4 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-5.md b/docs/sources/release-notes/release-notes-8-2-5.md index 8be8bde4466..83cdaa52f7f 100644 --- a/docs/sources/release-notes/release-notes-8-2-5.md +++ b/docs/sources/release-notes/release-notes-8-2-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-5/"] -title = "Release notes for Grafana 8.2.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-5/ +title: Release notes for Grafana 8.2.5 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-6.md b/docs/sources/release-notes/release-notes-8-2-6.md index 0b9d60823f3..30b0f8fdbc8 100644 --- a/docs/sources/release-notes/release-notes-8-2-6.md +++ b/docs/sources/release-notes/release-notes-8-2-6.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-6/"] -title = "Release notes for Grafana 8.2.6" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-6/ +title: Release notes for Grafana 8.2.6 +--- diff --git a/docs/sources/release-notes/release-notes-8-2-7.md b/docs/sources/release-notes/release-notes-8-2-7.md index fb516ad95a6..41889816f45 100644 --- a/docs/sources/release-notes/release-notes-8-2-7.md +++ b/docs/sources/release-notes/release-notes-8-2-7.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-2-7/"] -title = "Release notes for Grafana 8.2.7" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-2-7/ +title: Release notes for Grafana 8.2.7 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-0-beta1.md b/docs/sources/release-notes/release-notes-8-3-0-beta1.md index 42d6ee5c474..005f46a6110 100644 --- a/docs/sources/release-notes/release-notes-8-3-0-beta1.md +++ b/docs/sources/release-notes/release-notes-8-3-0-beta1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-0-beta1/"] -title = "Release notes for Grafana 8.3.0-beta1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-0-beta1/ +title: Release notes for Grafana 8.3.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-0-beta2.md b/docs/sources/release-notes/release-notes-8-3-0-beta2.md index 074eb2659fe..fa148d686c5 100644 --- a/docs/sources/release-notes/release-notes-8-3-0-beta2.md +++ b/docs/sources/release-notes/release-notes-8-3-0-beta2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-0-beta2/"] -title = "Release notes for Grafana 8.3.0-beta2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-0-beta2/ +title: Release notes for Grafana 8.3.0-beta2 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-0.md b/docs/sources/release-notes/release-notes-8-3-0.md index d54e7d7f021..5d6f89e8f45 100644 --- a/docs/sources/release-notes/release-notes-8-3-0.md +++ b/docs/sources/release-notes/release-notes-8-3-0.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-0/"] -title = "Release notes for Grafana 8.3.0" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-0/ +title: Release notes for Grafana 8.3.0 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-1.md b/docs/sources/release-notes/release-notes-8-3-1.md index df7871cf227..b81e2ea4c12 100644 --- a/docs/sources/release-notes/release-notes-8-3-1.md +++ b/docs/sources/release-notes/release-notes-8-3-1.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-1/"] -title = "Release notes for Grafana 8.3.1" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-1/ +title: Release notes for Grafana 8.3.1 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-2.md b/docs/sources/release-notes/release-notes-8-3-2.md index 30de7207e48..fbef2cbe78b 100644 --- a/docs/sources/release-notes/release-notes-8-3-2.md +++ b/docs/sources/release-notes/release-notes-8-3-2.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-2/"] -title = "Release notes for Grafana 8.3.2" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-2/ +title: Release notes for Grafana 8.3.2 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-3.md b/docs/sources/release-notes/release-notes-8-3-3.md index 21876e9fdac..49ce9619d91 100644 --- a/docs/sources/release-notes/release-notes-8-3-3.md +++ b/docs/sources/release-notes/release-notes-8-3-3.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-3/"] -title = "Release notes for Grafana 8.3.3" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-3/ +title: Release notes for Grafana 8.3.3 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-4.md b/docs/sources/release-notes/release-notes-8-3-4.md index ef33f71925f..75ad4f5eeec 100644 --- a/docs/sources/release-notes/release-notes-8-3-4.md +++ b/docs/sources/release-notes/release-notes-8-3-4.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-4/"] -title = "Release notes for Grafana 8.3.4" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-4/ +title: Release notes for Grafana 8.3.4 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-5.md b/docs/sources/release-notes/release-notes-8-3-5.md index 6fa717a8de5..bad3dfeab4f 100644 --- a/docs/sources/release-notes/release-notes-8-3-5.md +++ b/docs/sources/release-notes/release-notes-8-3-5.md @@ -1,10 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-5/"] -title = "Release notes for Grafana 8.3.5" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-5/ +title: Release notes for Grafana 8.3.5 +--- # Release notes for Grafana 8.3.5 diff --git a/docs/sources/release-notes/release-notes-8-3-6.md b/docs/sources/release-notes/release-notes-8-3-6.md index 3041aa2af50..0fe48979fd6 100644 --- a/docs/sources/release-notes/release-notes-8-3-6.md +++ b/docs/sources/release-notes/release-notes-8-3-6.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-6/"] -hide_menu = true -title = "Release notes for Grafana 8.3.6" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-6/ +hide_menu: true +title: Release notes for Grafana 8.3.6 +--- diff --git a/docs/sources/release-notes/release-notes-8-3-7.md b/docs/sources/release-notes/release-notes-8-3-7.md index 14aa73cc72d..4960d7a642f 100644 --- a/docs/sources/release-notes/release-notes-8-3-7.md +++ b/docs/sources/release-notes/release-notes-8-3-7.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-3-7/"] -hide_menu = true -title = "Release notes for Grafana 8.3.7" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-3-7/ +hide_menu: true +title: Release notes for Grafana 8.3.7 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-0-beta1.md b/docs/sources/release-notes/release-notes-8-4-0-beta1.md index a86e9f4de74..a42d02c34de 100644 --- a/docs/sources/release-notes/release-notes-8-4-0-beta1.md +++ b/docs/sources/release-notes/release-notes-8-4-0-beta1.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-0-beta1/"] -hide_menu = true -title = "Release notes for Grafana 8.4.0-beta1" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-0-beta1/ +hide_menu: true +title: Release notes for Grafana 8.4.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-0.md b/docs/sources/release-notes/release-notes-8-4-0.md index 65d4ac814b6..c36fbfeff24 100644 --- a/docs/sources/release-notes/release-notes-8-4-0.md +++ b/docs/sources/release-notes/release-notes-8-4-0.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-0/"] -hide_menu = true -title = "Release notes for Grafana 8.4.0" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-0/ +hide_menu: true +title: Release notes for Grafana 8.4.0 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-1.md b/docs/sources/release-notes/release-notes-8-4-1.md index ca076490932..7fc8112ec9d 100644 --- a/docs/sources/release-notes/release-notes-8-4-1.md +++ b/docs/sources/release-notes/release-notes-8-4-1.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-1/"] -hide_menu = true -title = "Release notes for Grafana 8.4.1" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-1/ +hide_menu: true +title: Release notes for Grafana 8.4.1 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-2.md b/docs/sources/release-notes/release-notes-8-4-2.md index 86f306ba935..7ee5e08c0ca 100644 --- a/docs/sources/release-notes/release-notes-8-4-2.md +++ b/docs/sources/release-notes/release-notes-8-4-2.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-2/"] -hide_menu = true -title = "Release notes for Grafana 8.4.2" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-2/ +hide_menu: true +title: Release notes for Grafana 8.4.2 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-3.md b/docs/sources/release-notes/release-notes-8-4-3.md index b0a580ed4a2..c4521f3eadd 100644 --- a/docs/sources/release-notes/release-notes-8-4-3.md +++ b/docs/sources/release-notes/release-notes-8-4-3.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-3/"] -hide_menu = true -title = "Release notes for Grafana 8.4.3" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-3/ +hide_menu: true +title: Release notes for Grafana 8.4.3 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-4.md b/docs/sources/release-notes/release-notes-8-4-4.md index 201f9c649b4..a9c10e8d371 100644 --- a/docs/sources/release-notes/release-notes-8-4-4.md +++ b/docs/sources/release-notes/release-notes-8-4-4.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-4/"] -hide_menu = true -title = "Release notes for Grafana 8.4.4" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-4/ +hide_menu: true +title: Release notes for Grafana 8.4.4 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-5.md b/docs/sources/release-notes/release-notes-8-4-5.md index 13948030ad8..a3849b08011 100644 --- a/docs/sources/release-notes/release-notes-8-4-5.md +++ b/docs/sources/release-notes/release-notes-8-4-5.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-5/"] -hide_menu = true -title = "Release notes for Grafana 8.4.5" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-5/ +hide_menu: true +title: Release notes for Grafana 8.4.5 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-6.md b/docs/sources/release-notes/release-notes-8-4-6.md index 75abc48d02a..660e679236c 100644 --- a/docs/sources/release-notes/release-notes-8-4-6.md +++ b/docs/sources/release-notes/release-notes-8-4-6.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-6/"] -hide_menu = true -title = "Release notes for Grafana 8.4.6" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-6/ +hide_menu: true +title: Release notes for Grafana 8.4.6 +--- diff --git a/docs/sources/release-notes/release-notes-8-4-7.md b/docs/sources/release-notes/release-notes-8-4-7.md index c2f8bb876bc..565f843bb04 100644 --- a/docs/sources/release-notes/release-notes-8-4-7.md +++ b/docs/sources/release-notes/release-notes-8-4-7.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-4-7/"] -hide_menu = true -title = "Release notes for Grafana 8.4.7" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-4-7/ +hide_menu: true +title: Release notes for Grafana 8.4.7 +--- diff --git a/docs/sources/release-notes/release-notes-8-5-0-beta1.md b/docs/sources/release-notes/release-notes-8-5-0-beta1.md index 3020e22d0da..e5f09a3e03d 100644 --- a/docs/sources/release-notes/release-notes-8-5-0-beta1.md +++ b/docs/sources/release-notes/release-notes-8-5-0-beta1.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-5-0-beta1/"] -hide_menu = true -title = "Release notes for Grafana 8.5.0-beta1" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-5-0-beta1/ +hide_menu: true +title: Release notes for Grafana 8.5.0-beta1 +--- diff --git a/docs/sources/release-notes/release-notes-8-5-0.md b/docs/sources/release-notes/release-notes-8-5-0.md index 5641e252140..3a7449518d4 100644 --- a/docs/sources/release-notes/release-notes-8-5-0.md +++ b/docs/sources/release-notes/release-notes-8-5-0.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-5-0/"] -hide_menu = true -title = "Release notes for Grafana 8.5.0" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-5-0/ +hide_menu: true +title: Release notes for Grafana 8.5.0 +--- diff --git a/docs/sources/release-notes/release-notes-8-5-1.md b/docs/sources/release-notes/release-notes-8-5-1.md index c8b832479de..a6c3944a4c7 100644 --- a/docs/sources/release-notes/release-notes-8-5-1.md +++ b/docs/sources/release-notes/release-notes-8-5-1.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-5-1/"] -hide_menu = true -title = "Release notes for Grafana 8.5.1" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-5-1/ +hide_menu: true +title: Release notes for Grafana 8.5.1 +--- diff --git a/docs/sources/release-notes/release-notes-8-5-2.md b/docs/sources/release-notes/release-notes-8-5-2.md index ccd4bff19a4..57f9502beaa 100644 --- a/docs/sources/release-notes/release-notes-8-5-2.md +++ b/docs/sources/release-notes/release-notes-8-5-2.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-8-5-2/"] -hide_menu = true -title = "Release notes for Grafana 8.5.2" -+++ +--- +aliases: + - /docs/grafana/latest/release-notes/release-notes-8-5-2/ +hide_menu: true +title: Release notes for Grafana 8.5.2 +--- diff --git a/docs/sources/release-notes/release-notes-8-5-3.md b/docs/sources/release-notes/release-notes-8-5-3.md index 0a3ba52b03b..e1cf44deacd 100644 --- a/docs/sources/release-notes/release-notes-8-5-3.md +++ b/docs/sources/release-notes/release-notes-8-5-3.md @@ -1,7 +1,7 @@ -+++ -title = "Release notes for Grafana 8.5.3" -hide_menu = true -+++ +--- +hide_menu: true +title: Release notes for Grafana 8.5.3 +--- diff --git a/docs/sources/release-notes/release-notes-v7-4-2.md b/docs/sources/release-notes/release-notes-v7-4-2.md index 3db6a4bcaab..8588c9574fc 100644 --- a/docs/sources/release-notes/release-notes-v7-4-2.md +++ b/docs/sources/release-notes/release-notes-v7-4-2.md @@ -1,9 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/release-notes/release-notes-v7-4-2/"] -title = "undefined" - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/release-notes/release-notes-v7-4-2/ +title: undefined +--- diff --git a/docs/sources/sharing/_index.md b/docs/sources/sharing/_index.md index 72ab4323cf4..fcd23f797ac 100644 --- a/docs/sources/sharing/_index.md +++ b/docs/sources/sharing/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/sharing/"] -title = "Sharing" -weight = 85 -+++ +--- +aliases: + - /docs/grafana/latest/sharing/ +title: Sharing +weight: 85 +--- # Sharing dashboards and panels diff --git a/docs/sources/sharing/playlists.md b/docs/sources/sharing/playlists.md index 49767ee0067..40f25816670 100644 --- a/docs/sources/sharing/playlists.md +++ b/docs/sources/sharing/playlists.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/sharing/playlists/"] -draft = "true" -keywords = ["grafana", "dashboard", "documentation", "playlist"] -title = "Playlists" -weight = 4 -+++ +--- +aliases: + - /docs/grafana/latest/sharing/playlists/ +draft: 'true' +keywords: + - grafana + - dashboard + - documentation + - playlist +title: Playlists +weight: 4 +--- # Playlists diff --git a/docs/sources/sharing/share-dashboard.md b/docs/sources/sharing/share-dashboard.md index 7d84d0dbaad..f63458857b9 100644 --- a/docs/sources/sharing/share-dashboard.md +++ b/docs/sources/sharing/share-dashboard.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/share-dashboard/", "/docs/grafana/latest/reference/share_dashboard/", "/docs/grafana/latest/sharing/share-dashboard/"] -keywords = ["grafana", "dashboard", "documentation", "sharing"] -title = "Share a dashboard" -weight = 6 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/share-dashboard/ + - /docs/grafana/latest/reference/share_dashboard/ + - /docs/grafana/latest/sharing/share-dashboard/ +keywords: + - grafana + - dashboard + - documentation + - sharing +title: Share a dashboard +weight: 6 +--- # Share a dashboard diff --git a/docs/sources/sharing/share-panel.md b/docs/sources/sharing/share-panel.md index e9f70cb60af..f3a5e5312cd 100644 --- a/docs/sources/sharing/share-panel.md +++ b/docs/sources/sharing/share-panel.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/dashboards/share-dashboard/", "/docs/grafana/latest/reference/share_panel/", "/docs/grafana/latest/sharing/share-panel/"] -keywords = ["grafana", "dashboard", "documentation", "sharing", "library panel"] -title = "Share a panel" -weight = 6 -+++ +--- +aliases: + - /docs/grafana/latest/dashboards/share-dashboard/ + - /docs/grafana/latest/reference/share_panel/ + - /docs/grafana/latest/sharing/share-panel/ +keywords: + - grafana + - dashboard + - documentation + - sharing + - library panel +title: Share a panel +weight: 6 +--- # Share a panel diff --git a/docs/sources/troubleshooting/_index.md b/docs/sources/troubleshooting/_index.md index 351480ee94b..ef90cf5e4e2 100644 --- a/docs/sources/troubleshooting/_index.md +++ b/docs/sources/troubleshooting/_index.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/troubleshooting/"] -description = "Guide to troubleshooting Grafana problems" -keywords = ["grafana", "troubleshooting", "documentation", "guide"] -title = "Troubleshooting" -weight = 180 -+++ +--- +aliases: + - /docs/grafana/latest/troubleshooting/ +description: Guide to troubleshooting Grafana problems +keywords: + - grafana + - troubleshooting + - documentation + - guide +title: Troubleshooting +weight: 180 +--- # Troubleshooting diff --git a/docs/sources/troubleshooting/diagnostics.md b/docs/sources/troubleshooting/diagnostics.md index 1deb881ae49..6981387b535 100644 --- a/docs/sources/troubleshooting/diagnostics.md +++ b/docs/sources/troubleshooting/diagnostics.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/troubleshooting/diagnostics/"] -title = "Enable diagnostics" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/troubleshooting/diagnostics/ +title: Enable diagnostics +weight: 200 +--- # Enable diagnostics diff --git a/docs/sources/troubleshooting/troubleshoot-dashboards.md b/docs/sources/troubleshooting/troubleshoot-dashboards.md index cb63c2621ba..8b99bd5481d 100644 --- a/docs/sources/troubleshooting/troubleshoot-dashboards.md +++ b/docs/sources/troubleshooting/troubleshoot-dashboards.md @@ -1,10 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/troubleshooting/troubleshoot-dashboards/"] -description = "Guide to troubleshooting Grafana dashboards" -keywords = ["grafana", "troubleshooting", "documentation", "dashboards"] -title = "Troubleshoot dashboards" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/troubleshooting/troubleshoot-dashboards/ +description: Guide to troubleshooting Grafana dashboards +keywords: + - grafana + - troubleshooting + - documentation + - dashboards +title: Troubleshoot dashboards +weight: 100 +--- # Troubleshoot dashboards diff --git a/docs/sources/troubleshooting/troubleshoot-queries.md b/docs/sources/troubleshooting/troubleshoot-queries.md index 7b96721e625..19561882e57 100644 --- a/docs/sources/troubleshooting/troubleshoot-queries.md +++ b/docs/sources/troubleshooting/troubleshoot-queries.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/troubleshooting/troubleshoot-queries/"] -description = "Guide to troubleshooting Grafana queries" -keywords = ["grafana", "troubleshooting", "documentation", "guide", "queries"] -title = "Troubleshoot queries" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/troubleshooting/troubleshoot-queries/ +description: Guide to troubleshooting Grafana queries +keywords: + - grafana + - troubleshooting + - documentation + - guide + - queries +title: Troubleshoot queries +weight: 400 +--- # Troubleshoot queries diff --git a/docs/sources/variables/_index.md b/docs/sources/variables/_index.md index 8bd7dbdb38c..7b368d1e573 100644 --- a/docs/sources/variables/_index.md +++ b/docs/sources/variables/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/variables/"] -title = "Templates and variables" -weight = 130 -+++ +--- +aliases: + - /docs/grafana/latest/variables/ +title: Templates and variables +weight: 130 +--- # Templates and variables diff --git a/docs/sources/variables/advanced-variable-format-options.md b/docs/sources/variables/advanced-variable-format-options.md index 7971133d4af..fb0097974b7 100644 --- a/docs/sources/variables/advanced-variable-format-options.md +++ b/docs/sources/variables/advanced-variable-format-options.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/variables/advanced-variable-format-options/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable"] -title = "Advanced variable format options" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/variables/advanced-variable-format-options/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable +title: Advanced variable format options +weight: 600 +--- # Advanced variable format options diff --git a/docs/sources/variables/filter-variables-with-regex.md b/docs/sources/variables/filter-variables-with-regex.md index 8f731e6e086..1a1836e5c85 100644 --- a/docs/sources/variables/filter-variables-with-regex.md +++ b/docs/sources/variables/filter-variables-with-regex.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/variables/filter-variables-with-regex/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable"] -title = "Filter variables with regex" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/variables/filter-variables-with-regex/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable +title: Filter variables with regex +weight: 700 +--- # Filter variables with regex diff --git a/docs/sources/variables/formatting-multi-value-variables.md b/docs/sources/variables/formatting-multi-value-variables.md index 7eb4ec853ea..c597e9763ca 100644 --- a/docs/sources/variables/formatting-multi-value-variables.md +++ b/docs/sources/variables/formatting-multi-value-variables.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/variables/formatting-multi-value-variables/"] -title = "Multi-value variables" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/variables/formatting-multi-value-variables/ +title: Multi-value variables +weight: 600 +--- # Multi-value variables diff --git a/docs/sources/variables/inspect-variable.md b/docs/sources/variables/inspect-variable.md index d123ca2d393..92fc5157626 100644 --- a/docs/sources/variables/inspect-variable.md +++ b/docs/sources/variables/inspect-variable.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/reference/templating/", "/docs/grafana/latest/variables/inspect-variable/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable"] -title = "Inspect variables" -weight = 125 -+++ +--- +aliases: + - /docs/grafana/latest/reference/templating/ + - /docs/grafana/latest/variables/inspect-variable/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable +title: Inspect variables +weight: 125 +--- # Inspect variables and their dependencies diff --git a/docs/sources/variables/manage-variable.md b/docs/sources/variables/manage-variable.md index b89919cd5a8..8f1db798c5b 100644 --- a/docs/sources/variables/manage-variable.md +++ b/docs/sources/variables/manage-variable.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/reference/templating/", "/docs/grafana/latest/variables/manage-variable/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable"] -title = "Manage variables" -weight = 120 -+++ +--- +aliases: + - /docs/grafana/latest/reference/templating/ + - /docs/grafana/latest/variables/manage-variable/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable +title: Manage variables +weight: 120 +--- # Manage variables diff --git a/docs/sources/variables/syntax.md b/docs/sources/variables/syntax.md index ac2715b3cbe..702610c1811 100644 --- a/docs/sources/variables/syntax.md +++ b/docs/sources/variables/syntax.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/reference/templating/", "/docs/grafana/latest/variables/syntax/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable"] -title = "Variable syntax" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/reference/templating/ + - /docs/grafana/latest/variables/syntax/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable +title: Variable syntax +weight: 100 +--- # Variable syntax diff --git a/docs/sources/variables/variable-examples.md b/docs/sources/variables/variable-examples.md index 1e52a28e1d4..bd3cd3e24e9 100644 --- a/docs/sources/variables/variable-examples.md +++ b/docs/sources/variables/variable-examples.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/variables/variable-examples/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable"] -title = "Variable examples" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/variables/variable-examples/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable +title: Variable examples +weight: 200 +--- # Variable examples diff --git a/docs/sources/variables/variable-selection-options.md b/docs/sources/variables/variable-selection-options.md index f13c418955e..85278f0f6ce 100644 --- a/docs/sources/variables/variable-selection-options.md +++ b/docs/sources/variables/variable-selection-options.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/variables/variable-selection-options/"] -title = "Variable selection options" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/variables/variable-selection-options/ +title: Variable selection options +weight: 400 +--- # Configure variable selection options diff --git a/docs/sources/variables/variable-types/_index.md b/docs/sources/variables/variable-types/_index.md index 7901935a35e..8c6d857a2d7 100644 --- a/docs/sources/variables/variable-types/_index.md +++ b/docs/sources/variables/variable-types/_index.md @@ -1,8 +1,9 @@ -+++ -aliases = ["/docs/grafana/latest/variables/variable-types/"] -title = "Add variables" -weight = 140 -+++ +--- +aliases: + - /docs/grafana/latest/variables/variable-types/ +title: Add variables +weight: 140 +--- # Variables types diff --git a/docs/sources/variables/variable-types/add-ad-hoc-filters.md b/docs/sources/variables/variable-types/add-ad-hoc-filters.md index 89c42b046b7..eae0c5971f1 100644 --- a/docs/sources/variables/variable-types/add-ad-hoc-filters.md +++ b/docs/sources/variables/variable-types/add-ad-hoc-filters.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-ad-hoc-filters/", "/docs/grafana/latest/variables/variable-types/add-ad-hoc-filters/"] -title = "Add ad hoc filters" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-ad-hoc-filters/ + - /docs/grafana/latest/variables/variable-types/add-ad-hoc-filters/ +title: Add ad hoc filters +weight: 700 +--- # Add ad hoc filters diff --git a/docs/sources/variables/variable-types/add-constant-variable.md b/docs/sources/variables/variable-types/add-constant-variable.md index c24f074a205..769b9d1b088 100644 --- a/docs/sources/variables/variable-types/add-constant-variable.md +++ b/docs/sources/variables/variable-types/add-constant-variable.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-constant-variable/", "/docs/grafana/latest/variables/variable-types/add-constant-variable/"] -title = "Add a constant variable" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-constant-variable/ + - /docs/grafana/latest/variables/variable-types/add-constant-variable/ +title: Add a constant variable +weight: 400 +--- # Add a constant variable diff --git a/docs/sources/variables/variable-types/add-custom-variable.md b/docs/sources/variables/variable-types/add-custom-variable.md index e53117874d0..9ae4b0be964 100644 --- a/docs/sources/variables/variable-types/add-custom-variable.md +++ b/docs/sources/variables/variable-types/add-custom-variable.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-custom-variable/", "/docs/grafana/latest/variables/variable-types/add-custom-variable/"] -title = "Add a custom variable" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-custom-variable/ + - /docs/grafana/latest/variables/variable-types/add-custom-variable/ +title: Add a custom variable +weight: 200 +--- # Add a custom variable diff --git a/docs/sources/variables/variable-types/add-data-source-variable.md b/docs/sources/variables/variable-types/add-data-source-variable.md index 9ff1f427da5..fbdc1f66e2c 100644 --- a/docs/sources/variables/variable-types/add-data-source-variable.md +++ b/docs/sources/variables/variable-types/add-data-source-variable.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-data-source-variable/", "/docs/grafana/latest/variables/variable-types/add-data-source-variable/"] -title = "Add a data source variable" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-data-source-variable/ + - /docs/grafana/latest/variables/variable-types/add-data-source-variable/ +title: Add a data source variable +weight: 500 +--- # Add a data source variable diff --git a/docs/sources/variables/variable-types/add-interval-variable.md b/docs/sources/variables/variable-types/add-interval-variable.md index fdb979d2f0b..09adec49a67 100644 --- a/docs/sources/variables/variable-types/add-interval-variable.md +++ b/docs/sources/variables/variable-types/add-interval-variable.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-interval-variable/", "/docs/grafana/latest/variables/variable-types/add-interval-variable/"] -title = "Add an interval variable" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-interval-variable/ + - /docs/grafana/latest/variables/variable-types/add-interval-variable/ +title: Add an interval variable +weight: 600 +--- # Add an interval variable diff --git a/docs/sources/variables/variable-types/add-query-variable.md b/docs/sources/variables/variable-types/add-query-variable.md index 231c2775f20..6df4261a139 100644 --- a/docs/sources/variables/variable-types/add-query-variable.md +++ b/docs/sources/variables/variable-types/add-query-variable.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-query-variable/", "/docs/grafana/latest/variables/variable-types/add-query-variable/"] -title = "Add a query variable" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-query-variable/ + - /docs/grafana/latest/variables/variable-types/add-query-variable/ +title: Add a query variable +weight: 100 +--- # Add a query variable diff --git a/docs/sources/variables/variable-types/add-text-box-variable.md b/docs/sources/variables/variable-types/add-text-box-variable.md index aebf66ca84c..10218374055 100644 --- a/docs/sources/variables/variable-types/add-text-box-variable.md +++ b/docs/sources/variables/variable-types/add-text-box-variable.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/variables/add-text-box-variable/", "/docs/grafana/latest/variables/variable-types/add-text-box-variable/"] -title = "Add a text box variable" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/variables/add-text-box-variable/ + - /docs/grafana/latest/variables/variable-types/add-text-box-variable/ +title: Add a text box variable +weight: 300 +--- # Add a text box variable diff --git a/docs/sources/variables/variable-types/chained-variables.md b/docs/sources/variables/variable-types/chained-variables.md index f504bebdaf0..22d63f6f26f 100644 --- a/docs/sources/variables/variable-types/chained-variables.md +++ b/docs/sources/variables/variable-types/chained-variables.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/variables/chained-variables/", "/docs/grafana/latest/variables/variable-types/chained-variables/"] -keywords = ["grafana", "templating", "variable", "nested", "chained", "linked"] -title = "Chained variables" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/variables/chained-variables/ + - /docs/grafana/latest/variables/variable-types/chained-variables/ +keywords: + - grafana + - templating + - variable + - nested + - chained + - linked +title: Chained variables +weight: 800 +--- # Chained variables diff --git a/docs/sources/variables/variable-types/global-variables.md b/docs/sources/variables/variable-types/global-variables.md index 9b365fd2d9f..59b8ff00260 100644 --- a/docs/sources/variables/variable-types/global-variables.md +++ b/docs/sources/variables/variable-types/global-variables.md @@ -1,9 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/variables/global-variables/", "/docs/grafana/latest/variables/variable-types/global-variables/"] -keywords = ["grafana", "templating", "documentation", "guide", "template", "variable", "global", "standard"] -title = "Global variables" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/variables/global-variables/ + - /docs/grafana/latest/variables/variable-types/global-variables/ +keywords: + - grafana + - templating + - documentation + - guide + - template + - variable + - global + - standard +title: Global variables +weight: 900 +--- # Global variables diff --git a/docs/sources/visualizations/_index.md b/docs/sources/visualizations/_index.md index 3c6d813f925..4e1435d2f2d 100644 --- a/docs/sources/visualizations/_index.md +++ b/docs/sources/visualizations/_index.md @@ -1,8 +1,10 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/", "/docs/grafana/latest/visualizations/"] -title = "Visualizations" -weight = 75 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/ + - /docs/grafana/latest/visualizations/ +title: Visualizations +weight: 75 +--- # Visualization panels diff --git a/docs/sources/visualizations/alert-list-panel.md b/docs/sources/visualizations/alert-list-panel.md index ecf8e012f89..9d5f1838cae 100644 --- a/docs/sources/visualizations/alert-list-panel.md +++ b/docs/sources/visualizations/alert-list-panel.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/alertlist/", "/docs/grafana/latest/panels/visualizations/alert-list-panel/", "/docs/grafana/latest/reference/alertlist/", "/docs/grafana/latest/visualizations/alert-list-panel/"] -keywords = ["grafana", "alert list", "documentation", "panel", "alertlist"] -title = "Alert list" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/alertlist/ + - /docs/grafana/latest/panels/visualizations/alert-list-panel/ + - /docs/grafana/latest/reference/alertlist/ + - /docs/grafana/latest/visualizations/alert-list-panel/ +keywords: + - grafana + - alert list + - documentation + - panel + - alertlist +title: Alert list +weight: 100 +--- # Alert list diff --git a/docs/sources/visualizations/annotations.md b/docs/sources/visualizations/annotations.md index 6e2278151a4..10ee3a9629b 100644 --- a/docs/sources/visualizations/annotations.md +++ b/docs/sources/visualizations/annotations.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/anotations/", "/docs/grafana/latest/panels/visualizations/annotations/", "/docs/grafana/latest/visualizations/annotations/"] -description = "Annotations visualization documentation" -keywords = ["grafana", "Annotations", "panel", "documentation"] -title = "Annotations" -weight = 105 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/anotations/ + - /docs/grafana/latest/panels/visualizations/annotations/ + - /docs/grafana/latest/visualizations/annotations/ +description: Annotations visualization documentation +keywords: + - grafana + - Annotations + - panel + - documentation +title: Annotations +weight: 105 +--- # Annotations diff --git a/docs/sources/visualizations/bar-chart.md b/docs/sources/visualizations/bar-chart.md index ffde7970a24..775223c2ab7 100644 --- a/docs/sources/visualizations/bar-chart.md +++ b/docs/sources/visualizations/bar-chart.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/bar-chart/", "/docs/grafana/latest/visualizations/bar-chart/"] -description = "Bar chart visualization" -keywords = ["grafana", "docs", "bar chart", "panel", "barchart"] -title = "Bar chart" -weight = 170 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/bar-chart/ + - /docs/grafana/latest/visualizations/bar-chart/ +description: Bar chart visualization +keywords: + - grafana + - docs + - bar chart + - panel + - barchart +title: Bar chart +weight: 170 +--- # Bar chart diff --git a/docs/sources/visualizations/bar-gauge-panel.md b/docs/sources/visualizations/bar-gauge-panel.md index 839cc4a707c..0ec91785145 100644 --- a/docs/sources/visualizations/bar-gauge-panel.md +++ b/docs/sources/visualizations/bar-gauge-panel.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/bar_gauge/", "/docs/grafana/latest/panels/visualizations/bar-gauge-panel/", "/docs/grafana/latest/visualizations/bar-gauge-panel/"] -description = "Bar gauge panel options" -keywords = ["grafana", "bar", "bar gauge"] -title = "Bar gauge" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/bar_gauge/ + - /docs/grafana/latest/panels/visualizations/bar-gauge-panel/ + - /docs/grafana/latest/visualizations/bar-gauge-panel/ +description: Bar gauge panel options +keywords: + - grafana + - bar + - bar gauge +title: Bar gauge +weight: 200 +--- # Bar gauge diff --git a/docs/sources/visualizations/candlestick.md b/docs/sources/visualizations/candlestick.md index b25c76ba398..8208781452b 100644 --- a/docs/sources/visualizations/candlestick.md +++ b/docs/sources/visualizations/candlestick.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/candlestick/", "/docs/grafana/latest/panels/visualizations/candlestick/", "/docs/grafana/latest/visualizations/candlestick/"] -description = "Candlestick visualization documentation" -keywords = ["grafana", "Candlestick", "OHLC", "panel", "documentation"] -title = "Candlestick" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/candlestick/ + - /docs/grafana/latest/panels/visualizations/candlestick/ + - /docs/grafana/latest/visualizations/candlestick/ +description: Candlestick visualization documentation +keywords: + - grafana + - Candlestick + - OHLC + - panel + - documentation +title: Candlestick +weight: 600 +--- # Candlestick diff --git a/docs/sources/visualizations/dashboard-list-panel.md b/docs/sources/visualizations/dashboard-list-panel.md index 609a445b2f0..1f1f20da420 100644 --- a/docs/sources/visualizations/dashboard-list-panel.md +++ b/docs/sources/visualizations/dashboard-list-panel.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/dashlist/", "/docs/grafana/latest/panels/visualizations/dashboard-list-panel/", "/docs/grafana/latest/reference/dashlist/", "/docs/grafana/latest/visualizations/dashboard-list-panel/"] -keywords = ["grafana", "dashboard list", "documentation", "panel", "dashlist"] -title = "Dashboard list" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/dashlist/ + - /docs/grafana/latest/panels/visualizations/dashboard-list-panel/ + - /docs/grafana/latest/reference/dashlist/ + - /docs/grafana/latest/visualizations/dashboard-list-panel/ +keywords: + - grafana + - dashboard list + - documentation + - panel + - dashlist +title: Dashboard list +weight: 300 +--- # Dashboard list diff --git a/docs/sources/visualizations/gauge-panel.md b/docs/sources/visualizations/gauge-panel.md index 3fe08b33c0c..6ca0b7470f4 100644 --- a/docs/sources/visualizations/gauge-panel.md +++ b/docs/sources/visualizations/gauge-panel.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/gauge/", "/docs/grafana/latest/panels/visualizations/gauge-panel/", "/docs/grafana/latest/visualizations/gauge-panel/"] -description = "Gauge panel docs" -keywords = ["grafana", "gauge", "gauge panel"] -title = "Gauge" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/gauge/ + - /docs/grafana/latest/panels/visualizations/gauge-panel/ + - /docs/grafana/latest/visualizations/gauge-panel/ +description: Gauge panel docs +keywords: + - grafana + - gauge + - gauge panel +title: Gauge +weight: 400 +--- # Gauge diff --git a/docs/sources/visualizations/geomap.md b/docs/sources/visualizations/geomap.md index 72c9623a313..56d38ecc220 100644 --- a/docs/sources/visualizations/geomap.md +++ b/docs/sources/visualizations/geomap.md @@ -1,10 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/geomap/", "/docs/grafana/latest/panels/visualizations/geomap/", "/docs/grafana/latest/visualizations/geomap/"] -description = "Geomap visualization documentation" -keywords = ["grafana", "Geomap", "panel", "documentation"] -title = "Geomap" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/geomap/ + - /docs/grafana/latest/panels/visualizations/geomap/ + - /docs/grafana/latest/visualizations/geomap/ +description: Geomap visualization documentation +keywords: + - grafana + - Geomap + - panel + - documentation +title: Geomap +weight: 600 +--- # Geomap diff --git a/docs/sources/visualizations/graph-panel.md b/docs/sources/visualizations/graph-panel.md index 49a7fa159b1..4fbb88db7a4 100644 --- a/docs/sources/visualizations/graph-panel.md +++ b/docs/sources/visualizations/graph-panel.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/graph/", "/docs/grafana/latest/panels/visualizations/graph-panel/", "/docs/grafana/latest/reference/graph/", "/docs/grafana/latest/visualizations/graph-panel/"] -keywords = ["grafana", "graph panel", "documentation", "guide", "graph"] -title = "Graph (old)" -weight = 500 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/graph/ + - /docs/grafana/latest/panels/visualizations/graph-panel/ + - /docs/grafana/latest/reference/graph/ + - /docs/grafana/latest/visualizations/graph-panel/ +keywords: + - grafana + - graph panel + - documentation + - guide + - graph +title: Graph (old) +weight: 500 +--- # Graph panel (old) diff --git a/docs/sources/visualizations/heatmap.md b/docs/sources/visualizations/heatmap.md index 0423c505dc4..2775f6c92e3 100644 --- a/docs/sources/visualizations/heatmap.md +++ b/docs/sources/visualizations/heatmap.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/heatmap/", "/docs/grafana/latest/visualizations/heatmap/"] -description = "Heatmap visualization documentation" -keywords = ["grafana", "heatmap", "panel", "documentation"] -title = "Heatmap" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/heatmap/ + - /docs/grafana/latest/visualizations/heatmap/ +description: Heatmap visualization documentation +keywords: + - grafana + - heatmap + - panel + - documentation +title: Heatmap +weight: 600 +--- # Heatmap diff --git a/docs/sources/visualizations/histogram.md b/docs/sources/visualizations/histogram.md index 674d039f11b..fdcd6322e36 100644 --- a/docs/sources/visualizations/histogram.md +++ b/docs/sources/visualizations/histogram.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/histogram/", "/docs/grafana/latest/panels/visualizations/histogram/", "/docs/grafana/latest/visualizations/histogram/"] -description = "Histogram visualization" -keywords = ["grafana", "docs", "bar chart", "panel", "barchart"] -title = "Histogram" -weight = 605 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/histogram/ + - /docs/grafana/latest/panels/visualizations/histogram/ + - /docs/grafana/latest/visualizations/histogram/ +description: Histogram visualization +keywords: + - grafana + - docs + - bar chart + - panel + - barchart +title: Histogram +weight: 605 +--- # Histogram diff --git a/docs/sources/visualizations/logs-panel.md b/docs/sources/visualizations/logs-panel.md index b287ccf6826..69d583d46b2 100644 --- a/docs/sources/visualizations/logs-panel.md +++ b/docs/sources/visualizations/logs-panel.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/logs/", "/docs/grafana/latest/panels/visualizations/logs-panel/", "/docs/grafana/latest/reference/logs/", "/docs/grafana/latest/visualizations/logs-panel/"] -keywords = ["grafana", "dashboard", "documentation", "panels", "logs panel"] -title = "Logs panel" -weight = 700 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/logs/ + - /docs/grafana/latest/panels/visualizations/logs-panel/ + - /docs/grafana/latest/reference/logs/ + - /docs/grafana/latest/visualizations/logs-panel/ +keywords: + - grafana + - dashboard + - documentation + - panels + - logs panel +title: Logs panel +weight: 700 +--- # Logs panel diff --git a/docs/sources/visualizations/news-panel.md b/docs/sources/visualizations/news-panel.md index 70093d275fd..29576c048eb 100644 --- a/docs/sources/visualizations/news-panel.md +++ b/docs/sources/visualizations/news-panel.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/news-graph/", "/docs/grafana/latest/visualizations/news-panel/"] -keywords = ["grafana", "news", "documentation", "panels", "news panel"] -title = "News" -weight = 800 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/news-graph/ + - /docs/grafana/latest/visualizations/news-panel/ +keywords: + - grafana + - news + - documentation + - panels + - news panel +title: News +weight: 800 +--- ## News diff --git a/docs/sources/visualizations/node-graph.md b/docs/sources/visualizations/node-graph.md index f1002a1787c..9ec5cb8dcc7 100644 --- a/docs/sources/visualizations/node-graph.md +++ b/docs/sources/visualizations/node-graph.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/node-graph/", "/docs/grafana/latest/visualizations/node-graph/"] -keywords = ["grafana", "dashboard", "documentation", "panels", "node graph", "directed graph"] -title = "Node graph" -weight = 850 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/node-graph/ + - /docs/grafana/latest/visualizations/node-graph/ +keywords: + - grafana + - dashboard + - documentation + - panels + - node graph + - directed graph +title: Node graph +weight: 850 +--- # Node graph panel diff --git a/docs/sources/visualizations/pie-chart-panel.md b/docs/sources/visualizations/pie-chart-panel.md index 917bb9141d9..1507f6c144a 100644 --- a/docs/sources/visualizations/pie-chart-panel.md +++ b/docs/sources/visualizations/pie-chart-panel.md @@ -1,9 +1,13 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/pie-chart-pane/", "/docs/grafana/latest/visualizations/pie-chart-panel/"] -keywords = ["grafana", "pie chart"] -title = "Pie chart" -weight = 850 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/pie-chart-pane/ + - /docs/grafana/latest/visualizations/pie-chart-panel/ +keywords: + - grafana + - pie chart +title: Pie chart +weight: 850 +--- # Pie chart diff --git a/docs/sources/visualizations/stat-panel.md b/docs/sources/visualizations/stat-panel.md index 472766168d6..0c54e31f4aa 100644 --- a/docs/sources/visualizations/stat-panel.md +++ b/docs/sources/visualizations/stat-panel.md @@ -1,10 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/singlestat/", "/docs/grafana/latest/features/panels/stat/", "/docs/grafana/latest/panels/visualizations/stat-panel/", "/docs/grafana/latest/reference/singlestat/", "/docs/grafana/latest/visualizations/stat-panel/"] -description = "Stat panel documentation" -keywords = ["grafana", "docs", "stat panel"] -title = "Stat" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/singlestat/ + - /docs/grafana/latest/features/panels/stat/ + - /docs/grafana/latest/panels/visualizations/stat-panel/ + - /docs/grafana/latest/reference/singlestat/ + - /docs/grafana/latest/visualizations/stat-panel/ +description: Stat panel documentation +keywords: + - grafana + - docs + - stat panel +title: Stat +weight: 900 +--- # Stat diff --git a/docs/sources/visualizations/state-timeline.md b/docs/sources/visualizations/state-timeline.md index 5ebfa74d026..7bdb13597d6 100644 --- a/docs/sources/visualizations/state-timeline.md +++ b/docs/sources/visualizations/state-timeline.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/state-timeline/", "/docs/grafana/latest/visualizations/state-timeline/"] -description = "State timeline visualization" -keywords = ["grafana", "docs", "state timeline", "panel"] -title = "State timeline" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/state-timeline/ + - /docs/grafana/latest/visualizations/state-timeline/ +description: State timeline visualization +keywords: + - grafana + - docs + - state timeline + - panel +title: State timeline +weight: 900 +--- # State timeline diff --git a/docs/sources/visualizations/status-history.md b/docs/sources/visualizations/status-history.md index 324e3a71e9b..1076808d58a 100644 --- a/docs/sources/visualizations/status-history.md +++ b/docs/sources/visualizations/status-history.md @@ -1,10 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/status-history/", "/docs/grafana/latest/visualizations/status-history/"] -description = "Status history visualization" -keywords = ["grafana", "docs", "status history", "panel"] -title = "Status history" -weight = 900 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/status-history/ + - /docs/grafana/latest/visualizations/status-history/ +description: Status history visualization +keywords: + - grafana + - docs + - status history + - panel +title: Status history +weight: 900 +--- # Status history diff --git a/docs/sources/visualizations/table/_index.md b/docs/sources/visualizations/table/_index.md index 49e20a3e38f..5edbe5a5e52 100644 --- a/docs/sources/visualizations/table/_index.md +++ b/docs/sources/visualizations/table/_index.md @@ -1,9 +1,18 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/table_panel/", "/docs/grafana/latest/reference/table/", "/docs/grafana/latest/visualizations/table/", "/docs/grafana/next/panels/visualizations/table/table-field-options/"] -keywords = ["grafana", "dashboard", "documentation", "panels", "table panel"] -title = "Table" -weight = 1000 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/table_panel/ + - /docs/grafana/latest/reference/table/ + - /docs/grafana/latest/visualizations/table/ + - /docs/grafana/next/panels/visualizations/table/table-field-options/ +keywords: + - grafana + - dashboard + - documentation + - panels + - table panel +title: Table +weight: 1000 +--- # Table diff --git a/docs/sources/visualizations/table/filter-table-columns.md b/docs/sources/visualizations/table/filter-table-columns.md index 13ec04bba68..064529673c4 100644 --- a/docs/sources/visualizations/table/filter-table-columns.md +++ b/docs/sources/visualizations/table/filter-table-columns.md @@ -1,9 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/table_panel/", "/docs/grafana/latest/panels/visualizations/table/filter-table-columns/", "/docs/grafana/latest/reference/table/", "/docs/grafana/latest/visualizations/table/filter-table-columns/", "/docs/grafana/next/panels/visualizations/table/table-field-options/"] -keywords = ["grafana", "table options", "documentation", "format tables", "table filter", "filter columns"] -title = "Filter table columns" -weight = 600 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/table_panel/ + - /docs/grafana/latest/panels/visualizations/table/filter-table-columns/ + - /docs/grafana/latest/reference/table/ + - /docs/grafana/latest/visualizations/table/filter-table-columns/ + - /docs/grafana/next/panels/visualizations/table/table-field-options/ +keywords: + - grafana + - table options + - documentation + - format tables + - table filter + - filter columns +title: Filter table columns +weight: 600 +--- # Filter table columns diff --git a/docs/sources/visualizations/text-panel.md b/docs/sources/visualizations/text-panel.md index 8128099fe1d..07a98c680d3 100644 --- a/docs/sources/visualizations/text-panel.md +++ b/docs/sources/visualizations/text-panel.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/text/", "/docs/grafana/latest/panels/visualizations/text-panel/", "/docs/grafana/latest/reference/alertlist/", "/docs/grafana/latest/visualizations/text-panel/"] -keywords = ["grafana", "text", "documentation", "panel"] -title = "Text" -weight = 1100 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/text/ + - /docs/grafana/latest/panels/visualizations/text-panel/ + - /docs/grafana/latest/reference/alertlist/ + - /docs/grafana/latest/visualizations/text-panel/ +keywords: + - grafana + - text + - documentation + - panel +title: Text +weight: 1100 +--- # Text diff --git a/docs/sources/visualizations/time-series/_index.md b/docs/sources/visualizations/time-series/_index.md index 0cad322c280..b4d5b0428a2 100644 --- a/docs/sources/visualizations/time-series/_index.md +++ b/docs/sources/visualizations/time-series/_index.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/", "/docs/grafana/latest/visualizations/time-series/"] -keywords = ["grafana", "graph panel", "time series panel", "documentation", "guide", "graph"] -title = "Time series" -weight = 1200 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/ + - /docs/grafana/latest/visualizations/time-series/ +keywords: + - grafana + - graph panel + - time series panel + - documentation + - guide + - graph +title: Time series +weight: 1200 +--- # Time series diff --git a/docs/sources/visualizations/time-series/annotate-time-series.md b/docs/sources/visualizations/time-series/annotate-time-series.md index 5d207da4430..4484cea2625 100644 --- a/docs/sources/visualizations/time-series/annotate-time-series.md +++ b/docs/sources/visualizations/time-series/annotate-time-series.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/annotate-time-series/", "/docs/grafana/latest/visualizations/time-series/annotate-time-series/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph", "annotations"] -title = "Annotate time series" -weight = 100 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/annotate-time-series/ + - /docs/grafana/latest/visualizations/time-series/annotate-time-series/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph + - annotations +title: Annotate time series +weight: 100 +--- # Annotate time series diff --git a/docs/sources/visualizations/time-series/change-axis-display.md b/docs/sources/visualizations/time-series/change-axis-display.md index b7f97f64acc..a59157c62bc 100644 --- a/docs/sources/visualizations/time-series/change-axis-display.md +++ b/docs/sources/visualizations/time-series/change-axis-display.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/change-axis-display/", "/docs/grafana/latest/visualizations/time-series/change-axis-display/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph"] -title = "Change axis display" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/change-axis-display/ + - /docs/grafana/latest/visualizations/time-series/change-axis-display/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph +title: Change axis display +weight: 400 +--- # Change axis display diff --git a/docs/sources/visualizations/time-series/graph-color-scheme.md b/docs/sources/visualizations/time-series/graph-color-scheme.md index 68fa9b5fa54..311923c82a4 100644 --- a/docs/sources/visualizations/time-series/graph-color-scheme.md +++ b/docs/sources/visualizations/time-series/graph-color-scheme.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/graph-color-scheme/", "/docs/grafana/latest/visualizations/time-series/graph-color-scheme/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph"] -title = "Graph and color schemes " -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/graph-color-scheme/ + - /docs/grafana/latest/visualizations/time-series/graph-color-scheme/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph +title: 'Graph and color schemes ' +weight: 400 +--- {{< figure src="/static/img/docs/v73/color_scheme_dropdown.png" max-width="350px" caption="Color scheme" class="pull-right" >}} diff --git a/docs/sources/visualizations/time-series/graph-time-series-as-bars.md b/docs/sources/visualizations/time-series/graph-time-series-as-bars.md index 1e31864caeb..41116db1218 100644 --- a/docs/sources/visualizations/time-series/graph-time-series-as-bars.md +++ b/docs/sources/visualizations/time-series/graph-time-series-as-bars.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/graph-time-series-as-bars/", "/docs/grafana/latest/visualizations/time-series/graph-time-series-as-bars/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph"] -title = "Graph time series as bars" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/graph-time-series-as-bars/ + - /docs/grafana/latest/visualizations/time-series/graph-time-series-as-bars/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph +title: Graph time series as bars +weight: 200 +--- # Graph time series as bars diff --git a/docs/sources/visualizations/time-series/graph-time-series-as-lines.md b/docs/sources/visualizations/time-series/graph-time-series-as-lines.md index 04e713e5e36..3de1cda08c1 100644 --- a/docs/sources/visualizations/time-series/graph-time-series-as-lines.md +++ b/docs/sources/visualizations/time-series/graph-time-series-as-lines.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/graph-time-series-as-lines/", "/docs/grafana/latest/visualizations/time-series/graph-time-series-as-lines/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph"] -title = "Graph time series as lines" -weight = 200 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/graph-time-series-as-lines/ + - /docs/grafana/latest/visualizations/time-series/graph-time-series-as-lines/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph +title: Graph time series as lines +weight: 200 +--- # Graph time series as lines diff --git a/docs/sources/visualizations/time-series/graph-time-series-as-points.md b/docs/sources/visualizations/time-series/graph-time-series-as-points.md index eae84fa648b..f3a631486c7 100644 --- a/docs/sources/visualizations/time-series/graph-time-series-as-points.md +++ b/docs/sources/visualizations/time-series/graph-time-series-as-points.md @@ -1,9 +1,16 @@ -+++ -aliases = ["/docs/grafana/latest/panels/visualizations/time-series/graph-time-series-as-points/", "/docs/grafana/latest/visualizations/time-series/graph-time-series-as-points/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph"] -title = "Graph time series as points" -weight = 300 -+++ +--- +aliases: + - /docs/grafana/latest/panels/visualizations/time-series/graph-time-series-as-points/ + - /docs/grafana/latest/visualizations/time-series/graph-time-series-as-points/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph +title: Graph time series as points +weight: 300 +--- # Graph time series as points diff --git a/docs/sources/visualizations/time-series/graph-time-series-stacking.md b/docs/sources/visualizations/time-series/graph-time-series-stacking.md index 6c857fd1491..09685ae6b63 100644 --- a/docs/sources/visualizations/time-series/graph-time-series-stacking.md +++ b/docs/sources/visualizations/time-series/graph-time-series-stacking.md @@ -1,9 +1,17 @@ -+++ -aliases = ["/docs/grafana/latest/features/panels/histogram/", "/docs/grafana/latest/panels/visualizations/time-series/graph-time-series-stacking/", "/docs/grafana/latest/visualizations/time-series/graph-time-series-stacking/"] -keywords = ["grafana", "time series panel", "documentation", "guide", "graph"] -title = "Graph stacked time series" -weight = 400 -+++ +--- +aliases: + - /docs/grafana/latest/features/panels/histogram/ + - /docs/grafana/latest/panels/visualizations/time-series/graph-time-series-stacking/ + - /docs/grafana/latest/visualizations/time-series/graph-time-series-stacking/ +keywords: + - grafana + - time series panel + - documentation + - guide + - graph +title: Graph stacked time series +weight: 400 +--- # Graph stacked time series diff --git a/docs/sources/visualizations/traces.md b/docs/sources/visualizations/traces.md index 1d84c235c12..a3099086bc3 100644 --- a/docs/sources/visualizations/traces.md +++ b/docs/sources/visualizations/traces.md @@ -1,9 +1,15 @@ -+++ -aliases = ["/docs/grafana/latest/visualizations/traces/"] -keywords = ["grafana", "dashboard", "documentation", "panels", "traces"] -title = "Traces" -weight = 850 -+++ +--- +aliases: + - /docs/grafana/latest/visualizations/traces/ +keywords: + - grafana + - dashboard + - documentation + - panels + - traces +title: Traces +weight: 850 +--- # Traces panel diff --git a/docs/sources/whatsnew/_index.md b/docs/sources/whatsnew/_index.md index cc674ab767b..0cbebc88aaf 100644 --- a/docs/sources/whatsnew/_index.md +++ b/docs/sources/whatsnew/_index.md @@ -1,14 +1,20 @@ -+++ -aliases = ["/docs/grafana/latest/guides/", "/docs/grafana/latest/whatsnew/"] -title = "What's new" -weight = 1 -+++ +--- +aliases: + - /docs/grafana/latest/guides/ + - /docs/grafana/latest/whatsnew/ +title: What's new +weight: 1 +--- # What's new Grafana Grafana is changing all the time. For release highlights checkout links below, if you want a complete list of every change, as well as info on deprecations, breaking changes and plugin development read the [release notes]({{< relref "../release-notes" >}}). +## Grafana 9 + +- [What's new in 9.0]({{< relref "whats-new-in-v9-0" >}}) + ## Grafana 8 - [What's new in 8.5]({{< relref "whats-new-in-v8-5" >}}) diff --git a/docs/sources/whatsnew/whats-new-in-v2-0.md b/docs/sources/whatsnew/whats-new-in-v2-0.md index 2026f0c1242..ad6dab1fc8c 100644 --- a/docs/sources/whatsnew/whats-new-in-v2-0.md +++ b/docs/sources/whatsnew/whats-new-in-v2-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v2/", "/docs/grafana/latest/whatsnew/whats-new-in-v2-0/"] -description = "Feature and improvement highlights for Grafana v2.0" -keywords = ["grafana", "new", "documentation", "2.0", "release notes"] -title = "What's new in Grafana v2.0" -weight = -1 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v2/ + - /docs/grafana/latest/whatsnew/whats-new-in-v2-0/ +description: Feature and improvement highlights for Grafana v2.0 +keywords: + - grafana + - new + - documentation + - '2.0' + - release notes +title: What's new in Grafana v2.0 +weight: -1 +--- # What's new in Grafana v2.0 diff --git a/docs/sources/whatsnew/whats-new-in-v2-1.md b/docs/sources/whatsnew/whats-new-in-v2-1.md index a6dae7548c3..043e4e4910b 100644 --- a/docs/sources/whatsnew/whats-new-in-v2-1.md +++ b/docs/sources/whatsnew/whats-new-in-v2-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v2-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v2-1/"] -description = "Feature and improvement highlights for Grafana v2.1" -keywords = ["grafana", "new", "documentation", "2.1", "release notes"] -title = "What's new in Grafana v2.1" -weight = -2 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v2-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v2-1/ +description: Feature and improvement highlights for Grafana v2.1 +keywords: + - grafana + - new + - documentation + - '2.1' + - release notes +title: What's new in Grafana v2.1 +weight: -2 +--- # What's new in Grafana v2.1 diff --git a/docs/sources/whatsnew/whats-new-in-v2-5.md b/docs/sources/whatsnew/whats-new-in-v2-5.md index 57784d297a0..599e1fbff75 100644 --- a/docs/sources/whatsnew/whats-new-in-v2-5.md +++ b/docs/sources/whatsnew/whats-new-in-v2-5.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v2-5/", "/docs/grafana/latest/whatsnew/whats-new-in-v2-5/"] -description = "Feature and improvement highlights for Grafana v2.5" -keywords = ["grafana", "new", "documentation", "2.5", "release notes"] -title = "What's new in Grafana v2.5" -weight = -3 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v2-5/ + - /docs/grafana/latest/whatsnew/whats-new-in-v2-5/ +description: Feature and improvement highlights for Grafana v2.5 +keywords: + - grafana + - new + - documentation + - '2.5' + - release notes +title: What's new in Grafana v2.5 +weight: -3 +--- # What's new in Grafana v2.5 diff --git a/docs/sources/whatsnew/whats-new-in-v2-6.md b/docs/sources/whatsnew/whats-new-in-v2-6.md index b221c0f2c5a..880ee853bf5 100644 --- a/docs/sources/whatsnew/whats-new-in-v2-6.md +++ b/docs/sources/whatsnew/whats-new-in-v2-6.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v2-6/", "/docs/grafana/latest/whatsnew/whats-new-in-v2-6/"] -description = "Feature and improvement highlights for Grafana v2.6" -keywords = ["grafana", "new", "documentation", "2.6", "release notes"] -title = "What's new in Grafana v2.6" -weight = -4 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v2-6/ + - /docs/grafana/latest/whatsnew/whats-new-in-v2-6/ +description: Feature and improvement highlights for Grafana v2.6 +keywords: + - grafana + - new + - documentation + - '2.6' + - release notes +title: What's new in Grafana v2.6 +weight: -4 +--- # What's new in Grafana v2.6 diff --git a/docs/sources/whatsnew/whats-new-in-v3-0.md b/docs/sources/whatsnew/whats-new-in-v3-0.md index d45239e7bcd..a0bb5c8a1e9 100644 --- a/docs/sources/whatsnew/whats-new-in-v3-0.md +++ b/docs/sources/whatsnew/whats-new-in-v3-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v3/", "/docs/grafana/latest/whatsnew/whats-new-in-v3-0/"] -description = "Feature and improvement highlights for Grafana v3.0" -keywords = ["grafana", "new", "documentation", "3.0", "release notes"] -title = "What's new in Grafana v3.0" -weight = -5 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v3/ + - /docs/grafana/latest/whatsnew/whats-new-in-v3-0/ +description: Feature and improvement highlights for Grafana v3.0 +keywords: + - grafana + - new + - documentation + - '3.0' + - release notes +title: What's new in Grafana v3.0 +weight: -5 +--- # What's new in Grafana v3.0 diff --git a/docs/sources/whatsnew/whats-new-in-v3-1.md b/docs/sources/whatsnew/whats-new-in-v3-1.md index dab47a0cf1f..ba9c07cfbf7 100644 --- a/docs/sources/whatsnew/whats-new-in-v3-1.md +++ b/docs/sources/whatsnew/whats-new-in-v3-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v3-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v3-1/"] -description = "Feature and improvement highlights for Grafana v3.1" -keywords = ["grafana", "new", "documentation", "3.1", "release notes"] -title = "What's new in Grafana v3.1" -weight = -6 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v3-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v3-1/ +description: Feature and improvement highlights for Grafana v3.1 +keywords: + - grafana + - new + - documentation + - '3.1' + - release notes +title: What's new in Grafana v3.1 +weight: -6 +--- # What's new in Grafana v3.1 diff --git a/docs/sources/whatsnew/whats-new-in-v4-0.md b/docs/sources/whatsnew/whats-new-in-v4-0.md index a179eb5d0cf..8d175914f15 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-0.md +++ b/docs/sources/whatsnew/whats-new-in-v4-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-0/"] -description = "Feature and improvement highlights for Grafana v4.0" -keywords = ["grafana", "new", "documentation", "4.0", "release notes"] -title = "What's new in Grafana v4.0" -weight = -7 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-0/ +description: Feature and improvement highlights for Grafana v4.0 +keywords: + - grafana + - new + - documentation + - '4.0' + - release notes +title: What's new in Grafana v4.0 +weight: -7 +--- # What's new in Grafana v4.0 diff --git a/docs/sources/whatsnew/whats-new-in-v4-1.md b/docs/sources/whatsnew/whats-new-in-v4-1.md index 5fb00253adf..da51f5185bb 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-1.md +++ b/docs/sources/whatsnew/whats-new-in-v4-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-1/"] -description = "Feature and improvement highlights for Grafana v4.1" -keywords = ["grafana", "new", "documentation", "4.1.0", "release notes"] -title = "What's new in Grafana v4.1" -weight = -8 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-1/ +description: Feature and improvement highlights for Grafana v4.1 +keywords: + - grafana + - new + - documentation + - 4.1.0 + - release notes +title: What's new in Grafana v4.1 +weight: -8 +--- ## What's new in Grafana v4.1 diff --git a/docs/sources/whatsnew/whats-new-in-v4-2.md b/docs/sources/whatsnew/whats-new-in-v4-2.md index 9f4b51012a8..f9edad7d673 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-2.md +++ b/docs/sources/whatsnew/whats-new-in-v4-2.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4-2/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-2/"] -description = "Feature and improvement highlights for Grafana v4.2" -keywords = ["grafana", "new", "documentation", "4.2.0", "release notes"] -title = "What's new in Grafana v4.2" -weight = -9 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4-2/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-2/ +description: Feature and improvement highlights for Grafana v4.2 +keywords: + - grafana + - new + - documentation + - 4.2.0 + - release notes +title: What's new in Grafana v4.2 +weight: -9 +--- ## What's new in Grafana v4.2 diff --git a/docs/sources/whatsnew/whats-new-in-v4-3.md b/docs/sources/whatsnew/whats-new-in-v4-3.md index b5e56f4aa66..00ce76ba40c 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-3.md +++ b/docs/sources/whatsnew/whats-new-in-v4-3.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4-3/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-3/"] -description = "Feature and improvement highlights for Grafana v4.3" -keywords = ["grafana", "new", "documentation", "4.3.0", "release notes"] -title = "What's new in Grafana v4.3" -weight = -10 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4-3/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-3/ +description: Feature and improvement highlights for Grafana v4.3 +keywords: + - grafana + - new + - documentation + - 4.3.0 + - release notes +title: What's new in Grafana v4.3 +weight: -10 +--- ## What's new in Grafana v4.3 diff --git a/docs/sources/whatsnew/whats-new-in-v4-4.md b/docs/sources/whatsnew/whats-new-in-v4-4.md index d9f4336ef7c..e2bc015c9ae 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-4.md +++ b/docs/sources/whatsnew/whats-new-in-v4-4.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4-4/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-4/"] -description = "Feature and improvement highlights for Grafana v4.4" -keywords = ["grafana", "new", "documentation", "4.4.0", "release notes"] -title = "What's new in Grafana v4.4" -weight = -11 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4-4/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-4/ +description: Feature and improvement highlights for Grafana v4.4 +keywords: + - grafana + - new + - documentation + - 4.4.0 + - release notes +title: What's new in Grafana v4.4 +weight: -11 +--- ## What's new in Grafana v4.4 diff --git a/docs/sources/whatsnew/whats-new-in-v4-5.md b/docs/sources/whatsnew/whats-new-in-v4-5.md index 08acfb4ccc3..d62a0c88fdc 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-5.md +++ b/docs/sources/whatsnew/whats-new-in-v4-5.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4-5/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-5/"] -description = "Feature and improvement highlights for Grafana v4.5" -keywords = ["grafana", "new", "documentation", "4.5", "release notes"] -title = "What's new in Grafana v4.5" -weight = -12 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4-5/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-5/ +description: Feature and improvement highlights for Grafana v4.5 +keywords: + - grafana + - new + - documentation + - '4.5' + - release notes +title: What's new in Grafana v4.5 +weight: -12 +--- # What's new in Grafana v4.5 diff --git a/docs/sources/whatsnew/whats-new-in-v4-6.md b/docs/sources/whatsnew/whats-new-in-v4-6.md index 067b6d1e6d3..b45d5fd879f 100644 --- a/docs/sources/whatsnew/whats-new-in-v4-6.md +++ b/docs/sources/whatsnew/whats-new-in-v4-6.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v4-6/", "/docs/grafana/latest/whatsnew/whats-new-in-v4-6/"] -description = "Feature and improvement highlights for Grafana v4.6" -keywords = ["grafana", "new", "documentation", "4.6", "release notes"] -title = "What's new in Grafana v4.6" -weight = -13 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v4-6/ + - /docs/grafana/latest/whatsnew/whats-new-in-v4-6/ +description: Feature and improvement highlights for Grafana v4.6 +keywords: + - grafana + - new + - documentation + - '4.6' + - release notes +title: What's new in Grafana v4.6 +weight: -13 +--- # What's new in Grafana v4.6 diff --git a/docs/sources/whatsnew/whats-new-in-v5-0.md b/docs/sources/whatsnew/whats-new-in-v5-0.md index 4c87bad3d13..0a18a40c869 100644 --- a/docs/sources/whatsnew/whats-new-in-v5-0.md +++ b/docs/sources/whatsnew/whats-new-in-v5-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v5/", "/docs/grafana/latest/whatsnew/whats-new-in-v5-0/"] -description = "Feature and improvement highlights for Grafana v5.0" -keywords = ["grafana", "new", "documentation", "5.0", "release notes"] -title = "What's new in Grafana v5.0" -weight = -14 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v5/ + - /docs/grafana/latest/whatsnew/whats-new-in-v5-0/ +description: Feature and improvement highlights for Grafana v5.0 +keywords: + - grafana + - new + - documentation + - '5.0' + - release notes +title: What's new in Grafana v5.0 +weight: -14 +--- # What's new in Grafana v5.0 diff --git a/docs/sources/whatsnew/whats-new-in-v5-1.md b/docs/sources/whatsnew/whats-new-in-v5-1.md index c7d541729e0..5cbed8052af 100644 --- a/docs/sources/whatsnew/whats-new-in-v5-1.md +++ b/docs/sources/whatsnew/whats-new-in-v5-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v5-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v5-1/"] -description = "Feature and improvement highlights for Grafana v5.1" -keywords = ["grafana", "new", "documentation", "5.1", "release notes"] -title = "What's new in Grafana v5.1" -weight = -15 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v5-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v5-1/ +description: Feature and improvement highlights for Grafana v5.1 +keywords: + - grafana + - new + - documentation + - '5.1' + - release notes +title: What's new in Grafana v5.1 +weight: -15 +--- # What's new in Grafana v5.1 diff --git a/docs/sources/whatsnew/whats-new-in-v5-2.md b/docs/sources/whatsnew/whats-new-in-v5-2.md index 00803eb95a6..37847ba8837 100644 --- a/docs/sources/whatsnew/whats-new-in-v5-2.md +++ b/docs/sources/whatsnew/whats-new-in-v5-2.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v5-2/", "/docs/grafana/latest/whatsnew/whats-new-in-v5-2/"] -description = "Feature and improvement highlights for Grafana v5.2" -keywords = ["grafana", "new", "documentation", "5.2", "release notes"] -title = "What's new in Grafana v5.2" -weight = -16 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v5-2/ + - /docs/grafana/latest/whatsnew/whats-new-in-v5-2/ +description: Feature and improvement highlights for Grafana v5.2 +keywords: + - grafana + - new + - documentation + - '5.2' + - release notes +title: What's new in Grafana v5.2 +weight: -16 +--- # What's new in Grafana v5.2 diff --git a/docs/sources/whatsnew/whats-new-in-v5-3.md b/docs/sources/whatsnew/whats-new-in-v5-3.md index b2c29110c16..e2a616ce83b 100644 --- a/docs/sources/whatsnew/whats-new-in-v5-3.md +++ b/docs/sources/whatsnew/whats-new-in-v5-3.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v5-3/", "/docs/grafana/latest/whatsnew/whats-new-in-v5-3/"] -description = "Feature and improvement highlights for Grafana v5.3" -keywords = ["grafana", "new", "documentation", "5.3", "release notes"] -title = "What's new in Grafana v5.3" -weight = -17 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v5-3/ + - /docs/grafana/latest/whatsnew/whats-new-in-v5-3/ +description: Feature and improvement highlights for Grafana v5.3 +keywords: + - grafana + - new + - documentation + - '5.3' + - release notes +title: What's new in Grafana v5.3 +weight: -17 +--- # What's new in Grafana v5.3 diff --git a/docs/sources/whatsnew/whats-new-in-v5-4.md b/docs/sources/whatsnew/whats-new-in-v5-4.md index 1e39f542403..6d1892dd4af 100644 --- a/docs/sources/whatsnew/whats-new-in-v5-4.md +++ b/docs/sources/whatsnew/whats-new-in-v5-4.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v5-4/", "/docs/grafana/latest/whatsnew/whats-new-in-v5-4/"] -description = "Feature and improvement highlights for Grafana v5.4" -keywords = ["grafana", "new", "documentation", "5.4", "release notes"] -title = "What's new in Grafana v5.4" -weight = -18 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v5-4/ + - /docs/grafana/latest/whatsnew/whats-new-in-v5-4/ +description: Feature and improvement highlights for Grafana v5.4 +keywords: + - grafana + - new + - documentation + - '5.4' + - release notes +title: What's new in Grafana v5.4 +weight: -18 +--- # What's new in Grafana v5.4 diff --git a/docs/sources/whatsnew/whats-new-in-v6-0.md b/docs/sources/whatsnew/whats-new-in-v6-0.md index 9267720317e..c60c326f868 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-0.md +++ b/docs/sources/whatsnew/whats-new-in-v6-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-0/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-0/"] -description = "Feature and improvement highlights for Grafana v6.0" -keywords = ["grafana", "new", "documentation", "6.0", "release notes"] -title = "What's new in Grafana v6.0" -weight = -19 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-0/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-0/ +description: Feature and improvement highlights for Grafana v6.0 +keywords: + - grafana + - new + - documentation + - '6.0' + - release notes +title: What's new in Grafana v6.0 +weight: -19 +--- # What's new in Grafana v6.0 diff --git a/docs/sources/whatsnew/whats-new-in-v6-1.md b/docs/sources/whatsnew/whats-new-in-v6-1.md index 5ab71fda931..425840eb327 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-1.md +++ b/docs/sources/whatsnew/whats-new-in-v6-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-1/"] -description = "Feature and improvement highlights for Grafana v6.1" -keywords = ["grafana", "new", "documentation", "6.1", "release notes"] -title = "What's new in Grafana v6.1" -weight = -20 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-1/ +description: Feature and improvement highlights for Grafana v6.1 +keywords: + - grafana + - new + - documentation + - '6.1' + - release notes +title: What's new in Grafana v6.1 +weight: -20 +--- # What's new in Grafana v6.1 diff --git a/docs/sources/whatsnew/whats-new-in-v6-2.md b/docs/sources/whatsnew/whats-new-in-v6-2.md index a144ef4fb2c..64e0833155c 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-2.md +++ b/docs/sources/whatsnew/whats-new-in-v6-2.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-2/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-2/"] -description = "Feature and improvement highlights for Grafana v6.2" -keywords = ["grafana", "new", "documentation", "6.2", "release notes"] -title = "What's new in Grafana v6.2" -weight = -21 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-2/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-2/ +description: Feature and improvement highlights for Grafana v6.2 +keywords: + - grafana + - new + - documentation + - '6.2' + - release notes +title: What's new in Grafana v6.2 +weight: -21 +--- # What's new in Grafana v6.2 diff --git a/docs/sources/whatsnew/whats-new-in-v6-3.md b/docs/sources/whatsnew/whats-new-in-v6-3.md index 35692ba02d3..e19524f6fbe 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-3.md +++ b/docs/sources/whatsnew/whats-new-in-v6-3.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-3/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-3/"] -description = "Feature and improvement highlights for Grafana v6.3" -keywords = ["grafana", "new", "documentation", "6.3", "release notes"] -title = "What's new in Grafana v6.3" -weight = -22 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-3/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-3/ +description: Feature and improvement highlights for Grafana v6.3 +keywords: + - grafana + - new + - documentation + - '6.3' + - release notes +title: What's new in Grafana v6.3 +weight: -22 +--- # What's new in Grafana v6.3 diff --git a/docs/sources/whatsnew/whats-new-in-v6-4.md b/docs/sources/whatsnew/whats-new-in-v6-4.md index 6b65500e615..69e5f3ed3f6 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-4.md +++ b/docs/sources/whatsnew/whats-new-in-v6-4.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-4/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-4/"] -description = "Feature and improvement highlights for Grafana v6.4" -keywords = ["grafana", "new", "documentation", "6.4", "release notes"] -title = "What's new in Grafana v6.4" -weight = -23 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-4/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-4/ +description: Feature and improvement highlights for Grafana v6.4 +keywords: + - grafana + - new + - documentation + - '6.4' + - release notes +title: What's new in Grafana v6.4 +weight: -23 +--- # What's new in Grafana v6.4 diff --git a/docs/sources/whatsnew/whats-new-in-v6-5.md b/docs/sources/whatsnew/whats-new-in-v6-5.md index 9821984e542..6240925bd41 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-5.md +++ b/docs/sources/whatsnew/whats-new-in-v6-5.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-5/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-5/"] -description = "Feature and improvement highlights for Grafana v6.5" -keywords = ["grafana", "new", "documentation", "6.5", "release notes"] -title = "What's new in Grafana v6.5" -weight = -24 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-5/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-5/ +description: Feature and improvement highlights for Grafana v6.5 +keywords: + - grafana + - new + - documentation + - '6.5' + - release notes +title: What's new in Grafana v6.5 +weight: -24 +--- # What's new in Grafana v6.5 diff --git a/docs/sources/whatsnew/whats-new-in-v6-6.md b/docs/sources/whatsnew/whats-new-in-v6-6.md index c743f1ef2a3..cf10090f845 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-6.md +++ b/docs/sources/whatsnew/whats-new-in-v6-6.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-6/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-6/"] -description = "Feature and improvement highlights for Grafana v6.6" -keywords = ["grafana", "new", "documentation", "6.6", "release notes"] -title = "What's new in Grafana v6.6" -weight = -25 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-6/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-6/ +description: Feature and improvement highlights for Grafana v6.6 +keywords: + - grafana + - new + - documentation + - '6.6' + - release notes +title: What's new in Grafana v6.6 +weight: -25 +--- # What's new in Grafana v6.6 diff --git a/docs/sources/whatsnew/whats-new-in-v6-7.md b/docs/sources/whatsnew/whats-new-in-v6-7.md index f6c97ec47f8..954e38fbbec 100644 --- a/docs/sources/whatsnew/whats-new-in-v6-7.md +++ b/docs/sources/whatsnew/whats-new-in-v6-7.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v6-7/", "/docs/grafana/latest/whatsnew/whats-new-in-v6-7/"] -description = "Feature and improvement highlights for Grafana v6.7" -keywords = ["grafana", "new", "documentation", "6.7", "release notes"] -title = "What's New in Grafana v6.7" -weight = -26 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v6-7/ + - /docs/grafana/latest/whatsnew/whats-new-in-v6-7/ +description: Feature and improvement highlights for Grafana v6.7 +keywords: + - grafana + - new + - documentation + - '6.7' + - release notes +title: What's New in Grafana v6.7 +weight: -26 +--- # What's new in Grafana v6.7 diff --git a/docs/sources/whatsnew/whats-new-in-v7-0.md b/docs/sources/whatsnew/whats-new-in-v7-0.md index 00af4f8f768..e4165bbf46f 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-0.md +++ b/docs/sources/whatsnew/whats-new-in-v7-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-0/", "/docs/grafana/latest/whatsnew/whats-new-in-v7-0/"] -description = "Feature and improvement highlights for Grafana v7" -keywords = ["grafana", "new", "documentation", "7.0", "release notes"] -title = "What's New in Grafana v7.0" -weight = -27 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v7-0/ + - /docs/grafana/latest/whatsnew/whats-new-in-v7-0/ +description: Feature and improvement highlights for Grafana v7 +keywords: + - grafana + - new + - documentation + - '7.0' + - release notes +title: What's New in Grafana v7.0 +weight: -27 +--- # What's new in Grafana v7.0 diff --git a/docs/sources/whatsnew/whats-new-in-v7-1.md b/docs/sources/whatsnew/whats-new-in-v7-1.md index ade84484629..263da09b24c 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-1.md +++ b/docs/sources/whatsnew/whats-new-in-v7-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v7-1/"] -description = "Feature and improvement highlights for Grafana v7.1" -keywords = ["grafana", "new", "documentation", "7.1", "release notes"] -title = "What's New in Grafana v7.1" -weight = -28 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v7-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v7-1/ +description: Feature and improvement highlights for Grafana v7.1 +keywords: + - grafana + - new + - documentation + - '7.1' + - release notes +title: What's New in Grafana v7.1 +weight: -28 +--- # What's new in Grafana v7.1 diff --git a/docs/sources/whatsnew/whats-new-in-v7-2.md b/docs/sources/whatsnew/whats-new-in-v7-2.md index c6e2a2eb5ee..6e746ccbf25 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-2.md +++ b/docs/sources/whatsnew/whats-new-in-v7-2.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-2/", "/docs/grafana/latest/whatsnew/whats-new-in-v7-2/"] -description = "Feature and improvement highlights for Grafana v7.2" -keywords = ["grafana", "new", "documentation", "7.2", "release notes"] -title = "What's New in Grafana v7.2" -weight = -29 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v7-2/ + - /docs/grafana/latest/whatsnew/whats-new-in-v7-2/ +description: Feature and improvement highlights for Grafana v7.2 +keywords: + - grafana + - new + - documentation + - '7.2' + - release notes +title: What's New in Grafana v7.2 +weight: -29 +--- # What's new in Grafana v7.2 diff --git a/docs/sources/whatsnew/whats-new-in-v7-3.md b/docs/sources/whatsnew/whats-new-in-v7-3.md index 04968d96234..b435b83b3f8 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-3.md +++ b/docs/sources/whatsnew/whats-new-in-v7-3.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-3/", "/docs/grafana/latest/whatsnew/whats-new-in-v7-3/"] -description = "Feature and improvement highlights for Grafana v7.3" -keywords = ["grafana", "new", "documentation", "7.3", "release notes"] -title = "What's New in Grafana v7.3" -weight = -30 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v7-3/ + - /docs/grafana/latest/whatsnew/whats-new-in-v7-3/ +description: Feature and improvement highlights for Grafana v7.3 +keywords: + - grafana + - new + - documentation + - '7.3' + - release notes +title: What's New in Grafana v7.3 +weight: -30 +--- # What's new in Grafana v7.3 diff --git a/docs/sources/whatsnew/whats-new-in-v7-4.md b/docs/sources/whatsnew/whats-new-in-v7-4.md index 86a4c31c21c..735dd5f2a10 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-4.md +++ b/docs/sources/whatsnew/whats-new-in-v7-4.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-4/", "/docs/grafana/latest/whatsnew/whats-new-in-v7-4/"] -description = "Feature and improvement highlights for Grafana v7.4" -keywords = ["grafana", "new", "documentation", "7.4", "release notes"] -title = "What's New in Grafana v7.4" -weight = -31 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v7-4/ + - /docs/grafana/latest/whatsnew/whats-new-in-v7-4/ +description: Feature and improvement highlights for Grafana v7.4 +keywords: + - grafana + - new + - documentation + - '7.4' + - release notes +title: What's New in Grafana v7.4 +weight: -31 +--- # What's new in Grafana v7.4 diff --git a/docs/sources/whatsnew/whats-new-in-v7-5.md b/docs/sources/whatsnew/whats-new-in-v7-5.md index 9256310888e..920a0b67331 100644 --- a/docs/sources/whatsnew/whats-new-in-v7-5.md +++ b/docs/sources/whatsnew/whats-new-in-v7-5.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-5/", "/docs/grafana/latest/whatsnew/whats-new-in-v7-5/"] -description = "Feature and improvement highlights for Grafana v7.5" -keywords = ["grafana", "new", "documentation", "7.5", "release notes"] -title = "What's new in Grafana v7.5" -weight = -32 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v7-5/ + - /docs/grafana/latest/whatsnew/whats-new-in-v7-5/ +description: Feature and improvement highlights for Grafana v7.5 +keywords: + - grafana + - new + - documentation + - '7.5' + - release notes +title: What's new in Grafana v7.5 +weight: -32 +--- # What’s new in Grafana v7.5 diff --git a/docs/sources/whatsnew/whats-new-in-v8-0.md b/docs/sources/whatsnew/whats-new-in-v8-0.md index a78b1a98013..4d10b2d8df3 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-0.md +++ b/docs/sources/whatsnew/whats-new-in-v8-0.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-0/", "/docs/grafana/latest/whatsnew/whats-new-in-v8-0/"] -description = "Feature and improvement highlights for Grafana v8.0" -keywords = ["grafana", "new", "documentation", "8.0", "release notes"] -title = "What's new in Grafana v8.0" -weight = -33 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v8-0/ + - /docs/grafana/latest/whatsnew/whats-new-in-v8-0/ +description: Feature and improvement highlights for Grafana v8.0 +keywords: + - grafana + - new + - documentation + - '8.0' + - release notes +title: What's new in Grafana v8.0 +weight: -33 +--- # What’s new in Grafana v8.0 diff --git a/docs/sources/whatsnew/whats-new-in-v8-1.md b/docs/sources/whatsnew/whats-new-in-v8-1.md index 170f2e14fb4..167a3a43806 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-1.md +++ b/docs/sources/whatsnew/whats-new-in-v8-1.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-1/", "/docs/grafana/latest/whatsnew/whats-new-in-v8-1/"] -description = "Feature and improvement highlights for Grafana v8.1" -keywords = ["grafana", "new", "documentation", "8.1", "release notes"] -title = "What's new in Grafana v8.1" -weight = -33 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v8-1/ + - /docs/grafana/latest/whatsnew/whats-new-in-v8-1/ +description: Feature and improvement highlights for Grafana v8.1 +keywords: + - grafana + - new + - documentation + - '8.1' + - release notes +title: What's new in Grafana v8.1 +weight: -33 +--- # What’s new in Grafana v8.1 diff --git a/docs/sources/whatsnew/whats-new-in-v8-2.md b/docs/sources/whatsnew/whats-new-in-v8-2.md index 93dca060563..5717519ff30 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-2.md +++ b/docs/sources/whatsnew/whats-new-in-v8-2.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-2/", "/docs/grafana/latest/whatsnew/whats-new-in-v8-2/"] -description = "Feature and improvement highlights for Grafana v8.2" -keywords = ["grafana", "new", "documentation", "8.2", "release notes"] -title = "What's new in Grafana v8.2" -weight = -33 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v8-2/ + - /docs/grafana/latest/whatsnew/whats-new-in-v8-2/ +description: Feature and improvement highlights for Grafana v8.2 +keywords: + - grafana + - new + - documentation + - '8.2' + - release notes +title: What's new in Grafana v8.2 +weight: -33 +--- # What’s new in Grafana v8.2 diff --git a/docs/sources/whatsnew/whats-new-in-v8-3.md b/docs/sources/whatsnew/whats-new-in-v8-3.md index a258bb9fbe0..31e86ab89b5 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-3.md +++ b/docs/sources/whatsnew/whats-new-in-v8-3.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-3/", "/docs/grafana/latest/whatsnew/whats-new-in-v8-3/"] -description = "Feature and improvement highlights for Grafana v8.3" -keywords = ["grafana", "new", "documentation", "8.3", "release notes"] -title = "What's new in Grafana v8.3" -weight = -33 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v8-3/ + - /docs/grafana/latest/whatsnew/whats-new-in-v8-3/ +description: Feature and improvement highlights for Grafana v8.3 +keywords: + - grafana + - new + - documentation + - '8.3' + - release notes +title: What's new in Grafana v8.3 +weight: -33 +--- # What’s new in Grafana v8.3 diff --git a/docs/sources/whatsnew/whats-new-in-v8-4.md b/docs/sources/whatsnew/whats-new-in-v8-4.md index cfa1aa905a6..45ba5fdbb4c 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-4.md +++ b/docs/sources/whatsnew/whats-new-in-v8-4.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-4/", "/docs/grafana/latest/whatsnew/whats-new-in-v8-4/"] -description = "Feature and improvement highlights for Grafana v8.4" -keywords = ["grafana", "new", "documentation", "8.4", "release notes"] -title = "What's new in Grafana v8.4" -weight = -33 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v8-4/ + - /docs/grafana/latest/whatsnew/whats-new-in-v8-4/ +description: Feature and improvement highlights for Grafana v8.4 +keywords: + - grafana + - new + - documentation + - '8.4' + - release notes +title: What's new in Grafana v8.4 +weight: -33 +--- # What’s new in Grafana v8.4 diff --git a/docs/sources/whatsnew/whats-new-in-v8-5.md b/docs/sources/whatsnew/whats-new-in-v8-5.md index 0187dd18e58..96b19a7deac 100644 --- a/docs/sources/whatsnew/whats-new-in-v8-5.md +++ b/docs/sources/whatsnew/whats-new-in-v8-5.md @@ -1,13 +1,19 @@ -+++ -aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-5/", "/docs/grafana/latest/whatsnew/whats-new-in-v8-5/"] -description = "Feature and improvement highlights for Grafana v8.5" -keywords = ["grafana", "new", "documentation", "8.5", "release notes"] -title = "What's new in Grafana v8.5" -weight = -33 - -[_build] - list = false -+++ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v8-5/ + - /docs/grafana/latest/whatsnew/whats-new-in-v8-5/ +description: Feature and improvement highlights for Grafana v8.5 +keywords: + - grafana + - new + - documentation + - '8.5' + - release notes +title: What's new in Grafana v8.5 +weight: -33 +--- # What’s new in Grafana v8.5 diff --git a/docs/sources/whatsnew/whats-new-in-v9-0.md b/docs/sources/whatsnew/whats-new-in-v9-0.md new file mode 100644 index 00000000000..1fc5e981bcd --- /dev/null +++ b/docs/sources/whatsnew/whats-new-in-v9-0.md @@ -0,0 +1,232 @@ +--- +_build: + list: false +aliases: + - /docs/grafana/latest/guides/whats-new-in-v9-0/ + - /docs/grafana/latest/whatsnew/whats-new-in-v9-0/ +description: Feature and improvement highlights for Grafana v9.0 +keywords: + - grafana + - new + - documentation + - '9.0' + - release notes +title: What's new in Grafana v9.0 +weight: -33 +--- + +# What’s new in Grafana v9.0 ((beta)) + +As tradition goes, GrafanaCon - our yearly community event for Grafana open source users, is also where we launch the latest software release of Grafana. Keeping up with tradition, we are excited to be announcing Grafana v9.0 - a release that elevates Grafana’s ease of use, discovery of data through new and improved visualizations and a default unified alerting experience. + +A big focus for Grafana is making observability and data visualization and analytics easier and more accessible for everyone. For popular data sources like Prometheus and Loki writing and understanding queries can be hard. This is why we are excited to announce that Grafana 9 comes with new visual query builders for both these data sources. These visual query builders will lower the barrier of entry and they help anyone to compose, understand and learn how the underlying query languages. + +The release also includes a brand-new powerful and fast heatmap visualization, a more accessible navigation menu, improvements to dashboard search, advanced security and authentication features, and more. + +We’ve summarized what’s new in the beta release here. If you’d like all the details you can check out the complete [changelog](https://github.com/grafana/grafana/blob/main/CHANGELOG.md). + +## Prometheus query builder + +Prometheus queries are not the easiest to write or understand. The PromQL query language is very complex and advanced. Even relatively simple queries are hard to compose and read for new users. This is why we are introducing a new UI query builder that allows anyone to compose and learn how Prometheus queries work. + +{{< figure src="/static/img/docs/prometheus/prom_query_builder_light.png" max-width="750px" caption="Prometheus query builder" >}} + +### Metric and label filters + +This new query builder allows you to easily search and select a metric as well as building label filters. You can start either the selecting a metric or a label filter as they both act as filters on each other. The metric selector allow you to search on multiple parts of the metric name at the same time, just separate each search string with a whitespace. + +### Operations + +All functions, aggregations and binary operations are added via the + Operation button. Operations are presented in the order they are executed, not in the inverted order they are written in the text query. This makes queries a lot easier to read and reason about as you now clearly see what function parameter is going to which function as well as information about parameter names and function documentation integrated into the builder. + +### Range vector + +The query builder will automatically mange and add the range vector, it will be shown as a parameter to the operations that require a range (rate, delta, increase etc). + +### Binary operations + +Simple binary operations like multiple or divide by scaler are represented via simple operation boxes like other functions but the builder also supports binary operations on nested query expressions. + +### Switch between code and builder + +You can switch between the text edit mode (Code) and the UI builder mode while having your text changes preserved as the visual builder model is derived from the text query using a full featured PromQL query parser. + +## Loki query builder + +Loki also has complex and powerful query language in LogQL. In many ways it’s more complex and has more syntax to remember than PromQL. Luckily the new query builder we are introducing in Grafana v 9.0 will help you write and understand Loki queries without knowing any of the syntax. Take a look at this example log query. + +{{< figure src="/static/img/docs/loki/loki_query_builder_log_query_light_theme.png" max-width="750px" caption="Loki query builder" >}} + +In the query builder you can add and edit label filters, line filters, parsers and functions. The image above shows a log query but you can also do metric queries. + +{{< figure src="/static/img/docs/loki/loki_query_builder_log_query_light_theme.png" max-width="750px" caption="Loki query builder" >}} + +The Loki query builder supports all the features listed for the prometheus query builder above, including support for nested binary operations, explain mode and switching between text editor and builder while preserving changes. + +## New heatmap panel + +We are replacing the old heatmap panel with a new modern panel that is using the new panel option architecture. + +{{< figure src="/static/img/docs/heatmap-panel/heatmap_panel.png" max-width="500px" caption="New heatmap panel" >}} + +New new heatmap panel has a number enhancements compared to the old version. + +- Multiple orders of magnitude faster +- Supports showing exemplars (traces) overlay +- Supports Prometheus sparse histograms +- Supports changing number of colors steps +- For unbucketed data, it performs smarter auto bucket sizing +- Supports filtering out bucket values close to but not exactly zero + +The new heatmap by default assumes that the data is pre-bucketed. So if your query returns time series each series is seen as separate bucket (y axis tick). The panel is so much faster than the old one so it can render many time series with thousands of data points each without issue. + +{{< figure src="/static/img/docs/heatmap-panel/heatmap_with_time_series_light_theme.png" max-width="500px" caption="Heatmap panel with time series" >}} + +## Unified alerting is the default in Grafana 9 + +Unified alerting is now on by default if you upgrade from an earlier version of Grafana. If you have been using legacy alerting in an earlier version of Grafana and you upgrade to Grafana 9 your alert rules will be automatically migrated and the legacy alerting interface will be replaced by the unified alerting interface. + +Unified alerting has been available since June, 2021, it now provides feature parity with legacy alerting and many additional benefits. To find out more on the process to revert back to legacy alerts if needed, click [here]({{< relref "../alerting/migrating-alerts/opt-out.md" >}}). Note that if you do revert back (by setting the Grafana config flag GF_UNIFIED_ALERTING_ENABLED to false), that we expect to remove legacy alerting in the next major Grafana release, Grafana 10. + +### Alert state history for Grafana managed alerts + +Alert state history for Grafana managed alerts indicates the cause of the state. Alert rules can be configured to use the "Alerting" or "OK" states when rule evaluations result in Error or NoData conditions. This change tracks the difference between, for example, Alerting, Alerting (NoData), and Alerting (Error). This change also updates the UI to handle the new serialized states: filtering, sorting, and coloring. + +### Images in notifications for Grafana managed alerts + +Unified alerting now provides the ability to capture an image for Grafana managed alerts and deliver it via a notification. This is configurable via the contact points tab of Unified alerting . This functionality was available in legacy dashboard alerting, but was missing in unified alerting. It requires the alert to be related to a specific dashboard using the “Dashboard UID” field. + +## Envelope encryption is generally available and enabled by default + +Grafana now uses envelope encryption to encrypt secrets in the database. Envelope encryption adds a layer of indirection to the encryption process. Instead of encrypting all secrets in the database with a single key, Grafana uses a set of keys called data encryption keys (DEKs) to encrypt them. These data encryption keys are themselves encrypted with a single key encryption key (KEK). This allows you to rotate your KEK and quickly re-encrypt your DEKs in case a key is compromised. In Grafana Enterprise, you can also store your KEK in an external Key Management Service (KMS) like AWS KMS or Azure Key Vault, for extra security. Learn more about envelope encryption in the [docs](https://grafana.com/docs/grafana/next/administration/database-encryption/#envelope-encryption). + +{{< figure src="/static/img/docs/enterprise/dashboards/envelope-encryption.png" max-width="750px" caption="Envelope encryption" >}} + +## Dashboard previews (opt-in beta) + +The dashboard previews initially came to life during our internal [Grafana Labs Hackathon](https://grafana.com/blog/2022/01/14/all-about-the-grafana-labs-hackathon-2.0/?), and are now ready for an opt-in beta release. The previews provide an overview of all available dashboards and help you quickly find the right dashboard when the dashboard names aren’t enough. + +Refer to the [Dashboard previews topic](https://grafana.com/docs/grafana/next/dashboards/previews/) for instructions on how to enable the feature and current limitations. + +{{< figure src="/static/img/docs/dashboards/dashboard-previews.png" max-width="750px" caption="Dashboard previews" >}} + +## Panel title search + +In addition to searching dashboards by title, you can now search panels as well. If a panel’s title matches your search query, it will be displayed in the search results. + +## Expanding the navigation bar + +You can expand the navigation bar for a better overview of Grafana’s features and installed integrations. This is the first improvement to Grafana’s navigation, with more to come in future releases. + +{{< figure src="/static/img/docs/expanding-nav-bar-9-0.png" max-width="750px" caption="Expanding nav bar" >}} + +## Starred dashboards in the navigation bar + +As part of the upcoming improvements to Grafana’s navigation, you can now directly access your starred dashboards from the navigation bar. This is currently an opt-in feature that can be accessed by enabling the savedItems feature flag. + +{{< figure src="/static/img/docs/dashboards/starred-dashboards-nav-bar.png" max-width="750px" caption="Starred dashboards" >}} + +## Explore to Dashboard + +It is now possible to create panels and/or dashboards directly from Explore. When clicking on the “Add to dashboard” button in the Explore toolbar users can now create a panel in a new dashboard or in an existing one. The generated panel contains all the pane’s queries and a default visualization automatically picked from the current results shown in Explore. Dashboards are not automatically saved so that users can go through the current save flow. Optionally, dashboards can be opened in a new tab to preserve Explore’s state. + +{{< figure src="/static/img/docs/dashboards/explore-to-dashboard-9-0.png" max-width="500px" caption="Explore to dashboard" >}} + +## Command palette + +Using cmd+k (macOS) or ctrl+k (Linux/Windows), users can pull up a palette of commands that allow easier navigation and other tasks. + +## List of errors with trace IDs + +In order to support debugging issues in Grafana, error alerts that appear in Grafana include a trace ID, and these alerts can be accessed under your Profile. This is currently an opt-in feature that can be accessed by enabling two feature flags: + +- `tracing` - enables the tracing id in error messages +- `persistNotifications` - enables the alerts page under Profile + +{{< figure src="/static/img/docs/dashboards/errors-with-trace-ids.png" max-width="500px" caption="Errors with trace IDs" >}} + +## Query History migration + +Query history is a panel that keeps track of all queries that are run in Explore. So far the history was saved in browser local storage causing some problems, for example running out of storage space or not being able to use the same query history in different browsers. Not anymore! We’re migrating all entries from browser local storage to the database. Migration will happen behind the senses when query history panel is opened. This feature can be disabled using config entry query_history in custom.ini. + +{{< figure src="/static/img/docs/panels/query-history-9-0.png" max-width="900px" caption="Query history" >}} + +## Enterprise + +### Access control + +### RBAC is generally available + +Fine-grained access control is now called role-based access control, or RBAC. It is now enabled by default in Grafana Enterprise and Grafana Cloud Advanced, so you can create and define custom roles like Annotations Writer, Users Viewer, and Dashboard Permissions Writer for users, teams, or service accounts. Learn more about RBAC in the [docs](https://grafana.com/docs/grafana/next/enterprise/access-control/). + +{{< figure src="/static/img/docs/enterprise/rbac-ga.png" max-width="755px" caption="RBAC is GA" >}} + +## Reporting + +### Add multiple dashboards to a single report + +If you have information spread across several dashboards that you’d like to send out to a group of recipients periodically, you can now add multiple dashboards to a single report and send it all in one email. Learn more about Reporting in the [Reporting docs](https://grafana.com/docs/grafana/latest/enterprise/reporting/#reporting). + +### Embed an image of a dashboard in a report + +Reporting is all about convenience - getting info to eyeballs as quickly as possible. Now you can embed an image of a dashboard directly within a report email, so your recipients can see it right when they open the message instead of opening an attached PDF. This is especially handy for SLOs, financial results, or other at-a-glance data. Learn more about Reporting in the [Reporting docs](https://grafana.com/docs/grafana/latest/enterprise/reporting/#reporting). + +{{< figure src="/static/img/docs/dashboards/report-embedded-image.png" max-width="750px" caption="Embed report" >}} + +## Breaking Changes + +This is a partial list of notable breaking changes. For the complete list, see our [Release Notes](LINK-TO-9.0-RELEASE-NOTES). + +### Role-based access control: changes for general release + +Fine-grained access control is now called "Role-based access control". As part of the Grafana 9.0 release, the service is generally available, and there are several breaking changes: + +Built-in roles are now called basic roles, and they now consist of permissions, not roles +The Terraform builtin_role_assignment resource is going away. +Grafana provisioning has a new schema, please refer to the documentation for more information. +Basic roles no longer support permission inheritance. Previously, when permissions of a Viewer basic role were modified, it was propagated to the Editor and Admin basic roles. With the Grafana 9.0 release, this is not the case anymore. + +### Loki: logs data format changed + +In the Loki data source, the data format used to represent Loki logs-data has been changed to a more efficient format. (NOTE: this change applies to logs data only, it does not apply to numeric data) +The logs are represented by a single dataframe with a "labels" field added, instead of separate dataframes for every label combination. Displaying logs data in explore, or in a dashboard using the logs panel will continue to work without changes. But, when displaying logs data in other dashboard panels, for example in a table visualization, changes will be visible, and configurations might need to be adjusted. For example, if the "Labels to fields" transformation was used, it has to be replaced with an “Extract fields” transformation, where the “labels” field is chosen as the source. + +### Loki: NaN values representation changed in numeric data + +In the Loki data source, when grafana receives numeric data from Loki, it may contain NaN (not a number) values. For consistency and performance reasons we changed how we represent such values in Grafana. In previous versions, the behavior was different between alerting queries and other queries (like dashboard queries or explore queries). Alerting queries kept NaN values unchanged, but other queries converted these values to “null”. Starting with grafana 9.0.0, we will always keep these values unchanged. In other words, queries in dashboards and explore will behave the same as alerting queries in this regard. + +### Elasticsearch: Support for versions after their end of life was removed + +Support for Elasticsearch versions that are after their end of life ( based on https://www.elastic.co/support/eol ) was removed. This means that versions older than Elasticseach 7.10.0 will not be supported in Grafana 9.0.0. + +### Elasticsearch: Support for browser access mode removed + +In the Elasticsearch data source, browser access mode was deprecated in grafana 7.4.0 and removed in 9.0.0. If you used this mode, please switch to server access mode on the data source configuration page. + +### Prometheus: NaN values representation changed in numeric data + +In the Prometheus data source, when grafana receives numeric data from Prometheus, it may contain NaN (not a number) values. For consistency and performance reasons we changed how we represent such values in Grafana. In previous versions, the behavior was different between alerting queries and other queries (like dashboard queries or explore queries). Alerting queries kept NaN values unchanged, but other queries converted these values to “null”. Starting with grafana 9.0.0, we will always keep NaN values unchanged for all queries. + + + +### Transformations: Allow more complex regex expressions in rename by regex + +The rename by regex transformation has been improved to allow global patterns of the form `//g`. Depending on the regex match used, this may cause some transformations to behave slightly differently. You can guarantee the same behavior as before by wrapping the match string in forward slashes (/), for example, (._) would become /(._)/. ([Github Issue #48179](https://github.com/grafana/grafana/pull/48179)) + +## A note on Grafana Enterprise licensing + +When we release Grafana 9.0 on June 14th, Grafana will no longer enforce viewers and editor-admins differently. That means that regardless of whether your Grafana Enterprise license is tiered or combined, instead of seeing this on the Stats & Licensing page: + +{{< figure src="/static/img/docs/enterprise/separate-licenses.png" max-width="500px" caption="Separate license" >}} + +You will see this: + +{{< figure src="/static/img/docs/enterprise/combined-licenses.png" max-width="500px" caption="Combined license" >}} + +It also means that Grafana will count all users the same, regardless of their role, including org roles (Viewer, Editor, Admin) and fine-grained roles (Dashboard Editor, Reports Editor, etc.). You won’t see a separate warning banner or see users locked out if you hit your limit of viewers or editor-admins, only your total combined limit of active users. + +For example, if you have a license for 10 active admins and 100 active viewers in your Grafana Enterprise license, then starting in v9.0 you will have a limit of 110 active users, and it doesn’t matter what roles those users have, they will all be counted and enforced the same. + +This is a more permissive policy than before. diff --git a/go.mod b/go.mod index 821e967d0d9..3900b7e23b5 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,9 @@ replace github.com/denisenkom/go-mssqldb => github.com/grafana/go-mssqldb v0.0.0 // It's also present on grafana/loki's go.mod so we'll need till it gets updated. replace k8s.io/client-go => k8s.io/client-go v0.22.1 +// Github issue https://github.com/etcd-io/etcd/issues/11154 +replace go.etcd.io/etcd => go.etcd.io/etcd v0.0.0-20200520232829-54ba9589114f + replace github.com/russellhaering/goxmldsig@v1.1.0 => github.com/russellhaering/goxmldsig v1.1.1 require ( @@ -231,7 +234,7 @@ require ( go.uber.org/atomic v1.9.0 go.uber.org/goleak v1.1.12 // indirect golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect - golang.org/x/text v0.3.7 // indirect + golang.org/x/text v0.3.7 golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3 diff --git a/go.sum b/go.sum index fe6d2ae3be3..0f8a1421224 100644 --- a/go.sum +++ b/go.sum @@ -585,7 +585,6 @@ github.com/cockroachdb/apd/v2 v2.0.1/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOG github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/datadriven v0.0.0-20190531201743-edce55837238/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= @@ -1218,7 +1217,6 @@ github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/ github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= -github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -1299,7 +1297,6 @@ github.com/gomodule/redigo v1.8.4/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUz github.com/gomodule/redigo v1.8.5/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= @@ -1461,10 +1458,6 @@ github.com/grafana/loki v1.6.2-0.20211015002020-7832783b1caa/go.mod h1:0O8o/juxN github.com/grafana/saml v0.0.0-20211007135653-aed1b2edd86b h1:YiSGp34F4V0G08HHx1cJBf2GVgwYAkXQjzuVs1t8jYk= github.com/grafana/saml v0.0.0-20211007135653-aed1b2edd86b/go.mod h1:q83kyQoMD0vhy+RzFLlbw0UgHJ6TAihQpuXvdFmm4s4= github.com/grafana/sqlds/v2 v2.3.2/go.mod h1:34uyqPBWsEvg4V/xxh6V4uIqwu1qLfOfsmScll/ukrk= -github.com/grafana/thema v0.0.0-20220413232647-fc54c169b508 h1:6k0scTj6kRDjn/qLigsLc9OTiMMaWkRUxjKBFowWEWg= -github.com/grafana/thema v0.0.0-20220413232647-fc54c169b508/go.mod h1:KuqTKX9lfM87uu9vt9DS/q+REqSrAm2xYMnBBvlmevA= -github.com/grafana/thema v0.0.0-20220427204245-a557e8970249 h1:PLB1iSjrosHU5MN3eJ2tSvjXX9zkek7gLeBF/L/3oFo= -github.com/grafana/thema v0.0.0-20220427204245-a557e8970249/go.mod h1:KuqTKX9lfM87uu9vt9DS/q+REqSrAm2xYMnBBvlmevA= github.com/grafana/thema v0.0.0-20220523183731-72aebd14e751 h1:5PpsfN52XA0hxOjD/qQ0QNiEkp9Y9Tb+yz/Hj9fyL4M= github.com/grafana/thema v0.0.0-20220523183731-72aebd14e751/go.mod h1:KuqTKX9lfM87uu9vt9DS/q+REqSrAm2xYMnBBvlmevA= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -1480,7 +1473,6 @@ github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2.0.20201207153454-9f6 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20191002090509-6af20e3a5340 h1:uGoIog/wiQHI9GAxXO5TJbT0wWKH3O9HhOJW1F9c3fY= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20191002090509-6af20e3a5340/go.mod h1:3bDW6wMZJB7tiONtC/1Xpicra6Wp5GgbTbQWCbI5fkc= -github.com/grpc-ecosystem/grpc-gateway v1.4.1/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= @@ -1782,7 +1774,6 @@ github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a/go.mod h1:Oz+ github.com/jsimonetti/rtnetlink v0.0.0-20190830100107-3784a6c7c552/go.mod h1:Oz+70psSo5OFh8DBl0Zv2ACw7Esh6pPUphlvZG9x7uw= github.com/jsimonetti/rtnetlink v0.0.0-20200117123717-f846d4f6c1f4/go.mod h1:WGuG/smIU4J/54PblvSbh+xvCZmpJnFgr3ds6Z55XMQ= github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -1853,7 +1844,6 @@ github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.0.0/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= @@ -1978,7 +1968,6 @@ github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/mattn/go-xmlrpc v0.0.3/go.mod h1:mqc2dz7tP5x5BKlCahN/n+hs7OSZKJkS9JsHNBRlrxA= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/matttproud/golang_protobuf_extensions v1.0.0/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -2154,7 +2143,6 @@ github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -2287,7 +2275,6 @@ github.com/prometheus/alertmanager v0.23.1-0.20210914172521-e35efbddb66a/go.mod github.com/prometheus/alertmanager v0.23.1-0.20211116083607-e2a10119aaf7 h1:OMwDo53awRp+UzaBrwmVC7HJiAMYP/niBJfKcGpPiac= github.com/prometheus/alertmanager v0.23.1-0.20211116083607-e2a10119aaf7/go.mod h1:1UH4XA4DAXzsvofKVzcXmC0mqt6Y8BZP9JcQWKDmbFc= github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -2308,7 +2295,6 @@ github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3e github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -2318,7 +2304,6 @@ github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.0.0-20180518154759-7600349dcfe1/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -2354,7 +2339,6 @@ github.com/prometheus/exporter-toolkit v0.7.0/go.mod h1:ZUBIj498ePooX9t/2xtDjeQY github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289 h1:dTUS1vaLWq+Y6XKOTnrFpoVsQKLCbCp1OLj24TDi7oM= github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289/go.mod h1:FGbBv5OPKjch+jNUJmEQpMZytIdyW0NdBtWFcfSKusc= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20180612222113-7d6f385de8be/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -2504,7 +2488,6 @@ github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvq github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -2768,12 +2751,8 @@ go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5-0.20200615073812-232d8fc87f50/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20190709142735-eb7dd97135a5/go.mod h1:N0RPWo9FXJYZQI4BTkDtQylrstIigYHeR18ONnyTufk= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200520232829-54ba9589114f/go.mod h1:skWido08r9w6Lq/w70DO5XYIKMu4QFu1+4VsqLQuJy8= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= -go.etcd.io/etcd v3.3.25+incompatible h1:V1RzkZJj9LqsJRy+TUBgpWSbZXITLB819lstuTFoZOY= -go.etcd.io/etcd v3.3.25+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI= +go.etcd.io/etcd v0.0.0-20200520232829-54ba9589114f h1:uj/Xzadu0dyweesgOo+HghLYs0ssb9IRDvMp1UbAwJU= +go.etcd.io/etcd v0.0.0-20200520232829-54ba9589114f/go.mod h1:skWido08r9w6Lq/w70DO5XYIKMu4QFu1+4VsqLQuJy8= go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= @@ -2919,7 +2898,6 @@ gocloud.dev v0.25.0 h1:Y7vDq8xj7SyM848KXf32Krda2e6jQ4CLh/mTeCSqXtk= gocloud.dev v0.25.0/go.mod h1:7HegHVCYZrMiU3IE1qtnzf/vRrDwLYnRNR3EhWX8x9Y= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180608092829-8ac0e0d97ce4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -3592,7 +3570,6 @@ google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180608181217-32ee49c4dd80/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= diff --git a/package.json b/package.json index 445cd167f97..367d2a91c1b 100644 --- a/package.json +++ b/package.json @@ -253,7 +253,7 @@ "@grafana/e2e-selectors": "workspace:*", "@grafana/experimental": "^0.0.2-canary.30", "@grafana/google-sdk": "0.0.3", - "@grafana/lezer-logql": "^0.0.11", + "@grafana/lezer-logql": "^0.0.12", "@grafana/runtime": "workspace:*", "@grafana/schema": "workspace:*", "@grafana/slate-react": "0.22.10-grafana", diff --git a/packages/grafana-data/src/field/scale.test.ts b/packages/grafana-data/src/field/scale.test.ts index 9cfd9dbb1ce..c09a8249c2e 100644 --- a/packages/grafana-data/src/field/scale.test.ts +++ b/packages/grafana-data/src/field/scale.test.ts @@ -1,6 +1,5 @@ import { createTheme } from '../themes'; import { ThresholdsMode, Field, FieldType, FieldColorModeId } from '../types'; -import { getColorForTheme } from '../utils'; import { ArrayVector } from '../vector/ArrayVector'; import { getScaleCalculator } from './scale'; @@ -41,12 +40,12 @@ describe('getScaleCalculator', () => { const calc = getScaleCalculator(field, theme); expect(calc(true as any)).toEqual({ percent: 1, - color: getColorForTheme('green', theme.v1), + color: theme.v1.visualization.getColorByName('green'), threshold: undefined, }); expect(calc(false as any)).toEqual({ percent: 0, - color: getColorForTheme('red', theme.v1), + color: theme.v1.visualization.getColorByName('red'), threshold: undefined, }); }); diff --git a/packages/grafana-data/src/index.ts b/packages/grafana-data/src/index.ts index 2cefae622b7..c05d6d0e32d 100644 --- a/packages/grafana-data/src/index.ts +++ b/packages/grafana-data/src/index.ts @@ -26,6 +26,3 @@ export { PanelPlugin, SetFieldConfigOptionsArgs, StandardOptionConfig } from './ export { createFieldConfigRegistry } from './panel/registryFactories'; export { QueryRunner, QueryRunnerOptions } from './types/queryRunner'; export { GroupingToMatrixTransformerOptions } from './transformations/transformers/groupingToMatrix'; - -// Moved to `@grafana/schema`, in Grafana 9, this will be removed -export * from './schema'; diff --git a/packages/grafana-data/src/schema.ts b/packages/grafana-data/src/schema.ts deleted file mode 100644 index abd505098f3..00000000000 --- a/packages/grafana-data/src/schema.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Moved to `@grafana/schema`, in Grafana 9, this will be removed -//--------------------------------------------------------------- -// grafana/grafana/packages/grafana-schema$ grep export src/schema/*.ts -/** - * @deprecated Moved to `@grafana/schema` package and will be removed in Grafana 9 - * @public - */ -export { - // Styles that changed - VizTextDisplayOptions as TextDisplayOptions, // rename -} from '@grafana/schema'; diff --git a/packages/grafana-data/src/text/string.ts b/packages/grafana-data/src/text/string.ts index 4031ea6fdb1..41fb2d0b4c1 100644 --- a/packages/grafana-data/src/text/string.ts +++ b/packages/grafana-data/src/text/string.ts @@ -34,7 +34,7 @@ export function stringToJsRegex(str: string): RegExp { return new RegExp(`^${str}$`); } - const match = str.match(new RegExp('^/(.*?)/(g?i?m?y?)$')); + const match = str.match(new RegExp('^/(.*?)/(g?i?m?y?s?)$')); if (!match) { throw new Error(`'${str}' is not a valid regular expression.`); diff --git a/packages/grafana-data/src/types/annotations.ts b/packages/grafana-data/src/types/annotations.ts index e701b6b3841..f5c3a72c51b 100644 --- a/packages/grafana-data/src/types/annotations.ts +++ b/packages/grafana-data/src/types/annotations.ts @@ -77,6 +77,12 @@ export interface AnnotationEventFieldMapping { } export type AnnotationEventMappings = Partial>; +type AnnotationQueryEditorProps = QueryEditorProps & { + // Needs to be optional otherwise component not using these cannot be used, even though they are passed on and can be + // just ignored if not used. + annotation?: AnnotationQuery; + onAnnotationChange?: (annotation: AnnotationQuery) => void; +}; /** * Since Grafana 7.2 @@ -86,7 +92,7 @@ export type AnnotationEventMappings = Partial> { /** * This hook lets you manipulate any existing stored values before running them though the processor. - * This is particularly helpful when dealing with migrating old formats. ie query as a string vs object + * This is particularly helpful when dealing with migrating old formats. ie query as a string vs object. */ prepareAnnotation?(json: any): TAnno; @@ -105,5 +111,5 @@ export interface AnnotationSupport>; + QueryEditor?: ComponentType>; } diff --git a/packages/grafana-data/src/types/featureToggles.gen.ts b/packages/grafana-data/src/types/featureToggles.gen.ts index 0a148018e63..2d990c58dda 100644 --- a/packages/grafana-data/src/types/featureToggles.gen.ts +++ b/packages/grafana-data/src/types/featureToggles.gen.ts @@ -18,7 +18,6 @@ export interface FeatureToggles { trimDefaults?: boolean; disableEnvelopeEncryption?: boolean; - httpclientprovider_azure_auth?: boolean; serviceAccounts?: boolean; database_metrics?: boolean; dashboardPreviews?: boolean; @@ -33,6 +32,7 @@ export interface FeatureToggles { tempoServiceGraph?: boolean; lokiBackendMode?: boolean; prometheus_azure_auth?: boolean; + prometheusAzureOverrideAudience?: boolean; influxdbBackendMigration?: boolean; newNavigation?: boolean; showFeatureFlagsInUI?: boolean; @@ -51,7 +51,6 @@ export interface FeatureToggles { azureMonitorResourcePickerForMetrics?: boolean; explore2Dashboard?: boolean; tracing?: boolean; - persistNotifications?: boolean; commandPalette?: boolean; savedItems?: boolean; cloudWatchDynamicLabels?: boolean; @@ -60,4 +59,5 @@ export interface FeatureToggles { traceToMetrics?: boolean; prometheusStreamingJSONParser?: boolean; validateDashboardsOnSave?: boolean; + prometheusWideSeries?: boolean; } diff --git a/packages/grafana-data/src/utils/namedColorsPalette.test.ts b/packages/grafana-data/src/utils/namedColorsPalette.test.ts index debb0630409..cc8f367cbf7 100644 --- a/packages/grafana-data/src/utils/namedColorsPalette.test.ts +++ b/packages/grafana-data/src/utils/namedColorsPalette.test.ts @@ -1,17 +1,15 @@ import { createTheme } from '../themes'; -import { getColorForTheme } from './namedColorsPalette'; - describe('colors', () => { const theme = createTheme(); describe('getColorFromHexRgbOrName', () => { it('returns black for unknown color', () => { - expect(getColorForTheme('aruba-sunshine', theme.v1)).toBe('aruba-sunshine'); + expect(theme.v1.visualization.getColorByName('aruba-sunshine')).toBe('aruba-sunshine'); }); it('returns dark hex variant for known color if theme not specified', () => { - expect(getColorForTheme('semi-dark-blue', theme.v1)).toBe('#3274D9'); + expect(theme.v1.visualization.getColorByName('semi-dark-blue')).toBe('#3274D9'); }); }); }); diff --git a/packages/grafana-data/src/utils/namedColorsPalette.ts b/packages/grafana-data/src/utils/namedColorsPalette.ts index 4d2424c1721..6d798ec96af 100644 --- a/packages/grafana-data/src/utils/namedColorsPalette.ts +++ b/packages/grafana-data/src/utils/namedColorsPalette.ts @@ -1,19 +1,3 @@ -import { GrafanaTheme, GrafanaThemeType } from '../types/theme'; - -/** - * @deprecated use theme.visualization.getColorByName - */ -export function getColorForTheme(color: string, theme: GrafanaTheme): string { - return theme.visualization.getColorByName(color); -} - -/** - * @deprecated use getColorForTheme - */ -export function getColorFromHexRgbOrName(color: string, type?: GrafanaThemeType): string { - return 'gray'; -} - export const classicColors = [ '#7EB26D', // 0: pale green '#EAB839', // 1: mustard diff --git a/packages/grafana-data/src/utils/valueMappings.test.ts b/packages/grafana-data/src/utils/valueMappings.test.ts index 8acee459ce7..1d656debfef 100644 --- a/packages/grafana-data/src/utils/valueMappings.test.ts +++ b/packages/grafana-data/src/utils/valueMappings.test.ts @@ -85,6 +85,16 @@ const testSet2: ValueMapping[] = [ }, ]; +const testSet3: ValueMapping[] = [ + { + type: MappingType.RegexToText, + options: { + pattern: '/.*/s', + result: { text: 'WOW IT REPLACED EVERYTHING OVER MULTIPLE LINES' }, + }, + }, +]; + describe('Format value with value mappings', () => { it('should return null with no valuemappings', () => { const valueMappings: ValueMapping[] = []; @@ -194,6 +204,12 @@ describe('Format value with regex mappings', () => { it('should not replace match when replace text is null', () => { expect(getValueMappingResult(testSet2, 'hello my name is')).toEqual({ color: 'red' }); }); + + it('supports replacing over multiple lines', () => { + expect(getValueMappingResult(testSet3, 'hello \n my name is')).toEqual({ + text: 'WOW IT REPLACED EVERYTHING OVER MULTIPLE LINES', + }); + }); }); describe('isNumeric', () => { diff --git a/packages/grafana-data/tsconfig.json b/packages/grafana-data/tsconfig.json index d56edaaf559..22c856eb4aa 100644 --- a/packages/grafana-data/tsconfig.json +++ b/packages/grafana-data/tsconfig.json @@ -9,11 +9,5 @@ }, "exclude": ["dist", "node_modules"], "extends": "@grafana/tsconfig", - "include": [ - "src/**/*.ts*", - "typings/jest", - "../../public/app/types/jquery/*.ts", - "../../public/app/types/*.d.ts", - "../../public/app/types/sanitize-url.d.ts" - ] + "include": ["src/**/*.ts*", "typings/jest", "../../public/app/types/jquery/*.ts", "../../public/app/types/*.d.ts"] } diff --git a/packages/grafana-toolkit/README.md b/packages/grafana-toolkit/README.md index 67f653a11a5..324fafede0e 100644 --- a/packages/grafana-toolkit/README.md +++ b/packages/grafana-toolkit/README.md @@ -328,10 +328,30 @@ You can contribute to grafana-toolkit by helping develop it or by debugging it. Typically plugins should be developed using the `@grafana/toolkit` installed from npm. However, when working on the toolkit, you might want to use the local version. Follow the steps below to develop with a local version: +#### Prerequisites + +For the following to work make sure to have a plugin that uses yarn berry and yarn PnP to test changes against. Feel free to clone the panel plugin [here](https://github.com/jackw/plugin-yarn-berry) if need be. + 1. Clone [Grafana repository](https://github.com/grafana/grafana). 2. Navigate to the directory you have cloned Grafana repo to and then run `yarn install --immutable`. -3. Navigate to `/packages/grafana-toolkit` and then run `yarn link`. -4. Navigate to the directory where your plugin code is and then run `npx grafana-toolkit plugin:dev --yarnlink`. This adds all dependencies required by grafana-toolkit to your project, as well as link your local grafana-toolkit version to be used by the plugin. +3. Open `packages/grafana-toolkit/package.json`, delete any mention of `@grafana/data` and `@grafana/ui`. Then add the following: + +``` + "devDependencies": { + "@grafana/data": "workspace:*", + "@grafana/ui": "workspace:*" + }, + "peerDependencies": { + "@grafana/data": "*", + "@grafana/ui": "*" + } +``` + +**DO NOT commit this `package.json` code change. It is required to resolve these `@grafana` packages from the plugin for development purposes only.** + +4. Run `yarn` in the grafana repo. +5. Navigate to the directory where your plugin code is and then run `yarn link /packages/grafana-toolkit`. This uses yarn berry's `portal` protocol to "link" the grafana-toolkit package and resolve it's dependencies into your plugin code allowing you to develop toolkit and test changes against plugin code. +6. Make the required changes to Grafana toolkit. ### Debug grafana-toolkit diff --git a/packages/grafana-toolkit/package.json b/packages/grafana-toolkit/package.json index 622fee2cc0a..1dd3e2824aa 100644 --- a/packages/grafana-toolkit/package.json +++ b/packages/grafana-toolkit/package.json @@ -26,82 +26,92 @@ }, "main": "src/index.ts", "dependencies": { - "@babel/core": "7.13.14", - "@babel/preset-env": "7.13.12", + "@babel/core": "^7.17.8", + "@babel/plugin-proposal-class-properties": "7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.16.7", + "@babel/plugin-proposal-object-rest-spread": "7.17.3", + "@babel/plugin-proposal-optional-chaining": "7.16.7", + "@babel/plugin-syntax-dynamic-import": "7.8.3", + "@babel/plugin-transform-react-constant-elements": "7.17.6", + "@babel/plugin-transform-runtime": "7.17.0", + "@babel/plugin-transform-typescript": "7.16.8", + "@babel/preset-env": "^7.16.11", + "@babel/preset-react": "^7.16.7", + "@babel/preset-typescript": "^7.16.7", "@grafana/data": "9.0.0-beta.1", - "@grafana/eslint-config": "2.5.2", + "@grafana/eslint-config": "^3.0.0", "@grafana/tsconfig": "^1.2.0-rc1", "@grafana/ui": "9.0.0-beta.1", - "@jest/core": "26.6.3", - "@rushstack/eslint-patch": "1.0.6", + "@jest/core": "27.5.1", "@types/command-exists": "^1.2.0", - "@types/eslint": "7.28.0", + "@types/eslint": "8.4.1", "@types/fs-extra": "^9.0.13", - "@types/inquirer": "^8.0.0", - "@types/jest": "27.0.2", - "@types/lodash": "4.14.149", - "@types/node": "^16.0.0", - "@types/prettier": "^2.4.0", - "@types/react-dev-utils": "^9.0.4", - "@types/rimraf": "^3.0.0", - "@types/semver": "^7.0.0", - "@types/tmp": "^0.1.0", - "@types/webpack": "4.41.7", - "@typescript-eslint/eslint-plugin": "4.28.0", - "@typescript-eslint/parser": "4.28.0", - "axios": "0.26.1", - "babel-jest": "26.6.3", - "babel-loader": "8.2.2", + "@types/inquirer": "^8.2.1", + "@types/jest": "27.4.1", + "@types/lodash": "4.14.181", + "@types/node": "16.11.26", + "@types/prettier": "2.6.0", + "@types/react-dev-utils": "9.0.10", + "@types/rimraf": "3.0.2", + "@types/semver": "7.3.9", + "@types/tmp": "0.2.3", + "@typescript-eslint/eslint-plugin": "5.16.0", + "@typescript-eslint/parser": "5.16.0", + "axios": "^0.26.1", + "babel-jest": "27.5.1", + "babel-loader": "^8.2.4", "babel-plugin-angularjs-annotate": "0.10.0", - "chalk": "^4.0.0", - "command-exists": "^1.2.8", - "commander": "^8.0.0", - "concurrently": "6.3.0", - "copy-webpack-plugin": "5.1.2", - "css-loader": "3.4.2", - "eslint": "7.28.0", + "chalk": "^4.1.2", + "command-exists": "^1.2.9", + "commander": "^9.2.0", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^3.4.1", + "eslint": "8.11.0", + "eslint-config-prettier": "8.5.0", + "eslint-plugin-jsdoc": "38.0.6", + "eslint-plugin-react": "7.29.4", + "eslint-plugin-react-hooks": "4.3.0", "execa": "^5.1.1", - "file-loader": "6.2.0", - "fork-ts-checker-webpack-plugin": "6.4.0", + "file-loader": "^6.2.0", + "fork-ts-checker-webpack-plugin": "^7.2.1", "fs-extra": "^10.0.0", - "globby": "^10.0.1", - "html-loader": "0.5.5", - "html-webpack-plugin": "^3.2.0", - "inquirer": "^8.0.0", - "jest": "26.6.3", - "jest-canvas-mock": "2.3.0", + "globby": "^11.0.4", + "html-loader": "^3.1.0", + "html-webpack-plugin": "^5.5.0", + "inquirer": "^8.2.2", + "jest": "27.5.1", + "jest-canvas-mock": "2.3.1", "jest-coverage-badges": "^1.1.2", - "jest-environment-jsdom-fifteen": "^1.0.2", - "jest-junit": "^13.0.0", - "less": "^3.11.1", - "less-loader": "^5.0.0", - "lodash": "4.17.21", + "jest-junit": "13.1.0", + "less": "^4.1.2", + "less-loader": "^10.2.0", + "lodash": "^4.17.21", "md5-file": "^5.0.0", - "mini-css-extract-plugin": "^0.7.0", - "optimize-css-assets-webpack-plugin": "6.0.1", - "ora": "^4.0.3", - "pixelmatch": "^5.1.0", + "mini-css-extract-plugin": "^2.6.0", + "ora": "^5.4.1", + "pixelmatch": "^5.2.1", "pngjs": "^6.0.0", - "postcss-flexbugs-fixes": "4.2.0", - "postcss-loader": "3.0.0", - "postcss-preset-env": "6.7.0", + "postcss": "^8.4.12", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-preset-env": "7.4.3", "prettier": "2.6.0", "react-dev-utils": "^12.0.0", - "replace-in-file": "^4.1.0", - "replace-in-file-webpack-plugin": "^1.0.6", - "rimraf": "^3.0.0", - "sass": "1.27.0", - "sass-loader": "8.0.2", - "semver": "^7.1.3", - "simple-git": "^3.5.0", - "style-loader": "1.1.3", - "terser-webpack-plugin": "2.3.7", - "ts-jest": "26.4.4", - "ts-loader": "6.2.1", - "ts-node": "9.0.0", + "replace-in-file-webpack-plugin": "1.0.6", + "rimraf": "3.0.2", + "sass": "^1.49.9", + "sass-loader": "^12.6.0", + "semver": "^7.3.7", + "simple-git": "^3.6.0", + "style-loader": "^3.3.1", + "terser-webpack-plugin": "^5.3.1", + "ts-jest": "27.1.3", + "ts-loader": "^9.2.8", + "ts-node": "^9.1.0", "tslib": "2.4.0", "typescript": "4.6.4", - "url-loader": "^2.0.1", - "webpack": "4.41.5" + "url-loader": "^4.1.1", + "webpack": "^5.72.0" } } diff --git a/packages/grafana-toolkit/src/cli/index.ts b/packages/grafana-toolkit/src/cli/index.ts index 8dc814cf0fb..3f5943740f0 100644 --- a/packages/grafana-toolkit/src/cli/index.ts +++ b/packages/grafana-toolkit/src/cli/index.ts @@ -1,4 +1,3 @@ -// @ts-ignore import chalk from 'chalk'; import { program } from 'commander'; @@ -6,7 +5,6 @@ import { changelogTask } from './tasks/changelog'; import { cherryPickTask } from './tasks/cherrypick'; import { closeMilestoneTask } from './tasks/closeMilestone'; import { componentCreateTask } from './tasks/component.create'; -import { startTask } from './tasks/core.start'; import { nodeVersionCheckerTask } from './tasks/nodeVersionChecker'; import { buildPackageTask } from './tasks/package.build'; import { pluginBuildTask } from './tasks/plugin.build'; @@ -26,19 +24,6 @@ import { execTask } from './utils/execTask'; export const run = (includeInternalScripts = false) => { if (includeInternalScripts) { program.option('-d, --depreciate ', 'Inform about npm script deprecation', (v) => v.split(',')); - program - .command('core:start') - .option('-h, --hot', 'Run front-end with HRM enabled') - .option('-T, --noTsCheck', 'Run bundler without TS type checking') - .option('-t, --watchTheme', 'Watch for theme changes and regenerate variables.scss files') - .description('Starts Grafana front-end in development mode with watch enabled') - .action(async (cmd) => { - await execTask(startTask)({ - watchThemes: cmd.watchTheme, - noTsCheck: cmd.noTsCheck, - hot: cmd.hot, - }); - }); program .command('package:build') @@ -165,12 +150,10 @@ export const run = (includeInternalScripts = false) => { program .command('plugin:dev') .option('-w, --watch', 'Run plugin development mode with watch enabled') - .option('--yarnlink', 'symlink this project to the local grafana/toolkit') .description('Starts plugin dev mode') .action(async (cmd) => { await execTask(pluginDevTask)({ watch: !!cmd.watch, - yarnlink: !!cmd.yarnlink, silent: true, }); }); diff --git a/packages/grafana-toolkit/src/cli/tasks/core.start.ts b/packages/grafana-toolkit/src/cli/tasks/core.start.ts deleted file mode 100644 index 0d7e372f05f..00000000000 --- a/packages/grafana-toolkit/src/cli/tasks/core.start.ts +++ /dev/null @@ -1,44 +0,0 @@ -//@ts-ignore -import concurrently from 'concurrently'; - -import { Task, TaskRunner } from './task'; - -interface StartTaskOptions { - watchThemes: boolean; - noTsCheck: boolean; - hot: boolean; -} - -const startTaskRunner: TaskRunner = async ({ watchThemes, noTsCheck, hot }) => { - const noTsCheckArg = noTsCheck ? 1 : 0; - const jobs = [ - watchThemes && { - command: 'nodemon -e ts -w ./packages/grafana-ui/src/themes -x yarn run themes:generate', - name: 'SASS variables generator', - }, - hot - ? { - command: 'webpack serve --progress --color --config scripts/webpack/webpack.hot.js', - name: 'Dev server', - } - : { - command: `webpack --progress --color --watch --env noTsCheck=${noTsCheckArg} --config scripts/webpack/webpack.dev.js`, - name: 'Webpack', - }, - ]; - - try { - await concurrently( - jobs.filter((job) => !!job), - { - killOthers: ['failure', 'failure'], - raw: true, - } - ); - } catch (e) { - console.error(e); - process.exit(1); - } -}; - -export const startTask = new Task('Core startTask', startTaskRunner); diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin.build.ts b/packages/grafana-toolkit/src/cli/tasks/plugin.build.ts index 6fc22e1de95..beacb204b58 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin.build.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin.build.ts @@ -1,4 +1,4 @@ -import { CLIEngine } from 'eslint'; +import { ESLint } from 'eslint'; import execa from 'execa'; import { constants as fsConstants, promises as fs } from 'fs'; import globby from 'globby'; @@ -76,8 +76,6 @@ export const versions = async () => { // @ts-ignore const typecheckPlugin = () => useSpinner('Typechecking', () => execa('tsc', ['--noEmit'])); -const getTypescriptSources = () => globby(resolvePath(process.cwd(), 'src/**/*.+(ts|tsx)')); - // @ts-ignore const getStylesSources = () => globby(resolvePath(process.cwd(), 'src/**/*.+(scss|css)')); @@ -106,24 +104,34 @@ export const lintPlugin = ({ fix }: Fixable = {}) => } ); - const cli = new CLIEngine({ - configFile, + const eslint = new ESLint({ + extensions: ['.ts', '.tsx'], + overrideConfigFile: configFile, fix, useEslintrc: false, }); - const report = cli.executeOnFiles(await getTypescriptSources()); + const results = await eslint.lintFiles(resolvePath(process.cwd(), 'src')); if (fix) { - CLIEngine.outputFixes(report); + await ESLint.outputFixes(results); } - const { errorCount, results, warningCount } = report; - const formatter = cli.getFormatter(); + const { errorCount, warningCount } = results.reduce>( + (acc, value) => { + acc.errorCount += value.errorCount; + acc.warningCount += value.warningCount; + return acc; + }, + { errorCount: 0, warningCount: 0 } + ); + + const formatter = await eslint.loadFormatter('stylish'); + const resultText = formatter.format(results); if (errorCount > 0 || warningCount > 0) { console.log('\n'); - console.log(formatter(results)); + console.log(resultText); console.log('\n'); } diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts b/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts index 1b9a15b4136..78f363aa827 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts @@ -1,6 +1,3 @@ -import execa = require('execa'); -import path = require('path'); - import { useSpinner } from '../utils/useSpinner'; import { lintPlugin } from './plugin.build'; @@ -10,32 +7,7 @@ import { Task, TaskRunner } from './task'; const bundlePlugin = (options: PluginBundleOptions) => useSpinner('Bundling plugin in dev mode', () => bundleFn(options)); -const yarnlink = () => - useSpinner('Linking local toolkit', async () => { - try { - // Make sure we are not using package.json defined toolkit - await execa('yarn', ['remove', '@grafana/toolkit']); - } catch (e: any) { - console.log('\n', e.message, '\n'); - } - await execa('yarn', ['link', '@grafana/toolkit']); - - // Add all the same dependencies as toolkit - const args: string[] = ['add']; - const packages = require(path.resolve(__dirname, '../../../package.json')); - for (const [key, value] of Object.entries(packages.dependencies)) { - args.push(`${key}@${value}`); - } - await execa('yarn', args); - - console.log('Added dependencies required by local @grafana/toolkit. Do not checkin this package.json!'); - }); - const pluginDevRunner: TaskRunner = async (options) => { - if (options.yarnlink) { - return yarnlink(); - } - if (options.watch) { await bundleFn(options); } else { diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts b/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts index 345392ad632..7d8b433403c 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts @@ -1,17 +1,15 @@ -import clearConsole = require('react-dev-utils/clearConsole'); -import formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); -import webpack = require('webpack'); +import clearConsole from 'react-dev-utils/clearConsole'; +import formatWebpackMessages from 'react-dev-utils/formatWebpackMessages'; +import webpack from 'webpack'; import { loadWebpackConfig } from '../../../config/webpack.plugin.config'; export interface PluginBundleOptions { watch: boolean; production?: boolean; - yarnlink?: boolean; preserveConsole?: boolean; } -// export const bundlePlugin = ({ watch, production }: PluginBundleOptions) => useSpinner('Bundle plugin', async () => { export const bundlePlugin = async ({ watch, production, preserveConsole }: PluginBundleOptions) => { const compiler = webpack( await loadWebpackConfig({ @@ -32,9 +30,9 @@ export const bundlePlugin = async ({ watch, production, preserveConsole }: Plugi console.log('Compiling...'); }); - compiler.hooks.done.tap('done', (stats: webpack.Stats) => { + compiler.hooks.done.tap('done', (stats) => { clearConsole(); - const json: any = stats.toJson(); // different @types/webpack between react-dev-utils and grafana-toolkit + const json = stats.toJson(); const output = formatWebpackMessages(json); if (!output.errors.length && !output.warnings.length) { @@ -57,13 +55,13 @@ export const bundlePlugin = async ({ watch, production, preserveConsole }: Plugi } }); } else { - compiler.run((err: Error, stats: webpack.Stats) => { + compiler.run((err, stats) => { if (err) { reject(err); return; } - if (stats.hasErrors()) { + if (stats?.hasErrors()) { stats.compilation.errors.forEach((e) => { console.log(e.message); }); @@ -72,7 +70,7 @@ export const bundlePlugin = async ({ watch, production, preserveConsole }: Plugi return; } - console.log('\n', stats.toString({ colors: true }), '\n'); + console.log('\n', stats?.toString({ colors: true }), '\n'); resolve(); }); } diff --git a/packages/grafana-toolkit/src/config/eslint.plugin.js b/packages/grafana-toolkit/src/config/eslint.plugin.js index 35cd51a762d..8881050af33 100644 --- a/packages/grafana-toolkit/src/config/eslint.plugin.js +++ b/packages/grafana-toolkit/src/config/eslint.plugin.js @@ -1,5 +1,3 @@ -require('@rushstack/eslint-patch/modern-module-resolution'); - module.exports = { extends: ['@grafana/eslint-config'], rules: { diff --git a/packages/grafana-toolkit/src/config/jest.plugin.config.ts b/packages/grafana-toolkit/src/config/jest.plugin.config.ts index 647dc976526..8cb608c54d4 100644 --- a/packages/grafana-toolkit/src/config/jest.plugin.config.ts +++ b/packages/grafana-toolkit/src/config/jest.plugin.config.ts @@ -76,14 +76,14 @@ export const jestConfig = (baseDir: string = process.cwd()) => { }, ], ], - testEnvironment: require.resolve('jest-environment-jsdom-fifteen'), + testEnvironment: 'jsdom', testMatch: [ '/src/**/__tests__/**/*.{js,jsx,ts,tsx}', '/src/**/*.{spec,test,jest}.{js,jsx,ts,tsx}', '/spec/**/*.{spec,test,jest}.{js,jsx,ts,tsx}', ], transform: { - '^.+\\.js$': 'babel-jest', + '^.+\\.jsx?$': require.resolve('babel-jest'), '^.+\\.tsx?$': require.resolve('ts-jest'), }, transformIgnorePatterns: [ @@ -105,7 +105,8 @@ export const jestConfig = (baseDir: string = process.cwd()) => { export const loadJestPluginConfig = (baseDir: string = process.cwd()) => { const cfgpath = path.resolve(baseDir, 'jest.config.js'); if (!fs.existsSync(cfgpath)) { - const src = path.resolve(baseDir, 'node_modules/@grafana/toolkit/src/config/jest.plugin.config.local.js'); + const toolkitDir = path.dirname(require.resolve(`@grafana/toolkit/package.json`)); + const src = path.join(toolkitDir, 'src/config/jest.plugin.config.local.js'); fs.copyFileSync(src, cfgpath); console.log('Using standard jest plugin config', src); } diff --git a/packages/grafana-toolkit/src/config/webpack.plugin.config.ts b/packages/grafana-toolkit/src/config/webpack.plugin.config.ts index 09f57379e9b..5a67061b598 100644 --- a/packages/grafana-toolkit/src/config/webpack.plugin.config.ts +++ b/packages/grafana-toolkit/src/config/webpack.plugin.config.ts @@ -3,11 +3,11 @@ import * as webpack from 'webpack'; import { getStyleLoaders, getStylesheetEntries, getFileLoaders } from './webpack/loaders'; const CopyWebpackPlugin = require('copy-webpack-plugin'); +const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); const fs = require('fs'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const path = require('path'); const ReplaceInFileWebpackPlugin = require('replace-in-file-webpack-plugin'); const TerserPlugin = require('terser-webpack-plugin'); @@ -94,25 +94,20 @@ const getCommonPlugins = (options: WebpackConfigurationOptions) => { // both options are optional filename: 'styles/[name].css', }), - new webpack.optimize.OccurrenceOrderPlugin(true), - new CopyWebpackPlugin( - [ + new CopyWebpackPlugin({ + patterns: [ // If src/README.md exists use it; otherwise the root README - { from: hasREADME ? 'README.md' : '../README.md', to: '.', force: true, prority: 1 }, - { from: 'plugin.json', to: '.' }, - { from: '**/README.md', to: '[path]README.md', priority: 0 }, - { from: '../LICENSE', to: '.' }, - { from: '../CHANGELOG.md', to: '.', force: true }, - { from: '**/*.json', to: '.' }, - { from: '**/*.svg', to: '.' }, - { from: '**/*.png', to: '.' }, - { from: '**/*.html', to: '.' }, - { from: 'img/**/*', to: '.' }, - { from: 'libs/**/*', to: '.' }, - { from: 'static/**/*', to: '.' }, + { from: hasREADME ? 'README.md' : '../README.md', to: '.', force: true, priority: 1, noErrorOnMissing: true }, + { from: 'plugin.json', to: '.', noErrorOnMissing: true }, + { from: '**/README.md', to: '[path]README.md', priority: 0, noErrorOnMissing: true }, + { from: '../LICENSE', to: '.', noErrorOnMissing: true }, + { from: '../CHANGELOG.md', to: '.', force: true, noErrorOnMissing: true }, + { from: '**/*.{json,svg,png,html}', to: '.', noErrorOnMissing: true }, + { from: 'img/**/*', to: '.', noErrorOnMissing: true }, + { from: 'libs/**/*', to: '.', noErrorOnMissing: true }, + { from: 'static/**/*', to: '.', noErrorOnMissing: true }, ], - { logLevel: options.watch ? 'silent' : 'warn' } - ), + }), new ReplaceInFileWebpackPlugin([ { @@ -146,9 +141,11 @@ const getBaseWebpackConfig: WebpackConfigurationGetter = async (options) => { if (options.production) { const compressOptions = { drop_console: !options.preserveConsole, drop_debugger: true }; optimization.minimizer = [ - new TerserPlugin({ sourceMap: true, terserOptions: { compress: compressOptions } }), - new OptimizeCssAssetsPlugin(), + new TerserPlugin({ terserOptions: { compress: compressOptions } }), + new CssMinimizerPlugin(), ]; + optimization.chunkIds = 'total-size'; + optimization.moduleIds = 'size'; } else if (options.watch) { plugins.push(new HtmlWebpackPlugin()); } @@ -156,11 +153,6 @@ const getBaseWebpackConfig: WebpackConfigurationGetter = async (options) => { return { mode: options.production ? 'production' : 'development', target: 'web', - node: { - fs: 'empty', - net: 'empty', - tls: 'empty', - }, context: path.join(process.cwd(), 'src'), devtool: 'source-map', entry: await getEntries(), @@ -194,14 +186,12 @@ const getBaseWebpackConfig: WebpackConfigurationGetter = async (options) => { '@grafana/ui', '@grafana/runtime', '@grafana/data', - // @ts-ignore - (context, request, callback) => { + ({ request }, callback) => { const prefix = 'grafana/'; - if (request.indexOf(prefix) === 0) { - return callback(null, request.slice(prefix.length)); + if (request?.indexOf(prefix) === 0) { + return callback(undefined, request.slice(prefix.length)); } - // @ts-ignore callback(); }, ], @@ -209,43 +199,56 @@ const getBaseWebpackConfig: WebpackConfigurationGetter = async (options) => { resolve: { extensions: ['.ts', '.tsx', '.js'], modules: [path.resolve(process.cwd(), 'src'), 'node_modules'], + fallback: { + buffer: false, + fs: false, + stream: false, + http: false, + https: false, + string_decoder: false, + os: false, + timers: false, + }, }, module: { rules: [ { - test: /\.tsx?$/, - loaders: [ - { - loader: require.resolve('babel-loader'), - options: { - presets: [[require.resolve('@babel/preset-env'), { modules: false }]], - plugins: [require.resolve('babel-plugin-angularjs-annotate')], - sourceMaps: true, - }, + test: /\.[tj]sx?$/, + use: { + loader: require.resolve('babel-loader'), + options: { + cacheDirectory: true, + cacheCompression: false, + presets: [ + [require.resolve('@babel/preset-env'), { modules: false }], + [ + require.resolve('@babel/preset-typescript'), + { + allowNamespaces: true, + allowDeclareFields: true, + }, + ], + [require.resolve('@babel/preset-react')], + ], + plugins: [ + [ + require.resolve('@babel/plugin-transform-typescript'), + { + allowNamespaces: true, + allowDeclareFields: true, + }, + ], + require.resolve('@babel/plugin-proposal-class-properties'), + [require.resolve('@babel/plugin-proposal-object-rest-spread'), { loose: true }], + require.resolve('@babel/plugin-transform-react-constant-elements'), + require.resolve('@babel/plugin-proposal-nullish-coalescing-operator'), + require.resolve('@babel/plugin-proposal-optional-chaining'), + require.resolve('@babel/plugin-syntax-dynamic-import'), + require.resolve('babel-plugin-angularjs-annotate'), + ], }, - { - loader: require.resolve('ts-loader'), - options: { - onlyCompileBundledFiles: true, - transpileOnly: true, - }, - }, - ], - exclude: /(node_modules)/, - }, - { - test: /\.jsx?$/, - loaders: [ - { - loader: require.resolve('babel-loader'), - options: { - presets: [['@babel/preset-env', { modules: false }]], - plugins: ['angularjs-annotate'], - sourceMaps: true, - }, - }, - ], - exclude: /(node_modules)/, + }, + exclude: /node_modules/, }, ...getStyleLoaders(), { diff --git a/packages/grafana-toolkit/src/config/webpack/loaders.ts b/packages/grafana-toolkit/src/config/webpack/loaders.ts index fc4a386df45..3bad34d293f 100644 --- a/packages/grafana-toolkit/src/config/webpack/loaders.ts +++ b/packages/grafana-toolkit/src/config/webpack/loaders.ts @@ -76,21 +76,23 @@ export const getStyleLoaders = () => { const cssLoaders = [ { - loader: 'css-loader', + loader: require.resolve('css-loader'), options: { importLoaders: 1, sourceMap: true, }, }, { - loader: 'postcss-loader', + loader: require.resolve('postcss-loader'), options: { - plugins: () => [ - require('postcss-flexbugs-fixes'), - require('postcss-preset-env')({ - autoprefixer: { flexbox: 'no-2009', grid: true }, - }), - ], + postcssOptions: { + plugins: () => [ + require('postcss-flexbugs-fixes'), + require('postcss-preset-env')({ + autoprefixer: { flexbox: 'no-2009', grid: true }, + }), + ], + }, }, }, ]; @@ -103,27 +105,27 @@ export const getStyleLoaders = () => { }, { test: /(dark|light)\.scss$/, - use: [extractionLoader, ...cssLoaders, 'sass-loader'], + use: [extractionLoader, ...cssLoaders, require.resolve('sass-loader')], }, { test: /\.css$/, - use: ['style-loader', ...cssLoaders, 'sass-loader'], + use: ['style-loader', ...cssLoaders, require.resolve('sass-loader')], exclude: [`${styleDir}light.css`, `${styleDir}dark.css`], }, { test: /\.s[ac]ss$/, - use: ['style-loader', ...cssLoaders, 'sass-loader'], + use: ['style-loader', ...cssLoaders, require.resolve('sass-loader')], exclude: [`${styleDir}light.scss`, `${styleDir}dark.scss`], }, { test: /\.less$/, use: [ { - loader: 'style-loader', + loader: require.resolve('style-loader'), }, ...cssLoaders, { - loader: 'less-loader', + loader: require.resolve('less-loader'), options: { javascriptEnabled: true, }, diff --git a/packages/grafana-toolkit/tsconfig.json b/packages/grafana-toolkit/tsconfig.json index 864c187d763..cbfacdd8a00 100644 --- a/packages/grafana-toolkit/tsconfig.json +++ b/packages/grafana-toolkit/tsconfig.json @@ -11,5 +11,5 @@ }, "exclude": ["dist", "node_modules"], "extends": "@grafana/tsconfig", - "include": ["src/**/*.ts", "../../public/app/types/jquery/*.ts", "../../public/app/types/sanitize-url.d.ts"] + "include": ["src/**/*.ts", "../../public/app/types/jquery/*.ts"] } diff --git a/packages/grafana-ui/.storybook/tsconfig.json b/packages/grafana-ui/.storybook/tsconfig.json index 7a8f86da20c..bdf5280e75d 100644 --- a/packages/grafana-ui/.storybook/tsconfig.json +++ b/packages/grafana-ui/.storybook/tsconfig.json @@ -6,10 +6,5 @@ }, "exclude": ["../dist", "../node_modules"], "extends": "../tsconfig.json", - "include": [ - "../src/**/*.ts", - "../src/**/*.tsx", - "../../../public/app/types/sanitize-url.d.ts", - "../../../public/app/types/svg.d.ts" - ] + "include": ["../src/**/*.ts", "../src/**/*.tsx", "../../../public/app/types/svg.d.ts"] } diff --git a/packages/grafana-ui/src/components/Badge/Badge.tsx b/packages/grafana-ui/src/components/Badge/Badge.tsx index aa81bdfed1b..9cd0c78fe48 100644 --- a/packages/grafana-ui/src/components/Badge/Badge.tsx +++ b/packages/grafana-ui/src/components/Badge/Badge.tsx @@ -2,7 +2,7 @@ import { css, cx } from '@emotion/css'; import React, { HTMLAttributes } from 'react'; import tinycolor from 'tinycolor2'; -import { getColorForTheme, GrafanaTheme } from '@grafana/data'; +import { GrafanaTheme } from '@grafana/data'; import { useTheme } from '../../themes/ThemeContext'; import { stylesFactory } from '../../themes/stylesFactory'; @@ -44,7 +44,7 @@ export const Badge = React.memo(({ icon, color, text, tooltip, class Badge.displayName = 'Badge'; const getStyles = stylesFactory((theme: GrafanaTheme, color: BadgeColor) => { - let sourceColor = getColorForTheme(color, theme); + let sourceColor = theme.visualization.getColorByName(color); let borderColor = ''; let bgColor = ''; let textColor = ''; diff --git a/packages/grafana-ui/src/components/BarGauge/BarGauge.tsx b/packages/grafana-ui/src/components/BarGauge/BarGauge.tsx index 6155bacad5a..4971d4f2323 100644 --- a/packages/grafana-ui/src/components/BarGauge/BarGauge.tsx +++ b/packages/grafana-ui/src/components/BarGauge/BarGauge.tsx @@ -14,12 +14,12 @@ import { GAUGE_DEFAULT_MAXIMUM, GAUGE_DEFAULT_MINIMUM, getFieldColorMode, - TextDisplayOptions, ThresholdsMode, TimeSeriesValue, VizOrientation, } from '@grafana/data'; import { selectors } from '@grafana/e2e-selectors'; +import { VizTextDisplayOptions } from '@grafana/schema'; import { Themeable2 } from '../../types'; import { calculateFontSize, measureText } from '../../utils/measureText'; @@ -39,7 +39,7 @@ export interface Props extends Themeable2 { display?: DisplayProcessor; value: DisplayValue; orientation: VizOrientation; - text?: TextDisplayOptions; + text?: VizTextDisplayOptions; itemSpacing?: number; lcdCellWidth?: number; displayMode: BarGaugeDisplayMode; @@ -609,7 +609,7 @@ function getValueStyles( width: number, height: number, orientation: VizOrientation, - text?: TextDisplayOptions + text?: VizTextDisplayOptions ): CSSProperties { const styles: CSSProperties = { color, diff --git a/packages/grafana-ui/src/components/BigValue/BigValue.tsx b/packages/grafana-ui/src/components/BigValue/BigValue.tsx index 789bd7fd93a..da3088dab94 100644 --- a/packages/grafana-ui/src/components/BigValue/BigValue.tsx +++ b/packages/grafana-ui/src/components/BigValue/BigValue.tsx @@ -1,6 +1,7 @@ import React, { PureComponent } from 'react'; -import { DisplayValue, DisplayValueAlignmentFactors, FieldSparkline, TextDisplayOptions } from '@grafana/data'; +import { DisplayValue, DisplayValueAlignmentFactors, FieldSparkline } from '@grafana/data'; +import { VizTextDisplayOptions } from '@grafana/schema'; import { Themeable2 } from '../../types'; import { FormattedValueDisplay } from '../FormattedValueDisplay/FormattedValueDisplay'; @@ -57,7 +58,7 @@ export interface Props extends Themeable2 { /** Factors that should influence the positioning of the text */ alignmentFactors?: DisplayValueAlignmentFactors; /** Explicit font size control */ - text?: TextDisplayOptions; + text?: VizTextDisplayOptions; /** Specify which text should be visible in the BigValue */ textMode?: BigValueTextMode; /** If true disables the tooltip */ diff --git a/packages/grafana-ui/src/components/Button/Button.tsx b/packages/grafana-ui/src/components/Button/Button.tsx index 978d7dea8fa..2479687518a 100644 --- a/packages/grafana-ui/src/components/Button/Button.tsx +++ b/packages/grafana-ui/src/components/Button/Button.tsx @@ -10,7 +10,7 @@ import { ComponentSize } from '../../types/size'; import { getPropertiesForButtonSize } from '../Forms/commonStyles'; import { Icon } from '../Icon/Icon'; -export type ButtonVariant = 'primary' | 'secondary' | 'destructive' | 'link'; +export type ButtonVariant = 'primary' | 'secondary' | 'destructive'; export const allButtonVariants: ButtonVariant[] = ['primary', 'secondary', 'destructive']; export type ButtonFill = 'solid' | 'outline' | 'text'; export const allButtonFills: ButtonFill[] = ['solid', 'outline', 'text']; @@ -53,11 +53,6 @@ export const Button = React.forwardRef( iconOnly: !children, }); - deprecatedPropWarning( - variant === 'link', - `${Button.displayName}: Prop variant="link" is deprecated. Please use fill="text".` - ); - return (

diff --git a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.tsx b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.tsx index 1354458a7ac..2ea26ae1f60 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.tsx @@ -1,16 +1,33 @@ import { css } from '@emotion/css'; import React from 'react'; -import { GrafanaTheme2 } from '@grafana/data'; +import { CoreApp, GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; import { testIds } from '../../components/LokiQueryEditor'; import { LokiQueryField } from '../../components/LokiQueryField'; import { LokiQueryEditorProps } from '../../components/types'; -export function LokiQueryCodeEditor({ query, datasource, range, onRunQuery, onChange, data }: LokiQueryEditorProps) { +export function LokiQueryCodeEditor({ + query, + datasource, + range, + onRunQuery, + onChange, + data, + app, +}: LokiQueryEditorProps) { const styles = useStyles2(getStyles); + // the inner QueryField works like this when a blur event happens: + // - if it has an onBlur prop, it calls it + // - else it calls onRunQuery (some extra conditions apply) + // + // we want it to not do anything when a blur event happens in explore mode, + // so we set an empty-function in such case. otherwise we set `undefined`, + // which will cause it to run the query when blur happens. + const onBlur = app === CoreApp.Explore ? () => undefined : undefined; + return (
((props) - {editorMode === QueryEditorMode.Code && } + {editorMode === QueryEditorMode.Code && } {editorMode === QueryEditorMode.Builder && ( { ); }); + it('parses query with with unwrap and error filter', () => { + expect( + buildVisualQueryFromString('sum_over_time({app="frontend"} | logfmt | unwrap duration | __error__="" [1m])') + ).toEqual( + noErrors({ + labels: [ + { + op: '=', + value: 'frontend', + label: 'app', + }, + ], + operations: [ + { id: 'logfmt', params: [] }, + { id: 'unwrap', params: ['duration'] }, + { id: '__label_filter_no_errors', params: [] }, + { id: 'sum_over_time', params: ['1m'] }, + ], + }) + ); + }); + + it('parses query with with unwrap and label filter', () => { + expect( + buildVisualQueryFromString('sum_over_time({app="frontend"} | logfmt | unwrap duration | label="value" [1m])') + ).toEqual( + noErrors({ + labels: [ + { + op: '=', + value: 'frontend', + label: 'app', + }, + ], + operations: [ + { id: 'logfmt', params: [] }, + { id: 'unwrap', params: ['duration'] }, + { id: '__label_filter', params: ['label', '=', 'value'] }, + { id: 'sum_over_time', params: ['1m'] }, + ], + }) + ); + }); + it('returns error for query with unwrap and conversion operation', () => { const context = buildVisualQueryFromString( 'sum_over_time({app="frontend"} | logfmt | unwrap duration(label) [5m])' diff --git a/public/app/plugins/datasource/loki/querybuilder/parsing.ts b/public/app/plugins/datasource/loki/querybuilder/parsing.ts index 39b38c0f848..f46bb546d4c 100644 --- a/public/app/plugins/datasource/loki/querybuilder/parsing.ts +++ b/public/app/plugins/datasource/loki/querybuilder/parsing.ts @@ -120,7 +120,7 @@ export function handleExpression(expr: string, node: SyntaxNode, context: Contex } case 'UnwrapExpr': { - const { operation, error } = getUnwrap(expr, node); + const { operation, error } = handleUnwrapExpr(expr, node, context); if (operation) { visQuery.operations.push(operation); } @@ -297,25 +297,40 @@ function getLabelFormat(expr: string, node: SyntaxNode): QueryBuilderOperation { }; } -function getUnwrap(expr: string, node: SyntaxNode): { operation?: QueryBuilderOperation; error?: string } { - // Check for nodes not supported in visual builder and return error - if (node.getChild('ConvOp')) { +function handleUnwrapExpr( + expr: string, + node: SyntaxNode, + context: Context +): { operation?: QueryBuilderOperation; error?: string } { + const unwrapExprChild = node.getChild('UnwrapExpr'); + const labelFilterChild = node.getChild('LabelFilter'); + const unwrapChild = node.getChild('Unwrap'); + + if (unwrapExprChild) { + handleExpression(expr, unwrapExprChild, context); + } + + if (labelFilterChild) { + handleExpression(expr, labelFilterChild, context); + } + + if (unwrapChild) { + if (unwrapChild?.nextSibling?.type.name === 'ConvOp') { + return { + error: 'Unwrap with conversion operator not supported in query builder', + }; + } + return { - error: 'Unwrap with conversion operator not supported in query builder', + operation: { + id: 'unwrap', + params: [getString(expr, unwrapChild?.nextSibling)], + }, }; } - const id = 'unwrap'; - const string = getString(expr, node.getChild('Identifier')); - - return { - operation: { - id, - params: [string], - }, - }; + return {}; } - function handleRangeAggregation(expr: string, node: SyntaxNode, context: Context) { const nameNode = node.getChild('RangeOp'); const funcName = getString(expr, nameNode); diff --git a/public/app/plugins/datasource/loki/syntax.ts b/public/app/plugins/datasource/loki/syntax.ts index 94a5e54dab4..e203e0b218f 100644 --- a/public/app/plugins/datasource/loki/syntax.ts +++ b/public/app/plugins/datasource/loki/syntax.ts @@ -72,6 +72,13 @@ export const PIPE_PARSERS: CompletionItem[] = [ insertText: 'pattern', documentation: 'Extracting labels from the log line using pattern parser. Only available in Loki 2.3+.', }, + { + label: 'unpack', + insertText: 'unpack', + detail: 'unpack identifier', + documentation: + 'Parses a JSON log line, unpacking all embedded labels in the pack stage. A special property "_entry" will also be used to replace the original log line. Only available in Loki 2.2+.', + }, ]; export const PIPE_OPERATORS: CompletionItem[] = [ @@ -82,13 +89,6 @@ export const PIPE_OPERATORS: CompletionItem[] = [ documentation: 'Take labels and use the values as sample data for metric aggregations. Only available in Loki 2.0+.', }, - { - label: 'unpack', - insertText: 'unpack', - detail: 'unpack identifier', - documentation: - 'Parses a JSON log line, unpacking all embedded labels in the pack stage. A special property "_entry" will also be used to replace the original log line. Only available in Loki 2.0+.', - }, { label: 'label_format', insertText: 'label_format', @@ -122,6 +122,18 @@ export const RANGE_VEC_FUNCTIONS = [ detail: 'max_over_time(range-vector)', documentation: 'The maximum of all values in the specified interval. Only available in Loki 2.0+.', }, + { + insertText: 'first_over_time', + label: 'first_over_time', + detail: 'first_over_time(range-vector)', + documentation: 'The first of all values in the specified interval. Only available in Loki 2.3+.', + }, + { + insertText: 'last_over_time', + label: 'last_over_time', + detail: 'last_over_time(range-vector)', + documentation: 'The last of all values in the specified interval. Only available in Loki 2.3+.', + }, { insertText: 'sum_over_time', label: 'sum_over_time', diff --git a/public/app/plugins/datasource/prometheus/components/AnnotationQueryEditor.tsx b/public/app/plugins/datasource/prometheus/components/AnnotationQueryEditor.tsx new file mode 100644 index 00000000000..3eed372d2d5 --- /dev/null +++ b/public/app/plugins/datasource/prometheus/components/AnnotationQueryEditor.tsx @@ -0,0 +1,133 @@ +import React from 'react'; + +import { AnnotationQuery } from '@grafana/data'; +import { EditorRow, EditorField, EditorSwitch, Space, EditorRows } from '@grafana/experimental'; +import { Input } from '@grafana/ui'; + +import { PromQueryCodeEditor } from '../querybuilder/components/PromQueryCodeEditor'; +import { AutoSizeInput } from '../querybuilder/shared/AutoSizeInput'; +import { PromQuery } from '../types'; + +import { PromQueryEditorProps } from './types'; + +type Props = PromQueryEditorProps & { + annotation?: AnnotationQuery; + onAnnotationChange?: (annotation: AnnotationQuery) => void; +}; + +export function AnnotationQueryEditor(props: Props) { + // This is because of problematic typing. See AnnotationQueryEditorProps in grafana-data/annotations.ts. + const annotation = props.annotation!; + const onAnnotationChange = props.onAnnotationChange!; + const query = { expr: annotation.expr, refId: annotation.name, interval: annotation.step }; + + return ( + <> + + { + onAnnotationChange({ + ...annotation, + expr: query.expr, + }); + }} + /> + + + An additional lower limit for the step parameter of the Prometheus query and for the{' '} + $__interval and $__rate_interval variables. + + } + > + { + onAnnotationChange({ + ...annotation, + step: ev.currentTarget.value, + }); + }} + defaultValue={query.interval} + /> + + + + + + + { + onAnnotationChange({ + ...annotation, + titleFormat: event.currentTarget.value, + }); + }} + /> + + + { + onAnnotationChange({ + ...annotation, + tagKeys: event.currentTarget.value, + }); + }} + /> + + + { + onAnnotationChange({ + ...annotation, + textFormat: event.currentTarget.value, + }); + }} + /> + + + { + onAnnotationChange({ + ...annotation, + useValueForTime: event.currentTarget.value, + }); + }} + /> + + + + ); +} diff --git a/public/app/plugins/datasource/prometheus/configuration/AzureAuthSettings.tsx b/public/app/plugins/datasource/prometheus/configuration/AzureAuthSettings.tsx index 1108dff3a9c..412e63f9389 100644 --- a/public/app/plugins/datasource/prometheus/configuration/AzureAuthSettings.tsx +++ b/public/app/plugins/datasource/prometheus/configuration/AzureAuthSettings.tsx @@ -1,7 +1,7 @@ -import React, { FunctionComponent, useMemo } from 'react'; +import React, { FunctionComponent, FormEvent, useMemo, useState } from 'react'; import { config } from '@grafana/runtime'; -import { InlineFormLabel, Input } from '@grafana/ui'; +import { InlineField, InlineFieldRow, InlineSwitch, Input } from '@grafana/ui'; import { HttpSettingsBaseProps } from '@grafana/ui/src/components/DataSourceSettings/types'; import { KnownAzureClouds, AzureCredentials } from './AzureCredentials'; @@ -11,12 +11,38 @@ import { AzureCredentialsForm } from './AzureCredentialsForm'; export const AzureAuthSettings: FunctionComponent = (props: HttpSettingsBaseProps) => { const { dataSourceConfig, onChange } = props; + const [overrideAudienceAllowed] = useState( + config.featureToggles.prometheusAzureOverrideAudience || !!dataSourceConfig.jsonData.azureEndpointResourceId + ); + const [overrideAudienceChecked, setOverrideAudienceChecked] = useState( + !!dataSourceConfig.jsonData.azureEndpointResourceId + ); + const credentials = useMemo(() => getCredentials(dataSourceConfig), [dataSourceConfig]); const onCredentialsChange = (credentials: AzureCredentials): void => { onChange(updateCredentials(dataSourceConfig, credentials)); }; + const onOverrideAudienceChange = (ev: FormEvent): void => { + setOverrideAudienceChecked(ev.currentTarget.checked); + if (!ev.currentTarget.checked) { + onChange({ + ...dataSourceConfig, + jsonData: { ...dataSourceConfig.jsonData, azureEndpointResourceId: undefined }, + }); + } + }; + + const onResourceIdChange = (ev: FormEvent): void => { + if (overrideAudienceChecked) { + onChange({ + ...dataSourceConfig, + jsonData: { ...dataSourceConfig.jsonData, azureEndpointResourceId: ev.currentTarget.value }, + }); + } + }; + return ( <>
Azure Authentication
@@ -26,26 +52,29 @@ export const AzureAuthSettings: FunctionComponent = (prop azureCloudOptions={KnownAzureClouds} onCredentialsChange={onCredentialsChange} /> -
Azure Configuration
-
-
-
- AAD resource ID -
- - onChange({ - ...dataSourceConfig, - jsonData: { ...dataSourceConfig.jsonData, azureEndpointResourceId: event.currentTarget.value }, - }) - } - /> -
+ {overrideAudienceAllowed && ( + <> +
Azure Configuration
+
+ + + + + + {overrideAudienceChecked && ( + + + + + + )}
-
-
+ + )} ); }; diff --git a/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx b/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx index 692e7cfe24d..82d80b12a65 100644 --- a/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx +++ b/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx @@ -18,7 +18,7 @@ export const ConfigEditor = (props: Props) => { const alertmanagers = getAllAlertmanagerDataSources(); const azureAuthSettings = { - azureAuthSupported: config.featureToggles['prometheus_azure_auth'] ?? false, + azureAuthSupported: !!config.featureToggles.prometheus_azure_auth, getAzureAuthEnabled: (config: DataSourceSettings): boolean => hasCredentials(config), setAzureAuthEnabled: (config: DataSourceSettings, enabled: boolean) => enabled ? setDefaultCredentials(config) : resetCredentials(config), diff --git a/public/app/plugins/datasource/prometheus/datasource.tsx b/public/app/plugins/datasource/prometheus/datasource.tsx index 420d203c817..9c5426548d7 100644 --- a/public/app/plugins/datasource/prometheus/datasource.tsx +++ b/public/app/plugins/datasource/prometheus/datasource.tsx @@ -40,6 +40,7 @@ import { getTemplateSrv, TemplateSrv } from 'app/features/templating/template_sr import { PromApplication, PromApiFeatures } from 'app/types/unified-alerting-dto'; import { addLabelToQuery } from './add_label_to_query'; +import { AnnotationQueryEditor } from './components/AnnotationQueryEditor'; import PrometheusLanguageProvider from './language_provider'; import { expandRecordingRules } from './language_utils'; import { renderLegendFormat } from './legend'; @@ -61,7 +62,7 @@ import { } from './types'; import { PrometheusVariableSupport } from './variables'; -export const ANNOTATION_QUERY_STEP_DEFAULT = '60s'; +const ANNOTATION_QUERY_STEP_DEFAULT = '60s'; const GET_AND_POST_METADATA_ENDPOINTS = ['api/v1/query', 'api/v1/query_range', 'api/v1/series', 'api/v1/labels']; export class PrometheusDatasource @@ -119,6 +120,14 @@ export class PrometheusDatasource this.customQueryParameters = new URLSearchParams(instanceSettings.jsonData.customQueryParameters); this.variables = new PrometheusVariableSupport(this, this.templateSrv, this.timeSrv); this.exemplarsAvailable = true; + + // This needs to be here and cannot be static because of how annotations typing affects casting of data source + // objects to DataSourceApi types. + // We don't use the default processing for prometheus. + // See standardAnnotationSupport.ts/[shouldUseMappingUI|shouldUseLegacyRunner] + this.annotations = { + QueryEditor: AnnotationQueryEditor, + }; } init = async () => { diff --git a/public/app/plugins/datasource/prometheus/module.test.ts b/public/app/plugins/datasource/prometheus/module.test.ts index af031a9ee84..171fd491637 100644 --- a/public/app/plugins/datasource/prometheus/module.test.ts +++ b/public/app/plugins/datasource/prometheus/module.test.ts @@ -1,13 +1,7 @@ -import { ANNOTATION_QUERY_STEP_DEFAULT } from './datasource'; import { plugin as PrometheusDatasourcePlugin } from './module'; describe('module', () => { it('should have metrics query field in panels and Explore', () => { expect(PrometheusDatasourcePlugin.components.QueryEditor).toBeDefined(); }); - it('should have stepDefaultValuePlaceholder set in annotations ctrl', () => { - expect(PrometheusDatasourcePlugin.components.AnnotationsQueryCtrl).toBeDefined(); - const annotationsCtrl = new PrometheusDatasourcePlugin.components.AnnotationsQueryCtrl(); - expect(annotationsCtrl.stepDefaultValuePlaceholder).toEqual(ANNOTATION_QUERY_STEP_DEFAULT); - }); }); diff --git a/public/app/plugins/datasource/prometheus/module.ts b/public/app/plugins/datasource/prometheus/module.ts index 06c047eeaf2..ba33b7f90cb 100644 --- a/public/app/plugins/datasource/prometheus/module.ts +++ b/public/app/plugins/datasource/prometheus/module.ts @@ -3,15 +3,9 @@ import { DataSourcePlugin } from '@grafana/data'; import PromCheatSheet from './components/PromCheatSheet'; import PromQueryEditorByApp from './components/PromQueryEditorByApp'; import { ConfigEditor } from './configuration/ConfigEditor'; -import { ANNOTATION_QUERY_STEP_DEFAULT, PrometheusDatasource } from './datasource'; - -class PrometheusAnnotationsQueryCtrl { - static templateUrl = 'partials/annotations.editor.html'; - stepDefaultValuePlaceholder = ANNOTATION_QUERY_STEP_DEFAULT; -} +import { PrometheusDatasource } from './datasource'; export const plugin = new DataSourcePlugin(PrometheusDatasource) .setQueryEditor(PromQueryEditorByApp) .setConfigEditor(ConfigEditor) - .setAnnotationQueryCtrl(PrometheusAnnotationsQueryCtrl) .setQueryEditorHelp(PromCheatSheet); diff --git a/public/app/plugins/datasource/prometheus/partials/annotations.editor.html b/public/app/plugins/datasource/prometheus/partials/annotations.editor.html deleted file mode 100644 index c7c54e816e1..00000000000 --- a/public/app/plugins/datasource/prometheus/partials/annotations.editor.html +++ /dev/null @@ -1,39 +0,0 @@ -
-
- Search expression - -
-
- Step - -
-
- -
-
Field formatsFor title and text fields, use either the name or a pattern. For example, {{instance}} is replaced with label value for the label instance.
-
-
- Title - -
-
- Tags - -
-
-
- Text - -
-
-
- -
Other options
-
-
- - -
-
-
diff --git a/public/app/plugins/datasource/prometheus/querybuilder/components/LabelParamEditor.tsx b/public/app/plugins/datasource/prometheus/querybuilder/components/LabelParamEditor.tsx index ab95e2798e4..941bb1e11f3 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/components/LabelParamEditor.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/components/LabelParamEditor.tsx @@ -3,7 +3,6 @@ import React, { useState } from 'react'; import { DataSourceApi, SelectableValue, toOption } from '@grafana/data'; import { Select } from '@grafana/ui'; -import { PrometheusDatasource } from '../../datasource'; import { promQueryModeller } from '../PromQueryModeller'; import { getOperationParamId } from '../shared/operationUtils'; import { QueryBuilderLabelFilter, QueryBuilderOperationParamEditorProps } from '../shared/types'; @@ -49,8 +48,8 @@ async function loadGroupByLabels( ): Promise>> { let labels: QueryBuilderLabelFilter[] = query.labels; - // This function is used by both Prometheus and Loki and this the only difference - if (datasource instanceof PrometheusDatasource) { + // This function is used by both Prometheus and Loki and this the only difference. + if (datasource.type === 'prometheus') { labels = [{ label: '__name__', op: '=', value: query.metric }, ...query.labels]; } diff --git a/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.test.tsx b/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.test.tsx index a4df0c00284..9fc5fe05d38 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.test.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.test.tsx @@ -78,6 +78,14 @@ function setup(queryOverrides: Partial = {}) { }, onRunQuery: jest.fn(), onChange: jest.fn(), + uiOptions: { + exemplars: true, + type: true, + format: true, + minStep: true, + legend: true, + resolution: true, + }, }; const { container } = render(); diff --git a/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.tsx b/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.tsx index 67ef8b17e7b..a071fe5230f 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryBuilderOptions.tsx @@ -12,6 +12,15 @@ import { QueryOptionGroup } from '../shared/QueryOptionGroup'; import { getLegendModeLabel, PromQueryLegendEditor } from './PromQueryLegendEditor'; +export interface UIOptions { + exemplars: boolean; + type: boolean; + format: boolean; + minStep: boolean; + legend: boolean; + resolution: boolean; +} + export interface Props { query: PromQuery; app?: CoreApp; @@ -118,11 +127,7 @@ function getCollapsedInfo(query: PromQuery, formatOption: string, queryType: str items.push(`Legend: ${getLegendModeLabel(query.legendFormat)}`); items.push(`Format: ${formatOption}`); - - if (query.interval) { - items.push(`Step ${query.interval}`); - } - + items.push(`Step ${query.interval}`); items.push(`Type: ${queryType}`); if (query.exemplar) { diff --git a/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryEditorSelector.tsx b/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryEditorSelector.tsx index 1c0d61b519a..cbb5f0801bc 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryEditorSelector.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryEditorSelector.tsx @@ -20,7 +20,9 @@ import { PromQueryBuilderExplained } from './PromQueryBuilderExplained'; import { PromQueryBuilderOptions } from './PromQueryBuilderOptions'; import { PromQueryCodeEditor } from './PromQueryCodeEditor'; -export const PromQueryEditorSelector = React.memo((props) => { +type Props = PromQueryEditorProps; + +export const PromQueryEditorSelector = React.memo((props) => { const { onChange, onRunQuery, data, app } = props; const [parseModalOpen, setParseModalOpen] = useState(false); const [dataIsStale, setDataIsStale] = useState(false); diff --git a/public/app/plugins/panel/alertlist/UnifiedAlertList.tsx b/public/app/plugins/panel/alertlist/UnifiedAlertList.tsx index da0feae77c7..194b7ceea09 100644 --- a/public/app/plugins/panel/alertlist/UnifiedAlertList.tsx +++ b/public/app/plugins/panel/alertlist/UnifiedAlertList.tsx @@ -4,7 +4,8 @@ import React, { useEffect, useMemo } from 'react'; import { useDispatch } from 'react-redux'; import { GrafanaTheme2, PanelProps } from '@grafana/data'; -import { CustomScrollbar, LoadingPlaceholder, useStyles2 } from '@grafana/ui'; +import { Alert, CustomScrollbar, LoadingPlaceholder, useStyles2 } from '@grafana/ui'; +import { contextSrv } from 'app/core/services/context_srv'; import alertDef from 'app/features/alerting/state/alertDef'; import { useUnifiedAlertingSelector } from 'app/features/alerting/unified/hooks/useUnifiedAlertingSelector'; import { fetchAllPromRulesAction } from 'app/features/alerting/unified/state/actions'; @@ -17,6 +18,7 @@ import { } from 'app/features/alerting/unified/utils/datasource'; import { flattenRules, getFirstActiveAt } from 'app/features/alerting/unified/utils/rules'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; +import { AccessControlAction } from 'app/types'; import { PromRuleWithLocation } from 'app/types/unified-alerting'; import { PromAlertingRuleState } from 'app/types/unified-alerting-dto'; @@ -60,6 +62,15 @@ export function UnifiedAlertList(props: PanelProps) { const noAlertsMessage = rules.length ? '' : 'No alerts'; + if ( + !contextSrv.hasPermission(AccessControlAction.AlertingRuleRead) && + !contextSrv.hasPermission(AccessControlAction.AlertingRuleExternalRead) + ) { + return ( + Sorry, you do not have the required permissions to read alert rules + ); + } + return (
diff --git a/public/app/plugins/panel/candlestick/CandlestickPanel.tsx b/public/app/plugins/panel/candlestick/CandlestickPanel.tsx index 7176739fa1f..c42b7a2fdf2 100644 --- a/public/app/plugins/panel/candlestick/CandlestickPanel.tsx +++ b/public/app/plugins/panel/candlestick/CandlestickPanel.tsx @@ -316,7 +316,7 @@ export const CandlestickPanel: React.FC = ({ /> )} - + ); }} diff --git a/public/app/plugins/panel/canvas/editor/PlacementEditor.tsx b/public/app/plugins/panel/canvas/editor/PlacementEditor.tsx index 1080cd38179..81cbc37e423 100644 --- a/public/app/plugins/panel/canvas/editor/PlacementEditor.tsx +++ b/public/app/plugins/panel/canvas/editor/PlacementEditor.tsx @@ -48,6 +48,12 @@ export const PlacementEditor: FC { + setTimeout(() => { + settings.scene.select({ targets: [element.div!] }); + }); + }; + const onHorizontalConstraintSelect = (h: SelectableValue) => { onHorizontalConstraintChange(h.value!); }; @@ -57,6 +63,7 @@ export const PlacementEditor: FC) => { @@ -68,16 +75,14 @@ export const PlacementEditor: FC { element.options.placement![placement] = value ?? element.options.placement![placement]; element.applyLayoutStylesToDiv(); settings.scene.clearCurrentSelection(true); - // TODO: This needs to have a better sync method with where div is - setTimeout(() => { - settings.scene.select({ targets: [element.div!] }); - }, 100); + reselectElementAfterChange(); }; const constraint = element.tempConstraint ?? layout ?? {}; diff --git a/public/app/plugins/panel/graph/data_processor.ts b/public/app/plugins/panel/graph/data_processor.ts index 51d5e068f62..b0db3635b80 100644 --- a/public/app/plugins/panel/graph/data_processor.ts +++ b/public/app/plugins/panel/graph/data_processor.ts @@ -1,15 +1,6 @@ import { find } from 'lodash'; -import { - DataFrame, - dateTime, - Field, - FieldType, - getColorForTheme, - getFieldDisplayName, - getTimeField, - TimeRange, -} from '@grafana/data'; +import { DataFrame, dateTime, Field, FieldType, getFieldDisplayName, getTimeField, TimeRange } from '@grafana/data'; import { colors } from '@grafana/ui'; import { applyNullInsertThreshold } from '@grafana/ui/src/components/GraphNG/nullInsertThreshold'; import config from 'app/core/config'; @@ -89,7 +80,7 @@ export class DataProcessor { const series = new TimeSeries({ datapoints: datapoints || [], alias: alias, - color: getColorForTheme(color, config.theme), + color: config.theme.visualization.getColorByName(color), unit: field.config ? field.config.unit : undefined, dataFrameIndex, fieldIndex, diff --git a/public/app/plugins/panel/graph/module.ts b/public/app/plugins/panel/graph/module.ts index 4d04007096a..7c2d7ade2e9 100644 --- a/public/app/plugins/panel/graph/module.ts +++ b/public/app/plugins/panel/graph/module.ts @@ -8,7 +8,7 @@ import './event_editor'; import { auto } from 'angular'; import { defaults, find, without } from 'lodash'; -import { DataFrame, FieldConfigProperty, getColorForTheme, PanelEvents, PanelPlugin } from '@grafana/data'; +import { DataFrame, FieldConfigProperty, PanelEvents, PanelPlugin } from '@grafana/data'; import { locationService } from '@grafana/runtime'; import { MetricsPanelCtrl } from 'app/angular/panel/metrics_panel_ctrl'; import config from 'app/core/config'; @@ -297,7 +297,7 @@ export class GraphCtrl extends MetricsPanelCtrl { } onColorChange = (series: any, color: string) => { - series.setColor(getColorForTheme(color, config.theme)); + series.setColor(config.theme.visualization.getColorByName(color)); this.panel.aliasColors[series.alias] = color; this.render(); }; diff --git a/public/app/plugins/panel/graph/threshold_manager.ts b/public/app/plugins/panel/graph/threshold_manager.ts index 533ef94392b..599976a8bfb 100644 --- a/public/app/plugins/panel/graph/threshold_manager.ts +++ b/public/app/plugins/panel/graph/threshold_manager.ts @@ -2,7 +2,6 @@ import 'vendor/flot/jquery.flot'; import $ from 'jquery'; import { isNumber } from 'lodash'; -import { getColorForTheme } from '@grafana/data'; import { PanelCtrl } from 'app/angular/panel/panel_ctrl'; import { config } from 'app/core/config'; import { CoreEvents } from 'app/types'; @@ -235,12 +234,12 @@ export class ThresholdManager { if (threshold.yaxis === 'right' && this.hasSecondYAxis) { options.grid.markings.push({ y2axis: { from: threshold.value, to: limit }, - color: getColorForTheme(fillColor, config.theme), + color: config.theme.visualization.getColorByName(fillColor), }); } else { options.grid.markings.push({ yaxis: { from: threshold.value, to: limit }, - color: getColorForTheme(fillColor, config.theme), + color: config.theme.visualization.getColorByName(fillColor), }); } } @@ -248,12 +247,12 @@ export class ThresholdManager { if (threshold.yaxis === 'right' && this.hasSecondYAxis) { options.grid.markings.push({ y2axis: { from: threshold.value, to: threshold.value }, - color: getColorForTheme(lineColor, config.theme), + color: config.theme.visualization.getColorByName(lineColor), }); } else { options.grid.markings.push({ yaxis: { from: threshold.value, to: threshold.value }, - color: getColorForTheme(lineColor, config.theme), + color: config.theme.visualization.getColorByName(lineColor), }); } } diff --git a/public/app/plugins/panel/graph/time_region_manager.ts b/public/app/plugins/panel/graph/time_region_manager.ts index cd83a083871..8c5272e52cd 100644 --- a/public/app/plugins/panel/graph/time_region_manager.ts +++ b/public/app/plugins/panel/graph/time_region_manager.ts @@ -1,7 +1,7 @@ import 'vendor/flot/jquery.flot'; import { map } from 'lodash'; -import { getColorForTheme, dateTime, DateTime, AbsoluteTimeRange, GrafanaTheme } from '@grafana/data'; +import { dateTime, DateTime, AbsoluteTimeRange, GrafanaTheme } from '@grafana/data'; import { config } from 'app/core/config'; type TimeRegionColorDefinition = { @@ -51,8 +51,8 @@ function getColor(timeRegion: any, theme: GrafanaTheme): TimeRegionColorDefiniti if (timeRegion.colorMode === 'custom') { return { - fill: timeRegion.fill && timeRegion.fillColor ? getColorForTheme(timeRegion.fillColor, theme) : null, - line: timeRegion.line && timeRegion.lineColor ? getColorForTheme(timeRegion.lineColor, theme) : null, + fill: timeRegion.fill && timeRegion.fillColor ? theme.visualization.getColorByName(timeRegion.fillColor) : null, + line: timeRegion.line && timeRegion.lineColor ? theme.visualization.getColorByName(timeRegion.lineColor) : null, }; } @@ -63,8 +63,8 @@ function getColor(timeRegion: any, theme: GrafanaTheme): TimeRegionColorDefiniti } return { - fill: timeRegion.fill ? getColorForTheme(colorMode.color.fill, theme) : null, - line: timeRegion.fill ? getColorForTheme(colorMode.color.line, theme) : null, + fill: timeRegion.fill ? theme.visualization.getColorByName(colorMode.color.fill) : null, + line: timeRegion.fill ? theme.visualization.getColorByName(colorMode.color.line) : null, }; } diff --git a/public/app/plugins/panel/heatmap-new/HeatmapPanel.tsx b/public/app/plugins/panel/heatmap-new/HeatmapPanel.tsx index 09040bb6836..01ce263be9b 100644 --- a/public/app/plugins/panel/heatmap-new/HeatmapPanel.tsx +++ b/public/app/plugins/panel/heatmap-new/HeatmapPanel.tsx @@ -115,6 +115,7 @@ export const HeatmapPanel: React.FC = ({ cellGap: options.cellGap, hideThreshold: options.hideThreshold, exemplarColor: options.exemplars?.color ?? 'rgba(255,0,255,0.7)', + yAxisReverse: options.yAxisReverse, }); // eslint-disable-next-line react-hooks/exhaustive-deps }, [options, data.structureRev]); diff --git a/public/app/plugins/panel/heatmap-new/migrations.test.ts b/public/app/plugins/panel/heatmap-new/migrations.test.ts index 276eb7fdb4d..8d8c5bf8018 100644 --- a/public/app/plugins/panel/heatmap-new/migrations.test.ts +++ b/public/app/plugins/panel/heatmap-new/migrations.test.ts @@ -43,7 +43,7 @@ describe('Heatmap Migrations', () => { "mode": "scheme", "scale": "exponential", "scheme": "BuGn", - "steps": 256, + "steps": 128, }, "exemplars": Object { "color": "rgba(255,0,255,0.7)", diff --git a/public/app/plugins/panel/heatmap-new/migrations.ts b/public/app/plugins/panel/heatmap-new/migrations.ts index 9a1530f38d5..7864f8ff4ae 100644 --- a/public/app/plugins/panel/heatmap-new/migrations.ts +++ b/public/app/plugins/panel/heatmap-new/migrations.ts @@ -53,7 +53,7 @@ export function angularToReactHeatmap(angular: any): { fieldConfig: FieldConfigS calculate, color: { ...defaultPanelOptions.color, - steps: 256, // best match with existing colors + steps: 128, // best match with existing colors }, cellGap: asNumber(angular.cards?.cardPadding), cellSize: asNumber(angular.cards?.cardRound), diff --git a/public/app/plugins/panel/heatmap-new/utils.ts b/public/app/plugins/panel/heatmap-new/utils.ts index 3197cfab7ac..15b4cb6e5a1 100644 --- a/public/app/plugins/panel/heatmap-new/utils.ts +++ b/public/app/plugins/panel/heatmap-new/utils.ts @@ -52,6 +52,7 @@ interface PrepConfigOpts { exemplarColor: string; cellGap?: number | null; // in css pixels hideThreshold?: number; + yAxisReverse?: boolean; } export function prepConfig(opts: PrepConfigOpts) { @@ -67,6 +68,7 @@ export function prepConfig(opts: PrepConfigOpts) { palette, cellGap, hideThreshold, + yAxisReverse, } = opts; const pxRatio = devicePixelRatio; @@ -210,14 +212,18 @@ export function prepConfig(opts: PrepConfigOpts) { isTime: false, // distribution: ScaleDistribution.Ordinal, // does not work with facets/scatter yet orientation: ScaleOrientation.Vertical, - direction: ScaleDirection.Up, + direction: yAxisReverse ? ScaleDirection.Down : ScaleDirection.Up, // should be tweakable manually distribution: shouldUseLogScale ? ScaleDistribution.Log : ScaleDistribution.Linear, log: 2, range: shouldUseLogScale ? undefined : (u, dataMin, dataMax) => { - const bucketSize = dataRef.current?.yBucketSize; + let bucketSize = dataRef.current?.yBucketSize; + + if (bucketSize === 0) { + bucketSize = 1; + } if (bucketSize) { if (dataRef.current?.yLayout === BucketLayout.le) { @@ -302,7 +308,11 @@ export function prepConfig(opts: PrepConfigOpts) { gap: cellGap, hideThreshold, xAlign: dataRef.current?.xLayout === BucketLayout.le ? -1 : dataRef.current?.xLayout === BucketLayout.ge ? 1 : 0, - yAlign: dataRef.current?.yLayout === BucketLayout.le ? -1 : dataRef.current?.yLayout === BucketLayout.ge ? 1 : 0, + yAlign: ((dataRef.current?.yLayout === BucketLayout.le + ? -1 + : dataRef.current?.yLayout === BucketLayout.ge + ? 1 + : 0) * (yAxisReverse ? -1 : 1)) as -1 | 0 | 1, disp: { fill: { values: (u, seriesIdx) => { @@ -437,7 +447,7 @@ export function heatmapPathsDense(opts: PathbuilderOpts) { // detect x and y bin qtys by detecting layout repetition in x & y data let yBinQty = dlen - ys.lastIndexOf(ys[0]); let xBinQty = dlen / yBinQty; - let yBinIncr = ys[1] - ys[0]; + let yBinIncr = ys[1] - ys[0] || scaleY.max! - scaleY.min!; let xBinIncr = xs[yBinQty] - xs[0]; // uniform tile sizes based on zoom level diff --git a/public/app/plugins/panel/heatmap/color_legend.ts b/public/app/plugins/panel/heatmap/color_legend.ts index d6eb9892d21..71df88abe40 100644 --- a/public/app/plugins/panel/heatmap/color_legend.ts +++ b/public/app/plugins/panel/heatmap/color_legend.ts @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import $ from 'jquery'; import { find, isEmpty, isNil, sortBy, uniq } from 'lodash'; -import { PanelEvents, getColorForTheme } from '@grafana/data'; +import { PanelEvents } from '@grafana/data'; import coreModule from 'app/angular/core_module'; import { config } from 'app/core/config'; import { contextSrv } from 'app/core/core'; @@ -273,7 +273,7 @@ function drawSimpleOpacityLegend(elem: JQuery, options: { colorScale: string; ex .attr('width', rangeStep) .attr('height', legendHeight) .attr('stroke-width', 0) - .attr('fill', getColorForTheme(options.cardColor, config.theme)) + .attr('fill', config.theme.visualization.getColorByName(options.cardColor)) .style('opacity', (d) => legendOpacityScale(d)); } } diff --git a/public/app/plugins/panel/heatmap/rendering.ts b/public/app/plugins/panel/heatmap/rendering.ts index a397249286c..906224b24e2 100644 --- a/public/app/plugins/panel/heatmap/rendering.ts +++ b/public/app/plugins/panel/heatmap/rendering.ts @@ -5,7 +5,6 @@ import { find, isEmpty, isNaN, isNil, isString, map, max, min, toNumber } from ' import { dateTimeFormat, formattedValueToString, - getColorForTheme, getValueFormat, LegacyGraphHoverClearEvent, LegacyGraphHoverEvent, @@ -660,7 +659,7 @@ export class HeatmapRenderer { getCardColor(d: { count: any }) { if (this.panel.color.mode === 'opacity') { - return getColorForTheme(this.panel.color.cardColor, config.theme); + return config.theme.visualization.getColorByName(this.panel.color.cardColor); } else { return this.colorScale(d.count); } diff --git a/public/app/plugins/panel/nodeGraph/Legend.tsx b/public/app/plugins/panel/nodeGraph/Legend.tsx index f2f7184b16e..350eaf6b62f 100644 --- a/public/app/plugins/panel/nodeGraph/Legend.tsx +++ b/public/app/plugins/panel/nodeGraph/Legend.tsx @@ -2,7 +2,7 @@ import { css } from '@emotion/css'; import { identity } from 'lodash'; import React, { useCallback } from 'react'; -import { Field, FieldColorModeId, getColorForTheme, GrafanaTheme } from '@grafana/data'; +import { Field, FieldColorModeId, GrafanaTheme } from '@grafana/data'; import { LegendDisplayMode } from '@grafana/schema'; import { Icon, useStyles, useTheme, VizLegend, VizLegendItem, VizLegendListItem } from '@grafana/ui'; @@ -97,14 +97,14 @@ function getColorLegendItems(nodes: NodeDatum[], theme: GrafanaTheme): Array>(props: Props {allowConfiguration && ( - )} diff --git a/public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx b/public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx index 54d5ea2f0b0..3a0f899c06a 100644 --- a/public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx +++ b/public/app/plugins/panel/state-timeline/StateTimelinePanel.tsx @@ -118,7 +118,7 @@ export const StateTimelinePanel: React.FC = ({ timeZone={timeZone} renderTooltip={renderCustomTooltip} /> - + ); }} diff --git a/public/app/plugins/panel/status-history/StatusHistoryPanel.tsx b/public/app/plugins/panel/status-history/StatusHistoryPanel.tsx index 3cfea9dc0cb..8a1fcbc2a78 100644 --- a/public/app/plugins/panel/status-history/StatusHistoryPanel.tsx +++ b/public/app/plugins/panel/status-history/StatusHistoryPanel.tsx @@ -72,7 +72,7 @@ export const StatusHistoryPanel: React.FC = ({ <> - + ); }} diff --git a/public/app/plugins/panel/table-old/renderer.ts b/public/app/plugins/panel/table-old/renderer.ts index 550ad34adc9..e79a7439b94 100644 --- a/public/app/plugins/panel/table-old/renderer.ts +++ b/public/app/plugins/panel/table-old/renderer.ts @@ -12,7 +12,6 @@ import { TimeZone, dateTimeFormatISO, dateTimeFormat, - getColorForTheme, GrafanaTheme, } from '@grafana/data'; import { getTemplateSrv, TemplateSrv } from '@grafana/runtime'; @@ -77,10 +76,10 @@ export class TableRenderer { } for (let i = style.thresholds.length; i > 0; i--) { if (value >= style.thresholds[i - 1]) { - return getColorForTheme(style.colors[i], this.theme); + return this.theme.visualization.getColorByName(style.colors[i]); } } - return getColorForTheme(first(style.colors), this.theme); + return this.theme.visualization.getColorByName(first(style.colors)); } defaultCellFormatter(v: any, style: ColumnStyle) { diff --git a/public/app/plugins/panel/table/TablePanel.tsx b/public/app/plugins/panel/table/TablePanel.tsx index d80d4234842..9e35be29ec8 100644 --- a/public/app/plugins/panel/table/TablePanel.tsx +++ b/public/app/plugins/panel/table/TablePanel.tsx @@ -145,7 +145,7 @@ export class TablePanel extends Component { return (
- {this.renderTable(data.series[currentIndex], width, height - inputHeight + padding)} + {this.renderTable(data.series[currentIndex], width, height - inputHeight - padding)}
'; - minuteTemplate = ''; - secondTemplate = ''; - meridianTemplate = ''; - } else { - hourTemplate = ''; - minuteTemplate = ''; - secondTemplate = ''; - meridianTemplate = ''; - } - - templateContent = ''+ - ''+ - ''+ - ''+ - ''+ - (this.showSeconds ? - ''+ - '' - : '') + - (this.showMeridian ? - ''+ - '' - : '') + - ''+ - ''+ - ' '+ - ''+ - ' '+ - (this.showSeconds ? - ''+ - '' - : '') + - (this.showMeridian ? - ''+ - '' - : '') + - ''+ - ''+ - ''+ - ''+ - ''+ - (this.showSeconds ? - ''+ - '' - : '') + - (this.showMeridian ? - ''+ - '' - : '') + - ''+ - '
   
'+ hourTemplate +':'+ minuteTemplate +':'+ secondTemplate +' '+ meridianTemplate +'
  
'; - - switch(this.template) { - case 'modal': - template = ''; - break; - case 'dropdown': - template = ''; - break; - } - - return template; - }, - - getTime: function() { - return this.formatTime(this.hour, this.minute, this.second, this.meridian); - }, - - hideWidget: function() { - if (this.isOpen === false) { - return; - } - - if (this.showInputs) { - this.updateFromWidgetInputs(); - } - - this.$element.trigger({ - 'type': 'hide.timepicker', - 'time': { - 'value': this.getTime(), - 'hours': this.hour, - 'minutes': this.minute, - 'seconds': this.second, - 'meridian': this.meridian - } - }); - - if (this.template === 'modal') { - this.$widget.modal('hide'); - } else { - this.$widget.removeClass('open'); - } - - $(document).off('mousedown.timepicker'); - - this.isOpen = false; - }, - - highlightUnit: function() { - this.position = this.getCursorPosition(); - if (this.position >= 0 && this.position <= 2) { - this.highlightHour(); - } else if (this.position >= 3 && this.position <= 5) { - this.highlightMinute(); - } else if (this.position >= 6 && this.position <= 8) { - if (this.showSeconds) { - this.highlightSecond(); - } else { - this.highlightMeridian(); - } - } else if (this.position >= 9 && this.position <= 11) { - this.highlightMeridian(); - } - }, - - highlightNextUnit: function() { - switch (this.highlightedUnit) { - case 'hour': - this.highlightMinute(); - break; - case 'minute': - if (this.showSeconds) { - this.highlightSecond(); - } else if (this.showMeridian){ - this.highlightMeridian(); - } else { - this.highlightHour(); - } - break; - case 'second': - if (this.showMeridian) { - this.highlightMeridian(); - } else { - this.highlightHour(); - } - break; - case 'meridian': - this.highlightHour(); - break; - } - }, - - highlightPrevUnit: function() { - switch (this.highlightedUnit) { - case 'hour': - this.highlightMeridian(); - break; - case 'minute': - this.highlightHour(); - break; - case 'second': - this.highlightMinute(); - break; - case 'meridian': - if (this.showSeconds) { - this.highlightSecond(); - } else { - this.highlightMinute(); - } - break; - } - }, - - highlightHour: function() { - var $element = this.$element.get(0); - - this.highlightedUnit = 'hour'; - - if ($element.setSelectionRange) { - setTimeout(function() { - $element.setSelectionRange(0,2); - }, 0); - } - }, - - highlightMinute: function() { - var $element = this.$element.get(0); - - this.highlightedUnit = 'minute'; - - if ($element.setSelectionRange) { - setTimeout(function() { - $element.setSelectionRange(3,5); - }, 0); - } - }, - - highlightSecond: function() { - var $element = this.$element.get(0); - - this.highlightedUnit = 'second'; - - if ($element.setSelectionRange) { - setTimeout(function() { - $element.setSelectionRange(6,8); - }, 0); - } - }, - - highlightMeridian: function() { - var $element = this.$element.get(0); - - this.highlightedUnit = 'meridian'; - - if ($element.setSelectionRange) { - if (this.showSeconds) { - setTimeout(function() { - $element.setSelectionRange(9,11); - }, 0); - } else { - setTimeout(function() { - $element.setSelectionRange(6,8); - }, 0); - } - } - }, - - incrementHour: function() { - if (this.showMeridian) { - if (this.hour === 11) { - this.hour++; - return this.toggleMeridian(); - } else if (this.hour === 12) { - this.hour = 0; - } - } - if (this.hour === 23) { - this.hour = 0; - - return; - } - this.hour++; - this.update(); - }, - - incrementMinute: function(step) { - var newVal; - - if (step) { - newVal = this.minute + step; - } else { - newVal = this.minute + this.minuteStep - (this.minute % this.minuteStep); - } - - if (newVal > 59) { - this.incrementHour(); - this.minute = newVal - 60; - } else { - this.minute = newVal; - } - this.update(); - }, - - incrementSecond: function() { - var newVal = this.second + this.secondStep - (this.second % this.secondStep); - - if (newVal > 59) { - this.incrementMinute(true); - this.second = newVal - 60; - } else { - this.second = newVal; - } - this.update(); - }, - - remove: function() { - $('document').off('.timepicker'); - if (this.$widget) { - this.$widget.remove(); - } - delete this.$element.data().timepicker; - }, - - setDefaultTime: function(defaultTime){ - if (!this.$element.val()) { - if (defaultTime === 'current') { - var dTime = new Date(), - hours = dTime.getHours(), - minutes = Math.floor(dTime.getMinutes() / this.minuteStep) * this.minuteStep, - seconds = Math.floor(dTime.getSeconds() / this.secondStep) * this.secondStep, - meridian = 'AM'; - - if (this.showMeridian) { - if (hours === 0) { - hours = 12; - } else if (hours >= 12) { - if (hours > 12) { - hours = hours - 12; - } - meridian = 'PM'; - } else { - meridian = 'AM'; - } - } - - this.hour = hours; - this.minute = minutes; - this.second = seconds; - this.meridian = meridian; - - this.update(); - - } else if (defaultTime === false) { - this.hour = 0; - this.minute = 0; - this.second = 0; - this.meridian = 'AM'; - } else { - this.setTime(defaultTime); - } - } else { - this.updateFromElementVal(); - } - }, - - setTime: function(time) { - var arr, - timeArray; - - if (this.showMeridian) { - arr = time.split(' '); - timeArray = arr[0].split(':'); - this.meridian = arr[1]; - } else { - timeArray = time.split(':'); - } - - this.hour = parseInt(timeArray[0], 10); - this.minute = parseInt(timeArray[1], 10); - this.second = parseInt(timeArray[2], 10); - - if (isNaN(this.hour)) { - this.hour = 0; - } - if (isNaN(this.minute)) { - this.minute = 0; - } - - if (this.showMeridian) { - if (this.hour > 12) { - this.hour = 12; - } else if (this.hour < 1) { - this.hour = 12; - } - - if (this.meridian === 'am' || this.meridian === 'a') { - this.meridian = 'AM'; - } else if (this.meridian === 'pm' || this.meridian === 'p') { - this.meridian = 'PM'; - } - - if (this.meridian !== 'AM' && this.meridian !== 'PM') { - this.meridian = 'AM'; - } - } else { - if (this.hour >= 24) { - this.hour = 23; - } else if (this.hour < 0) { - this.hour = 0; - } - } - - if (this.minute < 0) { - this.minute = 0; - } else if (this.minute >= 60) { - this.minute = 59; - } - - if (this.showSeconds) { - if (isNaN(this.second)) { - this.second = 0; - } else if (this.second < 0) { - this.second = 0; - } else if (this.second >= 60) { - this.second = 59; - } - } - - this.update(); - }, - - showWidget: function() { - if (this.isOpen) { - return; - } - - if (this.$element.is(':disabled')) { - return; - } - - var self = this; - $(document).on('mousedown.timepicker', function (e) { - // Clicked outside the timepicker, hide it - if ($(e.target).closest('.bootstrap-timepicker-widget').length === 0) { - self.hideWidget(); - } - }); - - this.$element.trigger({ - 'type': 'show.timepicker', - 'time': { - 'value': this.getTime(), - 'hours': this.hour, - 'minutes': this.minute, - 'seconds': this.second, - 'meridian': this.meridian - } - }); - - if (this.disableFocus) { - this.$element.blur(); - } - - this.updateFromElementVal(); - - if (this.template === 'modal') { - this.$widget.modal('show').on('hidden', $.proxy(this.hideWidget, this)); - } else { - if (this.isOpen === false) { - this.$widget.addClass('open'); - } - } - - this.isOpen = true; - }, - - toggleMeridian: function() { - this.meridian = this.meridian === 'AM' ? 'PM' : 'AM'; - this.update(); - }, - - update: function() { - this.$element.trigger({ - 'type': 'changeTime.timepicker', - 'time': { - 'value': this.getTime(), - 'hours': this.hour, - 'minutes': this.minute, - 'seconds': this.second, - 'meridian': this.meridian - } - }); - - this.updateElement(); - this.updateWidget(); - }, - - updateElement: function() { - this.$element.val(this.getTime()).change(); - }, - - updateFromElementVal: function() { - var val = this.$element.val(); - - if (val) { - this.setTime(val); - } - }, - - updateWidget: function() { - if (this.$widget === false) { - return; - } - - var hour = this.hour < 10 ? '0' + this.hour : this.hour, - minute = this.minute < 10 ? '0' + this.minute : this.minute, - second = this.second < 10 ? '0' + this.second : this.second; - - if (this.showInputs) { - this.$widget.find('input.bootstrap-timepicker-hour').val(hour); - this.$widget.find('input.bootstrap-timepicker-minute').val(minute); - - if (this.showSeconds) { - this.$widget.find('input.bootstrap-timepicker-second').val(second); - } - if (this.showMeridian) { - this.$widget.find('input.bootstrap-timepicker-meridian').val(this.meridian); - } - } else { - this.$widget.find('span.bootstrap-timepicker-hour').text(hour); - this.$widget.find('span.bootstrap-timepicker-minute').text(minute); - - if (this.showSeconds) { - this.$widget.find('span.bootstrap-timepicker-second').text(second); - } - if (this.showMeridian) { - this.$widget.find('span.bootstrap-timepicker-meridian').text(this.meridian); - } - } - }, - - updateFromWidgetInputs: function() { - if (this.$widget === false) { - return; - } - var time = $('input.bootstrap-timepicker-hour', this.$widget).val() + ':' + - $('input.bootstrap-timepicker-minute', this.$widget).val() + - (this.showSeconds ? ':' + $('input.bootstrap-timepicker-second', this.$widget).val() : '') + - (this.showMeridian ? ' ' + $('input.bootstrap-timepicker-meridian', this.$widget).val() : ''); - - this.setTime(time); - }, - - widgetClick: function(e) { - e.stopPropagation(); - e.preventDefault(); - - var action = $(e.target).closest('a').data('action'); - if (action) { - this[action](); - } - }, - - widgetKeydown: function(e) { - var $input = $(e.target).closest('input'), - name = $input.attr('name'); - - switch (e.keyCode) { - case 9: //tab - if (this.showMeridian) { - if (name === 'meridian') { - return this.hideWidget(); - } - } else { - if (this.showSeconds) { - if (name === 'second') { - return this.hideWidget(); - } - } else { - if (name === 'minute') { - return this.hideWidget(); - } - } - } - - this.updateFromWidgetInputs(); - break; - case 27: // escape - this.hideWidget(); - break; - case 38: // up arrow - e.preventDefault(); - switch (name) { - case 'hour': - this.incrementHour(); - break; - case 'minute': - this.incrementMinute(); - break; - case 'second': - this.incrementSecond(); - break; - case 'meridian': - this.toggleMeridian(); - break; - } - break; - case 40: // down arrow - e.preventDefault(); - switch (name) { - case 'hour': - this.decrementHour(); - break; - case 'minute': - this.decrementMinute(); - break; - case 'second': - this.decrementSecond(); - break; - case 'meridian': - this.toggleMeridian(); - break; - } - break; - } - } - }; - - - //TIMEPICKER PLUGIN DEFINITION - $.fn.timepicker = function(option) { - var args = Array.apply(null, arguments); - args.shift(); - return this.each(function() { - var $this = $(this), - data = $this.data('timepicker'), - options = typeof option === 'object' && option; - - if (!data) { - $this.data('timepicker', (data = new Timepicker(this, $.extend({}, $.fn.timepicker.defaults, options, $(this).data())))); - } - - if (typeof option === 'string') { - data[option].apply(data, args); - } - }); - }; - - $.fn.timepicker.defaults = { - defaultTime: 'current', - disableFocus: false, - isOpen: false, - minuteStep: 15, - modalBackdrop: false, - secondStep: 15, - showSeconds: false, - showInputs: true, - showMeridian: true, - template: 'dropdown', - appendWidgetTo: '.bootstrap-timepicker' - }; - - $.fn.timepicker.Constructor = Timepicker; - -})(jQuery, window, document); \ No newline at end of file diff --git a/public/views/error-template.html b/public/views/error-template.html index 0f785120ce1..28e828a1554 100644 --- a/public/views/error-template.html +++ b/public/views/error-template.html @@ -10,7 +10,11 @@ - + [[ if eq .Theme "light" ]] + + [[ else ]] + + [[ end ]] diff --git a/public/views/index-template.html b/public/views/index-template.html index 2923b1918f9..955a1b4fc4e 100644 --- a/public/views/index-template.html +++ b/public/views/index-template.html @@ -20,10 +20,12 @@ - + + [[ if eq .Theme "light" ]] + + [[ else ]] + + [[ end ]]