Compare commits

...

185 Commits

Author SHA1 Message Date
Grot (@grafanabot)
21c1d14e91 [v9.3.x] Traces: Fix for multiple $__tags in trace to metrics (#60294)
Traces: Fix for multiple $__tags in trace to metrics (#59641)

* Fix interpolation of multiple  in query

* Add another  to test case

(cherry picked from commit bf8814749e)

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

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

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

(cherry picked from commit bb2ecb1468)

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

(cherry picked from commit e0eacf1b04)

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

handle command palette in the same way as other modals

(cherry picked from commit 535c4576f7)

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

fix time picker selection

(cherry picked from commit 4e7a316903)

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

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

(cherry picked from commit 75a11e92b2)

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

* Docs: adds workaround for editing provisioned rules using api

* updates text

* updates text take two

(cherry picked from commit 6c6103d573)

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



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

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

* add context to monaco editors

(cherry picked from commit 8356df081d)

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

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

* add ldap to users and access

* use ID instead of Id

* add enterprise licensing node

(cherry picked from commit 39a4ba4396)

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

* rename toggleTheme service to just theme

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

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

(cherry picked from commit b0f8e803a1)

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

pass innerRef to TimeZoneOption so the menu scrolls properly

(cherry picked from commit 97fa63d14d)

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

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

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

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

* Remove all current page aliases

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

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

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

(cherry picked from commit 10c2bdea3e)

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

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

* run alerting integration tests only for sqlite

(cherry picked from commit 2db8ed9441)

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

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

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

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

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

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

(cherry picked from commit 8317bf5def)

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

(cherry picked from commit 435ada45c5)

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

* render timepicker in a modal style on small screens

* remove top: -1

* apply styles

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

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

This reverts commit 7090443c12.

(cherry picked from commit 1497ad4760)

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

* Add error indicating potential configuration issue

- Update test

* Update error

- Lint update

(cherry picked from commit 4730be8842)

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

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

* prefix starred dashboards

* update reducer

(cherry picked from commit a589929c92)

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

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

(cherry picked from commit 341d7b01ee)

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

* Fix not all recently used time ranges showing

* Refactor time picker history to store simpler json objects

* Don't store duplicate items

* update todo tests:

* Add tests for TimePickerWithHistory

* better fix for focus scope issues in test

(cherry picked from commit 6280780e0c)

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

* Fix data links edit icons being off screen

* Remove unused imports

* Review

(cherry picked from commit 6f930f4836)

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

Change AWS to GCP

(cherry picked from commit a6e8f651ac)

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

* Update docs regarding Grafana as an alert receiver

* Add link to AM docs

(cherry picked from commit 64ccbf0a98)

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

(cherry picked from commit 896cb9ddce)

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

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

(cherry picked from commit e6743a7e9a)

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

(cherry picked from commit e85763065c)

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

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

(cherry picked from commit dfc15163da)

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

* Put traceID on top

* Update exemplar popover styles

* Remove console.log

* Make exemplar header opt-in via optional prop

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

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

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

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

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

* Exemplar filtering when series are toggled in legend UI

(cherry picked from commit 22f828300d)

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

Prioritize trace link

(cherry picked from commit 694dc60724)

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

(cherry picked from commit d76638338d)

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

correct relref

(cherry picked from commit a4c884e808)

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

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

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

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

* Accessibility: Improved keyboard accessibility in BarGauge

* use appropriate elements when rendering bargauge

* added space for focus-visible outline border

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

This reverts commit 9b83fa3a0b.

(cherry picked from commit d9f697b41e)

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

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

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

handle case where navIndex is undefined

(cherry picked from commit 5d0029c647)

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

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

* add cache wrapper

only cache token if not to rotate

anticipate next rotation

(cherry picked from commit 07a4b2343d59cb593ad128355e1d9217ba493700)

* FeatureToggle: for storing sessions in a Remote Cache

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

* use feature flag for session cache

* ensure ttl is minimum 1 second

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

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

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

* fix description of toggle

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

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

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

* add unit test

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

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

(cherry picked from commit 4259b6bf58)

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

* change backticks to quotes

* add unescaping to `addFilterAsLabelFilter`

* fix removal of wrong quotes

* change unescape order

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

* TimeseriesPanel: Preserve string fields for data link interpolation

* clean code

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

* performance mods

* fix wrong length

* remove console.log

* Check if aligned dataframe has links

(cherry picked from commit 0da77201bf)

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

* apply default query also to new panels

* add comment

* add tests

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

fixes broken link and spelling error

(cherry picked from commit 5240905f05)

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

(cherry picked from commit c6840cfdec)

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

E2E package updates

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

(cherry picked from commit b4cf711a74)

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

* Delete broken links in notifications doc

* changes descendents to children

* deletes broken alertmanager link

(cherry picked from commit 5c9d1a4706)

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

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

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

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

removes email templating

(cherry picked from commit ece8609e7c)

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

updates based on customer feedbak

(cherry picked from commit cc575d2341)

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

* Automate location retrieval

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

* Improve types

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

* Fix tests

- Add necessary mocks

* Fix logic and ensure maps are consistent

* Add tests

* Review

* Lint issue

(cherry picked from commit c52d4e2a64)

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

(cherry picked from commit a7d4bbf024)

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

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

* RBAC: Change permissions based on role prefix

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

* RBAC: Remove actions from query struct

(cherry picked from commit 6d1bcd9f40)

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

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

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

(cherry picked from commit 1c5a3a7d2c)

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

(cherry picked from commit e1e858323a)

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

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

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

(cherry picked from commit 8ed2426e8e)

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

* fix(AppRootPage): push the query params properly

* refactor: remove unnecessary changes in AppRootPage

* refactor(AppRootPage): use existing utility function

(cherry picked from commit c093a471e6)

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

Apparently the non-capturing group was incorrect.

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

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

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

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

* Use rpm-digest sha256 when creating rpm packages

* only append this argument with rpm builds

(cherry picked from commit 76a586195a)

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

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

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

* Remove dependency on test job (#59575)

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

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

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

* PanelEdit: Fixes alignment issue with collapse button

* Fix

(cherry picked from commit 6625147e74)

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

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

(cherry picked from commit 6aaf36776b)

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

(cherry picked from commit 0fca3cf9dd)

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

(cherry picked from commit ddc3706f19)

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

Unlocking the UI for AuthProxy users

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

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

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

(cherry picked from commit db1548c1491c2f5b522e3c0ceb1832b914a4b2f0)

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

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

* initial content for What's New 9.3

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

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

* makes prettier

* docs: add conflict cli tool

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

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

* puts audit table photo back in right section

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

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

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

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

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

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

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

* Docs: Add conflict cli tool (#58827)

docs: add conflict cli tool

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

* Terraform updates for Grafana 9.3

* Remove empty line

* linting

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

Update OAuth improvement docs for 9.3

* fix incorrect version number

* Adds Alerting whats new entries

* Add edge squad 9.3 whats new information

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

* LDAP role mapping improvements

* RBAC list token's permissions

* Azure force_use_graph_api

* Reorder

* LDAP uniformize

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

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

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

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

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

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

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

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

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

* Add report zoom to What's New in 9.3

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

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

* Apply suggestions from code review

* makes prettier

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

* add report zoom image

* fix typo

* fix link to upload images in template description

* Copy edits

* copy and format updates

* Apply suggestions from code review

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

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

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

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

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

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

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

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

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

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

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

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

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

* Apply suggestions from code review

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

* Fix prettier

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

* update nav wording

* Screenshots for navigation and internazionalization

* adds alerting images

* fixes path to new nav and localization screenshots

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

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

* Break out image logic and add logging

* Attach alert log context to image attachment

* Fix capitalization

(cherry picked from commit 1481ace528)

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

Small improvements to Preferences documentation

(cherry picked from commit b2fdf46820)

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

Skip flaky query history test

(cherry picked from commit d5274dfdda)

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

* I18n: Preferences documentation

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

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

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

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

* remove api spec

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

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

(cherry picked from commit c8c1499cd0)

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

(cherry picked from commit d279b6d7b0)

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

(cherry picked from commit 933879a347)

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

Updating sign plugin docs

(cherry picked from commit 5a3f0e8696)

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

(cherry picked from commit 71e4a8261d)

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

convert strings with commas to numbers

(cherry picked from commit 84ec35a4ad)

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

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

* Add optional chaining

* Update tests

* Show subcols in a subtable

* Add more space for the subtable

* Remove unused import

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

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

* ⚠️ Hack ⚠️ - Fix table links

* Link to spans

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

* TraceQL result table improvements and fixes

* Include span name in the subtable

* Loop through data only if it is not nullish

* Integrate traceql with sub-tables

* Added booleans as keywords. Make query editor multiline

* Make date format consistent between trace and span

* Reset expanded indexes when data or subdata change

* Dynamic attributes by trace

* Fix test. Cleanup and refactor

* Tiny refactor

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

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

(cherry picked from commit 0af3515e95)

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

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

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

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

(cherry picked from commit e7316ff13f)

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

(cherry picked from commit 13d5ad2ce2)

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

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

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

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

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

(cherry picked from commit 45d3125919)

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

(cherry picked from commit c14cbfc65d)

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

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

* refresh user's permission cache after resource creation

* clear the cache instead of reloading the permissions

* don't error if can't clear cache

* fix tests

* fix tests again

(cherry picked from commit a8bae3f0b0)

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

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

(cherry picked from commit a53f57cc43)

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

(cherry picked from commit a2f1d2e102)

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

* add default display flex

* changed to `text-align: left`

(cherry picked from commit 400ada1ad0)

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

* PostgreSQL: Fix missing CA field from configuration

(cherry picked from commit be73418d00)

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

(cherry picked from commit 276b54fe9d)

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

* only access the cache if a user ID is set

* ignore all negative values

(cherry picked from commit d7a652ff7f)

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

(cherry picked from commit 6f00bc5674)

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

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

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

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

* Allow header to be configurable using custom options.

* Update TablePanel to support sub-tables

* Fix main row links

* Added tests

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

(cherry picked from commit 183b279274)

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

* Enable internationalization feature flag by default

* Change i18n feature to beta

* Set i18n feature flag to stable

* update features

(cherry picked from commit ba0ac08465)

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

(cherry picked from commit 9d88e14f01)

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

* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)

(cherry picked from commit 343f65fffb)

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

(cherry picked from commit f180bb46f8)

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

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

(cherry picked from commit c2f31c2685)

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

* Allow to set timezone in query

* Use optional timestamp

* Update timeZone

(cherry picked from commit a0334a92f5)

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

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

* Remove unecessary continue statements

* Add getAuthHeadersForCallResource unit tests

* Fix test and switch statement issues introduced during merge

(cherry picked from commit f1ef63791a)

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

* I18n: Don't pseudolocalise string variables

* clean up

(cherry picked from commit c02f2321c1)

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

* simplify usePageTitle logic a bit

* use buildBreadcrumbs logic in usePageTitle

* always add home item to navTree, fix some tests

* fix remaining unit tests

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

(cherry picked from commit 3bea8f2462)

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

use correct id to find cloud access policies page

(cherry picked from commit 8761a71da2)

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

(cherry picked from commit 515440979b)

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

* SQL: Fix code editor for sql datasources

* Fix: mysql completion with defaultdb

(cherry picked from commit 75097b99fb)

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

(cherry picked from commit 4a628f18b0)

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

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

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

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

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

(cherry picked from commit e157ef1171)

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

* add custom component for location editor

* FC cleanup

* Apply filter to add location fields call

* Create custom editor for location mode

* Apply validation logic and render warning

* Improve alert styling

* Add help url button to location alert

* Add success alert for auto

* Remove completed TODOs

* Only use alert on error, not success

* Change location mode to dropdown

* Change alert severity to less severe, info

* Prevent auto field selection during manual

* Update location testing to be for auto mode

* Run geo transformer editor init once

* Fix breaking test

* Clean up some anys

* Update styling for alert

* Remove auto success styling

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

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

(cherry picked from commit 3f63ca06c3)

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

(cherry picked from commit 8f567d57fa)

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

(cherry picked from commit 41b3398eb4)

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

(cherry picked from commit f2cb248d93)

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

(cherry picked from commit 5b1ff83ee9)

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

(cherry picked from commit 3cedcdedbd)

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

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

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

Separate subscription health check API version

(cherry picked from commit f8656d269d)

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

* Build: Disable flaky RuleEditor frontend test

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

* make theme toggle keybinding dev only

* fix bug + add support for theme change keybinding

(cherry picked from commit 6f26668a9f)

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

Set postResource method to POST

(cherry picked from commit 4eed56193f)

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

fix keyboard accessibility in Collapse

(cherry picked from commit 19e97a1f31)

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

* Loki: Add compression to `callResource`

* add missing tests

* fix formatting

(cherry picked from commit 08e87a217c)

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

(cherry picked from commit 38f25a0bf5)

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

(cherry picked from commit 448358ac66)

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

Provisioning API should support Prometheus durations

(cherry picked from commit 57d6adbc7c)

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

(cherry picked from commit 1f4834a144)

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

change the weekstart to pointer

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

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

(cherry picked from commit 2f878acd9d)

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

fix keyboard a11y in FilterPill

(cherry picked from commit 8aa74fe9ee)

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

fix keyboard accessibility in AnnoListPanel

(cherry picked from commit 598935cb34)

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

set navtree to  an empty array instead of null

(cherry picked from commit 4aa5dea96b)

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

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

(cherry picked from commit 14fbd44ac0)

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

* removes screenshots in the admin docs

* removes unneeded screenshot

(cherry picked from commit 8ac197b11c)

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

* adds permission validation setting

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

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

* makes prettier

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

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

Update verify-release script with required arg

(cherry picked from commit 19ff3645e8)

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

adjusts link to kms integration

(cherry picked from commit e7b5bd34bd)

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

(cherry picked from commit 4da97aef7d)

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

* start to split admin into two sections

* most of new admin nav implemented

* landing pages

* hide admin for non-admins

* update admin redirects if not topnav

* clean up

* updated IA for admin (still WIP)

* move plugin pages into correct admin sections

* fix backend unit test

* move correlations into the correct section

* add translations for admin sections

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

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

fix keyboard a11y in `GettingStarted` panel

(cherry picked from commit e19957bbc8)

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

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

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

(cherry picked from commit 27b5e5f781)

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

* move connections + integrations to be a top level item

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

* split out movePlugin logic into a separate function

* fix linting

* rename movePlugin -> addPluginToSection

(cherry picked from commit d46e3916a1)

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

(cherry picked from commit 8e19a1618f)

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

* Add ApprovalForce to AuthCodeOptions

* Extract access token validity check to a function

* Refactor

* Oauth: set options internally instead of exposing new function

* Align tests

* Remove unused function

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

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

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

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

(cherry picked from commit ab36252c86)

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

rename Grafana Machine Learning to just Machine Learning

(cherry picked from commit ac66e14054)

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

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

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

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

(cherry picked from commit b398e8640d)

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

fixes #48868

(cherry picked from commit 1953d473c0)

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

fixes #58821

(cherry picked from commit 934fb2f0ee)

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

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

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

Fixing bump version regex

(cherry picked from commit 174a039ee1)

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

(cherry picked from commit d5318f02c6)
2022-11-15 17:04:45 -03:00
1008 changed files with 12675 additions and 5276 deletions

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,31 @@
name: "publish-technical-documentation-next"
on:
push:
branches:
- "main"
paths:
- "docs/sources/**"
- "packages/grafana-*/**"
workflow_dispatch:
jobs:
sync:
if: "github.repository == 'grafana/grafana'"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
- name: "Clone website-sync Action"
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (next)"
uses: "./.github/actions/website-sync"
id: "publish-next"
with:
repository: "grafana/website"
branch: "master"
host: "github.com"
github_pat: "${{ secrets.GH_BOT_ACCESS_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/next"

View File

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

View File

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

View File

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

View File

@@ -1256,6 +1256,8 @@ license_path =
# enable = feature1,feature2
enable =
internationalization = true
# feature1 = true
# feature2 = false

View File

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

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/
- /docs/grafana/latest/guides/reference/admin/
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
description: Guides, Installation and Feature Documentation
keywords:
- grafana

View File

@@ -1,6 +1,4 @@
---
aliases:
- /docs/grafana/latest/administration/
description: Administration
title: Administration
weight: 40

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/administration/api-keys/about-api-keys/
- /docs/grafana/latest/administration/api-keys/
- /docs/grafana/latest/administration/api-keys/create-api-key/
- about-api-keys/
- create-api-key/
description: This section contains information about API keys in Grafana
keywords:
- API keys

View File

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

View File

@@ -1,14 +1,13 @@
---
aliases:
- /docs/grafana/latest/enterprise/license/
- /docs/grafana/latest/enterprise/activate-license/
- /docs/grafana/latest/enterprise/license/activate-license/
- /docs/grafana/latest/enterprise/license-expiration/
- /docs/grafana/latest/enterprise/license/license-expiration/
- /docs/grafana/latest/enterprise/license-restrictions/
- /docs/grafana/latest/enterprise/license/license-restrictions/
- /docs/grafana/latest/administration/enterprise-licensing/
- /docs/grafana/latest/administration/enterprise-licensing/license-restrictions/
- ../enterprise/activate-license/
- ../enterprise/license-expiration/
- ../enterprise/license-restrictions/
- ../enterprise/license/
- ../enterprise/license/activate-license/
- ../enterprise/license/license-expiration/
- ../enterprise/license/license-restrictions/
- license-restrictions/
description: Activate and manage a Grafana Enterprise license
keywords:
- grafana

View File

@@ -1,10 +1,10 @@
---
aliases:
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/
description: Activate your Grafana Enterprise license purchased in AWS Marketplace to take advantage of Grafana Enterprise observability features
- ../../enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/
- ../../enterprise/license/activate-aws-marketplace-license/
- ../../enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/
description: Activate your Grafana Enterprise license purchased in AWS Marketplace
to take advantage of Grafana Enterprise observability features
keywords:
- grafana
- aws

View File

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

View File

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

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
- ../../../enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
description: Activate a Grafana Enterprise license from AWS on an instance deployed
outside of AWS
keywords:

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,11 +1,10 @@
---
aliases:
- /docs/grafana/latest/plugins/
- /docs/grafana/latest/plugins/catalog/
- /docs/grafana/latest/plugins/installation/
- /docs/grafana/latest/plugins/plugin-signature-verification/
- /docs/grafana/latest/plugins/plugin-signatures/
- /docs/grafana/latest/administration/plugin-management/
- ../plugins/
- ../plugins/catalog/
- ../plugins/installation/
- ../plugins/plugin-signature-verification/
- ../plugins/plugin-signatures/
title: Plugin management
weight: 600
---
@@ -88,8 +87,6 @@ To browse for available plugins:
1. Click the **All** filter to browse all available plugins.
1. Click the **Data sources**, **Panels**, or **Applications** buttons to filter by plugin type.
![Plugin catalog browse](/static/img/docs/plugins/plugins-catalog-browse-9.2.png)
### Install a plugin
To install a plugin:
@@ -101,8 +98,6 @@ To install a plugin:
When the update is complete, you see a confirmation message that the installation was successful.
![Plugin catalog install](/static/img/docs/plugins/plugins-catalog-install-8-1.png)
### Update a plugin
To update a plugin:
@@ -113,8 +108,6 @@ To update a plugin:
When the update is complete, you see a confirmation message that the update was successful.
![Plugin catalog update](/static/img/docs/plugins/plugins-catalog-update-8-1.png)
### Uninstall a plugin
To uninstall a plugin:
@@ -125,8 +118,6 @@ To uninstall a plugin:
When the update is complete, you see a confirmation message that the uninstall was successful.
![Plugin catalog uninstall](/static/img/docs/plugins/plugins-catalog-uninstall-8-1.png)
## Install Grafana plugins
Grafana supports data source, panel, and app plugins. Having panels as plugins makes it easy to create and add any kind of panel, to show your data, or improve your favorite dashboards. Apps enable the bundling of data sources, panels, dashboards, and Grafana pages into a cohesive experience.

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/administration/provisioning/
- /docs/grafana/latest/installation/provisioning/
- ../installation/provisioning/
description: Describes provisioning settings for Grafana using configuration files.
keywords:
- grafana

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/enterprise/recorded-queries/
- /docs/grafana/latest/administration/recorded-queries/
- ../enterprise/recorded-queries/
description: Grafana Enterprise recorded queries
keywords:
- grafana

View File

@@ -1,11 +1,10 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/
- /docs/grafana/latest/manage-users/
- /docs/grafana/latest/permissions/
- /docs/grafana/latest/permissions/organization_roles/
- /docs/grafana/latest/permissions/overview/
- /docs/grafana/latest/administration/roles-and-permissions/
- ../manage-users/
- ../permissions/
- ../permissions/organization_roles/
- ../permissions/overview/
- manage-users-and-permissions/about-users-and-permissions/
description: Information about Grafana user, team, and organization roles and permissions
title: Roles and permissions
weight: 300

View File

@@ -1,10 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/
- /docs/grafana/latest/enterprise/access-control/
- /docs/grafana/latest/enterprise/access-control/about-rbac/
- /docs/grafana/latest/enterprise/access-control/roles/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/
- ../../enterprise/access-control/
- ../../enterprise/access-control/about-rbac/
- ../../enterprise/access-control/roles/
description: Role-based access control (RBAC) provides a standardized way of granting,
changing, and revoking access so that users can view and modify Grafana resources,
such as users and reports.

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/assign-rbac-roles/
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/manage-built-in-role-assignments/
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/manage-user-role-assignments/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/assign-rbac-roles/
- ../../../enterprise/access-control/assign-rbac-roles/
- ../../../enterprise/access-control/manage-role-assignments/manage-built-in-role-assignments/
- ../../../enterprise/access-control/manage-role-assignments/manage-user-role-assignments/
description: Learn how to assign RBAC roles to users and teams in Grafana.
menuTitle: Assign RBAC roles
title: Assign Grafana RBAC roles
@@ -53,8 +52,6 @@ In both cases, the assignment applies only to the user, team or service account
4. In the **Role** column, select the fixed role that you want to assign to the user, team or service account.
5. Click **Update**.
![User role picker in an organization](/static/img/docs/enterprise/user_role_picker_in_org.png)
**To assign a fixed role as a server administrator:**
1. Sign in to Grafana, hover your cursor over **Server Admin** (the shield icon) in the left navigation menu, and click **Users**.
@@ -62,8 +59,6 @@ In both cases, the assignment applies only to the user, team or service account
1. In the **Organizations** section, select a role within an organization that you want to assign to the user.
1. Click **Update**.
![User role picker in Organization](/static/img/docs/enterprise/user_role_picker_global.png)
## Assign fixed or custom roles to a team using provisioning
Instead of using the Grafana role picker, you can use file-based provisioning to assign fixed roles to teams. If you have a large number of teams, provisioning can provide an easier approach to assigning and managing role assignments.

View File

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

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/custom-role-actions-scopes/
- /docs/grafana/latest/enterprise/access-control/permissions/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/
- ../../../enterprise/access-control/custom-role-actions-scopes/
- ../../../enterprise/access-control/permissions/
description: Learn about Grafana RBAC permissions, actions, and scopes.
menuTitle: RBAC permissions, actions, and scopes
title: Grafana RBAC permissions, actions, and scopes

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/manage-rbac-roles/
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/
- /docs/grafana/latest/enterprise/access-control/provisioning/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/manage-rbac-roles/
- ../../../enterprise/access-control/manage-rbac-roles/
- ../../../enterprise/access-control/manage-role-assignments/
- ../../../enterprise/access-control/provisioning/
description: Learn how to view permissions associated with roles, create custom roles,
and update and delete roles in Grafana.
menuTitle: Manage RBAC roles

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/plan-rbac-rollout-strategy/
- /docs/grafana/latest/enterprise/access-control/usage-scenarios/
- /docs/grafana/latest/administration/roles-and-permissions/access-control/plan-rbac-rollout-strategy/
- ../../../enterprise/access-control/plan-rbac-rollout-strategy/
- ../../../enterprise/access-control/usage-scenarios/
description: Plan your RBAC rollout strategy before you begin assigning roles to users
and teams.
menuTitle: Plan your RBAC rollout strategy

View File

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

View File

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

View File

@@ -1,8 +1,8 @@
---
aliases:
- /docs/grafana/latest/enterprise/access-control/rbac-provisioning/rbac-terraform-provisioning
description: Learn about RBAC Terraform provisioning and view an example of provisioning configuration
for Grafana roles and role assignments.
- ../../../enterprise/access-control/rbac-provisioning/rbac-terraform-provisioning/
description: Learn about RBAC Terraform provisioning and view an example of provisioning
configuration for Grafana roles and role assignments.
menuTitle: Provisioning RBAC with Terraform
title: Provisioning RBAC with Terraform
weight: 60

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
description: Create Grafana Mimir or Loki managed recording rule
keywords:
- grafana

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
description: Create Grafana Mimir or Loki managed alerting rule
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/edit-mimir-loki-namespace-group/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
description: Edit Grafana Mimir or Loki rule groups and namespaces
keywords:
- grafana

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,9 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/template-functions/
- /docs/grafana/latest/alerting/message-templating/template-functions/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/
- /docs/grafana/latest/alerting/fundamentals/annotation-label/template-functions/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/annotation-label/template-functions/
- ../../contact-points/message-templating/template-functions/
- ../../message-templating/template-functions/
- ../../unified-alerting/fundamentals/annotation-label/template-functions/
- ../../unified-alerting/message-templating/template-functions/
keywords:
- grafana
- alerting

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,5 @@
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/state-and-health/
- /docs/grafana/llatest/alerting/unified-alerting/alerting-rules/state-and-health/
description: State and Health of alerting rules
keywords:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,9 +1,8 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/differences-and-limitations/
- /docs/grafana/latest/alerting/migrating-alerts/migrating-legacy-alerts/
- /docs/grafana/latest/alerting/migrating-legacy-alerts/
- /docs/grafana/latest/alerting/unified-alerting/opt-in/
- ../migrating-legacy-alerts/
- ../unified-alerting/opt-in/
- differences-and-limitations/
description: Migrate legacy dashboard alerts
title: Differences and limitations
weight: 106

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/opt-in/
- /docs/grafana/latest/alerting/opt-in/
- /docs/grafana/latest/alerting/unified-alerting/opt-in/
- ../opt-in/
- ../unified-alerting/opt-in/
description: Opt in to Grafana Alerting
title: Opt in to Grafana Alerting
weight: 104

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/opt-out/
- /docs/grafana/latest/alerting/opt-in/
- /docs/grafana/latest/alerting/unified-alerting/opt-in/
- ../opt-in/
- ../unified-alerting/opt-in/
description: Opt out of Grafana Alerting
title: Opt out of Grafana Alerting
weight: 102

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/roll-back/
- /docs/grafana/latest/alerting/opt-in/
- /docs/grafana/latest/alerting/unified-alerting/roll-back/
- ../opt-in/
- ../unified-alerting/roll-back/
description: Roll back to legacy alerting
title: Roll back to legacy alerting
weight: 103

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/alerting-limitations/
- /docs/grafana/latest/alerting/performance-limitations/
- alerting-limitations/
description: Performance considerations and limitations
keywords:
- grafana
@@ -42,10 +41,10 @@ We support the latest two minor versions of both Prometheus and Alertmanager. We
As an example, if the current Prometheus version is `2.31.1`, we support >= `2.29.0`.
## Grafana is not an alert receiver
## The Grafana Alertmanager can only receive Grafana managed alerts
Grafana is not an alert receiver; it is an alert generator. This means that Grafana cannot receive alerts from anything other than its internal alert generator.
Grafana cannot be used to receive external alerts. You can only send alerts to the Grafana Alertmanager using Grafana managed alerts.
Receiving alerts from Prometheus (or anything else) is not supported at the time.
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, refer to [this GitHub discussion](https://github.com/grafana/grafana/discussions/45773). To learn more about the different Alertmanagers, read [this documentation]({{< relref "../alerting/manage-notifications/alertmanager/" >}})

View File

@@ -1,8 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/set-up/
- /docs/grafana/latest/alerting/set-up/
- /docs/grafana/latest/alerting/unified-alerting/set-up/
- unified-alerting/set-up/
title: Set up Alerting
weight: 107
---

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/configure-alertmanager
- /docs/grafana/latest/alerting/configure-alertmanager
- ../configure-alertmanager/
description: Configure Alertmanager
keywords:
- grafana

View File

@@ -1,8 +1,7 @@
---
aliases:
- /docs/grafana/latest/alerting/high-availability/enable-alerting-ha/
- /docs/grafana/latest/alerting/unified-alerting/high-availability/
- /docs/grafana/latest/alerting/set-up/configure-high-availability
- ../high-availability/enable-alerting-ha/
- ../unified-alerting/high-availability/
description: Enable alerting high availability
keywords:
- grafana

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/provision-alerting-resources
- /docs/grafana/latest/alerting/provision-alerting-resources
- ../provision-alerting-resources/
description: Provision alerting resources
keywords:
- grafana
@@ -21,15 +20,25 @@ There are three options to choose from:
1. Use file provisioning to provision your Grafana Alerting resources, such as alert rules and contact points, through files on disk.
1. Provision your alerting resources using the Grafana HTTP API.
1. Provision your alerting resources using the Alerting Provisioning HTTP API.
For more information on the Grafana Alerting provisioning 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](https://grafana.com/docs/grafana/latest/developers/http_api/alerting_provisioning/).
**Note:**
Typically, you cannot edit API-provisioned alert rules from the Grafana UI.
In order to enable editing, add the x-disable-provenance header to the following requests when creating or editing your alert rules in the API:
POST /api/v1/provisioning/alert-rules
PUT /api/v1/provisioning/alert-rules/{UID}
1. Provision your alerting resources using Terraform.
**Note:**
Currently, provisioning for Grafana Alerting supports alert rules, contact points, mute timings, and templates. Provisioned alerting resources can only be edited in the source that created them and not from within Grafana or any other source. For example, if you provision your alerting resources using files from disk, you cannot edit the data in Terraform or from within Grafana.
Currently, provisioning for Grafana Alerting supports alert rules, contact points, mute timings, and templates. Provisioned alerting resources using file provisioning or Terraform can only be edited in the source that created them and not from within Grafana or any other source. For example, if you provision your alerting resources using files from disk, you cannot edit the data in Terraform or from within Grafana.
**Useful Links:**

View File

@@ -1,7 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/provision-alerting-resources/file-provisioning
- /docs/grafana/latest/alerting/provision-alerting-resources/file-provisioning
- ../../provision-alerting-resources/file-provisioning/
description: Create and manage resources using file provisioning
keywords:
- grafana

View File

@@ -1,6 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/provision-alerting-resources/terraform-provisioning
- ../../provision-alerting-resources/terraform-provisioning/
description: Create and manage alerting resources using Terraform
keywords:
- grafana

View File

@@ -1,6 +1,6 @@
---
aliases:
- /docs/grafana/latest/alerting/provision-alerting-resources/view-provisioned-resources
- ../../provision-alerting-resources/view-provisioned-resources/
description: View provisioned resources in Grafana
keywords:
- grafana

View File

@@ -1,6 +1,6 @@
---
aliases:
- /docs/grafana/latest/administration/cli/
- administration/cli/
description: Guide to using grafana-cli
keywords:
- grafana

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