Compare commits

...

251 Commits

Author SHA1 Message Date
Kevin Minehart
81d85ce802 fix the missing bump-version 2023-06-09 11:45:53 -05:00
Kevin Minehart
cdea3d13d2 re-add useWorkspaces; it causes the bump version comman to fail but maybe it's causing this error 2023-06-09 10:44:05 -05:00
Kevin Minehart
29cea2d5d5 bump version to 10.0.0 2023-06-09 10:20:02 -05:00
Torkel Ödegaard
e6fd971a0e [v10.0.x]: Themes: Unify secondary button and ToolbarButton (#69049)
Themes: Unify secondary button and ToolbarButton (#68250)

* Themes: Unify secondary button and ToolbarButton

* Update

* Update light theme

* fix test

* fix toolbar button border

* fix disabled outline button style

* Use transparent color instead of dynamic computed color for hover bg for text/outline versions. this is what figma components do

(cherry picked from commit d4df5e0519)
(cherry picked from commit 7d7a799574)
2023-06-09 12:40:18 +03:00
Grot (@grafanabot)
6439f62253 [v10.0.x] Drawer: Fixes closeOnMaskClick false issue (#69103)
Drawer: Fixes closeOnMaskClick false issue (#69083)

(cherry picked from commit 1eed40fcf6)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 21f45c85d9)
2023-06-09 12:39:58 +03:00
Grot (@grafanabot)
46c196f1e1 [v10.0.x] Query Editor: Ensure dropdown menus position correctly (#69131)
Query Editor: Ensure dropdown menus position correctly (#69062)

prevent showing menu until options have loaded

(cherry picked from commit c55c091145)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit e97a2f0482)
2023-06-09 12:39:32 +03:00
Alexander Zobnin
4f182fd430 [v10.0.x] Authentication UI: Enable by default (#69803) (#69810)
Authentication UI: Enable by default (#69803)

(cherry picked from commit 4e1f69d83f)
(cherry picked from commit 5dacbb97e0)
2023-06-09 12:39:15 +03:00
Matthew Jacobson
33f806237f [v10.0.x] Alerting: Fix provisioned templates being ignored by alertmanager (#69488)
Alerting: Fix provisioned templates being ignored by alertmanager (#69485)

* Alerting: Fix provisioned templates being ignored by alertmanager

Template provisioning sets the template in cfg.TemplateFiles while a recent change
made it so that alertmanager reads cfg.AlertmanagerConfig.Templates instead.

This change fixes the issue on both ends, by having provisioning set boths fields and
reverts the change on the alertmanager side so that it uses cfg.TemplateFiles.

(cherry picked from commit c16f1f5e99)
(cherry picked from commit 0a6e80c6cf)
2023-06-07 10:34:03 +03:00
Grot (@grafanabot)
1022d2b2a1 [v10.0.x] Grafana UI: Fix plugin unit test errors (#69256)
Grafana UI: Fix plugin unit test errors (#69210)

* fix(grafana-ui): import from package to prevent import errors occurring in plugin tests

* style(grafana-ui): add e2e-selectors path to restricted imports rule

(cherry picked from commit 82f353c696)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 2b95f85f29)
2023-06-07 10:33:50 +03:00
Ieva
16ae9500cf Auth: Remove Email Lookup from oauth integrations 10.0 (#900)
backport https://github.com/grafana/grafana-private-mirror/pull/894 to 9.5.x

(cherry picked from commit d0f6155385862e6c0fadb2890e7859e57fa1d7a2)
2023-06-07 10:33:35 +03:00
Grot (@grafanabot)
4f5dbbbb36 [v10.0.x] Require alert.notifications:write permissions to test receivers and templates (#866)
Require alert.notifications:write permissions to test receivers and templates (#865)

(cherry picked from commit 3c21ab70075256d4ba8e4fbfdcb15f5a394161fa)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-05-30 09:39:04 +02:00
Grot (@grafanabot)
d484d2731b [v10.0.x] Prevent crash while executing concurrent mixed queries (#878)
Prevent crash while executing concurrent mixed queries (#874)

limit parallel query execution to 1 at a time

(cherry picked from commit 96579a60e19e2a9f2d6bdaeba64e0e702211eb73)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2023-05-30 09:37:42 +02:00
Grot (@grafanabot)
ae82eefade Release: Bump version to 10.0.0-preview (#889)
"Release: Updated versions in package to 10.0.0-preview"
2023-05-29 16:31:52 +03:00
dsotirakis
7175c3a42e Fix regexp 2023-05-29 16:26:17 +03:00
dsotirakis
fb3f497f6e s/beta/preview in bump-version.yml
(cherry picked from commit e735cced7af3e0aaf4ca656bdc55d5b2375d1fed)
2023-05-29 16:21:26 +03:00
Grot (@grafanabot)
e5a71e81aa [v10.0.x] docs: revamp the alerting set-up documentation (#69124)
docs: revamp the alerting set-up documentation (#69064)

* docs: revamp the alerting set-up documentation

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

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

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

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

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

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

---------

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

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2023-05-26 09:25:19 +02:00
Grot (@grafanabot)
e1f00558cd [v10.0.x] docs: Update "Create reports" doc to clarify custom time ranges and add information about drafts (#69093)
docs: Update "Create reports" doc to clarify custom time ranges and add information about drafts (#69015)

* Update index.md

Clarify that changes to dashboard time range are only reflected in the report if they are not using a custom time range.

Add information regarding saving a report as a draft.

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* running prettier

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 9a5262d5c8)

Co-authored-by: chrisharbro <102977229+chrisharbro@users.noreply.github.com>
2023-05-25 19:00:35 -04:00
Grot (@grafanabot)
c511c37756 [v10.0.x] docs: update logs integration and calculation types content (#68917)
Jasuade docs patch 1 (#68074)

* Docs update Logs in Explore

* Include new Calculation Types :docs:

* Update docs/sources/explore/logs-integration.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/explore/logs-integration.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/explore/logs-integration.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/explore/logs-integration.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Eye icon instead of Toggle field visibility

* running prettier

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 753c9c262c)

Co-authored-by: Jara Suárez de Puga García <jara.suarezdepuga@grafana.com>
2023-05-25 18:44:56 -04:00
Grot (@grafanabot)
0e37044bc3 [v10.0.x] docs: updates annotations Filter by panel and Add time region (#69119) 2023-05-25 17:14:16 -05:00
Grot (@grafanabot)
f1d9b6b636 [v10.0.x] StatusHistory: Fix rendering of value-mapped null (#69108)
StatusHistory: Fix rendering of value-mapped null (#69033)

(cherry picked from commit 37e2becdd7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-25 23:01:24 +03:00
Nathan Marrs
d841e2c09b [v10.0.x] ResourcePicker: Fix missing border bug on cancel button (#69113)
ResourcePicker: Fix missing border bug on cancel button (#68966)

* ResourcePicker: Fix missing border bug

* remove unused imports

(cherry picked from commit 2966989525)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-25 12:49:35 -07:00
Grot (@grafanabot)
2b7b737390 [v10.0.x] TimeSeries: Fix centeredZero y axis ranging when all values are 0 (#69112)
TimeSeries: Fix centeredZero y axis ranging when all values are 0 (#69034)

(cherry picked from commit 014126a43e)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-25 22:33:18 +03:00
Grot (@grafanabot)
0b9cb47dd7 [v10.0.x] Alerting: Migrate unknown NoData\Error settings to the default (#69010)
Alerting: Migrate unknown NoData\Error settings to the default (#68403)

* use default execution if legacy is not known

* update docs

* Update docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md

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

* Update docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md

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

---------

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

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-25 11:56:24 -04:00
Grot (@grafanabot)
085adb57ce [v10.0.x] Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects (#69094)
Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects (#69009)

* fix current settings parsed as new
* replace map comparison with cmp.Diff and log the diff

(cherry picked from commit e00260465b)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-25 18:56:01 +03:00
Grot (@grafanabot)
e5153d7bf3 [v10.0.x] Auth: Fix visibility of the Invite button on /admin/users page (#69067)
Auth: Fix visibility of the Invite button on /admin/users page (#68991)

* Fix for invite button visibility

* Align test

(cherry picked from commit df4db412cb)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2023-05-25 16:34:27 +02:00
Grot (@grafanabot)
95726f1530 [v10.0.x] Alerting: Add support for Alert State History Loki primary (#69077)
Alerting: Add support for Alert State History Loki primary (#69065)

add support for multiple ash targets with loki as primary

(cherry picked from commit 73681a251e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-25 14:00:33 +00:00
Grot (@grafanabot)
dc6fb6d7a4 [v10.0.x] Docs: Add JSON format for webhook notifications to differences (#69056)
Docs: Add JSON format for webhook notifications to differences (#68786)

(cherry picked from commit 65e2df7a2e)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-05-25 10:19:50 +01:00
Grot (@grafanabot)
8c8ecef1ca [v10.0.x] DataSourcePicker: Design tweak proposal (#68819)
DataSourcePicker: Design tweak proposal (#68747)

* DataSourcePicker: Design tweak proposal

* Revert unrelated change

* Remove unrelated change

* Fixed spacing of logo

(cherry picked from commit 2f6d538044)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-25 10:38:19 +02:00
Grot (@grafanabot)
1320d12aa7 [v10.0.x] Docs Alerting: Fixes table in alerting API docs (#69035)
Docs Alerting: Fixes table in alerting API docs (#68962)

Fixes table in alerting API docs

(cherry picked from commit 863f826e62)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-05-25 10:12:26 +02:00
Horst Gutmann
c774f055d5 [v10.0.x] CI: Pin the google/cloud-sdk image (#69037) (#69038)
(cherry picked from commit f22d1d14a0)

Backport of #69037
2023-05-25 10:48:45 +03:00
Jack Baldry
f5220c12ba [v10.0.x] [feat] docs; update admonition syntax (#69005)
* [v10.0.x] [feat] docs; update admonition syntax

* [feat] docs; update admonition syntax

- Standardizes according to style conventions: https://grafana.com/docs/writers-toolkit/style-guide/style-conventions/#admonitions
- Prepares docs for better, uniform admonition style.

* Remove false positives and irregularities

* false positive removal

* Update docs/sources/datasources/mysql/_index.md

* Update docs/sources/developers/angular_deprecation/angular-plugins.md

* fix link errors

* Prettify some nested blockquotes

* remoe unnecessary admonition

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

* Fix incorrect conflict resolution

---------

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
2023-05-24 22:14:24 +01:00
Grot (@grafanabot)
9757c337fb [v10.0.x] Docs: Plugins doc review chunk 3 (#68921)
Docs: Plugins doc review chunk 3 (#68159)

* Initial commit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Minor fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Review changes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Minor fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/development-with-local-grafana.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/development-with-local-grafana.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Incorporating review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/development-with-local-grafana.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Test commit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
(cherry picked from commit d68079e927)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-24 15:46:11 -05:00
Grot (@grafanabot)
dfa3b0912c [v10.0.x] update prometheus query editor doc (#69014)
update prometheus query editor doc (#68595)

* initial updates to outdated info

* minor edits prior to draft PR

* commented out options no longer available

* additional edits

* removed tables, changed format to list

* updated code mode section

* finished edits to builder mode

* added revisions per Brendan

* removed commented out section

* added note short codes

(cherry picked from commit 3edeafa663)

Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
2023-05-24 13:37:27 -07:00
Grot (@grafanabot)
261ba03efe [v10.0.x] Edit global time variable - custom date formats use browser time (#69021)
Edit global time variable - custom date formats use browser time (#69016)

* Edit global time variable - custom date formats use browser time

Fixes https://github.com/grafana/grafana/issues/68748

* run prettier

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
(cherry picked from commit 7c2358862e)

Co-authored-by: Melori Arellano <melori.arellano@grafana.com>
2023-05-24 13:35:11 -07:00
Grot (@grafanabot)
a25b103c2f [v10.0.x] "Anatomy of a Dashboard" intro docs (#68891)
* "Anatomy of a Dashboard" intro docs (#68011)

* first commit

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* applying edited suggestions

* applying edit changes

* Update docs/sources/fundamentals/dashboards-overview/index.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>

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.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>

* Apply suggestions from code review

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

* makes prettier

---------

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

* corrects doc validation errors

---------

Co-authored-by: David Allen <david.allen@grafana.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2023-05-24 09:51:57 -05:00
Grot (@grafanabot)
094223d854 [v10.0.x] Enable doc-validator for alerting directories (#68975)
* Enable doc-validator for alerting directories (#68964)

* Enable doc-validator for alerting directories

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

* Adds missing description frontmatter

* Fix some more links

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

* Fix some more links

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

* Fixes anchors

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 6c4cf4f8b9)

* Fix doc-validator anchor error

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-05-24 15:36:45 +01:00
Grot (@grafanabot)
981dfd9dba [v10.0.x] InfluxDB: Fix querying retention policies on flux mode (#68985)
InfluxDB: Fix querying retention policies on flux mode (#67722)

Query retention policies only on InfluxQL mode

(cherry picked from commit 373e4cab9a)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-24 16:01:46 +02:00
Grot (@grafanabot)
54010b47f7 [v10.0.x] InfluxDB: Fix adding FROM statement when the measurement is an empty string (#68984)
InfluxDB: Fix adding FROM statement when the measurement is an empty string (#67827)

* If the measurement empty don't add FROM statement

* Add comment line

(cherry picked from commit 764f87b485)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-24 16:01:25 +02:00
Jack Baldry
2f866cda62 Revert "[v10.0.x] [feat] docs; update admonition syntax" (#68980)
Revert "[v10.0.x] [feat] docs; update admonition syntax (#68857)"

This reverts commit 1e8c28eff4.
2023-05-24 14:54:52 +01:00
Grot (@grafanabot)
0946897262 [v10.0.x] Plugins: Correct the usage of mutex for gRPC plugin implementation (#68609)
Plugins: Correct the usage of mutex for gRPC plugin implementation (#68555)

correct usage of mutex

(cherry picked from commit bb6ec1470d)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-05-24 12:18:59 +00:00
Dimitris Sotirakis
d73bf1838e [v10.0.x] G10: Replace beta with preview references (#68347) (#68950)
G10: Replace `beta` with `preview` references (#68347)

* Update references

* Update grabpl to v3.0.38

(cherry picked from commit 7e816d010c)

# Conflicts:
#	.drone.yml
2023-05-24 10:14:43 +02:00
Kevin Minehart
d1f6d46edd [v10.0.x] CI: Add release verify pipeline (#68756) (#68934)
CI: Add release verify pipeline (#68756)

(cherry picked from commit 79f49c9649)
2023-05-24 00:18:15 +02:00
Grot (@grafanabot)
74af6f9343 [v10.0.x] Update enterprise plugins list (#68913)
Update enterprise plugins list (#68730)

Updated to reflect a couple missing plugins from https://grafana.com/docs/plugins/

(cherry picked from commit 34d294bf56)

Co-authored-by: Ron D <106610617+rgnvldr@users.noreply.github.com>
2023-05-23 14:16:34 -05:00
Andreas Christou
b160f1a92a [v10.0.x] AzureMonitor: Support multi-resource aliases and subscription aliases (#68823)
AzureMonitor: Support multi-resource aliases and subscription aliases (#68648)

Update legend aliases

- Add subscription response type
- Update AzureMonitorQuery type
- Update docs
- Update tests
- Add function to retrieve subscription display name if not present

(cherry picked from commit bca8428f63)
2023-05-23 10:05:59 -06:00
Grot (@grafanabot)
ec1989b850 [v10.0.x] Docs: Fix minor mistakes and rephrase "Manage your alert notifications" entry (#68896)
Docs: Fix minor mistakes and rephrase "Manage your alert notifications" entry (#68851)

* Docs: Fix minor mistakes and rephrase docs for alert notifications

* Update docs/sources/alerting/manage-notifications/_index.md

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

---------

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

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2023-05-23 11:39:48 -03:00
Grot (@grafanabot)
36d8798355 [v10.0.x] Pyroscope: Fix some phlare mentions in the docs (#68869)
Pyroscope: Fix some phlare mentions in the docs (#68846)

(cherry picked from commit b9ee723bb7)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-23 13:30:55 +00:00
Grot (@grafanabot)
1e8c28eff4 [v10.0.x] [feat] docs; update admonition syntax (#68857)
[feat] docs; update admonition syntax (#68842)

* [feat] docs; update admonition syntax

- Standardizes according to style conventions: https://grafana.com/docs/writers-toolkit/style-guide/style-conventions/#admonitions
- Prepares docs for better, uniform admonition style.

* Remove false positives and irregularities

* false positive removal

* Update docs/sources/datasources/mysql/_index.md

* Update docs/sources/developers/angular_deprecation/angular-plugins.md

* fix link errors

* Prettify some nested blockquotes

* remoe unnecessary admonition

(cherry picked from commit 1c4bb9ca00)

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
2023-05-23 07:47:49 -05:00
Grot (@grafanabot)
defce65315 [v10.0.x] Azure Monitor: Fix bug with top value so more than 10 resources can be shown (#68725)
Azure Monitor: Fix bug with top value so more than 10 resources can be shown  (#68333)

(cherry picked from commit dfc2ac284b)

Co-authored-by: Alyssa Bull <58453566+alyssabull@users.noreply.github.com>
2023-05-23 13:07:45 +01:00
Grot (@grafanabot)
615641f095 [v10.0.x] Dashboards: Fix undefined aria labels in Annotation Checkboxes for Programmatic Access (#68873)
Dashboards: Fix undefined aria labels in Annotation Checkboxes for Programmatic Access (#68050)

(cherry picked from commit 86ea0c2bc9)

Co-authored-by: Khushi Jain <57278642+khushijain21@users.noreply.github.com>
2023-05-23 12:32:36 +02:00
Grot (@grafanabot)
dba7dcb99d [v10.0.x] Docker: Add mode label when building docker images (#68871)
Docker: Add `mode` label when building docker images (#68865)

Add mode label when building docker image

(cherry picked from commit bad570ee86)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-05-23 10:52:38 +02:00
Grot (@grafanabot)
6683193aa9 [v10.0.x] docs: Trend: Implement docs for v10 (#68862)
docs: Trend: Implement docs for v10 (#67794)

(cherry picked from commit 0a6e3bba6c)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-23 01:35:08 +02:00
Grot (@grafanabot)
d6e07d7715 [v10.0.x] DS Picker: Use custom scrollbar (#68858)
DS Picker: Use custom scrollbar (#68845)

(cherry picked from commit 9e61172245)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-22 22:21:00 +00:00
Grot (@grafanabot)
fd0878cf30 [v10.0.x] Docs: Plugin extension API - doc review - chunk 4 (#68850)
Docs: Plugin extension API - doc review - chunk 4 (#68594)

* initial commit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Minor fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Incorporating review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Incorporating review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
(cherry picked from commit c6c3a84349)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-22 13:48:43 -05:00
Grot (@grafanabot)
05e0745d6b [v10.0.x] Docs: Update with annotations filtering and time regions (#68843) 2023-05-22 18:27:12 +02:00
Grot (@grafanabot)
05e896c8f7 [v10.0.x] OpenTSDB: use an effect to get aggregators and filters (#68837)
OpenTSDB: use an effect to get aggregators and filters (#68785)

* only update state if it's different

* use an effect

(cherry picked from commit 2cbd7f1be6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-22 16:52:14 +02:00
Grot (@grafanabot)
8ff5718782 [v10.0.x] Alerting: Fix stale query preview error (#68836)
Alerting: Fix stale query preview error (#68619)

* Use mutable ref to keep queries to be previewed to prevent stale state

* Extract code related to AlertQueryRunner to a separate hook

* Use hooks form state to keep fresh queries, fix recording rules preview

* Remove unused import

* Update query update explanation

(cherry picked from commit b37a6e9d4c)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-05-22 16:41:18 +02:00
Grot (@grafanabot)
dd4419568d [v10.0.x] Prometheus: Update schema with legendFormat and intervalFactor (#68835)
Prometheus: Update schema with legendFormat and intervalFactor (#68687)

add legendFormat and intervalFactor to the schema

(cherry picked from commit 670c987409)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-22 16:41:01 +02:00
Grot (@grafanabot)
5a6e6624e0 [v10.0.x] AnonymousAuth: Fix concurrent read-write crash (#68803)
AnonymousAuth: Fix concurrent read-write crash (#68637)

clone http req before tagging

(cherry picked from commit 05e71d4c6b)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: jguer <me@jguer.space>
2023-05-22 16:40:33 +02:00
Grot (@grafanabot)
e21236b55e [v10.0.x] Dashboard: Fix panel description event triggering every time panel is rendered (#68831)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Fix panel description event triggering every time panel is rendered (#68791)
2023-05-22 16:11:36 +02:00
Grot (@grafanabot)
4b66d1286e [v10.0.x] Graph: Fix bug with showing/hiding the legend (#68829)
Graph: Fix bug with showing/hiding the legend (#68774)

* don't unmount the root when hiding the legend

* update comment

(cherry picked from commit 0b6c5722a5)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-22 16:05:41 +02:00
Grot (@grafanabot)
d62f2989a8 [v10.0.x] Datagrid: Hide from panel list if toggle disabled (#68818)
Datagrid: Hide from panel list if toggle disabled (#68482)

Hide datagrid from panel list if ff disabled

(cherry picked from commit 6dbadf614b)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-22 15:46:24 +02:00
Grot (@grafanabot)
c6714730b8 [v10.0.x] Alerting: Add additional contact points for external AM (#68778)
Alerting: Add additional contact points for external AM (#67920)

(cherry picked from commit a44ac0ed63)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-22 15:30:01 +02:00
Dimitris Sotirakis
1a736942ae [v10.0.x] CI: Run trigger-test-release only on PRs against main (#68794) (#68815)
CI: Run `trigger-test-release` only on PRs against main (#68794)

Run trigger-test-release only on PRs against main

(cherry picked from commit 623c014cda)

# Conflicts:
#	.drone.yml

# Conflicts:
#	.drone.yml
2023-05-22 15:08:48 +02:00
Dimitris Sotirakis
d5e62fa348 [v10.0.x] Docker images: Don't fail if a PR comes from a fork (#68765) (#68784)
Docker images: Don't fail if a PR comes from a fork (#68765)

* Update grabpl

* Allow publish images to fail for PRs

(cherry picked from commit 04e2d9055d)

# Conflicts:
#	.drone.yml
2023-05-22 14:33:05 +02:00
Grot (@grafanabot)
d0b45d87fe [v10.0.x] Docs: Fix feature toggle docs generation (#68797)
Docs: Fix feature toggle docs generation (#68733)

(cherry picked from commit a7cec6dd03)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-22 14:22:41 +02:00
Grot (@grafanabot)
89ade6043d [v10.0.x] fix: Use fall back alert type for data source healthcheck alert when status is not recognised (#68806)
fix: Use fall back alert type for data source healthcheck alert when status is not recognised (#68650)

(cherry picked from commit 39e57489a1)

Co-authored-by: Andriy <andriy.urbanas@grafana.com>
2023-05-22 14:01:47 +02:00
Grot (@grafanabot)
7d4da5cf5e [v10.0.x] AzureMonitor: Ensure legacy properties containing template variables are correctly migrated (#68792)
AzureMonitor: Ensure legacy properties containing template variables are correctly migrated (#68697)

* Update migration ordering

- Update migration in applyTemplateVariables to account for interpolation from expression datasource
- Update mock to ensure overrides are passed through correctly
- Update tests
- Update migrateQuery function name for clarity

* Fix tests

* Remove comment

(cherry picked from commit 0be29b4c78)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-22 12:25:40 +02:00
Grot (@grafanabot)
fc013825d8 [v10.0.x] RBAC: Remove legacy AC editor and admin role on new dashboard route (#68777)
RBAC: Remove legacy AC editor and admin role on new dashboard route (#68762)

remove legacy AC editor and admin role on new dashboard route

(cherry picked from commit 94283f5039)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-22 10:37:35 +01:00
Grot (@grafanabot)
9fb6dcdeb8 [v10.0.x] fixed broken table format in docs (#68772)
fixed broken table format in docs (#68711)

* fixed broken table format in docs

* added prettier version of doc

(cherry picked from commit dc656ecd8a)

Co-authored-by: Krishna Dutt Panchagnula <krishnadutt123@gmail.com>
2023-05-22 10:11:39 +01:00
Dimitris Sotirakis
996b4c30c2 [v10.0.x] G10: Post docker pull commands for local testing (#67489) (#68686)
* G10: Post `docker pull` commands for local testing (#67489)

* Add grabpl publish images

Update grabpl - add github pr token

* Replace github_pr_token with gh app

# Conflicts:
#	.drone.yml
#	scripts/drone/vault.star

# Conflicts:
#	.drone.yml

# Conflicts:
#	.drone.yml

* Lint starlark

Add forgotten secrets

Lint starlark

Change secrets

* Update grabpl to v3.0.35

* Lint starlark

* Remove unnecessary secrets

(cherry picked from commit 26bacf6d4c)

# Conflicts:
#	.drone.yml

* Update grabpl to v3.0.36
2023-05-22 09:47:53 +02:00
Grot (@grafanabot)
a8acaa3681 [v10.0.x] DS Picker takes the max height available and flip when needed (#68729)
DS Picker takes the max height available and flip when needed (#68698)

(cherry picked from commit 49467b3e5a)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-18 20:20:28 +02:00
Grot (@grafanabot)
5ef56b2843 [v10.0.x] Enable doc-validator for specific directories (#68724)
* Enable doc-validator for specific directories (#63524)

* Enable doc-validator for specific directories

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

* Fix one linting error to trigger CI

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

* Update doc-validator to latest release

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

* Update make-docs procedure

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

* Use doc-validator version from CI in local make target

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

* Revert to 1.11.0

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

* adds missing descriptions

* Fix titles and headings

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

* Fix link formats

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

* Fix easy to resolve anchors

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

* Remove broken anchor link

This anchor appears to have been broken for a long time.

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

* Use doc-validator image with support for numbered anchors

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

* Update make-docs procedure to support doc-validator 2.0.x

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

* Fix a bunch of broken anchors

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

* Ignore old whatsnew content

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

* Update doc-validator to v2.0.x and use reviewdog to report errors

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

* removes broken links

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit 560f49b3dc)

* Fix doc-validator linting

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-05-18 19:07:45 +02:00
Grot (@grafanabot)
e4d5fb99ca [v10.0.x] Azure Monitor: Fix bug that did not show alert rule preview (#68581) 2023-05-18 10:47:42 -06:00
Grot (@grafanabot)
69d19f6aea [v10.0.x] Clarify Graphite version and type to set if using Grafana Cloud (#68721)
Clarify Graphite version and type to set if using Grafana Cloud (#68239)

* Clarify Graphite version and type to set if using Grafana Cloud

* Update _index.md

(cherry picked from commit 9f7f82c3cc)

Co-authored-by: Fiona Liao <fiona.y.liao@gmail.com>
2023-05-18 18:15:51 +02:00
Grot (@grafanabot)
162b6c7db0 [v10.0.x] Nested folders: only stop recursing up the tree if we hit a folder (#68716)
Nested folders: only stop recursing up the tree if we hit a folder (#68676)

only stop recursing up the tree if we hit a folder

(cherry picked from commit 0a44793390)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-18 18:09:07 +02:00
Grot (@grafanabot)
1bc31120dd [v10.0.x] Chore: Refactor Search out-of-order fix (#68710)
Chore: Refactor Search out-of-order fix (#68445)

(cherry picked from commit 9e4b532979)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-18 16:04:48 +00:00
Grot (@grafanabot)
1740dba8f3 [v10.0.x] Service graph: Fix error when service graph metrics are aggregated (#68692)
Service graph: Fix error when service graph metrics are aggregated (#68613)

make service graph work with aggregated metrics

(cherry picked from commit e1c2eb8c10)

Co-authored-by: Domas <domasx2@gmail.com>
2023-05-18 13:22:34 +03:00
Grot (@grafanabot)
1e9f73df62 [v10.0.x] Chore: Ignore unique constrain failure when creating the main organization (#68674)
Chore: Ignore unique constrain failure when creating the main organization (#68644)

Chore: Ignore unique constrain failure when creatin the main organization
(cherry picked from commit 633b7875e7)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-18 10:40:39 +02:00
Grot (@grafanabot)
4cb0fb9c92 [v10.0.x] Barchart: Update gdev dashboard for tooltips (#68665)
Barchart: Update gdev dashboard for tooltips (#68657)

(cherry picked from commit 33af88481c)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-17 16:06:30 -07:00
Grot (@grafanabot)
eb658a26a1 [v10.0.x] Barchart: Apply field visibility to traceID (#68585)
Barchart: Apply field visibility to traceID (#68524)

(cherry picked from commit 160e207e47)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-17 16:05:20 -07:00
Grot (@grafanabot)
330e64867f [v10.0.x] NodeGraph: Fix overlaps preventing opening an edge context menu when nodes were too close (#68628)
NodeGraph: Fix overlaps preventing opening an edge context menu when nodes were too close (#68571)

(cherry picked from commit 14936f85df)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-17 19:10:46 +02:00
Grot (@grafanabot)
fb679a0f85 [v10.0.x] Accessibility: Corrected aria-label for Edit Panel (#68640)
Accessibility: Corrected aria-label for Edit Panel (#67185)

* Accessibility: Corrected aria-label for Edit Panel

* Added data-testid

* Added data-testid

* Added betterer results

(cherry picked from commit 416e347e70)

Co-authored-by: Khushi Jain <57278642+khushijain21@users.noreply.github.com>
2023-05-17 18:28:05 +03:00
Josh Hunt
6f803efb63 [v10.0.x] GrafanaUI: Support Tooltip as Dropdown child (#68639)
GrafanaUI: Support Tooltip as Dropdown child (#68521)

Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com
(cherry picked from commit 7b3221d494)
2023-05-17 18:12:49 +03:00
Grot (@grafanabot)
21e2ac6d8a [v10.0.x] Elasticsearch: Handle no-index case in backend mode (#68629)
Elasticsearch: Handle no-index case in backend mode (#68534)

* elastic: backend migration: fix no-index case

* improved code

(cherry picked from commit fcef387151)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-05-17 13:39:07 +00:00
Ivana Huckova
3c1b5dda40 [v10.0.x] Elasticsearch: Fix passing of limit and datalinks to logs data frame (#68626)
* Elasticsearch: Fix passing of limit and datalinks to logs data frame (#68554)

* Elasticsearch: Fix passing of limit and datalinks to logs data frame

* Update public/app/core/logsModel.ts

Co-authored-by: François Massot <francois.massot@gmail.com>

---------

Co-authored-by: François Massot <francois.massot@gmail.com>
(cherry picked from commit dbbbc46351)

* Add missing comment
2023-05-17 15:34:13 +02:00
Grot (@grafanabot)
e7131470cd [v10.0.x] Docs: Update run behind proxy docs (#68610)
Docs: Update run behind proxy docs (#68608)

(cherry picked from commit 5457a9ecf2)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 07:58:15 -05:00
Grot (@grafanabot)
e2fbb6ef97 [v10.0.x] Remove no-data source screen (#68623)
Dashboards: Remove no-data source screen (#68574)

* Dashboards: Remove non-ds configured landing page

* Remove `datasourceOnboarding` feature toggle

(cherry picked from commit 1505a188eb)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-17 15:51:31 +03:00
Grot (@grafanabot)
feb94ac72f [v10.0.x] Elasticsearch: Implement filter query to not run hidden queries trough backend (#68614)
Elasticsearch: Implement filter query to not run hidden queries trough backend (#68563)

Elasticsearch: Implement filter query
(cherry picked from commit e74bbadecd)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-05-17 07:46:22 -05:00
Grot (@grafanabot)
b57f0aaf78 [v10.0.x] Chore: Update generated scss (#68624)
Chore: Update generated scss (#68618)

(cherry picked from commit d20a03e2d1)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 15:36:39 +03:00
Grot (@grafanabot)
1c4645c1de [v10.0.x] TopNav: Tone down shadow a bit in light theme (#68622)
TopNav: Tone down shadow a bit in light theme (#68282)

* TopNav: Tone down shadow a bit in light theme

* softer shadow

(cherry picked from commit 5f84dad7e4)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 15:30:37 +03:00
Ashley Harrison
cd1fffe054 NestedFolders: make sure DashboardPage code is feature toggled correc… (#68606)
NestedFolders: make sure DashboardPage code is feature toggled correctly (#68602)

make sure DashboardPage code is feature toggled correctly

(cherry picked from commit bbb6795757)
2023-05-17 12:29:58 +03:00
Grot (@grafanabot)
bd533a2246 [v10.0.x] API: Add deprecation notice for updating folder UID (#68567)
API: Add deprecation notice for updating folder UID (#68543)

* API: Add deprecation notice for updating folder UID

(cherry picked from commit 14fb4ff779)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-17 04:05:38 -05:00
Grot (@grafanabot)
bc5674cdee [v10.0.x] DarkTheme: Fix dark theme shadows (#68599)
DarkTheme: Fix dark theme shadows (#68358)

* DarkTheme: Fix dark theme shadows

* Update

(cherry picked from commit 37791e7a01)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 08:23:26 +00:00
Grot (@grafanabot)
303bb6c5a8 [v10.0.x] Sparkline: Sort dataframe (#68598)
Sparkline: Sort dataframe (#68007)

* Sort sparkline dataframe

* Sort frame only if needed

* add utils test

(cherry picked from commit 94801c9c75)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-17 08:21:08 +03:00
Grot (@grafanabot)
714f9b5e7a [v10.0.x] Chore: remove pre tags from DOMPurify config (#68593)
Chore: remove pre tags from DOMPurify config (#68512)

(cherry picked from commit 4ccaf801d7)

Co-authored-by: Kristian Bremberg <114284895+KristianGrafana@users.noreply.github.com>
2023-05-16 22:22:41 +00:00
Grot (@grafanabot)
4dc76672d3 [v10.0.x] AzureMonitor: Traces updates (#68577)
AzureMonitor: Traces updates (#68462)

* Use fully qualified resource identifiers

* Add additional data link to explore parent span

* Correctly order links to not break trace logs functionality

(cherry picked from commit bf75969794)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-16 19:08:41 +01:00
Andreas Christou
feae460c48 [v10.0.x] E2E: Fix configurePanel flow (#68580)
E2E: Fix configurePanel flow (#68487)

* Updates for new datasource picker

* Correct typing to ensure datasource selection

* Remove unused import

* Update labels

* Update labels and fix test

* Fix another test

(cherry picked from commit 51c15f3a89)

# Conflicts:
#	public/app/features/explore/Explore.test.tsx
2023-05-16 20:53:07 +03:00
Grot (@grafanabot)
fde1e6f028 [v10.0.x] Cloudwatch Logs: Ignore non-time grouping fields in expressions and alerts (#68547)
Cloudwatch Logs: Ignore non-time grouping fields in expressions and alerts (#67608)

(cherry picked from commit 0612f1f87a)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2023-05-16 12:14:14 -04:00
Grot (@grafanabot)
09c68763ff [v10.0.x] elastic: more tests (#68562)
elastic: more tests (#68533)

* elastic: more tests

* fix lint error

(cherry picked from commit 6189f48be7)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-05-16 17:50:12 +02:00
Grot (@grafanabot)
18ef15e2b8 [v10.0.x] Node graph: Fix req/s in value (#68558)
Node graph: Fix req/s in value (#68441)

fix req/s in node graph

(cherry picked from commit 43df362aed)

Co-authored-by: Domas <domasx2@gmail.com>
2023-05-16 17:57:45 +03:00
Grot (@grafanabot)
5940138ddc [v10.0.x] NestedFolders: Show Dashboard and Folder full breadcrumb hierarchy (#68546)
NestedFolders: Show Dashboard and Folder full breadcrumb hierarchy (#68308)

* update FolderDTO to match backend struct

* hacky way to get folder page breadcrumbs working

* hacky way to get dashboard nested breadcrumbs working

* undo route changes, get url from folder

* fix breadcrumbs in dashboard settings

* add parent pages to navIndex

* adjust getRootSectionForNode to just return the parent of a leaf node

* undo changes to generated files

* undo changes to toggles_gen.go

* feature toggle dashboardInit code

* remove unnecessary code in home dashboard

* build navModel directly, don't use getNavModel

* don't need fallback here

* remove getLoadingNav since it's not used anymore

* don't need to hide tabs from breadcrumbs anymore

* use id to find dashboards tab

(cherry picked from commit 82114cb316)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-16 16:55:47 +03:00
Grot (@grafanabot)
d0cf3d1b48 [v10.0.x] Nested folders: Allow renaming a folder multiple times (#68550)
Nested folders: Allow renaming a folder multiple times (#68379)

Return folder version in response that is required for updating
the entry in the dashboard table.

(cherry picked from commit d458292b66)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-16 16:52:54 +03:00
Grot (@grafanabot)
2641637106 [v10.0.x] Dashboard: Fix library panels in collapsed rows not getting updated (#68537)
Dashboard: Fix library panels in collapsed rows not getting updated (#66643)

(cherry picked from commit f478504bc9)

Co-authored-by: Victor Colomb <51762123+VictorColomb@users.noreply.github.com>
2023-05-16 13:06:46 +01:00
Domas
c3c68d2aa2 DataLinks: Ensure replaceVariables provided to link.onBuildUrl is bou… (#68442)
DataLinks: Ensure replaceVariables provided to link.onBuildUrl is bound to data frame variables (#68371)

* bind variable replacer provided to link.onBuildUrl to data frame vars

* revert internal link change

(cherry picked from commit bb2cbd2e01)
2023-05-16 11:20:40 +03:00
Grot (@grafanabot)
2712008ca1 [v10.0.x] Trend: Filter out time fields (#68507)
Trend: Filter out time fields (#68504)

(cherry picked from commit 5a5860256f)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-16 02:09:15 +03:00
Grot (@grafanabot)
61c237a25e [v10.0.x] Barchart: Add gdev dashboard for tooltips (#68505)
Barchart: Add gdev dashboard for tooltips (#68417)

* Barchart: Add gdev dashboard for tooltips

* Add graph-ng tag for uplot dependency

---------

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

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-15 22:56:05 +00:00
Grot (@grafanabot)
dd27c4e854 [v10.0.x] Canvas: Fix field not found (#68503)
Canvas: Fix field not found (#68415)

(cherry picked from commit 92d865ccce)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-05-16 01:41:38 +03:00
Grot (@grafanabot)
9d162ef3f6 [v10.0.x] Timeseries: Graph series override stack migration (#68492)
Timeseries: Graph series override stack migration (#68491)

(cherry picked from commit e0d8f3b4a7)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-05-15 21:22:19 +00:00
Grot (@grafanabot)
4d1a71f589 [v10.0.x] PanelQueryRunner: Ensure same transformations before reusing lastProcessedFrames (#68499)
PanelQueryRunner: Ensure same transformations before reusing lastProcessedFrames (#68498)

(cherry picked from commit 8ba1762618)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-15 23:57:34 +03:00
Grot (@grafanabot)
797298555c [v10.0.x] AzureMonitor: Update docs with Traces information (#68493)
AzureMonitor: Update docs with Traces information (#68104)

* Update docs for traces

- Include note on timespan changes for logs queries

* Review

* Review

(cherry picked from commit 778a09eaa7)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-15 14:25:54 -05:00
Grot (@grafanabot)
c4ec980527 [v10.0.x] Docs: Plugin doc review changes from chunk 1-B with corrected set of files (#68149)
Docs: Plugin doc review changes from chunk 1-B with corrected set of files (#67164)

* Re-pushing doc review changes from 1-B with fewer files

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix for URL examples

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Data frames fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More doc review changes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix migration index

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix screenshot

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Quick fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
(cherry picked from commit d6ba522c3c)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-15 12:50:24 -05:00
Dimitris Sotirakis
d2f74c4942 [v10.0.x] CI: Add delivery bot secrets to publish images step (#68467) (#68473)
CI: Add delivery bot secrets to publish images step (#68467)

Add delivery bot secrets

(cherry picked from commit 55622615de)

# Conflicts:
#	.drone.yml
#	scripts/drone/vault.star
2023-05-15 16:58:38 +02:00
Horst Gutmann
67ad2032df [v10.0.x] CI: Update grabpl to 3.0.34 (#68456) (#68475)
* CI: Port of init-enterprise fix from 9.4.10

* CI: Update grabpl to 3.0.34

(cherry picked from commit 35ccfa6131)

Backport https://github.com/grafana/grafana/pull/68456
2023-05-15 17:04:11 +03:00
Grot (@grafanabot)
27059d710b [v10.0.x] Tempo: Fix get label values based on CoreApp type (#68468)
Tempo: Fix get label values based on CoreApp type (#68463)

Fix and update test

(cherry picked from commit a1f76af15a)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2023-05-15 14:53:04 +01:00
Grot (@grafanabot)
050b7e5e7b [v10.0.x] FlameGraph: Add user interaction reporting (#68459)
FlameGraph: Add user interaction reporting (#68458)

(cherry picked from commit 47b7b05591)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-15 13:17:50 +00:00
Grot (@grafanabot)
ff574e707d [v10.0.x] ToolbarButtonRow: prevent closure of overflow menu when interacting with portal elements (#68457)
ToolbarButtonRow: prevent closure of overflow menu when interacting with portal elements (#68319)

* don't close the overflow menu when interacting with something in a portal

* keep overflow ref logic

(cherry picked from commit 5d91ace745)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-15 15:56:03 +03:00
Ivan Ortega Alba
7e253d37c3 [v10.0.x] DS Picker: Align open advanced button to right (#68444)
DS Picker: Align open advanced button to right (#68394)

(cherry picked from commit da00df8e5c)
2023-05-15 14:44:37 +02:00
Grot (@grafanabot)
531b6f29fd [v10.0.x] Nested folders: Clear selection state when navigating to a different folder (#68455)
Nested folders: Clear selection state when navigating to a different folder (#68438)

* clear selection state when navigating to a different folder

* consolidate useEffects

(cherry picked from commit 7e3c68d3c1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-15 15:36:37 +03:00
Grot (@grafanabot)
189f2879c0 [v10.0.x] FlameGraph: Debounce search update preventing too frequent rerenders (#68453)
FlameGraph: Debounce search update preventing too frequent rerenders  (#68405)

(cherry picked from commit e6db01dcbe)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-15 15:36:34 +03:00
Grot (@grafanabot)
9172ff35ed [v10.0.x] FlameGraph: Fix table sort being reset when search changes (#68454)
FlameGraph: Fix table sort being reset when search changes (#68409)

(cherry picked from commit a0942bd1df)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-15 15:36:11 +03:00
Josh Hunt
f7047afa5c [v10.0.x] Search: Fix Search returning results out of order (#68387)
Search: Fix Search returning results out of order (#68370)

* Search: Fix Search returning results out of order

* test

(cherry picked from commit 78afddebbf)
2023-05-15 09:01:46 +00:00
Grot (@grafanabot)
9c76665998 [v10.0.x] NewsDrawer: Add grot to news drawer (after news items) (#68435)
NewsDrawer: Add grot to news drawer (after news items)  (#68173)

* NewsDrawer: Add grot to drawer header

* Update

* Move to bottom

* Updates

* reverted unrelated change

* Update

* fixing test

(cherry picked from commit c8fd3c20cd)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-15 06:25:49 +00:00
Grot (@grafanabot)
d63c7caad5 [v10.0.x] XYChart: Use fixed opacity, reduce memory pressure (#68424)
XYChart: Use fixed opacity, reduce memory pressure (#68423)

(cherry picked from commit ea0bf989cb)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-12 19:13:40 -05:00
Grot (@grafanabot)
f2593ec7af [v10.0.x] ResourcePicker: Fix selecting icons (#68422)
ResourcePicker: Fix selecting icons (#68419)

(cherry picked from commit 24037ddd59)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-05-12 17:12:23 -07:00
Grot (@grafanabot)
0a4f4c1951 [v10.0.x] Plugins doc review chunk 2 (#68413)
Plugins doc review chunk 2 (#67691)

* Doc style edit for 7 topics

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Proofread topics

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/add-query-editor-help.md

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Changes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Incorporate review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 49a18bc8e2)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-12 14:01:01 -05:00
Grot (@grafanabot)
5f0f4ab417 [v10.0.x] Previews: remove docs (#68406)
Previews: remove docs (#68042)

remove dashboard preview docs

(cherry picked from commit 8dee5d3364)

Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2023-05-12 12:35:52 -05:00
Grot (@grafanabot)
86195d1937 [v10.0.x] Drawer: Position under nav & minor redesign (#68396)
Drawer: Position under nav & minor redesign  (#67824)

* Drawer: Redesign WIP

* Fix double margin

* Teak pos

* align paddings

* Hide toolbar actions when drawer is open

* deprecate expandable

* Updated test

* remove expandable var

* Added clickaway

(cherry picked from commit ae1a85b5ad)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-12 09:31:38 -07:00
Grot (@grafanabot)
1654b7abed [v10.0.x] Add/Edit Panel: Enable new DS picker toggle by default (#68391)
* Add/Edit Panel: Enable new DS picker toggle by default (#68380)

(cherry picked from commit ede8df846e)

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-12 09:31:11 -07:00
Grot (@grafanabot)
2cf876d8f8 [v10.0.x] Wording changes to improve clarity. (#68401)
Wording changes to improve clarity. (#66045)

* Wording changes to improve clarity.

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

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

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* ran doc validator, make corrections

---------

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 fd83b17b7f)

Co-authored-by: colinedwardwood <colin.wood@grafana.com>
2023-05-12 11:20:55 -05:00
Grot (@grafanabot)
d5fd652f83 [v10.0.x] Drawer: Introduce a size property that set's width percentage and minWidth (#68128)
Drawer: Introduce a size property that set's width percentage and minWidth  (#67809)

* Drawer: Introduce drawer size that sets width and min-width

* media queries

* Change large drawer to 75%

* Change news drawer to medium as the news items have better layout then with images on the side

* Tweaks and fixed inline drawer issue

* review fixes

* Deprecate inline, update mdx docs

* remove inline var

(cherry picked from commit 20217db100)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-12 18:01:41 +02:00
Grot (@grafanabot)
c126ea976f [v10.0.x] Command Palette: Prevent stale search results from overwriting newer results (#68392)
Command Palette: Prevent stale search results from overwriting newer results (#68377)

* only update the state if this is the most recent request

* fix empty state as well

* improve perf of recent dashboards

(cherry picked from commit 446885bd1a)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-12 18:33:04 +03:00
Grot (@grafanabot)
42ad031585 [v10.0.x] Explore: Remove data source onboarding page (#68381)
Explore: Remove data source onboarding page (#68131)

* Remove EmptyStateWrapper

(cherry picked from commit cee838c8a8)

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2023-05-12 08:16:39 -06:00
Grot (@grafanabot)
fe15f75256 [v10.0.x] Settings: Add ability to override skip_org_role_sync with Env variables (#68376)
Settings: Add ability to override `skip_org_role_sync` with Env variables (#68364)

Switch to using the SectionsWithOverride for settings for skip org role sync

(cherry picked from commit 1a79c8a601)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-12 13:58:19 +01:00
Grot (@grafanabot)
573491e685 [v10.0.x] Navigation: Add keyboard shortcut to navigate directly to Dashboards (#68374)
Navigation: Add keyboard shortcut to navigate directly to Dashboards (#68350)

* add go to dashboards keybinding

* add shortcut to keybindings modal

(cherry picked from commit 4f987a4a5d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-12 13:52:02 +01:00
Dimitris Sotirakis
032b615de2 [v10.0.x] CI: Add .drone.yml in pathschanged trigger for lint_backend pipeline (#68348) (#68369)
CI: Add `.drone.yml` in pathschanged trigger for `lint_backend` pipeline (#68348)

Add .drone.yml in pathschanged for lint_backend

(cherry picked from commit b7b13067a5)

# Conflicts:
#	.drone.yml
2023-05-12 13:25:27 +01:00
Giordano Ricci
c1e8c3b2c4 [v10.0.x] Explore: Promote exploreMixedDatasource to Stable & enable by default (#68353) 2023-05-12 12:44:57 +01:00
Grot (@grafanabot)
7e0d4ae355 [v10.0.x] docs: add legacy alerting deprecation notice (#68355)
docs: add legacy alerting deprecation notice (#68292)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 4310f574db)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-12 11:40:53 +00:00
Grot (@grafanabot)
691248d8e4 [v10.0.x] SAML UI: Adds documentation link to the Authentication UI (#68363)
SAML UI: Adds documentation link to the Authentication UI (#68062)

* adds documentation link to the saml ui

* add correct link

* add link to docuemntation

* add documentation etxt

* documentation update wordings

(cherry picked from commit 09d7d25c9f)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-12 12:17:52 +01:00
Grot (@grafanabot)
2fb5bc3a15 [v10.0.x] Docs: Rename Phlare to Grafana Pyroscope (#68352)
Docs: Rename Phlare to Grafana Pyroscope (#67224)

(cherry picked from commit dd80471a92)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-12 10:52:13 +02:00
Grot (@grafanabot)
77f7e8b84e [v10.0.x] Flamegraph: Fix tooltip positioning (#68312)
Flamegraph: Fix tooltip positioning (#67938)

(cherry picked from commit 37de4a825b)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-12 10:50:08 +02:00
Grot (@grafanabot)
c0473f492c [v10.0.x] Pyroscope: Add authentication when calling backendType resource API (#68311)
Pyroscope: Add authentication when calling backendType resource API (#67667)

(cherry picked from commit 8da90f624d)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-12 10:49:54 +02:00
Grot (@grafanabot)
b811e9c517 [v10.0.x] Docs: Clarify precedence of Grafana settings (#68063)
Docs: Clarify precedence of Grafana settings (#68020)

(cherry picked from commit 6aab5e35d5)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-05-11 21:55:18 -07:00
Grot (@grafanabot)
c88819b0d7 [v10.0.x] Docs: Correct capitalization of openSUSE (#68337)
Docs: Correct capitalization of openSUSE (#67567)

Correct capitalization of openSUSE

(cherry picked from commit 7e0031ec36)

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>
2023-05-11 15:35:51 -05:00
Grot (@grafanabot)
783d667968 [v10.0.x] PublicDashboards: change wording and FF to public preview state (#68328)
PublicDashboards: change wording and FF to public preview state (#68262)

(cherry picked from commit 11c388a10f)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2023-05-11 17:29:49 -03:00
Grot (@grafanabot)
ea62d2d8e2 [v10.0.x] AzureMonitor: Update query tracking (#68324)
AzureMonitor: Update query tracking (#68114)

* Update tracking

- Add traces tracking
- Update other query type tracking

* Fix lint

* More tracking

* Lint

(cherry picked from commit 5a044ac4b4)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-11 17:50:47 +01:00
Grot (@grafanabot)
54b65f8a74 [v10.0.x] Barchart: Ensure data field overrides apply (#68320)
Barchart: Ensure data field overrides apply (#67872)

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

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-11 16:45:44 +00:00
Grot (@grafanabot)
d116f634a1 [v10.0.x] Tempo: Escape regex-sensitive characters in span name before building promql query (#68313)
Tempo: Escape regex-sensitive characters in span name before building promql query (#66301)

* Tempo: escape regex-sensitive characters in span name before building promql query

* Make gen-cue

* Add type

* Add tests

* Test

* Minor update

---------

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
(cherry picked from commit 8b1afb594d)

Co-authored-by: gordeevnm <gordeevnm@gmail.com>
2023-05-11 15:51:26 +01:00
Grot (@grafanabot)
b02a4bf178 [v10.0.x] SAML UI: configuration file tooltip info (#68309)
SAML UI: configuration file tooltip info (#67861)

* adds icon and text to the card if enabled in inifile

* make use of verbose settings

* add state to enabledInIniFile

* rename to configFound and removal of default values

(cherry picked from commit 9b10664560)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-11 14:27:52 +01:00
Grot (@grafanabot)
6138f96396 [v10.0.x] DS Picker: Do not create extra history entries for panel onboarding (#68284)
DS Picker: Do not create extra history entries for panel onboarding (#68227)

(cherry picked from commit 0565c3440f)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-11 15:14:14 +02:00
Grot (@grafanabot)
2ee5a009cd [v10.0.x] Candlestick: Fix panel not rendering in candles-only mode (#68307)
Candlestick: Fix panel not rendering in candles-only mode (#68279)

(cherry picked from commit b96a2c1b62)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-11 12:49:48 +00:00
Grot (@grafanabot)
14be55f682 [v10.0.x] AngularDeprecation: Show warnings in panel edit for angular panels (#68083)
AngularDeprecation: Show warnings in panel edit for angular panels (#67891)

* AngularDeprecation: Show warnings in panel edit for angular panels

* update wording

* Update public/app/features/dashboard/components/PanelEditor/AngularPanelPluginWarning.tsx

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* Update public/app/features/dashboard/components/PanelEditor/AngularPanelPluginWarning.tsx

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 4c536e5942)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-11 12:27:18 +00:00
Grot (@grafanabot)
fdbe99b48a [v10.0.x] Nested folders: Fix missing URL from folder responses (#68226)
Nested folders: Fix missing URL from folder responses (#68082)

* Nested folders: Set URL in folder responses always

* Apply suggestions from code review

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
(cherry picked from commit d883404f50)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-11 12:50:47 +03:00
Grot (@grafanabot)
869a693bcf [v10.0.x] Dashboard: Fix Drawer validation to avoid errors with empty request objects (#68287)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Fix Drawer validation to avoid errors with empty `request` objects (#68214)
2023-05-11 11:29:32 +02:00
Grot (@grafanabot)
298542e353 [v10.0.x] Improve DS Advance Picker to give user context about the built in DS and CTA (#68252)
Improve DS Advance Picker to give user context about the built in DS and CTA (#68203)

* Add description to DS built-in list of items

* Open the new DS view in a new tab

(cherry picked from commit cb293ecf1c)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-11 08:23:18 +00:00
Grot (@grafanabot)
f62ebe5971 [v10.0.x] Fix renaming columns when displayName or displayNameFromDS are present (#68280)
Fix renaming columns when displayName or displayNameFromDS are present (#67751)

* Fix renaming columns when displayName or displayNameFromDS are present

* refactor

* Fix showing correct column header title

(cherry picked from commit d8dfef71e2)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-11 09:43:35 +03:00
Grot (@grafanabot)
1f0a68f5ed [v10.0.x] docs: Geomap: Update docs to include link to official github discussion (#68278)
docs: Geomap: Update docs to include link to official github discussion (#67795)

(cherry picked from commit bcebb2cb60)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-11 04:40:04 +00:00
Grot (@grafanabot)
ecc1cd64ad [v10.0.x] TopSearchBar: Fix TopSearchBar if [help] enabled = false (#68253)
TopSearchBar: Fix TopSearchBar if [help] enabled = false (#68249)

Fix TopSearchBar for disabled help

(cherry picked from commit 64c89dc4e6)

Co-authored-by: Buger-od-ua <35795595+Buger-od-ua@users.noreply.github.com>
2023-05-10 22:09:21 +03:00
Grot (@grafanabot)
d9718fb3f0 [v10.0.x] Dashboards: Only refresh panels on panel edit exit if refresh is set (#68225)
Dashboards: Only refresh panels on panel edit exit if refresh is set (#67652)

Closes #66838

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 7801cf6585)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2023-05-10 18:59:14 +02:00
Galen Kistler
cefc1bf224 [v10.0.x] Prometheus: bug in creating autocomplete queries with labels (#68243)
Prometheus: bug in creating autocomplete queries with labels (#68003)

Fix bug formatting multiple prometheus labels when doing metric query

(cherry picked from commit a1bc1bd368)
2023-05-10 11:05:59 -05:00
Grot (@grafanabot)
af2276d31f [v10.0.x] Histogram: Respect min/max panel settings for x-axis (#68245)
Histogram: Respect min/max panel settings for x-axis (#62273)

(cherry picked from commit 8f8baf1a07)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-10 19:04:30 +03:00
Horst Gutmann
0c44250bcb [v10.0.x] CI: Move windows-tests into promotion pipeline (#68218) (#68229)
(cherry picked from commit acd02e8a48)

Backport of https://github.com/grafana/grafana/pull/68218
2023-05-10 17:32:21 +03:00
Grot (@grafanabot)
1a066c7859 [v10.0.x] HelpWizard: Show snapshot preview regardless of scenes feature toggle (#68217)
HelpWizard: Show snapshot preview regardless of scenes feature toggle (#68157)

(cherry picked from commit 1f43c62d03)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-10 14:10:46 +00:00
Grot (@grafanabot)
cc2e352c03 [v10.0.x] Folders: return an error when listing folders if permission guardian returns an error (#68224)
Folders: return an error when listing folders if permission guardian returns an error (#68109)

return an error when listing folders if perm gaurdian returns an error

(cherry picked from commit e51b92991d)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-05-10 16:20:50 +03:00
Grot (@grafanabot)
e77a9c1269 [v10.0.x] QueryRow: Make toggle actions screen-readers accessible (#68210)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-05-10 13:25:46 +01:00
Horst Gutmann
65aad4912b [v10.0.x] CI: Remove windows backend tests from release pipelines (#68166) (#68208)
Remove windows backend tests from release pipelines

These are run in other places so there is no benefit to also include
them here.

(cherry picked from commit 1e8cad625b)

Backport of https://github.com/grafana/grafana/pull/68166
2023-05-10 15:17:20 +03:00
Grot (@grafanabot)
92454e65c3 [v10.0.x] AzureMonitor: Add health check retry logic (#68161)
AzureMonitor: Bump credential wait time (#68120)

Bump credential wait time as 15s seems too short

(cherry picked from commit 0d3a78d86d)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-10 15:01:00 +03:00
Tania
45bbc22900 [v10.0.x] Codegen: Fix composable kinds docs generation (#68186)
* Fix plugins docs codegen

* Regenerate docs
2023-05-10 13:38:44 +02:00
Grot (@grafanabot)
5c052684fb [v10.0.x] Nested folders: Redo search query when actions complete (#68193)
Nested folders: Redo search query when actions complete (#68102)

redo search query if searching when actions complete

(cherry picked from commit 135b0a25aa)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-10 14:32:18 +03:00
Grot (@grafanabot)
9cb18aefd9 [v10.0.x] Nested folders: remove behaviour where selecting all children selects parent (#68187)
Nested folders: remove behaviour where selecting all children selects parent (#68084)

remove behaviour where selecting all children selects parent

(cherry picked from commit 765da9c841)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-10 14:19:09 +03:00
Grot (@grafanabot)
de142614c7 [v10.0.x] Update index.md (#68188)
Update index.md (#67979)

removing an extra ':'

(cherry picked from commit 5145f4d3f1)

Co-authored-by: bojankezele <79632099+bojankezele@users.noreply.github.com>
2023-05-10 10:49:42 +00:00
Grot (@grafanabot)
fffb133003 [v10.0.x] Settings: Do not hide sensitive values if it's empty (#68197)
Settings: Do not hide sensitive values if it's empty (#68088)

* Settings: Do not hide sensitive values if it's empty

* Fix implementation

* Add tests for RedactedValue function

(cherry picked from commit 0b6ae0d119)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-05-10 12:49:25 +02:00
Grot (@grafanabot)
d5844c35f8 [v10.0.x] AzureMonitor: Correctly set resource parameter for Logs queries (#68196)
AzureMonitor: Correctly set resource parameter for Logs queries (#68133)

* Update to ensure the resources parameter is passed through for logs queries only

* Use string slices for resources to ensure order remains the same

* Fix lint

* clarify test

(cherry picked from commit e059ce9c8a)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-10 13:39:04 +03:00
Grot (@grafanabot)
758dfbdbfd [v10.0.x] Alerting: Update contact point state semantics (#68126)
Alerting: Update contact point state semantics (#67994)

(cherry picked from commit 5d047160e9)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-10 11:43:01 +02:00
Grot (@grafanabot)
85096b0404 [v10.0.x] Alerting: Fix broken integration test (#68181)
Alerting: Fix broken integration test (#68140)

From https://github.com/grafana/grafana/pull/68122

(cherry picked from commit 5422609fb1)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-05-10 12:03:33 +03:00
Grot (@grafanabot)
6b356a52b9 [v10.0.x] Use expected types for admonition (#68175)
Use expected types for admonition (#68080)

All types are declared lowercased.

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

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-05-10 09:49:58 +01:00
Grot (@grafanabot)
36d6a9bd1f [v10.0.x] Alerting: Omit "description" and "summary" from default email template annotations (#68130)
Alerting: Omit "description" and "summary" from default email template annotations (#68122)

(cherry picked from commit 720b5b3b65)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-10 08:46:51 +00:00
Grot (@grafanabot)
40ac2a6c4f [v10.0.x] Heatmap: Fix color rendering for value ranges < 1 (#68164)
Heatmap: Fix color rendering for value ranges < 1 (#68156)

(cherry picked from commit 1400a0a3f7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-10 10:21:48 +03:00
Grot (@grafanabot)
e49234613d [v10.0.x] Heatmap: Handle unsorted timestamps in calculate mode (#68151)
Heatmap: Handle unsorted timestamps in calculate mode (#68111)

(cherry picked from commit f100a4c680)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-09 23:17:11 -05:00
Grot (@grafanabot)
8242dec55f [v10.0.x] Heatmap: Fix log scale editor (#68152)
Heatmap: Fix log scale editor (#68132)

(cherry picked from commit 4ee894b0be)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-10 03:51:04 +03:00
Grot (@grafanabot)
8139833afd [v10.0.x] Annotations: Fix rendering (#68146) 2023-05-09 23:45:35 +03:00
Grot (@grafanabot)
58efebbf14 [v10.0.x] AzureMonitor: Ensure trace exceptions are correctly displayed (#68105)
AzureMonitor: Ensure trace exceptions are correctly displayed (#68079)

Ensure trace exceptions are correctly displayed

(cherry picked from commit 65c1505415)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-09 21:01:44 +03:00
Grot (@grafanabot)
fe9b529c25 [v10.0.x] Graph: Fix legend overlapping graph area (#68107)
Graph: Fix legend overlapping graph area (#67912)

use render callback instead of requestIdleTimeout

(cherry picked from commit 8e752439c6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-09 19:45:16 +03:00
Grot (@grafanabot)
a39c486f31 [v10.0.x] AzureMonitor: Appropriately handle trace correlation resources (#68108)
AzureMonitor: Appropriately handle trace correlation resources (#67934)

* Appropriately handle correlation resources

- Retrieve resources in buildQueries step
- Build updated queries based off of correlation results
- Update tests

* Fix query building and tests

* Fix lint

* Ensure multiple resource queries will work

- Correctly set resources to ensure there is no overlapping between multiple resource selection and correlated resources
- Add tests for these specific cases
- Remove unnecessary pointers
- Build queries correctly

(cherry picked from commit 5ddc37ee21)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-09 19:02:19 +03:00
Grot (@grafanabot)
3bb9f46330 [v10.0.x] Fix Enterprise Datasources link on Grafana Enterprise page (#68118)
Fix Enterprise Datasources link on Grafana Enterprise page (#67962)

fix-enterprise-datasources-link

(cherry picked from commit 18d4fda613)

Co-authored-by: Andriy <andriy.urbanas@grafana.com>
2023-05-09 10:35:05 -05:00
Grot (@grafanabot)
9ea772d5a2 [v10.0.x] Alerting: Fixes Alert list panel "ungrouped" regression (#68090)
Alerting: Fixes Alert list panel "ungrouped" regression (#68018)

(cherry picked from commit ee05e3675a)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-09 15:32:12 +00:00
Grot (@grafanabot)
f710ed05b6 [v10.0.x] DataSourceModal: responsive behavior (#68085)
DataSourceModal: responsive behavior (#67944)

(cherry picked from commit 8ec5527479)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2023-05-09 11:06:03 -03:00
Grot (@grafanabot)
530c575606 [v10.0.x] Docs: Plugin doc review for chunk 1-A (#68045)
Docs: Plugin doc review for chunk 1-A (#67070)

* Plugin doc review for chunk 1-A

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Group of fixes in response to review comments

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Updates for review comments

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixed extra space

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Additional doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc review fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More changes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix links and relrefs using doc-validator advice

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

* Publishing criteria update

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Markdown fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Testing

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Testing

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Testing

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Link fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix to publishing criteria

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/build-a-logs-data-source-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/get-started-with-plugins/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/publish-a-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/publish-a-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/publish-a-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/sign-a-plugin.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
(cherry picked from commit 13be068919)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-09 08:33:20 -05:00
Grot (@grafanabot)
49c2ac52d1 [v10.0.x] Add name_id_format to doc (#67928)
Add name_id_format to doc (#67803)

* add name_id_format to doc

* add labels

* add missing pipe

* add available name ID options

* Update docs/sources/setup-grafana/configure-security/configure-authentication/saml/index.md

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

* Update docs/sources/setup-grafana/configure-security/configure-authentication/saml/index.md

* Apply suggestions from code review

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

* lint

---------

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

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-09 13:15:18 +00:00
Juan Cabanas
a39299e1ee NavBar: app chrome state wrongly overwritten when ds modal is opened … (#68041)
NavBar: app chrome state wrongly overwritten when ds modal is opened (#67952)

(cherry picked from commit 24668137f8)
2023-05-09 09:29:46 -03:00
Grot (@grafanabot)
35d99993bd [v10.0.x] Docs: Update backend plugin forwarding of headers (#68069)
Docs: Update backend plugin forwarding of headers (#67913)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
(cherry picked from commit 04df92ab47)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2023-05-09 11:52:02 +02:00
Dimitris Sotirakis
99555dd11d [v10.0.x] CI: Remove custom enterprise2 pipelines (#68056) (#68057)
CI: Remove custom enterprise2 pipelines (#68056)

Remove custom enterprise2 pipelines

(cherry picked from commit 6ae952c7c5)
2023-05-09 11:56:13 +03:00
Grot (@grafanabot)
583d3aa6dc [v10.0.x] Alerting: Fix condition on invalid interval dropdown (#68030) 2023-05-08 23:04:49 +02:00
Grot (@grafanabot)
81c5fbba05 [v10.0.x] docs: add empty dashboard & Add dropdown screenshots (#68036)
docs: add empty dashboard & Add dropdown screenshots (#67588)

* added empty dashboard screenshots

* added Add dropdown screenshots

* removed screenshot from build first dashboard

* added Add dropdown guidance in panel editor page; updated headings

* added intro text in panel editor

(cherry picked from commit da21473527)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-08 15:04:30 -04:00
Grot (@grafanabot)
4a0fb87eaf [v10.0.x] Datagrid: Refactor header column delete/clear (#68023)
Datagrid: Refactor header column delete/clear (#67842)

* refactor header column delete/clear

* fix tests, add clear option on header dropdown

* fix e2e tests

(cherry picked from commit 5416ec4768)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-08 20:06:50 +03:00
Grot (@grafanabot)
340d5a5080 [v10.0.x] Dashboard: Change add panel button to fill to remove outline border (#68017)
Dashboard: Change add panel button to fill to remove outline border (#68004)

(cherry picked from commit 5155455c55)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-08 18:36:31 +03:00
Grot (@grafanabot)
1ee2c97951 [v10.0.x] Alerting: Show export button for org admins (#67995)
Alerting: Show export button for org admins (#67939)

Show export button for org admins

(cherry picked from commit e7f11f2456)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-05-08 17:25:00 +02:00
Horst Gutmann
8f26909611 [v10.0.x] CI: Add Windows backend tests in more places (#66438) (#68005)
* CI: Add Windows backend tests in more places

* CI: Add promotion pipeline for publishing new windows-test-images

* CI: Ignore windows backend-test failures for now

* CI: Fix linting issue in ci_images.star file

(cherry picked from commit b2fc285a5d)
2023-05-08 16:42:14 +03:00
Grot (@grafanabot)
c53daad41e [v10.0.x] Docs: Adds alert state history doc (#68000)
Docs: Adds alert state history doc (#67976)

* Adds alert state history doc

* Adds config image

* Adds config as text

* correct spacing

(cherry picked from commit cb9d53708e)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-05-08 13:26:54 +00:00
Grot (@grafanabot)
98fa7aee3f [v10.0.x] Docs: Adds preview notification template docs (#68001)
Docs: Adds preview notification template docs (#67903)

Adds preview notification template

(cherry picked from commit 6464ce0239)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-05-08 13:26:22 +00:00
Grot (@grafanabot)
8c2a74147b [v10.0.x] Log Context: Add feature tracking of limit change (#67980)
Log Context: Add feature tracking of limit change (#67966)

* add feature tracking of load more

* Update public/app/features/logs/components/log-context/LogRowContextModal.tsx

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* fix condition

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
(cherry picked from commit 0fc9a47779)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-05-08 11:48:14 +02:00
Grot (@grafanabot)
11d9f040be [v10.0.x] Alerting: Make two boxes in template form adaptative to the screen (#67983)
Alerting: Make two boxes in template form adaptative to the screen  (#67967)

Make two boxes in template form adaptative to the screen width to be align in the same line when possible

(cherry picked from commit 97802e44a6)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-08 11:42:24 +02:00
Grot (@grafanabot)
3c7d096e26 [v10.0.x] Alerting: Change order of buttons bellow payload data editor (#67836)
Alerting: Change order of buttons bellow payload data editor (#67830)

Change order of buttons bellow payload data editor

(cherry picked from commit d10ee8263c)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-08 11:41:30 +02:00
Grot (@grafanabot)
855d537230 [v10.0.x] Navigation: Fix 'Page not found' when sending or going back from 'Invitate user' page (#67972) 2023-05-08 11:09:49 +02:00
Grot (@grafanabot)
30b42a427a [v10.0.x] PanelQueryRunner: Return previous processed (transform+field config) series for loading state (#67964) 2023-05-07 14:10:54 +00:00
Grot (@grafanabot)
d53599bdce [v10.0.x] Schema: Fix dimension schemas (#67943)
Schema: Fix dimension schemas (#67935)

(cherry picked from commit 854d497f94)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-05 22:57:00 +00:00
Grot (@grafanabot)
5b2175f958 [v10.0.x] CloudWatch: Use grafana-aws-sdk v0.15.0 (#67922)
CloudWatch: Use grafana-aws-sdk v0.15.0 (#67876)

Cloudwatch: Update grafana-aws-sdk
(cherry picked from commit c0bb404981)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2023-05-05 17:15:06 -04:00
Grot (@grafanabot)
1a1dc023b6 [v10.0.x] Alerting: Migration to not fail if alert_configuration table is not empty (#67937)
Alerting: Migration to not fail if alert_configuration table is not empty (#67924)

(cherry picked from commit 0ce7f7eaf4)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-05 16:33:12 +00:00
Grot (@grafanabot)
21e082447c [v10.0.x] AzureMonitor: Clear queries if header value changes (#67930)
AzureMonitor: Clear queries if header value changes (#67916)

Clear queries if header value changes

(cherry picked from commit 765ae6cd90)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-05 18:59:21 +03:00
Grot (@grafanabot)
25a9d90d9e [v10.0.x] AzureMonitor: Fix logs query multi-resource and timespan values (#67933)
AzureMonitor: Fix logs query multi-resource and timespan values (#67914)

* Update TimeGrain interface methods

- Make them util functions because it's simpler

* Update logs ds to appropiately set resources and timespan

* Set timespan using RCF times

* Update tests

(cherry picked from commit 9d16718acc)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-05 18:58:34 +03:00
Grot (@grafanabot)
8a8d796c1f [v10.0.x] Render analytics identifiers (#67926)
Render analytics identifiers (#67860)

* Append analytics identifier upon authenticate session

* Add id and module upon syncing user to identity

* Add authModule & id to `IdentityFromSignedInUser`

* Allow req calls in test to use basic auth

* Add `intercom_secret` to grafana config in tests

* Add test for analytics render in html view

(cherry picked from commit 15e34505e2)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-05-05 17:36:08 +02:00
Grot (@grafanabot)
9a1e114009 [v10.0.x] TablePanel: Do not allow auto-reset (#67907)
TablePanel: Do not allow auto-reset (#67477)

disallow react table to autoreset

(cherry picked from commit eb2eb65de8)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-05 14:13:33 +03:00
Grot (@grafanabot)
53b31fa719 [v10.0.x] Docs: Add a note about disabling SAML UI (#67898)
Docs: Add a note about disabling SAML UI (#67877)

(cherry picked from commit e5b12e23b1)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-05-05 09:58:23 +00:00
Ivan Ortega Alba
1958a1649c [v10.0.x] Improve ds picker empty state when no results were found (#67826)
Merge remote-tracking branch 'origin/main' into issue-66659
2023-05-05 11:31:15 +02:00
Grot (@grafanabot)
9153c38519 [v10.0.x] Elasticsearch: Fix processing of logs with not-recognized time format (#67866)
Elasticsearch: Fix processing of logs with not-recognized time format (#67767)

* Elasticsearch: Fix parsing of invalid time

* Fix lint

* Add more test data to data.js

* Add tests

* Fix lint

* Update pkg/tsdb/elasticsearch/client/search_request.go

(cherry picked from commit 95cf598423)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-05-05 10:38:12 +02:00
Grot (@grafanabot)
be5df6f59a [v10.0.x] InspectDrawer: Fixes issue with double scrollbars (#67888)
InspectDrawer: Fixes issue with double scrollbars (#67884)

* InspectDrawer: Fixes issue with double scrollbars

* Fixed minor issue

(cherry picked from commit fcb14d2548)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-05 11:04:29 +03:00
Grot (@grafanabot)
907c378cdf [v10.0.x] Connections: Show core datasource plugins as well (#67886)
Connections: Show core datasource plugins as well (#67815)

fix: add a new hook & selector that can show core plugins by default
(cherry picked from commit 21459c7c97)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-05-05 08:02:26 +00:00
Grot (@grafanabot)
2ae5c3dd78 [v10.0.x] Theme: Change dark theme borders to improve contrast on primary background (#67869) 2023-05-05 07:36:14 +00:00
Grot (@grafanabot)
4a62fee1b5 [v10.0.x] docs: Canvas: Update docs for v10 (#67870)
docs: Canvas: Update docs for v10 (#67793)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit e74e7fa82c)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-04 13:12:59 -07:00
Grot (@grafanabot)
096344a2f1 [v10.0.x] Alerting: Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui (#67852)
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-04 15:47:38 +00:00
Grot (@grafanabot)
9e83b6081d [v10.0.x] ServiceAccounts: Add secret scan service docs (#67807)
ServiceAccounts: Add secret scan service docs (#57926)

* add secret scanning docs

* update docs

* fix merge

* add revoke to docs

* add revoke to docs

* typo fix

* Apply suggestions from code review

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

* add step by step instructions

* Apply suggestions from code review

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>

* prettier

* Update docs/sources/setup-grafana/configure-security/secret-scan.md

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

* feedback

* Update docs/sources/setup-grafana/configure-security/secret-scan.md

* Update docs/sources/setup-grafana/configure-security/secret-scan.md

* Update docs/sources/setup-grafana/configure-security/secret-scan.md

Co-authored-by: Victor Cinaglia <victor@grafana.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Victor Cinaglia <victor@grafana.com>
(cherry picked from commit 3644ea6556)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-04 17:29:27 +02:00
Grot (@grafanabot)
c67e84358c [v10.0.x] Alerting: Use standard validation/error pattern on group selection (#67831)
Alerting: Use standard validation/error pattern on group selection (#67787)

(cherry picked from commit 3c42dea10b)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-05-04 13:45:56 +00:00
Grot (@grafanabot)
6f4f540e10 [v10.0.x] Connections: Fix create new datasource route (#67820)
Connections: Fix create new datasource route (#67802)

fix(connections): prevent datasources details route matching new route

(cherry picked from commit 8ca9a89cf1)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-05-04 12:46:49 +02:00
Grot (@grafanabot)
9a665a216b [v10.0.x] NestedFolders: Fetch access control metadata for folder view (#67814)
NestedFolders: Fetch access control metadata for folder view (#67786)

(cherry picked from commit 338e98e237)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-04 12:40:57 +03:00
Grot (@grafanabot)
1f78546ba1 [v10.0.x] AzureMonitor: Update Azure E2E test (#67779)
AzureMonitor: Update Azure E2E test (#67646)

Update Azure E2E test

- Update resource names
- Update timeouts
- Add traces E2E test

(cherry picked from commit 140f9620f5)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-04 09:15:37 +00:00
Grot (@grafanabot)
d05ba80080 [v10.0.x] RBAC: Do not search for parents of the root folder (#67806)
RBAC: Do not search for parents of the root folder (#67746)

do not search for parents of the general folder

(cherry picked from commit b1382ac48e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-05-04 08:55:41 +00:00
Sofia Papagiannaki
a219338afd [v10.0.x] Chore: Upgrade Go to 1.20.4 (#67752)
Chore: Upgrade Go to 1.20.4
2023-05-04 10:28:07 +03:00
Grot (@grafanabot)
1f6436529e [v10.0.x] Link to config exemplars leads goes to top of page (#67785)
Link to config exemplars leads goes to top of page (#67687)

* Link to config exemplars leads goes to top of page

The link to the configure exemplars in a Prometheus datasource leads to the top of the page.  I have referenced the correct link that would take it to the right section.

https://grafana.com/docs/grafana/latest/datasources/prometheus/#configure-exemplars

* Update docs/sources/fundamentals/exemplars/index.md

---------

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

Co-authored-by: samu6851 <samuel.oswalt@grafana.com>
2023-05-03 14:54:32 -05:00
Grot (@grafanabot)
7f1cf3fa74 [v10.0.x] Update index.md (#67784)
Update index.md (#67172)

Clarified some of the intro text and added JSON outer element to make the samples clearer

(cherry picked from commit 66ad704292)

Co-authored-by: Nabeel Saad <saadnabs@hotmail.com>
2023-05-03 14:54:08 -05:00
Grot (@grafanabot)
4fde55d85d [v10.0.x] docs: fix create dashboard steps (#67771)
docs: fix create dashboard steps (#67310)

* updated steps for dashboard creation

* added images, other wording and structure edits

(cherry picked from commit 4eb063c1dd)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-03 14:47:42 -04:00
Grot (@grafanabot)
52037fb145 [v10.0.x] Cloudwatch: Fix description of plugin (#67765)
Cloudwatch: Fix description of plugin (#67744)

Fix description of Cloudwatch

(cherry picked from commit 43c7a5b603)

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2023-05-03 13:03:34 -04:00
Grot (@grafanabot)
2e8a32ab6e [v10.0.x] AlertRuleForm: s/Edit yaml/Edit YAML/ (#67763)
AlertRuleForm: s/Edit yaml/Edit YAML/ (#67714)

YAML is an acronym and should be uppercased when used in texts.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit c378dbb01b)

Co-authored-by: Oleg Zaytsev <mail@olegzaytsev.com>
2023-05-03 19:10:42 +03:00
Grot (@grafanabot)
98952d72c9 [v10.0.x] docs: add semi relative time ranges (#67755)
docs: add semi relative time ranges (#67559)

* add semi-relative time range section

* added second example and reworded

* formatting fixes

* added alerting note and fixed formatting

* wording fix

(cherry picked from commit 0271a1d094)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-03 11:56:25 -04:00
Grot (@grafanabot)
c206cf8320 [v10.0.x] Alerting: Fix banner button variant (#67758)
Alerting: Fix banner button variant (#67750)

Fix banner button variant

(cherry picked from commit 049029b6a2)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-05-03 18:56:11 +03:00
Grot (@grafanabot)
0ae459bd8f [v10.0.x] Alerting: Fix export button variant (#67747)
Alerting: Fix export button variant (#67742)

Fix export button variant

(cherry picked from commit 8166453f9f)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-03 15:37:00 +00:00
Grot (@grafanabot)
95a4047d9f [v10.0.x] Maintain column widths when deleting columns (#67743)
Maintain column widths when deleting columns (#67707)

(cherry picked from commit cd8b6be41d)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-03 14:58:12 +00:00
Grot (@grafanabot)
8905356e8a [v10.0.x] Datagrid: Remove multi-paste (#67730)
Datagrid: Remove multi-paste (#67387)

remove multi-paste functionality and unneccessary async from func

(cherry picked from commit 3a6f162cc6)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-03 16:39:34 +03:00
Torkel Ödegaard
1894440368 [v10.0.x]: Connections: Rename "Your data source" to "Data source" page (#67718)
Connections: Rename "Your data source" to "Data source" page (#67662)

rename "Your data source" to "Data source" page

This page was meant to be named "Data source" in the previous PR [0].
I just made a mistake by naming it wrongly.

[0]: https://github.com/grafana/grafana/pull/66813/files

(cherry picked from commit 76284ed3a6)

Co-authored-by: mikkancso <miklos.tolnai@grafana.com>
2023-05-03 14:00:53 +02:00
Grot (@grafanabot)
d63a746b05 [v10.0.x] Gauge: Set min and max for percent unit (#67719)
Gauge: Set min and max for percent unit (#67517)

* Gauge: Set min and max for percent unit

* Remove exclamation mark

* Add parentheses around ternary

(cherry picked from commit 6570ec7afe)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2023-05-03 13:52:46 +02:00
Grot (@grafanabot)
b5e8e391a4 [v10.0.x] Connections: Simplify connections nav (#67633)
Connections: Simplify connections nav (#66813)

* Connections: Simplify connections nav

* rename Connections pages everywhere

---------

Co-authored-by: Miklós Tolnai <miklos.tolnai@grafana.com>
(cherry picked from commit 9614dc2446)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-03 13:34:37 +02:00
Grot (@grafanabot)
fea39881f5 [v10.0.x] chore: fix link to docs (#67678)
chore: fix link to docs (#67642)

* chore: fix link to docs

* Update public/app/features/datasources/components/DataSourcesList.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/explore/NoDataSourceCallToAction.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
(cherry picked from commit 44f75ba185)

Co-authored-by: David Harris <david.harris@grafana.com>
2023-05-03 11:59:42 +01:00
Grot (@grafanabot)
e45b2953de [v10.0.x] PluginCatalog: Update message about insufficient permissions (#67697)
PluginCatalog: Update message about insufficient permissions (#67664)

Changed so we map the enum into different message.

(cherry picked from commit 21d28c1cb5)

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-05-03 11:01:27 +03:00
Grot (@grafanabot)
319eed9d5e [v10.0.x] Nested folders: hook up getAffectedItems to the backend count route (#67690)
Nested folders: hook up `getAffectedItems` to the backend count route (#67677)

* hook up getAffectedItems to the backend count route

* mock out backendSrv in unit tests

* Don't delete alert rules while API doesn't return counts

* Show alert rule counts when API returns them

* use components for modal styles

* Revert "use components for modal styles"

This reverts commit 80ac1152f8.

---------

Co-authored-by: joshhunt <josh@trtr.co>
(cherry picked from commit 5d5a54979c)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-03 00:32:18 +03:00
Grot (@grafanabot)
8e35a156be [v10.0.x] docs: add nav and users info for public dashboards (#67681)
docs: add nav and users info for public dashboards (#67674)

* add content re admin and public dashboards navigation

* added admin users section

(cherry picked from commit 765735092a)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-02 14:04:01 -04:00
Grot (@grafanabot)
b0f5b6c5f0 [v10.0.x] NestedFolders: Use new Browse Dashboards UI behind feature flag (#67676)
NestedFolders: Use new Browse Dashboards UI behind feature flag (#67416)

NestedFolders: Put feature flagged new Browse Dashboards UI at main route
(cherry picked from commit c4a31390ef)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 17:38:58 +01:00
Grot (@grafanabot)
2cf4691d1a [v10.0.x] Nested folders: hook up move/delete logic properly (#67675)
Nested folders: hook up move/delete logic properly (#67648)

* clear selection post move/delete

* move actions out of rtk-query

* move findItems, create selectors, refetch children when moving/deleting

* cleaner syntax

* remove unnecessary function, just put logic in the selector

* handle moving/deleting from the root

* slightly cleaner

* handle when rootItems are undefined

* handle 'general' in the fetchChildren reducer

* only refresh at the end

* don't need thunk api

(cherry picked from commit 02086e843f)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-02 19:31:53 +03:00
Grot (@grafanabot)
3bb2e8a248 [v10.0.x] Search: Fix Folder View not loading dashboards (#67673)
Search: Fix Folder View not loading dashboards (#67666)

(cherry picked from commit 9b81d738bf)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 18:48:55 +03:00
Grot (@grafanabot)
41d456840f [v10.0.x] docs: move misplaced Configure legend page (#67672)
docs: move misplaced Configure legend page (#67597)

* move configure legend page and add alias

* updated page weight and tried fixing alias

* fixed alias

* add preemptive alias for current page location

* apply suggestion from review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* apply suggestions from review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* apply suggestions from review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 688459f25c)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-02 11:34:45 -04:00
Grot (@grafanabot)
bd7cbc5ba0 [v10.0.x] NestedFolders: Add empty states for Browse and Search (#67645)
NestedFolders: Add empty states for Browse and Search (#67423)

* NestedFolders: Add empty states for Browse and Search

* empty states

* fix types

* tests

(cherry picked from commit fd2c7594cf)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 12:31:03 +00:00
Grot (@grafanabot)
d174427f41 [v10.0.x] fix shadow log in service accounts (#67649)
fix shadow log in service accounts (#67643)

* fix shadow log in service accounts

(cherry picked from commit f9fd15c01e)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-02 14:30:25 +02:00
Grot (@grafanabot)
f729979da4 [v10.0.x] Authentication UI: Remove auth settings (#67651)
Authentication UI: Remove auth settings (#67647)

(cherry picked from commit 93b461bd96)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-05-02 15:13:54 +03:00
Grot (@grafanabot)
d151276b0c [v10.0.x] NestedFolders: Indicate when folders have mixed-selection children (#67644)
NestedFolders: Indicate when folders have mixed-selection children (#67337)

* Show indeterminate checkbox for folders with partially selected children

* When selecting an item, check ancestors to see if all their children are now selected

* reword comment

* fix test

* fix lint

* Check all descendants for mixed state

* Use indeterminate checkbox

* fix test description

* make header checkbox select/unselect automatically

* mixed header checkbox:

* fix tests

* add tests

(cherry picked from commit 32d3e895b3)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 10:45:56 +00:00
734 changed files with 13193 additions and 6919 deletions

View File

@@ -775,8 +775,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"packages/grafana-runtime/src/components/DataSourcePicker.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"]
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
],
"packages/grafana-runtime/src/components/PanelRenderer.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
@@ -941,9 +940,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"]
],
"packages/grafana-ui/src/components/Drawer/Drawer.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"]
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
],
"packages/grafana-ui/src/components/Dropdown/ButtonSelect.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
@@ -1464,6 +1461,9 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "5"],
[0, 0, 0, "Unexpected any. Specify a different type.", "6"]
],
"public/app/core/components/AppChrome/News/NewsContainer.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
],
"public/app/core/components/AppChrome/SectionNav/SectionNavItem.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
],
@@ -2233,10 +2233,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"]
],
"public/app/features/dashboard/components/PanelEditor/VisualizationButton.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"]
],
"public/app/features/dashboard/components/PanelEditor/VisualizationSelectPane.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
],
@@ -2373,8 +2369,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Unexpected any. Specify a different type.", "5"]
[0, 0, 0, "Unexpected any. Specify a different type.", "4"]
],
"public/app/features/dashboard/state/DashboardMigrator.test.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
@@ -2653,8 +2648,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/features/dimensions/types.ts: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.", "0"]
],
"public/app/features/dimensions/utils.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
@@ -5580,8 +5574,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "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"],
[0, 0, 0, "Do not use any type assertions.", "4"]
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/plugins/panel/heatmap/palettes.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
@@ -5946,11 +5939,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "8"],
[0, 0, 0, "Unexpected any. Specify a different type.", "9"],
[0, 0, 0, "Do not use any type assertions.", "10"],
[0, 0, 0, "Unexpected any. Specify a different type.", "11"],
[0, 0, 0, "Do not use any type assertions.", "12"],
[0, 0, 0, "Do not use any type assertions.", "13"],
[0, 0, 0, "Do not use any type assertions.", "14"],
[0, 0, 0, "Do not use any type assertions.", "15"]
[0, 0, 0, "Do not use any type assertions.", "11"]
],
"public/app/polyfills/old-mediaquerylist.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]

View File

@@ -19,14 +19,23 @@ load(
"publish_artifacts_pipelines",
"publish_npm_pipelines",
"publish_packages_pipeline",
"verify_release_pipeline",
)
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
"publish_image_pipelines_security",
)
load(
"scripts/drone/pipelines/ci_images.star",
"publish_ci_windows_test_image_pipeline",
)
load("scripts/drone/pipelines/github.star", "publish_github_pipeline")
load("scripts/drone/pipelines/aws_marketplace.star", "publish_aws_marketplace_pipeline")
load(
"scripts/drone/pipelines/windows.star",
"windows_test_backend",
)
load("scripts/drone/version.star", "version_branch_pipelines")
load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/vault.star", "secrets")
@@ -38,10 +47,6 @@ def main(_ctx):
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") +
@@ -51,9 +56,15 @@ def main(_ctx):
publish_artifacts_pipelines("public") +
publish_npm_pipelines() +
publish_packages_pipeline() +
[verify_release_pipeline()] +
[windows_test_backend({
"event": ["promote"],
"target": ["test-windows"],
}, "oss", "testing")] +
artifacts_page_pipeline() +
version_branch_pipelines() +
integration_test_pipelines() +
publish_ci_windows_test_image_pipeline() +
cronjobs() +
secrets()
)

1169
.drone.yml

File diff suppressed because it is too large Load Diff

3
.github/CODEOWNERS vendored
View File

@@ -229,6 +229,7 @@
/Dockerfile @grafana/grafana-delivery
/Makefile @grafana/grafana-delivery
/scripts/build/ @grafana/grafana-delivery
/scripts/list-release-artifacts.sh @grafana/grafana-delivery
# OSS Plugin Partnerships backend code
/pkg/tsdb/cloudwatch/ @grafana/aws-datasources
@@ -433,7 +434,6 @@ lerna.json @grafana/frontend-ops
/public/app/types/ @grafana/grafana-frontend-platform
/public/dashboards/ @grafana/dashboards-squad
/public/fonts/ @grafana/alerting-squad-frontend
/public/emails/ @grafana/grafana-frontend-platform
/public/gazetteer/ @ryantxu
/public/img/ @grafana/grafana-frontend-platform
/public/lib/ @grafana/grafana-frontend-platform
@@ -618,6 +618,7 @@ embed.go @grafana/grafana-as-code
/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md @grafanabot
/pkg/services/featuremgmt/toggles_gen.csv @grafanabot
/pkg/services/featuremgmt/toggles_gen.go @grafanabot
/public/emails/ @grafanabot
# Conf
/conf/defaults.ini @torkelo

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch:
inputs:
version:
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-preview<number> format. example: 7.4.3 or 7.4.3-preview'
required: true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
@@ -17,26 +17,26 @@ jobs:
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-(?:(beta\d+)|(pre)))?$'
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }}
id: regex-match-version-call
with:
text: ${{ inputs.version_call }}
regex: '^(\d+.\d+).\d+(?:-(?:(beta\d+)|(pre)))?$'
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
- name: Validate input version
if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }}
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-beta1"
major.minor.patch or major.minor.patch-preview.number format. \
example: 7.4.3 or 7.4.3-preview1"
exit 1
- name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
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-beta1"
major.minor.patch or major.minor.patch-preview<number> format. \
example: 7.4.3 or 7.4.3-preview1"
exit 1
- uses: actions/checkout@v3
@@ -68,7 +68,7 @@ jobs:
node-version: '16'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run bump version (manually invoked)
- name: Run bump version (manually invoked)
uses: ./actions/bump-version
with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}

View File

@@ -7,10 +7,23 @@ jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:v1.10.0"
image: "grafana/doc-validator:c2a784f"
steps:
- name: "Checkout code"
uses: "actions/checkout@v3"
- name: "Run doc-validator tool"
# Ensure that the CI always passes until all errors are resolved.
run: "doc-validator --skip-image-validation ./docs/sources /docs/grafana/latest || true"
# Only run doc-validator on specific directories.
run: >
doc-validator
'--include=^docs/sources/(?:alerting|fundamentals|getting-started|introduction|setup-grafana|upgrade-guide|whatsnew/whats-new-in-v(?:9|10))/.+\.md$'
'--skip-checks=^(?:image.+|canonical-does-not-match-pretty-URL)$'
./docs/sources
/docs/grafana/latest
| reviewdog
'--efm=ERROR: %f:%l:%c %m'
--fail-on-error
--filter-mode=nofilter
--name=doc-validator
--reporter=github-pr-review
env:
REVIEWDOG_GITHUB_API_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -3,7 +3,7 @@
ARG BASE_IMAGE=alpine:3.17
ARG JS_IMAGE=node:18-alpine3.17
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.20.3-alpine3.17
ARG GO_IMAGE=golang:1.20.4-alpine3.17
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder

View File

@@ -207,7 +207,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
--build-arg COMMIT_SHA=$$(git rev-parse --short HEAD) \
--build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \
--build-arg BASE_IMAGE=ubuntu:20.04 \
--build-arg GO_IMAGE=golang:1.20.3 \
--build-arg GO_IMAGE=golang:1.20.4 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)

View File

@@ -422,7 +422,7 @@ datasource_limit = 5000
################################### SQL Data Sources #####################
[sql_datasources]
# Default maximum number of open connections maintained in the connection pool
# Default maximum number of open connections maintained in the connection pool
# when connecting to SQL based data sources
max_open_conns_default = 100
@@ -431,7 +431,7 @@ max_open_conns_default = 100
max_idle_conns_default = 100
# Default maximum connection lifetime used when connecting
# to SQL based data sources.
# to SQL based data sources.
max_conn_lifetime_default = 14400
#################################### Users ###############################
@@ -484,6 +484,22 @@ user_invite_max_lifetime_duration = 24h
# Enter a comma-separated list of usernames to hide them in the Grafana UI. These users are shown to Grafana admins and to themselves.
hidden_users =
[secretscan]
# Enable secretscan feature
enabled = false
# Interval to check for token leaks
interval = 5m
# base URL of the grafana token leak check service
base_url = https://secret-scanning.grafana.net
# URL to send outgoing webhooks to in case of detection
oncall_url =
# Whether to revoke the token if a leak is detected or just send a notification
revoke = true
[service_accounts]
# When set, Grafana will not allow the creation of tokens with expiry greater than this setting.
token_expiration_day_limit =

View File

@@ -469,6 +469,22 @@
# Enter a comma-separated list of users login to hide them in the Grafana UI. These users are shown to Grafana admins and themselves.
; hidden_users =
[secretscan]
# Enable secretscan feature
;enabled = false
# Interval to check for token leaks
;interval = 5m
# base URL of the grafana token leak check service
;base_url = https://secret-scanning.grafana.net
# URL to send outgoing webhooks to in case of detection
;oncall_url =
# Whether to revoke the token if a leak is detected or just send a notification
;revoke = true
[service_accounts]
# Service account maximum expiration date in days.
# When set, Grafana will not allow the creation of tokens with expiry greater than this setting.

View File

@@ -0,0 +1,594 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 301,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 4,
"panels": [],
"title": "Field Override - Data Links",
"type": "row"
},
{
"datasource": {},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "column1"
},
"properties": [
{
"id": "links",
"value": [
{
"title": "google",
"url": "google.com"
},
{
"targetBlank": true,
"title": "youtube",
"url": "youtube.com"
}
]
},
{
"id": "custom.fillOpacity",
"value": 14
}
]
},
{
"matcher": {
"id": "byName",
"options": "column2"
},
"properties": [
{
"id": "links",
"value": [
{
"title": "datalink column 2",
"url": "grafana.com"
}
]
},
{
"id": "color",
"value": {
"fixedColor": "purple",
"mode": "shades"
}
}
]
}
]
},
"gridPos": {
"h": 6,
"w": 9,
"x": 0,
"y": 1
},
"id": 1,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"orientation": "auto",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"pluginVersion": "9.5.0-cloud.4.a016665c",
"targets": [
{
"csvContent": "id,column1,column2\r\nA,1,2",
"datasource": {
"type": "testdata",
"uid": "o63ntNT4z"
},
"refId": "A",
"scenarioId": "csv_content"
},
{
"csvContent": "id,column1,column2\r\nB,2,1",
"datasource": {
"type": "testdata",
"uid": "o63ntNT4z"
},
"hide": false,
"refId": "B",
"scenarioId": "csv_content"
}
],
"title": "Tooltip mode: Single",
"transformations": [
{
"id": "merge",
"options": {}
}
],
"type": "barchart"
},
{
"datasource": {},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "column1"
},
"properties": [
{
"id": "links",
"value": [
{
"title": "google",
"url": "google.com"
},
{
"targetBlank": true,
"title": "youtube",
"url": "youtube.com"
}
]
},
{
"id": "custom.fillOpacity",
"value": 14
}
]
},
{
"matcher": {
"id": "byName",
"options": "column2"
},
"properties": [
{
"id": "links",
"value": [
{
"title": "datalink column 2",
"url": "grafana.com"
}
]
},
{
"id": "color",
"value": {
"fixedColor": "purple",
"mode": "shades"
}
}
]
}
]
},
"gridPos": {
"h": 6,
"w": 9,
"x": 9,
"y": 1
},
"id": 6,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"orientation": "auto",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "multi",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"pluginVersion": "9.5.0-cloud.4.a016665c",
"targets": [
{
"csvContent": "id,column1,column2\r\nA,1,2",
"datasource": {
"type": "testdata",
"uid": "o63ntNT4z"
},
"refId": "A",
"scenarioId": "csv_content"
},
{
"csvContent": "id,column1,column2\r\nB,2,1",
"datasource": {
"type": "testdata",
"uid": "o63ntNT4z"
},
"hide": false,
"refId": "B",
"scenarioId": "csv_content"
}
],
"title": "Tooltip mode: All",
"transformations": [
{
"id": "merge",
"options": {}
}
],
"type": "barchart"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 7
},
"id": 3,
"panels": [],
"title": "Field Override - Hide Tooltip",
"type": "row"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "field 3"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": true,
"viz": false
}
}
]
}
]
},
"gridPos": {
"h": 6,
"w": 9,
"x": 0,
"y": 8
},
"id": 5,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"orientation": "auto",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "multi",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"csvContent": "id, field 1, field 2, field 3\na, 20, 30, 40\nb, 40, 50, 60",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "Hide 'field 3'",
"type": "barchart"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "id"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": true,
"viz": false
}
}
]
}
]
},
"gridPos": {
"h": 6,
"w": 9,
"x": 9,
"y": 8
},
"id": 7,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"orientation": "auto",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "multi",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"csvContent": "id, field 1, field 2, field 3\na, 20, 30, 40\nb, 40, 50, 60",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "Hide 'id'",
"type": "barchart"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [
"gdev",
"panel-tests",
"barchart",
"graph-ng"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Panel Tests - Bar Chart Tooltip",
"uid": "ea33320b-bd97-4fe1-a27c-24bc61a48b41",
"version": 12,
"weekStart": ""
}

View File

@@ -64,6 +64,18 @@ async function elasticSetupIndexTemplate() {
'@timestamp': {
type: 'date',
},
'@timestamp_custom': {
type: 'date',
format: 'yyyy_MM_dd_HH_mm_ss'
},
'@timestamp_unix': {
type: 'date',
format: 'epoch_millis'
},
'@timestamp_nanos': {
type: 'date_nanos',
format: 'strict_date_optional_time_nanos'
},
counter: {
type: 'integer',
},
@@ -115,6 +127,9 @@ function getRandomLogItem(counter, timestamp) {
const maybeAnsiText = Math.random() < 0.5 ? 'with ANSI \u001b[31mpart of the text\u001b[0m' : '';
return {
'@timestamp': timestamp.toISOString(),
'@timestamp_custom': timestamp.toISOString().split('.')[0].replace(/[T:-]/g,'_'),
'@timestamp_unix': timestamp.getTime(),
'@timestamp_nanos': timestamp.toISOString().slice(0,-1) + '123Z',
line: `log text ${maybeAnsiText} [${randomText}]`,
counter: counter.toString(),
float: 100 * Math.random().toString(),

View File

@@ -128,6 +128,13 @@ local dashboard = grafana.dashboard;
id: 0,
}
},
dashboard.new('barchart-tooltips', import '../dev-dashboards/panel-barchart/barchart-tooltips.json') +
resource.addMetadata('folder', 'dev-dashboards') +
{
spec+: {
id: 0,
}
},
dashboard.new('candlestick', import '../dev-dashboards/panel-candlestick/candlestick.json') +
resource.addMetadata('folder', 'dev-dashboards') +
{

View File

@@ -1,3 +1,5 @@
# The source of this file is https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/docs.mk.
# 2.0.0 (2023-05-18)
include variables.mk
-include variables.mk.local
@@ -52,6 +54,11 @@ ifeq ($(origin DOC_VALIDATOR_IMAGE), undefined)
export DOC_VALIDATOR_IMAGE := grafana/doc-validator:latest
endif
# Container image used for vale linting.
ifeq ($(origin VALE_IMAGE), undefined)
export VALE_IMAGE := grafana/vale:latest
endif
# PATH-like list of directories within which to find projects.
# If all projects are checked out into the same directory, ~/repos/ for example, then the default should work.
ifeq ($(origin REPOS_PATH), undefined)
@@ -91,10 +98,10 @@ docs-no-pull: make-docs
.PHONY: docs-debug
docs-debug: ## Run Hugo web server with debugging enabled. TODO: support all SERVER_FLAGS defined in website Makefile.
docs-debug: make-docs
WEBSITE_EXEC='hugo server --debug' $(PWD)/make-docs $(PROJECTS)
WEBSITE_EXEC='hugo server --bind 0.0.0.0 --port 3002 --debug' $(PWD)/make-docs $(PROJECTS)
.PHONY: doc-validator
doc-validator: ## Run docs-validator on the entire docs folder.
doc-validator: ## Run doc-validator on the entire docs folder.
doc-validator: make-docs
DOCS_IMAGE=$(DOC_VALIDATOR_IMAGE) $(PWD)/make-docs $(PROJECTS)
@@ -103,6 +110,11 @@ doc-validator/%: ## Run doc-validator on a specific path. To lint the path /docs
doc-validator/%: make-docs
DOCS_IMAGE=$(DOC_VALIDATOR_IMAGE) DOC_VALIDATOR_INCLUDE=$(subst doc-validator/,,$@) $(PWD)/make-docs $(PROJECTS)
.PHONY: vale
vale: ## Run vale on the entire docs folder.
vale: make-docs
DOCS_IMAGE=$(VALE_IMAGE) $(PWD)/make-docs $(PROJECTS)
.PHONY: update
update: ## Fetch the latest version of this Makefile and the `make-docs` script from Writers' Toolkit.
curl -s -LO https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/docs.mk

View File

@@ -1,5 +1,6 @@
#!/bin/sh
# The source of this file is https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/make-docs.
# 2.0.0 (2023-05-18)
set -ef
@@ -8,9 +9,11 @@ readonly DOCS_HOST_PORT="${DOCS_HOST_PORT:-3002}"
readonly DOCS_IMAGE="${DOCS_IMAGE:-grafana/docs-base:latest}"
readonly DOC_VALIDATOR_INCLUDE="${DOC_VALIDATOR_INCLUDE:-.+\.md$}"
readonly DOC_VALIDATOR_SKIP_CHECKS="${DOC_VALIDATOR_SKIP_CHECKS:-^image-}"
readonly HUGO_REFLINKSERRORLEVEL="${HUGO_REFLINKSERRORLEVEL:-WARNING}"
readonly WEBSITE_EXEC="${WEBSITE_EXEC:-make server}"
readonly VALE_MINALERTLEVEL="${VALE_MINALERTLEVEL:-error}"
readonly WEBSITE_EXEC="${WEBSITE_EXEC:-make docs}"
# If set, the docs-base image will run a prebuild script that sets up Hugo mounts.
readonly WEBSITE_MOUNTS="${WEBSITE_MOUNTS:-}"
@@ -59,8 +62,11 @@ fi
SOURCES_as_code='as-code-docs'
SOURCES_enterprise_metrics='backend-enterprise'
SOURCES_enterprise_metrics_='backend-enterprise'
SOURCES_grafana_cloud='cloud-docs'
SOURCES_grafana_cloud='website'
SOURCES_grafana_cloud_k6='k6-docs'
SOURCES_grafana_cloud_data_configuration_integrations='cloud-onboarding'
SOURCES_grafana_cloud_frontend_observability_faro_web_sdk='faro-web-sdk'
SOURCES_grafana_cloud_machine_learning='machine-learning'
SOURCES_helm_charts_mimir_distributed='mimir'
SOURCES_helm_charts_tempo_distributed='tempo'
SOURCES_opentelemetry='opentelemetry-docs'
@@ -68,14 +74,20 @@ SOURCES_opentelemetry='opentelemetry-docs'
VERSIONS_as_code='UNVERSIONED'
VERSIONS_grafana_cloud='UNVERSIONED'
VERSIONS_grafana_cloud_k6='UNVERSIONED'
VERSIONS_grafana_cloud_data_configuration_integrations='UNVERSIONED'
VERSIONS_grafana_cloud_frontend_observability_faro_web_sdk='UNVERSIONED'
VERSIONS_grafana_cloud_machine_learning='UNVERSIONED'
VERSIONS_opentelemetry='UNVERSIONED'
VERSIONS_technical_documentation='UNVERSIONED'
VERSIONS_website='UNVERSIONED'
VERSIONS_writers_toolkit='UNVERSIONED'
PATHS_grafana_cloud='content/docs/grafana-cloud'
PATHS_helm_charts_mimir_distributed='docs/sources/helm-charts/mimir-distributed'
PATHS_helm_charts_tempo_distributed='docs/sources/helm-charts/tempo-distributed'
PATHS_mimir='docs/sources/mimir'
PATHS_tempo='docs/sources/tempo'
PATHS_website='content/docs'
# identifier STR
# Replace characters that are not valid in an identifier with underscores.
@@ -138,6 +150,13 @@ proj_url() {
$1
POSIX_HERESTRING
if [ "${_project}" = 'website' ]; then
echo "http://localhost:${DOCS_HOST_PORT}/docs/"
unset _project _version
return
fi
if [ -z "${_version}" ] || [ "${_version}" = 'UNVERSIONED' ]; then
echo "http://localhost:${DOCS_HOST_PORT}/docs/${_project}/"
else
@@ -165,11 +184,19 @@ proj_dst() {
$1
POSIX_HERESTRING
if [ "${_project}" = 'website' ]; then
echo '/hugo/content/docs'
unset _project _version
return
fi
if [ -z "${_version}" ] || [ "${_version}" = 'UNVERSIONED' ]; then
echo "/hugo/content/docs/${_project}"
else
echo "/hugo/content/docs/${_project}/${_version}"
fi
unset _project _version
}
@@ -205,11 +232,19 @@ proj_canonical() {
$1
POSIX_HERESTRING
if [ "${_project}" = 'website' ]; then
echo '/docs'
unset _project _version
return
fi
if [ -z "${_version}" ] || [ "${_version}" = 'UNVERSIONED' ]; then
echo "/docs/${_project}"
else
echo "/docs/${_project}/${_version}"
fi
unset _project _version
}
@@ -296,64 +331,96 @@ IFS=':' read -r image _ <<POSIX_HERESTRING
${DOCS_IMAGE}
POSIX_HERESTRING
if [ "${image}" = "grafana/doc-validator" ]; then
echo
"${PODMAN}" run \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
--skip-image-validation \
--include="${DOC_VALIDATOR_INCLUDE}" \
/hugo/content/docs \
"$(proj_canonical "$(new_proj "$1")")"
else
cat <<EOF >/tmp/make-docs-entrypoint
case "${image}" in
'grafana/doc-validator')
proj="$(new_proj "$1")"
echo
"${PODMAN}" run \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
--include="${DOC_VALIDATOR_INCLUDE}" \
--skip-checks="${DOC_VALIDATOR_SKIP_CHECKS}" \
/hugo/content/docs \
"$(proj_canonical "${proj}")" | sed "s#$(proj_dst "${proj}")#sources#"
;;
'grafana/vale')
proj="$(new_proj "$1")"
echo
"${PODMAN}" run \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
--minAlertLevel="${VALE_MINALERTLEVEL}" \
--config=/etc/vale/.vale.ini \
--output=line \
/hugo/content/docs | sed "s#$(proj_dst "${proj}")#sources#"
;;
*)
tempfile="$(mktemp -t make-docs.XXX)"
cat <<EOF >"${tempfile}"
#!/usr/bin/env bash
for redirect in ${redirects}; do
IFS='^' read -r path ver <<<"\${redirect}"
echo -e "---\\nredirectURL: \"\${path/\/hugo\/content/}\"\\ntype: redirect\\n---\\n" > "\${path/\${ver}/_index.md}"
if [[ -n "${WEBSITE_MOUNTS}" ]]; then
unset WEBSITE_SKIP_MOUNTS
fi
done
for x in "${url_src_dst_vers}"; do
IFS='^' read -r _ _ dst _ <<<"\${x}"
while [[ -n "\${dst}" ]]; do
touch "\${dst}/_index.md"
dst="\${dst%/*}"
done
done
if [[ -n "${WEBSITE_MOUNTS}" ]]; then
unset WEBSITE_SKIP_MOUNTS
fi
${WEBSITE_EXEC}
EOF
chmod +x /tmp/make-docs-entrypoint
volumes="${volumes} --volume=/tmp/make-docs-entrypoint:/entrypoint"
readonly volumes
chmod +x "${tempfile}"
volumes="${volumes} --volume=$(realpath "${tempfile}"):/entrypoint"
readonly volumes
echo
echo "Documentation will be served at the following URLs:"
for x in ${url_src_dst_vers}; do
IFS='^' read -r url _ _ <<POSIX_HERESTRING
echo
echo "Documentation will be served at the following URLs:"
for x in ${url_src_dst_vers}; do
IFS='^' read -r url _ _ <<POSIX_HERESTRING
$x
POSIX_HERESTRING
if [ -n "${url}" ]; then
echo " ${url}"
fi
done
if [ -n "${url}" ]; then
if [ "${_url}" != "arbitrary" ]; then
echo " ${url}"
fi
fi
done
echo
"${PODMAN}" run \
--env "HUGO_REFLINKSERRORLEVEL=${HUGO_REFLINKSERRORLEVEL}" \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--publish "${DOCS_HOST_PORT}:3002" \
--publish "3003:3003" \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
/entrypoint
fi
echo
"${PODMAN}" run \
--env "HUGO_REFLINKSERRORLEVEL=${HUGO_REFLINKSERRORLEVEL}" \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--publish "${DOCS_HOST_PORT}:3002" \
--publish "3003:3003" \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
/entrypoint
;;
esac

View File

@@ -17,7 +17,9 @@ An API key is a randomly generated string that external systems use to interact
When you create an API key, you specify a **Role** that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources.
> **Note:** If you use Grafana v9.1 or newer, use service accounts instead of API keys. For more information, refer to [Grafana service accounts]({{< relref "../service-accounts/" >}}).
{{% admonition type="note" %}}
If you use Grafana v9.1 or newer, use service accounts instead of API keys. For more information, refer to [Grafana service accounts]({{< relref "../service-accounts/" >}}).
{{% /admonition %}}
{{< section >}}
@@ -61,7 +63,9 @@ For more information about the benefits of service accounts, refer to [Grafana s
The service account endpoints generate a machine user for authentication instead of using API keys. When you migrate an API key to a service account, a service account will be created with a service account token.
> **Note:** If you are using API keys for authentication, we recommend that you migrate your integration to the service account authentication method. The API key will continue to work. You can locate the API key in the [Grafana service account tokens]({{< relref "../service-accounts/#service-account-tokens" >}}) details.
{{% admonition type="note" %}}
If you're currently using API keys for authentication, we strongly recommend to use Grafana Service Accounts instead. Rest assured, when migrating to Service Accounts, your existing API keys will continue working as before. To find the migrated API keys, navigate to the Service Accounts section and select the Service Account Tokens tab. For more information, please refer to the [Grafana service account tokens]({{< relref "../service-accounts/#service-account-tokens" >}}) details.
{{% /admonition %}}
## Ways of migrating API keys to service accounts
@@ -256,7 +260,9 @@ resource "grafana_service_account_token" "sat-foo" {
This section shows you how to migrate your Terraform configuration for Grafana cloud stack API keys to Grafana cloud stack service accounts. For migration your cloud stack api keys, use the `grafana_cloud_stack_service_account` and `gafana_cloud_stack_service_account_token` resources see [Grafana Cloud Stack Service Accounts in Terraform](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/cloud_stack_service_account).
> **Note:** This is only relevant for Grafana Cloud **Stack** API keys `grafana_cloud_stack_api_key`. Grafana Cloud API keys resource `grafana_cloud_api_key` are not deprecated and should be used for authentication for managing your Grafana cloud.
{{% admonition type="note" %}}
This is only relevant for Grafana Cloud **Stack** API keys `grafana_cloud_stack_api_key`. Grafana Cloud API keys resource `grafana_cloud_api_key` are not deprecated and should be used for authentication for managing your Grafana cloud.
{{% /admonition %}}
#### Steps

View File

@@ -21,7 +21,9 @@ Only users with the organization admin role can add data sources.
Before you can create your first dashboard, you need to add your data source.
> **Note:** Only users with the organization admin role can add data sources.
{{% admonition type="note" %}}
Only users with the organization admin role can add data sources.
{{% /admonition %}}
**To add a data source:**
@@ -36,7 +38,9 @@ Before you can create your first dashboard, you need to add your data source.
You can configure data source permissions to allow or deny certain users the ability to query or edit a data source. Each data sources configuration includes a Permissions tab where you can restrict data source permissions to specific users, teams, or roles.
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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 to which they have access. Additionally, by default, data sources can be edited by the user who created the data source, as well as users with the `Admin` role.
@@ -83,11 +87,15 @@ When query caching is enabled, Grafana temporarily stores the results of data so
Query caching works for all backend data sources. You can enable the cache globally and configure the cache duration (also called Time to Live, or TTL).
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
The following cache backends are available: in-memory, Redis, and Memcached.
> **Note:** Storing cached queries in-memory can increase Grafana's memory footprint. In production environments, a Redis or Memcached backend is highly recommended.
{{% admonition type="note" %}}
Storing cached queries in-memory can increase Grafana's memory footprint. In production environments, a Redis or Memcached backend is highly recommended.
{{% /admonition %}}
When a panel queries a cached data source, the time until this query fetches fresh data is determined by the panel's **interval.** This means that wider panels and dashboards with shorter time ranges fetch new data more frequently than narrower panels and dashboards with longer time ranges.
@@ -136,7 +144,9 @@ You can optionally override a data source's configured TTL for individual dashbo
{{< figure max-width="500px" src="/media/docs/grafana/per-panel-cache-ttl-9-4.png" caption="Set Cache TTL for a single panel" >}}
> **Note:** If query caching is enabled and the Cache tab is not visible in a data source's settings, then query caching is not available for that data source.
{{% admonition type="note" %}}
If query caching is enabled and the Cache tab is not visible in a data source's settings, then query caching is not available for that data source.
{{% /admonition %}}
To configure global settings for query caching, refer to the [Query caching section of Enterprise Configuration]({{< relref "../../setup-grafana/configure-grafana/enterprise-configuration/#caching" >}}).
@@ -155,7 +165,9 @@ To disable query caching for an entire Grafana instance, set the `enabled` flag
If you experience performance issues or repeated queries become slower to execute, consider clearing your cache.
> **Note:** This action impacts all cache-enabled data sources. If you are using Memcached, the system clears all data from the Memcached instance.
{{% admonition type="note" %}}
This action impacts all cache-enabled data sources. If you are using Memcached, the system clears all data from the Memcached instance.
{{% /admonition %}}
1. Click **Connections** in the left-side menu.
1. Under Your Connections, click **Data sources**.

View File

@@ -88,7 +88,9 @@ For more information about adding users to an organization, refer to [Add a user
This action permanently removes an organization from your Grafana server.
> **Warning:** Deleting the organization also deletes all teams and dashboards associated the organization.
{{% admonition type="warning" %}}
Deleting the organization also deletes all teams and dashboards associated the organization.
{{% /admonition %}}
### Before you begin

View File

@@ -194,7 +194,9 @@ Users with the Grafana Server Admin flag on their account or access to the confi
default_home_dashboard_path = data/main-dashboard.json
```
> **Note:** On Linux, Grafana uses `/usr/share/grafana/public/dashboards/home.json` as the default home dashboard location.
{{% admonition type="note" %}}
On Linux, Grafana uses `/usr/share/grafana/public/dashboards/home.json` as the default home dashboard location.
{{% /admonition %}}
### Set the home dashboard for your organization

View File

@@ -49,7 +49,9 @@ With [RBAC]({{< relref "../roles-and-permissions/access-control/#about-rbac" >}}
By default, Viewers, Editors and Admins have access to all App Plugins that their organization role allows them to access, thanks to the `fixed:plugins.app:reader` role.
> **Note:** Revoking this RBAC role from some users, will prevent them from accessing app plugins. But granting this RBAC role to users will only allow them to see app plugins their organization role allows them to see.
{{% admonition type="note" %}}
Revoking this RBAC role from some users, will prevent them from accessing app plugins. But granting this RBAC role to users will only allow them to see app plugins their organization role allows them to see.
{{% /admonition %}}
To prevent users from seeing an app plugin, refer to [this permissions scenarios]({{< relref "../roles-and-permissions/access-control/plan-rbac-rollout-strategy#prevent-viewers-from-accessing-an-app-plugin" >}}).
@@ -197,7 +199,9 @@ If you've allowed loading of an unsigned plugin, then Grafana writes a warning m
WARN[06-01|16:45:59] Running an unsigned plugin pluginID=<plugin id>
```
> **Note:** If you're developing a plugin, then you can enable development mode to allow all unsigned plugins.
{{% admonition type="note" %}}
If you're developing a plugin, then you can enable development mode to allow all unsigned plugins.
{{% /admonition %}}
## Learn more

View File

@@ -27,10 +27,12 @@ See [Configuration]({{< relref "../../setup-grafana/configure-grafana/" >}}) for
- Custom configuration from `$WORKING_DIR/conf/custom.ini`
- The custom configuration file path can be overridden using the `--config` parameter
> **Note:** If you have installed Grafana using the `deb` or `rpm`
> packages, then your configuration file is located at
> `/etc/grafana/grafana.ini`. This path is specified in the Grafana
> init.d script using `--config` file parameter.
{{% admonition type="note" %}}
If you have installed Grafana using the `deb` or `rpm`
packages, then your configuration file is located at
`/etc/grafana/grafana.ini`. This path is specified in the Grafana
init.d script using `--config` file parameter.
{{% /admonition %}}
### Using Environment Variables
@@ -67,7 +69,9 @@ Currently we do not provide any scripts/manifests for configuring Grafana. Rathe
## Data sources
> **Note:** Available in Grafana v5.0 and higher.
{{% admonition type="note" %}}
Available in Grafana v5.0 and higher.
{{% /admonition %}}
You can manage data sources in Grafana by adding YAML configuration files in the [`provisioning/datasources`]({{< relref "../../setup-grafana/configure-grafana#provisioning" >}}) directory.
Each config file can contain a list of `datasources` to add or update during startup.
@@ -167,7 +171,9 @@ To provision the rest of a data source's settings, include them as a JSON blob i
Common settings in the [built-in core data sources]({{< relref "../../datasources#built-in-core-data-sources" >}}) include:
> **Note:** Data sources tagged with _HTTP\*_ communicate using the HTTP protocol, which includes all core data source plugins except MySQL, PostgreSQL, and MSSQL.
{{% admonition type="note" %}}
Data sources tagged with _HTTP\*_ communicate using the HTTP protocol, which includes all core data source plugins except MySQL, PostgreSQL, and MSSQL.
{{% /admonition %}}
| Name | Type | Data source | Description |
| ----------------------------- | ------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -229,7 +235,9 @@ For examples of specific data sources' JSON data, refer to that [data source's d
Secure JSON data is a map of settings that will be encrypted with [secret key]({{< relref "../../setup-grafana/configure-grafana#secret_key" >}}) from the Grafana config. The purpose of this is only to hide content from the users of the application. This should be used for storing TLS Cert and password that Grafana will append to the request on the server side. All of these settings are optional.
> **Note:** The _HTTP\*_ tag denotes data sources that communicate using the HTTP protocol, including all core data source plugins except MySQL, PostgreSQL, and MSSQL.
{{% admonition type="note" %}}
The _HTTP\*_ tag denotes data sources that communicate using the HTTP protocol, including all core data source plugins except MySQL, PostgreSQL, and MSSQL.
{{% /admonition %}}
| Name | Type | Data source | Description |
| ----------------- | ------ | ---------------------------------- | -------------------------------------------------------- |
@@ -264,12 +272,16 @@ datasources:
## Plugins
> **Note:** Available in Grafana v7.1 and higher.
{{% admonition type="note" %}}
Available in Grafana v7.1 and higher.
{{% /admonition %}}
You can manage plugin applications in Grafana by adding one or more YAML config files in the [`provisioning/plugins`]({{< relref "../../setup-grafana/configure-grafana#provisioning" >}}) directory. Each config file can contain a list of `apps` that will be updated during start up. Grafana updates each app to match the configuration file.
> **Note:** This feature enables you to provision plugin configurations, not the plugins themselves.
> The plugins must already be installed on the Grafana instance.
{{% admonition type="note" %}}
This feature enables you to provision plugin configurations, not the plugins themselves.
The plugins must already be installed on the Grafana instance.
{{% /admonition %}}
### Example plugin configuration file
@@ -356,10 +368,12 @@ If the dashboard in the JSON file contains an [UID]({{< relref "../../dashboards
When Grafana starts, it updates/inserts all dashboards available in the configured folders. If you modify the file, then the dashboard is also updated.
By default, Grafana deletes dashboards in the database if the file is removed. You can disable this behavior using the `disableDeletion` setting.
> **Note:** Provisioning allows you to overwrite existing dashboards
> which leads to problems if you re-use settings that are supposed to be unique.
> Be careful not to re-use the same `title` multiple times within a folder
> or `uid` within the same installation as this will cause weird behaviors.
{{% admonition type="note" %}}
Provisioning allows you to overwrite existing dashboards
which leads to problems if you re-use settings that are supposed to be unique.
Be careful not to re-use the same `title` multiple times within a folder
or `uid` within the same installation as this will cause weird behaviors.
{{% /admonition %}}
### Provision folders structure from filesystem to Grafana
@@ -393,9 +407,13 @@ providers:
`server` and `application` will become new folders in Grafana menu.
> **Note:** `folder` and `folderUid` options should be empty or missing to make `foldersFromFilesStructure` work.
{{% admonition type="note" %}}
`folder` and `folderUid` options should be empty or missing to make `foldersFromFilesStructure` work.
{{% /admonition %}}
> **Note:** To provision dashboards to the General folder, store them in the root of your `path`.
{{% admonition type="note" %}}
To provision dashboards to the General folder, store them in the root of your `path`.
{{% /admonition %}}
## Alerting
@@ -403,7 +421,9 @@ For information on provisioning Grafana Alerting, refer to [Provision Grafana Al
## 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]({{< relref "../../alerting/set-up/provision-alerting-resources/file-provisioning" >}}).
{{% admonition type="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" >}}).
{{% /admonition %}}
Alert Notification Channels can be provisioned by adding one or more YAML config files in the [`provisioning/notifiers`](/administration/configuration/#provisioning) directory.
@@ -475,7 +495,9 @@ delete_notifiers:
The following sections detail the supported settings and secure settings for each alert notification type. Secure settings are stored encrypted in the database and you add them to `secure_settings` in the YAML file instead of `settings`.
> **Note:** Secure settings is supported since Grafana v7.2.
{{% admonition type="note" %}}
Secure settings is supported since Grafana v7.2.
{{% /admonition %}}
#### Alert notification `pushover`

View File

@@ -21,11 +21,15 @@ Recorded queries allow you to see trends over time by taking a snapshot of a dat
For our plugins that do not return time series, it might be useful to plot historical data. For example, you might want to query ServiceNow to see a history of request response times but it can only return current point-in-time metrics.
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
{{% /admonition %}}
## How recorded queries work
> **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.
{{% admonition type="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.
{{% /admonition %}}
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:

View File

@@ -20,13 +20,17 @@ You can assign a user one of three types of permissions:
- Organization permissions: Manage access to dashboards, alerts, plugins, teams, playlists, and other resources for an entire organization. The available roles are Viewer, Editor, and Admin.
- Dashboard and folder permission: Manage access to dashboards and folders
> **Note**: If you are running Grafana Enterprise, you can also control access to data sources and use role-based access control to grant user access to read and write permissions to specific Grafana resources. For more information about access control options available with Grafana Enterprise, refer to [Grafana Enterprise user permissions features](#grafana-enterprise-user-permissions-features).
{{% admonition type="note" %}}
If you are running Grafana Enterprise, you can also control access to data sources and use role-based access control to grant user access to read and write permissions to specific Grafana resources. For more information about access control options available with Grafana Enterprise, refer to [Grafana Enterprise user permissions features](#grafana-enterprise-user-permissions-features).
{{% /admonition %}}
## Grafana server administrators
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]({{< relref "#organization-roles" >}}).
{{% admonition type="note" %}}
The server administrator role does not mean that the user is also a Grafana [organization administrator]({{< relref "#organization-roles" >}}).
{{% /admonition %}}
A server administrator can perform the following tasks:
@@ -36,7 +40,9 @@ A server administrator can perform the following tasks:
- View Grafana server statistics, including total users and active sessions
- Upgrade the server to Grafana Enterprise.
> **Note:** The server administrator role does not exist in Grafana Cloud.
{{% admonition type="note" %}}
The server administrator role does not exist in Grafana Cloud.
{{% /admonition %}}
To assign or remove server administrator privileges, see [Server user management]({{< relref "../user-management/server-user-management/assign-remove-server-admin-privileges/" >}}).
@@ -112,7 +118,9 @@ For more information about assigning dashboard permissions, refer to [Grant dash
If you have access to the Grafana server, you can modify the default editor role so that editors can use administrator permissions to manage dashboard folders, dashboards, and teams that they create.
> **Note**: This permission does not allow editors to manage folders, dashboards, and teams that they do not create.
{{% admonition type="note" %}}
This permission does not allow editors to manage folders, dashboards, and teams that they do not create.
{{% /admonition %}}
This setting can be used to enable self-organizing teams to administer their own dashboards.

View File

@@ -18,7 +18,9 @@ weight: 120
# Role-based access control (RBAC)
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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.
@@ -62,7 +64,9 @@ Each basic role is comprised of a number of _permissions_. For example, the view
- `Action: annotations:write, Scope: annotations:type:dashboard`: Enables the viewer to modify annotations of a dashboard.
- `Action: annotations:delete, Scope: annotations:type:dashboard`: Enables the viewer to remove annotations from a dashboard.
> **Note:** You can't have a Grafana user without a basic role assigned.
{{% admonition type="note" %}}
You can't have a Grafana user without a basic role assigned.
{{% /admonition %}}
#### Basic role modification

View File

@@ -11,7 +11,9 @@ weight: 40
# Assign RBAC roles
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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.

View File

@@ -9,7 +9,9 @@ weight: 30
# Configure RBAC in Grafana
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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" >}}).

View File

@@ -10,7 +10,9 @@ weight: 80
# RBAC permissions, actions, and scopes
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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.

View File

@@ -12,7 +12,9 @@ weight: 50
# Manage RBAC roles
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
This section includes instructions for how to view permissions associated with roles, create custom roles, and update and delete roles.
@@ -192,7 +194,9 @@ roles:
The following examples show you how to create a custom role using the Grafana HTTP API. For more information about the HTTP API, refer to [Create a new custom role]({{< relref "../../../../developers/http_api/access_control/#create-a-new-custom-role" >}}).
> **Note:** You cannot create a custom role with permissions that you do not have. For example, if you only have `users:create` permissions, then you cannot create a role that includes other permissions.
{{% admonition type="note" %}}
You cannot create a custom role with permissions that you do not have. For example, if you only have `users:create` permissions, then you cannot create a role that includes other permissions.
{{% /admonition %}}
The following example creates a `custom:users:admin` role and assigns the `users:create` action to it.
@@ -301,8 +305,10 @@ roles:
scope: 'folder:*'
```
> **Note**: You can add multiple `fixed`, `basic` or `custom` roles to the `from` section. Their permissions will be copied and added to the basic role.
> <br/> **Note**: Make sure to **increment** the role version for the changes to be accounted for.
{{% admonition type="note" %}}
You can add multiple `fixed`, `basic` or `custom` roles to the `from` section. Their permissions will be copied and added to the basic role.
Make sure to **increment** the role version for the changes to be accounted for.
{{% /admonition %}}
You can also change basic roles' permissions using the API. Refer to the [RBAC HTTP API]({{< relref "../../../../developers/http_api/access_control/#update-a-role" >}}) for more details.

View File

@@ -11,7 +11,9 @@ weight: 20
# Plan your RBAC rollout strategy
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
An RBAC rollout strategy helps you determine _how_ you want to implement RBAC prior to assigning RBAC roles to users and teams.
@@ -60,7 +62,9 @@ Consider the following guidelines when you determine if you should modify basic
- **Modify basic roles** when Grafana's definitions of what viewers, editors, and admins can do does not match your definition of these roles. You can add or remove permissions from any basic role.
> **Note:** Changes that you make to basic roles impact the role definition for all [organizations]({{< relref "../../../organization-management/" >}}) in the Grafana instance. For example, when you add the `fixed:users:writer` role's permissions to the viewer basic role, all viewers in any org in the Grafana instance can create users within that org.
{{% admonition type="note" %}}
Changes that you make to basic roles impact the role definition for all [organizations]({{< relref "../../../organization-management/" >}}) in the Grafana instance. For example, when you add the `fixed:users:writer` role's permissions to the viewer basic role, all viewers in any org in the Grafana instance can create users within that org.
{{% /admonition %}}
- **Create custom roles** when fixed role definitions don't meet you permissions requirements. For example, the `fixed:dashboards:writer` role allows users to delete dashboards. If you want some users or teams to be able to create and update but not delete dashboards, you can create a custom role with a name like `custom:dashboards:creator` that lacks the `dashboards:delete` permission.
@@ -77,7 +81,9 @@ Use any of the following methods to assign RBAC roles to users and teams.
We've compiled the following permissions rollout scenarios based on current Grafana implementations.
> **Note:** If you have a use case that you'd like to share, feel free to contribute to this docs page. We'd love to hear from you!
{{% admonition type="note" %}}
If you have a use case that you'd like to share, feel free to contribute to this docs page. We'd love to hear from you!
{{% /admonition %}}
### Provide internal viewer employees with the ability to use Explore, but prevent external viewer contractors from using Explore

View File

@@ -11,7 +11,9 @@ weight: 70
# RBAC role definitions
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
The following tables list permissions associated with basic and fixed roles.
@@ -108,10 +110,14 @@ For more information about the permissions required to access alert rules, refer
### Grafana OnCall roles (beta)
> **Note:** Available from Grafana 9.4 in early access.
{{% admonition type="note" %}}
Available from Grafana 9.4 in early access.
{{% /admonition %}}
> **Note:** This feature is behind the `accessControlOnCall` feature toggle.
> You can enable feature toggles through configuration file or environment variables. See configuration [docs]({{< relref "../../../../setup-grafana/configure-grafana/#feature_toggles" >}}) for details.
{{% admonition type="note" %}}
This feature is behind the `accessControlOnCall` feature toggle.
You can enable feature toggles through configuration file or environment variables. See configuration [docs]({{< relref "../../../../setup-grafana/configure-grafana/#feature_toggles" >}}) for details.
{{% /admonition %}}
If you are using [Grafana OnCall](https://grafana.com/docs/oncall/latest/get-started/), you can try out the integration between Grafana OnCall and RBAC.
This will allow you to control access to different OnCall features using the following RBAC roles:

View File

@@ -11,7 +11,9 @@ weight: 60
# Provisioning RBAC with Grafana
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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.

View File

@@ -10,7 +10,9 @@ weight: 60
# Provisioning RBAC with Terraform
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
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).

View File

@@ -27,7 +27,9 @@ filters = accesscontrol:debug accesscontrol.evaluator:debug dashboard.permission
## Enable audit logging
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 7.3 and later, and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 7.3 and later, and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% /admonition %}}
You can enable auditing in the Grafana configuration file.
@@ -45,8 +47,10 @@ Learn more about [access control audit logs]({{< relref "../../../../setup-grafa
This happens when an instance is downgraded from a version that uses RBAC to a version that uses the legacy access control, and dashboard, folder or data source permissions are updated.
These permission updates will not be applied to RBAC, so permissions will be out of sync when the instance is next upgraded to a version with RBAC.
> **Note:** the steps provided below will set all dashboard, folder and data source permissions to what they are set to with the legacy access control.
> If you have made dashboard, folder or data source permission updates with RBAC enabled, these updates will be wiped.
{{% admonition type="note" %}}
the steps provided below will set all dashboard, folder and data source permissions to what they are set to with the legacy access control.
If you have made dashboard, folder or data source permission updates with RBAC enabled, these updates will be wiped.
{{% /admonition %}}
To resynchronize the permissions:

View File

@@ -17,7 +17,9 @@ weight: 800
You can use a service account to run automated workloads in Grafana, such as dashboard provisioning, configuration, or report generation. Create service accounts and tokens to authenticate applications, such as Terraform, with the Grafana API.
> **Note:** Service accounts will eventually replace [API keys]({{< relref "../api-keys/" >}}) as the primary way to authenticate applications that interact with Grafana.
{{% admonition type="note" %}}
Service accounts will eventually replace [API keys]({{< relref "../api-keys/" >}}) as the primary way to authenticate applications that interact with Grafana.
{{% /admonition %}}
A common use case for creating a service account is to perform operations on automated or triggered tasks. You can use service accounts to:
@@ -28,7 +30,9 @@ A common use case for creating a service account is to perform operations on aut
In [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}), you can also use service accounts in combination with [role-based access control]({{< relref "../roles-and-permissions/access-control/" >}}) to grant very specific permissions to applications that interact with Grafana.
> **Note:** Service accounts can only act in the organization they are created for. If you have the same task that is needed for multiple organizations, we recommend creating service accounts in each organization.
{{% admonition type="note" %}}
Service accounts can only act in the organization they are created for. If you have the same task that is needed for multiple organizations, we recommend creating service accounts in each organization.
{{% /admonition %}}
{{< vimeo 742056367 >}}
@@ -174,8 +178,10 @@ To list your token's permissions, use the `/api/access-control/user/permissions`
#### Example
> **Note:** The following command output is shortened to show only the relevant content.
> Authorize your request with the token whose permissions you want to check.
{{% admonition type="note" %}}
The following command output is shortened to show only the relevant content.
Authorize your request with the token whose permissions you want to check.
{{% /admonition %}}
```bash
curl -H "Authorization: Bearer glsa_HOruNAb7SOiCdshU9algkrq7FDsNSLAa_54e2f8be" -X GET '<grafana_url>/api/access-control/user/permissions' | jq

View File

@@ -37,7 +37,9 @@ When you grant folder permissions, that setting applies to all dashboards and su
For example, if a user with the viewer organization role requires editor (or admin) access to a dashboard, you can assign those elevated permissions on an individual basis.
> **Note**: If you have assigned a user dashboard folder permissions, you cannot also assign the user permission to dashboards contained in the folder.
{{% admonition type="note" %}}
If you have assigned a user dashboard folder permissions, you cannot also assign the user permission to dashboards contained in the folder.
{{% /admonition %}}
Grant dashboard permissions when you want to restrict or enhance dashboard access for users who do not have permissions defined in the associated folder.
@@ -63,7 +65,9 @@ By default, the viewer organization role does not allow viewers to create dashbo
This modification is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries but not save or create new dashboards.
> **Note**: If you use Grafana Enterprise and customize users' permissions using RBAC, the RBAC permissions override the functionality enabled by the `viewers_can_edit` flag.
{{% admonition type="note" %}}
If you use Grafana Enterprise and customize users' permissions using RBAC, the RBAC permissions override the functionality enabled by the `viewers_can_edit` flag.
{{% /admonition %}}
### Before you begin

View File

@@ -32,13 +32,17 @@ 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. Navigate to **Administration > Users**.
> **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.
{{% admonition type="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.
{{% /admonition %}}
## Change a user's organization permissions
Update user permissions when you want to enhance or restrict a user's access to organization resources. For more information about organization permissions, refer to [Organization roles]({{< relref "../../roles-and-permissions/#organization-roles" >}}).
> **Note:** Organization roles sync from the authentication provider on user sign-in. To prevent synchronization of organization roles from the authentication provider regardless of their role in the authentication provider, then refer to the `skip_org_role_sync` setting in your Grafana configuration. Refer to [skip org role sync]({{< relref "../../../setup-grafana/configure-grafana/#authgrafana_com-skip_org_role_sync" >}}) for more information.
{{% admonition type="note" %}}
Organization roles sync from the authentication provider on user sign-in. To prevent synchronization of organization roles from the authentication provider regardless of their role in the authentication provider, then refer to the `skip_org_role_sync` setting in your Grafana configuration. Refer to [skip org role sync]({{< relref "../../../setup-grafana/configure-grafana/#authgrafana_com-skip_org_role_sync" >}}) for more information.
{{% /admonition %}}
### Before you begin
@@ -56,7 +60,9 @@ Update user permissions when you want to enhance or restrict a user's access to
1. Select the role that you want to assign.
1. Click **Update**.
> **Note:** If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../server-user-management/change-user-org-permissions/" >}}) in the Server Admin section.
{{% admonition type="note" %}}
If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../server-user-management/change-user-org-permissions/" >}}) in the Server Admin section.
{{% /admonition %}}
## Invite a user to join an organization
@@ -65,7 +71,9 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
- If you know that the user already has access Grafana and you know their user name, then you issue an invitation by entering their user name.
- If the user is new to Grafana, then use their email address to issue an invitation. The system automatically creates the user account on first sign in.
> **Note:** If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../server-user-management/add-remove-user-to-org/" >}}).
{{% admonition type="note" %}}
If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../server-user-management/add-remove-user-to-org/" >}}).
{{% /admonition %}}
### Before you begin
@@ -99,7 +107,9 @@ If the invitee is not already a user, the system adds them.
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.
> **Note:** The **Pending Invites** button is only visible if there are unanswered invitations.
{{% admonition type="note" %}}
The **Pending Invites** button is only visible if there are unanswered invitations.
{{% /admonition %}}
### Before you begin

View File

@@ -37,7 +37,9 @@ 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. Click **Administration** in the left-side menu, and then **Users**.
> **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" >}}).
{{% admonition type="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" >}}).
{{% /admonition %}}
## View user details
@@ -115,7 +117,9 @@ When you configure advanced authentication using Oauth, SAML, LDAP, or the Auth
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "add-remove-user-to-org/" >}}).
> **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 add users by [inviting a user to join an organization]({{< relref "../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% admonition type="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 add users by [inviting a user to join an organization]({{< relref "../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% /admonition %}}
## Force a user to log out of Grafana

View File

@@ -38,7 +38,9 @@ You are required to specify an Admin role for each organization. The first user
The next time the user signs in, they will be able to navigate to their new organization using the Switch Organizations option in the user profile menu.
> **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 [invite a user to join an organization]({{< relref "../../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% admonition type="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 [invite a user to join an organization]({{< relref "../../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% /admonition %}}
## Remove a user from an organization

View File

@@ -11,7 +11,9 @@ weight: 20
Grafana server administrators are responsible for creating users, organizations, and managing permissions. For more information about the server administration role, refer to [Grafana server administrators]({{< relref "../../../roles-and-permissions#grafana-server-administrators" >}}).
> **Note:** Server administrators are "super-admins" with full permissions to create, read, update, and delete all resources and users in all organizations, as well as update global settings such as licenses. Only grant this permission to trusted users.
{{% admonition type="note" %}}
Server administrators are "super-admins" with full permissions to create, read, update, and delete all resources and users in all organizations, as well as update global settings such as licenses. Only grant this permission to trusted users.
{{% /admonition %}}
## Before you begin

View File

@@ -16,7 +16,9 @@ When `editors_can_admin` is enabled:
- Users with the Editor role in an organization are Administrators for new dashboards and folders they create, meaning they can edit dashboard permissions. To learn more about dashboard permissions, refer to [Manage dashboard permissions]({{< relref "../../manage-dashboard-permissions/" >}}).
- Users with the Editor role in an organization can create teams, and they are Administrators of the teams they create. To learn more about team permissions, refer to [Team management]({{< relref "../../../team-management/" >}}).
> **Note**: If you use Grafana Enterprise and customize users' permissions using RBAC, the RBAC permissions override the functionality enabled by the `editors_can_admin` flag.
{{% admonition type="note" %}}
If you use Grafana Enterprise and customize users' permissions using RBAC, the RBAC permissions override the functionality enabled by the `editors_can_admin` flag.
{{% /admonition %}}
## Before you begin

View File

@@ -22,7 +22,9 @@ You can also view important information about your account, such as the organiza
You can change your Grafana password at any time.
> **Note**: If your Grafana instance uses an <!--[external authentication provider]({{< relref "../../../setup-grafana/configure-security/configure-authentication/" >}})--> external authentication provider, then you might not be able to change your password in Grafana. Contact your Grafana administrator for more information.
{{% admonition type="note" %}}
If your Grafana instance uses an external authentication provider, then you might not be able to change your password in Grafana. Contact your Grafana administrator for more information.
{{% /admonition %}}
**To change your password**:

View File

@@ -2,6 +2,7 @@
aliases:
- about-alerting/
- unified-alerting/alerting/
description: Intro to key benefits and features of Grafana Alerting
cascade:
labels:
products:
@@ -25,7 +26,7 @@ Grafana Alerting is available for Grafana OSS, Grafana Enterprise, or Grafana Cl
Watch this video to learn more about Grafana Alerting: {{< vimeo 720001629 >}}
_Refer to [Manage your alert rules]({{< relref "../alerting/alerting-rules/" >}}) for current instructions._
_Refer to [Manage your alert rules]({{< relref "../alerting/alerting-rules" >}}) for current instructions._
## Key features and benefits
@@ -86,4 +87,4 @@ Here are some tips on how to create an effective alert management set up for you
## Useful links
- [Introduction to Alerting]({{< relref "/docs/grafana/latest/alerting/fundamentals" >}})
- [Introduction to Alerting]({{< relref "./fundamentals" >}})

View File

@@ -3,6 +3,7 @@ aliases:
- old-alerting/create-alerts/
- rules/
- unified-alerting/alerting-rules/
description: How you can manage your alert rules
title: Manage your alert rules
weight: 130
---
@@ -15,10 +16,10 @@ While queries and expressions select the data set to evaluate, a condition sets
You can:
- [Create Grafana Mimir or Loki managed alert rules]({{< relref "create-mimir-loki-managed-rule/" >}})
- [Create Grafana Mimir or Loki managed recording rules]({{< relref "create-mimir-loki-managed-recording-rule/" >}})
- [Edit Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group/" >}})
- [Create Grafana managed alert rules]({{< relref "create-grafana-managed-rule/" >}})
- [Create Grafana Mimir or Loki managed alert rules]({{< relref "./create-mimir-loki-managed-rule" >}})
- [Create Grafana Mimir or Loki managed recording rules]({{< relref "./create-mimir-loki-managed-recording-rule" >}})
- [Edit Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group" >}})
- [Create Grafana managed alert rules]({{< relref "./create-grafana-managed-rule" >}})
**Note:**
Grafana managed alert rules can only be edited or deleted by users with Edit permissions for the folder storing the rules.

View File

@@ -18,12 +18,10 @@ Grafana-managed rules are the most flexible alert rule type. They allow you to c
Multiple alert instances can be created as a result of one alert rule (also known as a multi-dimensional alerting).
For information on Grafana Alerting, see [Introduction to Grafana Alerting](/docs/grafana/next/alerting/fundamentals/), which explains the key concepts and features of Grafana Alerting.
For information on Grafana Alerting, see [Introduction to Grafana Alerting]({{< relref "../fundamentals" >}}), which explains the key concepts and features of Grafana Alerting.
Watch this video to learn more about creating alerts: {{< vimeo 720001934 >}}
_Refer to [Add Grafana managed rule]({{< relref "#add-grafana-managed-rule" >}}) (following) for current instructions._
To create a Grafana-managed alert rule, complete the following steps.
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
@@ -34,14 +32,14 @@ To create a Grafana-managed alert rule, complete the following steps.
5. In Step 2, add queries and expressions to evaluate, and then select the alert condition.
- For queries, select a data source from the dropdown.
- Specify a [time range](/docs/grafana/latest/dashboards/use-dashboards/?pg=blog&plcmt=body-txt#time-units-and-relative-ranges).
- Specify a [time range]({{< relref "../../dashboards/use-dashboards#time-units-and-relative-ranges" >}}).
**Note:**
Grafana Alerting only supports fixed relative time ranges, for example, `now-24hr: now`.
It does not support absolute time ranges: `2021-12-02 00:00:00 to 2021-12-05 23:59:592` or semi-relative time ranges: `now/d to: now`.
- Add one or more [queries]({{< relref "/docs/grafana/latest/panels-visualizations/query-transform-data#add-a-query" >}}) or [expressions]({{< relref "/docs/grafana/latest/panels-visualizations/query-transform-data/expression-queries" >}}).
- Add one or more [queries]({{< relref "../../panels-visualizations/query-transform-data#add-a-query" >}}) or [expressions]({{< relref "../../panels-visualizations/query-transform-data/expression-queries" >}}).
- For each expression, select either **Classic condition** to create a single alert rule, or choose from the **Math**, **Reduce**, and **Resample** options to generate separate alert for each series. For details on these options, see [Single and multi dimensional rule](#single-and-multi-dimensional-rule).
- Click **Run queries** to verify that the query is successful.
- Next, select the query or expression for your alert condition.
@@ -52,7 +50,7 @@ To create a Grafana-managed alert rule, complete the following steps.
- For **Evaluate every**, specify the frequency of evaluation. Must be a multiple of 10 seconds. For examples, `1m`, `30s`.
- For **Evaluate for**, specify the duration for which the condition must be true before an alert fires.
> **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the `Firing` state, otherwise it reverts back to the `Normal` state.
- In **Configure no data and error handling**, configure alerting behavior in the absence of data. Use the guidelines in [No data and error handling](#no-data-and-error-handling).
- In **Configure no data and error handling**, configure alerting behavior in the absence of data. Use the guidelines in [No data and error handling](#configure-no-data-and-error-handling).
- Click **Preview** to check the result of running the query at this moment. Preview excludes no data and error handling.
**Note:**
@@ -62,7 +60,7 @@ To create a Grafana-managed alert rule, complete the following steps.
7. In Step 4, add the storage location, rule group, as well as additional metadata associated with the rule.
- From the **Folder** dropdown, select the folder where you want to store the rule.
- For **Group**, specify a pre-defined group. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/" >}}).
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
8. In Step 5, add custom labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value .
@@ -77,13 +75,13 @@ For Grafana managed alerts, you can create a rule with a classic condition or yo
Use the classic condition expression to create a rule that triggers a single alert when its condition is met. For a query that returns multiple series, Grafana does not track the alert state of each series. As a result, Grafana sends only a single alert even when alert conditions are met for multiple series.
For more information, see [expressions documentation]({{< relref "/docs/grafana/latest/panels-visualizations/query-transform-data/expression-queries" >}}).
For more information, see [expressions documentation]({{< relref "../../panels-visualizations/query-transform-data/expression-queries" >}}).
**Multi-dimensional rule**
To generate a separate alert for each series, create a multi-dimensional rule. Use `Math`, `Reduce`, or `Resample` expressions to create a multi-dimensional rule. For example:
- Add a `Reduce` expression for each query to aggregate values in the selected time range into a single value. (Not needed for [rules using numeric data]({{< relref "../fundamentals/evaluate-grafana-alerts/#alerting-on-numeric-data-1" >}})).
- Add a `Reduce` expression for each query to aggregate values in the selected time range into a single value. (Not needed for [rules using numeric data]({{< relref "../fundamentals/evaluate-grafana-alerts#alerting-on-numeric-data-1" >}})).
- Add a `Math` expression with the condition for the rule. Not needed in case a query or a reduce expression already returns 0 if rule should not fire, or a positive number if it should fire. Some examples: `$B > 70` if it should fire in case value of B query/expression is more than 70. `$B < $C * 100` in case it should fire if value of B is less than value of C multiplied by 100. If queries being compared have multiple series in their results, series from different queries are matched if they have the same labels or one is a subset of the other.
![Query section multi dimensional](/static/img/docs/alerting/unified/rule-edit-multi-8-0.png 'Query section multi dimensional screenshot')

View File

@@ -26,9 +26,11 @@ You can create and manage recording rules for an external Grafana Mimir or Loki
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% admonition type="note" %}}
If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% /admonition %}}
## Add a Grafana Mimir or Loki managed recording rule
@@ -43,7 +45,7 @@ To create a Grafana Mimir or Loki managed recording rule
- Select your Loki or Prometheus data source.
- Enter a PromQL or LogQL query.
1. In Step 3, add the namespace and the group.
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group/" >}}).
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group" >}}).
- From the **Group** dropdown, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one.
1. In Step 4, add the custom labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value.
@@ -63,9 +65,9 @@ To create a Grafana Mimir or Loki managed recording rule
1. In Step 3, add evaluation behavior.
- Enter a valid **For** duration. The expression has to be true for this long for the alert to be fired.
1. In Step 4, add additional metadata associated with the rule.
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group/" >}}).
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group" >}}).
- From the **Group** dropdown, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/" >}}).
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
1. In Step 5, add custom labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value .

View File

@@ -10,13 +10,13 @@ keywords:
- guide
- rules
- create
title: Create Grafana Mimir or Loki managed alert rules
title: Create a Grafana Mimir or Loki managed alerting rules
weight: 400
---
# Create a Grafana Mimir or Loki managed alerting rules
Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance that has ruler API enabled. For information on Grafana Alerting, see [About Grafana Alerting]({{< relref "../" >}}) which explains the various components of Grafana Alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/" >}}) of Grafana Alerting.
Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance that has ruler API enabled. For information on Grafana Alerting, see [About Grafana Alerting]({{< relref "../../alerting" >}}) which explains the various components of Grafana Alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals" >}}) of Grafana Alerting.
## Before you begin
@@ -26,13 +26,15 @@ Grafana allows you to create alerting rules for an external Grafana Mimir or Lok
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
Watch this video to learn more about how to create a Mimir managed alert rule: {{< vimeo 720001865 >}}
_Refer to [Add a Grafana Mimir or Loki managed alerting rule]({{< relref "#add-a-grafana-mimir-or-loki-managed-alerting-rule" >}}) (following) for current instructions._
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% admonition type="note" %}}
If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% /admonition %}}
## Add a Grafana Mimir or Loki managed alerting rule
@@ -48,9 +50,9 @@ _Refer to [Add a Grafana Mimir or Loki managed alerting rule]({{< relref "#add-a
- In the **For** text box, specify the duration for which the condition must be true before an alert fires. If you specify `5m`, the condition must be true for 5 minutes before the alert fires.
> **Note:** Once a condition is met, the alert goes into the `Pending` state. If the condition remains active for the duration specified, the alert transitions to the `Firing` state, else it reverts to the `Normal` state.
1. In Step 4, add the namespace, rule group, as well as additional metadata associated with the rule.
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group/" >}}).
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group" >}}).
- From the **Group** dropdown, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/" >}}).
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
1. In Step 5, add custom labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value .

View File

@@ -1,11 +1,10 @@
---
aliases:
description: Declare an incident from a firing alert
keywords:
- grafana
- alert rules
- incident
title: Declare an incident from a firing alert
title: Declare incidents from firing alerts
weight: 430
---
@@ -46,4 +45,4 @@ To declare an incident from a firing alert, complete the following steps.
View and track the incident in the Grafana Incident application.
For more information, refer to [Grafana Incident documentation.](https://grafana.com/docs/grafana-cloud/incident/configure-settings/)
For more information, refer to [Grafana Incident documentation.](/docs/grafana-cloud/incident/configure-settings/)

View File

@@ -35,7 +35,7 @@ When managing large volumes of alerts, you can use extended alert rule search ca
To view alerting details:
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page. By default, the List view displays.
1. In **View as**, toggle between Grouped or State views by clicking the relevant option. See [Group view](#group-view) and [State view](#state-view) for more information.
1. In **View as**, toggle between Grouped or State views by clicking the relevant option. See [Grouped view](#grouped-view) and [State view](#state-view) for more information.
1. Expand the rule row to view the rule labels, annotations, data sources the rule queries, and a list of alert instances resulting from this rule.
{{< figure src="/static/img/docs/alerting/unified/rule-details-8-0.png" max-width="650px" caption="Alerting rule details" >}}

View File

@@ -36,7 +36,9 @@ An alert rule can be in either of the following states:
| **Pending** | At least one time series returned by the evaluation engine is `Pending`. |
| **Firing** | At least one time series returned by the evaluation engine is `Firing`. |
> **Note:** Alerts will transition first to `pending` and then `firing`, thus it will take at least two evaluation cycles before an alert is fired.
{{% admonition type="note" %}}
Alerts will transition first to `pending` and then `firing`, thus it will take at least two evaluation cycles before an alert is fired.
{{% /admonition %}}
## Alert instance state
@@ -70,3 +72,56 @@ When evaluation of an alerting rule produces state `NoData` or `Error`, Grafana
| **datasource_uid** | The UID of the data source that caused the state. |
You can handle these alerts the same way as regular alerts by adding a silence, route to a contact point, and so on.
## State history view
Use the State history view to get insight into how your alert instances behave over time. View information on when a state change occurred, what the previous state was, the current state, any other alert instances that changed their state at the same time as well as what the query value was that triggered the change.
### Configure the state history view
**Note:** This applies to Open Source only. There is no configuration required if you are using Grafana Cloud.
To enable the state history view, complete the following steps.
1. Ensure you have a Loki instance running to save your history to.
1. Configure the following settings in your Grafana configuration:
a. Enable the Loki backend and Loki remote URL.
b. Enable the three feature toggles for alert state history.
**Example:**
```
[unified_alerting.state_history]
enabled = true
backend = loki
loki_remote_url = http://localhost:3100
[feature_toggles]
enable = alertStateHistoryLokiSecondary, alertStateHistoryLokiPrimary, alertStateHistoryLokiOnly
```
### View state history
To use the State history view, complete the following steps.
1. Navigate to **Alerts&IRM** -> **Alerting** -> **Alert rules**.
1. Click an alert rule.
1. Select **Show state history**.
The State history view opens.
The timeline view at the top displays a timeline of changes for the past hour, so you can track how your alert instances are behaving over time.
The bottom part shows the alert instances, their previous and current state, the value of each part of the expression and a unique set of labels.
Common labels are displayed at the top to make it easier to identify different alert instances.
1. From the timeline view, hover over a time to get an automatic display of all the changes that happened at that particular moment.
These changes are displayed in real time in the timestamp view at the bottom of the page. The timestamp view is a list of all the alert instances that changed state at that point in time. The visualization only displays 12 instances by default.
The value shown for each instance is for each part of the expression that was evaluated.
1. Click the labels to filter and narrow down the results.

View File

@@ -2,6 +2,7 @@
aliases:
- metrics/
- unified-alerting/fundamentals/
description: Intro to the key concepts in Alerting and how it works
title: Introduction to Alerting
weight: 105
---

View File

@@ -16,7 +16,7 @@ While queries and expressions select the data set to evaluate, a condition sets
An interval specifies how frequently an alerting rule is evaluated. Duration, when configured, indicates how long a condition must be met. The alert rules can also define alerting behavior in the absence of data.
- [Alert rule types]({{< relref "alert-rule-types/" >}})
- [Alert instances]({{< relref "alert-instances/" >}})
- [Organising alert rules]({{< relref "organising-alerts/" >}})
- [Annotation and labels]({{< relref "../annotation-label/" >}})
- [Alert rule types]({{< relref "./alert-rule-types" >}})
- [Alert instances]({{< relref "./alert-instances" >}})
- [Organising alert rules]({{< relref "./organising-alerts" >}})
- [Annotation and labels]({{< relref "../annotation-label" >}})

View File

@@ -39,7 +39,7 @@ To create Grafana Mimir or Grafana Loki-managed alert rules, you must have a com
You can check if your data source supports rule creation via Grafana by testing the data source and observing if the Ruler API is supported.
For more information on the Ruler API, refer to [Ruler API](docs/loki/latest/api/#ruler).
For more information on the Ruler API, refer to [Ruler API](/docs/loki/latest/api/#ruler).
The following diagram shows how Grafana Mimir or Grafana Loki-managed alerting works.

View File

@@ -17,11 +17,11 @@ This topic explains why labels are a fundamental component of alerting.
- The Alertmanager uses labels to match alerts for silences and alert groups in notification policies.
- The alerting UI shows labels for every alert instance generated during evaluation of that rule.
- Contact points can access labels to dynamically generate notifications that contain information specific to the alert that is resulting in a notification.
- You can add labels to an [alerting rule]({{< relref "/docs/grafana/latest/alerting/alerting-rules" >}}). Labels are manually configurable, use template functions, and can reference other labels. Labels added to an alerting rule take precedence in the event of a collision between labels (except in the case of [Grafana reserved labels](#grafana-reserved-labels)).
- You can add labels to an [alerting rule]({{< relref "../../alerting-rules" >}}). Labels are manually configurable, use template functions, and can reference other labels. Labels added to an alerting rule take precedence in the event of a collision between labels (except in the case of [Grafana reserved labels](#grafana-reserved-labels)).
{{< figure src="/static/img/docs/alerting/unified/rule-edit-details-8-0.png" max-width="550px" caption="Alert details" >}}
# External Alertmanager Compatibility
## External Alertmanager Compatibility
Grafana's built-in Alertmanager supports both Unicode label keys and values. If you are using an external Prometheus Alertmanager, label keys must be compatible with their [data model](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
This means that label keys must only contain **ASCII letters**, **numbers**, as well as **underscores** and match the regex `[a-zA-Z_][a-zA-Z0-9_]*`.
@@ -35,10 +35,12 @@ Example: A label key/value pair `Alert! 🔔="🔥"` will become `Alert_0x1f514=
**Note** If multiple label keys are sanitized to the same value, the duplicates will have a short hash of the original label appended as a suffix.
# Grafana reserved labels
## Grafana reserved labels
> **Note:** Labels prefixed with `grafana_` are reserved by Grafana for special use. If a manually configured label is added beginning with `grafana_` it may be overwritten in case of collision.
> To stop the Grafana Alerting engine from adding a reserved label, you can disable it via the `disabled_labels` option in [unified_alerting.reserved_labels]({{< relref "/docs/grafana/latest/setup-grafana/configure-grafana#unified_alertingreserved_labels" >}}) configuration.
{{% admonition type="note" %}}
Labels prefixed with `grafana_` are reserved by Grafana for special use. If a manually configured label is added beginning with `grafana_` it may be overwritten in case of collision.
To stop the Grafana Alerting engine from adding a reserved label, you can disable it via the `disabled_labels` option in [unified_alerting.reserved_labels]({{< relref "../../../setup-grafana/configure-grafana#unified_alertingreserved_labels" >}}) configuration.
{{% /admonition %}}
Grafana reserved labels can be used in the same way as manually configured labels. The current list of available reserved labels are:

View File

@@ -5,7 +5,8 @@ keywords:
- alerting
- guide
- fundamentals
title: Label matchers
title: How label matching works
menuTitle: Label matchers
weight: 117
---

View File

@@ -156,7 +156,7 @@ https://example.com/grafana
### graphLink
The `graphLink` function returns the path to the graphical view in [Explore](https://grafana.com/docs/grafana/latest/explore/) for the given expression and data source.
The `graphLink` function returns the path to the graphical view in [Explore]({{< relref "../../../explore" >}}) for the given expression and data source.
#### Example
@@ -268,7 +268,7 @@ The `pathPrefix` function returns the path of the Grafana server as configured i
### tableLink
The `tableLink` function returns the path to the tabular view in [Explore](https://grafana.com/docs/grafana/latest/explore/) for the given expression and data source.
The `tableLink` function returns the path to the tabular view in [Explore]({{< relref "../../../explore" >}}) for the given expression and data source.
#### Example

View File

@@ -33,7 +33,7 @@ The following table lists the contact point integrations supported by Grafana.
| ------------------------------------------------ | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
| [DingDing](https://www.dingtalk.com/en) | `dingding` | Supported | N/A |
| [Discord](https://discord.com/) | `discord` | Supported | N/A |
| [Email](#email) | `email` | Supported | Supported |
| Email | `email` | Supported | Supported |
| [Google Hangouts](https://hangouts.google.com/) | `googlechat` | Supported | N/A |
| [Kafka](https://kafka.apache.org/) | `kafka` | Supported | N/A |
| [Line](https://line.me/en/) | `line` | Supported | N/A |
@@ -47,13 +47,13 @@ The following table lists the contact point integrations supported by Grafana.
| [Telegram](https://telegram.org/) | `telegram` | Supported | N/A |
| [Threema](https://threema.ch/) | `threema` | Supported | N/A |
| [VictorOps](https://help.victorops.com/) | `victorops` | Supported | Supported |
| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
| [Cisco Webex Teams](#webex) | `webex` | Supported | Supported |
| [WeCom](#wecom) | `wecom` | Supported | N/A |
| Webhook | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
| Cisco Webex Teams | `webex` | Supported | Supported |
| WeCom | `wecom` | Supported | N/A |
| [Zenduty](https://www.zenduty.com/) | `webhook` | Supported | N/A |
## Useful links
[Manage contact points](/docs/grafana/latest/alerting/manage-notifications/create-contact-point/)
[Manage contact points]({{< relref "../../manage-notifications/manage-contact-points" >}})
[Create and edit notification templates](/docs/grafana/latest/alerting/manage-notifications/template-notifications/create-notification-templates/)
[Create and edit notification templates]({{< relref "../../manage-notifications/template-notifications/create-notification-templates" >}})

View File

@@ -6,32 +6,31 @@ weight: 100
# Data sources
There are a number of data sources that are compatible with Grafana Alerting. Each data source is supported by a plugin. You can use one of the built-in data sources listed below, use [external data source plugins](https://grafana.com/grafana/plugins/?type=datasource), or create your own data source plugin.
There are a number of data sources that are compatible with Grafana Alerting. Each data source is supported by a plugin. You can use one of the built-in data sources listed below, use [external data source plugins](/grafana/plugins/?type=datasource), or create your own data source plugin.
If you are creating your own data source plugin, make sure it is a backend plugin as Grafana Alerting requires this in order to be able to evaluate rules using the data source. Frontend data sources are not supported, because the evaluation engine runs on the backend.
Specifying { "alerting": true, “backend”: true } in the plugin.json file indicates that the data source plugin is compatible with Grafana Alerting and includes the backend data-fetching code. For more information, refer to [Build a data source backend plugin](https://grafana.com/tutorials/build-a-data-source-backend-plugin/).
Specifying { "alerting": true, “backend”: true } in the plugin.json file indicates that the data source plugin is compatible with Grafana Alerting and includes the backend data-fetching code. For more information, refer to [Build a data source backend plugin](/tutorials/build-a-data-source-backend-plugin/).
These are the data sources that are compatible with and supported by Grafana Alerting.
- [AWS CloudWatch](https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/)
- [Azure Monitor](https://grafana.com/docs/grafana/latest/datasources/azuremonitor/)
- [Elasticsearch](https://grafana.com/docs/grafana/latest/datasources/elasticsearch/)
- [Google Cloud Monitoring](https://grafana.com/docs/grafana/latest/datasources/google-cloud-monitoring/)
- [Graphite](https://grafana.com/docs/grafana/latest/datasources/graphite/)
- [InfluxDB](https://grafana.com/docs/grafana/latest/datasources/influxdb/)
- [Loki](https://grafana.com/docs/grafana/latest/datasources/loki/)
- [Microsoft SQL Server MSSQL](https://grafana.com/docs/grafana/latest/datasources/mssql/)
- [MySQL](https://grafana.com/docs/grafana/latest/datasources/mysql/)
- [Open TSDB](https://grafana.com/docs/grafana/latest/datasources/opentsdb/)
- [PostgreSQL](https://grafana.com/docs/grafana/latest/datasources/postgres/)
- [Prometheus](https://grafana.com/docs/grafana/latest/datasources/prometheus/)
- [Jaeger](https://grafana.com/docs/grafana/latest/datasources/jaeger/)
- [Zipkin](https://grafana.com/docs/grafana/latest/datasources/zipkin/)
- [Tempo](https://grafana.com/docs/grafana/latest/datasources/tempo/)
- [Testdata](https://grafana.com/docs/grafana/latest/datasources/testdata/)
- [AWS CloudWatch]({{< relref "../../datasources/aws-cloudwatch" >}})
- [Azure Monitor]({{< relref "../../datasources/azure-monitor" >}})
- [Elasticsearch]({{< relref "../../datasources/elasticsearch" >}})
- [Google Cloud Monitoring]({{< relref "../../datasources/google-cloud-monitoring" >}})
- [Graphite]({{< relref "../../datasources/graphite" >}})
- [InfluxDB]({{< relref "../../datasources/influxdb" >}})
- [Loki]({{< relref "../../datasources/loki" >}})
- [Microsoft SQL Server MSSQL]({{< relref "../../datasources/mssql" >}})
- [MySQL]({{< relref "../../datasources/mysql" >}})
- [Open TSDB]({{< relref "../../datasources/opentsdb" >}})
- [PostgreSQL]({{< relref "../../datasources/postgres" >}})
- [Prometheus]({{< relref "../../datasources/prometheus" >}})
- [Jaeger]({{< relref "../../datasources/jaeger" >}})
- [Zipkin]({{< relref "../../datasources/zipkin" >}})
- [Tempo]({{< relref "../../datasources/tempo" >}})
- [Testdata]({{< relref "../../datasources/testdata" >}})
## Useful links
- [Grafana data sources](https://grafana.com/docs/grafana/latest/datasources/)
- [Add a data source](https://grafana.com/docs/grafana/latest/datasources/add-a-data-source/)
- [Grafana data sources]({{< relref "../../datasources" >}})

View File

@@ -2,6 +2,7 @@
aliases:
- ../metrics/
- ../unified-alerting/fundamentals/evaluate-grafana-alerts/
description: How to alert on numeric data
title: Alerting on numeric data
weight: 116
---
@@ -23,11 +24,11 @@ Grafana managed alerts query the following backend data sources that have alerti
- built-in data sources or those developed and maintained by Grafana: `Graphite`, `Prometheus`, `Loki`, `InfluxDB`, `Elasticsearch`,
`Google Cloud Monitoring`, `Cloudwatch`, `Azure Monitor`, `MySQL`, `PostgreSQL`, `MSSQL`, `OpenTSDB`, `Oracle`, and `Azure Monitor`
- community developed backend data sources with alerting enabled (`backend` and `alerting` properties are set in the [plugin.json]({{< relref "/docs/grafana/latest/developers/plugins/metadata" >}}))
- community developed backend data sources with alerting enabled (`backend` and `alerting` properties are set in the [plugin.json]({{< relref "../../developers/plugins/metadata" >}}))
### Metrics from the alerting engine
The alerting engine publishes some internal metrics about itself. You can read more about how Grafana publishes [internal metrics]({{< relref "/docs/grafana/latest/setup-grafana/set-up-grafana-monitoring" >}}).
The alerting engine publishes some internal metrics about itself. You can read more about how Grafana publishes [internal metrics]({{< relref "../../setup-grafana/set-up-grafana-monitoring" >}}).
| Metric Name | Type | Description |
| ------------------------------------------------- | --------- | ---------------------------------------------------------------------------------------- |

View File

@@ -32,4 +32,4 @@ The notification logs and silences are persisted in the database periodically an
## Useful links
[Configure alerting high availability](https://grafana.com/docs/grafana/next/alerting/set-up/configure-high-availability)
[Configure alerting high availability]({{< relref "../../set-up/configure-high-availability" >}})

View File

@@ -45,7 +45,7 @@ The following table contains the integrations supported in Grafana:
| ------------------------------------------------ | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
| [DingDing](https://www.dingtalk.com/en) | `dingding` | Supported | N/A |
| [Discord](https://discord.com/) | `discord` | Supported | N/A |
| [Email](#email) | `email` | Supported | Supported |
| Email | `email` | Supported | Supported |
| [Google Hangouts](https://hangouts.google.com/) | `googlechat` | Supported | N/A |
| [Kafka](https://kafka.apache.org/) | `kafka` | Supported | N/A |
| [Line](https://line.me/en/) | `line` | Supported | N/A |
@@ -59,9 +59,9 @@ The following table contains the integrations supported in Grafana:
| [Telegram](https://telegram.org/) | `telegram` | Supported | N/A |
| [Threema](https://threema.ch/) | `threema` | Supported | N/A |
| [VictorOps](https://help.victorops.com/) | `victorops` | Supported | Supported |
| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
| [Cisco Webex Teams](#webex) | `webex` | Supported | Supported |
| [WeCom](#wecom) | `wecom` | Supported | N/A |
| Webhook | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
| Cisco Webex Teams | `webex` | Supported | Supported |
| WeCom | `wecom` | Supported | N/A |
| [Zenduty](https://www.zenduty.com/) | `webhook` | Supported | N/A |
## Templating notifications

View File

@@ -27,7 +27,9 @@ An alert rule can be in either of the following states:
| **Pending** | At least one time series returned by the evaluation engine is `Pending`. |
| **Firing** | At least one time series returned by the evaluation engine is `Firing`. |
> **Note:** Alerts will transition first to `pending` and then `firing`, thus it will take at least two evaluation cycles before an alert is fired.
{{% admonition type="note" %}}
Alerts will transition first to `pending` and then `firing`, thus it will take at least two evaluation cycles before an alert is fired.
{{% /admonition %}}
## Alert instance state

View File

@@ -0,0 +1,46 @@
---
title: Legacy alerting deprecation
description: Legacy alerting deprecation notice
weight: 999
keywords:
- grafana
- alerting
---
# Legacy alerting deprecation
Starting with Grafana v9.0.0, legacy alerting is deprecated, meaning that it is no longer actively maintained or supported by Grafana. As of Grafana v10.0.0, we do not contribute or accept external contributions to the codebase apart from CVE fixes.
Legacy alerting refers to the old alerting system that was used prior to the introduction of Grafana Alerting; the new alerting system in Grafana.
The decision to deprecate legacy alerting was made to encourage users to migrate to the new alerting system, which offers a more powerful and flexible alerting experience based on Prometheus Alertmanager.
Users who are still using legacy alerting are encouraged to migrate their alerts to the new system as soon as possible to ensure that they continue to receive new features, bug fixes, and support.
However, we will still patch CVEs until legacy alerting is completely removed in Grafana 11; honoring our commitment to building and distributing secure software.
We have provided [instructions]({{< relref "./migrating-alerts" >}}) on how to migrate to the new alerting system, making the process as easy as possible for users.
## Why are we deprecating legacy alerting?
The new Grafana alerting system is more powerful and flexible than the legacy alerting feature.
The new system is based on Prometheus Alertmanager, which offers a more comprehensive set of features for defining and managing alerts. With the new alerting system, users can create alerts based on complex queries, configure alert notifications via various integrations, and set up sophisticated alerting rules with support for conditional expressions, aggregation, and grouping.
Overall, the new alerting system in Grafana is a major improvement over the legacy alerting feature, providing users with a more powerful and flexible alerting experience.
Additionally, legacy alerting still requires Angular to function and we are [planning to remove support for it]({{< relref "../developers/angular_deprecation" >}}) in Grafana 11.
## When will we remove legacy alerting completely?
Legacy alerting will be removed from the code-base in Grafana 11, following the same timeline as the [Angular deprecation]({{< relref "../developers/angular_deprecation" >}}).
## How do I migrate to the new Grafana alerting?
Refer to our [migration instructions]({{< relref "./migrating-alerts/opt-in" >}}).
### Links
- [Upgrade Alerting]({{< relref "./migrating-alerts" >}})
- [Legacy alerting differences and limitations]({{< relref "./migrating-alerts/migrating-legacy-alerts" >}})
- [Angular support deprecation]({{< relref "../developers/angular_deprecation" >}})

View File

@@ -12,12 +12,12 @@ weight: 160
Choosing how, when, and where to send your alert notifications is an important part of setting up your alerting system. These decisions will have a direct impact on your ability to resolve issues quickly and not miss anything important.
As a first step, define your contact points; where to send your alert notifications to. A contact point can be a set of destinations for matching notifications. Add notification templates to contact points for reuse and consistent messaging in your notifications.
As a first step, define your contact points; where to send your alert notifications to. A contact point is a set of one or more [integrations]({{< relref "./manage-contact-points/configure-integrations" >}}) that are used to deliver notifications. Add notification templates to contact points for reuse and consistent messaging in your notifications.
Next, create a notification policy which is a set of rules for where, when and how your alerts are routed to contact points. In a notification policy, you define where to send your alert notifications by choosing one of the contact points you created.Add mute timings to your notification policy. A mute timing is a recurring interval of time during which you dont want any notifications to be sent out.
Next, create a notification policy which is a set of rules for where, when and how your alerts are routed to contact points. In a notification policy, you define where to send your alert notifications by choosing one of the contact points you created. Add mute timings to your notification policy. A mute timing is a recurring interval of time during which you dont want any notifications to be sent out.
You can also add silences to stop notifications from one or more alert rules. The difference between a silence and a mute timing is that a silence only lasts for only a specified window of time.
You can also add silences to stop notifications from one or more alert rules. The difference between a silence and a mute timing is that a silence only lasts for a specified window of time.
When an alert rule fires, the alert ruler sends alert instances to the Alertmanager; one alert rule can trigger multiple individual alert instances.
When an alert rule fires, the ruler sends alert instances to the Alertmanager; one alert rule can trigger multiple individual alert instances.
The Alertmanager receives these alert instances and then handles silences, groups alerts, and sends notifications to your contact points as defined in the notification policy.

View File

@@ -3,6 +3,7 @@ aliases:
- ../fundamentals/alertmanager/
- ../metrics/
- ../unified-alerting/fundamentals/alertmanager/
description: Intro to the different Alertmanagers
title: Alertmanager
weight: 100
---
@@ -43,4 +44,4 @@ If you are provisioning your data source, set the flag `handleGrafanaManagedAler
[Prometheus Alertmanager documentation](https://prometheus.io/docs/alerting/latest/alertmanager/)
[Add an external Alertmanager](https://grafana.com/docs/grafana/latest/alerting/set-up/configure-alertmanager/)
[Add an external Alertmanager]({{< relref "../set-up/configure-alertmanager" >}})

View File

@@ -30,11 +30,15 @@ When a network partition occurs, half of your services can no longer reach the d
You can configure grouping to be `group_by: [alertname]` (take note that the `env` label is omitted). With this configuration in place, Grafana sends a single compact notification that has all the affected environments for this alert rule.
> **Note:** Grafana also has a special label named `...` that you can use to group all alerts by all labels (effectively disabling grouping), therefore each alert will go into its own group. It is different from the default of `group_by: null` where **all** alerts go into a single group.
{{% admonition type="note" %}}
Grafana also has a special label named `...` that you can use to group all alerts by all labels (effectively disabling grouping), therefore each alert will go into its own group. It is different from the default of `group_by: null` where **all** alerts go into a single group.
{{% /admonition %}}
## Edit default notification policy
> **Note:** Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organizations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 Alerts only if they have one organization. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.
{{% admonition type="note" %}}
Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organizations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 Alerts only if they have one organization. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.
{{% /admonition %}}
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
@@ -53,7 +57,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
1. From the **Choose Alertmanager** dropdown, select an Alertmanager. By default, the **Grafana Alertmanager** is selected.
1. To add a top level specific policy, go to the Specific routing section and click **+ New specific policy**.
1. To add a top level specific policy, go to the Specific routing section and click **+New specific policy**.
1. In the Matching labels section, add one or more rules for matching alert labels.
1. In the **Contact point** dropdown, select the contact point to send notification to if alert matches only this specific policy and not any of the nested policies.
1. Optionally, enable **Continue matching subsequent sibling nodes** to continue matching sibling policies even after the alert matched the current policy. When this option is enabled, you can get more than one notification for one alert.
@@ -66,7 +70,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
1. Expand the specific policy you want to update.
1. Click **+ Add nested policy**, then add the details using information in [Add new specific policy](#add-new-specific-policy).
1. Click **+ Add nested policy**, then add the details using information in [Add new specific policy](#add-new-nested-policy).
1. Click **Save policy** to save your changes.
## Edit specific policy
@@ -74,7 +78,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. In the left-side menu, click **Alerts & IRM**, and then **Alerting**.
1. Click **Notification policies**.
1. Find the policy you want to edit, then click **Edit**.
1. Make any changes using instructions in [Add new specific policy](#add-new-specific-policy).
1. Make any changes using instructions in [Add new specific policy](#add-new-nested-policy).
1. Click **Save policy**.
## Searching for policies

View File

@@ -1,5 +1,5 @@
---
description:
description: How to use images in notifications
keywords:
- grafana
- alerting
@@ -13,7 +13,9 @@ weight: 500
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**: This feature is not supported in Mimir or Loki, or when Grafana is configured to send alerts to other Alertmanagers such as the Prometheus Alertmanager
{{% admonition type="note" %}}
This feature is not supported in Mimir or Loki, or when Grafana is configured to send alerts to other Alertmanagers such as the Prometheus Alertmanager
{{% /admonition %}}
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.
@@ -25,25 +27,27 @@ Refer to the table at the end of this page for a list of contact points and thei
## Requirements
1. To use images in notifications, Grafana must be set up to use [image rendering]({{< relref "/docs/grafana/latest/setup-grafana/image-rendering" >}}). You can either install the image rendering plugin or run it as a remote rendering service.
1. To use images in notifications, Grafana must be set up to use [image rendering]({{< relref "../../setup-grafana/image-rendering" >}}). You can either install the image rendering plugin or run it as a remote rendering service.
2. When a screenshot is taken it is saved to the [data]({{< relref "/docs/grafana/latest/setup-grafana/configure-grafana#paths" >}}) folder, even if Grafana is configured to upload screenshots to a cloud storage service. Grafana must have write-access to this folder otherwise screenshots cannot be saved to disk and an error will be logged for each failed screenshot attempt.
2. When a screenshot is taken it is saved to the [data]({{< relref "../../setup-grafana/configure-grafana#paths" >}}) folder, even if Grafana is configured to upload screenshots to a cloud storage service. Grafana must have write-access to this folder otherwise screenshots cannot be saved to disk and an error will be logged for each failed screenshot attempt.
3. You should use a cloud storage service unless sending alerts to Discord, Email, Pushover, Slack or Telegram. These integrations support either embedding screenshots in the email or attaching screenshots to the notification, while other integrations must link screenshots uploaded to a cloud storage bucket. If a cloud storage service has been configured then integrations that support both will link screenshots from the cloud storage bucket instead of embedding or attaching screenshots to the notification.
4. If uploading screenshots to a cloud storage service such as Amazon S3, Azure Blob Storage or Google Cloud Storage; and accessing screenshots in the bucket requires authentication, logging into a VPN or corporate network; then image previews might not work in all instant messaging and communication platforms as some services rewrite URLs to use their CDN. If this happens we recommend using [integrations which support uploading images]({{<relref "#supported-contact-points">}}) or [disabling images in notifications]({{<relref "#configuration">}}) altogether.
4. If uploading screenshots to a cloud storage service such as Amazon S3, Azure Blob Storage or Google Cloud Storage; and accessing screenshots in the bucket requires authentication, logging into a VPN or corporate network; then image previews might not work in all instant messaging and communication platforms as some services rewrite URLs to use their CDN. If this happens we recommend using [integrations which support uploading images]({{< relref "#supported-contact-points" >}}) or [disabling images in notifications]({{< relref "#configuration" >}}) altogether.
5. When uploading screenshots to a cloud storage service Grafana uses a random 20 character (30 characters for Azure Blob Storage) filename for each image. This makes URLs hard to guess but not impossible.
6. Grafana does not delete screenshots from cloud storage. We recommend configuring a retention policy with your cloud storage service to delete screenshots older than 1 month.
7. If Grafana is configured to upload screenshots to its internal web server, and accessing Grafana requires logging into a VPN or corporate network; image previews might not work in all instant messaging and communication platforms as some services rewrite URLs to use their CDN. If this happens we recommend using [integrations which support uploading images]({{<relref "#supported-contact-points">}}) or [disabling images in notifications]({{<relref "#configuration">}}) altogether.
7. If Grafana is configured to upload screenshots to its internal web server, and accessing Grafana requires logging into a VPN or corporate network; image previews might not work in all instant messaging and communication platforms as some services rewrite URLs to use their CDN. If this happens we recommend using [integrations which support uploading images]({{< relref "#supported-contact-points" >}}) or [disabling images in notifications]({{< relref "#configuration" >}}) altogether.
8. Grafana does not delete screenshots uploaded to its internal web server. To delete screenshots from `static_root_path/images/attachments` after a certain amount of time we recommend setting up a CRON job.
## Configuration
> **Note:** Grafana Cloud users can request this feature by [opening a support ticket in the Cloud Portal](/profile/org#support).
{{% admonition type="note" %}}
Grafana Cloud users can request this feature by [opening a support ticket in the Cloud Portal](/profile/org#support).
{{% /admonition %}}
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`:
@@ -59,9 +63,9 @@ If screenshots should be uploaded to cloud storage then `upload_external_image_s
# will be persisted to disk for up to temp_data_lifetime.
upload_external_image_storage = false
Please see [`[external_image_storage]`]({{< relref "/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.
Please see [`[external_image_storage]`]({{< relref "../../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]`]({{< relref "/docs/grafana/latest/setup-grafana/configure-grafana#external_image_storage" >}}).
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]`]({{< relref "../../setup-grafana/configure-grafana#external_image_storage" >}}).
Restart Grafana for the changes to take effect.

View File

@@ -5,6 +5,7 @@ aliases:
- ../../contact-points/edit-contact-point/
- ../../contact-points/test-contact-point/
- ../create-contact-point/
description: How to manage your contact points
keywords:
- grafana
- alerting
@@ -52,7 +53,9 @@ Complete the following steps to delete a contact point.
1. Find the contact point to delete, and then click **Delete** (trash icon).
1. In the confirmation dialog, click **Yes, delete**.
> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the notification policy or update it to use another contact point.
{{% admonition type="note" %}}
You cannot delete contact points that are in use by a notification policy. You will have to either delete the notification policy or update it to use another contact point.
{{% /admonition %}}
## Test a contact point

View File

@@ -20,7 +20,7 @@ A mute timing is a recurring interval of time when no new notifications for a po
Similar to silences, mute timings do not prevent alert rules from being evaluated, nor do they stop alert instances from being shown in the user interface. They only prevent notifications from being created.
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source]({{< relref "/docs/grafana/latest/datasources/alertmanager" >}}). For more information, refer to [Alertmanager documentation]({{< relref "/docs/grafana/latest/alerting/manage-notifications/alertmanager" >}}).
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source]({{< relref "../../datasources/alertmanager" >}}). For more information, refer to [Alertmanager documentation]({{< relref "./alertmanager" >}}).
## Mute timings vs silences

View File

@@ -1,10 +1,10 @@
---
aliases:
keywords:
- grafana
- alerting
- notifications
- templates
description: How to customize your notifications using templating
title: Customize notifications
weight: 400
---

View File

@@ -1,5 +1,4 @@
---
aliases:
keywords:
- grafana
- alerting
@@ -8,6 +7,7 @@ keywords:
- create templates
- edit templates
- delete templates
description: How to create notification templates
title: Create notification templates
weight: 200
---
@@ -32,7 +32,7 @@ To create a template, complete the following steps.
{{< figure max-width="940px" src="/static/img/docs/alerting/unified/new-notification-template-email-subject-9-4.png" caption="New notification template email.subject" >}}
4. Click Save.
4. Click **Save**.
`{{ define "email.subject" }}` and `{{ end }}` is automatically added to the start and end of the content:
@@ -48,7 +48,43 @@ To create a notification template that contains more than one template:
{{< figure max-width="940px" src="/static/img/docs/alerting/unified/new-notification-template-email-9-4.png" caption="New notification template" >}}
4. Click Save.
4. Click **Save**.
## Preview notification templates
Preview how your notification templates will look before using them in your contact points, helping you understand the result of the template you are creating as well as enabling you to fix any errors before saving it.
**Note:** This feature is only for Grafana Alertmanager.
To preview your notification templates:
1. Navigate to **Alerts&IRM** -> **Alerting** -> **Contact points**.
1. Click **+Add template** or edit an existing template.
1. Add or update your template content.
Default data is provided and you can add or edit alert data to it as well as alert instances. You can add alert data directly in the Payload data window itself or click **Choose alert instances** or **Add alert data**.
1. [Optional] To add alert data from existing alert instances:
a. Click **Choose alert instances**.
b. Hover over the alert instances to view more information on each alert instance.
c. Click **Confirm** to add the alert instance(s) to the payload.
1. [Optional] To add alert data using the Alert data editor, click **Add alert data:**
a. Add annotations, custom labels and/or set a dashboard or a panel.
b. Toggle Firing/resolved depending on whether you want to add firing or resolved alerts to your notification.
c. Click **Add alert data to payload**.
d. Click **Refresh preview** to see what your template content will look like and the corresponding payload data.
If there are any errors in your template, they are displayed in the Preview and you can correct them before saving.
1. Click **Save.**
## Template the subject of an email

View File

@@ -1,10 +1,10 @@
---
aliases:
keywords:
- grafana
- alerting
- notifications
- templates
description: Reference for templating notifications
title: Reference
weight: 400
---

View File

@@ -1,11 +1,11 @@
---
aliases:
keywords:
- grafana
- alerting
- notifications
- templates
- use templates
description: Use notification templates in contact points
title: Use notification templates
weight: 300
---

View File

@@ -1,11 +1,11 @@
---
aliases:
keywords:
- grafana
- alerting
- notifications
- templates
- write templates
description: Use Go's templating language in notifications
title: Using Go's templating language
weight: 100
---

View File

@@ -5,6 +5,7 @@ keywords:
- notification
- errors
- contact points
description: View notification errors to find out why they weren't sent or received
title: View notification errors
weight: 900
---

View File

@@ -2,6 +2,7 @@
aliases:
- ../contact-points/notifiers/webhook-notifier/
- ../fundamentals/contact-points/webhook-notifier/
description: Configure the webhook notifier for notifications
keywords:
- grafana
- alerting

View File

@@ -12,24 +12,28 @@ weight: 110
Grafana Alerting is enabled by default for new installations or existing installations whether or not legacy alerting is configured.
> **Note**: When upgrading, your dashboard alerts are migrated to a new format. This migration can be rolled back easily by [opting out]({{< relref "opt-out/" >}}). If you have any questions regarding this migration, please contact us.
{{% admonition type="note" %}}
When upgrading, your dashboard alerts are migrated to a new format. This migration can be rolled back easily by [opting out]({{< relref "./opt-out" >}}). If you have any questions regarding this migration, please contact us.
{{% /admonition %}}
Existing installations that do not use legacy alerting will have Grafana Alerting enabled by default unless alerting is disabled in the configuration.
Likewise, existing installations that use legacy alerting will be automatically upgraded to Grafana Alerting unless you have [opted out]({{< relref "opt-out/" >}}) of Grafana Alerting before migration takes place. During the upgrade, legacy alerts are migrated to the new alerts type and no alerts or alerting data are lost.
Likewise, existing installations that use legacy alerting will be automatically upgraded to Grafana Alerting unless you have [opted out]({{< relref "./opt-out" >}}) of Grafana Alerting before migration takes place. During the upgrade, legacy alerts are migrated to the new alerts type and no alerts or alerting data are lost.
Once the upgrade has taken place, you still have the option to [roll back]({{< relref "roll-back/" >}}) to legacy alerting. However, we do not recommend choosing this option. If you do choose to roll back, Grafana will restore your alerts to the alerts you had at the point in time when the upgrade took place. All new alerts and changes made exclusively in Grafana Alerting will be deleted.
Once the upgrade has taken place, you still have the option to [roll back]({{< relref "./roll-back" >}}) to legacy alerting. However, we do not recommend choosing this option. If you do choose to roll back, Grafana will restore your alerts to the alerts you had at the point in time when the upgrade took place. All new alerts and changes made exclusively in Grafana Alerting will be deleted.
> **Note**: Cloud customers, who do not want to upgrade to Grafana Alerting, should contact customer support.
{{% admonition type="note" %}}
Cloud customers, who do not want to upgrade to Grafana Alerting, should contact customer support.
{{% /admonition %}}
If you have opted out or rolled back, you can always choose to [opt in]({{< relref "opt-in/" >}}) to Grafana Alerting at a later point in time.
If you have opted out or rolled back, you can always choose to [opt in]({{< relref "./opt-in" >}}) to Grafana Alerting at a later point in time.
The following table provides details on the upgrade for Cloud, Enterprise, and OSS installations and the new Grafana Alerting UI.
| Grafana instance upgraded to 9.0 | |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Cloud | Existing Cloud installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting plugin icon and the new Grafana Alerting icon. During upgrade, existing alerts from the Cloud alerting plugin are migrated to Grafana Alerting. Once migration is complete, you can access and manage the older alerts from the new alerting Grafana Alerting icon in the navigation panel. The (older) Cloud alerting plugin is uninstalled from your cloud instance. Contact customer support if you **do not wish** to migrate to Grafana Alerting for your Cloud stack. If you choose to use legacy alerting, use the You will see the new Grafana Alerting icon as well as the old Cloud alerting plugin in the left navigation panel. |
| Enterprise | Existing Enterprise instances using legacy alerting will have both the old (marked as legacy) and the new alerting icons in the navigation panel. During upgrade, existing legacy alerts are migrated to Grafana Alerting. If you wish, you can [opt-out]({{< relref "opt-out/" >}}) of Grafana Alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. |
| OSS | Existing OSS installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting icon (marked as legacy) and the new Grafana Alerting icon. During upgrade, existing legacy alerts are migrated to Grafana Alerting. If you wish, you can [opt-out]({{< relref "opt-out/" >}}) of Grafana Alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. |
| Enterprise | Existing Enterprise instances using legacy alerting will have both the old (marked as legacy) and the new alerting icons in the navigation panel. During upgrade, existing legacy alerts are migrated to Grafana Alerting. If you wish, you can [opt-out]({{< relref "./opt-out" >}}) of Grafana Alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. |
| OSS | Existing OSS installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting icon (marked as legacy) and the new Grafana Alerting icon. During upgrade, existing legacy alerts are migrated to Grafana Alerting. If you wish, you can [opt-out]({{< relref "./opt-out" >}}) of Grafana Alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. |
> **Note:** Legacy alerting will be deprecated in a future release (v10).

View File

@@ -20,16 +20,21 @@ longer supported. We refer to these as [Differences]({{< relref "#differences" >
2. Read and write access to legacy dashboard alerts and Grafana alerts are governed by the permissions of the folders storing them. During migration, legacy dashboard alert permissions are matched to the new rules permissions as follows:
- If alert's dashboard has permissions, it will create a folder named like `Migrated {"dashboardUid": "UID", "panelId": 1, "alertId": 1}` to match permissions of the dashboard (including the inherited permissions from the folder).
- If there are no dashboard permissions and the dashboard is under a folder, then the rule is linked to this folder and inherits its permissions.
- If there are no dashboard permissions and the dashboard is under the General folder, then the rule is linked to the `General Alerting` folder, and the rule inherits the default permissions.
- If there are dashboard permissions, a folder named `Migrated {"dashboardUid": "UID", "panelId": 1, "alertId": 1}` is created to match the permissions of the dashboard (including the inherited permissions from the folder).
- If there are no dashboard permissions and the dashboard is in a folder, then the rule is linked to this folder and inherits its permissions.
- If there are no dashboard permissions and the dashboard is in the General folder, then the rule is linked to the `General Alerting` folder and the rule inherits the default permissions.
3. Since there is no `Keep Last State` option for [`No Data`]({{< relref "../alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) in Grafana Alerting, this option becomes `NoData` during the legacy rules migration. Option "Keep Last State" for [`Error handling`]({{< relref "../alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) is migrated to a new option `Error`. To match the behavior of the `Keep Last State`, in both cases, during the migration Grafana automatically creates a silence for each alert rule with a duration of 1 year.
3. `NoData` and `Error` settings are migrated as is to the corresponding settings in Grafana Alerting, except in two situations:
3.1. As there is no `Keep Last State` option for `No Data` in Grafana Alerting, this option becomes `NoData`. The `Keep Last State` option for `Error` is migrated to a new option `Error`. To match the behavior of the `Keep Last State`, in both cases, during the migration Grafana automatically creates a silence for each alert rule with a duration of 1 year.
3.2. Due to lack of validation, legacy alert rules imported via JSON or provisioned along with dashboards can contain arbitrary values for `NoData` and [`Error`](/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md#configure-no-data-and-error-handling). In this situation, Grafana will use the default setting: `NoData` for No data, and `Error` for Error.
4. Notification channels are migrated to an Alertmanager configuration with the appropriate routes and receivers. Default notification channels are added as contact points to the default route. Notification channels not associated with any Dashboard alert go to the `autogen-unlinked-channel-recv` route.
5. Unlike legacy dashboard alerts where images in notifications are enabled per contact point, images in notifications for Grafana Alerting must be enabled in the Grafana configuration, either in the configuration file or environment variables, and are enabled for either all or no contact points. Refer to [images in notifications](https://grafana.com/docs/grafana/latest/alerting/manage-notifications/images-in-notifications/).
6. Grafana Alerting does not support pausing the evaluation of alert rules. After migration, all paused alert rules will become active, which may cause unexpected notifications to be sent.
5. Unlike legacy dashboard alerts where images in notifications are enabled per contact point, images in notifications for Grafana Alerting must be enabled in the Grafana configuration, either in the configuration file or environment variables, and are enabled for either all or no contact points. Refer to [images in notifications]({{< relref "../manage-notifications/images-in-notifications" >}}).
6. The JSON format for webhook notifications has changed in Grafana Alerting and uses the format from [Prometheus Alertmanager](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config).
## Limitations

View File

@@ -26,9 +26,11 @@ enabled = true
enabled = false
```
Installations that have been migrated to Grafana Alerting can [roll back]({{< relref "roll-back/" >}}) to legacy alerting at any time.
Installations that have been migrated to Grafana Alerting can [roll back]({{< relref "./roll-back" >}}) to legacy alerting at any time.
> **Note:** This topic is only relevant for OSS and Enterprise customers. Contact customer support to enable or disable Grafana Alerting for your Grafana Cloud stack.
{{% admonition type="note" %}}
This topic is only relevant for OSS and Enterprise customers. Contact customer support to enable or disable Grafana Alerting for your Grafana Cloud stack.
{{% /admonition %}}
The `ngalert` toggle previously used to enable or disable Grafana Alerting is no longer available.

View File

@@ -47,4 +47,4 @@ Grafana cannot be used to receive external alerts. You can only send alerts to t
You have the option to send Grafana managed alerts to an external Alertmanager, you can find this option in the admin tab on the Alerting page.
For more information, refer to [this GitHub discussion](https://github.com/grafana/grafana/discussions/45773). For more information on the different Alertmanagers, refer to [Alertmanager]([{{< relref "../manage-notifications/alertmanager/" >}}](https://grafana.com/docs/grafana/next/alerting/manage-notifications/alertmanager/).
For more information, refer to [this GitHub discussion](https://github.com/grafana/grafana/discussions/45773). For more information on the different Alertmanagers, refer to [Alertmanager]({{< relref "../manage-notifications/alertmanager" >}}).

View File

@@ -1,14 +1,15 @@
---
aliases:
- unified-alerting/set-up/
title: Set up Alerting
weight: 107
description: How to set up additional alerting features and integrations
title: Additional setup
weight: 600
---
# Set up Alerting
# Additional setup
Configure the features and integrations that you need to create and manage your alerts.
Alerting supports a plethora of configurations, from [configuring external Alertmanagers]({{< relref "./configure-alertmanager" >}}) to routing Grafana Managed Alerts outside of Grafana, to defining your alerting setup [as-code using Provisioning]({{< relref "./provision-alerting-resources" >}}).
- [Configure Alertmanager](https://grafana.com/docs/grafana/latest/alerting/set-up/configure-alertmanager/)
- [Provision Grafana Alerting resources](https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/)
- [Connect Grafana Alerting to Grafana OnCall](https://grafana.com/docs/oncall/latest/integrations/available-integrations/add-grafana-alerting/)
Setup Grafana Alerting high-availability mode by [following this guide]({{< relref "./configure-high-availability" >}}).
Connect your alerting setup to Grafana OnCall by [following this guide](/docs/oncall/latest/integrations/available-integrations/add-grafana-alerting/).

View File

@@ -35,6 +35,6 @@ To add an external Alertmanager, complete the following steps.
If you are provisioning your data source, set the flag `handleGrafanaManagedAlerts` in the `jsonData` field to `true` to send Grafana-managed alerts to this Alertmanager.
**Note:**: Prometheus, Grafana Mimir, and Cortex implementations of Alertmanager are supported. For Prometheus, contact points and notification policies are read-only in the Grafana Alerting UI.
**Note:** Prometheus, Grafana Mimir, and Cortex implementations of Alertmanager are supported. For Prometheus, contact points and notification policies are read-only in the Grafana Alerting UI.
1. Click **Save & test**.

View File

@@ -22,7 +22,7 @@ There are three options to choose from:
1. Provision your alerting resources using the Alerting Provisioning HTTP API.
For more information on the Alerting Provisioning HTTP API, refer to [Alerting provisioning API](https://grafana.com/docs/grafana/latest/developers/http_api/alerting_provisioning/).
For more information on the Alerting Provisioning HTTP API, refer to [Alerting provisioning API]({{< relref "../../../developers/http_api/alerting_provisioning" >}}).
1. Provision your alerting resources using Terraform.

View File

@@ -22,14 +22,14 @@ Details on how to set up the files and which fields are required for each object
**Note:**
Provisioning takes place during the initial set up of your Grafana system, but you can re-run it at any time using the [Grafana Admin API](https://grafana.com/docs/grafana/latest/developers/http_api/admin/#reload-provisioning-configurations).
Provisioning takes place during the initial set up of your Grafana system, but you can re-run it at any time using the [Grafana Admin API]({{< relref "../../../../developers/http_api/admin#reload-provisioning-configurations" >}}).
### Provision alert rules
Create or delete alert rules in your Grafana instance(s).
1. Create alert rules in Grafana.
1. Use the [Alerting provisioning API](https://grafana.com/docs/grafana/latest/developers/http_api/alerting_provisioning/#route-get-alert-rule-export) export endpoints to download a provisioning file for your alert rules.
1. Use the [Alerting provisioning API]({{< relref "../../../../developers/http_api/alerting_provisioning" >}}) export endpoints to download a provisioning file for your alert rules.
1. Copy the contents into a YAML or JSON configuration file in the default provisioning directory or in your configured directory.
Example configuration files can be found below.

View File

@@ -33,9 +33,9 @@ Complete the following tasks to create and manage your alerting resources using
## Create an API key for provisioning
You can [create a normal Grafana API key](https://grafana.com/docs/grafana/latest/administration/api-keys/) to authenticate Terraform with Grafana. Most existing tooling using API keys should automatically work with the new Grafana Alerting support.
You can [create a normal Grafana API key]({{< relref "../../../../administration/api-keys" >}}) to authenticate Terraform with Grafana. Most existing tooling using API keys should automatically work with the new Grafana Alerting support.
There are also dedicated RBAC roles for alerting provisioning. This lets you easily authenticate as a [service account](https://grafana.com/docs/grafana/latest/administration/service-accounts/) with the minimum permissions needed to provision your Alerting infrastructure.
There are also dedicated RBAC roles for alerting provisioning. This lets you easily authenticate as a [service account]({{< relref "../../../../administration/service-accounts" >}}) with the minimum permissions needed to provision your Alerting infrastructure.
To create an API key for provisioning, complete the following steps.
@@ -222,13 +222,13 @@ You cannot edit resources provisioned from Terraform from the UI. This ensures t
## Provision alert rules
[Alert rules](https://grafana.com/docs/grafana/latest/alerting/alerting-rules/) enable you to alert against any Grafana data source. This can be a data source that you already have configured, or you can [define your data sources in Terraform](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source) alongside your alert rules.
[Alert rules]({{< relref "../../../alerting-rules" >}}) enable you to alert against any Grafana data source. This can be a data source that you already have configured, or you can [define your data sources in Terraform](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source) alongside your alert rules.
To provision alert rules, complete the following steps.
1. Create a data source to query and a folder to store your rules in.
In this example, the [TestData](https://grafana.com/docs/grafana/latest/datasources/testdata/) data source is used.
In this example, the [TestData]({{< relref "../../../../datasources/testdata" >}}) data source is used.
Alerts can be defined against any backend datasource in Grafana.
@@ -245,7 +245,7 @@ resource "grafana_folder" "rule_folder" {
2. Define an alert rule.
For more information on alert rules, refer to [how to create Grafana-managed alerts](https://grafana.com/blog/2022/08/01/grafana-alerting-video-how-to-create-alerts-in-grafana-9/).
For more information on alert rules, refer to [how to create Grafana-managed alerts](/blog/2022/08/01/grafana-alerting-video-how-to-create-alerts-in-grafana-9/).
3. Create a rule group containing one or more rules.

View File

@@ -7,7 +7,8 @@ keywords:
- alerting
- alerting resources
- provisioning
title: View provisioned resources in Grafana
title: View provisioned alerting resources in Grafana
menuTitle: View provisioned resources in Grafana
weight: 300
---

View File

@@ -25,7 +25,9 @@ grafana cli -h
To invoke Grafana CLI, add the path to the grafana binaries in your `PATH` environment variable. Alternately, if your current directory is the `bin` directory, use `./grafana cli`. Otherwise, you can specify full path to the CLI. For example, on Linux `/usr/share/grafana/bin/grafana` and on Windows `C:\Program Files\GrafanaLabs\grafana\bin\grafana.exe`, and invoke it with `grafana cli`.
> **Note:** Some commands, such as installing or removing plugins, require `sudo` on Linux. If you are on Windows, run Windows PowerShell as Administrator.
{{% admonition type="note" %}}
Some commands, such as installing or removing plugins, require `sudo` on Linux. If you are on Windows, run Windows PowerShell as Administrator.
{{% /admonition %}}
## Grafana CLI command syntax

View File

@@ -20,7 +20,9 @@ weight: 200
Usage insights enables you to have a better understanding of how your Grafana instance is used.
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/). Grafana Cloud insights logs include additional fields with their own dashboards. Read more in the [Grafana Cloud documentation](/docs/grafana-cloud/usage-insights/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/). Grafana Cloud insights logs include additional fields with their own dashboards. Read more in the [Grafana Cloud documentation](/docs/grafana-cloud/usage-insights/).
{{% /admonition %}}
The usage insights feature collects a number of aggregated data and stores them in the database:
@@ -54,7 +56,7 @@ Dashboard insights show the following information:
{{< figure src="/static/img/docs/enterprise/dashboard_insights_stats.png" max-width="400px" class="docs-image--no-shadow" >}}{{< figure src="/static/img/docs/enterprise/dashboard_insights_users.png" max-width="400px" class="docs-image--no-shadow" >}}
{{% admonition type="Note" %}}
{{% admonition type="note" %}}
If you've enabled the `publicDashboards` feature toggle, you'll also see a Public dashboards tab in your analytics.

View File

@@ -78,6 +78,22 @@ In Grafana v5.3+ it's possible to use template variables in the tag query. So if
{{< figure src="/static/img/docs/annotations/annotation_tag_filter_variable-8-1-0.png" max-width="600px" >}}
### Filter by panel
You can configure the panels to which annotations apply by choosing an option from the **Show in** section. You can select **All panels**, which applies to all panels that support annotations, or filter for specific panels by choosing **Selected panels** or **All panels except**. The annotations are displayed accordingly.
{{< figure src="/media/docs/grafana/dashboards/screenshot-annotation-filtering-10.png" max-width="600px" caption="Annotation filtering" >}}
### Add time region
When adding or editing an annotation, you can define a repeating time region by setting **Query type** to **Time regions**. Then, define the **From** and **To** sections with the preferred days of the week and time. You also have the option to change the timezone, which is set to the dashboard's timezone, by default.
{{< figure src="/media/docs/grafana/dashboards/screenshot-annotation-timeregions-10.png" max-width="600px" caption="Time regions business hours" >}}
The above configuration will produce the following result in the Time series panel:
{{< figure src="/media/docs/grafana/screenshot-grafana-10-0-timeseries-time-regions.png" max-width="600px" caption="Time series time regions business hours" >}}
## Querying other data sources
Annotation events are fetched via annotation queries. To add a new annotation query to a dashboard

View File

@@ -61,7 +61,9 @@ https://${your-domain}/path/to/your/dashboard?var-adhoc=example_key|=|example_va
The query parameter `var-adhoc=key|=|value` applies the ad hoc filter configured as the `adhoc` dashboard variable using the `example_key` key, the `=` operator, and the `example_value` value.
> **Note:** When sharing URLs with ad hoc filters, remember to encode the URL. In the above example, replace the pipes (`|`) with `%7C` and the equality operator (`=`) with `%3D`.
{{% admonition type="note" %}}
When sharing URLs with ad hoc filters, remember to encode the URL. In the above example, replace the pipes (`|`) with `%7C` and the equality operator (`=`) with `%3D`.
{{% /admonition %}}
### Example

View File

@@ -26,11 +26,18 @@ Dashboards and panels allow you to show your data in visual form. Each panel nee
1. Click **Dashboards** in the left-side menu.
1. Click **New** and select **New Dashboard**.
1. On the empty dashboard, click **+ Add visualization**.
![Empty dashboard state](/media/docs/grafana/dashboards/empty-dashboard-9.5.png)
1. In the first line of the **Query** tab, click the dropdown list and select a data source.
1. Write or construct a query in the query language of your data source.
For more information about data sources, refer to [Data sources]({{< relref "../../../datasources/" >}}) for specific guidelines.
1. Click the Refresh dashboard icon to query the data source.
![Refresh dashboard icon](/media/docs/grafana/dashboards/screenshot-refresh-dashboard-9.5.png)
1. In the visualization list, select a visualization type.
![Visualization selector](/media/docs/grafana/dashboards/screenshot-select-visualization-9-5.png)
@@ -49,9 +56,15 @@ Dashboards and panels allow you to show your data in visual form. Each panel nee
- [Configure thresholds]({{< relref "../../../panels-visualizations/configure-thresholds/" >}})
- [Configure standard options]({{< relref "../../../panels-visualizations/configure-standard-options/" >}})
1. When you've finished editing your panel, click **Save** in the top right corner.
1. When you've finished editing your panel, click **Save** to save the dashboard.
Alternatively, click **Apply** if you want to see your changes applied to the dashboard first. Then click the save icon in the dashboard header.
1. Enter a name for your dashboard and select a folder, if applicable.
1. Click **Save**.
1. To add more panels to the dashboard, click **Add** in the dashboard header and select **Visualization** in the dropdown.
![Add dropdown](/media/docs/grafana/dashboards/screenshot-add-dropdown-9.5.png)
## Configure repeating rows
@@ -75,7 +88,9 @@ To see an example of repeating rows, refer to [Dashboard with repeating rows](ht
1. In the **Row Options** dialog box, add a title and select the variable for which you want to add repeating rows.
1. Click **Update**.
> **Note:** To provide context to dashboard users, add the variable to the row title.
{{% admonition type="note" %}}
To provide context to dashboard users, add the variable to the row title.
{{% /admonition %}}
## Move a panel

View File

@@ -26,7 +26,9 @@ To view the JSON of a dashboard:
When a user creates a new dashboard, a new dashboard JSON object is initialized with the following fields:
> **Note:** In the following JSON, id is shown as null which is the default value assigned to it until a dashboard is saved. Once a dashboard is saved, an integer value is assigned to the `id` field.
{{% admonition type="note" %}}
In the following JSON, id is shown as null which is the default value assigned to it until a dashboard is saved. Once a dashboard is saved, an integer value is assigned to the `id` field.
{{% /admonition %}}
```json
{

View File

@@ -26,7 +26,7 @@ Reporting enables you to automatically generate PDFs from any of your dashboards
{{< figure src="/static/img/docs/enterprise/reports_list_8.1.png" max-width="500px" >}}
-->
Any changes you make to a dashboard used in a report are reflected the next time the report is sent. For example, if you change the time range in the dashboard, then the time range in the report also changes.
Any changes you make to a dashboard used in a report are reflected the next time the report is sent. For example, if you change the time range in the dashboard, then the time range in the report also changes, unless you've configured a custom time range.
For information about recent improvements to the reporting UI, refer to [Grafana reporting: How we improved the UX in Grafana](https://grafana.com/blog/2022/06/29/grafana-reporting-how-we-improved-the-ux-in-grafana/).
@@ -69,17 +69,31 @@ Only organization administrators can create reports by default. You can customiz
- **Send test email:** To verify that the configuration works as expected. You can choose to send this email to the recipients configured for the report, or to a different set of email addresses only used for testing.
1. Preview and save the report.
### Save as draft
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 9.1.0 and later and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can save a report as a draft at any point during the report creation or update process. You can save a report as a draft even if it's missing required fields. Also, the report won't be sent according to its schedule while it's a draft.
### Choose template variables
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 7.5 and later behind the `reportVariables` feature flag, Grafana Enterprise version 8.0 and later without a feature flag, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 7.5 and later behind the `reportVariables` feature flag, Grafana Enterprise version 8.0 and later without a feature flag, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can configure report-specific template variables for the dashboard on the report page. The variables that you select will override the variables from the dashboard, and they are used when rendering a PDF file of the report. For detailed information about using template variables, refer to the [Templates and variables]({{< relref "../variables/" >}}) section.
> **Note:** The query variables saved with a report might become of date if the results of that query change. For example, if your template variable queries for a list of hostnames and a new hostname is added, then it will not be included in the report. If that occurs, the selected variables must be manually updated in the report. If you select the `All` value for the template variable or if you keep the dashboard's original variable selection, then the report stays up-to-date as new values are added.
{{% admonition type="note" %}}
The query variables saved with a report might become of date if the results of that query change. For example, if your template variable queries for a list of hostnames and a new hostname is added, then it will not be included in the report. If that occurs, the selected variables must be manually updated in the report. If you select the `All` value for the template variable or if you keep the dashboard's original variable selection, then the report stays up-to-date as new values are added.
{{% /admonition %}}
### Render a report with panels or rows set to repeat by a variable
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can include dynamic dashboards with panels or rows, set to repeat by a variable, into reports. For detailed information about setting up repeating panels or rows in dashboards, refer to [Repeat panels or rows]({{< relref "../../panels-visualizations/configure-panel-options/#configure-repeating-rows-or-panels" >}}).
@@ -94,7 +108,9 @@ You can include dynamic dashboards with panels or rows, set to repeat by a varia
### Report time range
> **Note:** You can set custom report time ranges in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) 7.2+ and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
You can set custom report time ranges in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) 7.2+ and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
By default, reports use the saved time range of the dashboard. You can change the time range of the report by:
@@ -118,7 +134,9 @@ If the time zone is set differently between your Grafana server and its remote i
### CSV export
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) 8+ with the [Grafana image renderer plugin](/grafana/plugins/grafana-image-renderer) v3.0+, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) 8+ with the [Grafana image renderer plugin](/grafana/plugins/grafana-image-renderer) v3.0+, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can attach a CSV file to the report email for each table panel on the selected dashboard, along with the PDF report. By default, CSVs larger than 10Mb are not sent which keeps email servers from rejecting the email. You can increase or decrease this limit in the [reporting configuration]({{< relref "#rendering-configuration" >}}).
@@ -130,8 +148,10 @@ A background job runs every 10 minutes and removes temporary CSV files. You can
### Scheduling
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
> The scheduler was significantly changed in Grafana Enterprise version 8.1.
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
The scheduler was significantly changed in Grafana Enterprise version 8.1.
{{% /admonition %}}
Scheduled reports can be sent once, or repeated on an hourly, daily, weekly, or monthly basis, or sent at custom intervals. You can also disable scheduling by selecting **Never**, for example to send the report via the API.
@@ -151,7 +171,9 @@ When you schedule a report with a monthly frequency, and set the start date betw
#### Send a test email
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 7.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 7.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
1. In the report, click **Send test email**.
1. In the **Email** field, enter the email address or addresses that you want to test, separated by a semicolon.
@@ -162,19 +184,25 @@ The last saved version of the report will be sent to selected emails. You can us
### Pause a report
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 8.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can pause sending reports from the report list view by clicking the pause icon. The report will not be sent according to its schedule until it is resumed by clicking the resume button on the report row.
### Add multiple dashboards to a report
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can add more than one dashboard to a report. Additional dashboards will be rendered as new pages in the same PDF file, or additional images if you chose to embed images in your report email. You cannot add the same dashboard to a report multiple times.
### Embed a dashboard as an image into a report
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 9.0 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
You can send a report email with an image of the dashboard embedded in the email instead of attached as a PDF. In this case, the email recipients can see the dashboard at a glance instead of having to open the PDF.
@@ -182,7 +210,9 @@ You can send a report email with an image of the dashboard embedded in the email
You can generate and save PDF files of any dashboard.
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 6.7 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) version 6.7 and later, and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud/).
{{% /admonition %}}
1. In the dashboard that you want to export as PDF, click the **Share dashboard** icon.
1. On the PDF tab, select a layout option for the exported dashboard: **Portrait** or **Landscape**.
@@ -246,7 +276,7 @@ Email branding:
- **Footer link text:** Text of the link in the report email footer. Defaults to `Grafana`.
- **Footer link URL:** Link of the report email footer.
> Note: Currently, the API does not allow for the simultaneous upload of files with identical names for both the email logo and report logo. You can still upload the same file for each logo separately in two distinct steps.
Currently, the API does not allow for the simultaneous upload of files with identical names for both the email logo and report logo. You can still upload the same file for each logo separately in two distinct steps.
## Troubleshoot reporting

View File

@@ -8,13 +8,13 @@ weight: 8
# Public dashboards
{{% admonition type="Note" %}}
{{% admonition type="note" %}}
This feature is in [public preview](/docs/release-life-cycle/).
{{% /admonition %}}
{{% admonition type="Caution" %}}
{{% admonition type="caution" %}}
Making your dashboard public could result in a large number of queries to the data sources used by your dashboard.
This can be mitigated by utilizing the enterprise [caching]({{< relref "../../administration/data-source-management/#query-caching" >}}) and/or rate limiting features.
@@ -23,6 +23,8 @@ This can be mitigated by utilizing the enterprise [caching]({{< relref "../../ad
Public dashboards allow you to share your Grafana dashboard with anyone. This is useful when you want to make your dashboard available to the world without requiring access to your Grafana organization. This differs from [dashboard sharing]({{< relref "../share-dashboards-panels" >}}), which either requires recipients to be users in the same Grafana organization or provides limited information, as with a snapshot.
You can see a list of all your public dashboards in one place by navigating to **Dashboards > Public dashboards**. For each dashboard in the list, the page displays the status, a link to view the dashboard, a link to the public dashboard configuration, and the option to revoke the public URL.
## Security implications of making your dashboard public
- Anyone with the URL can access the dashboard.
@@ -45,7 +47,7 @@ If you are using Docker, use an environment variable to enable public dashboards
--env GF_FEATURE_TOGGLES_ENABLE=publicDashboards
```
{{% admonition type="Note" %}}
{{% admonition type="note" %}}
For Grafana Cloud (Pro and Advanced only), contact support to have the feature enabled.
@@ -79,7 +81,7 @@ The link no longer works. You must create a new public URL, as in [Make a dashbo
## Email sharing
{{% admonition type="Note" %}}
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud).
@@ -89,7 +91,7 @@ Email sharing allows you to share your public dashboard with only specific peopl
### Enable email sharing
{{% admonition type="Note" %}}
{{% admonition type="note" %}}
For Grafana Cloud (Pro and Advanced only), contact support to have the feature enabled.
@@ -135,6 +137,16 @@ Immediately, the viewer no longer has access to the public dashboard, nor can th
The viewer will receive an email with a new one-time use link. This will invalidate all previously issued links for that viewer.
### View public dashboard users
To see a list of users who have accessed your dashboard by way of email sharing, take the following steps:
1. In the main sidebar navigation, click **Administration**.
1. Click **Users**.
1. Click the **Public dashboard users** tab.
From here, you can see the earliest time a user has been active in a dashboard, which public dashboards they have access to, and their role.
### Access limitations
One-time use links use browser cookies, so when a viewer is granted access through one of these links, they will only have access on the browser they used to claim the link.
@@ -145,7 +157,9 @@ If a Grafana user has read access to the parent dashboard, they can view the pub
## Assess public dashboard usage
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Pro and Advanced](/docs/grafana-cloud).
{{% /admonition %}}
You can check usage analytics about your public dashboard by clicking the insights icon in the dashboard header:
@@ -191,7 +205,7 @@ guaranteed because plugin developers can override this functionality. The follow
### Unconfirmed:
{{% admonition type="Note" %}}
{{% admonition type="note" %}}
If you've confirmed one of these data sources work with public dashboards, let us know in our [Github](https://github.com/grafana/grafana/discussions/49253) discussion, and we'll mark it as confirmed!

View File

@@ -42,7 +42,9 @@ You must have an authorized viewer permission to see an image rendered by a dire
The same permission is also required to view embedded links unless you have anonymous access permission enabled for your Grafana instance.
> **Note:** As of Grafana 8.0, anonymous access permission is not available in Grafana Cloud.
{{% admonition type="note" %}}
As of Grafana 8.0, anonymous access permission is not available in Grafana Cloud.
{{% /admonition %}}
When you share a panel or dashboard as a snapshot, a snapshot (which is a panel or dashboard at the moment you take the snapshot) is publicly available on the web. Anyone with a link to it can access it. Because snapshots do not require any authorization to view, Grafana removes information related to the account it came from, as well as any sensitive data from the snapshot.
@@ -50,7 +52,9 @@ When you share a panel or dashboard as a snapshot, a snapshot (which is a panel
You can share a dashboard as a direct link or as a snapshot. You can also export a dashboard.
> **Note:** If you change a dashboard, ensure that you save the changes before sharing.
{{% admonition type="note" %}}
If you change a dashboard, ensure that you save the changes before sharing.
{{% /admonition %}}
1. Click **Dashboards** in the left-side menu.
1. Click the dashboard you want to share.
@@ -91,7 +95,9 @@ Grafana dashboards can easily be exported and imported. For more information, re
You can generate and save PDF files of any dashboard.
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
{{% /admonition %}}
1. Click **Dashboards** in the left-side menu.
1. Click the dashboard you want to share.

View File

@@ -86,7 +86,7 @@ This section describes supported time units and relative ranges, the common time
Grafana supports the following time units: `s (seconds)`, `m (minutes)`, `h (hours)`, `d (days)`, `w (weeks)`, `M (months)`, `Q (quarters)` and `y (years)`.
The minus operator enables you to step back in time, relative to now. If you want to display the full period of the unit (day, week, month, etc...), append `/<time unit>` to the end. To view fiscal periods, use `fQ (fiscal quarter)` and `fy (fiscal year)` time units.
The minus operator enables you to step back in time, relative to the current date and time, or `now`. If you want to display the full period of the unit (day, week, month, etc...), append `/<time unit>` to the end. To view fiscal periods, use `fQ (fiscal quarter)` and `fy (fiscal year)` time units.
The plus operator enables you to step forward in time, relative to now. For example, you can use this feature to look at predicted data in the future.
@@ -105,13 +105,15 @@ The following table provides example relative ranges:
| This Year | `now/Y` | `now/Y` |
| Previous fiscal year | `now-1y/fy` | `now-1y/fy` |
#### Note about Grafana Alerting
{{% admonition type="Note" %}}
For Grafana Alerting, we do not support the following syntaxes at this time.
Grafana Alerting does not support the following syntaxes at this time:
- now+n for future timestamps.
- now-1n/n for "start of n until end of n" because this is an absolute timestamp.
{{% /admonition %}}
### Common time range controls
The dashboard and panel time controls have a common UI.
@@ -156,6 +158,32 @@ You can set an absolute time range in the following ways:
This section also displays recently used absolute ranges.
#### Semi-relative time range
{{% admonition type="Note" %}}
Grafana Alerting does not support semi-relative time ranges.
{{% /admonition %}}
You can also use the absolute time range settings to set a semi-relative time range. Semi-relative time range dashboards are useful when you need to monitor the progress of something over time, but you also want to see the entire history from a starting point.
Set a semi-relative time range by setting the start time to an absolute timestamp and the end time to a “now” that is relative to the current time. For example:
**Start time:** `2023-05-01 00:00:00`
**End time:** `now`
If you wanted to track the progress of something during business hours, you could set a time range that covers the current day, but starting at 8am, like so:
**Start time:** `now/d+8h`
**End time:** `now`
This is equivalent to the **Today so far** time range preset, but it starts at 8:00am instead of 12:00am by appending +8h to the periodic start time.
Using a semi-relative time range, as time progresses, your dashboard will automatically and progressively zoom out to show more history and fewer details. At the same rate, as high data resolution decreases, historical trends over the entire time period will become more clear.
#### Zoom out (Cmd+Z or Ctrl+Z)
Click the **Zoom out** icon to view a larger time range in the dashboard or panel visualization.

View File

@@ -81,7 +81,9 @@ Query variables are generally only supported for strings. If your query returns
Query expressions can contain references to other variables and in effect create linked variables. Grafana detects this and automatically refreshes a variable when one of its linked variables change.
> **Note:** Query expressions are different for each data source. For more information, refer to the documentation for your [data source]({{< relref "../../../datasources/" >}}).
{{% admonition type="note" %}}
Query expressions are different for each data source. For more information, refer to the documentation for your [data source]({{< relref "../../../datasources/" >}}).
{{% /admonition %}}
1. [Enter general options](#enter-general-options).
1. In the **Data source** list, select the target data source for the query. For more information about data sources, refer to [Add a data source]({{< relref "../../../administration/data-source-management#add-a-data-source" >}}).
@@ -176,7 +178,9 @@ groupByNode(summarize(movingAverage(apps.$app.$server.counters.requests.count, 5
_Ad hoc filters_ enable you to add key/value filters that are automatically added to all metric queries that use the specified data source. Unlike other variables, you do not use ad hoc filters in queries. Instead, you use ad hoc filters to write filters for existing queries.
> **Note:** Ad hoc filter variables only work with Prometheus, Loki, InfluxDB, and Elasticsearch data sources.
{{% admonition type="note" %}}
Ad hoc filter variables only work with Prometheus, Loki, InfluxDB, and Elasticsearch data sources.
{{% /admonition %}}
1. [Enter general options](#enter-general-options).
1. In the **Data source** list, select the target data source. For more information about data sources, refer to [Add a data source]({{< relref "../../../administration/data-source-management#add-a-data-source" >}}).
@@ -194,7 +198,9 @@ Ad hoc filters are one of the most complex and flexible variable options availab
Interpolating a variable with multiple values selected is tricky as it is not straight forward how to format the multiple values into a string that is valid in the given context where the variable is used. Grafana tries to solve this by allowing each data source plugin to inform the templating interpolation engine what format to use for multiple values.
> **Note:** The **Custom all value** option on the variable must be blank for Grafana to format all values into a single string. If it is left blank, then Grafana concatenates (adds together) all the values in the query. Something like `value1,value2,value3`. If a custom `all` value is used, then instead the value will be something like `*` or `all`.
{{% admonition type="note" %}}
The **Custom all value** option on the variable must be blank for Grafana to format all values into a single string. If it is left blank, then Grafana concatenates (adds together) all the values in the query. Something like `value1,value2,value3`. If a custom `all` value is used, then instead the value will be something like `*` or `all`.
{{% /admonition %}}
#### Multi-value variables with a Graphite data source
@@ -245,15 +251,17 @@ This variable is the name of the current dashboard.
Grafana has two built-in time range variables: `$__from` and `$__to`. They are currently always interpolated as epoch milliseconds by default, but you can control date formatting.
> **Note:** This special formatting syntax is only available in Grafana 7.1.2+
{{% admonition type="note" %}}
This special formatting syntax is only available in Grafana 7.1.2+
{{% /admonition %}}
| Syntax | Example result | Description |
| ------------------------ | ------------------------ | --------------------------------------------------------------------------------------------------------- |
| `${__from}` | 1594671549254 | Unix millisecond epoch |
| `${__from:date}` | 2020-07-13T20:19:09.254Z | No args, defaults to ISO 8601/RFC 3339 |
| `${__from:date:iso}` | 2020-07-13T20:19:09.254Z | ISO 8601/RFC 3339 |
| `${__from:date:seconds}` | 1594671549 | Unix seconds epoch |
| `${__from:date:YYYY-MM}` | 2020-07 | Any custom [date format](https://momentjs.com/docs/#/displaying/) that does not include the `:` character |
| Syntax | Example result | Description |
| ------------------------ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `${__from}` | 1594671549254 | Unix millisecond epoch |
| `${__from:date}` | 2020-07-13T20:19:09.254Z | No args, defaults to ISO 8601/RFC 3339 |
| `${__from:date:iso}` | 2020-07-13T20:19:09.254Z | ISO 8601/RFC 3339 |
| `${__from:date:seconds}` | 1594671549 | Unix seconds epoch |
| `${__from:date:YYYY-MM}` | 2020-07 | Any custom [date format](https://momentjs.com/docs/#/displaying/) that does not include the `:` character. Uses browser time. Use `:date` or `:date:iso` for UTC |
The syntax above also works with `${__to}`.
@@ -281,7 +289,9 @@ This variable is the `$__interval` variable in milliseconds, not a time interval
This variable is only available in the Singlestat panel and can be used in the prefix or suffix fields on the Options tab. The variable will be replaced with the series name or alias.
> **Note:** The Singlestat panel is no longer available from Grafana 8.0.
{{% admonition type="note" %}}
The Singlestat panel is no longer available from Grafana 8.0.
{{% /admonition %}}
### $\_\_org
@@ -380,7 +390,9 @@ The query returns all servers associated with `fakesite`, including `web_server_
##### More variables
> **Note:** This example is theoretical. The Graphite server used in the example does not contain CPU metrics.
{{% admonition type="note" %}}
This example is theoretical. The Graphite server used in the example does not contain CPU metrics.
{{% /admonition %}}
The dashboard stops at two levels, but you could keep going. For example, if you wanted to get CPU metrics for selected servers, you could copy the `server` variable and extend the query so that it reads:
@@ -440,7 +452,9 @@ The query returns all servers associated with `Europe`, including `server3`, `se
##### More variables
> **Note:** This example is theoretical. The InfluxDB server used in the example does not contain CPU metrics.
{{% admonition type="note" %}}
This example is theoretical. The InfluxDB server used in the example does not contain CPU metrics.
{{% /admonition %}}
The dashboard stops at two levels, but you could keep going. For example, if you wanted to get CPU metrics for selected hosts, you could copy the `host` variable and extend the query so that it reads:
@@ -565,7 +579,9 @@ demo.robustperception.io:9100
### Filter and modify using named text and value capture groups
> **Note:** This feature is available in Grafana 7.4+.
{{% admonition type="note" %}}
This feature is available in Grafana 7.4+.
{{% /admonition %}}
Using named capture groups, you can capture separate 'text' and 'value' parts from the options returned by the variable query. This allows the variable drop-down list to contain a friendly name for each value that can be selected.

View File

@@ -17,7 +17,9 @@ weight: 200
The variables page lets you easily identify whether a variable is being referenced (or used) in other variables or dashboard. In addition, you can also [add]({{< relref "./add-template-variables/" >}}) and [manage variables]({{< relref "./add-template-variables/#manage-variables" >}}) on this page.
> **Note:** This feature is available in Grafana 7.4 and later versions.
{{% admonition type="note" %}}
This feature is available in Grafana 7.4 and later versions.
{{% /admonition %}}
![Variables list](/static/img/docs/variables-templates/variables-list-7-4.png)

View File

@@ -27,7 +27,9 @@ Administrators can also [provision the data source]({{< relref "#provision-the-d
Once you've added the data source, you can [configure it]({{< relref "#configure-the-data-source" >}}) so that your Grafana instance's users can create queries in its [query editor]({{< relref "./query-editor/" >}}) when they [build dashboards]({{< relref "../../dashboards/build-dashboards/" >}}) and use [Explore]({{< relref "../../explore/" >}}).
> **Note:** To troubleshoot issues while setting up the CloudWatch data source, check the `/var/log/grafana/grafana.log` file.
{{% admonition type="note" %}}
To troubleshoot issues while setting up the CloudWatch data source, check the `/var/log/grafana/grafana.log` file.
{{% /admonition %}}
## Configure the data source
@@ -344,7 +346,9 @@ filter @message like /Exception/
| sort exceptionCount desc
```
> **Note:** If you receive an error like `input data must be a wide series but got ...` when trying to alert on a query, make sure that your query returns valid numeric data that can be output to a Time series panel.
{{% admonition type="note" %}}
If you receive an error like `input data must be a wide series but got ...` when trying to alert on a query, make sure that your query returns valid numeric data that can be output to a Time series panel.
{{% /admonition %}}
For more information on Grafana alerts, refer to [Alerting]({{< relref "../../alerting" >}}).
@@ -355,8 +359,10 @@ Pricing for CloudWatch Logs is based on the amount of data ingested, archived, a
Each time you select a dimension in the query editor, Grafana issues a `ListMetrics` API request.
Each time you change queries in the query editor, Grafana issues a new request to the `GetMetricData` API.
> **Note:** Grafana v6.5 and higher replaced all `GetMetricStatistics` API requests with calls to GetMetricData to provide better support for CloudWatch metric math, and enables the automatic generation of search expressions when using wildcards or disabling the `Match Exact` option.
> The `GetMetricStatistics` API qualified for the CloudWatch API free tier, but `GetMetricData` calls don't.
{{% admonition type="note" %}}
Grafana v6.5 and higher replaced all `GetMetricStatistics` API requests with calls to GetMetricData to provide better support for CloudWatch metric math, and enables the automatic generation of search expressions when using wildcards or disabling the `Match Exact` option.
The `GetMetricStatistics` API qualified for the CloudWatch API free tier, but `GetMetricData` calls don't.
{{% /admonition %}}
For more information, refer to the [CloudWatch pricing page](https://aws.amazon.com/cloudwatch/pricing/).

View File

@@ -77,7 +77,9 @@ For more information on why and how to use service endpoints, refer to the [AWS
Create a file at `~/.aws/credentials`, the `HOME` path for the user running the `grafana-server` service.
> **Note:** If you think you have the credentials file in the right location, but it's not working, try moving your `.aws` file to `/usr/share/grafana/` and grant your credentials file at most 0644 permissions.
{{% admonition type="note" %}}
If you think you have the credentials file in the right location, but it's not working, try moving your `.aws` file to `/usr/share/grafana/` and grant your credentials file at most 0644 permissions.
{{% /admonition %}}
### Credentials file example

View File

@@ -90,7 +90,9 @@ For details on the available functions, refer to [AWS Metric Math](https://docs.
For example, to apply arithmetic operations to a metric, apply a unique string id to the raw metric, then use this id and apply arithmetic operations to it in the Expression field of the new metric.
> **Note:** If you use the expression field to reference another query, like `queryA * 2`, you can't create an alert rule based on that query.
{{% admonition type="note" %}}
If you use the expression field to reference another query, like `queryA * 2`, you can't create an alert rule based on that query.
{{% /admonition %}}
#### Period macro
@@ -109,7 +111,9 @@ This feature is not available for metrics based on [metric math expressions](#me
### Create a Metric Insights query
> **Note:** This query option is available only in Grafana v8.3 and higher.
{{% admonition type="note" %}}
This query option is available only in Grafana v8.3 and higher.
{{% /admonition %}}
The Metrics Query option in the CloudWatch data source is referred to as **Metric Insights** in the AWS console.
It's a fast, flexible, SQL-based query engine that you can use to identify trends and patterns across millions of operational metrics in real time.
@@ -171,7 +175,9 @@ The suggestions appear after typing a space, comma, or dollar (`$`) character, o
{{< figure src="/static/img/docs/cloudwatch/cloudwatch-code-editor-autocomplete-8.3.0.png" max-width="500px" class="docs-image--right" caption="Code editor autocomplete" >}}
> **Note:** Template variables in the code editor can interfere with autocompletion.
{{% admonition type="note" %}}
Template variables in the code editor can interfere with autocompletion.
{{% /admonition %}}
To run the query, click **Run query** above the code editor.

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