Compare commits

...

364 Commits

Author SHA1 Message Date
Grot (@grafanabot)
7ab70dbce8 Release: Bump version to 9.3.8 (#778)
"Release: Updated versions in package to 9.3.8"
2023-02-27 13:36:16 +01:00
Grot (@grafanabot)
c864145b4f [v9.3.x] MSSQL Datasource: Revert functions within macros change (#63597)
MSSQL Datasource: Revert functions within macros change (#63592)

* Revert functions within macros change
* Add tests for function and macro for mssql
* Remove macro support tests

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
(cherry picked from commit 356e2e1933)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2023-02-27 11:44:19 +01:00
Grot (@grafanabot)
5ed320ebad [v9.3.x] Fix MSSQL queries failing because of bad interpolation (#63171)
Fix MSSQL queries failing because of bad interpolation (#63167)

fix failing mssql queries

(cherry picked from commit 62b078e4e4)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-02-21 07:30:55 +01:00
Horst Gutmann
3fc42a2160 Fix redis integration tests
Restore change from https://github.com/grafana/grafana/pull/61920
2023-02-07 14:34:59 +01:00
Horst Gutmann
e4e5b083b0 [v9.3.x] Geomap: Sanitize the attribution string (#754) 2023-02-07 13:57:28 +01:00
Horst Gutmann
a5caf932f6 [v9.3.x] TraceView: Add key and url escaping of json tag values (#762) 2023-02-07 13:56:06 +01:00
Jo
398ebab7b1 Auth: Update saml go.mod (missing query sig verification) [9.3.x] (#712)
* update saml go.mod (missing query sig verification)

(cherry picked from commit 1e1dbd1a06455a451d722856dc619b2a7c78e2c0)

* fix sync
2023-02-05 16:45:40 -06:00
Misi
0f117bd58e [v9.3.x] Update grafana/saml library (#690)
SAML: update grafana/saml

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-02-05 16:43:23 -06:00
Grot (@grafanabot)
9c4964279c [v9.3.x] MSSQL: Add support for macro function calls (#62889)
MSSQL: Add support for macro function calls (#62742)

* MSSQL: Add support for macro function calls

* Add tests

(cherry picked from commit 9fc3b360a4)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-02-03 10:42:17 -05:00
Dimitris Sotirakis
03b1cf763d CI: Backport CI/Release related code to v9.3.x (#62752)
* Batch-move everything

* go mod tidy

* make drone

* Remove genversions

* Bump alpine image

* Revert back pkg/build/docker/build.go

* Make sure correct enterprise branch is checked out

* Add enterprise2 version

* Remove extensions

* Bump build container

* backport node 18 test fix

(cherry picked from commit 4ff03fdbfb)

* Update scripts/drone

* Add more commands

* Fix starlark link

* Copy .drone.star

* Add drone target branch for custom events

---------
2023-02-03 11:43:48 +02:00
Grot (@grafanabot)
d9b5c5f4c6 [v9.3.x] Added pageZoomLevel option to image renderer setup documentation (#62841)
Added pageZoomLevel option to image renderer setup documentation (#59472)

* Added pageZoomLevel option to image renderer setup

* Update _index.md

* Update docs/sources/setup-grafana/image-rendering/_index.md

* chore: prettier run in docs

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit 8b017f5aa4)

Co-authored-by: Gabriel Goller <gabrielgoller123@gmail.com>
2023-02-03 10:24:57 +01:00
Christopher Moyer
10569aad42 [v9.3] docs: Manual backport 62815 to v9.3.x (#62821)
Docs: corrects incorrect redirect and fixes link (#62815)

corrects incorrect redirect and fixes link

(cherry picked from commit 060e0a4d18)
2023-02-02 14:11:26 -06:00
Timur Olzhabayev
7df263ff2e Fixing plugin signing docs for the current latest version (#62755)
* Fixing plugin signing docs for the current latest version

* Deleting a file that should not have been there?
2023-02-02 11:10:29 +01:00
Grot (@grafanabot)
fa1b189beb [v9.3.x] Fix/60084/save and test (#62749)
Fix: Save and test error message does not persist across datasource instance settings anymore

(cherry picked from commit ce50168b70)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2023-02-02 09:02:40 +00:00
Grot (@grafanabot)
e7c8704090 [v9.3.x] Server: Switch from separate server & cli to a unified grafana binary (#62443)
* Server: Switch from separate server & cli to a unified grafana binary (#58286)

* avoid the need for a second bulky binary for grafana-cli

* look for grafana-server in $PATH as well as same directory

* implement unified "grafana" command

* update dockerfiles, fix grafana-cli -v

* update packaging to work with single binary

- add wrapper scripts for grafana and grafana-server
- update and sync package files
- implement --sign flag of build package command
- stop packaging scripts folder, they are not useful for end users
- add support for --configOverrides in server command
- remove unused nfpm.yaml config file

* windows support

(cherry picked from commit de99ce139c)

* Build: don't remove grafana-server and grafana-cli binaries from deb and rpm packages (#59890)

* don't remove grafana-server and grafana-cli binaries from /usr/share/grafana/bin in deb and rpm packages

* don't add config overrides in /usr/sbin/grafana-server

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-02-02 10:41:18 +02:00
Isabella Siu
d3a33de503 Cloudwatch: Fix log group variable interpolation (#62640) (#62722)
(cherry picked from commit 1f09508d8c)
2023-02-01 14:53:13 -05:00
drew08t
9794a3adc5 Update yarn lock 2023-02-01 10:44:44 -08:00
Grot (@grafanabot)
e08bfdfcf6 [v9.3.x] docs: fix broken elasticsearch metrics play link (#62718)
docs: fix broken elasticsearch metrics play link (#62715)

fix broken elastic search play link

(cherry picked from commit 1225e8d6d8)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-02-01 12:04:19 -06:00
Andrej Ocenas
e3fe06608d Yarn lock update 2023-02-01 17:48:49 +01:00
Andrej Ocenas
0fe344209a Cherry pick 8b53b44 2023-02-01 17:43:32 +01:00
Gilles De Mey
a31430a3dd Alerting: hide "silence" button for external AM setups (#62133) (#62693) 2023-02-01 15:25:37 +00:00
Ryan McKinley
f89553932a Geomap: Sanitize the attribution string (#745)
* SAML: Update grafana/saml library (#691)

Co-authored-by: jguer <joao.guerreiro@grafana.com>

* SVG: Add dompurify preprocessor step (#698)

* add sanitized SVG component

* add sanitize

* Fix frontend build

* Remove unnecessary yarn.lock changes

* Fix formatting

* Re-add yarn.lock message as I guess it is needed

---------

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
(cherry picked from commit 37b4af7ffacfc24d5f24d190356a9ef32d99aa6f)
2023-02-01 09:00:05 +00:00
Grot (@grafanabot)
e1999d51cd [v9.3.x] Docs: Fix OSS typo (#62631)
Docs: Fix OSS typo (#60131)

fix OSS typo

(cherry picked from commit ca3c4bb50f)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2023-01-31 19:40:43 +00:00
ismail simsek
ead3a002df [v9.3.x] Expressions: Fixes the issue showing expressions editor (#62627)
Expressions: Fixes the issue showing expressions editor (#62510)

* Use suggested value for uid

* update the snapshot

* use __expr__

* replace all -100 with __expr__

* update snapshot

* more changes

* revert redundant change

* Use expr.DatasourceUID where it's possible

* generate files

(cherry picked from commit 91221bc436)
2023-01-31 14:31:33 -05:00
Grot (@grafanabot)
4d450ab910 [v9.3.x] GrafanaUI: Add disabled option for menu items (#62612) 2023-01-31 18:10:50 +01:00
George Robinson
1c6fcb8ed4 Alerting: Validate that tags are 100 characters or less (#62335) (#62594)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit 0dacb11a12)
2023-01-31 14:39:56 +00:00
Grot (@grafanabot)
a63895ff24 [v9.3.x] Tempo: Fix span name being dropped from the query (#62592)
Tempo: Fix span name being dropped from the query (#62257)
(cherry picked from commit c3b476e1dc)
Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
2023-01-31 14:31:08 +00:00
Grot (@grafanabot)
df86048b6d [v9.3.x] AzureMonitor: Fix dimension migration (#62578)
AzureMonitor: Fix dimension migration (#62485)

Remove unneeded properties post migration

(cherry picked from commit f77853f91e)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-01-31 12:48:45 +00:00
Grot (@grafanabot)
aaa2a821ae [v9.3.x] Plugins: Fix circular reference in customOptions leading to MarshalJSON errors (#62564)
Plugins: Fix circular reference in customOptions leading to MarshalJSON errors (#62328)

* Plugins: test ds.JsonData.MarshalJSON()

* CustomOptions: copy to avoid cyclic marshal

(cherry picked from commit c41f97029e)

Co-authored-by: Yasir Ekinci <ekinci.yasir@gmail.com>
2023-01-31 13:28:59 +01:00
Emil Tullstedt
267d53a56a [v9.3.x] Login: Fix panic when UpsertUser is called without ReqContext (#62571)
* Login: Fix panic when UpsertUser is called without ReqContext (#62539)

(cherry picked from commit b1151dd118)

* login->models
2023-01-31 13:22:09 +01:00
Shirley
575f3bd49c [v9.3.x] CloudWatch: Use grafana-aws-sdk v0.12.0 (#62085)
CloudWatch: Use grafana-aws-sdk v0.12.0 (#62007)

(cherry picked from commit cd86758a35)
2023-01-30 14:17:25 +00:00
Grot (@grafanabot)
31971fab4f [v9.3.x] Replace ambiguous relrefs with partial URIs to prevent 404s (#62472)
Replace ambiguous relrefs with partial URIs to prevent 404s (#62468)

* Replace ambiguous relrefs with partial URIs to prevent 404s

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix local builds that depend on latest content

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix broken relref

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 66b54e2dbd)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-30 12:53:32 +00:00
Grot (@grafanabot)
57ad341af1 [v9.3.x] Time Series Panel: Fix legend text selection in Firefox (#62451)
Time Series Panel: Fix legend text selection in Firefox (#60809)

Add user-select property to legend items.

(cherry picked from commit 38d7168921)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2023-01-30 10:32:30 +00:00
Sven Grossmann
bac45b3aee [9.3.x] Logs: Fix stats not being updated when log results change #62317 (#62449)
Logs: Fix stats not being updated when log results change (#62317)

update stats in logdetails

(cherry picked from commit ae8c61c0b2)
2023-01-30 05:11:18 -05:00
Grot (@grafanabot)
7ee08a5c50 [v9.3.x] Auth: Fix catch both both ErrInvalidAPIKey for context with APIKey (#62206)
Auth: Fix catch both both ErrInvalidAPIKey for context with APIKey (#62193)

* fix: capture both ErrInvalidAPIKey

* rename of variable

(cherry picked from commit c5cb5be3cc)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-01-30 08:59:16 +00:00
Grot (@grafanabot)
4da046bde5 [v9.3.x] CloudWatch: Add missing AWS/DX metric (#62442)
CloudWatch: Add missing AWS/DX metric (#62405)

(cherry picked from commit 2ff715cb7a)

Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
2023-01-30 08:40:57 +00:00
Grot (@grafanabot)
f966a06342 [v9.3.x] docs: clarify note re export dashboard as PDF (#62399)
docs: clarify note re export dashboard as PDF (#62398)

clarify note re export dashboard as PDF

Update note under Export dashboard as PDF to indicate that it's only available on Enterprise and Cloud, as well as which version of Enterprise it's available on.

(cherry picked from commit 290f23a50b)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-01-27 13:53:41 -06:00
Grot (@grafanabot)
ca772d2fbe [v9.3.x] Move Grafana tutorials from grafana/tutorials repository (#62360)
Move Grafana tutorials from grafana/tutorials repository (#62309)

* Add Grafana tutorials originally from tutorials repository

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Replace tutorials/step shortcode with ordinary headings

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix typos reported by codespell

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix doc-validator linting and run prettier

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Specify version in tutorials lookup as non-rendered pages do not have a relative permalink used to infer the version

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Use latest version

Ensures CI passes and only breaks one website build as the backport to
v9.3.x will solve the missing "latest" pages on publishing.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 4563111180)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-27 17:58:07 +00:00
Grot (@grafanabot)
6e8be826ba [v9.3.x] StateTimeline: Show correct legend label when value mappings set (#62312)
StateTimeline: Show correct legend label when value mappings set (#62282)

* StateTimeline: Show correct legend label when value mappings set

* Add test dashboard for thresholds and value mappings

* run stripnulls.sh

(cherry picked from commit 846acd28ff)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-01-27 14:53:45 +00:00
dsotirakis
12ddd7294a go mod tidy 2023-01-27 16:25:05 +02:00
Dimitris Sotirakis
58ea79a30b [v9.3.x] Docs: Update whats new link (#62240)
* Update what's new link

* yarn install

* Fix link to whatsnew

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-27 15:25:09 +02:00
Grot (@grafanabot)
61ff98096d [v9.3.x] Changelog: Updated changelog for 9.3.6 (#62234)
Changelog: Updated changelog for 9.3.6 (#62231)

(cherry picked from commit 0cd14091c4)
2023-01-26 17:29:46 +02:00
Grot (@grafanabot)
ee1556e4fa [v9.3.x] QueryEditorRow: Fixes issue loading query editor when data source variable selected (#62180)
QueryEditorRow: Fixes issue loading query editor when data source variable selected (#61927)

* QueryEditorRow: Fixes issue loading query editor when data source variable selected

* Fix func name

* Removed wait

* restore waiting for with better check

* restore waiting for with better check

(cherry picked from commit 9f7ddf1f0b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-01-26 13:16:20 +01:00
Horst Gutmann
8e3111aa47 Merge 'v9.3.x' into v9.3.x 2023-01-26 12:42:21 +01:00
Grot (@grafanabot)
6991330eda [v9.3.x] Encryption: Cache new DEKs (only) after a caution period (#62177)
Encryption: Cache new DEKs (only) after a caution period (#60664)

* Encryption: Cache new DEKs (only) after commit

* Fix typo

* Update secrets manager tests with new failing case

* Update secrets manager tests with new clarifications (comments)

* Correct broken method calls

* Unify methods

* Cache data keys only after a caution period

* Caution period for data keys caching only for encrypt ops

(cherry picked from commit c4e067d49d)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2023-01-26 11:31:42 +01:00
Victor Marin
7ea31b5173 [v9.3.x] Fix Barchart legend calcs when stacking is percent (#62176)
Fix Barchart legend calcs when stacking is percent (#61449)

* Fix Barchart legend calcs when stacking is percent

* doc change

* Refactor + tests

(cherry picked from commit ab7a4e5f28)
2023-01-26 10:02:22 +00:00
Dimitris Sotirakis
613940a0c8 [v9.3.x] Remove github automations when publishing (#62099)
Remove github automations
2023-01-26 09:28:46 +02:00
Nathan Marrs
1c8a50b369 [v9.3.x] SVG: Add dompurify preprocessor step (#62157)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit 8b574e22b5)
2023-01-25 13:30:53 -08:00
Grot (@grafanabot)
c69fb85c7e [v9.3.x] add export customHeadersSettings component (#62141)
add export customHeadersSettings component (#62131)

(cherry picked from commit 069dc2d357)

Co-authored-by: Taewoo K <taewoo.kim@grafana.com>
2023-01-25 14:03:43 -05:00
Grot (@grafanabot)
e7e110c140 [v9.3.x] Oauth: Remove extra decoding of redirect url (#60878)
Oauth: Remove extra decoding of redirect url (#60875)

Oauth: remove extra decoding of redirect cookie url
(cherry picked from commit 5b4e1ee6fc)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2023-01-25 15:16:28 +00:00
Grot (@grafanabot)
f938fc9d0d [v9.3.x] Add reference to Google OAuth docs (#61067)
Add reference to Google OAuth docs (#61048)

(cherry picked from commit 7582e77d25)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-01-25 11:12:13 +01:00
Grot (@grafanabot)
0d00936ba7 Release: Bump version to 9.3.5 (#62074)
"Release: Updated versions in package to 9.3.5"
2023-01-25 11:49:04 +02:00
Grot (@grafanabot)
5736569768 [v9.3.x] Changelog: Updated changelog for 9.3.4 (#62068)
Changelog: Updated changelog for 9.3.4 (#62067)

(cherry picked from commit 8c3e4487ba)
2023-01-25 11:38:33 +02:00
Esteban Beltran
594b5cdd95 Docs: Update publish a plugin FAQ to cover more common questions (#62… (#62063) 2023-01-25 10:04:22 +01:00
Grot (@grafanabot)
9be71e5175 [v9.3.x] Docs: corrects broken link to v9.0 docs (#62036)
Docs: corrects broken link to v9.0 docs (#62035)

corrects broken link to v9.0 docs

(cherry picked from commit 0f93548ac4)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-01-24 14:37:09 -06:00
Grot (@grafanabot)
9d5b13b565 [v9.3.x] Explore: Be sure time range key bindings are mounted after clear (#62020)
Explore: Be sure time range key bindings are mounted after clear (#61892)

* Add list of bindings for updating on change

* Revert "Add list of bindings for updating on change"

This reverts commit 092707371d.

* Clear keybindings before component render

(cherry picked from commit 6ab79c4fba)

Co-authored-by: Kristina <kristina.durivage@grafana.com>
2023-01-24 11:33:45 -06:00
Grot (@grafanabot)
47f924d915 [v9.3.x] Datasources: Fix Proxy by UID Failing for UIDs with a Hyphen (#62011)
Datasources: Fix Proxy by UID Failing for UIDs with a Hyphen (#61723)

Fix Proxy by UID Failing for UIDs with a Hyphen

Hyphens are allowed in short IDs but not picked up by the
proxyPathRegexp. This caused the end of the uid to be proxied as part of
the path to the backing datasource which would usually cause a 404.

(cherry picked from commit f85d072c17)

Co-authored-by: Chris Marchbanks <csmarchbanks@gmail.com>
2023-01-24 16:32:36 +00:00
Grot (@grafanabot)
73a881c954 [v9.3.x] Docs: prose and format updates (#61996)
Docs: prose and format updates (#61720)

* wording and format updates

* corrects typo

(cherry picked from commit 12a4a83c77)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-01-24 10:05:19 -06:00
Grot (@grafanabot)
77b7420f54 Release: Bump version to 9.3.5 (#729)
"Release: Updated versions in package to 9.3.5"
2023-01-24 16:06:00 +01:00
Jo
ecf4e45659 Auth: Update saml go.mod (missing query sig verification) [9.3.x] (#712)
* update saml go.mod (missing query sig verification)

(cherry picked from commit 1e1dbd1a06455a451d722856dc619b2a7c78e2c0)

* fix sync
2023-01-24 15:03:52 +01:00
Nathan Marrs
c9c7f0d653 [v9.3.x] SVG: Add dompurify preprocessor step (#698) (#703)
* SVG: Add dompurify preprocessor step (#698)

* add sanitized SVG component

(cherry picked from commit dbbe819368f507b9493b7a3cf6e080a5dd752b3e)

* Remove added file

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-01-24 15:03:51 +01:00
Misi
56cb8a6ee8 [v9.3.x] Update grafana/saml library (#690)
SAML: update grafana/saml

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-01-24 15:03:50 +01:00
Dominik Prokop
384eaed327 Snapshots: Fix originalUrl spoof security issue (#675)
(cherry picked from commit 91dc90ba633a4c96236ab1761c408d8f1b7a8e06)
2023-01-24 15:03:49 +01:00
Kevin Minehart
ad08393729 [v9.3.x] Packaging: Use base64 key (#61823)
backport

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2023-01-24 14:01:16 +00:00
Grot (@grafanabot)
14eb47f749 [v9.3.x] Docs: Update index.md to not escape dollar sign (#61960)
Docs: Update index.md to not escape dollar sign (#61694)

Update index.md to not escape dollar sign

the backslash is useful in json files, but not where most users will see it

(cherry picked from commit 3146740d82)

Co-authored-by: jeremybanzhaf <88380596+jeremybanzhaf@users.noreply.github.com>
2023-01-23 16:01:44 -06:00
Ryan McKinley
816923e94d TextPanel: Refactor to functional component (#60885) (#61937)
(cherry picked from commit 8b50c60342)
2023-01-23 14:45:13 -06:00
Grot (@grafanabot)
4dc28cfec5 [v9.3.x] Elasticsearch: Fix failing requests when using SigV4 (#61933)
Elasticsearch: Fix failing requests when using SigV4 (#61923)

fix setting of `es` servicename

(cherry picked from commit c5610450b2)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-23 17:00:37 +01:00
Grot (@grafanabot)
85c62f07c7 [v9.3.x] Query Builder: Fix max width of input component to prevent overflows (#61865)
Query Builder: Fix max width of input component to prevent overflows (#61798)

* fix(auto-size-input): return maxWidth when realWidth exceeds limit

* fix(query-builder): sex madWidth for simple editor component

* fix(auto-size-input): add unit test

(cherry picked from commit 87f8e7e223)

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-01-23 14:20:42 +01:00
Grot (@grafanabot)
5c2e0c374c [v9.3.x] grafana/e2e: Add ability to customise scenario config (#60705)
grafana/e2e: Add ability to customise scenario config (#60646)

* Add ability to retry e2e test scenarios

* Add wait and remove retries

* Revert retry logic and elaborate on 15s wait time

* No need to update datasource name now

(cherry picked from commit c34aa05548)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-01-23 11:01:36 +00:00
Grot (@grafanabot)
72904519fa [v9.3.x] Update link to provisioning docs (#61843)
Update link to provisioning docs (#61840)

Update links to provisioning docs

(cherry picked from commit a960b55a99)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2023-01-23 09:24:53 +01:00
Grot (@grafanabot)
91356c9af3 [v9.3.x] Canvas: Rectangle render error (#61889) 2023-01-20 21:45:20 +00:00
Grot (@grafanabot)
e50192e9fd [v9.3.x] Docs: rewrite data source intro (#61876)
Docs: rewrite data source intro (#61639)

* Docs: rewrite data source intro

- Include more than just "databases", which was overly narrow
- Try to make doc a "TL;DR" of the essential information

* docs, link data source to build plugin task

* Reduce jargon and sentence length

* Link out to different features

* Data source, docs turn examples into list

And trim language

* Better phrasing to introduce query editor

Old way implied that Grafana provides all query editors,
which isn't true of custom plugins.

* use relref for in-repo anchor

* remove double "in"

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Simplify list

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Restructure intro, clarify plugins and their URLs

* Add and configure

It's sometimes both.

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* makes prettier

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit fb6df56464)

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
2023-01-20 17:41:17 +00:00
Grot (@grafanabot)
783b7129ff [v9.3.x] Docs: Use the correct name for the feedback_links_enabled option (#61861)
Docs: Use the correct name for the feedback_links_enabled option (#61825)

Also updates the description to be more in line with the style conventions.

(cherry picked from commit d0cf7ff8e9)

Co-authored-by: zsrv <95176387+zsrv@users.noreply.github.com>
2023-01-20 09:22:04 -06:00
Grot (@grafanabot)
5da3e81bd3 [v9.3.x] Elasticsearch: Fix creating of span link with no tags (#61836)
Elasticsearch: Fix creating of span link with no tags (#61753)

Elasticsearch: Fix create span link if no tags
(cherry picked from commit 46722679b5)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-01-20 10:04:56 +00:00
Dimitris Sotirakis
f7352810e0 [v9.3.x] CI: Remove npm steps from enterprise pipelines (#59108) (#59289)
CI: Remove `npm` steps from enterprise pipelines (#59108)

Remove npm steps from enterprise pipelines

(cherry picked from commit 2d7fcea8fa)

# Conflicts:
#	.drone.yml
2023-01-20 08:11:15 +00:00
Grot (@grafanabot)
5a15fec112 [v9.3.x] Update _index.md (#61829)
Update _index.md (#61662)

* Update _index.md

The troubleshooting page was missing how to send dashboard panels for debugging so added it here.

* Update docs/sources/troubleshooting/_index.md

* Update docs/sources/troubleshooting/_index.md

* removed empty lines

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit 6c6c0f5402)

Co-authored-by: Usman Ahmad <69509548+usmangt@users.noreply.github.com>
2023-01-20 04:18:46 +00:00
Grot (@grafanabot)
15f8efdaec [v9.3.x] SearchV2: Fix star query when no stars exist (#61819)
SearchV2: Fix star query when no stars exist (#61726)

(cherry picked from commit c315946a91)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-01-19 21:54:05 +00:00
Grot (@grafanabot)
30f8d97b48 [v9.3.x] Canvas: Inconsistent border behavior (#61804) 2023-01-19 18:59:59 +00:00
Grot (@grafanabot)
6ba3cceb79 [v9.3.x] Alerting: Fix QueryAndExpressionStep not using the right query (#61796)
Alerting: Fix QueryAndExpressionStep not using the right query (#61738)

Fix QueryAndExpressionStep not using the right query

(cherry picked from commit a6102105af)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-01-19 17:52:52 +01:00
Kevin Minehart
056ef7da7f [9.3.x] Use new GPG key when publishing (#61793)
update .drone.yml

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2023-01-19 16:08:27 +00:00
Grot (@grafanabot)
f485d0a1df [v9.3.x] Plugins: enable the plugin sdk to get the json data for all datasources (#61792)
Plugins: enable the plugin sdk to get the json data for all datasources (#61729)

(cherry picked from commit 3b718a3e8f)

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2023-01-19 16:03:12 +00:00
Andreas Christou
727470dee3 [v9.3.x] AzureMonitor: Correctly select template variable values in E2E (#61780) (#61788)
AzureMonitor: Correctly select template variable values in E2E (#61780)

Correctly select values

(cherry picked from commit d50f206677)
2023-01-19 15:56:31 +00:00
Grot (@grafanabot)
7b81fef14e [v9.3.x] Logs: Lines with long words do not break properly (#61756)
Logs: Lines with long words do not break properly (#61707)

really break anywhere

(cherry picked from commit fd70f6034f)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-19 12:09:27 +00:00
Grot (@grafanabot)
7127d4f3b9 [v9.3.x] Elasticsearch: Fix toggle-settings are not shown correctly (#61755)
Elasticsearch: Fix toggle-settings are not shown correctly (#61751)

* changed `checked` propery to `value`

* revert changing the prop in the event

(cherry picked from commit dd8f95a201)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-19 12:48:03 +01:00
Grot (@grafanabot)
0b1547e326 [v9.3.x] Variables: Allow user to filter values in dropdown using white space. (#61739)
Variables: Allow user to filter values in dropdown using white space (#60622)

Fix #60589

(cherry picked from commit 50df85189c)

Co-authored-by: yusuf-multhan <yusuf-multhan@users.noreply.github.com>
2023-01-19 11:38:18 +01:00
Grot (@grafanabot)
bed1e36dcc [v9.3.x] Auth: Fix disable/remove duplicate user entries metrics for performance reasons (#61692)
Auth: Fix disable/remove duplicate user entries metrics for performance reasons (#61675)

* fix: remove metrics from duplicate user entries

* fix: disable metrics collection for authinfo

* fix: initifine goroutine loop that happened

* removed: metrics

(cherry picked from commit bedd2304d1)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-01-19 09:46:40 +01:00
Yuri Tseretyan
ad705086cf Alerting: Fix webhook to use correct key for decrypting token (#61717) 2023-01-18 19:51:37 +00:00
Grot (@grafanabot)
5335cdf4e5 [v9.3.x] Docs: Renderer token (#61682)
Docs: Renderer token (#59560)

* Docs: renderer token

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/image-rendering/_index.md

* Update docs/sources/setup-grafana/configure-grafana/_index.md

* makes prettier

Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit d042c0b30b)

Co-authored-by: Leonard Gram <leo@xlson.com>
2023-01-18 15:44:56 +01:00
Sven Grossmann
f5a52c8f0e [9.3.x] Loki: Use queries maxLines if configured, even if it is zero (#61652) (#61657)
Loki: Use queries `maxLines` if configured, even if it is zero (#61652)

* user `query.maxLines` even if it is zero

* remove unnecessary comment

(cherry picked from commit 6c566a391d)
2023-01-18 09:32:11 +00:00
Grot (@grafanabot)
b42544526e [v9.3.x] Dashboard: Making a dashboard editable does not allow resizing of panels (#59943)
Dashboard: Making a dashboard editable does not allow resizing of panels (#59255)

* DashboardGrid should rerender ReactGridLayout when mutable dashboard updates

* add missing prop to test

(cherry picked from commit db1e19fe86)

Co-authored-by: Polina Boneva <13227501+polibb@users.noreply.github.com>
2023-01-17 22:26:49 +02:00
Grot (@grafanabot)
1a16d949d8 [v9.3.x] Fix typos (#61408)
Fix typos (#61318)

Redis was called Rediss twice, this was the source of some confusion.

(cherry picked from commit 447e56b557)

Co-authored-by: chrisharbro <102977229+chrisharbro@users.noreply.github.com>
2023-01-17 10:29:00 -06:00
Grot (@grafanabot)
9077c0989c [v9.3.x] Search: Fix empty folder message showing when by starred dashboards (#61624) 2023-01-17 17:27:13 +01:00
Grot (@grafanabot)
e01756ceed [v9.3.x] Fix documentation for notification policy object_matchers (#61606)
Fix documentation for notification policy object_matchers (#61602)

* Fix documentation

* Fix grammar

* Update docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md

Co-authored-by: George Robinson <george.robinson@grafana.com>

Co-authored-by: George Robinson <george.robinson@grafana.com>
(cherry picked from commit be72e570cf)

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2023-01-17 11:42:56 +01:00
Grot (@grafanabot)
cda38a1ca4 [v9.3.x] Alerting: Fix group select not being filled by selected folder when creating alert from panel (#61604)
Alerting: Fix group select not being filled by selected folder when creating alert from panel (#61577)

Add fetchRulerRulesIfNotFetchedYet fetching when results are an empty object

(cherry picked from commit 04b5e6ed9e)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-01-17 11:37:14 +01:00
Selene
fe6088e60e [v9.3.x] Dashboards: Add org_id in dashboards query (#61599)
Manual backport
2023-01-17 10:52:47 +01:00
Grot (@grafanabot)
a8784574ef [v9.3.x] Barchart: Fix erroneous tooltip value (#61601)
Barchart: Fix erroneous tooltip value (#61455)

Fix Barchart tooltip value issue

(cherry picked from commit b5383b7d05)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-01-17 09:42:43 +00:00
Grot (@grafanabot)
2b7f0d950c [v9.3.x] Add object_matchers example (#61558)
Add object_matchers example (#61235)

* Add object_matchers example

* Use better terminology

(cherry picked from commit 3db08d4e36)

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2023-01-16 15:50:46 +01:00
Grot (@grafanabot)
b7e4a27e96 [v9.3.x] Auth: Fix correct error for updateapikey in context handler (#61565)
Auth: Fix correct error for updateapikey in context handler (#61544)

* fix: correct error for updateapikey

* refactor: send the correct err forward

* update: based on review

(cherry picked from commit 07bbc0716c)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-01-16 14:31:02 +00:00
Grot (@grafanabot)
ae78664449 [v9.3.x] Fix Barchart legend aligning right when orientation is horizontal (#61543)
Fix Barchart legend aligning right when orientation is horizontal (#61451)

(cherry picked from commit 43ca4e0bc7)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-01-16 10:23:59 +00:00
Grot (@grafanabot)
4db98cbc0f [v9.3.x] update docs docker image reference (#61502)
update docs docker image reference (#61269)

* update docs docker image
* remove command

(cherry picked from commit 98cadb3aa0)

Co-authored-by: Robby Milo <robbymilo@fastmail.com>
2023-01-16 09:50:27 +00:00
Alexander Weaver
46f377635e Alerting: Set error annotation on EvaluationError regardless of underlying error type (#61508)
* Alerting: Set error annotation on EvaluationError regardless of underlying error type (#61506)

Set error annotation regardless of underlying error type

(cherry picked from commit b289b8ac6e)

* Also cherrypick the nilcheck that got added prior to 9.4
2023-01-16 09:11:52 +01:00
Grot (@grafanabot)
3f37ea5dc8 [v9.3.x] Live: Fix Subscription to the channel already exists live streaming error (#61420)
Live: Fix `Subscription to the channel already exists` live streaming error (#61406)

#60570: Fix `subscription to the channel already exists`

(cherry picked from commit 23dbc916e8)

Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2023-01-13 12:33:33 -08:00
Grot (@grafanabot)
7e273e82c5 [v9.3.x] Loki: Fix misaligned derived fields settings (#61489)
Loki: Fix misaligned derived fields settings (#61475)

* fix loki datasource settings

* remove unnecessary spacing

* remove unused import

(cherry picked from commit b816538e09)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-13 14:46:57 +01:00
Grot (@grafanabot)
83691de11a [v9.3.x] Pin doc-validator image version to allow repository to opt in to breaking changes (#61481)
Pin doc-validator image version to allow repository to opt in to breaking changes (#61456)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 017d4f2cbb)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-13 11:56:35 +00:00
Grot (@grafanabot)
2b6932a2b4 [v9.3.x] Levitate: Only run against the main branch (#61452)
Levitate: Only run against the main branch (#61401)

chore: only run Levitate against the main branch
(cherry picked from commit b8aaf85fdc)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-01-13 10:01:22 +01:00
Giordano Ricci
58aa232a1b Explore: Unsync time ranges when a pane is closed (#61369) (#61435)
* Explore: Unsync time ranges when a pane is closed (#61369)

* Explore: Unsync time ranges when a pane is closed

* remove unintentional import

(cherry picked from commit 1e33e56dbd)

* remove unneeded property
2023-01-13 00:51:14 +00:00
Grot (@grafanabot)
225534841f [v9.3.x] Alerting: Fix evaluation timeout (#61307)
Alerting: Fix evaluation timeout (#61303)

(cherry picked from commit b4e1e1871f)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-12 14:18:30 +01:00
Grot (@grafanabot)
7ad83a3b84 [v9.3.x] Logs: Fix alginment of meta items (#61357)
Logs: Fix alginment of meta items (#61349)

fix items to be center

(cherry picked from commit 9fa98dbbca)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-12 09:56:26 +00:00
Grot (@grafanabot)
1570bdd838 [v9.3.x] Docs: clarifies table view (#61327)
Docs: clarifies table view (#61320)

* clarifies table view

* Update docs/sources/panels-visualizations/panel-editor-overview/index.md

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
(cherry picked from commit b3272fe62c)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-01-11 14:41:42 -06:00
Grot (@grafanabot)
1ca625f41f [v9.3.x] Bugfix: Prevent previous query editor to set default values when changing data source (#61286)
Bugfix: Prevent previous query editor to set default values when changing data source (#60218)

* Fixed issue where the query editor of the previous ds sets default values on query passed to the query editor of the next ds.

* Fixed issue with changing data source for query in Alerting.

* Will apply default values from DS if available.

* Fix failing tests.

* fixed spell error.

* reverted getDefaultQuery call so it can be added in a separate PR.

(cherry picked from commit b633d5395d)

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-01-11 21:27:20 +01:00
Grot (@grafanabot)
31d483a567 [v9.3.x] Log volume: Fix functionality if query has multiple comments (#61309)
Log volume: Fix functionality if query has multiple comments (#61306)

* Log volume: Fix functionality if query has comments

* Add additional test

(cherry picked from commit 8bda8b8272)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-01-11 16:34:46 +00:00
Grot (@grafanabot)
57a4796c22 [v9.3.x] Alerting: Fix General folder being added in alerting FolderPicker (#61296)
Alerting: Fix General folder being added in alerting FolderPicker (#61277)

Fix General folder being added in alerting FolderPicker

(cherry picked from commit f7ae909324)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-01-11 16:09:22 +01:00
Grot (@grafanabot)
0a5f051dd1 [v9.3.x] Instrumentation: measure time until plugin request (#61289)
Instrumentation: measure time until plugin request (#61279)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit 672b1711b0)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2023-01-11 15:28:59 +01:00
Christopher Moyer
260510273b Docs: Backport 61112 to v9.3.x (#61236)
Docs: removed unsupported versions; reordered (#61112)

removed unsupported versions; reordered

(cherry picked from commit 205457ae5e)
2023-01-11 07:40:49 -06:00
Grot (@grafanabot)
13532b62d3 [v9.3.x] Update publishing workflows to use PATs with fine-grained access control (#61268)
Update publishing workflows to use PATs with fine-grained access control (#61098)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 87ccf10ffe)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-11 11:12:07 +00:00
Leon Sorokin
24abde9816 [v9.3.x] DataFrame: Add explicit histogram frame type (panel & transforms) 2023-01-10 16:37:08 -08:00
Grot (@grafanabot)
810d7007c4 [v9.3.x] remove splunk plugin from legacyRunner check (#61181)
remove splunk plugin from legacyRunner check (#60979)

(cherry picked from commit 7db284cfcb)

Co-authored-by: Taewoo K <taewoo.kim@grafana.com>
2023-01-10 10:46:52 +01:00
Grot (@grafanabot)
62984d2aa0 [v9.3.x] TimeSeries: Fix y-axis Yes/No and On/Off boolean units (#61208)
TimeSeries: Fix y-axis Yes/No and On/Off boolean units (#61207)

(cherry picked from commit a1609230f8)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-01-10 02:04:08 -05:00
Grot (@grafanabot)
007110c599 [v9.3.x] Traces: Fix timestamp for database query traces (#61162)
Traces: Fix timestamp for database query traces (#61109)

(cherry picked from commit e7b17cde47)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-09 09:58:18 -05:00
Esteban Beltran
5cf1b561cf Docs: Add source code url field description in publish a plugin document (#61132) 2023-01-09 10:49:37 +01:00
Grot (@grafanabot)
155602e49c [v9.3.x] Plugins: add UI for secure socks proxy feature toggle (#60982)
Plugins: add UI for secure socks proxy feature toggle (#60750)

(cherry picked from commit 39b8d3a182)

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2023-01-06 11:56:24 -05:00
Grot (@grafanabot)
81249c68ac [v9.3.x] GrafanaUI: Fix vercal slider handle positioning (#61097)
GrafanaUI: Fix vercal slider handle positioning (#61088)

(cherry picked from commit fafae26068)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-01-06 15:28:33 +00:00
Grot (@grafanabot)
8ff6d2ae7c [v9.3.x] Canvas: Inconsistent save behavior (#61013)
Canvas: Save element placement (#61007)

(cherry picked from commit 88a8cba6b0)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-01-04 18:48:28 -05:00
Grot (@grafanabot)
e12c571abf [v9.3.x] Alerting: Fix conversion of alert state from db state during manager warmup (#60976)
Alerting: Fix conversion of alert state from db state during manager warmup (#60933)

(cherry picked from commit 4d989860fb)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-04 09:57:34 -05:00
Stephanie Hingtgen
a4b7019ff0 [v9.3.x] Plugins: add option to proxy ds connections through a secure socks proxy (#59254) (#60643)
Plugins: add option to proxy ds connections through a secure socks proxy (#59254)

* Plugins: add feature to proxy data source connections

(cherry picked from commit 6805c951e9)
2023-01-04 20:05:18 +05:30
Grot (@grafanabot)
41ce629a25 [v9.3.x] Remove packages path from branch filter (#60947)
Remove packages path from branch filter (#60128)

That directory is no longer used in published docs and causes this
workflow to fail when changes only affect the packages directory.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 1516aa2762)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-04 10:43:11 +00:00
Grot (@grafanabot)
8aa9921c9f [v9.3.x] Alerting: Fix missing dashboard/panelID links in annotations (#60927)
Alerting: Fix missing dashboard/panelID links in annotations (#60926)

Assign thru ref

(cherry picked from commit b88b8bc291)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-01-04 10:19:25 +00:00
Grot (@grafanabot)
d80ffe3ef9 [v9.3.x] Prometheus: Code editor - upgrade /series API endpoints to use label/values and /labels for supported prometheus clients (#60925)
Prometheus: Code editor - upgrade /series API endpoints to use label/values and /labels for supported prometheus clients (#59576)

* Allow prometheus code editor API to use new prometheus API calls for supported data source clients.
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

(cherry picked from commit 4ed0cc7d18)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-01-03 12:54:19 -06:00
Jack Baldry
30abded215 [v9.3.x] remove _build param from whatsnew (#59236) (#60887)
remove `_build` param from whatsnew (#59236)

* remove `_build` param from whatsnew

* Update whats-new-in-v9-3.md

Co-authored-by: Robby Milo <robbymilo@fastmail.com>
2023-01-03 15:51:10 +00:00
Grot (@grafanabot)
db83d5f398 [v9.3.x] Plugins: Fix plugin query help markdown (#60907)
Plugins: Fix plugin query help markdown  (#60485)

* refactor(pluginhelp): rewrite as functional component with useAsync

* mimic old behaviour

* feat(pluginhelp): display message if backend returned an empty string

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 9aed364898)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-01-03 09:11:50 -05:00
Grot (@grafanabot)
0404d07666 [v9.3.x] Alerting: Fix missing edit/delete/copy link in alert view (#60902)
* Alerting: Fix missing edit/delete/copy link in alert view (#60874)

Fix missing edit/delete/copy link in alert view

(cherry picked from commit f22286df3f)

* Fix generated file

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2023-01-03 14:28:46 +01:00
Grot (@grafanabot)
b4d343e162 [v9.3.x] Docs: Update merge-pull-request.md regarding backport policies (#59252)
Docs: Update `merge-pull-request.md` regarding backport policies (#59239)

* Update merge-pull-request.md

* yarn run prettier:write

(cherry picked from commit 27bd50da52)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-01-03 09:16:49 +00:00
Kristin Laemmert
c75abb084c CLI: Fix wire graph for reset-admin-password (#60846)
fix(cli): correct wire binding for reset-admin-password

The cli methods were updated to use the db.DB interface, but that interface was still wired in as the fake DB - it had only been used for tests previously. This isn't an issue in the main branch now that it's been collapsed into a single binary all using the same wire graph.

Fixes #59915
2022-12-30 11:00:45 -05:00
Emil Tullstedt
d7146dd127 [v9.3.x] Chore: Upgrade Go to 1.19.4 (#60825)
Chore: Upgrade Go to 1.19.4
2022-12-30 11:48:01 +01:00
Grot (@grafanabot)
9f639403e6 [v9.3.x] Alerting: Prevent uid collision in migration when db is case-insensitive (#60835)
Alerting: Prevent uid collision in migration when db is case-insensitive (#60494)

* Alerting: Prevent short uid collision in legacy migration when db is case-insensitive

Two factors come into play that cause sporadic uid conflicts during legacy alert migration:
- MySQL and MySQL-compatible backends use case-insensitive collation.
- Our short uid generator is not a uniform RNG and generates uids in such a way that generations in quick succession have a higher probability of creating similar uids.

Normally we would be guaranteed unique short uid generation, however if the source alphabet contains
duplicate characters (for example, if we use case-insensitive comparison) this guarantee is void.

Generating even ~1000 uids in quick succession is nearly guaranteed to create a case-insensitive
duplicate.

(cherry picked from commit 570b62091c)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2022-12-29 16:15:12 -05:00
ismail simsek
1d0dd0338c [v9.3.x] Prometheus: Fix Instant query time calculation (#60822)
Prometheus: Fix Instant query time calculation (#60815)

* Use single point in time instead of doing time range calculation

* Comment update

(cherry picked from commit 15d32546ea)
2022-12-29 17:22:26 +01:00
Jack Baldry
55a0db984d [v9.3.x] docs: corrects broken links (#60594) (#60732)
docs: corrects broken links (#60594)

correct broken links

(cherry picked from commit 3d8890453f)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-29 09:45:01 +00:00
Grot (@grafanabot)
b2a8f8123d [v9.3.x] BarChart: Clear tooltip when cursor exits bar (#60749)
BarChart: Clear tooltip when cursor exits bar (#60617)

(cherry picked from commit 9bd6e471e4)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-12-23 14:16:05 -05:00
Grot (@grafanabot)
baeaab2f11 [v9.3.x] Heatmap: Fix bottom bucket range in tooltip (#60745)
Heatmap: Fix bottom bucket range in tooltip (#60562)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit b439fd56d8)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-12-23 14:10:28 -05:00
Grot (@grafanabot)
27aacde173 [v9.3.x] Geomap: Fix datalink UX regression (#60743)
Geomap: Fix datalink UX regression (#60739)

(cherry picked from commit 8b200d74b9)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-12-23 14:05:26 -05:00
Grot (@grafanabot)
727d739d14 [v9.3.x] Barchart: Fix tooltip erroneous header (#60742)
Barchart: Fix tooltip erroneous header (#60741)

(cherry picked from commit 283cdc184e)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-12-23 13:55:44 -05:00
Grot (@grafanabot)
8455617ffb [v9.3.x] Azure Monitor: Add current value to editor options (#60738)
Azure Monitor: Add current value to editor options (#60726)

(cherry picked from commit 7a679db08b)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-12-23 13:24:40 -05:00
Grot (@grafanabot)
654ac6cd8a [v9.3.x] Folder: Folder name update redirects to desired location, for grafana served with subpath (#60737) 2022-12-23 17:44:23 +01:00
Gilles De Mey
6f752ababb Alerting: Improve threshold displays (#60046) (#60704)
* Alerting: Improve threshold displays (#60046)

(cherry picked from commit e9fe9baf66)

* TimeSeriesPanel: Allow threshold indicators without change handler (#60575)

(cherry picked from commit 16c6f223ba)

* update jest snapshots

it looks like snapshots are encoded differently on this branch
2022-12-23 11:37:52 +01:00
Grot (@grafanabot)
b8882237ed [v9.3.x] Add copyright notice (#60663)
* Add copyright notice (#60658)

* Create copyright

* add copyright notice

(cherry picked from commit c7671b6d1d)

* yarn run prettier:write

(cherry picked from commit 160ea3e262)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-12-23 10:02:14 +00:00
Grot (@grafanabot)
8de24779ad [v9.3.x] Prometheus: Fix exemplar popover overflow (#60722)
Prometheus: Fix exemplar popover overflow (#60189)

Add popover modifiers to fix overflow issue

(cherry picked from commit 76e822af39)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-12-23 10:50:58 +01:00
Grot (@grafanabot)
510345aad1 [v9.3.x] Elasticsearch: Fix adding of adhoc filters when jumping to explore (#60699)
Elasticsearch: Fix adding of adhoc filters when jumping to explore (#60691)

* Elasticsearch: Fix adding of adhoc filters when jumping to explore

* Change NOT operator to - as it is preffered solution

(cherry picked from commit c289cd136c)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-12-22 10:17:10 -05:00
Grot (@grafanabot)
e94626a6cc [v9.3.x] Loki: Fix missing parameters on Query Builder operations (#60693)
Loki: Fix missing parameters on Query Builder operations (#60677)

* add missing mandatory params

* improve naming

* change let to const

(cherry picked from commit 9f9bf4650d)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-12-22 09:46:45 -05:00
Grot (@grafanabot)
3403afb533 [v9.3.x] Logs: Fix height of logs component when used with topnav (#60690)
Logs: Fix height of logs component when used with topnav (#60669)

fix height for topNav

(cherry picked from commit 01c4783c0b)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-12-22 15:17:46 +01:00
Grot (@grafanabot)
8bcbf85453 [v9.3.x] Azure Monitor: Fix metric metadata retrieval based on template variables (#60686)
Azure Monitor: Fix metric metadata retrieval based on template variables (#60674)

(cherry picked from commit f8cc45f5bd)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-12-22 07:57:04 -05:00
Grot (@grafanabot)
386016ccb9 [v9.3.x] AzureMonitor: Set Logs portal URL from resource URI (#60640)
AzureMonitor: Set Logs portal URL from resource URI (#60583)

Set URL based off of resource URI

(cherry picked from commit f3f043e097)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-12-22 07:06:02 -05:00
Andreas Christou
17637cea7c AzureMonitor: E2E update (#60624) (#60642)
* Wait for locations call to complete

* Update drone to run cloud suite on tests update

(cherry picked from commit 0367036108)

# Conflicts:
#	.drone.yml
#	scripts/drone/steps/lib.star
2022-12-22 11:50:24 +00:00
Grot (@grafanabot)
ae071d7abc [v9.3.x] AzureMonitor: Correctly set filter values in portal URL (#60641)
AzureMonitor: Correctly set filter values in portal URL (#60627)

* Correctly set filter values in portal URL

* Refactor to include dimensions as a part of AzureMonitor query

* Correctly set splitting value in URL

- Add type for dimension filters object

* Update tests

* Don't test dimensions

(cherry picked from commit 2e4bc200f5)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-12-21 18:55:03 +00:00
Grot (@grafanabot)
d131bcb792 [v9.3.x] ToolbarButtonRow: Overflow button now toggles visibility correctly (#60637)
ToolbarButtonRow: Overflow button now toggles visibility correctly (#60635)

* only close the overlay if we're interacting with something other than the overflow button/the overlay itself

* use a ref instead of a test id

(cherry picked from commit 44232569a8)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-21 10:13:32 -05:00
Joao Silva
0e207c2010 [v9.3.x] DatasourceList: Fixes using sub path on datasources URL (#60631) 2022-12-21 15:45:34 +01:00
Grot (@grafanabot)
f05f7db37d [v9.3.x] Plugins: Fix parsing of Azure settings for plugins (#60625)
Plugins: Fix parsing of Azure settings for plugins (#60611)

Fix parsing of Azure settings for plugins

(cherry picked from commit 96b7fb15de)

Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
2022-12-21 07:51:06 -05:00
Grot (@grafanabot)
d726a9648f [v9.3.x] Alerting: Fix incorrect links/aliases to template docs (#60604)
* Alerting: Fix incorrect links/aliases to template docs (#60597)

(cherry picked from commit d070032065)

* Use versioned link

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-12-21 08:09:43 +01:00
Grot (@grafanabot)
139fc62eaf [v9.3.x] Removing hardcoded Cloud CTA in favor of a programmatic from website (#60600)
Removing hardcoded Cloud CTA in favor of a programmatic from website (#60179)

* Removing hardcoded Cloud CTA in favor of a programmatic from website

* makes prettier

Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit 17696f8dec)

Co-authored-by: Nicholas Auger <nick@qkombur.com>
2022-12-20 14:03:39 -06:00
Grot (@grafanabot)
1780f86fc7 [v9.3.x] docs: fixes links (#60574)
docs: fixes links (#60541)

fixes links

(cherry picked from commit b5834fd6d3)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-20 13:05:45 -06:00
Dimitris Sotirakis
439b0cad43 [v9.3.x] CI: Add automation for github assets publishing (#59491) (#60192)
CI: Add automation for github assets publishing (#59491)

* Add github.star

* Make step depend on fetch images

* artifacts -> path

* Add github token

* Fix custom path

* Add case where path is absent

* Add GH_REGISTRY secret

(cherry picked from commit e9cf8fa751)
2022-12-20 12:05:25 +02:00
Grot (@grafanabot)
2e4c921868 [v9.3.x] RBAC: Fix DeleteUserPermissions not being called on Upsert org sync (#60534)
RBAC: Fix DeleteUserPermissions not being called on Upsert org sync (#60531)

* fix DeleteUserPermissions not being called on RemoveOrgUser

* do not error out of auth flow

* fix test missing service

(cherry picked from commit 77786f236a)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-12-19 11:25:03 -05:00
Grot (@grafanabot)
5a71779ea1 [v9.3.x] RelativeTimeRangePicker: Don't respond to submit event when nested in a form element (#60520)
RelativeTimeRangePicker: Don't respond to submit event when nested in a form element (#60495)

(cherry picked from commit 68b044fb7c)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-12-19 07:21:53 -05:00
Grot (@grafanabot)
a8c188402a [v9.3.x] Update the Alerting HA docs (#60516)
Update the Alerting HA docs (#60292)

* Update the Alerting HA docs

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update HA introduction paragraph

* Apply prettier

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 9941dfc2b6)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-12-19 11:53:56 +00:00
Grot (@grafanabot)
803670872a [v9.3.x] Command Palette: Correctly clear button styles when changing theme (#60517)
Command Palette: Correctly clear button styles when changing theme (#60511)

add topnav feature toggle to new theme created when using 'c t'

(cherry picked from commit bc3d1fdd2a)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-19 06:14:09 -05:00
Grot (@grafanabot)
38963eced5 [v9.3.x] Apply linting advice from doc-validator tool (#60509)
Apply linting advice from doc-validator tool (#59606)

* Apply linting advice from doc-validator tool

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Prettier

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 97f01c0d1a)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-19 04:54:23 -05:00
Grot (@grafanabot)
4d7d7e7830 [v9.3.x] Prometheus: Fix X-Id-Token and X-ID-Token sent to Prometheus in query requests (#60406)
Prometheus: Fix X-Id-Token and X-ID-Token sent to Prometheus in query requests (#60342)

* Prometheus: Use Set rather than map assignment in sdkHeaderToHttpHeader
Fixes #59940

* Prometheus: Add TestPrometheusCanonicalHeaders

(cherry picked from commit 92c01e416e)

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2022-12-16 16:33:02 +01:00
Grot (@grafanabot)
282ffe37c9 [v9.3.x] Prometheus: Updating editor value on Monaco's onDidChangeContent performance issues (#60424)
Prometheus: Updating editor value on Monaco's onDidChangeContent performance issues (#60191)

debounce slow function that is running on each keystroke

(cherry picked from commit f7bd85d7f4)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2022-12-16 07:55:07 -06:00
Grot (@grafanabot)
b79aea0cbe [v9.3.x] Prometheus: Add POST support to client (#60439)
Prometheus: Add POST support to client (#60243)

* Prometheus: Add POST support to client

* Prometheus: Revert client test change from 1c503908

(cherry picked from commit 055c3b7332)

Co-authored-by: Fionera <fionera@fionera.de>
2022-12-16 12:55:07 +01:00
Grot (@grafanabot)
2d876e90b9 [v9.3.x] Alerting: Set Dashboard and Panel IDs on rule group replacement (#60444)
Alerting: Set Dashboard and Panel IDs on rule group replacement (#60374)

* Set Dashboard and Panel IDs on rule group replacement

* fix comments and abbreviate test variable name

* Update pkg/services/ngalert/provisioning/alert_rules.go

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
(cherry picked from commit 174c61b949)

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2022-12-16 12:32:57 +01:00
Grot (@grafanabot)
81c35a7c32 [v9.3.x] Changelog: Updated changelog for 9.3.2 (#60430)
Changelog: Updated changelog for 9.3.2 (#60428)

(cherry picked from commit dcd30f9b5d)
2022-12-15 17:53:20 -05:00
Grot (@grafanabot)
55b87d5ed6 Release: Bump version to 9.3.3 (#60429)
"Release: Updated versions in package to 9.3.3"
2022-12-15 22:51:16 +00:00
Grot (@grafanabot)
8c9b6efb05 [v9.3.x] Transformations: Fix bug in convert fields boolean to number (#60355)
Transformations: Fix bug in convert fields boolean to number (#60277)

* fix bug in convert fields boolean to number

* check for string outside of loop

(cherry picked from commit 286af5a53b)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2022-12-14 13:16:49 -05:00
Grot (@grafanabot)
661169720a [v9.3.x] Graphite: bug fix, strip white space from queries before comparing them (#60349)
Graphite: bug fix, strip white space from queries before comparing them (#60133)

strip white space from queries before comparing them

(cherry picked from commit d5d07894b1)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2022-12-14 11:53:33 -05:00
Grot (@grafanabot)
714bf79b93 [v9.3.x] Geomap: Update documentation for 9.3 (#60332)
Geomap: Update documentation for 9.3 (#59164)

* Geomap: Update documentation for 9.3

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Nathan Marrs  <nathanielmarrs@gmail.com>
(cherry picked from commit 38b74d8bd6)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2022-12-14 06:55:08 -08:00
Grot (@grafanabot)
2458371602 [v9.3.x] Datasources Fix formatting for SQL data sources permissions disclaimer (#60168)
Datasources Fix formatting for SQL data sources permissions disclaimer (#60155)

Chore: Fix formatting for sql datasources permissions disclaimer
(cherry picked from commit 45d1cfa172)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-12-14 09:44:46 -05:00
Grot (@grafanabot)
782a6afd92 [v9.3.x] Dashboards: Fix 'Make Editable' button not working in Dashboard Settings (#60330)
Dashboards: Fix 'Make Editable' button not working in Dashboard Settings (#60306)

* Dashboards: Fix 'Make Editable' button not working in Dashboard Settings

* comment

(cherry picked from commit 258696409d)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-12-14 09:39:07 -05:00
Grot (@grafanabot)
52027d1402 [v9.3.x] Accessibility: Improved keyboard accessibility in BigValue (#60317)
Accessibility: Improved keyboard accessibility in BigValue  (#59830)

use appropriate elements when rendering BigValue

(cherry picked from commit c75ed8fa69)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-12-14 15:26:53 +01:00
Grot (@grafanabot)
170fa40d67 [v9.3.x] Dashboards: Wrap MakeEditable in the new Page layout (#60324)
Dashboards: Wrap MakeEditable in the new Page layout (#60311)

Wrap MakeEditable in the new Page layout

(cherry picked from commit 495fceeeef)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-12-14 09:20:03 -05:00
Grot (@grafanabot)
b297cbfc06 [v9.3.x] Dashboards: Show error when data source is missing (#60313)
Dashboards: Show error when data source is missing (#60099)

Return caught exceptions to panel as error state

(cherry picked from commit 9a41277ecd)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-12-14 07:51:04 -05:00
Grot (@grafanabot)
21c1d14e91 [v9.3.x] Traces: Fix for multiple $__tags in trace to metrics (#60294)
Traces: Fix for multiple $__tags in trace to metrics (#59641)

* Fix interpolation of multiple  in query

* Add another  to test case

(cherry picked from commit bf8814749e)

Co-authored-by: Joey Tawadrous <90795735+joey-grafana@users.noreply.github.com>
2022-12-14 10:40:18 +00:00
Grot (@grafanabot)
b884c106e9 [v9.3.x] Influx: Query segment menus now position correctly near the bottom of the screen (#60291)
Influx: Query segment menus now position correctly near the bottom of the screen (#60087)

* only open the menu once options are loaded for better positioning

* use !loadState.loading instead of Boolean(loadState.value)

(cherry picked from commit bb2ecb1468)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-14 05:05:06 -05:00
Grot (@grafanabot)
32023f7122 [v9.3.x] StateTimeline: Fix negative infinity legend/tooltip from thresholds (#60280)
StateTimeline: Fix negative infinity legend/tooltip from thresholds (#60279)

(cherry picked from commit e0eacf1b04)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-12-14 01:07:34 -05:00
Isabella Siu
1437520da2 Cloudwatch: Fix deeplink with default region (#60260) (#60274)
Cloudwatch: fix deeplink with default region
(cherry picked from commit d6bb2a7493)
2022-12-13 17:14:45 -05:00
Grot (@grafanabot)
04aded642e [v9.3.x] Snapshots: Build snapshot originalUrl on the backend (#60239)
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-12-13 18:24:37 +01:00
Grot (@grafanabot)
7a11627606 [v9.3.x] Command Palette: Fix not being able to type if triggered whilst another modal is open (#60250)
Command Palette: Fix not being able to type if triggered whilst another modal is open (#59728)

handle command palette in the same way as other modals

(cherry picked from commit 535c4576f7)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-13 10:06:31 -05:00
Grot (@grafanabot)
3d60298d48 [v9.3.x] TimePicker: Fix time picker selection (#60246)
TimePicker: Fix time picker selection (#60104)

fix time picker selection

(cherry picked from commit 4e7a316903)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-13 09:28:30 -05:00
Grot (@grafanabot)
65521e7aea [v9.3.x] Dropdown: Menu now closes correctly when selecting options on touch devices (#60237)
Dropdown: Menu now closes correctly when selecting options on touch devices (#60181)

update the version of react-popper-tooltip in @grafana/ui

(cherry picked from commit 75a11e92b2)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-13 13:45:58 +00:00
Grot (@grafanabot)
de53863a6b [v9.3.x] Docs: adds workaround for editing provisioned rules using the HTTP API (#60224)
Docs: adds workaround for editing provisioned rules using the HTTP API (#59094)

* Docs: adds workaround for editing provisioned rules using api

* updates text

* updates text take two

(cherry picked from commit 6c6103d573)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-12-13 11:50:41 +00:00
Hamas Shafiq
c11e54766c [v9.3.x] Tempo: Fix TraceQL autocomplete issues (#60058) (#60125) (#60170) 2022-12-13 10:51:28 +00:00
Erik Sundell
61a9937027 [v9.3.x] CloudWatch: Fix deeplinks to still be able to pass log group names (#60216)
CloudWatch: Fix deeplinks to still be able to pass log group names (#59809)



Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-12-13 11:24:45 +01:00
Grot (@grafanabot)
ef5286dd77 [v9.3.x] Loki/Prometheus: Fix wrong queries executed in split view (#60184)
Loki/Prometheus: Fix wrong queries executed in split view (#60172)

* add context to monaco editors

(cherry picked from commit 8356df081d)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-12-12 12:05:56 -05:00
Grot (@grafanabot)
7ba0b172ce [v9.3.x] Navigation: Fix some missing pages in admin section (#60174)
Navigation: Fix some missing pages in admin section (#60143)

* add stats and licensing under admin -> general when topnav is enabled

* add ldap to users and access

* use ID instead of Id

* add enterprise licensing node

(cherry picked from commit 39a4ba4396)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-12 10:39:43 -05:00
Ashley Harrison
d3703273c0 Command Palette: Maintain page state when changing theme (#59787) (#59841)
* use same function as the change theme keybindings

* rename toggleTheme service to just theme

(cherry picked from commit 46adfb596d)
2022-12-12 14:53:29 +00:00
Grot (@grafanabot)
2b220ad0cb [v9.3.x] Prometheus: Fix exception being thrown when toggling visibility in explore (#60162)
Prometheus: Fix exception being thrown when toggling visibility in explore (#60159)

fix error being thrown when frameIndex is out of bounds of dataframe

(cherry picked from commit b0f8e803a1)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2022-12-12 15:03:04 +01:00
Grot (@grafanabot)
2bbab19dd4 [v9.3.x] Alerting: Fix RelativeTimeRangePicker (#60149)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-12-12 13:45:37 +01:00
Grot (@grafanabot)
5a0a148dcb [v9.3.x] TimeZonePicker: Scroll menu correctly when using keyboard controls (#60150)
TimeZonePicker: Scroll menu correctly when using keyboard controls (#60008)

pass innerRef to TimeZoneOption so the menu scrolls properly

(cherry picked from commit 97fa63d14d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-12 07:41:37 -05:00
Jack Baldry
9eb271207d [v9.3.x] Use relative aliases for all non-current Grafana aliases (#60111)
* Use relative aliases for all non-current Grafana aliases

Prevents non-latest documentation "stealing" the page away from latest
and through permanent redirects for latest pages that no longer exist.

The redirected pages are indexed by search engines but our robots.txt
forbids them crawling the non-latest page.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove all current page aliases

find docs/sources -type f -name '*.md' -exec sed -z -i 's#\n *- /docs/grafana/next/[^\n]*\n#\n#' {} \;
find docs/sources -type f -name '*.md' -exec sed -z -i 's#\n *- /docs/grafana/latest/[^\n]*\n#\n#' {} \;
find docs/sources -type f -name '*.md' -exec sed -Ez -i 's#\n((aliases:\n *-)|aliases:\n)#\n\2#' {} \;

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-12 08:21:41 -04:00
Grot (@grafanabot)
c8cf2c65e4 [v9.3.x] Parca: Logo image fixed with theme agnostic colors (#60078)
Parca: Logo image fixed with theme agnostic colors (#59835)

(cherry picked from commit 10c2bdea3e)

Co-authored-by: Manoj Vivek <p.manoj.vivek@gmail.com>
2022-12-12 11:15:40 +01:00
Grot (@grafanabot)
5fa57d2c1e [v9.3.x] Chore: All tests under pkg/tests should be integration tests (#60071)
Chore: All tests under pkg/tests should be integration tests (#59521)

* Chore: All tests under pkg/tests should be integrationtests

* run alerting integration tests only for sqlite

(cherry picked from commit 2db8ed9441)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-12-12 08:58:42 +01:00
Grot (@grafanabot)
ea2a7a4068 [v9.3.x] Fix branch filter for release workflows (#60124)
Fix branch filter for release workflows (#59963)

Ensures the workflow is run on every push to all version branches.

This was thought to be working because it was tested with a manual
dispatch, however, that trigger does not consider filters and was not
an accurate test.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 6f9ee7acf9)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-09 15:19:07 -04:00
Grot (@grafanabot)
30ee2bedf2 [v9.3.x] BarChart: Fix value mappings (#60122)
BarChart: Fix value mappings (#60066)

(cherry picked from commit 8317bf5def)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-12-09 12:29:34 -06:00
Grot (@grafanabot)
4270f44664 [v9.3.x] TimeSeries: Better y-axis ticks for IEC units (#60110)
TimeSeries: Better y-axis ticks for IEC units (#59984)

(cherry picked from commit 435ada45c5)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-12-09 12:42:21 -05:00
Grot (@grafanabot)
5e01fbde03 [v9.3.x] TimePicker: Prevent TimePicker overflowing viewport on small screens (#60100)
TimePicker: Prevent TimePicker overflowing viewport on small screens (#59808)

* render timepicker in a modal style on small screens

* remove top: -1

* apply styles

* prevent bug where selecting a relative range wouldn't apply if the absolute ranges were expanded

* Revert "prevent bug where selecting a relative range wouldn't apply if the absolute ranges were expanded"

This reverts commit 7090443c12.

(cherry picked from commit 1497ad4760)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-09 10:16:30 -05:00
Grot (@grafanabot)
58cdf2e48a [v9.3.x] AzureMonitor: Add error indicating potential configuration issue on Resource Picker (#60090)
AzureMonitor: Add error indicating potential configuration issue on Resource Picker (#60041)

* Add error indicating potential configuration issue

- Update test

* Update error

- Lint update

(cherry picked from commit 4730be8842)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-12-09 08:40:27 -05:00
Grot (@grafanabot)
d74552e02f [v9.3.x] Navigation: Prevent app crash when importing a dashboard with a uid of home (#60092)
Navigation: Prevent app crash when importing a dashboard with a uid of `home` (#59874)

* change home id to be more unique, refactor so that home circular reference is never created

* prefix starred dashboards

* update reducer

(cherry picked from commit a589929c92)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-09 13:37:59 +00:00
Grot (@grafanabot)
8410c327a4 [v9.3.x] Login: Fix failure to login a new user via an external provider if quota are enabled (#60086)
Login: Fix failure to login a new user via an external provider if quota are enabled (#60015)

* Login: Fix failure to login a new user via an external provider if quota are enabled

(cherry picked from commit 341d7b01ee)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-12-09 07:29:01 -05:00
Grot (@grafanabot)
b12ca99511 [v9.3.x] TimeRangePicker: Fix recent ranges not showing all items (#60085)
TimeRangePicker: Fix recent ranges not showing all items (#59836)

* Fix not all recently used time ranges showing

* Refactor time picker history to store simpler json objects

* Don't store duplicate items

* update todo tests:

* Add tests for TimePickerWithHistory

* better fix for focus scope issues in test

(cherry picked from commit 6280780e0c)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-12-09 06:39:42 -05:00
Dominik Prokop
4bdebf338c [v9.3.x] Panel Edit: Fix data links edit icons being off screen when provided title is too long (#60082)
* Panel Edit: Fix data links edit icons being off screen when provided title is too long (#59829)

* Fix data links edit icons being off screen

* Remove unused imports

* Review

(cherry picked from commit 6f930f4836)

* Fix backport
2022-12-09 03:38:12 -08:00
Grot (@grafanabot)
8680534e33 [v9.3.x] [DOC] Change AWS to Google Cloud Monitoring (#60074)
[DOC] Change AWS to Google Cloud Monitoring (#60065)

Change AWS to GCP

(cherry picked from commit a6e8f651ac)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2022-12-09 08:10:47 +00:00
Grot (@grafanabot)
d34331f060 [v9.3.x] Update docs regarding Grafana as an alert receiver (#60042)
Update docs regarding Grafana as an alert receiver (#59938)

* Update docs regarding Grafana as an alert receiver

* Add link to AM docs

(cherry picked from commit 64ccbf0a98)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-12-09 08:08:18 +00:00
Grot (@grafanabot)
275185d9df [v9.3.x] Fix index out of range in regenerateLinksSupplier (#60070)
Fix index out of range in regenerateLinksSupplier (#60011)

(cherry picked from commit 896cb9ddce)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-12-09 02:21:41 -05:00
Grot (@grafanabot)
74a22daa49 [v9.3.x] Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60034)
Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60026)

Before this change, the alerting provisioning system incorrectly used
the QuotaTarget to check if alerting's request quota had been reached.
The quota service requires the QuotaTargetSrv, which is what's
registered with the service at startup time. This is leading to errors
in the provisioning system.

(cherry picked from commit e6743a7e9a)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-12-09 07:24:39 +08:00
Grot (@grafanabot)
6e078879ce [v9.3.x] Prometheus: Exemplar optimization (#60057)
replace inefficient forEach

(cherry picked from commit e85763065c)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2022-12-08 16:32:28 -05:00
Grot (@grafanabot)
d53f59f0bf [v9.3.x] Prometheus: Fix exemplar fill color to match series color in time series. (#60054)
Prometheus: Fix exemplar fill color to match series color in time series. (#59908)

* Implementing new optional color property to ExemplarMarker component
* Refactor some changes from #59743

(cherry picked from commit dfc15163da)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2022-12-08 14:35:51 -06:00
Grot (@grafanabot)
42cf94df03 [v9.3.x] Update heatmap exemplar popover styles (#60051)
Update heatmap exemplar popover styles (#59988)

* Put traceID on top

* Update exemplar popover styles

* Remove console.log

* Make exemplar header opt-in via optional prop

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 29d2f86955)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-12-08 20:11:03 +01:00
Grot (@grafanabot)
05c94f1c5b [v9.3.x] Prometheus: Add traceID link to heatmap exemplar popover (#60048)
Prometheus: Add traceID link to heatmap exemplar popover (#60039)

* Add traceID link to heatmap exemplar popover
* Render links for each field individually

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
(cherry picked from commit f37997aec0)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2022-12-08 12:22:20 -06:00
Grot (@grafanabot)
07be773161 [v9.3.x] Prometheus: Fix exemplars not respecting corresponding series display status. (#60047)
Prometheus: Fix exemplars not respecting corresponding series display status. (#59743)

* Exemplar filtering when series are toggled in legend UI

(cherry picked from commit 22f828300d)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2022-12-08 12:02:30 -06:00
Grot (@grafanabot)
9f3a952fce [v9.3.x] Prometheus: Add traceID field on top of the exemplar popover (#60035)
Prometheus: Add traceID field on top of the exemplar popover (#59920)

Prioritize trace link

(cherry picked from commit 694dc60724)

Co-authored-by: Ludovic Viaud <ludovic.viaud@gmail.com>
2022-12-08 10:14:35 -06:00
Grot (@grafanabot)
8172672e96 [v9.3.x] PanelEdit: Fixes bug with not remembering panel options pane collapse/expand state (#59309)
PanelEdit: Fixes bug with not remembering panel options pane collapse/expand state (#59265)

(cherry picked from commit d76638338d)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-12-08 09:44:04 +01:00
Grot (@grafanabot)
f5ba14f546 [v9.3.x] Docs: corrects relref (#59971)
Docs: corrects relref (#59970)

correct relref

(cherry picked from commit a4c884e808)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-07 10:42:19 -06:00
Grot (@grafanabot)
083ebae58d [v9.3.x] Table: Fixes row border style not showing and colored rows blending together (#59693) 2022-12-07 16:45:21 +01:00
Grot (@grafanabot)
0f6c4d1756 [v9.3.x] ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59955)
ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59952)

ServiceAccounts: Fix warnings about secret scanner when scanner is disabled
(cherry picked from commit d833031726)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-12-07 09:06:08 -05:00
Carl Bergquist
4f68c4ee8b [9.3.x] Backport Contexthandler: Add uname as response header #59930 (#59951)
Contexthandler: Add uname as response header (#59930)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit 1b676d0d49)
2022-12-07 14:23:51 +01:00
Grot (@grafanabot)
6037562c9a [v9.3.x] Accessibility: Improved keyboard accessibility in BarGauge (#59653)
Accessibility: Improved keyboard accessibility in BarGauge (#59382)

* Accessibility: Improved keyboard accessibility in BarGauge

* use appropriate elements when rendering bargauge

* added space for focus-visible outline border

* Revert "added space for focus-visible outline border"

This reverts commit 9b83fa3a0b.

(cherry picked from commit d9f697b41e)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-12-07 13:53:24 +01:00
Grot (@grafanabot)
a3dda795f9 [v9.3.x] Plugins: Add username to datasource plugin logging (#59948)
Plugins: Add username to datasource plugin logging (#59893)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit a5ace56be8)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2022-12-07 13:43:38 +01:00
Grot (@grafanabot)
cc45b5b699 [v9.3.x] Navigation: handle case where navIndex is undefined (#59941)
Navigation: handle case where navIndex is undefined (#59826)

handle case where navIndex is undefined

(cherry picked from commit 5d0029c647)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-12-07 05:33:04 -05:00
Gabriel MABILLE
3adad3c21a Users: Use Remote Cache for storing signed in users [v9.3.x] (#59883) (#59934)
* FeatureToggle: for storing signed in user object in a Remote Cache (#59883)

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-12-07 11:04:41 +01:00
Jo
a32d25bbe3 Auth: Session cache [v9.3.x] (#59937)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* add cache wrapper

only cache token if not to rotate

anticipate next rotation

(cherry picked from commit 07a4b2343d59cb593ad128355e1d9217ba493700)

* FeatureToggle: for storing sessions in a Remote Cache

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
(cherry picked from commit b8a8c15148)

* use feature flag for session cache

* ensure ttl is minimum 1 second

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* ensure 2 ttl window to prevent caching of tokens near rotation

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>

* fix description of toggle

Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 2919588a82)
2022-12-07 10:55:43 +01:00
Grot (@grafanabot)
86dec7c602 [v9.3.x] CloudWatch: Fix - make sure dimensions are propagated to alert query editor (#59933)
CloudWatch: Fix - make sure dimensions are propagated to alert query editor (#58281)

* fix(unified-alerting/cloudwatch): propagate dimensions to alert

Signed-off-by: Conor Evans <coevans@tcd.ie>

* add unit test

Signed-off-by: Conor Evans <coevans@tcd.ie>
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
(cherry picked from commit dce7f50d59)

Co-authored-by: Conor Evans <43791257+conorevans@users.noreply.github.com>
2022-12-07 03:55:40 -05:00
Grot (@grafanabot)
7a7bee20af [v9.3.x] API: Fix delete user failure due to quota not enabled (#59879)
API: Fix delete user failure due to quota not enabled (#59875)

(cherry picked from commit 4259b6bf58)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-12-06 08:17:24 -05:00
Sven Grossmann
94e5ee70a5 [v9.3.x] Loki: Fix wrongly escaped label values when using LabelFilter (#59876)
Loki: Fix wrongly escaped label values when using LabelFilter (#59812)

* change backticks to quotes

* add unescaping to `addFilterAsLabelFilter`

* fix removal of wrong quotes

* change unescape order

(cherry picked from commit 932349b5ab)
2022-12-06 07:31:55 -05:00
Grot (@grafanabot)
379391e06f [v9.3.x] TimeseriesPanel: Preserve string fields for data link interpolation (#59869)
TimeseriesPanel: Preserve string fields for data link interpolation (#58424)

* TimeseriesPanel: Preserve string fields for data link interpolation

* clean code

* Modify tests so that string fields are allowed only when a valid time/number dataframe exists

* performance mods

* fix wrong length

* remove console.log

* Check if aligned dataframe has links

(cherry picked from commit 0da77201bf)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-12-06 05:32:56 -05:00
Erik Sundell
40f6d41324 [v9.3.x] Datasource: Fix - apply default query also to queries in new panels (#59833)
Datasource: Fix - apply default query also to queries in new panels (#59625)

* apply default query also to new panels

* add comment

* add tests

(cherry picked from commit 32309a8373)
2022-12-06 09:24:46 +01:00
Grot (@grafanabot)
dc0e3491ed [v9.3.x] docs: fixes broken link and spelling error (#59856)
docs: fixes broken link and spelling error (#59828)

fixes broken link and spelling error

(cherry picked from commit 5240905f05)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-05 16:17:57 -06:00
Grot (@grafanabot)
fdfed19810 [v9.3.x] Tempo: Fix traceQL suggestions for tag names with dots (#59840)
Tempo: Fix traceQL suggestions for tag names with dots (#59736)

(cherry picked from commit c6840cfdec)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-12-05 17:26:25 +01:00
Grot (@grafanabot)
b9b6cafb89 [v9.3.x] Package: @grafana/e2e updates (#59825)
Package: @grafana/e2e updates (#59723)

E2E package updates

- Update addDashboard flow to work with latest grafana
- Update viewport configuration to ensure components aren't hidden

(cherry picked from commit b4cf711a74)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-12-05 09:02:34 -05:00
Grot (@grafanabot)
847361027f [v9.3.x] Delete broken links in notifications doc (#59806)
Delete broken links in notifications doc (#59785)

* Delete broken links in notifications doc

* changes descendents to children

* deletes broken alertmanager link

(cherry picked from commit 5c9d1a4706)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-12-05 11:57:53 +00:00
Grot (@grafanabot)
09afbd762a [v9.3.x] Restrict workflow to grafana/grafana repository (#59756)
Restrict workflow to grafana/grafana repository (#59740)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit e7bdcb4ba8)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-02 17:31:00 -04:00
Grot (@grafanabot)
896353268d [v9.3.x] Docs: removes email templating (#59746)
Docs: removes email templating (#59745)

removes email templating

(cherry picked from commit ece8609e7c)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-02 12:06:22 -06:00
Grot (@grafanabot)
0e86b3afe9 [v9.3.x] Docs: updates based on customer feedbak (#59744)
Docs: updates based on customer feedbak (#59720)

updates based on customer feedbak

(cherry picked from commit cc575d2341)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-02 11:47:33 -06:00
Gilles De Mey
923fcd4337 Alerting: Reduce number of buildinfo calls (#59319) (#59716) 2022-12-02 14:57:55 +01:00
Grot (@grafanabot)
de582ef5ab [v9.3.x] AzureMonitor: Automate location retrieval (#59717)
AzureMonitor: Automate location retrieval (#59602)

* Automate location retrieval

- Add function to retrieve provider information
- Add function to retrieve subscription locations
- Add parsers for each function
- Add types
- Update resourcePickerData with new functions
- Remove old location metadata file

* Improve types

- Add types for responses
- Use correct name parameter
- Update response parser (parseProvider unnecessary)

* Fix tests

- Add necessary mocks

* Fix logic and ensure maps are consistent

* Add tests

* Review

* Lint issue

(cherry picked from commit c52d4e2a64)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-12-02 08:38:02 -05:00
Grot (@grafanabot)
51e6b11ecf [v9.3.x] AzureMonitor: Fix bad request when setting dimensions (#59708)
AzureMonitor: Fix bad request when setting dimensions (#59700)

(cherry picked from commit a7d4bbf024)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-12-02 14:05:34 +01:00
Grot (@grafanabot)
04fb50f8cc [v9.3.x] DataSourcePermissions: Handle licensing properly for ds permissions (#59709)
DataSourcePermissions: Handle licensing properly for ds permissions (#59694)

* RBAC: add viewer grand if dspermissions enforcement is not enabled

* RBAC: Change permissions based on role prefix

* RBAC: Add option to for permission service to add a license middleware

* RBAC: Remove actions from query struct

(cherry picked from commit 6d1bcd9f40)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-12-02 13:40:03 +01:00
Grot (@grafanabot)
a271e24b3d [v9.3.x] AzureMonitor: Fix panic from empty response in ARG (#59707)
AzureMonitor: Fix panic from empty response in ARG (#59691)

AzureMonitor: Avoid panic from empty response in ARG
(cherry picked from commit 231b5b587c)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-12-02 07:30:09 -05:00
Grot (@grafanabot)
5e4a2b3294 [v9.3.x] CloudWatch: Create deeplinks from log group ARNs (#59697)
CloudWatch: Create deeplinks from log group ARNs (#59646)

(cherry picked from commit 1c5a3a7d2c)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-12-02 11:55:56 +01:00
Grot (@grafanabot)
1e47c5857c [v9.3.x] TimeSeries: Fix rendering when zooming to time ranges between datapoints (#59683)
TimeSeries: Fix rendering when zooming to time ranges between datapoints (#59444)

(cherry picked from commit e1e858323a)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-12-01 16:20:50 -07:00
Grot (@grafanabot)
c53ae81011 Release: Bump version to 9.3.2 (#59680)
"Release: Updated versions in package to 9.3.2"
2022-12-01 21:12:40 +00:00
Grot (@grafanabot)
bab20e613d [v9.3.x] Changelog: Updated changelog for 9.3.1 (#59679)
Changelog: Updated changelog for 9.3.1 (#59677)

(cherry picked from commit 9c742fd0c7)
2022-12-01 21:07:37 +00:00
Grot (@grafanabot)
89b365f8b1 [v9.3.x] FolderPicker: Fixes issue with typing to search for folder (#59649) 2022-12-01 13:45:45 +01:00
sam boyer
ec552dd6b8 kindsys: Fix loading on windows (backport of #59519 to v9.3.x) (#59520)
kindsys: Fix loading on windows (#59519)

(cherry picked from commit ce0bdb2cd9)
2022-12-01 07:36:36 -05:00
Grot (@grafanabot)
95b7cabe00 [v9.3.x] Build: Adds a fallback script to fix package.json main and types fields before packaging (#59639)
Co-authored-by: Esteban Beltran <academo@users.noreply.github.com>
2022-12-01 05:47:09 -05:00
Grot (@grafanabot)
3b70755095 [v9.3.x] Docs: Improve documentation for notifications (#59630)
Docs: Improve documentation for notifications (#59504)

(cherry picked from commit 8ed2426e8e)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-12-01 10:04:39 +00:00
Grot (@grafanabot)
7068dddd94 [v9.3.x] AppRootPage: Fix passing the queryParams (#58916)
AppRootPage: Fix passing the queryParams (#58912)

* fix(AppRootPage): push the query params properly

* refactor: remove unnecessary changes in AppRootPage

* refactor(AppRootPage): use existing utility function

(cherry picked from commit c093a471e6)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-12-01 03:58:48 -05:00
Grot (@grafanabot)
38ec1ea5e3 [v9.3.x] Fix release_branch_regexp (#59594)
Fix release_branch_regexp (#59590)

Apparently the non-capturing group was incorrect.

I verified the logic in a branch in grafana-github-actions:
https://github.com/grafana/grafana-github-actions/compare/jdb/2022-11-prove-grafana-regexp-behaves-correctly?expand=1

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit a343defe64)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-11-30 12:49:52 -04:00
Jo
43ea988ec2 [v9.3.x] Sessions: Remove invalid session cookie if it's invalid/expired/missing (#59586)
only remove invalid session cookie if it's invalid/expired/missing
2022-11-30 16:50:53 +01:00
Grot (@grafanabot)
ced2d228f7 [v9.3.x] Packaging: Use rpm-digest sha256 when creating rpm packages (#59587)
Packaging: Use rpm-digest sha256 when creating rpm packages (#59510)

* Use rpm-digest sha256 when creating rpm packages

* only append this argument with rpm builds

(cherry picked from commit 76a586195a)

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2022-11-30 10:50:23 -05:00
Jack Baldry
98095a6af2 [v9.3.x] Automate docs publishing steps (#59567)
* Automate docs publishing steps (#59550)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove dependency on test job (#59575)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-11-30 11:35:03 -04:00
Grot (@grafanabot)
29c141d4c3 [v9.3.x] PanelEdit: Fixes alignment issue with collapse button (#59582)
PanelEdit: Fixes alignment issue with collapse button (#59414)

* PanelEdit: Fixes alignment issue with collapse button

* Fix

(cherry picked from commit 6625147e74)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-11-30 10:17:52 -05:00
Grot (@grafanabot)
25382580fe [v9.3.x] RBAC: Handle edge case where there is duplicated acl entries for a role on a single dashboard (#59573)
RBAC: Handle edge case where there is duplicated acl entries for a role on a single dashboard (#58079)

* RBAC: Handle edge case where there is duplicated acl entries for a role
on a single dashboard

(cherry picked from commit 6aaf36776b)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-11-30 16:11:53 +01:00
Grot (@grafanabot)
7feaf4b32c [v9.3.x] Datasources: Use context logger in cache service (#59558)
Datasources: Use context logger in cache service (#59547)

(cherry picked from commit 0fca3cf9dd)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-11-30 08:44:11 -05:00
Grot (@grafanabot)
5610aee184 [v9.3.x] Accessibility: Increase badge constrast to be WCAG AA compliant (#59549)
Accessibility: Increase badge constrast to be WCAG AA compliant (#59531)

(cherry picked from commit ddc3706f19)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-30 14:41:51 +01:00
Grot (@grafanabot)
e15ee039e1 [v9.3.x] Fix: Unlocking the UI for AuthProxy users (#59530)
Fix: Unlocking the UI for AuthProxy users (#59507)

Unlocking the UI for AuthProxy users

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
(cherry picked from commit 5bb99775bb)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-11-30 12:49:16 +01:00
Grot (@grafanabot)
c5409af19c [v9.3.x] Fix XSS in runbook URL (#684)
Fix XSS in runbook URL (#681)

(cherry picked from commit db1548c1491c2f5b522e3c0ceb1832b914a4b2f0)

Co-authored-by: George Robinson <george.robinson@grafana.com>
(cherry picked from commit e9cb2a313e)
2022-11-30 12:10:33 +02:00
Dimitris Sotirakis
8bd0d15170 [v9.3.x] Docs: Update publish.yml for 9.3.x (#59537)
Update publish.yml for 9.3.x
2022-11-30 04:50:22 -05:00
Grot (@grafanabot)
f09a065020 [v9.3.x] Changelog: Updated changelog for 9.3.0 (#59534)
Changelog: Updated changelog for 9.3.0 (#59533)

(cherry picked from commit 005d0f852f)
2022-11-30 11:34:53 +02:00
Grot (@grafanabot)
6c1463e3ae Release: Bump version to 9.3.0 (#59532)
"Release: Updated versions in package to 9.3.0"
2022-11-30 11:24:47 +02:00
Grot (@grafanabot)
65c0f4e787 [v9.3.x] Docs: What's New content for v9.3 (#59518)
Docs: What's New content for v9.3 (#57991)

* initial content for What's New 9.3

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

* makes prettier

* docs: add conflict cli tool

* remoed the conflict users tool in favor of not having it completely out yet

* Adds note about pubdash annotations support in 9.3-beta notes

* puts audit table photo back in right section

* Docs: Add OAuth improvements to what's new in 9.3 (#58756)

* Add OAuth improvements to what's new in v9.3

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Docs: Add conflict cli tool (#58827)

docs: add conflict cli tool

* docs: add Terraform updates for What's New in Grafana 9.3 (#58858)

* Terraform updates for Grafana 9.3

* Remove empty line

* linting

* Docs: Update OAuth improvements section of what's new in 9.3  (#59045)

Update OAuth improvement docs for 9.3

* fix incorrect version number

* Adds Alerting whats new entries

* Add edge squad 9.3 whats new information

* Docs: Update whats-new 9.3 with auth related news (#59093)

* LDAP role mapping improvements

* RBAC list token's permissions

* Azure force_use_graph_api

* Reorder

* LDAP uniformize

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* adds new nav and new language to what's new

* Add report zoom to What's New in 9.3 (#59345)

* Add report zoom to What's New in 9.3

Still needs a link to docs, a double-check on the name of the feature toggle, and a screenshot.

* Update whats-new-in-v9-3.md

* Apply suggestions from code review

* makes prettier

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>

* add report zoom image

* fix typo

* fix link to upload images in template description

* Copy edits

* copy and format updates

* Apply suggestions from code review

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-3.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Fix prettier

* Update whats-new-in-v9-3.md

* update nav wording

* Screenshots for navigation and internazionalization

* adds alerting images

* fixes path to new nav and localization screenshots

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: Zsofia <97596715+zsofiakomaromigrafana@users.noreply.github.com>
(cherry picked from commit 823a40bc85)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-29 17:16:36 -06:00
Grot (@grafanabot)
c45b49cb92 [v9.3.x] Alerting: Fix swallowing of errors when attaching images to notifications (#59513)
Alerting: Fix swallowing of errors when attaching images to notifications (#59432)

* Break out image logic and add logging

* Attach alert log context to image attachment

* Fix capitalization

(cherry picked from commit 1481ace528)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-11-29 14:39:41 -05:00
Grot (@grafanabot)
11a69c499f [v9.3.x] Docs: Minor improvements to Preferences documentation (#59509)
Docs: Minor improvements to Preferences documentation (#59498)

Small improvements to Preferences documentation

(cherry picked from commit b2fdf46820)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-29 17:25:21 +00:00
Grot (@grafanabot)
f6dca21a46 [v9.3.x] Explore: Skip flaky query history test (#59139)
Explore: Skip flaky query history test (#59135)

Skip flaky query history test

(cherry picked from commit d5274dfdda)

Co-authored-by: Kristina <kristina.durivage@grafana.com>
2022-11-29 08:35:00 -06:00
Grot (@grafanabot)
c90230a194 [v9.3.x] Internationalization: Preferences documentation (#59493)
Internationalization: Preferences documentation (#59203)

* I18n: Preferences documentation

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/organization-preferences/index.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* remove api spec

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
(cherry picked from commit 37c14bd6bd)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-29 14:07:18 +00:00
Grot (@grafanabot)
fb9571b348 [v9.3.x] Docs: Add docs for labels with dots (#59487)
Docs: Add docs for labels with dots (#59352)

(cherry picked from commit c8c1499cd0)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-29 13:38:19 +00:00
Grot (@grafanabot)
7fff085d21 [v9.3.x] Fix: Allow creating snapshot with no dashboard id (#59462)
Fix: Allow creating snapshot with no dashboard id (#58669)

(cherry picked from commit d279b6d7b0)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-11-29 03:53:10 -05:00
Grot (@grafanabot)
3dac951598 [v9.3.x] Chore: Delete accidentally committed test database (#59463)
Chore: Delete accidentally committed test database (#59238)

(cherry picked from commit 933879a347)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-29 03:48:33 -05:00
Grot (@grafanabot)
79d76996aa [v9.3.x] Docs: Updating sign plugin docs (#59419)
Docs: Updating sign plugin docs (#59322)

Updating sign plugin docs

(cherry picked from commit 5a3f0e8696)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-11-29 09:30:11 +01:00
Grot (@grafanabot)
1b3a248142 [v9.3.x] SQL Datasources: Fix annotation migration (#59455)
SQL Datasources: Fix annotation migration (#59438)

(cherry picked from commit 71e4a8261d)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-11-29 02:08:16 -05:00
Grot (@grafanabot)
bfe04d4d1a [v9.3.x] Transformations: Convert fields transform fix, convert strings with commas to numbers (#59433)
Transformations: Convert fields transform fix, convert strings with commas to numbers (#59074)

convert strings with commas to numbers

(cherry picked from commit 84ec35a4ad)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2022-11-28 13:39:26 -05:00
Grot (@grafanabot)
dc1e759ce5 [v9.3.x] Tempo: TraceQL table and editor (#59420)
Tempo: TraceQL table and editor (#59313)

* Tempo: Add the ability to show/hide the Span column in the table when using TraceQL

* Add optional chaining

* Update tests

* Show subcols in a subtable

* Add more space for the subtable

* Remove unused import

* Better expander icon. Improved the subtable styling. Integrated with real data

* Fix expanding the wrong index when table already has an expanded row

* ⚠️ Hack ⚠️ - Fix table links

* Link to spans

* Tempo: [TraceQL] Don't wrap the autocomplete vals for the status tag in quotes

* TraceQL result table improvements and fixes

* Include span name in the subtable

* Loop through data only if it is not nullish

* Integrate traceql with sub-tables

* Added booleans as keywords. Make query editor multiline

* Make date format consistent between trace and span

* Reset expanded indexes when data or subdata change

* Dynamic attributes by trace

* Fix test. Cleanup and refactor

* Tiny refactor

Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
(cherry picked from commit 8dbde1b921)

Co-authored-by: Andre Pereira <adrapereira@gmail.com>
2022-11-28 16:50:04 +00:00
Grot (@grafanabot)
08d483e0bd [v9.3.x] Docs: Improve docs for images in notifications (#59402)
Docs: Improve docs for images in notifications (#59033)

(cherry picked from commit 0af3515e95)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-28 09:23:11 -05:00
Grot (@grafanabot)
05948043e8 [v9.3.x] Docs: Improve Labels and annotations docs (#59401)
Docs: Improve Labels and annotations docs (#59325)

This commit makes a number of changes to the docs for Labels and
annotations.

 1. It changes the order in which Labels and annotations are mentioned
    from Annotations and labels to Labels and annotations as this is
    the order shown in the UI when creating and editing alert rules.
    It is also the order in the Prometheus documentation.

 2. It changes most of the documentation explaining what labels and
    annotations are and the differences between them. It also adds
    some paragraphs on Custom Labels.

(cherry picked from commit e7316ff13f)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-28 09:21:41 -05:00
Grot (@grafanabot)
3513179722 [v9.3.x] BarChart: fix hover overlay for hz stacked (#59396)
BarChart: fix hover overlay for hz stacked (#59359)

(cherry picked from commit 13d5ad2ce2)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-28 09:02:33 -05:00
Erik Sundell
c652135724 [v9.3.x] CloudWatch: Cross-account querying support (#59389)
* add cross-account querying support

* fix tests
2022-11-28 14:21:34 +01:00
Grot (@grafanabot)
426fab32eb [v9.3.x] SSE: Make sure to forward headers, user and cookies/OAuth token (#59390)
SSE: Make sure to forward headers, user and cookies/OAuth token (#58897)

Fixes #58793 and Fixes https://github.com/grafana/azure-data-explorer-datasource/issues/513

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit 5623b5afaf)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-11-28 08:11:52 -05:00
Gilles De Mey
0e8f0d4b4a Alerting: fix "no permissions" alert flashing (#59300) (#59374) 2022-11-28 12:31:38 +01:00
Grot (@grafanabot)
7ab181383b [v9.3.x] OptionsUI: SliderValueEditor does not get auto focused on slider change (#59368)
OptionsUI: SliderValueEditor does not get auto focused on slider change (#59209)

(cherry picked from commit 45d3125919)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-28 05:20:18 -05:00
Grot (@grafanabot)
e0cf9e4331 [v9.3.x] Breadcrumbs: Remove semi-bold and change current/last breadcrumb text color (#58913)
Breadcrumbs: Remove semi-bold and change current/last breadcrumb text color (#58875)

(cherry picked from commit c14cbfc65d)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-11-28 04:40:54 -05:00
Timur Olzhabayev
9b5269dc4f Feat: Adding an optional browser config option to e2e test runner (#59321)
Adding an optional browser config option to e2e test runner

(cherry picked from commit 9e2d37462b)
2022-11-28 08:12:22 +01:00
Grot (@grafanabot)
2e36890b56 [v9.3.x] Access Control: Clear user's permission cache after resource creation (#59307)
Access Control: Clear user's permission cache after resource creation (#59101)

* refresh user's permission cache after resource creation

* clear the cache instead of reloading the permissions

* don't error if can't clear cache

* fix tests

* fix tests again

(cherry picked from commit a8bae3f0b0)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-11-24 09:52:46 -05:00
Grot (@grafanabot)
d147f3d366 [v9.3.x] Navigation: Support rbac for new dashboard, import dashboard and new folder (#59305)
Navigation: Support rbac for new dashboard, import dashboard and new folder (#59303)

RBAC: Support rbac for new dashboard, import dashboard and new folder
page

(cherry picked from commit a53f57cc43)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-11-24 09:46:36 -05:00
Grot (@grafanabot)
c0ddd089ef [v9.3.x] TraceView: Fix broken rendering when scrolling in Dashboard panel in Firefox (#59281)
TraceView: Fix broken rendering when scrolling in Dashboard panel in Firefox (#56642)

(cherry picked from commit a2f1d2e102)

Co-authored-by: zdg-github <52441803+zdg-github@users.noreply.github.com>
2022-11-24 14:31:56 +01:00
Grot (@grafanabot)
556bec41c9 [v9.3.x] Logs: Fix misalignment of LogRows (#59290)
Logs: Fix misalignment of LogRows (#59279)

* add default display flex

* changed to `text-align: left`

(cherry picked from commit 400ada1ad0)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-11-24 07:33:41 -05:00
Grot (@grafanabot)
b95b9f0c47 [v9.3.x] PostgreSQL: Fix missing CA field from configuration (#59286)
PostgreSQL: Fix missing CA field from configuration (#59280)

* PostgreSQL: Fix missing CA field from configuration

(cherry picked from commit be73418d00)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-11-24 13:33:24 +01:00
Grot (@grafanabot)
4e2446d3e3 [v9.3.x] Azure Monitor: Fix empty/errored responses for Logs variables (#59278)
Azure Monitor: Fix empty/errored responses for Logs variables (#59240)

(cherry picked from commit 276b54fe9d)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-24 06:02:51 -05:00
Grot (@grafanabot)
2cbaab0e4c [v9.3.x] User: Optimize signed in user cache management (#59199)
User: Optimize signed in user cache management (#59090)

* only access the cache if a user ID is set

* ignore all negative values

(cherry picked from commit d7a652ff7f)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-11-24 04:15:43 -05:00
Grot (@grafanabot)
85383e9b43 [v9.3.x] Heatmap: Fix blurry text & rendering (#59262)
Heatmap: Fix blurry text & rendering (#59260)

(cherry picked from commit 6f00bc5674)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-23 23:15:19 -05:00
Grot (@grafanabot)
d895cad92a [v9.3.x] Explore: Sub-tables support for Table component (#59250)
Explore: Sub-tables support for Table component (#58682)

* First commit with working version of sub-tables using subData array

* Update TableContainer and query result to support a dataframe array for the table result

* Fix border issue by moving the subtable to above the cells in the DOM

* Allow header to be configurable using custom options.

* Update TablePanel to support sub-tables

* Fix main row links

* Added tests

* Fix TablePanel correctly splitting frames and sub-frames by using refId

(cherry picked from commit 183b279274)

Co-authored-by: Andre Pereira <adrapereira@gmail.com>
2022-11-23 18:30:45 +00:00
Grot (@grafanabot)
000cfe1dfc [v9.3.x] Internationalization: Enable internationalization by default (#59226)
Internationalization: Enable internationalization by default (#59204)

* Enable internationalization feature flag by default

* Change i18n feature to beta

* Set i18n feature flag to stable

* update features

(cherry picked from commit ba0ac08465)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 12:17:09 -05:00
Grot (@grafanabot)
c4756c394b [v9.3.x] Azure Monitor Logs: Avoid warning when the response is empty (#59231)
Azure Monitor Logs: Avoid warning when the response is empty (#59211)

(cherry picked from commit 9d88e14f01)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-23 10:31:54 -05:00
Grot (@grafanabot)
f5d7e0ed92 [v9.3.x] Tempo: Send the correct start time when making a TraceQL query (#59219)
(cherry picked from commit 6d94fa6aa5)
Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
2022-11-23 14:28:59 +00:00
Grot (@grafanabot)
e20a296176 [v9.3.x] I18n: Crowdin sync (#59212)
I18n: Crowdin sync (#59210)

* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)

(cherry picked from commit 343f65fffb)

Co-authored-by: Grafana I18n Bot <110095610+grafana-i18n-bot@users.noreply.github.com>
2022-11-23 14:17:34 +00:00
Grot (@grafanabot)
14878bcf99 [v9.3.x] I18n: Translate Dashboard Starred notification (#59208)
I18n: Translate Dashboard Starred notification (#59138)

(cherry picked from commit f180bb46f8)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 07:28:04 -05:00
Grot (@grafanabot)
f1efd350e6 [v9.3.x] Navigation: always show GetStartedWithPlugin even if there's install control wa… (#59206)
Navigation: always show `GetStartedWithPlugin` even if there's install control wa… (#59127)

always show `GetStartedWithPlugin` even if there's install control warnings

(cherry picked from commit c2f31c2685)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-23 11:49:45 +00:00
Grot (@grafanabot)
66ceacd98f [v9.3.x] Solo Panel: Configurable timezone (#59202)
Solo Panel: Configurable timezone (#59153)

* Allow to set timezone in query

* Use optional timestamp

* Update timeZone

(cherry picked from commit a0334a92f5)

Co-authored-by: Selene <selenepinillos@gmail.com>
2022-11-23 12:42:21 +01:00
Grot (@grafanabot)
7a543052ee [v9.3.x] Fix #58598 X-ID-Token header missing on Loki Datasource (#59193)
Fix #58598 X-ID-Token header missing on Loki Datasource (#58784)

* Fix #58598 X-ID-Token header missing on Loki Datasource

* Remove unecessary continue statements

* Add getAuthHeadersForCallResource unit tests

* Fix test and switch statement issues introduced during merge

(cherry picked from commit f1ef63791a)

Co-authored-by: Yann Vigara <yvigara@users.noreply.github.com>
2022-11-23 12:24:17 +01:00
Grot (@grafanabot)
7e02e2aef3 [v9.3.x] I18n: Fix variables not interpolating with pseudo localisation (#59194)
I18n: Fix variables not interpolating with pseudo localisation (#59145)

* I18n: Don't pseudolocalise string variables

* clean up

(cherry picked from commit c02f2321c1)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 05:42:46 -05:00
Ashley Harrison
a4919a6d69 Navigation: share logic between buildBreadcrumbs and usePageTitle… (#59155)
Navigation: share logic between `buildBreadcrumbs` and `usePageTitle` (#58819)

* simplify usePageTitle logic a bit

* use buildBreadcrumbs logic in usePageTitle

* always add home item to navTree, fix some tests

* fix remaining unit tests

(cherry picked from commit 824a562b03)
2022-11-23 10:26:55 +00:00
Grot (@grafanabot)
17d98d79d9 [v9.3.x] Azure Monitor: Fix namespace selection for storageaccounts (#59184)
Azure Monitor: Fix namespace selection for storageaccounts (#56449)

(cherry picked from commit 3bea8f2462)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-23 11:25:48 +01:00
Grot (@grafanabot)
82e6fdfaf9 [v9.3.x] Navigation: use correct id to find cloud access policies page (#59187)
Navigation: use correct id to find cloud access policies page (#59123)

use correct id to find cloud access policies page

(cherry picked from commit 8761a71da2)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-23 05:15:43 -05:00
Grot (@grafanabot)
ff49b0de7e [v9.3.x] Internationalization: Translate ShareSnapshot label (#59144)
Internationalization: Translate ShareSnapshot label (#58802)

(cherry picked from commit 515440979b)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-23 05:07:37 -05:00
Grot (@grafanabot)
068a41c6a7 [v9.3.x] SQL: Fix code editor for SQL datasources (#59185)
SQL: Fix code editor for SQL datasources (#58116)

* SQL: Fix code editor for sql datasources

* Fix: mysql completion with defaultdb

(cherry picked from commit 75097b99fb)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-11-23 11:06:48 +01:00
Grot (@grafanabot)
812c85602b [v9.3.x] Internationalization: Translate menu items (#59178)
Internationalization: Translate menu items (#59088)

(cherry picked from commit 4a628f18b0)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-23 03:53:55 -05:00
Grot (@grafanabot)
2fff4175b4 [v9.3.x] StateTimeline: Prevent label text from overflowing state rects (#59175)
StateTimeline: Prevent label text from overflowing state rects (#59169)

Co-authored-by: Vegard Vatn <vegard.vatn@avento.no>
(cherry picked from commit 9512f1e1af)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-22 23:14:09 -05:00
Grot (@grafanabot)
6dc4223e0b [v9.3.x] Heatmap: Fix tooltip y range of top and bottom buckets in calculated heatmaps (#59174)
Heatmap: Fix tooltip y range of top and bottom buckets in calculated heatmaps (#59172)

Co-authored-by: xdavidwu <xdavidwuph@gmail.com>
(cherry picked from commit 2a8706b025)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-22 23:06:50 -05:00
Grot (@grafanabot)
946daeb01a [v9.3.x] Canvas: Add icon value mapping (#59171)
Canvas: Add icon value mapping (#59013)

(cherry picked from commit e157ef1171)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-11-22 21:13:44 -05:00
Grot (@grafanabot)
280e796635 [v9.3.x] Geomap: Improve location editor (#59170)
Geomap: Improve location editor (#58017)

* add custom component for location editor

* FC cleanup

* Apply filter to add location fields call

* Create custom editor for location mode

* Apply validation logic and render warning

* Improve alert styling

* Add help url button to location alert

* Add success alert for auto

* Remove completed TODOs

* Only use alert on error, not success

* Change location mode to dropdown

* Change alert severity to less severe, info

* Prevent auto field selection during manual

* Update location testing to be for auto mode

* Run geo transformer editor init once

* Fix breaking test

* Clean up some anys

* Update styling for alert

* Remove auto success styling

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit ee8f292c6a)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2022-11-22 21:06:01 -05:00
Grot (@grafanabot)
dc23aa9a0f [v9.3.x] Internationalization: Translate NavBar - 'Search dashboard' menu item (#59152)
Internationalization: Translate NavBar - 'Search dashboard' menu item (#58815)

(cherry picked from commit 3f63ca06c3)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 11:52:49 -05:00
Grot (@grafanabot)
eb9f63c715 [v9.3.x] Internationalization: Translate ViewJSONmodal and ClipboardButton (#59151)
Internationalization: Translate ViewJSONmodal and ClipboardButton (#58807)

(cherry picked from commit 8f567d57fa)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 11:49:26 -05:00
Joao Silva
4c3adeff7c [v9.3.x] Preferences: Add confirmation modal when saving org preferences (#59119) (#59141) 2022-11-22 17:45:52 +01:00
Grot (@grafanabot)
a2263b9249 [v9.3.x] Alerting: Enable interpolation for notification policies in file provisioning (#59140)
Alerting: Enable interpolation for notification policies in file provisioning (#58956)

(cherry picked from commit 41b3398eb4)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-11-22 17:27:08 +01:00
Grot (@grafanabot)
692bd0ac00 [v9.3.x] Internationalization: Translate 'Hide / show legend' of PanelHeaderMenuItem (#59133)
Internationalization: Translate 'Hide / show legend' of PanelHeaderMenuItem (#58800)

(cherry picked from commit f2cb248d93)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 17:04:59 +01:00
Grot (@grafanabot)
df10c952c5 [v9.3.x] Azure Monitor: Fix resource picker selection for subresources (#59137)
Azure Monitor: Fix resource picker selection for subresources (#56392)

(cherry picked from commit 5b1ff83ee9)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-22 17:02:24 +01:00
Grot (@grafanabot)
0491f55ad6 [v9.3.x] Internationalization: Translate VariableInput and VariableOptions components (#59131)
Internationalization: Translate VariableInput and VariableOptions components (#58748)

(cherry picked from commit 3cedcdedbd)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 10:25:52 -05:00
Grot (@grafanabot)
f3ffc1a495 [v9.3.x] CloudWatch: fix custom namespace for listing dimension keys, refactor to non-pointer types, add test assertions, rename packages (#59130)
CloudWatch: fix custom namespace for listing dimension keys, refactor to non-pointer types, add test assertions, rename packages (#59106)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
(cherry picked from commit c43e1a721f)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-11-22 16:25:27 +01:00
Grot (@grafanabot)
3a1ffd88d5 [v9.3.x] AzureMonitor: Separate subscription health check API version (#59122)
AzureMonitor: Separate subscription health check API version (#58253)

Separate subscription health check API version

(cherry picked from commit f8656d269d)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-11-22 14:52:14 +00:00
Sonia Aguilar
eda3fb190c Fix: Add checkForPathSeparator validation in group name for grafana-m… (#59100)
* Fix: Add checkForPathSeparator validation in group name for grafana-managed alerts in form

* Build: Disable flaky RuleEditor frontend test

* trigger CI
2022-11-22 15:41:03 +01:00
Grot (@grafanabot)
129b74fe08 [v9.3.x] Chore: Document theme toggle keybinding (#59120)
Chore: Document theme toggle keybinding (#59031)

* make theme toggle keybinding dev only

* fix bug + add support for theme change keybinding

(cherry picked from commit 6f26668a9f)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-22 14:21:31 +00:00
Grot (@grafanabot)
8ae02b4b7b [v9.3.x] DataSourceWithBackend - Set postResource method to POST (#59117)
DataSourceWithBackend - Set postResource method to POST (#59114)

Set postResource method to POST

(cherry picked from commit 4eed56193f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-11-22 09:15:04 -05:00
Grot (@grafanabot)
0bb76df454 [v9.3.x] Accessibility: Improve keyboard accessibility in Collapse (#59097)
Accessibility: Improve keyboard accessibility in `Collapse` (#59022)

fix keyboard accessibility in Collapse

(cherry picked from commit 19e97a1f31)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-22 08:52:16 -05:00
Grot (@grafanabot)
7e509a19f1 [v9.3.x] Loki: Add gzip compression to resource calls (#59113)
Loki: Add `gzip` compression to resource calls (#59059)

* Loki: Add compression to `callResource`

* add missing tests

* fix formatting

(cherry picked from commit 08e87a217c)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-11-22 08:16:45 -05:00
Grot (@grafanabot)
3de3eee655 [v9.3.x] MS/My/PostgresSQL: Migrate annotation query (#59112)
MS/My/PostgresSQL: Migrate annotation query (#58847)

(cherry picked from commit 38f25a0bf5)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-11-22 08:08:11 -05:00
Grot (@grafanabot)
1bcdaeb910 [v9.3.x] @grafana/runtime: Avoid calling applyTemplateVariables for the wrong datasource (#59029)
@grafana/runtime: Avoid calling applyTemplateVariables for the wrong datasource (#57921)

(cherry picked from commit 448358ac66)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-22 06:50:47 -05:00
Grot (@grafanabot)
90a904fbd5 [v9.3.x] Alerting: Support Prometheus durations in Provisioning API (#59067)
Alerting: Support Prometheus durations in Provisioning API (#58293)

Provisioning API should support Prometheus durations

(cherry picked from commit 57d6adbc7c)

Co-authored-by: Bart Peeters <birtpeeters@hotmail.com>
2022-11-21 19:15:54 +00:00
Grot (@grafanabot)
7899b5ae72 [v9.3.x] Prometheus: fix Heatmap y buckets when legendFormat: auto (#59065)
Prometheus: fix Heatmap y buckets when legendFormat: auto (#59053)

(cherry picked from commit 1f4834a144)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-21 12:39:54 -05:00
Grot (@grafanabot)
3c353ab1c1 [v9.3.x] Chore: Fix SQLx failure when starting the server with newDBLibrary enabled (#59054)
Chore: Fix SQLx failure when starting the server with newDBLibrary enabled (#58985)

change the weekstart to pointer

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
(cherry picked from commit ba8124ef93)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-11-21 17:55:36 +02:00
Grot (@grafanabot)
e1bf7aa65e [v9.3.x] Alerting: Add Troubleshooting to Images in notifications docs (#59026)
Alerting: Add Troubleshooting to Images in notifications docs (#58955)

(cherry picked from commit 2f878acd9d)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-21 11:36:32 +00:00
Grot (@grafanabot)
6a6e05bfa1 [v9.3.x] Accessibility: Improve keyboard accessibility of FilterPill (#59017)
Accessibility: Improve keyboard accessibility of `FilterPill` (#58976)

fix keyboard a11y in FilterPill

(cherry picked from commit 8aa74fe9ee)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-21 06:15:49 -05:00
Grot (@grafanabot)
28b0af4476 [v9.3.x] Accessibility: Improve keyboard accessibility in AnnoListPanel (#59015)
Accessibility: Improve keyboard accessibility in `AnnoListPanel` (#58971)

fix keyboard accessibility in AnnoListPanel

(cherry picked from commit 598935cb34)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-21 04:37:38 -05:00
Grot (@grafanabot)
72ac08cc7b [v9.3.x] Navigation: Set navtree to an empty array instead of null (#59010)
Navigation: Set navtree to  an empty array instead of null (#58919)

set navtree to  an empty array instead of null

(cherry picked from commit 4aa5dea96b)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-11-21 10:02:19 +01:00
Grot (@grafanabot)
90946b68a2 [v9.3.x] Navigation: Prevent viewer role accessing dashboard creation, import and folder creation (#59009)
Navigation: Prevent viewer role accessing dashboard creation, import and folder creation (#58842)

hide pages related dashboard import create and folder creation for viewer role

(cherry picked from commit 14fbd44ac0)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-11-21 10:02:08 +01:00
Grot (@grafanabot)
9521c90651 [v9.3.x] Docs/removes admin screenshots (#58996)
Docs/removes admin screenshots (#58994)

* removes screenshots in the admin docs

* removes unneeded screenshot

(cherry picked from commit 8ac197b11c)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-18 16:04:46 -06:00
Grot (@grafanabot)
d6ca111109 [v9.3.x] Docs: adds permission validation setting (#58988)
Docs: adds permission validation setting (#58970)

* adds permission validation setting

* Update docs/sources/administration/roles-and-permissions/access-control/configure-rbac/index.md

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* makes prettier

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
(cherry picked from commit 780efa5791)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-18 12:43:32 -06:00
Grot (@grafanabot)
200915fc91 [v9.3.x] Update verify-release script (#58984)
Update verify-release script (#58812)

Update verify-release script with required arg

(cherry picked from commit 19ff3645e8)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-11-18 17:27:08 +00:00
Grot (@grafanabot)
3bd24136a0 [v9.3.x] Docs: adjusts link to kms integration (#58983)
Docs: adjusts link to kms integration (#58981)

adjusts link to kms integration

(cherry picked from commit e7b5bd34bd)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-18 10:52:06 -06:00
Grot (@grafanabot)
47a04102ee [v9.3.x] Alerting: Fix metric in Images in Notifications docs (#58979)
Alerting: Fix metric in Images in Notifications docs (#58954)

(cherry picked from commit 4da97aef7d)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-18 16:46:32 +00:00
Grot (@grafanabot)
f35ab2f79d [v9.3.x] Nav: Split Admin into three sections for new IA (#58974)
Nav: Split Admin into three sections for new IA (#58229)

* start to split admin into two sections

* most of new admin nav implemented

* landing pages

* hide admin for non-admins

* update admin redirects if not topnav

* clean up

* updated IA for admin (still WIP)

* move plugin pages into correct admin sections

* fix backend unit test

* move correlations into the correct section

* add translations for admin sections

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit 5978dc138e)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-18 11:15:17 -05:00
Grot (@grafanabot)
e07f115f98 [v9.3.x] Accessibility: Improve keyboard accessibility in GettingStarted panel (#58977)
Accessibility: Improve keyboard accessibility in `GettingStarted` panel (#58966)

fix keyboard a11y in `GettingStarted` panel

(cherry picked from commit e19957bbc8)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 10:54:21 -05:00
Grot (@grafanabot)
001179771e [v9.3.x] Navigation: Stop clearing search state when opening a result in a new tab (#58967)
Navigation: Stop clearing search state when opening a result in a new tab (#58880)

search: only clear search state if not opening in a new tab
(cherry picked from commit 5226a61f67)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 09:57:24 -05:00
Grot (@grafanabot)
661c72d6b7 [v9.3.x] Explore: Fix a11y issue with logs navigation buttons (#58963)
Explore: Fix a11y issue with logs navigation buttons (#58944)

(cherry picked from commit 27b5e5f781)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-11-18 15:45:30 +01:00
Grot (@grafanabot)
4e31338e94 [v9.3.x] Navigation: move connections + integrations to be a top level item (#58939)
Navigation: move connections + integrations to be a top level item (#58902)

* move connections + integrations to be a top level item

* add a test to check we can move apps to the root

* split out movePlugin logic into a separate function

* fix linting

* rename movePlugin -> addPluginToSection

(cherry picked from commit d46e3916a1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 08:08:36 -05:00
Grot (@grafanabot)
d5d4685d20 [v9.3.x] GaugePanel: Setting the neutral-point of a gauge (#58949) 2022-11-18 12:52:29 +01:00
Grot (@grafanabot)
d7e459fdee [v9.3.x] QueryData: skip header validation (revert check) (#58946)
QueryData: skip header validation (revert check) (#58871)

(cherry picked from commit 8e19a1618f)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-18 05:59:50 -05:00
Grot (@grafanabot)
4db1f3b850 [v9.3.x] OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58940)
OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782)

* Add ApprovalForce to AuthCodeOptions

* Extract access token validity check to a function

* Refactor

* Oauth: set options internally instead of exposing new function

* Align tests

* Remove unused function

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 9c98314e9f)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2022-11-18 10:37:24 +01:00
Grot (@grafanabot)
4fb033d525 [v9.3.x] Quota: Fix failure in store due to missing scope parameters (#58923)
Quota: Fix failure in store due to missing scope parameters (#58874)

Quota: Fix failure in store
(cherry picked from commit 18738cfd77)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-17 18:28:11 +01:00
Grot (@grafanabot)
ffa649e377 [v9.3.x] Quota: Fix failure when checking session limits (#58869)
Quota: Fix failure when checking session limits (#58865)

(cherry picked from commit ab36252c86)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-17 18:09:29 +01:00
Grot (@grafanabot)
450ff445ea [v9.3.x] Navigation: rename Grafana Machine Learning to just Machine Learning (#58911)
Navigation: rename Grafana Machine Learning to just Machine Learning (#58893)

rename Grafana Machine Learning to just Machine Learning

(cherry picked from commit ac66e14054)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-17 09:49:07 -05:00
Grot (@grafanabot)
311b4b9b6f [v9.3.x] Chore: Extract server lock error so it can be used with errors.As (#58906)
Chore: Extract server lock error so it can be used with errors.As (#58899)

chore: extract server lock Error so it can be used with error.As
(cherry picked from commit 7e9d94cfda)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-11-17 15:30:24 +01:00
Grot (@grafanabot)
710124b5de [v9.3.x] Navigation: Change quick add styling (#58879)
Navigation: Change quick add styling (#58854)

Change quick add styling + allow for returning isOpen state to dropdown children

(cherry picked from commit b398e8640d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-17 04:18:54 -05:00
Grot (@grafanabot)
61eb256882 [v9.3.x] SSE: Keep value name from numeric table (#58851)
SSE: Keep value name from numeric table (#58831)

fixes #48868

(cherry picked from commit 1953d473c0)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-11-16 10:54:41 -05:00
Grot (@grafanabot)
7ec8550652 [v9.3.x] QueryData: fix header parsing to support expressions (#58848)
QueryData: fix header parsing to support expressions (#58826)

fixes #58821

(cherry picked from commit 934fb2f0ee)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-16 10:29:59 -05:00
Grot (@grafanabot)
4890db3089 [v9.3.x] AppRootPage: Render app plugins without pages (#58814)
AppRootPage: Render app plugins without pages (#58776)

fix: render app plugins that don't have a page in includes
(cherry picked from commit 4ee83a5f2b)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-11-16 06:05:19 -05:00
Grot (@grafanabot)
81b0dd7686 [v9.3.x] Fix: Bump-version action regex pattern to work with beta1 (#58806)
Fix: Bump-version action regex pattern to work with beta1 (#58805)

Fixing bump version regex

(cherry picked from commit 174a039ee1)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-11-16 04:36:53 -05:00
Grot (@grafanabot)
cb9df3bfdb Release: Bump version to 9.3.0-beta.1 (#58787)
"Release: Updated versions in package to 9.3.0-beta.1"
2022-11-15 22:30:16 +02:00
Grot (@grafanabot)
a0eb08f01b [v9.3.x] Changelog: Updated changelog for 9.3.0-beta1 (#58786)
Changelog: Updated changelog for 9.3.0-beta1 (#58785)

(cherry picked from commit d5318f02c6)
2022-11-15 17:04:45 -03:00
1373 changed files with 30821 additions and 10078 deletions

View File

@@ -1538,7 +1538,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"packages/grafana-ui/src/components/Table/utils.test.ts:5381": [
"packages/grafana-ui/src/components/Table/utils.test.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
@@ -1548,19 +1548,9 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Unexpected any. Specify a different type.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"],
[0, 0, 0, "Unexpected any. Specify a different type.", "9"],
[0, 0, 0, "Unexpected any. Specify a different type.", "10"],
[0, 0, 0, "Unexpected any. Specify a different type.", "11"],
[0, 0, 0, "Unexpected any. Specify a different type.", "12"],
[0, 0, 0, "Unexpected any. Specify a different type.", "13"],
[0, 0, 0, "Unexpected any. Specify a different type.", "14"],
[0, 0, 0, "Unexpected any. Specify a different type.", "15"],
[0, 0, 0, "Unexpected any. Specify a different type.", "16"],
[0, 0, 0, "Unexpected any. Specify a different type.", "17"],
[0, 0, 0, "Unexpected any. Specify a different type.", "18"],
[0, 0, 0, "Unexpected any. Specify a different type.", "19"]
[0, 0, 0, "Unexpected any. Specify a different type.", "9"]
],
"packages/grafana-ui/src/components/Table/utils.ts:5381": [
"packages/grafana-ui/src/components/Table/utils.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
@@ -3997,12 +3987,6 @@ exports[`better eslint`] = {
"public/app/features/folders/state/actions.test.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/geo/editor/GazetteerPathEditor.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/features/geo/format/geohash.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
@@ -5395,8 +5379,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "2"]
],
"public/app/plugins/datasource/cloudwatch/components/QueryHeader.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/cloudwatch/datasource.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
@@ -6835,9 +6818,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "15"],
[0, 0, 0, "Unexpected any. Specify a different type.", "16"],
[0, 0, 0, "Unexpected any. Specify a different type.", "17"],
[0, 0, 0, "Unexpected any. Specify a different type.", "18"],
[0, 0, 0, "Unexpected any. Specify a different type.", "19"],
[0, 0, 0, "Unexpected any. Specify a different type.", "20"]
[0, 0, 0, "Unexpected any. Specify a different type.", "18"]
],
"public/app/plugins/datasource/tempo/traceql/autocomplete.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
@@ -7809,9 +7790,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "16"],
[0, 0, 0, "Do not use any type assertions.", "17"],
[0, 0, 0, "Do not use any type assertions.", "18"],
[0, 0, 0, "Do not use any type assertions.", "19"],
[0, 0, 0, "Do not use any type assertions.", "20"],
[0, 0, 0, "Do not use any type assertions.", "21"]
[0, 0, 0, "Do not use any type assertions.", "19"]
],
"public/app/plugins/panel/histogram/Histogram.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],

View File

@@ -2,9 +2,8 @@
init_cmds = [
["make", "gen-go"],
["make", "gen-jsonnet"],
["GO_BUILD_DEV=1", "make", "build-cli"],
["GO_BUILD_DEV=1", "make", "build-server"],
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
["GO_BUILD_DEV=1", "make", "build-go"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
]
watch_all = true
follow_symlinks = true
@@ -20,6 +19,6 @@ build_delay = 1500
cmds = [
["make", "gen-go"],
["make", "gen-jsonnet"],
["GO_BUILD_DEV=1", "make", "build-server"],
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
["GO_BUILD_DEV=1", "make", "build-go"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
]

View File

@@ -3,20 +3,55 @@
# 2. Login to drone and export the env variables (token and server) shown here: https://drone.grafana.net/account
# 3. Run `make drone`
# More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md
"""
This module returns a Drone configuration including pipelines and secrets.
"""
load('scripts/drone/events/pr.star', 'pr_pipelines')
load('scripts/drone/events/main.star', 'main_pipelines')
load('scripts/drone/pipelines/docs.star', 'docs_pipelines')
load('scripts/drone/events/release.star', 'release_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline', 'artifacts_page_pipeline')
load('scripts/drone/pipelines/publish_images.star', 'publish_image_pipelines_public', 'publish_image_pipelines_security')
load('scripts/drone/version.star', 'version_branch_pipelines')
load('scripts/drone/events/cron.star', 'cronjobs')
load('scripts/drone/vault.star', 'secrets')
load("scripts/drone/events/pr.star", "pr_pipelines")
load("scripts/drone/events/main.star", "main_pipelines")
load(
"scripts/drone/events/release.star",
"artifacts_page_pipeline",
"enterprise2_pipelines",
"enterprise_pipelines",
"oss_pipelines",
"publish_artifacts_pipelines",
"publish_npm_pipelines",
"publish_packages_pipeline",
)
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
"publish_image_pipelines_security",
)
load("scripts/drone/pipelines/github.star", "publish_github_pipeline")
load("scripts/drone/pipelines/aws_marketplace.star", "publish_aws_marketplace_pipeline")
load("scripts/drone/version.star", "version_branch_pipelines")
load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/vault.star", "secrets")
def main(ctx):
edition = 'oss'
return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \
publish_image_pipelines_public() + publish_image_pipelines_security() + \
publish_artifacts_pipelines('security') + publish_artifacts_pipelines('public') + \
publish_npm_pipelines('public') + publish_packages_pipeline() + artifacts_page_pipeline() + \
version_branch_pipelines() + cronjobs(edition=edition) + secrets()
def main(_ctx):
return (
pr_pipelines() +
main_pipelines() +
oss_pipelines() +
enterprise_pipelines() +
enterprise2_pipelines() +
enterprise2_pipelines(
prefix = "custom-",
trigger = {"event": ["custom"]},
) +
publish_image_pipelines_public() +
publish_image_pipelines_security() +
publish_github_pipeline("public") +
publish_github_pipeline("security") +
publish_aws_marketplace_pipeline("public") +
publish_artifacts_pipelines("security") +
publish_artifacts_pipelines("public") +
publish_npm_pipelines() +
publish_packages_pipeline() +
artifacts_page_pipeline() +
version_branch_pipelines() +
cronjobs() +
secrets()
)

2032
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -87,7 +87,11 @@
"ignoreNonDOM": true
}
],
"jsx-a11y/no-static-element-interactions": "off"
"jsx-a11y/no-static-element-interactions": "off",
"jsx-a11y/label-has-associated-control": [ "error", {
"controlComponents": ["NumberInput"],
"depth": 2
}]
}
}
]

View File

@@ -17,7 +17,7 @@ jobs:
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-beta.\d+)?$'
regex: '^(\d+.\d+).\d+(?:-beta\d+)?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }}
id: regex-match-version-call
@@ -29,7 +29,7 @@ jobs:
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta.number format. \
example: 7.4.3 or 7.4.3-beta.1"
example: 7.4.3 or 7.4.3-beta1"
exit 1
- name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}

View File

@@ -8,6 +8,8 @@ on:
pull_request:
paths-ignore:
- "packages/**"
branches:
- 'main'
jobs:
detect:

View File

@@ -7,6 +7,8 @@ on:
pull_request:
paths:
- 'packages/**'
branches:
- 'main'
jobs:
buildPR:

View File

@@ -7,7 +7,7 @@ jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:latest"
image: "grafana/doc-validator:v1.5.0"
steps:
- name: "Checkout code"
uses: "actions/checkout@v3"

View File

@@ -0,0 +1,34 @@
name: "publish-technical-documentation-next"
on:
push:
branches:
- "main"
paths:
- "docs/sources/**"
workflow_dispatch:
jobs:
sync:
if: "github.repository == 'grafana/grafana'"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
- name: "Clone website-sync Action"
# WEBSITE_SYNC_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_GRAFANA }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (next)"
uses: "./.github/actions/website-sync"
id: "publish-next"
with:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_GRAFANA }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/next"

View File

@@ -0,0 +1,64 @@
name: "publish-technical-documentation-release"
on:
push:
branches:
- v[0-9]+.[0-9]+.x
tags:
- v[0-9]+.[0-9]+.[0-9]+
paths:
- "docs/sources/**"
workflow_dispatch:
jobs:
sync:
if: "github.repository == 'grafana/grafana'"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
with:
fetch-depth: 0
- name: "Checkout Actions library"
uses: "actions/checkout@v3"
with:
repository: "grafana/grafana-github-actions"
path: "./actions"
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "Determine technical documentation version"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./actions/docs-target"
id: "target"
with:
ref_name: "${{ github.ref_name }}"
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_GRAFANA }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (release)"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./.github/actions/website-sync"
id: "publish-release"
with:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_GRAFANA }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/${{ steps.target.outputs.target }}"

View File

@@ -1,47 +0,0 @@
name: publish_docs
on:
push:
branches:
- main
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
- name: setup node
uses: actions/setup-node@v3.5.1
with:
node-version: '16'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3.0.11
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- name: publish-to-git
uses: ./.github/actions/website-sync
id: publish
with:
repository: grafana/website
branch: master
host: github.com
github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
source_folder: docs/sources
target_folder: content/docs/grafana/next
allow_no_changes: 'true'
- shell: bash
run: |
test -n "${{ steps.publish.outputs.commit_hash }}"
test -n "${{ steps.publish.outputs.working_directory }}"

View File

@@ -1,3 +1,330 @@
<!-- 9.3.6 START -->
# 9.3.6 (2023-01-26)
### Bug fixes
- **QueryEditorRow:** Fixes issue loading query editor when data source variable selected. [#61927](https://github.com/grafana/grafana/pull/61927), [@torkelo](https://github.com/torkelo)
<!-- 9.3.6 END -->
<!-- 9.3.4 START -->
# 9.3.4 (2023-01-25)
### Features and enhancements
- **Prometheus:** Add default editor configuration. [#61510](https://github.com/grafana/grafana/pull/61510), [@itsmylife](https://github.com/itsmylife)
- **TextPanel:** Refactor to functional component (#60885). [#61937](https://github.com/grafana/grafana/pull/61937), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **Alerting:** Fix webhook to use correct key for decrypting token. [#61717](https://github.com/grafana/grafana/pull/61717), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Set error annotation on EvaluationError regardless of underlying error type. [#61506](https://github.com/grafana/grafana/pull/61506), [@alexweav](https://github.com/alexweav)
- **Datasources:** Fix Proxy by UID Failing for UIDs with a Hyphen. [#61723](https://github.com/grafana/grafana/pull/61723), [@csmarchbanks](https://github.com/csmarchbanks)
- **Elasticsearch:** Fix creating of span link with no tags. [#61753](https://github.com/grafana/grafana/pull/61753), [@ivanahuckova](https://github.com/ivanahuckova)
- **Elasticsearch:** Fix failing requests when using SigV4. [#61923](https://github.com/grafana/grafana/pull/61923), [@svennergr](https://github.com/svennergr)
- **Elasticsearch:** Fix toggle-settings are not shown correctly. [#61751](https://github.com/grafana/grafana/pull/61751), [@svennergr](https://github.com/svennergr)
- **Explore:** Be sure time range key bindings are mounted after clear. [#61892](https://github.com/grafana/grafana/pull/61892), [@gelicia](https://github.com/gelicia)
- **Explore:** Unsync time ranges when a pane is closed. [#61369](https://github.com/grafana/grafana/pull/61369), [@Elfo404](https://github.com/Elfo404)
- **Logs:** Lines with long words do not break properly. [#61707](https://github.com/grafana/grafana/pull/61707), [@svennergr](https://github.com/svennergr)
- **Loki:** Fix misaligned derived fields settings. [#61475](https://github.com/grafana/grafana/pull/61475), [@svennergr](https://github.com/svennergr)
- **Query Builder:** Fix max width of input component to prevent overflows. [#61798](https://github.com/grafana/grafana/pull/61798), [@matyax](https://github.com/matyax)
- **Search:** Auto focus input elements. [#61443](https://github.com/grafana/grafana/pull/61443), [@ryantxu](https://github.com/ryantxu)
- **Search:** Fix empty folder message showing when by starred dashboards. [#61610](https://github.com/grafana/grafana/pull/61610), [@eledobleefe](https://github.com/eledobleefe)
- **Table Panel:** Fix image of image cell overflowing table cell and cells ignoring text alignment setting when a data link is added. [#59392](https://github.com/grafana/grafana/pull/59392), [@oscarkilhed](https://github.com/oscarkilhed)
<!-- 9.3.4 END -->
<!-- 9.3.2 START -->
# 9.3.2 (unreleased)
### Features and enhancements
- **Graphite:** Process multiple queries to Graphite plugin. [#59608](https://github.com/grafana/grafana/pull/59608), [@mmandrus](https://github.com/mmandrus)
### Bug fixes
- **API:** Fix delete user failure due to quota not enabled. [#59875](https://github.com/grafana/grafana/pull/59875), [@papagian](https://github.com/papagian)
- **Accessibility:** Improved keyboard accessibility in BarGauge. [#59382](https://github.com/grafana/grafana/pull/59382), [@lpskdl](https://github.com/lpskdl)
- **Accessibility:** Improved keyboard accessibility in BigValue. [#59830](https://github.com/grafana/grafana/pull/59830), [@lpskdl](https://github.com/lpskdl)
- **Alerting:** Use the QuotaTargetSrv instead of the QuotaTarget in quota check. [#60026](https://github.com/grafana/grafana/pull/60026), [@joeblubaugh](https://github.com/joeblubaugh)
- **AzureMonitor:** Automate location retrieval. [#59602](https://github.com/grafana/grafana/pull/59602), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Fix bad request when setting dimensions. [#59700](https://github.com/grafana/grafana/pull/59700), [@andresmgot](https://github.com/andresmgot)
- **BarChart:** Fix value mappings. [#60066](https://github.com/grafana/grafana/pull/60066), [@leeoniya](https://github.com/leeoniya)
- **Build:** Streamline and sync dockerfiles. [#58101](https://github.com/grafana/grafana/pull/58101), [@DanCech](https://github.com/DanCech)
- **Build:** Unified dockerfile for all builds. [#59173](https://github.com/grafana/grafana/pull/59173), [@DanCech](https://github.com/DanCech)
- **CloudWatch:** Fix - make sure dimensions are propagated to alert query editor. [#58281](https://github.com/grafana/grafana/pull/58281), [@conorevans](https://github.com/conorevans)
- **Cloudwatch:** Fix deeplink with default region (#60260). [#60274](https://github.com/grafana/grafana/pull/60274), [@iwysiu](https://github.com/iwysiu)
- **Command Palette:** Fix not being able to type if triggered whilst another modal is open. [#59728](https://github.com/grafana/grafana/pull/59728), [@ashharrison90](https://github.com/ashharrison90)
- **Command Palette:** Maintain page state when changing theme. [#59787](https://github.com/grafana/grafana/pull/59787), [@ashharrison90](https://github.com/ashharrison90)
- **Dashboards:** Fix 'Make Editable' button not working in Dashboard Settings. [#60306](https://github.com/grafana/grafana/pull/60306), [@joshhunt](https://github.com/joshhunt)
- **Dashboards:** Show error when data source is missing. [#60099](https://github.com/grafana/grafana/pull/60099), [@joshhunt](https://github.com/joshhunt)
- **Datasource:** Fix - apply default query also to queries in new panels. [#59625](https://github.com/grafana/grafana/pull/59625), [@sunker](https://github.com/sunker)
- **Dropdown:** Menu now closes correctly when selecting options on touch devices. [#60181](https://github.com/grafana/grafana/pull/60181), [@ashharrison90](https://github.com/ashharrison90)
- **Influx:** Query segment menus now position correctly near the bottom of the screen. [#60087](https://github.com/grafana/grafana/pull/60087), [@ashharrison90](https://github.com/ashharrison90)
- **Login:** Fix failure to login a new user via an external provider if quota are enabled. [#60015](https://github.com/grafana/grafana/pull/60015), [@papagian](https://github.com/papagian)
- **Loki/Prometheus:** Fix wrong queries executed in split view. [#60172](https://github.com/grafana/grafana/pull/60172), [@svennergr](https://github.com/svennergr)
- **Loki:** Fix wrongly escaped label values when using LabelFilter. [#59812](https://github.com/grafana/grafana/pull/59812), [@svennergr](https://github.com/svennergr)
- **Navigation:** Prevent app crash when importing a dashboard with a uid of `home`. [#59874](https://github.com/grafana/grafana/pull/59874), [@ashharrison90](https://github.com/ashharrison90)
- **Panel Edit:** Fix data links edit icons being off screen when provided title is too long. [#59829](https://github.com/grafana/grafana/pull/59829), [@dprokop](https://github.com/dprokop)
- **Prometheus:** Fix exemplar fill color to match series color in time series. [#59908](https://github.com/grafana/grafana/pull/59908), [@gtk-grafana](https://github.com/gtk-grafana)
- **Prometheus:** Fix exemplars not respecting corresponding series display status. [#59743](https://github.com/grafana/grafana/pull/59743), [@gtk-grafana](https://github.com/gtk-grafana)
- **StateTimeline:** Fix negative infinity legend/tooltip from thresholds. [#60279](https://github.com/grafana/grafana/pull/60279), [@leeoniya](https://github.com/leeoniya)
- **Table:** Fixes row border style not showing and colored rows blending together. [#59660](https://github.com/grafana/grafana/pull/59660), [@torkelo](https://github.com/torkelo)
- **Tempo:** Fix TraceQL autocomplete issues (#60058). [#60125](https://github.com/grafana/grafana/pull/60125), [@CrypticSignal](https://github.com/CrypticSignal)
- **TimePicker:** Prevent TimePicker overflowing viewport on small screens. [#59808](https://github.com/grafana/grafana/pull/59808), [@ashharrison90](https://github.com/ashharrison90)
- **TimeRangePicker:** Fix recently ranges only not showing all recent ranges. [#59836](https://github.com/grafana/grafana/pull/59836), [@joshhunt](https://github.com/joshhunt)
- **TimeZonePicker:** Scroll menu correctly when using keyboard controls. [#60008](https://github.com/grafana/grafana/pull/60008), [@ashharrison90](https://github.com/ashharrison90)
<!-- 9.3.2 END -->
<!-- 9.3.1 START -->
# 9.3.1 (2022-11-30)
### Features and enhancements
- **Connections:** Update "Your connections/Data sources" page. [#58589](https://github.com/grafana/grafana/pull/58589), [@mikkancso](https://github.com/mikkancso)
### Bug fixes
- **Accessibility:** Increase badge constrast to be WCAG AA compliant. [#59531](https://github.com/grafana/grafana/pull/59531), [@eledobleefe](https://github.com/eledobleefe)
<!-- 9.3.1 END -->
<!-- 9.3.0 START -->
# 9.3.0 (2022-11-30)
### Features and enhancements
- **Alerting:** Enable interpolation for notification policies in file provisioning. [#58956](https://github.com/grafana/grafana/pull/58956), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Azure Monitor Logs:** Avoid warning when the response is empty. [#59211](https://github.com/grafana/grafana/pull/59211), [@andresmgot](https://github.com/andresmgot)
- **Azure Monitor:** Add support to customized routes. [#54829](https://github.com/grafana/grafana/pull/54829), [@ms-hujia](https://github.com/ms-hujia)
- **Canvas:** Add icon value mapping. [#59013](https://github.com/grafana/grafana/pull/59013), [@nmarrs](https://github.com/nmarrs)
- **CloudWatch:** Cross-account querying support. [#59362](https://github.com/grafana/grafana/pull/59362), [@sunker](https://github.com/sunker)
- **Docs:** Update `merge-pull-request.md` regarding backport policies. [#59239](https://github.com/grafana/grafana/pull/59239), [@dsotirakis](https://github.com/dsotirakis)
- **GaugePanel:** Setting the neutral-point of a gauge. [#53989](https://github.com/grafana/grafana/pull/53989), [@sfranzis](https://github.com/sfranzis)
- **Geomap:** Improve location editor. [#58017](https://github.com/grafana/grafana/pull/58017), [@drew08t](https://github.com/drew08t)
- **Internationalization:** Enable internationalization by default. [#59204](https://github.com/grafana/grafana/pull/59204), [@joshhunt](https://github.com/joshhunt)
- **Logs:** Add `Download logs` button to log log-browser. [#55163](https://github.com/grafana/grafana/pull/55163), [@svennergr](https://github.com/svennergr)
- **Loki:** Add `gzip` compression to resource calls. [#59059](https://github.com/grafana/grafana/pull/59059), [@svennergr](https://github.com/svennergr)
- **Loki:** Add improvements to loki label browser. [#59387](https://github.com/grafana/grafana/pull/59387), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Make label browser accessible in query builder. [#58525](https://github.com/grafana/grafana/pull/58525), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Remove raw query toggle. [#59125](https://github.com/grafana/grafana/pull/59125), [@gwdawson](https://github.com/gwdawson)
- **Middleware:** Add CSP Report Only support. [#58074](https://github.com/grafana/grafana/pull/58074), [@jcalisto](https://github.com/jcalisto)
- **Navigation:** Prevent viewer role accessing dashboard creation, import and folder creation. [#58842](https://github.com/grafana/grafana/pull/58842), [@lpskdl](https://github.com/lpskdl)
- **OAuth:** Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth. [#58782](https://github.com/grafana/grafana/pull/58782), [@mgyongyosi](https://github.com/mgyongyosi)
- **Oauth:** Display friendly error message when role_attribute_strict=true and no valid role found. [#57818](https://github.com/grafana/grafana/pull/57818), [@kalleep](https://github.com/kalleep)
- **Preferences:** Add confirmation modal when saving org preferences. [#59119](https://github.com/grafana/grafana/pull/59119), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **PublicDashboards:** Orphaned public dashboard deletion script added. [#57917](https://github.com/grafana/grafana/pull/57917), [@juanicabanas](https://github.com/juanicabanas)
- **Query Editor:** Hide overflow for long query names. [#58840](https://github.com/grafana/grafana/pull/58840), [@zuchka](https://github.com/zuchka)
- **Reports:** Configurable timezone. (Enterprise)
- **Solo Panel:** Configurable timezone. [#59153](https://github.com/grafana/grafana/pull/59153), [@spinillos](https://github.com/spinillos)
- **TablePanel:** Add support for Count calculation per column or per entire dataset. [#58134](https://github.com/grafana/grafana/pull/58134), [@mdvictor](https://github.com/mdvictor)
- **Tempo:** Send the correct start time when making a TraceQL query. [#59128](https://github.com/grafana/grafana/pull/59128), [@CrypticSignal](https://github.com/CrypticSignal)
- **Various Panels:** Remove beta label from Bar Chart, Candlestick, Histogram, State Timeline, & Status History Panels. [#58557](https://github.com/grafana/grafana/pull/58557), [@codeincarnate](https://github.com/codeincarnate)
### Bug fixes
- **Access Control:** Clear user's permission cache after resource creation. [#59307](https://github.com/grafana/grafana/pull/59307), [@grafanabot](https://github.com/grafanabot)
- **Access Control:** Clear user's permission cache after resource creation. [#59101](https://github.com/grafana/grafana/pull/59101), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Accessibility:** Improve keyboard accessibility in `AnnoListPanel`. [#58971](https://github.com/grafana/grafana/pull/58971), [@ashharrison90](https://github.com/ashharrison90)
- **Accessibility:** Improve keyboard accessibility in `Collapse`. [#59022](https://github.com/grafana/grafana/pull/59022), [@ashharrison90](https://github.com/ashharrison90)
- **Accessibility:** Improve keyboard accessibility in `GettingStarted` panel. [#58966](https://github.com/grafana/grafana/pull/58966), [@ashharrison90](https://github.com/ashharrison90)
- **Accessibility:** Improve keyboard accessibility of `FilterPill`. [#58976](https://github.com/grafana/grafana/pull/58976), [@ashharrison90](https://github.com/ashharrison90)
- **Admin:** Fix broken links to image assets in email templates. [#58729](https://github.com/grafana/grafana/pull/58729), [@zuchka](https://github.com/zuchka)
- **Azure Monitor:** Fix namespace selection for storageaccounts. [#56449](https://github.com/grafana/grafana/pull/56449), [@andresmgot](https://github.com/andresmgot)
- **Calcs:** Fix difference percent in legend. [#59243](https://github.com/grafana/grafana/pull/59243), [@zoltanbedi](https://github.com/zoltanbedi)
- **DataLinks:** Improve Data-Links AutoComplete Logic. [#58934](https://github.com/grafana/grafana/pull/58934), [@zuchka](https://github.com/zuchka)
- **Explore:** Fix a11y issue with logs navigation buttons. [#58944](https://github.com/grafana/grafana/pull/58944), [@Elfo404](https://github.com/Elfo404)
- **Heatmap:** Fix blurry text & rendering. [#59260](https://github.com/grafana/grafana/pull/59260), [@leeoniya](https://github.com/leeoniya)
- **Heatmap:** Fix tooltip y range of top and bottom buckets in calculated heatmaps. [#59172](https://github.com/grafana/grafana/pull/59172), [@leeoniya](https://github.com/leeoniya)
- **Logs:** Fix misalignment of LogRows. [#59279](https://github.com/grafana/grafana/pull/59279), [@svennergr](https://github.com/svennergr)
- **Navigation:** Stop clearing search state when opening a result in a new tab. [#58880](https://github.com/grafana/grafana/pull/58880), [@ashharrison90](https://github.com/ashharrison90)
- **OptionsUI:** SliderValueEditor does not get auto focused on slider change. [#59209](https://github.com/grafana/grafana/pull/59209), [@eledobleefe](https://github.com/eledobleefe)
- **PanelEdit:** Fixes bug with not remembering panel options pane collapse/expand state. [#59265](https://github.com/grafana/grafana/pull/59265), [@torkelo](https://github.com/torkelo)
- **Query Caching:** Skip 207 status codes. (Enterprise)
- **Quota:** Fix failure in store due to missing scope parameters. [#58874](https://github.com/grafana/grafana/pull/58874), [@papagian](https://github.com/papagian)
- **Quota:** Fix failure when checking session limits. [#58865](https://github.com/grafana/grafana/pull/58865), [@papagian](https://github.com/papagian)
- **Reports:** Fix time preview. (Enterprise)
- **StateTimeline:** Prevent label text from overflowing state rects. [#59169](https://github.com/grafana/grafana/pull/59169), [@leeoniya](https://github.com/leeoniya)
- **Tempo:** Fix search table duration unit. [#58642](https://github.com/grafana/grafana/pull/58642), [@joey-grafana](https://github.com/joey-grafana)
- **TraceView:** Fix broken rendering when scrolling in Dashboard panel in Firefox. [#56642](https://github.com/grafana/grafana/pull/56642), [@zdg-github](https://github.com/zdg-github)
### Plugin development fixes & changes
- **GrafanaUI:** Add disabled option for menu items. [#58980](https://github.com/grafana/grafana/pull/58980), [@going-confetti](https://github.com/going-confetti)
<!-- 9.3.0 END -->
<!-- 9.3.0-beta1 START -->
# 9.3.0-beta1 (2022-11-15)
### Features and enhancements
- **Alerting:** Add Alertmanager choice warning. [#55311](https://github.com/grafana/grafana/pull/55311), [@konrad147](https://github.com/konrad147)
- **Alerting:** Add support for linking external images securely - Azure Blob (#1). [#56598](https://github.com/grafana/grafana/pull/56598), [@petr-stupka](https://github.com/petr-stupka)
- **Alerting:** Add threshold expression. [#55102](https://github.com/grafana/grafana/pull/55102), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Add traceability headers for alert queries. [#57127](https://github.com/grafana/grafana/pull/57127), [@alexweav](https://github.com/alexweav)
- **Alerting:** Allow none provenance alert rule creation from provisioning API. [#58410](https://github.com/grafana/grafana/pull/58410), [@alexmobo](https://github.com/alexmobo)
- **Alerting:** Cache result of dashboard ID lookups. [#56587](https://github.com/grafana/grafana/pull/56587), [@alexweav](https://github.com/alexweav)
- **Alerting:** Expressions pipeline redesign. [#54601](https://github.com/grafana/grafana/pull/54601), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fall back to "range" query type for unified alerting when "both" is specified. [#57288](https://github.com/grafana/grafana/pull/57288), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Implement the Webex notifier. [#58480](https://github.com/grafana/grafana/pull/58480), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Improve group modal with validation on evaluation interval. [#57830](https://github.com/grafana/grafana/pull/57830), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Persist annotations from multidimensional rules in batches. [#56575](https://github.com/grafana/grafana/pull/56575), [@alexweav](https://github.com/alexweav)
- **Alerting:** Query time logging. [#57585](https://github.com/grafana/grafana/pull/57585), [@konrad147](https://github.com/konrad147)
- **Alerting:** Remove the alert manager selection from the data source configuration. [#57369](https://github.com/grafana/grafana/pull/57369), [@VikaCep](https://github.com/VikaCep)
- **Alerting:** Remove the alert manager selection from the data source configuration. [#56460](https://github.com/grafana/grafana/pull/56460), [@gitstart](https://github.com/gitstart)
- **Alerting:** Support values in notification templates. [#56457](https://github.com/grafana/grafana/pull/56457), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Templated URLs for webhook type contact points. [#57296](https://github.com/grafana/grafana/pull/57296), [@santihernandezc](https://github.com/santihernandezc)
- **Annotations:** Disable "Add annotation" button when annotations are disabled. [#57481](https://github.com/grafana/grafana/pull/57481), [@ryantxu](https://github.com/ryantxu)
- **Auth:** Add validation and ingestion of conflict file. [#53014](https://github.com/grafana/grafana/pull/53014), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Make built-in login configurable. [#46978](https://github.com/grafana/grafana/pull/46978), [@TsotosA](https://github.com/TsotosA)
- **Auth:** Refresh OAuth access_token automatically using the refresh_token. [#56076](https://github.com/grafana/grafana/pull/56076), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Validate Azure ID token version on login is not v1. [#58088](https://github.com/grafana/grafana/pull/58088), [@Jguer](https://github.com/Jguer)
- **BackendSrv:** Make it possible to pass `options` to `.get|post|patch...` methods. [#51316](https://github.com/grafana/grafana/pull/51316), [@leventebalogh](https://github.com/leventebalogh)
- **Canvas:** Add tabs to inline editor. [#57778](https://github.com/grafana/grafana/pull/57778), [@adela-almasan](https://github.com/adela-almasan)
- **Canvas:** Extend root context menu. [#58097](https://github.com/grafana/grafana/pull/58097), [@adela-almasan](https://github.com/adela-almasan)
- **Chore:** Switch Grafana to using faro libraries. [#58186](https://github.com/grafana/grafana/pull/58186), [@tolzhabayev](https://github.com/tolzhabayev)
- **Chore:** Use strings.ReplaceAll and preallocate containers. [#58483](https://github.com/grafana/grafana/pull/58483), [@sashamelentyev](https://github.com/sashamelentyev)
- **CloudWatch:** Cache resource request responses in the browser. [#57082](https://github.com/grafana/grafana/pull/57082), [@sunker](https://github.com/sunker)
- **Config:** Change jwt config value to be "expect_claims". [#58284](https://github.com/grafana/grafana/pull/58284), [@conorevans](https://github.com/conorevans)
- **Configuration:** Update ssl_mode documentation in sample.ini to match default.ini. [#55138](https://github.com/grafana/grafana/pull/55138), [@alecxvs](https://github.com/alecxvs)
- **Correlations:** Add query editor and target field to settings page. [#55567](https://github.com/grafana/grafana/pull/55567), [@Elfo404](https://github.com/Elfo404)
- **Dashboard:** Record the number of cached queries for usage insights. [#56050](https://github.com/grafana/grafana/pull/56050), [@juanicabanas](https://github.com/juanicabanas)
- **Dashboard:** Record the number of cached queries for usage insights. (Enterprise)
- **Datasources:** Support mixed datasources in a single query. [#56832](https://github.com/grafana/grafana/pull/56832), [@mmandrus](https://github.com/mmandrus)
- **Docs:** Add documentation for Custom Branding on Public Dashboards. [#58090](https://github.com/grafana/grafana/pull/58090), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Docs:** Add missing documentation for enterprise features. [#56753](https://github.com/grafana/grafana/pull/56753), [@mmandrus](https://github.com/mmandrus)
- **Docs:** Clarify that audit logs are generated only for API requests. [#57521](https://github.com/grafana/grafana/pull/57521), [@spinillos](https://github.com/spinillos)
- **Echo:** Add config option to prevent duplicate page views for GA4. [#57619](https://github.com/grafana/grafana/pull/57619), [@tolzhabayev](https://github.com/tolzhabayev)
- **Elasticsearch:** Add trace to logs functionality. [#58063](https://github.com/grafana/grafana/pull/58063), [@ivanahuckova](https://github.com/ivanahuckova)
- **Elasticsearch:** Reuse http client in the backend. [#55172](https://github.com/grafana/grafana/pull/55172), [@gabor](https://github.com/gabor)
- **Explore:** Add tracesToMetrics span time shift options (#54710). [#55335](https://github.com/grafana/grafana/pull/55335), [@hanjm](https://github.com/hanjm)
- **Explore:** Logs volume histogram: always start Y axis from zero. [#56200](https://github.com/grafana/grafana/pull/56200), [@gabor](https://github.com/gabor)
- **Explore:** Remove explore2Dashboard feature toggle. [#58329](https://github.com/grafana/grafana/pull/58329), [@Elfo404](https://github.com/Elfo404)
- **Explore:** Support fields interpolation in logs panel. [#58426](https://github.com/grafana/grafana/pull/58426), [@ifrost](https://github.com/ifrost)
- **Frontend Routing:** Always render standalone plugin pages using the `<AppRootPage>`. [#57771](https://github.com/grafana/grafana/pull/57771), [@leventebalogh](https://github.com/leventebalogh)
- **GRPC Server:** Add gRPC server service. [#47849](https://github.com/grafana/grafana/pull/47849), [@FZambia](https://github.com/FZambia)
- **Geomap:** Add photo layer. [#57307](https://github.com/grafana/grafana/pull/57307), [@drew08t](https://github.com/drew08t)
- **Geomap:** Upgrade to openlayers 7.x. [#57317](https://github.com/grafana/grafana/pull/57317), [@ryantxu](https://github.com/ryantxu)
- **GrafanaData:** Deprecate logs functions. [#56077](https://github.com/grafana/grafana/pull/56077), [@gabor](https://github.com/gabor)
- **GrafanaData:** Deprecate the LogsParser type. [#56242](https://github.com/grafana/grafana/pull/56242), [@gabor](https://github.com/gabor)
- **Kindsys:** Introduce Kind framework. [#56492](https://github.com/grafana/grafana/pull/56492), [@sdboyer](https://github.com/sdboyer)
- **LDAP:** Add `skip_org_role_sync` configuration option. [#56792](https://github.com/grafana/grafana/pull/56792), [@grafanabot](https://github.com/grafanabot)
- **LDAP:** Add `skip_org_role_sync` configuration option. [#56679](https://github.com/grafana/grafana/pull/56679), [@gamab](https://github.com/gamab)
- **LDAPSync:** Improve performance of sync and make it case insensitive. (Enterprise)
- **LibraryPanels:** Load library panels in the frontend rather than the backend. [#50560](https://github.com/grafana/grafana/pull/50560), [@ryantxu](https://github.com/ryantxu)
- **LogContext:** Add header and close button to modal. [#56283](https://github.com/grafana/grafana/pull/56283), [@svennergr](https://github.com/svennergr)
- **LogContext:** Improve text describing the loglines. [#55475](https://github.com/grafana/grafana/pull/55475), [@svennergr](https://github.com/svennergr)
- **Logs:** Allow collapsing the logs volume histogram. [#52808](https://github.com/grafana/grafana/pull/52808), [@gabor](https://github.com/gabor)
- **Logs:** Center `show context` modal on click. [#55989](https://github.com/grafana/grafana/pull/55989), [@svennergr](https://github.com/svennergr)
- **Logs:** Center `show context` modal on click. [#55405](https://github.com/grafana/grafana/pull/55405), [@svennergr](https://github.com/svennergr)
- **Logs:** Show LogRowMenu also for long logs and wrap-lines turned off. [#56030](https://github.com/grafana/grafana/pull/56030), [@svennergr](https://github.com/svennergr)
- **LogsContext:** Added button to load 10 more log lines. [#55923](https://github.com/grafana/grafana/pull/55923), [@svennergr](https://github.com/svennergr)
- **Loki:** Add case insensitive line contains operation. [#58177](https://github.com/grafana/grafana/pull/58177), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Monaco Query Editor enabled by default. [#58080](https://github.com/grafana/grafana/pull/58080), [@matyax](https://github.com/matyax)
- **Loki:** Redesign and improve query patterns. [#55097](https://github.com/grafana/grafana/pull/55097), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki:** Rename log browser to label browser. [#58416](https://github.com/grafana/grafana/pull/58416), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Show invalid fields in label filter. [#55751](https://github.com/grafana/grafana/pull/55751), [@ivanahuckova](https://github.com/ivanahuckova)
- **MSSQL:** Add connection timeout setting in configuration page. [#58631](https://github.com/grafana/grafana/pull/58631), [@mdvictor](https://github.com/mdvictor)
- **Navigation:** Add `pluginId` to standalone plugin page NavLinks. [#57769](https://github.com/grafana/grafana/pull/57769), [@leventebalogh](https://github.com/leventebalogh)
- **Navigation:** Expose new props to extend `Page`/`PluginPage`. [#58465](https://github.com/grafana/grafana/pull/58465), [@ashharrison90](https://github.com/ashharrison90)
- **Navtree:** Make it possible to configure standalone plugin pages. [#56393](https://github.com/grafana/grafana/pull/56393), [@leventebalogh](https://github.com/leventebalogh)
- **Node Graph:** Always show context menu. [#56876](https://github.com/grafana/grafana/pull/56876), [@joey-grafana](https://github.com/joey-grafana)
- **Number formatting:** Strip trailing zeros after decimal point when decimals=auto. [#57373](https://github.com/grafana/grafana/pull/57373), [@leeoniya](https://github.com/leeoniya)
- **OAuth:** Feature toggle for access token expiration check and docs. [#58179](https://github.com/grafana/grafana/pull/58179), [@mgyongyosi](https://github.com/mgyongyosi)
- **Opentsdb:** Allow template variables for filter keys. [#57226](https://github.com/grafana/grafana/pull/57226), [@bohandley](https://github.com/bohandley)
- **PanelEdit:** Allow test id to be passed to panel editors. [#55417](https://github.com/grafana/grafana/pull/55417), [@mckn](https://github.com/mckn)
- **Plugins:** Add hook to make it easier to track interactions in plugins. [#56126](https://github.com/grafana/grafana/pull/56126), [@mckn](https://github.com/mckn)
- **Plugins:** Introduce new Flame graph panel. [#56376](https://github.com/grafana/grafana/pull/56376), [@joey-grafana](https://github.com/joey-grafana)
- **Plugins:** Make "README" the default markdown request param. [#58264](https://github.com/grafana/grafana/pull/58264), [@wbrowne](https://github.com/wbrowne)
- **PostgreSQL:** Migrate to React. [#52831](https://github.com/grafana/grafana/pull/52831), [@zoltanbedi](https://github.com/zoltanbedi)
- **Preferences:** Create indices. [#48356](https://github.com/grafana/grafana/pull/48356), [@sakjur](https://github.com/sakjur)
- **Profiling:** Add Phlare and Parca datasources. [#57809](https://github.com/grafana/grafana/pull/57809), [@aocenas](https://github.com/aocenas)
- **Prometheus:** Handle errors and warnings in buffered client. [#58504](https://github.com/grafana/grafana/pull/58504), [@itsmylife](https://github.com/itsmylife)
- **Prometheus:** Make Prometheus streaming parser as default client. [#58365](https://github.com/grafana/grafana/pull/58365), [@itsmylife](https://github.com/itsmylife)
- **Public Dashboards:** Add audit table. [#54508](https://github.com/grafana/grafana/pull/54508), [@jalevin](https://github.com/jalevin)
- **PublicDashboards:** Add PubDash support to Angular panel plugins. [#57293](https://github.com/grafana/grafana/pull/57293), [@mmandrus](https://github.com/mmandrus)
- **PublicDashboards:** Add annotations support. [#56413](https://github.com/grafana/grafana/pull/56413), [@owensmallwood](https://github.com/owensmallwood)
- **PublicDashboards:** Add custom branding for Public Dashboard. (Enterprise)
- **PublicDashboards:** Add delete public dashboard button in public dashboard modal. [#58095](https://github.com/grafana/grafana/pull/58095), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Cached queries column added in public dashboard insight query. (Enterprise)
- **PublicDashboards:** Can toggle annotations in modal. [#57312](https://github.com/grafana/grafana/pull/57312), [@owensmallwood](https://github.com/owensmallwood)
- **PublicDashboards:** Delete public dashboard in public dashboard table. [#57766](https://github.com/grafana/grafana/pull/57766), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Delete public dashboard when dashboard is deleted. [#57291](https://github.com/grafana/grafana/pull/57291), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Extract config of Public Dashboard. [#57788](https://github.com/grafana/grafana/pull/57788), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **PublicDashboards:** Hide top navigation bar. [#56873](https://github.com/grafana/grafana/pull/56873), [@evictorero](https://github.com/evictorero)
- **PublicDashboards:** Make mixed datasource calls concurrently. [#56421](https://github.com/grafana/grafana/pull/56421), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Orphaned public dashboard item list modified. [#58014](https://github.com/grafana/grafana/pull/58014), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Rename PubdashFooter frontend component. [#58137](https://github.com/grafana/grafana/pull/58137), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **PublicDashboards:** Update docs with supported datasources. [#57629](https://github.com/grafana/grafana/pull/57629), [@owensmallwood](https://github.com/owensmallwood)
- **PublicDashboards:** Validate access token. [#57298](https://github.com/grafana/grafana/pull/57298), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **PublicDashboards:** Validate access token not to be duplicated and add retries. [#56755](https://github.com/grafana/grafana/pull/56755), [@juanicabanas](https://github.com/juanicabanas)
- **RBAC:** Improve performance of dashboard filter query. [#56813](https://github.com/grafana/grafana/pull/56813), [@kalleep](https://github.com/kalleep)
- **Rendering:** Add configuration options for `renderKey` lifetime. [#57339](https://github.com/grafana/grafana/pull/57339), [@Willena](https://github.com/Willena)
- **Reports:** Dynamic scale factor per report. (Enterprise)
- **SAML:** Set cookie option SameSite=none and Secure=true. (Enterprise)
- **SQLStore:** Optionally retry queries if sqlite returns database is locked. [#56096](https://github.com/grafana/grafana/pull/56096), [@papagian](https://github.com/papagian)
- **Server:** Make unix socket permission configurable. [#52944](https://github.com/grafana/grafana/pull/52944), [@unknowndevQwQ](https://github.com/unknowndevQwQ)
- **Tempo:** Add start time and end time parameters while querying traces. [#48068](https://github.com/grafana/grafana/pull/48068), [@bikashmishra100](https://github.com/bikashmishra100)
- **TimeSeries:** Render null-bounded points at data edges. [#57798](https://github.com/grafana/grafana/pull/57798), [@leeoniya](https://github.com/leeoniya)
- **Tracing:** Allow trace to logs for OpenSearch. [#58161](https://github.com/grafana/grafana/pull/58161), [@gabor](https://github.com/gabor)
- **Transformers:** PartitionByValues. [#56767](https://github.com/grafana/grafana/pull/56767), [@leeoniya](https://github.com/leeoniya)
- **UsageStats:** Add traces when sending usage stats. [#55474](https://github.com/grafana/grafana/pull/55474), [@sakjur](https://github.com/sakjur)
### Bug fixes
- **Alerting:** Fix mathexp.NoData in ConditionsCmd. [#56812](https://github.com/grafana/grafana/pull/56812), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **BarChart:** Fix coloring from thresholds and value mappings. [#58285](https://github.com/grafana/grafana/pull/58285), [@leeoniya](https://github.com/leeoniya)
- **BarChart:** Fix stacked hover. [#57711](https://github.com/grafana/grafana/pull/57711), [@leeoniya](https://github.com/leeoniya)
- **Explore:** Fix shared crosshair for logs, logsvolume and graph panels. [#57892](https://github.com/grafana/grafana/pull/57892), [@Elfo404](https://github.com/Elfo404)
- **Flame Graph:** Exact search. [#56769](https://github.com/grafana/grafana/pull/56769), [@joey-grafana](https://github.com/joey-grafana)
- **Flame Graph:** Fix for dashboard scrolling. [#56555](https://github.com/grafana/grafana/pull/56555), [@joey-grafana](https://github.com/joey-grafana)
- **LogContext:** Fix scroll behavior in context modal. [#56070](https://github.com/grafana/grafana/pull/56070), [@svennergr](https://github.com/svennergr)
- **Loki:** Fix showing of history of querying in query editor. [#57344](https://github.com/grafana/grafana/pull/57344), [@ivanahuckova](https://github.com/ivanahuckova)
- **OAuth:** Fix misleading warn log related to oauth and increase logged content. [#57336](https://github.com/grafana/grafana/pull/57336), [@Jguer](https://github.com/Jguer)
- **Plugins:** Plugin details page visual alignment issues. [#57729](https://github.com/grafana/grafana/issues/57729)
- **PublicDashboards:** Fix GET public dashboard that doesn't match. [#57571](https://github.com/grafana/grafana/pull/57571), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Fix annotations error for public dashboards. [#57455](https://github.com/grafana/grafana/pull/57455), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **PublicDashboards:** Fix granularity discrepancy between public and original dashboard. [#57129](https://github.com/grafana/grafana/pull/57129), [@guicaulada](https://github.com/guicaulada)
- **PublicDashboards:** Fix granularity issue caused by query caching. (Enterprise)
- **PublicDashboards:** Fix hidden queries execution. (Enterprise)
- **RBAC:** Add primary key to seed_assignment table. [#56540](https://github.com/grafana/grafana/pull/56540), [@kalleep](https://github.com/kalleep)
- **Tempo:** Fix search removing service name from query. [#58630](https://github.com/grafana/grafana/pull/58630), [@joey-grafana](https://github.com/joey-grafana)
- **TimeRangeInput:** Fix clear button type. [#56545](https://github.com/grafana/grafana/pull/56545), [@Clarity-89](https://github.com/Clarity-89)
### Breaking changes
Removes the unused close-milestone command from `@grafana/toolkit`. Issue [#57062](https://github.com/grafana/grafana/issues/57062)
@grafana/toolkit `cherrypick` command was removed. Issue [#56114](https://github.com/grafana/grafana/issues/56114)
`EmotionPerfTest` is no longer exported from the `@grafana/ui` bundle. Issue [#56100](https://github.com/grafana/grafana/issues/56100)
Removing the unused `changelog` command in `@grafana/toolkit`. Issue [#56073](https://github.com/grafana/grafana/issues/56073)
### Deprecations
The interface type `LogsParser` in `grafana-data` is deprecated. Issue [#56242](https://github.com/grafana/grafana/issues/56242)
The following functions and classes related to logs are deprecated in the `grafana-ui` package: `getLogLevel`, `getLogLevelFromKey`, `addLogLevelToSeries`, `LogsParsers`, `calculateFieldStats`, `calculateLogsLabelStats`, `calculateStats`, `getParser`, `sortInAscendingOrder`, `sortInDescendingOrder`, `sortLogsResult`, `sortLogRows`, `checkLogsError`, `escapeUnescapedString`. Issue [#56077](https://github.com/grafana/grafana/issues/56077)
### Plugin development fixes & changes
- **Toolkit:** Deprecate `plugin:update-circleci` command. [#57743](https://github.com/grafana/grafana/pull/57743), [@academo](https://github.com/academo)
- **Toolkit:** Deprecate `plugin:github-publish` command. [#57726](https://github.com/grafana/grafana/pull/57726), [@academo](https://github.com/academo)
- **Toolkit:** Deprecate `plugin:bundle-managed` command and move its functionality to a bash script. [#57719](https://github.com/grafana/grafana/pull/57719), [@academo](https://github.com/academo)
- **Toolkit:** Deprecate and replace toolkit:build with plain yarn scripts. [#57620](https://github.com/grafana/grafana/pull/57620), [@academo](https://github.com/academo)
- **Toolkit:** Deprecate node-version-check command. [#57591](https://github.com/grafana/grafana/pull/57591), [@academo](https://github.com/academo)
- **Toolkit:** Deprecate searchTestData command. [#57589](https://github.com/grafana/grafana/pull/57589), [@academo](https://github.com/academo)
- **Toolkit:** Remove unused close-milestone command. [#57062](https://github.com/grafana/grafana/pull/57062), [@academo](https://github.com/academo)
- **Toolkit:** Remove unused legacy cherrypick command. [#56114](https://github.com/grafana/grafana/pull/56114), [@academo](https://github.com/academo)
- **Grafana UI:** Clean up bundle. [#56100](https://github.com/grafana/grafana/pull/56100), [@jackw](https://github.com/jackw)
- **Toolkit:** Deprecate `component:create` command. [#56086](https://github.com/grafana/grafana/pull/56086), [@academo](https://github.com/academo)
- **Toolkit:** Remove changelog command. [#56073](https://github.com/grafana/grafana/pull/56073), [@gitstart](https://github.com/gitstart)
<!-- 9.3.0-beta1 END -->
<!-- 9.2.4 START -->
# 9.2.4 (2022-11-07)

View File

@@ -20,7 +20,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.19.3-alpine3.15 as go-builder
FROM golang:1.19.4-alpine3.17 as go-builder
RUN apk add --no-cache gcc g++ make
@@ -82,7 +82,7 @@ RUN export GF_GID_NAME=$(getent group $GF_GID | cut -d':' -f1) && \
chown -R "grafana:$GF_GID_NAME" "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
COPY --from=go-builder /grafana/bin/*/grafana-server /grafana/bin/*/grafana-cli ./bin/
COPY --from=go-builder /grafana/bin/*/grafana-server /grafana/bin/*/grafana-cli /grafana/bin/*/grafana ./bin/
COPY --from=js-builder /grafana/public ./public
COPY --from=js-builder /grafana/tools ./tools

View File

@@ -21,7 +21,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.19.3 AS go-builder
FROM golang:1.19.4 AS go-builder
WORKDIR /src/grafana
@@ -77,7 +77,7 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
COPY --from=go-builder /src/grafana/bin/*/grafana-server /src/grafana/bin/*/grafana-cli bin/
COPY --from=go-builder /src/grafana/bin/*/grafana-server /src/grafana/bin/*/grafana-cli /grafana/bin/*/grafana bin/
COPY --from=js-builder /usr/src/app/public public
COPY --from=js-builder /usr/src/app/tools tools

View File

@@ -7,7 +7,7 @@ WIRE_TAGS = "oss"
-include local/Makefile
include .bingo/Variables.mk
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue
.PHONY: all deps-go deps-js deps build-go build-backend build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue
GO = go
GO_FILES ?= ./pkg/...
@@ -82,6 +82,10 @@ build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go $(GO_BUILD_FLAGS) build
build-backend: ## Build Grafana backend.
@echo "build backend"
$(GO) run build.go $(GO_BUILD_FLAGS) build-backend
build-server: ## Build Grafana server.
@echo "build server"
$(GO) run build.go $(GO_BUILD_FLAGS) build-server

View File

@@ -1256,6 +1256,8 @@ license_path =
# enable = feature1,feature2
enable =
internationalization = true
# feature1 = true
# feature2 = false
@@ -1341,3 +1343,14 @@ index_update_interval = 10s
# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
# Format: <Page URL> = <Section ID> <Sort Weight>
[navigation.app_standalone_pages]
#################################### Secure Socks5 Datasource Proxy #####################################
[secure_socks_datasource_proxy]
enabled = false
root_ca_cert =
client_key =
client_cert =
server_name =
# The address of the socks5 proxy datasources should connect to
proxy_address =

View File

@@ -23,7 +23,7 @@ apiVersion: 1
# # evaluation - should be obtained via the API
# data:
# - refId: A
# datasourceUid: "-100"
# datasourceUid: "__expr__"
# model:
# conditions:
# - evaluator:
@@ -40,7 +40,7 @@ apiVersion: 1
# type: query
# datasource:
# type: __expr__
# uid: "-100"
# uid: "__expr__"
# expression: 1==0
# intervalMs: 1000
# maxDataPoints: 43200

View File

@@ -1269,3 +1269,13 @@
[navigation.app_standalone_pages]
# The following will move the page with the path "/a/my-app-id/starred-content" from `my-app-id` to the `starred` section
# /a/my-app-id/starred-content = starred
#################################### Secure Socks5 Datasource Proxy #####################################
[secure_socks_datasource_proxy]
; enabled = false
; root_ca_cert =
; client_key =
; client_cert =
; server_name =
# The address of the socks5 proxy datasources should connect to
; proxy_address =

View File

@@ -135,6 +135,14 @@ Some examples when backport is not required:
- The change is supposed to be released in the next major/minor release, e.g. v8.0.0, but the release branch, e.g. v8.0.x, has not yet been created.
#### Required labels
To ensure that we don't backport pull requests that don't need to be backported, i.e. implement new features, and only backport pull requests that address bugs, have a product approval, or refer to docs changes, backport labels need to be followed by either:
- `type/bug` label: Pull requests which address bugs,
- `product-approved` label: Urgent fixes which need product approval, in order to get merged,
- `type/docs` label: Docs changes`.
> **Note:** You can still backport a pull request after it's been merged.
## Doing the actual merge

View File

@@ -24,7 +24,6 @@
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 61,
"links": [
{
"asDropdown": true,
@@ -49,6 +48,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -105,7 +106,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -157,6 +159,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -214,7 +218,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -274,6 +279,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -331,7 +338,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -410,6 +418,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -466,7 +476,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -518,6 +529,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -575,7 +588,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -635,6 +649,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -692,7 +708,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -771,6 +788,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -859,7 +878,8 @@
"calcs": [],
"displayMode": "list",
"isVisible": true,
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -914,6 +934,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1002,7 +1024,8 @@
"calcs": [],
"displayMode": "list",
"isVisible": true,
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -1058,6 +1081,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1113,7 +1138,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -1163,6 +1189,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1220,7 +1248,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -1248,6 +1277,8 @@
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1305,7 +1336,8 @@
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
@@ -1325,9 +1357,549 @@
],
"title": "Always show points between gaps",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 11,
"w": 24,
"x": 0,
"y": 30
},
"id": 18,
"maxDataPoints": 150,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "100,52,82,50,93,117,97,139,172,152,177,213,237,248,249,275,272,295,339,317,274,272,225,240,214,179,170,161,117,99,79,100,107,147,195,153,144,143,117,76,88,43,65,114,155,170,187,236,214,245,255,260,262,264,268,287,297,310,332,339,303,316,317,330,323,352,383,367,334,306,289,311,269,319,313,350,374,346,391,348,386,352,328,303,298,305,346,323,313,296,274,252,301,337,357,360,383,384,339,332,346,394,428,463,461,476,478,491,522,487,536,547,593,595,614,632,588,594,584,566,529,541,586,621,618,635,682,684,693,648,658,659,628,618,662,638,652,665,673,651,653,675,685,709,749,721,707,750,712,724,734,753,716,694,732,741,694,702,732,746,748,700,707,690,668,659,646,677,688,701,670,625,628,611,587,570,589,621,598,604"
}
],
"title": "Low density (wide)",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 12,
"x": 0,
"y": 41
},
"id": 20,
"maxDataPoints": 150,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "100,52,82,50,93,117,97,139,172,152,177,213,237,248,249,275,272,295,339,317,274,272,225,240,214,179,170,161,117,99,79,100,107,147,195,153,144,143,117,76,88,43,65,114,155,170,187,236,214,245,255,260,262,264,268,287,297,310,332,339,303,316,317,330,323,352,383,367,334,306,289,311,269,319,313,350,374,346,391,348,386,352,328,303,298,305,346,323,313,296,274,252,301,337,357,360,383,384,339,332,346,394,428,463,461,476,478,491,522,487,536,547,593,595,614,632,588,594,584,566,529,541,586,621,618,635,682,684,693,648,658,659,628,618,662,638,652,665,673,651,653,675,685,709,749,721,707,750,712,724,734,753,716,694,732,741,694,702,732,746,748,700,707,690,668,659,646,677,688,701,670,625,628,611,587,570,589,621,598,604"
}
],
"title": "Higher density (narrow)",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 12,
"x": 12,
"y": 41
},
"id": 22,
"maxDataPoints": 150,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "100,52,82,50,93,117,97,139,172,152,177,213,237,248,249,275,272,295,339,317,274,272,225,240,214,179,170,161,117,99,79,100,107,147,195,153,144,143,117,76,88,43,65,114,155,170,187,236,214,245,255,260,262,264,268,287,297,310,332,339,303,316,317,330,323,352,383,367,334,306,289,311,269,,,350,,,391,348,386,352,328,303,298,,346,,313,,274,252,301,337,357,360,383,384,339,332,346,394,428,463,461,476,478,491,522,487,536,547,593,595,614,632,588,594,584,566,529,541,586,621,618,635,682,684,693,648,658,659,628,618,,,652,665,673,,,675,,,749,721,707,750,712,724,734,753,716,694,732,741,694,702,732,746,748,700,707,690,668,659,646,677,688,701,670,625,628,611,587,570,589,621,598,604"
}
],
"title": "Higher density (with gap-point-gap)",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 0,
"y": 51
},
"id": 24,
"maxDataPoints": 150,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
}
],
"title": "Higher density (mostly nulls)",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 8,
"y": 51
},
"id": 26,
"maxDataPoints": 150,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
}
],
"title": "Higher density (mostly nulls, one point)",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 16,
"y": 51
},
"id": 28,
"maxDataPoints": 150,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8"
}
],
"title": "Higher density (mostly nulls, no leading/trailing)",
"type": "timeseries"
}
],
"schemaVersion": 36,
"schemaVersion": 37,
"style": "dark",
"tags": [
"gdev",

View File

@@ -1,7 +1,7 @@
.PHONY: pull docs docs-quick docs-no-pull docs-test docs-local-static
IMAGE = grafana/grafana-docs-dev:latest
CONTENT_PATH = /hugo/content/docs/grafana/next
IMAGE = grafana/docs-base:latest
CONTENT_PATH = /hugo/content/docs/grafana/latest
LOCAL_STATIC_PATH = ../../website/static
PORT = 3002:3002
@@ -10,10 +10,7 @@ pull:
docs: pull
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server"
docs-quick: pull
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server-quick"
docs-no-pull:
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server"

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/
- /docs/grafana/latest/guides/reference/admin/
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
description: Guides, Installation and Feature Documentation
keywords:
- grafana
@@ -71,8 +70,8 @@ title: Grafana documentation
<h4>Provisioning</h4>
<p>Learn how to automate your Grafana configuration.</p>
</a>
<a href="{{< relref "whatsnew/whats-new-in-v9-2/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v9.2</h4>
<a href="{{< relref "whatsnew/whats-new-in-v9-3/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v9.3</h4>
<p>Explore the features and enhancements in the latest release.</p>
</a>

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/administration/
description: Administration
title: Administration
weight: 40
@@ -11,3 +9,5 @@ weight: 40
This section includes information for Grafana administrators, team administrators, and users performing administrative tasks:
{{< section >}}
For information about authorization and authentication for your Grafana Cloud Stack and Grafana Cloud Portal, refer to [Grafana Cloud Access Policies](/docs/grafana-cloud/authentication-and-permissions/access-policies/).

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/administration/api-keys/about-api-keys/
- /docs/grafana/latest/administration/api-keys/
- /docs/grafana/latest/administration/api-keys/create-api-key/
- about-api-keys/
- create-api-key/
description: This section contains information about API keys in Grafana
keywords:
- API keys
@@ -48,7 +47,7 @@ This topic shows you how to create an API key using the Grafana UI. You can also
## Migrate API Keys to Grafana service accounts
You can migrate one or all API keys to [Grafana service accounts]({{< relref "../service-accounts/" >}}). When you migrate an API key to a service account, a service account will be created with a service account token.
The API key will continue to work, and you can find it in the [Grafana service account tokens]({{< relref "../service-accounts/#service-account-benefits/#service-account-tokens" >}}) details.
The API key will continue to work, and you can find it in the [Grafana service account tokens]({{< relref "../service-accounts/#service-account-tokens" >}}) details.
For more information about benefits of service accounts, refer to [Grafana service account benefits]({{< relref "../service-accounts/#service-account-benefits" >}}).
You can choose to migrate a single API key or all API keys. Note that when you migrate all API keys, you can't create new API keys anymore and will have to use service accounts instead.

View File

@@ -1,14 +1,13 @@
---
aliases:
- /docs/grafana/latest/datasources/add-a-data-source/
- /docs/grafana/latest/datasources/datasource_permissions/
- /docs/grafana/latest/features/datasources/add-a-data-source/
- /docs/grafana/latest/enterprise/datasource_permissions/
- /docs/grafana/latest/permissions/datasource_permissions/
- /docs/grafana/latest/administration/data-source-management/
- /docs/grafana/latest/enterprise/query-caching/
title: Data source management
- ../datasources/add-a-data-source/
- ../datasources/datasource_permissions/
- ../enterprise/datasource_permissions/
- ../enterprise/query-caching/
- ../features/datasources/add-a-data-source/
- ../permissions/datasource_permissions/
description: Data source management information for Grafana administrators
title: Data source management
weight: 100
---
@@ -27,9 +26,6 @@ Before you can create your first dashboard, you need to add your data source.
**To add a data source:**
1. Select the cog icon on the side menu to show the configuration options.
{{< figure src="/static/img/docs/v75/sidemenu-datasource-7-5.png" max-width="150px" class="docs-image--no-shadow">}}
1. Select **Data sources**.
This opens the data sources page, which displays a list of previously configured data sources for the Grafana instance.
@@ -44,9 +40,7 @@ Before you can create your first dashboard, you need to add your data source.
1. Move the cursor over the data source you want to add.
{{< figure src="/static/img/docs/v75/select-data-source-7-5.png" max-width="700px" class="docs-image--no-shadow">}}
1. Select **Select**.
1. Click **Select**.
This opens the data source configuration page.
@@ -63,8 +57,6 @@ Each data source's configuration includes a permissions page where you can enabl
### Enable data source permissions
{{< figure src="/static/img/docs/enterprise/datasource_permissions_enable_still.png" class="docs-image--no-shadow docs-image--right" max-width= "600px" animated-gif="/static/img/docs/enterprise/datasource_permissions_enable.gif" >}}
By default, data sources in an organization can be queried by any user in that organization. For example, a user with the `Viewer` role can issue any possible query to a data source, not just
queries that exist on dashboards they have access to.
@@ -82,8 +74,6 @@ When permissions are enabled for a data source in an organization, the user who
### Allow users and teams to query a data source
{{< figure src="/static/img/docs/enterprise/datasource_permissions_add_still.png" class="docs-image--no-shadow docs-image--right" max-width= "600px" animated-gif="/static/img/docs/enterprise/datasource_permissions_add.gif" >}}
After you have enabled permissions for a data source you can assign query permissions to users and teams which will allow access to query the data source.
**Assign query permission to users and teams:**
@@ -98,8 +88,6 @@ After you have enabled permissions for a data source you can assign query permis
### Disable data source permissions
{{< figure src="/static/img/docs/enterprise/datasource_permissions_disable_still.png" class="docs-image--no-shadow docs-image--right" max-width= "600px" animated-gif="/static/img/docs/enterprise/datasource_permissions_disable.gif" >}}
If you have enabled permissions for a data source and want to return data source permissions to the default, then you can disable permissions with a click of a button.
Note that _all_ existing permissions created for the data source will be deleted.
@@ -138,7 +126,7 @@ You can make a panel retrieve fresh data more frequently by increasing the **Max
### Data sources that work with query caching
Query caching works for all [Enterprise data sources](https://grafana.com/grafana/plugins/?type=datasource&enterprise=1) as well as the following [built-in data sources]({{< relref "../../datasources/" >}}):
Query caching works for all [Enterprise data sources](/grafana/plugins/?type=datasource&enterprise=1) as well as the following [built-in data sources]({{< relref "../../datasources/" >}}):
- CloudWatch Metrics
- Google Cloud Monitoring
@@ -206,7 +194,7 @@ To view available data source plugins, go to the [plugin catalog](/grafana/plugi
For details about the plugin catalog, refer to [Plugin management]({{< relref "../../administration/plugin-management/" >}}).
You can further filter the plugin catalog's results for data sources provided by the Grafana community, Grafana Labs, and partners.
If you use [Grafana Enterprise]{{< relref "../../enterprise/" >}}, you can also filter by Enterprise-supported plugins.
If you use [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}), you can also filter by Enterprise-supported plugins.
For more documentation on a specific data source plugin's features, including its query language and editor, refer to its plugin catalog page.

View File

@@ -1,20 +1,19 @@
---
aliases:
- /docs/grafana/latest/enterprise/license/
- /docs/grafana/latest/enterprise/activate-license/
- /docs/grafana/latest/enterprise/license/activate-license/
- /docs/grafana/latest/enterprise/license-expiration/
- /docs/grafana/latest/enterprise/license/license-expiration/
- /docs/grafana/latest/enterprise/license-restrictions/
- /docs/grafana/latest/enterprise/license/license-restrictions/
- /docs/grafana/latest/administration/enterprise-licensing/
- /docs/grafana/latest/administration/enterprise-licensing/license-restrictions/
- ../enterprise/activate-license/
- ../enterprise/license-expiration/
- ../enterprise/license-restrictions/
- ../enterprise/license/
- ../enterprise/license/activate-license/
- ../enterprise/license/license-expiration/
- ../enterprise/license/license-restrictions/
- license-restrictions/
description: Activate and manage a Grafana Enterprise license
keywords:
- grafana
- licensing
- enterprise
title: Enterprise licensing
title: Grafana Enterprise license
weight: 500
---
@@ -22,7 +21,7 @@ weight: 500
When you become a Grafana Enterprise customer, you gain access to Grafana's premium observability features, including enterprise data source plugins, reporting, and role-based access control. In order to use these [enhanced features of Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise" >}}), you must purchase and activate a Grafana Enterprise license.
To purchase a license directly from Grafana Labs, [Contact a Grafana Labs representative](https://grafana.com/contact?about=grafana-enterprise). To activate an Enterprise license purchased from Grafana Labs, refer to [Activate an Enterprise license]({{< ref "#activate-an-enterprise-license" >}}).
To purchase a license directly from Grafana Labs, [Contact a Grafana Labs representative](/contact?about=grafana-enterprise). To activate an Enterprise license purchased from Grafana Labs, refer to [Activate an Enterprise license]({{< relref "#activate-an-enterprise-license" >}}).
You can also purchase a Grafana Enterprise license through the AWS Marketplace. To learn more about activating a license purchased through AWS, refer to [Activate a Grafana Enterprise license purchased through AWS Marketplace]({{< relref "./activate-aws-marketplace-license/" >}}).
@@ -36,7 +35,7 @@ Follow these steps to activate your Grafana Enterprise license:
To download your Grafana Enterprise license:
1. Sign in to your [Grafana Cloud](https://grafana.com) account.
1. Sign in to your [Grafana Cloud](/) account.
1. Go to **My Account** and select an organization from the drop-down menu at the top left of the page. On the Overview page for each organization, you can see a section for Grafana Enterprise licenses. Click **Details** next to a license.
1. At the bottom of the license details page, select **Download token** to download the `license.jwt` file that contains your license.
@@ -81,9 +80,9 @@ environment variable.
### Step 3. Ensure that the license file's root URL matches the root_url configuration option
Update the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root-url" >}}) in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).
Update the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root_url" >}}) in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).
This is important, because as part of the validation checks at startup, Grafana compares the license URL to the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root-url" >}}) in your configuration.
This is important, because as part of the validation checks at startup, Grafana compares the license URL to the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root_url" >}}) in your configuration.
In your configuration file:
@@ -119,7 +118,7 @@ If your license has expired, most of Grafana keeps working as normal. Some enter
The configuration file's location may also be overridden by the `GF_ENTERPRISE_LICENSE_PATH` environment variable.
2. Log in to your [Grafana Cloud Account](https://grafana.com/login) and make sure you're in the correct organization in the dropdown at the top of the page.
2. Log in to your [Grafana Cloud Account](/login) and make sure you're in the correct organization in the dropdown at the top of the page.
3. Under the **Grafana Enterprise** section in the menu bar to the left, choose licenses and download the currently valid license with which you want to run Grafana. If you cannot see a valid license on Grafana.com, please contact your account manager at Grafana Labs to renew your subscription.
4. Replace the current `license.jwt`-file with the one you've just downloaded.
5. [Restart Grafana]({{< relref "../../setup-grafana/restart-grafana/" >}}).
@@ -222,7 +221,7 @@ Your license is controlled by the following rules:
**License expiration date:** The license includes an expiration date, which is the date when a license becomes inactive.
As the license expiration date approaches, you will see a banner in Grafana that encourages you to renew. To learn about how to renew your license and what happens in Grafana when a license expires, refer to [License expiration]({{< ref "#license-expiration" >}}).
As the license expiration date approaches, you will see a banner in Grafana that encourages you to renew. To learn about how to renew your license and what happens in Grafana when a license expires, refer to [License expiration]({{< relref "#license-expiration" >}}).
**Grafana License URL:** Your license does not work with an instance of Grafana with a different root URL.
@@ -242,6 +241,6 @@ Usage billing involves a contractual agreement between you and Grafana Labs, and
### Request a change to your license
To increase the number of licensed users within Grafana, extend a license, or change your licensed URL, contact [Grafana support](https://grafana.com/profile/org#support) or your Grafana Labs account team. They will update your license, which you can activate from within Grafana.
To increase the number of licensed users within Grafana, extend a license, or change your licensed URL, contact [Grafana support](/profile/org#support) or your Grafana Labs account team. They will update your license, which you can activate from within Grafana.
For instructions about how to activate your license after it is updated, refer to [Activate an Enterprise license]({{< ref "#activate-an-enterprise-license" >}}).
For instructions about how to activate your license after it is updated, refer to [Activate an Enterprise license]({{< relref "#activate-an-enterprise-license" >}}).

View File

@@ -1,17 +1,17 @@
---
aliases:
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/
- /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/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/
description: Activate your Grafana Enterprise license purchased in AWS Marketplace to take advantage of Grafana Enterprise observability features
- ../../enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/
- ../../enterprise/license/activate-aws-marketplace-license/
- ../../enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/
description: Activate your Grafana Enterprise license purchased in AWS Marketplace
to take advantage of Grafana Enterprise observability features
keywords:
- grafana
- aws
- marketplace
- enterprise
- license
title: Enterprise licenses through AWS Marketplace
title: Activate a Grafana Enterprise license purchased through AWS Marketplace
weight: 400
---
@@ -28,7 +28,7 @@ You can deploy Grafana Enterprise in the following ways:
In each case, you must activate the Grafana Enterprise license purchased in AWS Marketplace to take advantage of Grafana Enterprise observability features. Grafana Enterprise licenses purchased through AWS Marketplace are subject to the same [restrictions]({{< relref "../#license-restrictions" >}}) as Grafana Enterprise licensed purchased directly from Grafana Labs.
> To purchase a license directly from Grafana Labs or learn more about other Grafana offerings, [Contact a Grafana Labs representative](https://grafana.com/contact?about=grafana-enterprise).
> To purchase a license directly from Grafana Labs or learn more about other Grafana offerings, [Contact a Grafana Labs representative](/contact?about=grafana-enterprise).
## Before you begin

View File

@@ -1,8 +1,7 @@
---
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/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-ecs/
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-ecs/
- ../../../enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs/
description: Activate a Grafana Enterprise license from AWS Marketplace on ECS
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
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/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-eks/
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-eks/
- ../../../enterprise/license/activate-aws-marketplace-license/activate-license-on-eks/
description: Activate a Grafana Enterprise license from AWS Marketplace on EKS
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
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/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
- ../../../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:

View File

@@ -1,8 +1,7 @@
---
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/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
- ../../../enterprise/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
- ../../../enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
description: Manage your Grafana Enterprise license in AWS Marketplace
keywords:
- grafana
@@ -39,4 +38,4 @@ You can use AWS Marketplace to make the following modifications to your Grafana
This action retrieves updated license information from AWS.
> To learn more about licensing and active users, refer to [Understanding Grafana Enterprise licensing]({{< relref "../#license-restrictions" >}}).
> To learn more about licensing and active users, refer to [Activate a Grafana Enterprise license purchased through AWS Marketplace]({{< relref "../" >}}).

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/transfer-ge-license/
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/transfer-ge-license/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/transfer-ge-license/
- ../../../enterprise/activate-aws-marketplace-license/transfer-ge-license/
- ../../../enterprise/license/activate-aws-marketplace-license/transfer-ge-license/
description: Transfer your AWS Marketplace Grafana Enterprise license
keywords:
- grafana

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/administration/manage-organizations/
- /docs/grafana/latest/manage-users/server-admin/
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-orgs/
- /docs/grafana/latest/administration/organization-management/
- ../manage-users/server-admin/
- ../manage-users/server-admin/server-admin-manage-orgs/
- manage-organizations/
description: Describes how to use organizations to isolate dashboard to users and
teams.
keywords:
@@ -60,8 +59,6 @@ Complete this task when you want to view a list of existing organizations.
A list of organizations appears.
![Server Admin organization list](/static/img/docs/manage-users/server-org-list-7-3.png)
## Create an organization
Create an organization when you want to isolate dashboards and other resources from each other.
@@ -117,5 +114,3 @@ Edit an organization when you want to change its name.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click the organization you want to edit.
1. Update the organization name and click **Update**.
![Server admin Edit Organization](/static/img/docs/manage-users/server-admin-edit-org-7-3.png)

View File

@@ -1,12 +1,11 @@
---
aliases:
- /docs/grafana/latest/administration/preferences/
- /docs/grafana/latest/administration/preferences/change-grafana-name/
- /docs/grafana/latest/administration/preferences/change-grafana-theme/
- /docs/grafana/latest/administration/preferences/change-grafana-timezone/
- /docs/grafana/latest/administration/change-home-dashboard/
- /docs/grafana/latest/administration/preferences/change-home-dashboard/
- /docs/grafana/latest/administration/organization-preferences/
- change-home-dashboard/
- preferences/
- preferences/change-grafana-name/
- preferences/change-grafana-theme/
- preferences/change-grafana-timezone/
- preferences/change-home-dashboard/
title: Organization preferences
weight: 500
---
@@ -101,7 +100,7 @@ Here is an example of the light theme.
### Change server UI theme
Grafana server administrators can change the Grafana UI theme for all users on the server by setting the [default_theme]({{< relref "../../setup-grafana/configure-grafana/#default-theme" >}}) option in the Grafana configuration file.
As a Grafana server administrator, you can change the default Grafana UI theme for all users who are on the server by setting the [default_theme]({{< relref "../../setup-grafana/configure-grafana/#default_theme" >}}) option in the Grafana configuration file.
To see what the current settings are, refer to [View server settings]({{< relref "../stats-and-license#view-server-settings" >}}).
@@ -111,17 +110,18 @@ Organization administrators can change the UI theme for all users in an organiza
1. Hover your cursor over the **Configuration** (gear) icon.
1. Click **Preferences**.
1. In the Preferences section, select the **UI theme**.
1. In the **Preferences** section, select the **UI theme**.
1. Click **Save**.
### Change team UI theme
Organization and team administrators can change the UI theme for all users in a team.
Organization and team administrators can change the UI theme for all users on a team.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Teams**. Grafana displays the team list.
1. Click on the team that you want to change the UI theme for and then navigate to the **Settings** tab.
1. In the Preferences section, select the **UI theme**.
1. Click the team for which you want to change the UI theme.
1. Click **Settings**.
1. In the **Preferences** section, select the **UI theme**.
1. Click **Save**.
### Change your personal UI theme
@@ -129,7 +129,7 @@ Organization and team administrators can change the UI theme for all users in a
You can change the UI theme for your user account. This setting overrides UI theme settings at higher levels.
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
1. In the Preferences section, select the **UI theme**.
1. In the **Preferences** section, select the **UI theme**.
1. Click **Save**.
## Change the Grafana default timezone
@@ -140,7 +140,7 @@ Some tasks require certain permissions. For more information about roles, refer
### Set server timezone
Grafana server administrators can choose a default timezone for all users on the server by setting the [default_timezone]({{< relref "../../setup-grafana/configure-grafana/#default-timezone" >}}) option in the Grafana configuration file.
Grafana server administrators can choose a default timezone for all users on the server by setting the [default_timezone]({{< relref "../../setup-grafana/configure-grafana/#default_timezone" >}}) option in the Grafana configuration file.
### Set organization timezone
@@ -148,17 +148,18 @@ Organization administrators can choose a default timezone for their organization
1. Hover your cursor over the **Configuration** (gear) icon.
1. Click **Preferences**.
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level. Refer to [Time range controls]({{< relref "../../dashboards/manage-dashboards/#configure-dashboard-time-range-controls" >}}) for more information about Grafana time settings.
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level.
1. Click **Save**.
### Set team timezone
Organization administrators and team administrators can choose a default timezone for all users in a team.
Organization administrators and team administrators can choose a default timezone for all users on a team.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Teams**. Grafana displays the team list.
1. Click on the team you that you want to change the timezone for and then navigate to the **Settings** tab.
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level. Refer to [[Time range controls]({{< relref "../../dashboards/manage-dashboards/#configure-dashboard-time-range-controls" >}}) for more information about Grafana time settings.
1. Click the team for which you want to change the timezone.
1. Click **Settings**
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level.
1. Click **Save**.
### Set your personal timezone
@@ -166,7 +167,7 @@ Organization administrators and team administrators can choose a default timezon
You can change the timezone for your user account. This setting overrides timezone settings at higher levels.
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level. Refer to [Time range controls]({{< relref "../../dashboards/manage-dashboards/#configure-dashboard-time-range-controls" >}}) for more information about Grafana time settings.
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level.
1. Click **Save**.
## Change the default home dashboard
@@ -207,7 +208,7 @@ default_home_dashboard_path = data/main-dashboard.json
### Set the home dashboard for your organization
Organization administrators can choose a home dashboard for their organization.
Organization administrators can choose a default home dashboard for their organization.
1. Navigate to the dashboard you want to set as the home dashboard.
1. Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.
@@ -218,13 +219,14 @@ Organization administrators can choose a home dashboard for their organization.
### Set home dashboard for your team
Organization administrators and Team Admins can choose a home dashboard for a team.
Organization administrators and Team Admins can set a default home dashboard for all users on a team.
1. Navigate to the dashboard you want to set as the home dashboard.
1. Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Teams**. Grafana displays the team list.
1. Click on the team that you want to change the home dashboard for and then navigate to the **Settings** tab.
1. Click the team for which you want to change the home dashboard.
1. Click **Settings**.
1. In the **Home Dashboard** field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.
1. Click **Save**.
@@ -237,3 +239,37 @@ You can choose your own personal home dashboard. This setting overrides all home
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
1. In the **Home Dashboard** field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.
1. Click **Save**.
## Change Grafana language
### Change server language
Grafana server administrators can change the default Grafana UI language for all users on the server by setting the [default_language]({{< relref "../../setup-grafana/configure-grafana/#default_language" >}}) option in the Grafana configuration file.
### Change organization language
Organization administrators can change the language for all users in an organization.
1. Hover your cursor over the **Configuration** (gear) icon.
1. Click **Preferences**.
1. In the **Preferences** section, select the **Language**.
1. Click **Save**.
### Change team language
Organization and team administrators can set a default language for all users on a team.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Teams**. Grafana displays the team list.
1. Click the team for which you want to change the language.
1. Click **Settings**
1. In the **Preferences** section, select the **Language**.
1. Click **Save**.
### Change your personal language
You can change the language for your user account. This setting overrides language settings at higher levels.
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
1. In the **Preferences** section, select the **language**.
1. Click **Save**.

View File

@@ -1,11 +1,10 @@
---
aliases:
- /docs/grafana/latest/plugins/
- /docs/grafana/latest/plugins/catalog/
- /docs/grafana/latest/plugins/installation/
- /docs/grafana/latest/plugins/plugin-signature-verification/
- /docs/grafana/latest/plugins/plugin-signatures/
- /docs/grafana/latest/administration/plugin-management/
- ../plugins/
- ../plugins/catalog/
- ../plugins/installation/
- ../plugins/plugin-signature-verification/
- ../plugins/plugin-signatures/
title: Plugin management
weight: 600
---
@@ -14,13 +13,13 @@ weight: 600
Besides the wide range of visualizations and data sources that are available immediately after you install Grafana, you can extend your Grafana experience with _plugins_.
You can [install]({{< ref "#install-a-plugin" >}}) one of the plugins built by the Grafana community, or [build one yourself]({{< relref "../../developers/plugins/" >}}).
You can [install]({{< relref "#install-a-plugin" >}}) one of the plugins built by the Grafana community, or [build one yourself]({{< relref "../../developers/plugins/" >}}).
Grafana supports three types of plugins: [panels](https://grafana.com/grafana/plugins?type=panel), [data sources](https://grafana.com/grafana/plugins?type=datasource), and [apps](https://grafana.com/grafana/plugins?type=app).
Grafana supports three types of plugins: [panels](/grafana/plugins?type=panel), [data sources](/plugins?type=datasource), and [apps](/grafana/plugins?type=app).
## Panel plugins
Add new visualizations to your dashboard with panel plugins, such as the [Worldmap Panel](https://grafana.com/grafana/plugins/grafana-worldmap-panel), [Clock](https://grafana.com/grafana/plugins/grafana-clock-panel), and [Pie Chart](https://grafana.com/grafana/plugins/grafana-piechart-panel).
Add new visualizations to your dashboard with panel plugins, such as the [Worldmap Panel](/grafana/plugins/grafana-worldmap-panel), [Clock](/grafana/plugins/grafana-clock-panel), and [Pie Chart](/grafana/plugins/grafana-piechart-panel).
Use panel plugins when you want to:
@@ -30,7 +29,7 @@ Use panel plugins when you want to:
## Data source plugins
Data source plugins add support for new databases, such as [Google BigQuery](https://grafana.com/grafana/plugins/doitintl-bigquery-datasource).
Data source plugins add support for new databases, such as [Google BigQuery](/grafana/plugins/doitintl-bigquery-datasource).
Data source plugins communicate with external sources of data and return the data in a format that Grafana understands. By adding a data source plugin, you can immediately use the data in any of your existing dashboards.
@@ -38,7 +37,7 @@ Use data source plugins when you want to import data from external systems.
## App plugins
Applications, or _app plugins_, bundle data sources and panels to provide a cohesive experience, such as the [Zabbix](https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app) app.
Applications, or _app plugins_, bundle data sources and panels to provide a cohesive experience, such as the [Zabbix](/grafana/plugins/alexanderzobnin-zabbix-app) app.
Apps can also add custom pages for things like control panels.
@@ -88,8 +87,6 @@ To browse for available plugins:
1. Click the **All** filter to browse all available plugins.
1. Click the **Data sources**, **Panels**, or **Applications** buttons to filter by plugin type.
![Plugin catalog browse](/static/img/docs/plugins/plugins-catalog-browse-9.2.png)
### Install a plugin
To install a plugin:
@@ -101,8 +98,6 @@ To install a plugin:
When the update is complete, you see a confirmation message that the installation was successful.
![Plugin catalog install](/static/img/docs/plugins/plugins-catalog-install-8-1.png)
### Update a plugin
To update a plugin:
@@ -113,8 +108,6 @@ To update a plugin:
When the update is complete, you see a confirmation message that the update was successful.
![Plugin catalog update](/static/img/docs/plugins/plugins-catalog-update-8-1.png)
### Uninstall a plugin
To uninstall a plugin:
@@ -125,13 +118,11 @@ To uninstall a plugin:
When the update is complete, you see a confirmation message that the uninstall was successful.
![Plugin catalog uninstall](/static/img/docs/plugins/plugins-catalog-uninstall-8-1.png)
## Install Grafana plugins
Grafana supports data source, panel, and app plugins. Having panels as plugins makes it easy to create and add any kind of panel, to show your data, or improve your favorite dashboards. Apps enable the bundling of data sources, panels, dashboards, and Grafana pages into a cohesive experience.
1. In a web browser, navigate to the official [Grafana Plugins page](https://grafana.com/plugins) and find a plugin that you want to install.
1. In a web browser, navigate to the official [Grafana Plugins page](/plugins) and find a plugin that you want to install.
1. Click the plugin, and then click the **Installation** tab.
### Install plugin on Grafana Cloud
@@ -148,7 +139,7 @@ Follow the instructions on the Install tab. You can either install the plugin wi
For more information about Grafana CLI plugin commands, refer to [Plugin commands]({{< relref "../../cli/#plugins-commands" >}}).
As of Grafana v8.0, a plugin catalog app was introduced in order to make managing plugins easier. For more information, refer to [Plugin catalog]({{< ref "#plugin-catalog" >}}).
As of Grafana v8.0, a plugin catalog app was introduced in order to make managing plugins easier. For more information, refer to [Plugin catalog]({{< relref "#plugin-catalog" >}}).
#### Install a packaged plugin
@@ -208,4 +199,4 @@ WARN[06-01|16:45:59] Running an unsigned plugin pluginID=<plugin id>
## Learn more
- Browse the available [Plugins](https://grafana.com/grafana/plugins)
- Browse the available [Plugins](/grafana/plugins)

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/administration/provisioning/
- /docs/grafana/latest/installation/provisioning/
- ../installation/provisioning/
description: Describes provisioning settings for Grafana using configuration files.
keywords:
- grafana
@@ -392,11 +391,11 @@ providers:
## Alerting
For information on provisioning Grafana Alerting, refer to [Provision Grafana Alerting resources](https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/).
For information on provisioning Grafana Alerting, refer to [Provision Grafana Alerting resources]({{< relref "../../alerting/set-up/provision-alerting-resources/" >}}).
## Alert Notification Channels
> **Note:** Alert Notification Channels are part of legacy alerting, which is deprecated and will be removed in Grafana 10. Use the Provision contact points section in [Create and manage alerting resources using file provisioning](https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/file-provisioning/).
> **Note:** Alert Notification Channels are part of legacy alerting, which is deprecated and will be removed in Grafana 10. Use the Provision contact points section in [Create and manage alerting resources using file provisioning]({{< relref "../../alerting/set-up/provision-alerting-resources/file-provisioning" >}}).
Alert Notification Channels can be provisioned by adding one or more YAML config files in the [`provisioning/notifiers`](/administration/configuration/#provisioning) directory.
@@ -643,6 +642,7 @@ The following sections detail the supported settings and secure settings for eac
## Grafana Enterprise
Grafana Enterprise supports provisioning for the following resources:
Grafana Enterprise supports:
- [Role-based access control provisioning]({{< relref "../roles-and-permissions/access-control/rbac-provisioning/" >}})
- [Provisioning role-based access control with Grafana]({{< relref "../roles-and-permissions/access-control/rbac-grafana-provisioning/" >}})
- [Provisioning role-based access control with Terraform]({{< relref "../roles-and-permissions/access-control/rbac-terraform-provisioning/" >}})

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/enterprise/recorded-queries/
- /docs/grafana/latest/administration/recorded-queries/
- ../enterprise/recorded-queries/
description: Grafana Enterprise recorded queries
keywords:
- grafana
@@ -24,11 +23,11 @@ For our plugins that do not return time series, it might be useful to plot histo
> **Note:** An administrator must configure a Prometheus data source and associate it with a [Remote write target](#remote-write-target) before recorded queries can be used.
Recorded queries only work with backend data source plugins. Refer to [Backend data source plugin](https://grafana.com/tutorials/build-a-data-source-backend-plugin/) for more information about backend data source plugins. You can recorded three types of queries:
Recorded queries only work with backend data source plugins. Refer to [Backend data source plugin](/tutorials/build-a-data-source-backend-plugin/) for more information about backend data source plugins. You can recorded three types of queries:
- single row and column - A query that returns a single row and column.
- row count - A query that returns meaningful rows to be counted.
- expression - Any expression. To learn more about creating and using expressions, see [Expressions](https://grafana.com/docs/grafana/latest/panels/expressions/).
- expression - Any expression. To learn more about creating and using expressions, see [Write expression queries]({{< relref "../../panels-visualizations/query-transform-data/expression-queries" >}}).
After a recorded query is created or enabled, it immediately creates a snapshot and continues to create snapshots at the set interval. The recorded query stops taking snapshots when it is disabled, deleted, or when Grafana is not running. Data points are gathered in the backend by running the recorded query and forwarding each result to a remote-write enabled Prometheus instance.
@@ -40,7 +39,7 @@ To use a recorded query, create one and add it to a dashboard. After that, it ca
1. Find/create a query you want to record on a dashboard in an edit panel. The query must only return one row and column. If it returns more, you can still record the number of results returned using the “count” option.
- The query's data source must be a backend data source.
- Expressions can be used to aggregate data from a time series query. Refer to [Expressions](https://grafana.com/docs/grafana/latest/panels/expressions/) to learn more about creating and using expressions.
- Expressions can be used to aggregate data from a time series query. Refer to [Write expression queries]({{< relref "../../panels-visualizations/query-transform-data/expression-queries" >}}) to learn more about creating and using expressions.
1. Click the record query button located in the top right of the query editor.
1. Enter recorded query information. All fields are required unless otherwise indicated.
- Name - Name of the recorded query.
@@ -60,7 +59,7 @@ You can add existing recorded queries to panels in a dashboard. For each recorde
1. If you want to filter recorded queries by data source, select a data source from the filter by data source drop down menu.
1. Click the `Add` button on your recorded query to add it to the panel.
After adding your recorded query to the panel, the panel data source will become `-- Mixed --`. Your recorded query is represented by a `Prometheus` query with a name label matching your recorded query name. Refer to [Prometheus](https://grafana.com/docs/grafana/latest/datasources/prometheus/) to learn more about the `Prometheus` data source.
After adding your recorded query to the panel, the panel data source will become `-- Mixed --`. Your recorded query is represented by a `Prometheus` query with a name label matching your recorded query name. Refer to [Prometheus]({{< relref "../../datasources/prometheus/" >}}) to learn more about the `Prometheus` data source.
If after adding a recorded query, a query with a `-- Mixed --` data source instead of `Prometheus` data source appears, this could mean that a Prometheus remote write target was not set up for recorded queries. Refer to [Remote write target](#remote-write-target) to set up a remote write point.

View File

@@ -1,11 +1,10 @@
---
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/
- /docs/grafana/latest/administration/roles-and-permissions/
- ../manage-users/
- ../permissions/
- ../permissions/organization_roles/
- ../permissions/overview/
- manage-users-and-permissions/about-users-and-permissions/
description: Information about Grafana user, team, and organization roles and permissions
title: Roles and permissions
weight: 300
@@ -27,7 +26,7 @@ You can assign a user one of three types of permissions:
A Grafana server administrator manages server-wide settings and access to resources such as organizations, users, and licenses. Grafana includes a default server administrator that you can use to manage all of Grafana, or you can divide that responsibility among other server administrators that you create.
> **Note:** The server administrator role does not mean that the user is also a Grafana [organization administrator]({{< ref "#organization-roles" >}}).
> **Note:** The server administrator role does not mean that the user is also a Grafana [organization administrator]({{< relref "#organization-roles" >}}).
A server administrator can perform the following tasks:
@@ -124,7 +123,7 @@ For more information about assigning administrator permissions to editors, refer
If you have access to the Grafana server, you can modify the default viewer role so that viewers can:
- Edit and preview dashboards, but cannot save their changes or create new dashboards.
- Access and use [Explore]({{< ref "/explore" >}}).
- Access and use [Explore]({{< relref "../../explore" >}}).
Extending the viewer role is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries, but not be able to save or create new dashboards.

View File

@@ -1,10 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/
- /docs/grafana/latest/enterprise/access-control/
- /docs/grafana/latest/enterprise/access-control/about-rbac/
- /docs/grafana/latest/enterprise/access-control/roles/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/
- ../../enterprise/access-control/
- ../../enterprise/access-control/about-rbac/
- ../../enterprise/access-control/roles/
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,
such as users and reports.
@@ -15,7 +13,7 @@ weight: 120
# Role-based access control (RBAC)
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
RBAC provides a standardized way of granting, changing, and revoking access when it comes to viewing and modifying Grafana resources, such as dashboards, reports, and administrative settings.

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/assign-rbac-roles/
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/manage-built-in-role-assignments/
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/manage-user-role-assignments/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/assign-rbac-roles/
- ../../../enterprise/access-control/assign-rbac-roles/
- ../../../enterprise/access-control/manage-role-assignments/manage-built-in-role-assignments/
- ../../../enterprise/access-control/manage-role-assignments/manage-user-role-assignments/
description: Learn how to assign RBAC roles to users and teams in Grafana.
menuTitle: Assign RBAC roles
title: Assign Grafana RBAC roles
@@ -12,7 +11,7 @@ weight: 40
# Assign RBAC roles
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
In this topic you'll learn how to use the role picker, provisioning, and the HTTP API to assign fixed and custom roles to users and teams.
@@ -53,8 +52,6 @@ In both cases, the assignment applies only to the user, team or service account
4. In the **Role** column, select the fixed role that you want to assign to the user, team or service account.
5. Click **Update**.
![User role picker in an organization](/static/img/docs/enterprise/user_role_picker_in_org.png)
**To assign a fixed role as a server administrator:**
1. Sign in to Grafana, hover your cursor over **Server Admin** (the shield icon) in the left navigation menu, and click **Users**.
@@ -62,15 +59,13 @@ In both cases, the assignment applies only to the user, team or service account
1. In the **Organizations** section, select a role within an organization that you want to assign to the user.
1. Click **Update**.
![User role picker in Organization](/static/img/docs/enterprise/user_role_picker_global.png)
## Assign fixed or custom roles to a team using provisioning
Instead of using the Grafana role picker, you can use file-based provisioning to assign fixed roles to teams. If you have a large number of teams, provisioning can provide an easier approach to assigning and managing role assignments.
**Before you begin:**
- Refer to [Role provisioning]({{< relref "./rbac-provisioning/#rbac-provisioning" >}})
- Refer to [Role provisioning]({{< relref "./rbac-grafana-provisioning/" >}})
- Ensure that the team to which you are adding the fixed role exists. For more information about creating teams, refer to [Manage teams]({{< relref "../../../team-management/" >}})
**To assign a role to a team:**

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/configure-rbac/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/configure-rbac/
- ../../../enterprise/access-control/configure-rbac/
description: Learn how to configure RBAC.
menuTitle: Configure RBAC
title: Configure RBAC in Grafana
@@ -10,13 +9,14 @@ weight: 30
# Configure RBAC in Grafana
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
The table below describes all RBAC configuration options. Like any other Grafana configuration, you can apply these options as [environment variables]({{< relref "../../../../setup-grafana/configure-grafana/#configure-with-environment-variables" >}}).
| Setting | Required | Description | Default |
| ------------------ | -------- | ---------------------------------------------------------------------------- | ------- |
| `permission_cache` | No | Enable to use in memory cache for loading and evaluating users' permissions. | `true` |
| Setting | Required | Description | Default |
| ------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `permission_cache` | No | Enable to use in memory cache for loading and evaluating users' permissions. | `true` |
| `permission_validation_enabled` | No | Grafana enforces validation for permissions when a user creates or updates a role. The system checks the internal list of scopes and actions for each permission to determine they are valid. By default, if a scope or action is not recognized, Grafana logs a warning message. When set to `true`, Grafana returns an error. | `false` |
## Example RBAC configuration

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/custom-role-actions-scopes/
- /docs/grafana/latest/enterprise/access-control/permissions/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/
- ../../../enterprise/access-control/custom-role-actions-scopes/
- ../../../enterprise/access-control/permissions/
description: Learn about Grafana RBAC permissions, actions, and scopes.
menuTitle: RBAC permissions, actions, and scopes
title: Grafana RBAC permissions, actions, and scopes
@@ -11,7 +10,7 @@ weight: 80
# RBAC permissions, actions, and scopes
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
A permission is comprised of an action and a scope. When creating a custom role, consider the actions the user can perform and the resource(s) on which they can perform those actions.
@@ -160,7 +159,7 @@ The following list contains role-based access control scopes.
| `orgs:*` <br> `orgs:id:*` | Restrict an action to a set of organizations. For example, `orgs:*` matches any organization and `orgs:id:1` matches the organization whose ID is `1`. |
| `permissions:type:delegate` | The scope is only applicable for roles associated with the Access Control itself and indicates that you can delegate your permissions only, or a subset of it, by creating a new role or making an assignment. |
| `permissions:type:escalate` | The scope is required to trigger the reset of basic roles permissions. It indicates that users might acquire additional permissions they did not previously have. |
| `provisioners:*` | Restrict an action to a set of provisioners. For example, `provisioners:*` matches any provisioner, and `provisioners:accesscontrol` matches the role-based access control [provisioner]({{< relref "./rbac-provisioning/" >}}). |
| `provisioners:*` | Restrict an action to a set of provisioners. For example, `provisioners:*` matches any provisioner, and `provisioners:accesscontrol` matches the role-based access control [provisioner]({{< relref "./rbac-grafana-provisioning/" >}}). |
| `reports:*` <br> `reports:id:*` | Restrict an action to a set of reports. For example, `reports:*` matches any report and `reports:id:1` matches the report whose ID is `1`. |
| `roles:*` <br> `roles:uid:*` | Restrict an action to a set of roles. For example, `roles:*` matches any role and `roles:uid:randomuid` matches only the role whose UID is `randomuid`. |
| `services:accesscontrol` | Restrict an action to target only the role-based access control service. You can use this in conjunction with the `status:accesscontrol` actions. |

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/manage-rbac-roles/
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/
- /docs/grafana/latest/enterprise/access-control/provisioning/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/manage-rbac-roles/
- ../../../enterprise/access-control/manage-rbac-roles/
- ../../../enterprise/access-control/manage-role-assignments/
- ../../../enterprise/access-control/provisioning/
description: Learn how to view permissions associated with roles, create custom roles,
and update and delete roles in Grafana.
menuTitle: Manage RBAC roles
@@ -13,7 +12,7 @@ weight: 50
# Manage RBAC roles
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
This section includes instructions for how to view permissions associated with roles, create custom roles, and update and delete roles.
@@ -91,7 +90,7 @@ Create a custom role when basic roles and fixed roles do not meet your permissio
- [Plan your RBAC rollout strategy]({{< relref "./plan-rbac-rollout-strategy/" >}}).
- Determine which permissions you want to add to the custom role. To see a list of actions and scope, refer to [RBAC permissions, actions, and scopes]({{< relref "./custom-role-actions-scopes/" >}}).
- [Enable role provisioning]({{< relref "./rbac-provisioning/" >}}).
- [Enable role provisioning]({{< relref "./rbac-grafana-provisioning/" >}}).
- Ensure that you have permissions to create a custom role.
- By default, the Grafana Admin role has permission to create custom roles.
- A Grafana Admin can delegate the custom role privilege to another user by creating a custom role with the relevant permissions and adding the `permissions:type:delegate` scope.

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/plan-rbac-rollout-strategy/
- /docs/grafana/latest/enterprise/access-control/usage-scenarios/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/plan-rbac-rollout-strategy/
- ../../../enterprise/access-control/plan-rbac-rollout-strategy/
- ../../../enterprise/access-control/usage-scenarios/
description: Plan your RBAC rollout strategy before you begin assigning roles to users
and teams.
menuTitle: Plan your RBAC rollout strategy
@@ -12,7 +11,7 @@ weight: 20
# Plan your RBAC rollout strategy
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
An RBAC rollout strategy helps you determine _how_ you want to implement RBAC prior to assigning RBAC roles to users and teams.

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/fine-grained-access-control-references/
- /docs/grafana/latest/enterprise/access-control/rbac-fixed-basic-role-definitions/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/
- ../../../enterprise/access-control/fine-grained-access-control-references/
- ../../../enterprise/access-control/rbac-fixed-basic-role-definitions/
description: This topic includes a table that lists permission associated with Grafana
fixed and basic roles.
menuTitle: RBAC role definitions
@@ -12,7 +11,7 @@ weight: 70
# RBAC role definitions
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
The following tables list permissions associated with basic and fixed roles.
@@ -21,7 +20,7 @@ The following tables list permissions associated with basic and fixed roles.
| Basic role | Associated fixed roles | Description |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Grafana Admin | `fixed:roles:reader`<br>`fixed:roles:writer`<br>`fixed:users:reader`<br>`fixed:users:writer`<br>`fixed:org.users:reader`<br>`fixed:org.users:writer`<br>`fixed:ldap:reader`<br>`fixed:ldap:writer`<br>`fixed:stats:reader`<br>`fixed:settings:reader`<br>`fixed:settings:writer`<br>`fixed:provisioning:writer`<br>`fixed:organization:reader`<br>`fixed:organization:maintainer`<br>`fixed:licensing:reader`<br>`fixed:licensing:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Grafana server administrator]({{< relref "../#grafana-server-administrators" >}}) assignments. |
| Admin | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br>`fixed:dashboards:reader`<br>`fixed:dashboards:writer`<br>`fixed:dashboards.permissions:reader`<br>`fixed:dashboards.permissions:writer`<br>`fixed:folders:reader`<br>`fixes:folders:writer`<br>`fixed:folders.permissions:reader`<br>`fixed:folders.permissions:writer`<br>`fixed:alerting:writer`<br>`fixed:apikeys:reader`<br>`fixed:apikeys:writer`<br>`fixed:alerting.provisioning:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Grafana organization administrator]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
| Admin | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br>`fixed:dashboards:reader`<br>`fixed:dashboards:writer`<br>`fixed:dashboards.permissions:reader`<br>`fixed:dashboards.permissions:writer`<br>`fixed:folders:reader`<br>`fixed:folders:writer`<br>`fixed:folders.permissions:reader`<br>`fixed:folders.permissions:writer`<br>`fixed:alerting:writer`<br>`fixed:apikeys:reader`<br>`fixed:apikeys:writer`<br>`fixed:alerting.provisioning:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Grafana organization administrator]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
| Editor | `fixed:datasources:explorer`<br>`fixed:dashboards:creator`<br>`fixed:folders:creator`<br>`fixed:annotations:writer`<br>`fixed:teams:creator` if the `editors_can_admin` configuration flag is enabled<br>`fixed:alerting:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Editor]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
| Viewer | `fixed:datasources:id:reader`<br>`fixed:organization:reader`<br>`fixed:annotations:reader`<br>`fixed:annotations.dashboard:writer`<br>`fixed:alerting:reader`<br>`fixed:plugins.app:reader`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Viewer]({{< relref "../#organization-users-and-permissions" >}}) assignments. |

View File

@@ -1,10 +1,9 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/rbac-provisioning/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-provisioning/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-grafana-provisioning
description: Learn about RBAC Grafana provisioning and view an example YAML provisioning file
that configures Grafana role assignments.
- ../../../enterprise/access-control/rbac-provisioning/
- rbac-provisioning/
description: Learn about RBAC Grafana provisioning and view an example YAML provisioning
file that configures Grafana role assignments.
menuTitle: Provisioning RBAC with Grafana
title: Provisioning RBAC with Grafana
weight: 60
@@ -12,7 +11,7 @@ weight: 60
# Provisioning RBAC with Grafana
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
You can create, change or remove [Custom roles]({{< relref "./manage-rbac-roles/#create-custom-roles-using-provisioning" >}}) and create or remove [basic role assignments]({{< relref "./assign-rbac-roles/#assign-a-fixed-role-to-a-basic-role-using-provisioning" >}}), by adding one or more YAML configuration files in the `provisioning/access-control/` directory.
@@ -26,13 +25,17 @@ Grafana performs provisioning during startup. After you make a change to the con
1. Sign in to the Grafana server.
2. Locate the Grafana provisioning folder.
1. Locate the Grafana provisioning folder.
3. Create a new YAML in the following folder: **provisioning/access-control**. For example, `provisioning/access-control/custom-roles.yml`
1. Create a new YAML in the following folder: **provisioning/access-control**. For example, `provisioning/access-control/custom-roles.yml`
4. Add RBAC provisioning details to the configuration file. See [manage RBAC roles]({{< relref "./manage-rbac-roles/" >}}) and [assign RBAC roles]({{< relref "./assign-rbac-roles/" >}}) for instructions, and see this [example role provisioning file]({{< relref "./rbac-provisioning/#example" >}}) for a complete example of a provisioning file.
1. Add RBAC provisioning details to the configuration file.
5. Reload the provisioning configuration file.
Refer to [Manage RBAC roles]({{< relref "./manage-rbac-roles/" >}}) and [Assign RBAC roles]({{< relref "./assign-rbac-roles/" >}}) for instructions.
Refer to [example role provisioning file]({{< relref "#example-role-configuration-file-using-grafana-provisioning" >}}) for a complete example of a provisioning file.
1. Reload the provisioning configuration file.
For more information about reloading the provisioning configuration at runtime, refer to [Reload provisioning configurations]({{< relref "../../../../developers/http_api/admin/#reload-provisioning-configurations" >}}).
@@ -46,7 +49,7 @@ The following example shows a complete YAML configuration file that:
- Assign roles to teams
- Revoke assignments of roles to teams
## Example
### Example
```yaml
---

View File

@@ -1,8 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/rbac-provisioning/rbac-terraform-provisioning
description: Learn about RBAC Terraform provisioning and view an example of provisioning configuration
for Grafana roles and role assignments.
- ../../../enterprise/access-control/rbac-provisioning/rbac-terraform-provisioning/
description: Learn about RBAC Terraform provisioning and view an example of provisioning
configuration for Grafana roles and role assignments.
menuTitle: Provisioning RBAC with Terraform
title: Provisioning RBAC with Terraform
weight: 60
@@ -10,7 +10,7 @@ weight: 60
# Provisioning RBAC with Terraform
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
You can create, change or remove [Custom roles](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/role) and create or remove [basic and custom role assignments](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/role_assignment), by using [Terraform's Grafana provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs).
@@ -22,15 +22,15 @@ You can create, change or remove [Custom roles](https://registry.terraform.io/pr
## Create a Service Account Token for provisioning
We recommend using service account tokens for provisioning. [Service accounts](https://grafana.com/docs/grafana/latest/administration/service-accounts/) support fine grained permissions, which allows you to easily authenticate and use the minimum set of permissions needed to provision your RBAC infrastructure.
We recommend using service account tokens for provisioning. [Service accounts]({{< relref "../../../service-accounts/" >}}) support fine grained permissions, which allows you to easily authenticate and use the minimum set of permissions needed to provision your RBAC infrastructure.
To create a service account token for provisioning, complete the following steps.
1. [Create a new service account](https://grafana.com/docs/grafana/latest/administration/service-accounts/#create-a-service-account-in-grafana) for your CI pipeline.
1. [Assign permissions to service account](https://grafana.com/docs/grafana/latest/administration/service-accounts/#assign-roles-to-a-service-account-in-grafana):
1. You will need roles “Role reader”, "Role writer" and roles including any permissions that will be provisioned. For example, to create or assign a role that allows creating users, a service account needs permissions to create users.
1. Alternatively, you can assign "Admin" basic role to the service account.
1. [Create a new service account token](https://grafana.com/docs/grafana/latest/administration/service-accounts/#to-add-a-token-to-a-service-account) for use in Terraform.
1. [Create a new service account]({{< relref "../../../service-accounts/#create-a-service-account-in-grafana" >}}) for your CI pipeline.
1. [Assign permissions to service account]({{< relref "../../../service-accounts/#assign-roles-to-a-service-account-in-grafana" >}}):
- You will need roles “Role reader”, "Role writer" and roles including any permissions that will be provisioned. For example, to create or assign a role that allows creating users, a service account needs permissions to create users.
- Alternatively, you can assign "Admin" basic role to the service account.
1. [Create a new service account token]({{< relref "../../../service-accounts/#to-add-a-token-to-a-service-account" >}}) for use in Terraform.
Alternatively, you can use basic authentication. To view all the supported authentication formats, see [here](https://registry.terraform.io/providers/grafana/grafana/latest/docs#authentication).
@@ -105,7 +105,7 @@ resource "grafana_role" "my_new_role" {
The following example shows how to provision role assignments.
In this example a team, user and service account are provisioned, and the custom role from the previous example is assigned to them.
1. Extend the configuration file from the [previous example]({{##}}) with the following:
1. Extend the configuration file from the [previous example](#provision-custom-roles) with the following:
```terraform
resource "grafana_team" "test_team" {
@@ -148,4 +148,4 @@ Similarly, you can look up and use `id`s of users, teams and service accounts th
[RBAC setup with Grafana provisioning]({{< relref "./rbac-grafana-provisioning">}})
[Grafana Cloud Terraform provisioning](https://grafana.com/docs/grafana-cloud/infrastructure-as-code/terraform/)
[Grafana Cloud Terraform provisioning](/docs/grafana-cloud/infrastructure-as-code/terraform/)

View File

@@ -1,10 +1,9 @@
---
aliases:
- /docs/grafana/latest/administration/service-accounts/
- /docs/grafana/latest/administration/service-accounts/about-service-accounts/
- /docs/grafana/latest/administration/service-accounts/add-service-account-token/
- /docs/grafana/latest/administration/service-accounts/create-service-account/
- /docs/grafana/latest/administration/service-accounts/enable-service-accounts/
- about-service-accounts/
- add-service-account-token/
- create-service-account/
- enable-service-accounts/
description: This page contains information about service accounts in Grafana
keywords:
- API keys

View File

@@ -1,11 +1,10 @@
---
aliases:
- /docs/grafana/latest/administration/view-server/
- /docs/grafana/latest/admin/view-server-settings/
- /docs/grafana/latest/administration/view-server/view-server-settings/
- /docs/grafana/latest/admin/view-server-stats/
- /docs/grafana/latest/administration/view-server/view-server-stats/
- /docs/grafana/latest/administration/stats-and-license/
- ../admin/view-server-settings/
- ../admin/view-server-stats/
- view-server/
- view-server/view-server-settings/
- view-server/view-server-stats/
description: How to view server settings in the Grafana UI
keywords:
- grafana

View File

@@ -1,10 +1,9 @@
---
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/
- /docs/grafana/latest/administration/team-management/
- ../manage-users/add-or-remove-user-from-team/
- ../manage-users/create-or-remove-team/
- ../manage-users/manage-teams/
- manage-users-and-permissions/manage-teams/
title: Team management
weight: 400
---
@@ -62,8 +61,6 @@ To add a team member:
1. Choose if you want to add the user as a team Member or an Admin.
1. Click **Add to team**.
![Add team member](/static/img/docs/manage-users/add-team-member-7-3.png)
## Grant team member permissions
Complete this task when you want to add or modify team member permissions.
@@ -76,8 +73,6 @@ To grant team member permissions:
1. In the team member list, find and click the user that you want to change. You can use the search field to filter the list if necessary.
1. Click the **Permission** list, and then click the new user permission level.
![Change team member permissions](/static/img/docs/manage-users/change-team-permissions-7-3.png)
## Remove a team member
You can remove a team member when you no longer want to apply team permissions to the user

View File

@@ -1,6 +1,6 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/
- manage-users-and-permissions/
title: User management
weight: 200
---

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/
- /docs/grafana/latest/permissions/dashboard_folder_permissions/
- /docs/grafana/latest/administration/user-management/manage-dashboard-permissions/
- ../../permissions/dashboard_folder_permissions/
- ../manage-users-and-permissions/manage-dashboard-permissions/
title: Manage dashboard permissions
weight: 500
---

View File

@@ -1,13 +1,12 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/
- /docs/grafana/latest/manage-users/org-admin/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/
- /docs/grafana/latest/administration/user-management/manage-org-users/
- ../../manage-users/org-admin/
- ../manage-users-and-permissions/manage-org-users/
- ../manage-users-and-permissions/manage-org-users/change-user-org-permissions/
- ../manage-users-and-permissions/manage-org-users/invite-user-join-org/
- ../manage-users-and-permissions/manage-org-users/manage-pending-invites/
- ../manage-users-and-permissions/manage-org-users/remove-user-from-org/
- ../manage-users-and-permissions/manage-org-users/view-list-org-users/
title: Manage users in an organization
weight: 400
---
@@ -33,8 +32,6 @@ You can see a list of users with accounts in your Grafana organization. If neces
1. Sign in to Grafana as an organization administrator.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu and click **Users**.
![Org Admin user list](/static/img/docs/manage-users/org-user-list-7-3.png)
> **Note:** If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [view a global list of users]({{< relref "../server-user-management#view-a-list-of-users" >}}) in the Server Admin section of Grafana.
## Change a user's organization permissions
@@ -96,8 +93,6 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
If the invitee is not already a user, the system adds them.
![Invite User](/static/img/docs/manage-users/org-invite-user-7-3.png).
## Manage a pending invitation
Periodically review invitations you have sent so that you can see a list of users that have not yet accepted the invitation or cancel a pending invitation.
@@ -116,14 +111,10 @@ Periodically review invitations you have sent so that you can see a list of user
The **Pending Invites** button appears only when there are unaccepted invitations.
![Pending Invites button](/static/img/docs/manage-users/pending-invites-button-7-3.png)
To cancel an invitation, click the red **X** next to the invitation.
To copy an invitation link and send it directly to a user, click Copy Invite. You can then paste the invite link into a message.
![Pending Invites list](/static/img/docs/manage-users/pending-invites-list-7-3.png)
## Remove a user from an organization
You can remove a user from an organization when they no longer require access to the dashboard or data sources owned by the organization. No longer requiring access to an organization might occur when the user has left your company or has internally moved to another organization.

View File

@@ -1,14 +1,13 @@
---
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/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/
- /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/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/
- /docs/grafana/latest/administration/user-management/server-user-management/
- ../../manage-users/server-admin/
- ../../manage-users/server-admin/server-admin-manage-users/
- ../manage-users-and-permissions/manage-server-users/
- ../manage-users-and-permissions/manage-server-users/add-user/
- ../manage-users-and-permissions/manage-server-users/force-user-logout/
- ../manage-users-and-permissions/manage-server-users/view-edit-user-account/
- ../manage-users-and-permissions/manage-server-users/view-list-users/
- ../manage-users-and-permissions/manage-server-users/view-user-account-details/
title: Server user management
weight: 100
---
@@ -38,8 +37,6 @@ You can see a list of users with accounts on your Grafana server. This action mi
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
![Server Admin user list](/static/img/docs/manage-users/server-user-list-7-3.png)
> **Note:** If you have [organization administrator]({{< relref "../../roles-and-permissions/#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can still [view of list of users in a given organization]({{< relref "../manage-org-users/#view-a-list-of-organization-users" >}}).
## View user details
@@ -62,26 +59,18 @@ A user account contains the following sections.
This section contains basic user information, which users can update.
![Server Admin user information section](/static/img/docs/manage-users/server-admin-user-information-7-3.png)
#### Permissions
This indicates whether the user account has the Grafana administrator flag applied. If the flag is set to **Yes**, then the user is a Grafana server administrator.
![Server Admin Permissions section](/static/img/docs/manage-users/server-admin-permissions-7-3.png)
#### Organizations
This section lists the organizations the user belongs to and their assigned role.
![Server Admin Organizations section](/static/img/docs/manage-users/server-admin-organisations-7-3.png)
#### Sessions
This section includes recent user sessions and information about the time the user logged in and they system they used. You can force logouts, if necessary.
![Server Admin Sessions section](/static/img/docs/manage-users/server-admin-sessions-7-3.png)
## Edit a user account
Edit a user account when you want to modify user login credentials, or delete, disable, or enable a user.

View File

@@ -1,10 +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/
- /docs/grafana/latest/administration/user-management/server-user-management/add-remove-user-to-org/
- ../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org/
- ../../manage-users-and-permissions/manage-server-users/add-user-to-org/
description: Describes how a Grafana server administrator can add or remove users
in an organization
title: Add or remove a user in an organization
description: Describes how a Grafana server administrator can add or remove users in an organization
weight: 30
---

View File

@@ -1,9 +1,9 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
- /docs/grafana/latest/administration/user-management/server-user-management/assign-remove-server-admin-privileges/
- ../../manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
description: Describes how to assign and remove Grafana administrator privileges from
a server user.
title: Assign or remove Grafana server administrator privileges
description: Describes how to assign and remove Grafana administrator privileges from a server user.
weight: 20
---

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/
- /docs/grafana/latest/administration/user-management/server-user-management/change-user-org-permissions/
- ../../manage-users-and-permissions/manage-server-users/change-user-org-permissions/
title: Change a user's organization permissions
weight: 50
---

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
- /docs/grafana/latest/administration/user-management/server-user-management/grant-editor-admin-permissions/
- ../../manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
title: Grant editors administrator permissions
weight: 60
---

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/administration/change-your-password/
- /docs/grafana/latest/administration/manage-user-preferences/
- /docs/grafana/latest/administration/user-management/user-preferences/
- ../change-your-password/
- ../manage-user-preferences/
description: Learn how to update your user preferences and switch organizations
keywords:
- password
@@ -29,9 +28,7 @@ You can change your Grafana password at any time.
1. Sign in to Grafana.
1. Hover your mouse over the user icon in the lower-left corner of the page.
1. Click **Change Password**.
Grafana opens the **Change Password** tab.
1. Click **Change Password**. Grafana opens the **Change Password** tab.
1. Enter your old password and a new password.
1. Confirm your new password.
1. Click **Change Password**.
@@ -54,6 +51,7 @@ You can choose the way you would like data to appear in Grafana, including the U
- **Home dashboard** refers to the dashboard you see when you sign in to Grafana. By default, this is set to the Home dashboard.
- **Timezone** is used by dashboards when you set time ranges, so that you view data in your timezone instead of UTC.
- **Week start** is the first day of the week you want to use in dashboard time ranges, for example, `This week`.
- **Language** determines the language used for parts of the Grafana interface.
**To edit your preferences**:

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/
- /docs/grafana/latest/alerting/unified-alerting/alerting/
- /docs/grafana/latest/about-alerting
- about-alerting/
- unified-alerting/alerting/
title: Alerting
weight: 114
---
@@ -69,6 +68,4 @@ With mute timings, you can specify a time interval when you dont want new not
- [Role-based access control]({{< relref "../administration/roles-and-permissions/access-control/" >}}) in Grafana Enterprise.
- [Alertmanager]({{< relref "fundamentals/alertmanager/" >}})
- [High availability](https://grafana.com/docs/grafana/next/alerting/fundamentals/high-availability/)

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/
- /docs/grafana/latest/alerting/old-alerting/create-alerts/
- /docs/grafana/latest/alerting/rules/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/
- old-alerting/create-alerts/
- rules/
- unified-alerting/alerting-rules/
title: Manage your alert rules
weight: 130
---

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/
- ../unified-alerting/alerting-rules/create-grafana-managed-rule/
description: Create Grafana managed alert rule
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
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/
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
description: Create Grafana Mimir or Loki managed recording rule
keywords:
- grafana

View File

@@ -1,9 +1,8 @@
---
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/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
description: Create Grafana Mimir or Loki managed alerting rule
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
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/
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
description: Edit Grafana Mimir or Loki rule groups and namespaces
keywords:
- grafana

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/rule-list/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/
- /docs/grafana/latest/alerting/view-alert-rules/
- /docs/grafana/latest/alerting/alerting-rules/view-alert-rules
- ../unified-alerting/alerting-rules/rule-list/
- ../view-alert-rules/
- rule-list/
description: Manage alerting rules
keywords:
- grafana

View File

@@ -1,8 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/state-and-health/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/state-and-health/
- /docs/grafana/latest/alerting/view-state-health/
- ../fundamentals/state-and-health/
- ../unified-alerting/alerting-rules/state-and-health/
- ../view-state-health/
description: State and Health of alerting rules
keywords:
- grafana

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/difference-old-new/
- /docs/grafana/latest/alerting/unified-alerting/difference-old-new/
- unified-alerting/difference-old-new/
description: What's New with Grafana alerts
draft: true
keywords:

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/
- /docs/grafana/latest/alerting/metrics/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/
- metrics/
- unified-alerting/fundamentals/
title: Explore Alerting
weight: 105
---

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/alert-rules/
description: About Grafana alert rules
keywords:
- grafana

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/alert-rules/alert-instances/
description: Learn about Grafana alert instances
keywords:
- grafana

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/alert-rules/alert-rule-types/
description: Learn about the different alert rule types
keywords:
- grafana

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
- /docs/grafana/latest/alerting/fundamentals/alert-rules/message-templating
- ../../contact-points/message-templating/
- ../../message-templating/
- ../../unified-alerting/message-templating/
description: Message templating
keywords:
- grafana

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/alert-rules/organising-alerts/
description: Learn how to organize alert rules
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/alertmanager/
- /docs/grafana/latest/alerting/metrics/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/
- ../metrics/
- ../unified-alerting/fundamentals/alertmanager/
title: Alertmanager
weight: 116
---

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/
- /docs/grafana/latest/alerting/fundamentals/annotation-label/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/
- ../alerting-rules/alert-annotation-label/
- ../unified-alerting/alerting-rules/alert-annotation-label/
description: Annotations and labels for alerting
keywords:
- grafana
@@ -10,18 +9,34 @@ keywords:
- guide
- rules
- create
title: Annotations and labels for alerting rules
title: Labels and annotations
weight: 401
---
# Annotations and labels for alerting rules
# Labels and annotations
Annotations and labels are key value pairs associated with alerts originating from the alerting rule, datasource response, and as a result of alerting rule evaluation. They can be used in alert notifications directly or in templates and template functions to create notification content dynamically.
Labels and annotations contain information about an alert. Both labels and annotations have the same structure: a set of named values; however their intended uses are different. An example of label, or the equivalent annotation, might be `alertname="test"`.
## Annotations
The main difference between a label and an annotation is that labels are used to differentiate an alert from all other alerts, while annotations are used to add additional information to an existing alert.
Annotations are key-value pairs that provide additional meta-information about an alert. You can use the following annotations: `description`, `summary`, `runbook_url`, `alertId`, `dashboardUid`, and `panelId`. For example, a description, a summary, and a runbook URL. These are displayed in rule and alert details in the UI and can be used in contact point message templates.
For example, consider two high CPU alerts: one for `server1` and another for `server2`. In such an example we might have a label called `server` where the first alert has the label `server="server1"` and the second alert has the label `server="server2"`. However, we might also want to add a description to each alert such as `"The CPU usage for server1 is above 75%."`, where `server1` and `75%` are replaced with the name and CPU usage of the server (please refer to the documentation on [templating labels and annotations]({{< relref "./variables-label-annotation" >}}) for how to do this). This kind of description would be more suitable as an annotation.
## Labels
Labels are key-value pairs that contain information about, and are used to uniquely identify an alert. The label set for an alert is generated and added to throughout the alerting evaluation and notification process.
Labels contain information that identifies an alert. An example of a label might be `server=server1`. Each alert can have more than one label, and the complete set of labels for an alert is called its label set. It is this label set that identifies the alert.
For example, an alert might have the label set `{alertname="High CPU usage",server="server1"}` while another alert might have the label set `{alertname="High CPU usage",server="server2"}`. These are two separate alerts because although their `alertname` labels are the same, their `server` labels are different.
The label set for an alert is a combination of the labels from the datasource, custom labels from the alert rule, and a number of reserved labels such as `alertname`.
### Custom Labels
Custom labels are additional labels from the alert rule. Like annotations, custom labels must have a name, and their value can contain a combination of text and template code that is evaluated when an alert is fired. Documentation on how to template custom labels can be found [here]({{< relref "./variables-label-annotation" >}}).
When using custom labels with templates it is important to make sure that the label value does not change between consecutive evaluations of the alert rule as this will end up creating large numbers of distinct alerts. However, it is OK for the template to produce different label values for different alerts. For example, do not put the value of the query in a custom label as this will end up creating a new set of alerts each time the value changes. Instead use annotations.
It is also important to make sure that the label set for an alert does not have two or more labels with the same name. If a custom label has the same name as a label from the datasource then it will replace that label. However, should a custom label have the same name as a reserved label then the custom label will be omitted from the alert.
## Annotations
Annotations are named pairs that add additional information to existing alerts. There are a number of suggested annotations in Grafana such as `description`, `summary`, `runbook_url`, `dashboardUId` and `panelId`. Like custom labels, annotations must have a name, and their value can contain a combination of text and template code that is evaluated when an alert is fired. If an annotation contains template code, the template is evaluated once when the alert is fired. It is not re-evaluated, even when the alert is resolved. Documentation on how to template annotations can be found [here]({{< relref "./variables-label-annotation" >}}).

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/example-template-functions/
- /docs/grafana/latest/alerting/fundamentals/annotation-label/example-template-functions/
- ../../contact-points/message-templating/example-template-functions/
keywords:
- grafana
- alerting

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/annotation-label/how-to-use-labels/
description: Learn about labels and label matchers in alerting
keywords:
- grafana

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/annotation-label/labels-and-label-matchers/
description: Learn about labels and label matchers in alerting
keywords:
- grafana

View File

@@ -1,10 +1,9 @@
---
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/
- /docs/grafana/latest/alerting/fundamentals/annotation-label/template-functions/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/annotation-label/template-functions/
- ../../contact-points/message-templating/template-functions/
- ../../message-templating/template-functions/
- ../../unified-alerting/fundamentals/annotation-label/template-functions/
- ../../unified-alerting/message-templating/template-functions/
keywords:
- grafana
- alerting

View File

@@ -1,27 +1,21 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/annotation-label/variables-label-annotation/
description: Learn about labels and label matchers in alerting
description: Learn about templating of labels and annotations
keywords:
- grafana
- alerting
- guide
- fundamentals
title: How to template annotations and labels
title: Templating labels and annotations
weight: 117
---
# How to template annotations and labels
# Templating labels and annotations
In Grafana it is possible to template annotations and labels just like you would in Prometheus. Those who have used
Prometheus before should be familiar with the `$labels` variable which holds the label key/value pairs of the alert
instance and the `$value` variable which holds the evaluated value of the alert instance.
In Grafana it is possible to template labels and annotations just like you would in Prometheus. Those who have used Prometheus before should be familiar with the `$labels` variable which holds the label key/value pairs of the alert instance and the `$value` variable which holds the evaluated value of the alert instance.
In Grafana it is possible to use the same variables from Prometheus to template annotations and labels, even if your
alert does not use a Prometheus datasource.
In Grafana it is possible to use the same variables from Prometheus to template labels and annotations, even if your alert does not use a Prometheus datasource.
For example, let's suppose we want to create an alert in Grafana that tells us when one of our instances is down for
more than 5 minutes. Like in Prometheus, we can add a summary annotation to show the instance which is down:
For example, let's suppose we want to create an alert in Grafana that tells us when one of our instances is down for more than 5 minutes. Like in Prometheus, we can add a summary annotation to show the instance which is down:
```
Instance {{ $labels.instance }} has been down for more than 5 minutes
@@ -43,17 +37,13 @@ of the condition at the time the alert fired. For example:
## Alert rules with two or more queries or expressions
In the case where an alert rule has two or more queries, or uses reduce and math expressions, it is possible to template
the reduced result of each query and expression with the `$values` variable. This variable holds the labels and value of
each reduced query, and the results of any math expressions. However, it does not hold the samples for each query.
In the case where an alert rule has two or more queries, or uses reduce and math expressions, it is possible to template the reduced result of each query and expression with the `$values` variable. This variable holds the labels and value of each reduced query, and the results of any math expressions. However, it does not hold the samples for each query.
For example, suppose you have the following alert rule:
{{< figure src="/static/img/docs/alerting/unified/grafana-alerting-histogram-quantile.png" class="docs-image--no-shadow" caption="An alert rule that uses histogram_quantile to compute 95th percentile" >}}
Should this rule create an alert instance `$values` will hold the result of the reduce expression `B` and the math
expression `C`. It will not hold the results returned by query `A` because query `A` does not return a single value
but rather a series of values over time.
Should this rule create an alert instance `$values` will hold the result of the reduce expression `B` and the math expression `C`. It will not hold the results returned by query `A` because query `A` does not return a single value but rather a series of values over time.
If we were to write a summary annotation such as:
@@ -61,15 +51,13 @@ If we were to write a summary annotation such as:
{{ $labels.instance }} has a 95th percentile request latency above 1s: {{ $value }})
```
We would find that because the condition of the alert, the math expression `C` must be a boolean comparison, it must
return either a `0` or a `1`. What we want instead is the 95th percentile from the reduce expression `B`:
We would find that because the condition of the alert, the math expression `C` must be a boolean comparison, it must return either a `0` or a `1`. What we want instead is the 95th percentile from the reduce expression `B`:
```
{{ $labels.instance }} has a 95th percentile request latency above 1s: {{ $values.B }})
```
We can also show the labels of `B`, however since this alert rule has just one query the labels of `B` are equivalent to
`$labels`:
We can also show the labels of `B`, however since this alert rule has just one query the labels of `B` are equivalent to `$labels`:
```
{{ $values.B.Labels.instance }} has a 95th percentile request latency above 1s: {{ $values.B }})
@@ -78,8 +66,7 @@ We can also show the labels of `B`, however since this alert rule has just one q
### No data and execution errors or timeouts
Should query `A` return no data then the reduce expression `B` will also return no data. This means that
`{{ $values.B }}` will be nil. To ensure that annotations and labels can still be templated even when a query returns
no data, we can use an if statement to check for `$values.B`:
`{{ $values.B }}` will be nil. To ensure that labels and annotations can still be templated even when a query returns no data, we can use an if statement to check for `$values.B`:
```
{{ if $values.B }}{{ $labels.instance }} has a 95th percentile request latency above 1s: {{ $values.B }}){{ end }}
@@ -87,15 +74,28 @@ no data, we can use an if statement to check for `$values.B`:
## Classic conditions
If the rule uses a classic condition instead of a reduce and math expression, then `$values` contains the combination
of the `refID` and position of the condition. For example, `{{ $values.A0 }}` and `{{ $values.A1 }}`.
If the rule uses a classic condition instead of a reduce and math expression, then `$values` contains the combination of the `refID` and position of the condition. For example, `{{ $values.A0 }}` and `{{ $values.A1 }}`.
## Variables
The following template variables are available when expanding annotations and labels.
The following template variables are available when expanding labels and annotations.
| Name | Description |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| $labels | The labels from the query or condition. For example, `{{ $labels.instance }}` and `{{ $labels.job }}`. This is unavailable when the rule uses a [classic condition]({{< relref "../../alerting-rules/create-grafana-managed-rule/#single-and-multi-dimensional-rule" >}}). |
| $values | The values of all reduce and math expressions that were evaluated for this alert rule. For example, `{{ $values.A }}`, `{{ $values.A.Labels }}` and `{{ $values.A.Value }}` where `A` is the `refID` of the reduce or math expression. If the rule uses a classic condition instead of a reduce and math expression, then `$values` contains the combination of the `refID` and position of the condition. |
| $value | The value string of the alert instance. For example, `[ var='A' labels={instance=foo} value=10 ]`. |
### Labels with dots
If a label contains a dot (full stop or period) in its name then the following will not work:
```
Instance {{ $labels.instance.name }} has been down for more than 5 minutes
```
This is because we are printing a non-existing field `name` in `$labels.instance` rather than `instance.name` in `$labels`. Instead we can use the `index` function to print `instance.name`:
```
Instance {{ index $labels "instance.name" }} has been down for more than 5 minutes
```

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/data-source-alerting/
description: Data sources in Grafana Alerting
title: Data sources
weight: 100

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/evaluate-grafana-alerts/
- /docs/grafana/latest/alerting/metrics/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/
- ../metrics/
- ../unified-alerting/fundamentals/evaluate-grafana-alerts/
title: Alerting on numeric data
weight: 116
---

View File

@@ -1,7 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/high-availability/
- /docs/grafana/latest/alerting/unified-alerting/high-availability/
- ../high-availability/
- ../unified-alerting/high-availability/
description: High availability
keywords:
- grafana

View File

@@ -1,8 +1,9 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/
- /docs/grafana/latest/alerting/unified-alerting/contact-points/
- /docs/grafana/latest/alerting/fundamentals/contact-points/contact-point-types/
- ../contact-points/
- ../notifications/
- ../unified-alerting/contact-points/
- contact-points/contact-point-types/
description: Create or edit contact point
keywords:
- grafana
@@ -11,19 +12,35 @@ keywords:
- contact point
- notification channel
- create
title: Contact points
title: Notifications
weight: 410
---
# Contact points
# Notifications
Use contact points to define how your contacts are notified when an alert rule fires. A contact point can have one or more contact point types, for example, email, slack, webhook, and so on. When an alert rule fires, a notification is sent to all contact point types listed for a contact point. Contact points can be configured for the Grafana Alertmanager as well as external alertmanagers.
Notifications are sent when an alert is firing or has been resolved. You use notification policies to configure how and where a notification is sent; how often a notification should be sent; and whether alerts should all be sent in the same notification, sent in grouped notifications based on a set of labels, or as separate notifications.
You can also use message templating to customize notification messages for contact point types.
## Notification policies
## Supported contact point types
Notification policies control when and where notifications are sent. A notification policy can choose to send all alerts together in the same notification, send alerts in grouped notifications based on a set of labels, or send alerts as separate notifications. You can configure each notification policy to control how often notifications should be sent as well as having one or more mute timings to inhibit notifications at certain times of the day and on certain days of the week.
The following table lists the contact point types supported by Grafana.
Notification policies are organized in a tree structure where at the root of the tree there is a notification policy called the root policy. There can be only one root policy and the root policy cannot be deleted.
Specific routing policies are children of the root policy and can be used to match either all alerts or a subset of alerts based on a set of matching labels. A notification policy matches an alert when its matching labels match the labels in the alert.
A specific routing policy can have its own child policies, called nested policies, which allow for additional matching of alerts. An example of a specific routing policy could be sending infrastructure alerts to the Ops team; while a child policy might send high priority alerts to Pagerduty and low priority alerts as emails.
All alerts, irrespective of their labels, match the root policy. However, when the root policy receives an alert it looks at each specific routing policy and sends the alert to the first specific routing policy that matches the alert. If the specific routing policy has further child policies, then it can attempt to the match the alert against one of its nested policies. If no nested policies match the alert then the specific routing policy is the matching policy. If there are no specific routing policies, or no specific routing policies match the alert, then the root policy is the matching policy.
## Contact points
Contact points contain the configuration for sending notifications. A contact point is a list of integrations, each of which sends a notification to a particular email address, service or URL. Contact points can have multiple integrations of the same kind, or a combination of integrations of different kinds. For example, a contact point could contain a Pagerduty integration; an email and Slack integration; or a Pagerduty integration, a Slack integration, and two email integrations. You can also configure a contact point with no integrations; in which case no notifications are sent.
A contact point cannot send notifications until it has been added to a notification policy. A notification policy can only send alerts to one contact point, but a contact point can be added to a number of notification policies at the same time. When an alert matches a notification policy, the alert is sent to the contact point in that notification policy, which then sends a notification to each integration in its configuration.
### Supported integrations
The following table contains the integrations supported in Grafana:
| Name | Type | Grafana Alertmanager | Other Alertmanagers |
| ------------------------------------------------ | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
@@ -48,8 +65,14 @@ The following table lists the contact point types supported by Grafana.
| [WeCom](#wecom) | `wecom` | Supported | N/A |
| [Zenduty](https://www.zenduty.com/) | `webhook` | Supported | N/A |
## Useful links
## Templating notifications
[Manage contact points](https://grafana.com/docs/grafana/next/alerting/manage-notifications/create-contact-point/)
You can customize notifications with templates. For example, templates can be used to change the subject and message of an email, or the title and message of notifications sent to Slack.
[Create and edit message templates](https://grafana.com/docs/grafana/next/alerting/manage-notifications/create-message-template/)
Templates are not limited to an individual integration or contact point, but instead can be used in a number of integrations in the same contact point and even integrations across different contact points. For example, a Grafana user can create a template called `custom_subject_or_title` and use it for both templating subjects in emails and titles of Slack messages without having to create two separate templates.
All notifications templates are written in [Go's templating language](https://pkg.go.dev/text/template), and are in the Contact points tab on the Alerting page.
## Silences
You can use silences to mute notifications from one or more firing rules. Silences do not stop alerts from firing or being resolved, or hide firing alerts in the user interface. A silence lasts as long as its duration which can be configured in minutes, hours, days, months or years.

View File

@@ -1,24 +0,0 @@
---
aliases:
- /docs/grafana/latest/alerting/silences/
- /docs/grafana/latest/alerting/unified-alerting/silences/
- /docs/grafana/latest/alerting/fundamentals/silences
description: Silences
keywords:
- grafana
- alerting
- silence
- mute
title: Silences
weight: 420
---
# Silences
Use silences to stop notifications from one or more alerting rules. Silences do not prevent alert rules from being evaluated. They also do not stop alert instances from being shown in the user interface. Silences only stop notifications from getting created. A silence lasts for only a specified window of time.
You can configure Grafana managed silences as well as silences for an external Alertmanager data source.
## Useful links
[Create silences](https://grafana.com/docs/grafana/latest/alerting/manage-notifications/create-silence/)

View File

@@ -1,6 +1,5 @@
---
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:

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/alerting/manage-notifications
description: Manage alert notifications
keywords:
- grafana

View File

@@ -1,13 +1,9 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/create-contact-point/
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
- /docs/grafana/latest/alerting/contact-points/delete-contact-point/
- /docs/grafana/latest/alerting/contact-points/edit-contact-point/
- /docs/grafana/latest/alerting/contact-points/test-contact-point/
- /docs/grafana/latest/alerting/manage-notifications/create-contact-point/
- ../contact-points/create-contact-point/
- ../contact-points/delete-contact-point/
- ../contact-points/edit-contact-point/
- ../contact-points/test-contact-point/
keywords:
- grafana
- alerting

View File

@@ -1,21 +1,17 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/contact-points/message-templating/create-message-template/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
- /docs/grafana/latest/alerting/contact-points/message-templating/delete-message-template/
- /docs/grafana/latest/alerting/contact-points/message-templating/edit-message-template/
- /docs/grafana/latest/alerting/manage-notifications/create-message-template/
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/contact-points/message-templating/example-template/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
- /docs/grafana/latest/alerting/fundamentals/contact-points/example-template/
- /docs/grafana/latest/alerting/contact-points/message-templating/template-data/
- /docs/grafana/latest/alerting/message-templating/template-data/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/
- /docs/grafana/latest/alerting/fundamentals/contact-points/template-data/
- ../contact-points/message-templating/
- ../contact-points/message-templating/create-message-template/
- ../contact-points/message-templating/delete-message-template/
- ../contact-points/message-templating/edit-message-template/
- ../contact-points/message-templating/example-template/
- ../contact-points/message-templating/template-data/
- ../fundamentals/contact-points/example-template/
- ../fundamentals/contact-points/template-data/
- ../message-templating/
- ../message-templating/template-data/
- ../unified-alerting/message-templating/
- ../unified-alerting/message-templating/template-data/
keywords:
- grafana
- alerting

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/notifications/
- /docs/grafana/latest/alerting/old-alerting/notifications/
- /docs/grafana/latest/alerting/unified-alerting/notifications/
- /docs/grafana/latest/alerting/manage-notifications/create-notification-policy/
- ../notifications/
- ../old-alerting/notifications/
- ../unified-alerting/notifications/
description: Notification policies
keywords:
- grafana

View File

@@ -1,13 +1,10 @@
---
aliases:
- /docs/grafana/latest/alerting/silences/create-silence/
- /docs/grafana/latest/alerting/unified-alerting/silences/
- /docs/grafana/latest/alerting/silences/edit-silence/
- /docs/grafana/latest/alerting/unified-alerting/silences/
- /docs/grafana/latest/alerting/silences/linking-to-silence-form/
- /docs/grafana/latest/alerting/unified-alerting/silences/
- /docs/grafana/latest/alerting/silences/remove-silence/
- /docs/grafana/latest/alerting/unified-alerting/silences/
- ../silences/create-silence/
- ../silences/edit-silence/
- ../silences/linking-to-silence-form/
- ../silences/remove-silence/
- ../unified-alerting/silences/
description: Add silence alert notification
keywords:
- grafana

View File

@@ -1,5 +1,4 @@
---
aliases:
description:
keywords:
- grafana
@@ -12,34 +11,58 @@ weight: 460
# Use images in notifications
Images in notifications helps recipients of alert notifications better understand why an alert has fired or resolved by including an image of the panel associated with the Grafana managed alert rule.
Images in notifications helps recipients of alert notifications better understand why an alert has fired or resolved by including a screenshot of the panel associated with the alert.
> **Note**: Images in notifications are not available for Grafana Mimir and Loki managed alert rules, or when Grafana is set up to send alert notifications to an external Alertmanager.
> **Note**: This feature is not supported for Mimir or Loki rules, or when Grafana sends alert notifications to an external Alertmanager.
If Grafana is set up to send images in notifications, it takes a screenshot of the panel for the Grafana managed alert rule when either of the following happen:
When an alert is fired or resolved Grafana takes a screenshot of the panel associated with the alert. This is determined via the Dashboard UID and Panel ID annotations of the rule. Grafana cannot take a screenshot for alerts that are not associated with a panel.
1. The alert rule transitions from pending to firing
2. The alert rule transitions from firing to OK
Because a number of contact points, such as email, do not support uploading screenshots at the time of sending a notification; Grafana can also upload the screenshot to a cloud storage service such as Amazon S3, Azure Blob Storage and Google Cloud Storage, where a link to the uploaded screenshot can be added to the notification. However, if using a cloud storage service is not an option then Grafana can be its own cloud storage service such that the screenshot is available under the same domain as Grafana.
Grafana does not support images for alert rules that are not associated with a panel. An alert rule is associated with a panel when it has both Dashboard UID and Panel ID annotations.
Should either the cloud storage service, or Grafana if acting as its own cloud storage service, be protected by a firewall, gateway service or VPN, then screenshots might not be shown in notifications.
Images are stored in the [data]({{< relref "../../setup-grafana/configure-grafana/#paths" >}}) path and so Grafana must have write-access to this path. If Grafana cannot write to this path then screenshots cannot be saved to disk and an error will be logged for each failed screenshot attempt. In addition to storing images on disk, Grafana can also store the image in an external image store such as Amazon S3, Azure Blob Storage, Google Cloud Storage and even Grafana where screenshots are stored in `public/img/attachments`. Screenshots older than `temp_data_lifetime` are deleted from disk but not the external image store. If Grafana is the external image store then screenshots are deleted from `data` but not from `public/img/attachments`.
How to choose between uploading screenshots at the time of sending the notification, using a cloud storage service, or using Grafana as its own cloud storage service, depends on which contact points you plan to use and whether you use a firewall, gateway service or VPN.
> **Note**: It is recommended that you use an external image store, as not all contact points support uploading images from disk. It is also possible that the image on disk is deleted before an alert notification is sent if `temp_data_lifetime` is less than the `group_wait` and `group_interval` options used in Alertmanager.
For example, if a contact point supports uploading images at the time of notification is it not required to use cloud storage. Cloud storage is required when a contact point does not support uploading images at the time of sending a notification, such as email. We don't recommend using cloud storage if the cloud storage service is behind a firewall, gateway service, or VPN, as screenshots might not be shown in notifications.
Please refer to the table at the end of this page for a list of contact points and their support for images in notifications.
## Requirements
To use images in notifications, Grafana must be set up to use [image rendering](https://grafana.com/docs/grafana/next/setup-grafana/image-rendering/). It is also recommended that Grafana is set up to upload images to an external image store, such as Amazon S3, Azure Blob Storage, Google Cloud Storage or even Grafana.
To use images in notifications, Grafana must be set up to use [image rendering](https://grafana.com/docs/grafana/next/setup-grafana/image-rendering/). You can either install the image rendering plugin or run it as a remote rendering service.
When a screenshot is taken it is saved to the [data]({{< relref "../../setup-grafana/configure-grafana/#paths" >}}) path. This is where screenshots are stored before being sent in a notification or uploaded to a cloud storage service. Grafana must have write-access to this path. If Grafana cannot write to this path then screenshots cannot be saved to disk and an error will be logged for each failed screenshot attempt.
If using a [cloud storage service](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#external_image_storage) such as Amazon S3, Azure Blob Storage or Google Cloud Storage, uploaded images need to be accessible outside of a firewall, gateway service or VPN for screenshots to be shown in notifications. Grafana will not delete screenshots from cloud storage. We recommend configuring a retention policy on the bucket to delete screenshots older than 1 month.
If using Grafana as its own cloud storage service then screenshots will be saved to `static_root_path/img/attachments`. `static_root_path` is a configuration option for Grafana and can be found in `defaults.ini`. However, like when using a cloud storage service, images need to be accessible outside of a firewall, gateway service or VPN for screenshots to be shown in notifications.
When using Grafana as its own cloud storage service screenshots are copied from [data]({{< relref "../../setup-grafana/configure-grafana/#paths" >}}) to `static_root_path/img/attachments`. Screenshots older than `temp_data_lifetime` are deleted from [data]({{< relref "../../setup-grafana/configure-grafana/#paths" >}}) but not from `static_root_path/images/attachments`. To delete screenshots from `static_root_path` after a certain amount of time we recommend setting up a CRON job.
## Configuration
If Grafana has been set up to use image rendering, images in notifications can be turned on via the `capture` option in `[unified_alerting.screenshots]`:
Having installed either the image rendering plugin, or set up Grafana to use a remote rendering service, set `capture` in `[unified_alerting.screenshots]` to `true`:
# Enable screenshots in notifications. This option requires the Grafana Image Renderer plugin.
# For more information on configuration options, refer to [rendering].
capture = true
capture = false
It is recommended that `max_concurrent_screenshots` is set to a value that is less than or equal to `concurrent_render_request_limit`. The default value for both `max_concurrent_screenshots` and `concurrent_render_request_limit` is `5`:
If screenshots should be uploaded to cloud storage then `upload_external_image_storage` should also be set to `true`:
# Uploads screenshots to the local Grafana server or remote storage such as Azure, S3 and GCS. Please
# see [external_image_storage] for further configuration options. If this option is false, screenshots
# will be persisted to disk for up to temp_data_lifetime.
upload_external_image_storage = false
Please see [`[external_image_storage]`](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#external_image_storage) for instructions on how to configure cloud storage. Grafana will not start if `upload_external_image_storage` is `true` and `[external_image_storage]` contains missing or invalid configuration.
If Grafana is acting as its own cloud storage then `[upload_external_image_storage]` should be set to `true` and the `local` provider should be set in [`[external_image_storage]`](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#external_image_storage).
Restart Grafana for the changes to take effect.
## Advanced configuration
We recommended that `max_concurrent_screenshots` is less than or equal to `concurrent_render_request_limit`. The default value for both `max_concurrent_screenshots` and `concurrent_render_request_limit` is `5`:
# The maximum number of screenshots that can be taken at the same time. This option is different from
# concurrent_render_request_limit as max_concurrent_screenshots sets the number of concurrent screenshots
@@ -47,57 +70,60 @@ It is recommended that `max_concurrent_screenshots` is set to a value that is le
# the total number of concurrent screenshots across all Grafana services.
max_concurrent_screenshots = 5
If Grafana has been set up to use an external image store, `upload_external_image_storage` should be set to `true`:
## Support for images in contact points
# Uploads screenshots to the local Grafana server or remote storage such as Azure, S3 and GCS. Please
# see [external_image_storage] for further configuration options. If this option is false, screenshots
# will be persisted to disk for up to temp_data_lifetime.
upload_external_image_storage = false
Grafana supports a wide range of contact points with varied support for images in notifications. The table below shows the list of all contact points supported in Grafana and their support for uploading images at the time of sending the notification and images uploaded to cloud storage, including when Grafana is acting as its own cloud storage service.
Restart Grafana for the changes to take affect.
| Name | Upload image at time of notification | Cloud storage |
| ----------------------- | ------------------------------------ | ------------- |
| DingDing | No | No |
| Discord | Yes | Yes |
| Email | Yes | Yes |
| Google Hangouts Chat | No | Yes |
| Kafka | No | No |
| Line | No | No |
| Microsoft Teams | No | Yes |
| Opsgenie | No | Yes |
| Pagerduty | No | Yes |
| Prometheus Alertmanager | No | No |
| Pushover | Yes | No |
| Sensu Go | No | No |
| Slack | No (will be available in 9.4) | Yes |
| Telegram | Yes | No |
| Threema | No | No |
| VictorOps | No | No |
| Webhook | No | Yes |
| Cisco Webex Teams | No | Yes |
## Supported notifiers
## Limitations
Images in notifications are supported in the following notifiers and additional support will be added in the future:
- This feature is not supported for Mimir or Loki rules, or when Grafana sends alert notifications to an external Alertmanager.
- When multiple alerts are sent in a single notification a screenshot might be included for each alert. The order the images are shown in random.
- Some contact points support at most one image per notification. In this case, the first image associated with an alert will be attached.
- We don't recommend using cloud storage if the cloud storage service is behind a firewall, gateway service, or VPN, as screenshots might not be shown in notifications.
| Name | Upload images from disk | Include images from URL |
| ----------------------- | ----------------------- | ----------------------- |
| DingDing | No | No |
| Discord | Yes | Yes |
| Email | Yes | Yes |
| Google Hangouts Chat | No | Yes |
| Kafka | No | No |
| Line | No | No |
| Microsoft Teams | No | Yes |
| Opsgenie | No | Yes |
| Pagerduty | No | Yes |
| Prometheus Alertmanager | No | No |
| Pushover | Yes | No |
| Sensu Go | No | No |
| Slack | No | Yes |
| Telegram | No | No |
| Threema | No | No |
| VictorOps | No | No |
| Webhook | No | Yes |
| Cisco Webex Teams | No | Yes |
## Troubleshooting
Include images from URL refers to using the external image store.
If Grafana has been set up to send images in notifications, however notifications are still being received without them, follow the troubleshooting steps below:
1. Check that images in notifications has been set up as per the instructions.
2. Enable debug logging in Grafana and look for logs with the logger `ngalert.image`.
3. If the alert is not associated with a dashboard there will be logs for `Cannot take screenshot for alert rule as it is not associated with a dashboard`.
4. If the alert is associated with a dashboard, but no panel in the dashboard, there will be logs for `Cannot take screenshot for alert rule as it is not associated with a panel`.
5. If images cannot be taken because of mis-configuration or an issue with image rendering there will be logs for `Failed to take an image` including the Dashboard UID, Panel ID, and the error message.
6. Check that the contact point supports images in notifications, and the present configuration, as per the table.
7. If the image was uploaded to cloud storage make sure it is public.
8. If images are made available via Grafana's built in web server make sure it is accessible via the Internet.
## Metrics
Grafana provides the following metrics to observe the performance and failure rate of images in notifications.
For example, if a screenshot could not be taken within the expected time (10 seconds) then the counter `grafana_screenshot_failures_total` is updated.
- `grafana_screenshot_cache_hits_total`
- `grafana_screenshot_cache_misses_total`
- `grafana_alerting_image_cache_hits_total`
- `grafana_alerting_image_cache_misses_total`
- `grafana_screenshot_duration_seconds`
- `grafana_screenshot_failures_total`
- `grafana_screenshot_successes_total`
- `grafana_screenshot_upload_failures_total`
- `grafana_screenshot_upload_successes_total`
## Limitations
- Images in notifications are not available for Grafana Mimir and Loki managed alert rules, or when Grafana is set up to send alert notifications to an external Alertmanager.
- When alerts generated by different alert rules are sent in a single notification, there may be screenshots for each alert rule. This happens if an alert group contains multiple alerting rules. The order the images are attached is random. If you need to guarantee the ordering of images, make sure that your alert groups contain a single alerting rule.
- Some contact points only handle a single image. In this case, the first image associated with an alert will be attached. Because the ordering is random, this may not always be an image for the same alert rule. If you need to guarantee you receive a screenshot for a particular rule, make sure that your alert groups contain a single alerting rule.

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/notifications/mute-timings/
- /docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/
- /docs/grafana/latest/alerting/manage-notifications/mute-timings/
- ../notifications/mute-timings/
- ../unified-alerting/notifications/mute-timings/
description: Mute timings
keywords:
- grafana

View File

@@ -1,13 +1,10 @@
---
aliases:
- /docs/grafana/latest/alerting/alert-groups/
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
- /docs/grafana/latest/alerting/alert-groups/filter-alerts/
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
- /docs/grafana/latest/alerting/alert-groups/
- /docs/grafana/latest/alerting/alert-groups/view-alert-grouping/
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
- -docs/grafana/latest/alerting/manage-notifications/view-alert-groups/
- ../alert-groups/
- ../alert-groups/filter-alerts/
- ../alert-groups/view-alert-grouping/
- ../unified-alerting/alert-groups/
description: Alert groups
keywords:
- grafana

View File

@@ -1,5 +1,4 @@
---
aliases:
keywords:
- grafana
- alerting

View File

@@ -1,10 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/contact-points/notifiers/webhook-notifier/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
- /docs/grafana/latest/alerting/fundamentals/contact-points/webhook-notifier/
- ../contact-points/notifiers/webhook-notifier/
- ../fundamentals/contact-points/webhook-notifier/
keywords:
- grafana
- alerting

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/
- /docs/grafana/latest/alerting/unified-alerting/
- /docs/grafana/latest/alerting/unified-alerting/difference-old-new/
- /docs/grafana/latest/alerting/difference-old-new/
- difference-old-new/
- unified-alerting/
- unified-alerting/difference-old-new/
description: Upgrade Grafana alerts
title: Upgrade Alerting
weight: 110

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/disable-alerting/
- /docs/grafana/latest/alerting/disable-alerting/
- /docs/grafana/latest/alerting/unified-alerting/disable-alerting/
- ../disable-alerting/
- ../unified-alerting/disable-alerting/
description: Disable alerting in Grafana
title: Disable alerting in Grafana
weight: 105

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