Compare commits

...

399 Commits

Author SHA1 Message Date
Grot (@grafanabot)
5a30620b85 [v10.0.x] Auth: Add auth.azure_ad security improvements (#920)
Auth: Add auth.azure_ad security improvements (#912)

* security improvements id_token

* add audience validation

* add allowOrganizations

* add allowOrganizations tests and documentation

* add log warn on no configuration

* anonymize tenant id

* Apply suggestions from code review

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

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

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

* Update pkg/login/social/azuread_oauth_test.go

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

* Update pkg/login/social/azuread_oauth_test.go

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

* optimize key validation and add mising fields

* fix missing key_id

* lint

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

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

* lint docs

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
(cherry picked from commit 8bdc83ccb134daedb55578cc99fc8d18eb5e5162)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-06-20 10:03:23 +02:00
Grot (@grafanabot)
26b48dbf19 [v10.0.x] Add and document option for enabling email lookup (#914)
Add and document option for enabling email lookup (#913)

* Docs: Document option for enabling email lookup

* Add the new config in the config files

* Apply suggestions from code review

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

* Don't capitalize identity providers

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit 8380bc7d6a79794cc260bf1c427e2b4e849adbf6)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-06-20 10:03:22 +02:00
Ieva
9a4d391fc4 Auth: Remove Email Lookup from oauth integrations 10.0 (#900)
backport https://github.com/grafana/grafana-private-mirror/pull/894 to 9.5.x
2023-06-20 10:03:18 +02:00
Grot (@grafanabot)
d9b189e5b6 [v10.0.x] Docs: List packages together, and fix or add menuTitles. (#70343)
Docs: List packages together, and fix or add menuTitles. (#70338)

List packages together, and fix or add menuTitles.

(cherry picked from commit a50afe67d3)

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2023-06-19 11:34:20 -04:00
Grot (@grafanabot)
6c846786ae [v10.0.x] Use "or" to convey that OS options are unique (#70335)
Use "or" to convey that OS options are unique (#70332)
(cherry picked from commit b2074a68d4)

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2023-06-19 17:28:39 +02:00
Grot (@grafanabot)
092b7506e1 [v10.0.x] Tempo: Use pipe in TraceQL by default for multi-value variables (#70321)
Tempo: Use pipe in TraceQL by default for multi-value variables (#70051)

* Use pipe in traceQL by default for multi value variables

* Use constant

(cherry picked from commit 06a4b6da62)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2023-06-19 13:50:02 +01:00
Grot (@grafanabot)
77b024bbc3 [v10.0.x] Command palette: Include help links (#70322)
Command palette: Include help links (#70234)

enrich help node with frontend links

(cherry picked from commit db44ba305e)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-06-19 12:48:50 +00:00
Jean-Philippe Quéméner
080c56b128 [v10.0.x] Alerting: Rewrite range to instant queries if possible (#70289) 2023-06-19 09:12:45 +02:00
Grot (@grafanabot)
cba55752b9 [v10.0.x] GrafanaUI: Export Toggletip (#70298) 2023-06-18 23:15:30 +09:00
Grot (@grafanabot)
7d013dc236 [v10.0.x] fix: allow {} type in VariableWithOptions.current (#70238)
Variables: allow `{}` type in `VariableWithOptions.current ` (#64358)

(cherry picked from commit 6f880b713a)

Co-authored-by: Simon Podlipsky <simon@podlipsky.net>
2023-06-17 11:26:38 +03:00
Grot (@grafanabot)
baf8e6389d [v10.0.x] [DOC] Add traces panel procedures (#70283)
[DOC] Add traces panel procedures (#70204)

* Add traces panel procedures

* Apply suggestions from code review

Co-authored-by: Heds Simons <hedss@users.noreply.github.com>

* Prettier and image fixes

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Fix images

* Apply suggestions from code review

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

---------

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

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2023-06-16 16:41:31 -04:00
Grot (@grafanabot)
0759ac1a52 [v10.0.x] Update make-docs procedure (#70273)
Update make-docs procedure (#70265)

## 4.1.0 (2023-06-16)

### Added

- Mounts of `layouts` and `config` directories for the `website` project.
  Ensures that local changes to mounts or shortcodes are reflected in the development server.

### Fixed

- Version inference for versioned docs pages.
  Pages in versioned projects now have the `versioned: true` front matter set to ensure that "version" in $.Page.Scratch is set on builds.

## 4.0.0 (2023-06-06)

### Removed

- `doc-validator/%` target.
  The behavior of the target was not as described.
  Instead, to limit `doc-validator` to only specific files, refer to https://grafana.com/docs/writers-toolkit/writing-guide/tooling-and-workflows/validate-technical-documentation/#run-on-specific-files.

## 3.0.0 (2023-05-18)

### Fixed

- Compatibility with the updated Make targets in the `website` repository.
  `docs` now runs this script itself, `server-docs` builds the site with the `docs` Hugo environment.

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

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-06-16 19:06:25 +01:00
Jack Baldry
264fdb9e8b [v10.0.x] Use docs/reference for flexible linking for content reused in Grafana Cloud (#70267)
Use docs/reference for flexible linking for content reused in Grafana Cloud (#70253)

* Use docs/reference for flexible linking for content reused in Grafana Cloud

Documented in https://github.com/grafana/website/pull/13878



* Use docs-base image that has docs/reference shortcode



---------


(cherry picked from commit 3d15d54a71)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-06-16 18:35:09 +01:00
Grot (@grafanabot)
af98396285 [v10.0.x] XYChart/Trend: Fix min/max and units/decimals X field overrides (#70261)
XYChart/Trend: Fix min/max and units/decimals x-field overrides (#70214)

(cherry picked from commit 66b0e6b77f)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-06-16 19:20:18 +03:00
Grot (@grafanabot)
edd4faf064 [v10.0.x] DS Picker: first item is not active when filtering (#70256)
DS Picker: first item is always active when filtering (#70071)

(cherry picked from commit 6be0ca396f)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-06-16 18:39:24 +03:00
Grot (@grafanabot)
f145c251d1 [v10.0.x] Explore: Improve logs volume panel empty state (#70255)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-06-16 16:11:17 +01:00
Grot (@grafanabot)
3a977f9ea9 [v10.0.x] package.json: Fix what's new URL in package.json (#70236)
`package.json`: Fix `what's new` URL in `package.json` (#70233)

Fix what's new url

(cherry picked from commit 7ec91990ff)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-06-16 15:06:34 +03:00
Grot (@grafanabot)
15ae80757b [v10.0.x] Docs: recreates setup for oss alerting (#70231)
Docs: recreates setup for oss alerting (#70156)

* recreates setup for oss alerting

* fixes relrefs

* fix relrefs

* fix relref

* adds other setup topics

* adds other setup topics 2

* adds other setup topics 3

* adds cloud setup

* adds cloud setup from legacy

* fixes links

* removing link

* gilles feedback

(cherry picked from commit 5fc6bf5c69)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-06-16 13:18:34 +03:00
Grot (@grafanabot)
2209deb0bf [v10.0.x] Alerting: Fix newlines in text/plain template (#70228)
Alerting: Fix newlines in text/plain template (#70207)

Alerting: Fix newlines in text/plain template at last
(cherry picked from commit a773b722b1)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-16 12:54:30 +03:00
Grot (@grafanabot)
91ef2045bc Plugins: Wrap original check health error (#70227)
Plugins: Wrap original check health error (#69944)

Fixes #69765

(cherry picked from commit 62ee1fa05a)

Co-authored-by: Kousik Mitra <kousikmitra12@gmail.com>
2023-06-16 11:47:07 +02:00
Grot (@grafanabot)
a47fa6f30d [v10.0.x] Auth: Show invite button if disable login form is set to false (#70155)
Auth: Show invite button if disable login form is set to false (#69946)

* show invite button if disable login form is set to false

* fix test

* Update public/app/features/users/UsersActionBar.tsx

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

---------

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

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-06-16 09:31:56 +00:00
Grot (@grafanabot)
30363dbc34 [v10.0.x] XYChart: Fix variable interpolation in datalinks/toggletip (#70210)
XYChart: Fix variable interpolation in datalinks/toggletip (#70195)

(cherry picked from commit 7d4f7e5ffc)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-06-16 04:18:01 +03:00
Grot (@grafanabot)
225f6f8298 [v10.0.x] PublicDashboards: Add support for recorded queries used in Mixed ds (#70160) 2023-06-15 17:27:18 +00:00
Grot (@grafanabot)
18303f09b3 [v10.0.x] XYChart: Fix formatting of axis ticks (units, decimals) (#70193)
XYChart: Fix formatting of axis ticks (units, decimals) (#70190)

(cherry picked from commit 94881597d8)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-06-15 16:46:42 +00:00
Grot (@grafanabot)
e9a8bc8b2e [v10.0.x] DS Picker: Support width and hide label (#70180)
DS Picker: Support `width` and `hideTextValue` (#70074)

(cherry picked from commit 5b97670f11)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-06-15 15:50:27 +00:00
Ivan Ortega Alba
734e8c4f9c [v10.0.x] Datasources: Extend optional reporting (#70161)
Datasources: Extend  optional reporting (#69061)

* feat: add default properties to the `reportInteraction()`

* chore: add more tracking events to the ds-config page

* refactor: adding the `path` to the `meta` instaed

(cherry picked from commit 6a995d526a)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-06-15 15:16:54 +00:00
Grot (@grafanabot)
01b07571b2 [v10.0.x] Fix unwanted newlines in plain text email (#70168)
Fix unwanted newlines in plain text email (#70141)

(cherry picked from commit a3845c9e2e)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-15 17:12:53 +03:00
Grot (@grafanabot)
9e6811995d [v10.0.x] PanelTypeCard: Improve contrast for disabled cards (#70151)
PanelTypeCard: Improve contrast for disabled cards (#69907)

(cherry picked from commit 5c152e5a24)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2023-06-15 12:11:45 +00:00
Grot (@grafanabot)
4f90970027 [v10.0.x] DynamicConfigValueEditor: Pass ID to dynamic component and label (#70150)
DynamicConfigValueEditor: Pass ID to dynamic component and label (#69910)

Closes #66337

(cherry picked from commit a65c3c1ebc)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2023-06-15 12:11:13 +00:00
Grot (@grafanabot)
0a3c39b8d4 [v10.0.x] TextPanel: Fix <summary> styling missing the disclosure triangle (#70138)
TextPanel: Fix <summary> styling missing the disclosure triangle (#70133)

TextPanel: Fix <summary> styling
(cherry picked from commit 57d7288fe4)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-06-15 10:29:23 +00:00
Dimitris Sotirakis
115766e717 [v10.0.x] CI: Update grabpl to v3.0.39 (#70136)
CI: Update `grabpl` to `v3.0.39` (#70126)

Update grabpl to v3.0.39

(cherry picked from commit b1e219e72c)

# Conflicts:
#	.drone.yml
2023-06-15 12:09:17 +02:00
Grot (@grafanabot)
411a7a9cf7 [v10.0.x] Alerting: Add matchers metrics to Alertmanager (#70125)
Alerting: Add matchers metrics to Alertmanager (#69855)

(cherry picked from commit f085e99d3c)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-15 09:37:54 +01:00
Grot (@grafanabot)
a319efb964 [v10.0.x] Run make in emails folder (#70114)
Run make in emails folder (#70113)

(cherry picked from commit 1154720df2)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-15 08:14:53 +00:00
Dimitris Sotirakis
c7315074b2 [v10.0.x] CI: Add CI check for what's new link (#70046) (#70123)
CI: Add CI check for `what's new` link (#70046)

* Add whatsnewchecker

* Add whatsnewchecker_test

* Small fixes

* Add step in CI

* Fix lint

* Fix starlark

* t.Cleanup instead of separate func

* Skip check for test tags

(cherry picked from commit 91272ee4f9)

# Conflicts:
#	.drone.yml
2023-06-15 09:44:50 +03:00
Grot (@grafanabot)
f60097b5e8 [v10.0.x] Bug: Fix build-frontend* config checks (#70078)
Bug: Fix `build-frontend*` config checks (#70076)

* Fix frontend config checks

* Exclude test tag events

(cherry picked from commit 5a36fa5f8a)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-06-15 09:09:10 +03:00
Grot (@grafanabot)
39cd2f19e5 [v10.0.x] Alerting: Fix email template for text/plain emails (#70111)
Alerting: Fix email template for text/plain emails (#69951)

This commit fixes the email template for text/plain emails to
support custom messages. It also fixes the default template,
removing extra whitespace and showing Summary and Description
annotations separate from the other annotations.

(cherry picked from commit c1e3362e21)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-14 23:18:05 +01:00
Grot (@grafanabot)
20916f597c [v10.0.x] docs: User management > invite users: adding missing navigation click (#70108)
docs: User management > invite users: adding missing navigation click (#69253)

adding missing navigation click

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

Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>
2023-06-14 16:43:51 -04:00
Grot (@grafanabot)
3322d7f06e [v10.0.x] Explore: Fixed Starred query history tab to show all starred queries (#70092)
Explore: Fixed Starred query history tab to show all starred queries (#69914)

* Starred queries shouldn't have from and to params

* Update request id when starred is true

* Update tests

(cherry picked from commit a40e589db7)

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2023-06-14 11:42:07 -06:00
Grot (@grafanabot)
2de7d96b46 [v10.0.x] Docs: fixes provisioning table display (#70089)
Docs: fixes provisioning table display (#70065)

* Docs: fixes provisioning table display

* Demonstrate correct usage

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

* adds responsive table to rest of tables

---------

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

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-06-14 16:21:32 +00:00
Grot (@grafanabot)
0a369df512 [v10.0.x] AzureMonitor: Update docs to detail Azure logs query changes (#70088)
AzureMonitor: Update docs to detail Azure logs query changes (#69987)

Update docs to detail Azure logs query changes

(cherry picked from commit 068236c37f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-06-14 16:13:25 +00:00
Grot (@grafanabot)
0a68a30724 [v10.0.x] Improve builtin DS icons (#70050)
DS Picker: Use new built-in DS icons (#69797)

(cherry picked from commit 1e75c9c514)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-06-14 11:56:57 -04:00
Grot (@grafanabot)
514db9a9e4 [v10.0.x] DS Picker: Built-in datasources are not marked as selected (#70045)
DS Picker: Built-in datasources are not marked as selected (#70020)

(cherry picked from commit 908b248e10)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-06-14 14:15:15 +00:00
Brendan O'Handley
100e7f1c80 Revert "[v10.0.x] Prometheus: Fix series to rows frame name issue for custom name from legend option" (#70028)
Revert "[v10.0.x] Prometheus: Fix series to rows frame name issue for custom name from legend option (#69804)"

This reverts commit 62c7aec839.
2023-06-14 09:55:01 -04:00
Ashley Harrison
4f552bba85 CodeEditor: Ensure suggestions only apply to the instance of the edit… (#70067)
CodeEditor: Ensure suggestions only apply to the instance of the editor that registered them (#69995)

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/Monaco/suggestions.ts

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/Monaco/suggestions.ts

* remove duplicate editor from story

* remove suggestions from story

---------

Co-authored-by: Laura Benz <laura.benz@grafana.com>
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
(cherry picked from commit 61dbad6905)

# Conflicts:
#	packages/grafana-ui/src/components/Monaco/CodeEditor.tsx
2023-06-14 16:03:18 +03:00
Dominik Prokop
9c8d884dc0 [v10.0.x] grafana/schema: Make composable types part of the package (#69913)
* grafana/schema: Make composable types part of the package (#69678)

* grafana/schema: Make composable types part of the package

* Add glob as dev dependency

* Review

(cherry picked from commit cae3b4c6e6)

# Conflicts:
#	packages/grafana-schema/package.json
#	yarn.lock

* Fix cherry pick
2023-06-14 04:16:32 -07:00
Josh Hunt
2569ab8d71 [v10.0.x] NestedFolders: Fix select all in folder view selecting items out of folder (#69783)
NestedFolders: Fix select all in folder view selecting items out of folder (#69780)

* NestedFolders: Fix select all selecting items outside of folder when viewing a folder

* fix lint errors

(cherry picked from commit ff89217d66)
2023-06-14 06:00:52 -04:00
Grot (@grafanabot)
c5bfe516df [v10.0.x] DS Picker: Fix React key issue for built-in data source list (#70021)
DS Picker: Fix React key issue for built-in data source list (#70018)

(cherry picked from commit bc48622919)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-06-14 08:52:13 +00:00
Grot (@grafanabot)
d55bee35df [v10.0.x] NPM packages: Fail build-frontend-packages step if package.json and input tag differ (#70038)
NPM packages: Fail `build-frontend-packages` step if `package.json` and input tag differ (#70011)

* Fail if package.json version is different than the tag

* Add tests

* Update message

* Small refactoring

* Fix lint

(cherry picked from commit a6b524fd56)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-06-14 10:11:30 +03:00
Grot (@grafanabot)
717859a1f4 [v10.0.x] Barchart: Fix tooltip for normal/percentage stacking(2) (#70027)
Barchart: Fix tooltip for normal/percentage stacking(2) (#69956)

(cherry picked from commit 9e198ba745)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-06-13 22:26:15 +03:00
Grot (@grafanabot)
26c7cabef5 [v10.0.x] docs: crop panel filtering and time range screenshots (#70019)
docs: crop panel filtering and time range screenshots (#70017)

docs/crop panel filtering and time range screenshots

(cherry picked from commit 693e4ceb69)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-13 13:40:37 -04:00
Grot (@grafanabot)
5d556b697b [v10.0.x] Geomap: Optimize panel rendering behavior (#70024)
Geomap: Optimize panel rendering behavior (#69827)

(cherry picked from commit feb2b5878b)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-06-13 20:29:02 +03:00
David Harris
1b2e96e385 Backport 69912 to v10.0.x (#70016)
* docs: update angular list (#69912)

* docs: update angular list

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

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
(cherry picked from commit 8926d616ac)

* docs: update angular list (#69912)

* docs: update angular list

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

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
(cherry picked from commit 8926d616ac)
2023-06-13 17:23:44 +01:00
Grot (@grafanabot)
da1061a0c0 [v10.0.x] Prometheus: Fix empty query string (expr) breaking dashboard panel (#69957)
Prometheus: Fix empty query string (expr) breaking dashboard panel (#69938)

* empty string if query.expr is undefined or null

(cherry picked from commit fb290235fd)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-06-13 10:30:13 -05:00
Grot (@grafanabot)
fb5b3377ba [v10.0.x] docs: change Scenes availability (#70015)
docs: change Scenes availability (#70013)

(cherry picked from commit 3cb0031930)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-13 11:26:26 -04:00
Grot (@grafanabot)
ba6fe9d9a9 [v10.0.x] Dashboards: Remove Explore option from panel menu when panel's datasource uid is "-- Dashboard --" (#69173)
Dashboards: Remove Explore option from panel menu when panel's datasource uid is "-- Dashboard --" (#69017)

* Remove Explore option from panel menu when panel's datasource uid is "-- Dashboard --"

* Use the constant SHARED_DASHBOARD_QUERY

(cherry picked from commit 3fd04edd81)

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2023-06-13 07:59:23 -06:00
Grot (@grafanabot)
8a10a07a5b Release: Bump version to 10.0.1 (#70008)
"Release: Updated versions in package to 10.0.1"
2023-06-13 16:51:09 +03:00
Grot (@grafanabot)
9abb6187a4 [v10.0.x] Fix bad whitespace in latest cards (#70006)
Fix bad whitespace in latest cards (#70005)

(cherry picked from commit f7c2566fdc)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-06-13 14:07:24 +01:00
Horst Gutmann
53ecafb399 [v10.0.x] Changelog: Updated changelog for 10.0.0 (#70003)
(cherry picked from commit 486b358d1b)

Backport of #70000

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2023-06-13 12:58:05 +00:00
Grot (@grafanabot)
661245223d [v10.0.x] Docs: Adds fixes for external PRs (#69998)
Docs: Adds fixes for external PRs (#69997)

* Adds fixes for external PRs

* fixes typo

* capitalizes alertmanager

(cherry picked from commit c0dfaa626c)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-06-13 12:24:25 +00:00
Jack Baldry
a136d275af Publish docs without checking for existing tag (#69991)
https://raintank-corp.slack.com/archives/C02LWF7FC5V/p1686647408339569

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-06-13 12:34:39 +01:00
Dimitris Sotirakis
287a3e545e [v10.0.x] Security Scans: Exclude windows container scans (#69977) (#69980)
Security Scans: Exclude windows container scans (#69977)

* Exclude windows container scans

* Fixes according to reviewer's comments

(cherry picked from commit fa70fba0e3)

# Conflicts:
#	.drone.yml
2023-06-13 11:07:55 +03:00
Grot (@grafanabot)
bae2511c2e [v10.0.x] Docs: adds legacy topics (#69942)
Docs: adds legacy topics (#69898)

* adds legacy topics

* moves legacy and adds deprecation note

* Merge branch 'alerting-docs-support-escalations' of https://github.com/grafana/grafana into alerting-docs-support-escalations

* adds description

* fixes relrefs

* removes relrefs

* removes relrefs

* fixes links

* Adds description frontmatter

* fixing typo

* adds frontmatter

* fix spelling error

(cherry picked from commit be196a4ad0)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-06-13 06:46:07 +00:00
Grot (@grafanabot)
4cbdabdbdf [v10.0.x] Docs: Add BigQuery migration to breaking changes doc (#69970)
Docs: Add BigQuery migration to breaking changes doc (#69947)

* baldmomma/big_query_migration_docs/ add docs to breaking changes

* baldm0mma/big_query_migration_docs/ update docs with previous solution

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* Update docs/sources/breaking-changes/breaking-changes-v10-0.md

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

* baldm0mma/big_query_migration_docs/ run prettier

---------

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

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2023-06-12 16:48:37 -04:00
Grot (@grafanabot)
98dd7b9d98 [v10.0.x] Barchart: Fix tooltip for normal/percentage stacking (#69954)
Barchart: Fix tooltip for normal/percentage stacking (#69931)

(cherry picked from commit a4d8049999)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-06-12 14:04:43 -05:00
Grot (@grafanabot)
cb5d3c8ffd [v10.0.x] Everything in Cloud free updates (#69949)
Everything in Cloud free updates (#69948)

* updates for everything in Free

* more cloud free

(cherry picked from commit 6edd2e7296)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2023-06-12 11:47:35 -07:00
Grot (@grafanabot)
6f023b3d3c [v10.0.x] docs: general edits to dashboard overview (#69927)
docs: general edits to dashboard overview (#69747)

* general edits

* style edits - contractions

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

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

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

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

* Apply suggestions from code review

* fixed linting error

---------

Co-authored-by: David Allen <david.allen@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit a169cdd5ec)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-12 11:08:11 -04:00
Grot (@grafanabot)
8111a4268b [v10.0.x] Command Palette: Links opened in a new tab now route correctly when Grafana is served under a subpath (#69925)
Command Palette: Links opened in a new tab now route correctly when Grafana is served under a subpath (#69845)

don't strip base from url since we're not using locationSrv.push anymore

(cherry picked from commit 9eb8ec9fa9)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-06-12 18:07:58 +03:00
Dimitris Sotirakis
7297540729 [v10.0.x] Security Scans: Add trivy scans to every docker image used for building/testing/publishing (#69911) (#69917)
* Security Scans: Add trivy scans to every docker image used for building/testing/publishing (#69911)

* Created images.star

* Fix typo

* Add cronjobs for build-images

(cherry picked from commit 2cda971796)

# Conflicts:
#	.drone.yml
#	scripts/drone/services/services.star
#	scripts/drone/steps/lib.star

* Fix rebasing issue
2023-06-12 17:26:58 +03:00
Grot (@grafanabot)
32be98b061 [v10.0.x] PanelChrome: Fix tabbing to panel menu button (#69906)
PanelChrome: Fix tabbing to panel menu button (#69861)

Closes #66256

(cherry picked from commit 2fd7d95d7e)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2023-06-12 14:05:20 +03:00
Selene
f06f812509 [v10.0.x] Chore: Hacky first pass on generating composable kinds within grafana/schema (#69904)
* Chore: Hacky first pass on generating composable kinds within grafana/schema (#64723)

* Super hacky first pass on gen types

* First sketchy pass at generated compo kinds in TS, grok-style

* Merge fix

* Create jenny for MajorsOrX for plugins

* Re-generate files with imports

* Delete invalid generated file

* Fix cue

* Update go.mod

* Update schemas

* Fix go-imports

* Regenerate cue files

---------

Co-authored-by: spinillos <selenepinillos@gmail.com>
(cherry picked from commit 09895c26b6)

# Conflicts:
#	go.mod
#	go.sum

* make gen-cue

---------

Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-06-12 13:53:11 +03:00
Selene
f3c0bc0749 [v10.0.x] kindsys: Adapt to new PanelCfg schema interface (#69892)
kindsys: Adapt to new PanelCfg schema interface (#65297)

* kindsys: Adapt to new PanelCfg schema interface

* building locally

* Remove Panel prefix in cue files

* Regenerate

* Update imports

* fixup! Merge branch 'remove-panel-prefix' into sdboyer/redundant-panelcfg-prefixes

* Fix formatting

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Tania B <yalyna.ts@gmail.com>
(cherry picked from commit 33fd83f7e3)

# Conflicts:
#	docs/sources/developers/kinds/core/dashboard/schema-reference.md
#	docs/sources/developers/kinds/core/folder/schema-reference.md
#	kinds/dashboard/dashboard_kind.cue
#	packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts
#	pkg/kinds/dashboard/dashboard_spec_gen.go
#	pkg/kinds/folder/folder_status_gen.go

Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-06-12 06:30:00 -04:00
Grot (@grafanabot)
9288017ffe [v10.0.x] Geomap: Fix tooltip bug (#69881)
Geomap: Fix tooltip bug (#69773)

(cherry picked from commit 3f6d55b041)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-06-11 14:29:53 +03:00
Grot (@grafanabot)
f7766f73b8 [v10.0.x] Heatmap: Sort fields by numeric names when single frame (#69880)
Heatmap: Sort fields by numeric names when single frame (#69879)

(cherry picked from commit cc8bedc173)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-06-10 23:54:58 -06:00
Grot (@grafanabot)
4184cd09f4 [v10.0.x] Alerting: Add image URI annotation only when there's an image (#69858)
* Alerting: Add image URI annotation only when there's an image (#69825)

* Alerting: Add image URI annotation only when there's an image

* fix function name (changed on main branch)

(cherry picked from commit ff3e028a85)

* Update compat_test.go

---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2023-06-09 12:34:00 -03:00
Domas
bbe52eea97 Tempo/ServiceGraph: Specify explicit field types (#69759) (#69844)
* Tempo/ServiceGraph: Specify explicit field types (#69759)

Assign field types to service graph fields

(cherry picked from commit 1696bc201e)

* fix merge
2023-06-09 14:32:18 +03:00
Grot (@grafanabot)
2c7f295cf4 [v10.0.x] Service accounts: API key migration refactoring to parse as json object of the results (#69776)
Service accounts: API key migration refactoring to parse as json object of the results (#69771)

refactoring to parse as json object of the results

(cherry picked from commit 5dceb5dff3)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-06-09 11:21:08 +02:00
Grot (@grafanabot)
f3fab4078d [v10.0.x] Docs:fixes alerting support escalations (#69838)
Docs:fixes alerting support escalations (#69770)

* Docs:fixes alerting support escalations

* updates recording rule text

* adds link

* fixes link

* Update docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fixes relref

* adds link to prometheus docs

* fixes relref

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 5a2e66676e)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-06-09 09:05:46 +00:00
Grot (@grafanabot)
62c7aec839 [v10.0.x] Prometheus: Fix series to rows frame name issue for custom name from legend option (#69804)
Prometheus: Fix series to rows frame name issue for custom name from legend option (#69343)

* use custom name from legend

* revert prometheus change

* fix issue in the transformer and not prometheus

* getFrameDisplayName falls back to getFieldDisplayName already

* run prettier

(cherry picked from commit 32f27d10ff)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2023-06-08 15:56:07 -04:00
Grot (@grafanabot)
e05505b09a [v10.0.x] docs: Azure doc link update (#69753)
docs: Azure doc link update (#69749)

Update index.md

Link update

(cherry picked from commit 3e48c0b570)

Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
2023-06-08 12:23:09 -05:00
Grot (@grafanabot)
c90c8d88dc [v10.0.x] CloudMonitoring: Improve parsing of GCM labels (#69812)
CloudMonitoring: Improve parsing of GCM labels (#69800)

Update parsing of GCM labels

- Include parsing of metadata labels

(cherry picked from commit 9fc1de62d5)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-06-08 19:41:21 +03:00
Alexander Zobnin
5dacbb97e0 [v10.0.x] Authentication UI: Enable by default (#69803) (#69810)
Authentication UI: Enable by default (#69803)

(cherry picked from commit 4e1f69d83f)
2023-06-08 17:23:02 +01:00
Grot (@grafanabot)
d9995996e7 [v10.0.x] docs: whats new breaking changes updates (#69796)
docs: whats new breaking changes updates (#69489)

* make breaking changes note more prominent in whats new

* changed paragraph structure and added heading

* moved breaking changes section to after the template

* move deprecations to breaking changes page

* break up paragraph

* run prettier

(cherry picked from commit 365fd67c3f)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-08 10:35:54 -04:00
Gilles De Mey
7d9015cfb8 Alerting: Fix notification policies inheritance algorithm (#69304) (#69782)
* Alerting: Fix notification policies inheritance algorithm (#69304)

(cherry picked from commit f94e07f5a4)
2023-06-08 15:18:46 +02:00
Grot (@grafanabot)
d9cc7ba3b8 [v10.0.x] Templating: Fix updating of definition to empty string (#69767)
Templating: Fix updating of definition to empty string (#69703)

(cherry picked from commit dbdb71fbfa)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-06-08 09:59:15 +00:00
Grot (@grafanabot)
0cdb85af0b [v10.0.x] Alerting: Change text on cloud AM email addresses for contact points (#68180)
Alerting: Change text on cloud AM email addresses for contact points (#68143)

(cherry picked from commit e1ff434917)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-06-08 09:43:02 +00:00
Grot (@grafanabot)
665430bafb [v10.0.x] Service accounts: UI migration results (#69760)
Service accounts: UI migration results (#68789)

* ui migration WIP

* merge

* migration tests for api

* revert chagnes to align with main

* revert chagnes to align with main

* revert chagnes to align with main

* remove unused code and comments

* revert gen files

* retry logic inplace

* fix a any

* fixed types

* migraiton results now show only result if no failures

* review comments

* wording to make it more actionable

* add migraiton summary text onyl for failed apikeys

* fixed wording and added a close button to the modal

* made the button close the modal

* moved state into component

* fix based on review, naming and removed unused code

* service account migration state optional

* making migration result undefined

* showing total and migrated numbers for a successful migration

* fix payload const to take the payload

(cherry picked from commit 081f59feba)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-06-08 11:37:28 +02:00
Grot (@grafanabot)
bd6526c278 [v10.0.x] Alerting: Support newer http_config struct (#69719)
Alerting: Support newer http_config struct (#69452)

(cherry picked from commit a91de30f99)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-06-07 19:43:48 +00:00
Grot (@grafanabot)
589a2b6e68 [v10.0.x] Docs/docker compose update (#69744)
Docs/docker compose update (#64565)

* added CLI in heading for clearity

* added new heading

* new change

* updated final version for review

* fix small line breaks

* copy edit, restructuring

* Apply suggestions from code review

* Apply suggestions from code review

* removed internal notes

* updateding the docker configuraiton file which have advanced instructions

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* updated persistent stroage section

* updated heading typo

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* fixed code identation and minor typos

* added yaml file validation check in the troubleshooting section

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

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

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

added "also"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Apply suggestions from code review

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

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

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

* add more details to apline, cloudwatch and default path sections

* Apply suggestions from code review

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

* added more detailes about docker ubuntu image, fixed headings, added more clarity to the persistent vs bind stroage

* Apply suggestions from code review

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

* added more improvements for the examples

* Update docs/sources/setup-grafana/installation/docker/index.md

* Update docs/sources/setup-grafana/installation/docker/index.md

* Update docs/sources/setup-grafana/installation/docker/index.md

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

* updates links, edits Troubleshooting section

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

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

* fixes doc-validator issues

* adds link to plugin install instructions

* added improvement in the AWS cloudwatch example

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

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

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

* Apply suggestions from code review

suggestions looks good

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

* added dan suggestion for the tags, but skip the longer description part as not really useful for end user

* Update docs/sources/setup-grafana/installation/docker/index.md

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

* Apply suggestions from code review

looks good

Co-authored-by: Dan Cech <dcech@grafana.com>

* added missing version

* fixed identation and small typo

* fixed the pwd data folder instruction

* fixed persistent volume creating and identation

* fixed identation

* fixed typo to get debug logs

* fixed custom plugin installation section

* created docker secret command instructions

* fixed missing path

* fixed code in docker secret and other minor typos

* incorporates feedback, copy edits secrets section

* fixed small typo in docker secrets section

* remove the additonal info command for secrets

* combined custom docker pre-installed plugin section as one

* fixed the build link typo

* various updates/fixes

* another fix

* added more clarity to the volume creating command

* fixed command for bind mounts

* fixed missing comman in the plugin command

* fixed small typo

* improve and simplifly the steps instructions

* fixed validation command

* Apply suggestions from code review

looks good!!

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

* fixed typo in docker secret command explaination

* fixed minor stuff

* makes prettier

---------

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

Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
2023-06-07 14:34:11 -05:00
Grot (@grafanabot)
0dfcf4346a [v10.0.x] docs: improvements to visualizations docs (#69724)
docs: improvements to visualizations docs  (#69503)

* made changes from PR 67118

* made changes from PR 67123

* made some changes from PR 67128

* made changes from PR 67129

* made changes from PR 67133

(cherry picked from commit 337ffd3015)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-07 13:43:16 -04:00
Grot (@grafanabot)
a1576b83d2 [v10.0.x] docs: add product labels for reporting page (#69728)
docs: add product labels for reporting page (#69717)

add product labels for reporting page

(cherry picked from commit 994defeeb4)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-07 12:05:11 -04:00
Andreas Christou
20a24dff7c [v10.0.x] Azure: Fix Kusto auto-completion for Azure datasources (#69685) (#69695)
Azure: Fix Kusto auto-completion for Azure datasources (#69685)

* Fix Kusto auto-completion not working in HG

* Add update to script paths

* Update CODEOWNERS

* Missed the ts

(cherry picked from commit a6484c6f81)

# Conflicts:
#	yarn.lock
2023-06-07 09:04:09 -06:00
Grot (@grafanabot)
838f52ec44 [v10.0.x] Lower Drag and Drop file size limit to 500kb (#69700)
Lower Drag and Drop file size limit to 500kb (#69640)

(cherry picked from commit 6561f3a7a6)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-06-07 14:35:41 +00:00
Grot (@grafanabot)
85f514d6cc [v10.0.x] Docker: Add ARM64 architecture for Docker, for PRs (#69715)
Docker: Add ARM64 architecture for Docker, for PRs (#68295)

* Add ARM64 architecture for Docker

* Add arm64 variants

(cherry picked from commit bbd83cbaeb)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-06-07 17:29:58 +03:00
Grot (@grafanabot)
4591d305ed [v10.0.x] Loki: Fix including of template variables in variable query editor (#69709)
Loki: Fix including of template variables in variable query editor (#69698)

(cherry picked from commit 14d2f371a4)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-06-07 16:17:57 +02:00
Grot (@grafanabot)
e1466bf47e [v10.0.x] Alerting: Fix broken UI because of query being optional for some ExpressionQuer… (#69683)
Alerting: Fix broken UI because of query being optional for some ExpressionQuer… (#69650)

* Fix broken UI because of query being optional for some ExpressionQuery coditions field

* Delete query field from conditions in utils.test.ts

(cherry picked from commit 848eb01a89)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-06-07 14:49:43 +02:00
Grot (@grafanabot)
45694ea55b [v10.0.x] CloudMonitoring: Remove excess logs (#69682)
CloudMonitoring: Remove excess logs (#69576)

Remove excess logs

(cherry picked from commit f7dd7c5ad8)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-06-07 10:49:36 +01:00
Grot (@grafanabot)
dac19cba9c [v10.0.x] Auth: Skip org role sync moved in docs (#69677)
Auth: Skip org role sync moved in docs (#69676)

skip org role sync moved in docs

(cherry picked from commit 498f8ea4ea)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-06-07 09:00:02 +00:00
Grot (@grafanabot)
9ec1100289 [v10.0.x] Explore: Run remaining queries when one is removed from a pane (#69670)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-06-06 23:58:35 +01:00
Grot (@grafanabot)
7d33beacf3 [v10.0.x] Docs: Remove duplicate word in edit panel of configure panel options (#69668)
Docs: Remove duplicate word in edit panel of configure panel options (#69592)

Documentation: Remove duplicate word in edit panel of configure panel options
(cherry picked from commit f20a8eb2a7)

Co-authored-by: SatVeer Singh <developer.satveer@gmail.com>
2023-06-06 16:54:39 -04:00
Grot (@grafanabot)
f0fd0f50bb [v10.0.x] docs: update use dashboards descriptions (#69494)
docs: update use dashboards descriptions (#67360)

* Update index.md

* fix wording

---------

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

Co-authored-by: MattiasSegerdahl <102952046+MattiasSegerdahl@users.noreply.github.com>
2023-06-06 16:25:15 -04:00
Ivan Ortega Alba
781a531137 Schema: Improve Dashboard kind docs and remove deprecated props (#69652)
Backport: Schema: Improve Dashboard kind docs and remove deprecated props (#69359)

Removes unused properties:
  * `FieldColorModeId.PaletteSaturated`: It doesn't exist and it is not a valid palette.
  * `VariableModel.rootStateKey`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store the Redux store key.
  * `VariableModel.error`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store fetching errors.
  * `Panel.thresholds`: old property only existing in previous versions of the dashboard schema.
  * `Panel.timeRegions`: old property only existing in previous versions of the dashboard schema.

(cherry picked from commit 819041c732)
2023-06-06 20:22:46 +03:00
Grot (@grafanabot)
71eda16c12 [v10.0.x] [DOC] Tracing: Add doc for Tempo Search query (#69645)
[DOC] Tracing: Add doc for Tempo Search query (#68923)

* Add doc for Tempo Search query

* Updates for wording and images

* Add note to Explore about query editor for tracing

* Fix prettier

* Apply suggestions from code review

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

* Update docs/sources/shared/datasources/tempo-search-traceql.md

* Changes from prettier

* Update docs/sources/shared/datasources/tempo-search-traceql.md

* Update docs/sources/shared/datasources/tempo-search-traceql.md

* Updates from prettier

---------

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

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2023-06-06 16:53:38 +03:00
Grot (@grafanabot)
02411bc29f [v10.0.x] Dashboards: Variables - Improve slow template variable loading due same variable loaded multiple times on time range change (#69641)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2023-06-06 16:23:04 +03:00
Grot (@grafanabot)
2b8a416c51 [v10.0.x] Prevent crash while executing concurrent mixed queries (#878)
Prevent crash while executing concurrent mixed queries (#874)

limit parallel query execution to 1 at a time

(cherry picked from commit 96579a60e19e2a9f2d6bdaeba64e0e702211eb73)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2023-06-06 13:29:33 +02:00
Grot (@grafanabot)
242f4e04c0 [v10.0.x] Require alert.notifications:write permissions to test receivers and templates (#866)
Require alert.notifications:write permissions to test receivers and templates (#865)

(cherry picked from commit 3c21ab70075256d4ba8e4fbfdcb15f5a394161fa)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-06 13:29:32 +02:00
Grot (@grafanabot)
302aa2f838 [v10.0.x] Docs: removes screenshots (#69635)
Docs: removes screenshots (#69634)

(cherry picked from commit 3227d0b5fd)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-06-06 11:05:38 +00:00
Sven Grossmann
04330a0a4d [v10.0.x] Loki: Fix parsing of escaped quotes in LogQL (#69584) (#69615)
Loki: Fix parsing of escaped quotes in LogQL (#69584)

* fix parsing issue

* replace escaped quotes

(cherry picked from commit a81cee1d05)
2023-06-06 12:25:56 +03:00
Sven Grossmann
1d5f90b720 [v10.0.x] Log Row: Fix menu styling and dimensions (#69569) (#69585)
Log Row: Fix menu styling and dimensions (#69569)

* fix wrong logrowmenu styling

* fix imports

(cherry picked from commit 9d2f4786c7)
2023-06-06 11:22:32 +02:00
Grot (@grafanabot)
903856aa6c [v10.0.x] Use doc-validator v3.0.0 (#69594)
Use doc-validator v3.0.0 (#69544)

- Structured output for use with [`reviewdog`](https://github.com/reviewdog/reviewdog).
  You can achieve the original error output by piping the output to the following `jq` expression: `jq -r '"ERROR: \(.location.path):\(.location.range.start.line):\(.location.range.start.column): \(.message)"'`.
- Suggestions for simple link fixes.
  In GitHub, [`reviewdog`](https://github.com/reviewdog/reviewdog) comments these suggestions for convenient replacement.
- Support for anchors referring to repeated headings.
  In the case that a page has multiple headings that share the same text, a zero indexed, the renderer appends a numbered suffix to the identifier.
  For example, when there are two headings that are both "Heading text", the first anchor identifier is `heading-text` and the second is `heading-text-1`.- Error when running `doc-validator` on no files.

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

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-06-06 08:33:06 +01:00
Grot (@grafanabot)
4f4f3a99c1 [v10.0.x] Fix: Fixed a typo in reference.md (#69593)
Fix: Fixed a typo in reference.md (#69204)

* Update reference.md

Fixed typo:

`i` to `in`

* Ran prettier

(cherry picked from commit 09eca5981b)

Co-authored-by: arun tvs <aruntvs227@gmail.com>
2023-06-06 07:01:58 +00:00
Grot (@grafanabot)
6148dfc3d9 [v10.0.x] docs: add datasource selector content (#69587)
docs: add datasource selector content (#69280)

* updated create dashboard topic including adding screenshot of DS selector

* finished editing build dashboards - create dashboards

* finished data source selection edits'
:

* updated tutorials

* reverted tutorial to old nav to match reality and added that prom DS is preselected

* wording edits

* Apply suggestions from code review

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

* add that configure DS is only for admins

---------

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

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-05 15:14:34 -04:00
Grot (@grafanabot)
9b05220e4e [v10.0.x] CloudMonitoring: Correctly set new query on type change (#69577)
CloudMonitoring: Correctly set new query on type change (#69573)

Correctly set new query on type change

(cherry picked from commit 7bd85faa7f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-06-05 20:13:07 +03:00
Grot (@grafanabot)
7cf2733e12 [v10.0.x] Loki: Fix error when empty template variables response (#69559)
Loki: Fix error when empty template variables response (#69373)

* Loki: Fix error when empty template variables

* Update

* Add test

* Add test for statsMetadataRequest

(cherry picked from commit 3150d80428)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-06-05 13:35:04 +00:00
Grot (@grafanabot)
6aee75291a [v10.0.x] Alerting: Add heuristics back to datasource healthchecks (#69541)
This commit adds heuristics back to datasource healthchecks as
it was removed in #66198. The healthcheck for Prometheus datasources
also returns the kind (Prometheus or Mimir) and a boolean if the
ruler is enabled or disabled.
2023-06-05 11:11:58 +01:00
Grot (@grafanabot)
778d9690d2 [v10.0.x] Util: Fix panic when generating UIDs concurrently (#69538)
Util: Fix panic when generating UIDs concurrently (#69476)

(cherry picked from commit fe2103bfc8)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2023-06-05 11:35:48 +02:00
Grot (@grafanabot)
6210def1bc [v10.0.x] SparklineCell: Allow specifying time range (#69145)
SparklineCell: Allow specifying time range (#69130)

add timeRange optional prop to Table and TablePanel

(cherry picked from commit 283c1c7dbe)

Co-authored-by: Domas <domasx2@gmail.com>
2023-06-05 09:43:05 +03:00
Grot (@grafanabot)
c41eb07a63 [v10.0.x] Alerting: Fix "show all instances" (#67837)
Alerting: Fix "show all instances" (#67833)

(cherry picked from commit dafd202bb2)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-06-04 02:14:48 +00:00
Grot (@grafanabot)
600ff36f62 [v10.0.x] [docs] typo fixes in expression queries (#69507)
[docs] typo fixes in expression queries (#65665)

* Update index.md

Fixing some minor typos.

* make language clearer

---------

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

Co-authored-by: marybelvargas <107340764+marybelvargas@users.noreply.github.com>
2023-06-02 18:19:38 -04:00
Grot (@grafanabot)
4fc9648845 [v10.0.x] docs: update add-template-variables docs (#69502)
docs: update add-template-variables docs (#65682)

correcting typo in "Filter and modify using named text and value capture groups" section

(cherry picked from commit 921bc0324e)

Co-authored-by: annelaurefroment <49911675+annelaurefroment@users.noreply.github.com>
2023-06-02 18:00:07 -04:00
Grot (@grafanabot)
9f9e4453bc [v10.0.x] docs: fix grafana play link (#69498)
docs: fix grafana play link (#65763)

* Update index.md

Fixed the link for a grafana play reference

* fix link text

* fix wording for flow

---------

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

Co-authored-by: ashley <97468854+ansomerv@users.noreply.github.com>
2023-06-02 17:52:48 -04:00
Grot (@grafanabot)
4665a01827 [v10.0.x] docs: update TestData screenshots (#69483)
docs: update TestData screenshots (#69472)

updated screenshots

(cherry picked from commit 52da729c83)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-06-02 16:25:50 -04:00
Matthew Jacobson
0a6e80c6cf [v10.0.x] Alerting: Fix provisioned templates being ignored by alertmanager (#69488)
Alerting: Fix provisioned templates being ignored by alertmanager (#69485)

* Alerting: Fix provisioned templates being ignored by alertmanager

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

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

(cherry picked from commit c16f1f5e99)
2023-06-02 16:13:48 -04:00
Grot (@grafanabot)
f6a00efeee [v10.0.x] fix minor grammatical error (#69473)
fix minor grammatical error (#69433)

Add "and"

(cherry picked from commit 825c78034f)

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2023-06-02 13:04:09 -04:00
Grot (@grafanabot)
50f321b939 [v10.0.x] Docs: update what's new for exploreMixedDatasource toggle (#69474)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-06-02 17:25:07 +01:00
Grot (@grafanabot)
631e55c5b7 [v10.0.x] Docs: Bring back the alias for external group sync HTTP API page (#69457)
Docs: Bring back the alias for external group sync HTTP API page (#69434)

* Docs: Bring back the alias for external group sync HTTP API page

* Update docs/sources/developers/http_api/team_sync.md

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

---------

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

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-06-02 15:05:59 +02:00
Grot (@grafanabot)
eb4d486525 [v10.0.x] Docs: Added disableResolveMessage parameter (#69450)
Docs: Added disableResolveMessage parameter (#66596)

Added disableResolveMessage parameter

(cherry picked from commit d850070f09)

Co-authored-by: Gabriel Goller <gabrielgoller123@gmail.com>
2023-06-02 14:34:54 +02:00
Grot (@grafanabot)
de7805dbed [v10.0.x] Docs: Rename External Group Sync references to Team Sync (#69400)
Docs: Rename External Group Sync references to Team Sync (#69395)

(cherry picked from commit 8235f774aa)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-06-02 11:02:53 +02:00
Grot (@grafanabot)
04e461b560 [v10.0.x] Log Context: Fix split view button using the wrong query (#69416)
Log Context: Fix split view button using the wrong query (#69369)

* fix wrong query used in split button

* refactor into one function

* don't act?

(cherry picked from commit cb4ad588b9)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-06-01 22:22:38 +02:00
Grot (@grafanabot)
c8912b1b9e [v10.0.x] update prometheus template variables doc (#69415)
update prometheus template variables doc (#69335)

* edits for clarity

* added 2 new sections on query variable options

* Update docs/sources/datasources/prometheus/template-variables/index.md

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
(cherry picked from commit 5ac56bcb28)

Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
2023-06-01 11:45:40 -07:00
Grot (@grafanabot)
cdfff3e10a [v10.0.x] Fix plugin metric (#69372)
Fix plugin metric (#69368)

(cherry picked from commit b59533e526)

Co-authored-by: Ludovic Viaud <ludovic.viaud@gmail.com>
2023-06-01 16:00:51 +02:00
Grot (@grafanabot)
5ca02fa184 [v10.0.x] Pyroscope: Fix wrong defaults when importing query from different datasource (#69366)
Pyroscope: Fix wrong defaults when importing query from different datasource (#69307)

(cherry picked from commit fb904852af)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-06-01 13:33:58 +00:00
Grot (@grafanabot)
58886bb850 [v10.0.x] Alerting: Fix matching labels with spaces in their values (#69340)
Alerting: Fix matching labels with spaces in their values (#68909)

Fix matching labels with spaces in their values

(cherry picked from commit fb7993d021)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-06-01 10:21:22 -03:00
Grot (@grafanabot)
d335b326e8 [v10.0.x] Update cascading front matter to use sequence form (#69328)
Update cascading front matter to use sequence form (#67094)

* Update cascading front matter to use sequence form

The map form does not override the sequence form that is used in the website repository to specify the default labels.
For more information, refer to https://github.com/grafana/writers-toolkit/pull/234.

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

* Remove useless alias

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

* Update labels for pages noted in code review

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

* Move all product labeling to the project index file

All changes can be made in a single place.

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

* Move all individual page product labels to project index file

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

* Shorten YAML

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

* Add newlines to aid readability

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

* Document front matter ordering

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

* Rewrite labels for breaking-changes pages

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

* updated labels for whats new and breaking changes

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit f29b058927)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-06-01 08:29:56 +01:00
Grot (@grafanabot)
77a6dc7de9 [v10.0.x] Canvas: Fix exit panel edit mode issue (#69352)
Canvas: Fix exit panel edit mode issue (#69315)

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

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-06-01 01:03:55 +02:00
Grot (@grafanabot)
6d9ed6ee71 [v10.0.x] Prometheus: Make config header tags consistent (#69334)
Prometheus: Make config header tags consistent (#69275)

change config header tags to h3

(cherry picked from commit 0c85327bed)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2023-05-31 14:17:20 -04:00
Dimitris Sotirakis
46955e6ada [v10.0.x] Chore: update latest.json to 10.0.0-preview (#69312) (#69314)
Chore: update latest.json to 10.0.0-preview (#69312)

(cherry picked from commit 78aa8c80ab)
2023-05-31 17:11:50 +03:00
Grot (@grafanabot)
2c7c61a08e Release: Bump version to 10.0.0 (#69309)
"Release: Updated versions in package to 10.0.0"
2023-05-31 16:42:38 +03:00
Grot (@grafanabot)
c0627d8a16 [v10.0.x] docs: What's New & Upgrade Guide 10.0 (#69306)
docs: What's New & Upgrade Guide 10.0 (#64927)

* updated what's new index and added v10.0 what's new and upgrade guide

* Update _index.md

* Added nested folders

* Nested folders screenshot

* Add draft of Correlations what's new content

* Correlations minor edit

* add dashboards whats new

* What's new: Query multiple data sources in Explore

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

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

* AuthNZ: What's new in Grafana 10.0 (#66362)

* AuthNZ: What's new in Grafana 10.0

* Add upgrade guides

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

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

* Added span filters section

* add info about dashboard previews removal

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* add datagrid and drag and drop

* combine new ds picker and panel onboarding content

* Logs: Add LogContext to What's New v10 (#66575)

* add log context description

* change `eyeball button` to `eye icon`

* Adds Alerting entries for 10

* Add Azure Monitor entry for v10

* add public dashboards features

* small tweaks to public dashboards content

* Add Security: Trusted types section

* Add DataViz: initial placeholder sections with some content

* Adds alerting entry for templates

* Adds an and

* update headings

* fix link format and update wording

* nesting topics under dashboards and visualizations, updated headers

* Adds oncall contact point entry

* Copyedits for oncall alerting entry

* add incremental querying blurb to whats-new

* Renaming nested folders to subfolders

* Update what's new to indicate availability of features and improve messaging (#66755)

* Added image for time regions

* update wording for feature release stage

* Add section about Phlare data source rename

* restructuring and styling fixes

* add datasource picker recording

* Log Context: Improved "Whats New" text (#67285)

* improve "Log context" whats new

* change screenshot

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

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

* fix spelling

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* change image

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: J Stickler <julie.stickler@grafana.com>

* wording and style edits

* Update how to use Trusted Types

* Adding opentracing deprecation notes

* Adding opentracing deprecation notes

* added breaking changes with raw markdown

* updated page weight

* state location of public dashboards list more explicitly

* added email sharing user admin info

* clarified what was fixed

* Deletes oncall entry

* added heading markdown

* replaced absolute links with relrefs

* fixed relrefs

* Update canvas GA section to include connection properties

* canvas: slight grammar update

* updated template and name of contributor field for each item

* adding contributor name

* added contributor names to what's new

* added contributor names to what's new and upgrade guide

* fixed typo

* Docs: What is new 10 - add Data plane (#68125)

* Remove drag & drop to dashboard

* Add PDC to 10.0 what's new

* reorder sections, edit copy

* update order, format and copy

* grammar fix

add "and"

* add intro text to breaking changes pages

* fix Explore mixed DS what's new doc (#68303)

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

* Remove datagrid from what's new, drag and drop to experimental

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

* updates to data source picker availability

* Update what's new for canvas / trend panel (finalized)

* Update ds picker recording

* Add deprecation notice for changing folder UID

* docs: update with angular plugin list

* Update with documentations links for annotation filtering and time regions

* Update annotation filtering section in docs/sources/whatsnew/whats-new-in-v10-0.md

* add datagrid as experimental

* modify datagrid doc accordingly

* Update docs/sources/whatsnew/whats-new-in-v10-0.md

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

* adds alerting screenshot

* deletes sentence

* adds state history pic

* resolving outstanding suggestions

Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Nathan Marrs  <nathanielmarrs@gmail.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* changed order of sections

* updated text about breaking changes in whats new and upgrade guide

* fixed links

* copy edits

* general copy edits

* removed TO DOs from whats new, copy edited upgrade guide, some copy edits of breaking changes

* fix doc validator errors

* added availability information, updated preview notes, replaced screenshot

* copy edit, added links, added breaking changes content

* general copy edit of breaking changes; small update to common tasks

* replaced notes with admonitions

* link fixes

* reverted blog links to full addresses

* fixed heading inconsisency

* fix doc validator error

* added availability note

* added missing availability notes

* replaced screenshot and fixed wording

* replaced screenshot and fixed wording

* Updated subfolders description

To call out missing features and stress that it can only be used in dev/test environments

* added availability note

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Zsofia <zsofia.komaromi@gmail.com>
Co-authored-by: Josiah (Jay) Goodson <josiah.goodson@gmail.com>
Co-authored-by: natellium <natalia.bernarte@grafana.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Natalia Bernarte Oses <74534993+natellium@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Galen <galen.kistler@grafana.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: J Stickler <julie.stickler@grafana.com>
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Victor Marin <victor.marin@grafana.com>
Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
(cherry picked from commit d4ef06451c)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-31 09:15:15 -04:00
Grot (@grafanabot)
e5f99bf7e5 [v10.0.x] Docs: Add separate fundamentals topic on notification policies (#69305)
Docs: Add separate fundamentals topic on notification policies (#69174)

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

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-31 12:35:22 +00:00
Grot (@grafanabot)
70f9bcd177 [v10.0.x] Alerting: Smaller fixes for long namespace / group names (#69296)
Alerting: Smaller fixes for long namespace / group names (#69095)

(cherry picked from commit 7e924e0d74)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-31 10:27:52 +00:00
Grot (@grafanabot)
5b95726203 [v10.0.x] InfluxDB: Interpolate retention policies (#69300)
InfluxDB: Interpolate retention policies (#69202)

Interpolate retention policies

(cherry picked from commit f610e37aec)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-31 12:23:29 +02:00
Grot (@grafanabot)
2b653f3ae5 [v10.0.x] Fix opentsdb table format (#69286)
Fix opentsdb table format (#69281)

* fixed table formatting

* changed opentsdb to OpenTSDB

* cleaned up wording

(cherry picked from commit 4a84633773)

Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
2023-05-30 13:44:03 -07:00
Grot (@grafanabot)
ae50b74046 [v10.0.x] Auth: Update docs on use PKCE by default (#69269)
Auth: Update docs on use PKCE by default (#68638)

* Auth: Update docs on use PKCE by default. (#68073)

Signed-off-by: junya koyama <arukiidou@yahoo.co.jp>

* Fix: docs review - from introduces to provides https://github.com/grafana/grafana/pull/68638/files#r1200506006

Signed-off-by: junya koyama <arukiidou@yahoo.co.jp>

* Fix docs - Remove note about a version https://github.com/grafana/grafana/pull/68638/files#r1200508038

Signed-off-by: junya koyama <arukiidou@yahoo.co.jp>

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

---------

Signed-off-by: junya koyama <arukiidou@yahoo.co.jp>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit 345b7fadc9)

Co-authored-by: arukiidou <arukiidou@yahoo.co.jp>
2023-05-30 11:49:49 -05:00
Grot (@grafanabot)
2b95f85f29 [v10.0.x] Grafana UI: Fix plugin unit test errors (#69256)
Grafana UI: Fix plugin unit test errors (#69210)

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

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

(cherry picked from commit 82f353c696)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-05-30 16:18:44 +02:00
Grot (@grafanabot)
23f2f9b816 [v10.0.x] Docs: Updates Grafana [smtp](#63311) (#69217)
Docs: Updates Grafana [smtp](#63311) (#63332)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
(cherry picked from commit 89088d6aa2)

Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com>
2023-05-30 09:18:27 -05:00
Ivan Ortega Alba
6f11409f79 [v10.0.x] Improve Dashboards schema docs (#68904) (#69254)
Improve Dashboards schema docs (#68904)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
(cherry picked from commit cb83861630)
2023-05-30 14:52:24 +02:00
Grot (@grafanabot)
e436872496 [v10.0.x] fix: Chef cookbook has moved to sous-chefs (#69242)
fix: Chef cookbook has moved to sous-chefs (#68425)

* fix: Chef cookbook has moved to sous-chefs

Updates the github link for the chef configuration option.

* Update docs/sources/administration/provisioning/index.md

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

---------

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

Co-authored-by: Jason Field <Jason@avon-lea.co.uk>
2023-05-30 08:27:08 +01:00
Grot (@grafanabot)
2a321a5c0d [v10.0.x] PublicDashboards: Revoke public URL from audit table fix (#69229)
PublicDashboards: Revoke public URL from audit table fix (#69032)

(cherry picked from commit 38fa41f51f)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2023-05-29 15:48:16 -03:00
Grot (@grafanabot)
a81452b437 [v10.0.x] SQLStore: Align SQLite IsUniqueConstraintViolation() with other backend implementations (#69227)
SQLStore: Align SQLite IsUniqueConstraintViolation() with other backend implementations (#69224)

* Add integration test for primary key and unique constrain violation

* Align SQLite IsUniqueConstraintViolation implementation with other backends

(cherry picked from commit 74e87ccbbd)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-29 17:55:35 +03:00
Grot (@grafanabot)
9df2e093b1 [v10.0.x] Datagrid docs (#69223)
Datagrid docs (#68357)

* WIP Datagrid docs

* Finish datagrid docs

* Add experimental note

* Fix typo

* PR modifications for datagrid docs

* docs modifications

* PR modifications

* PR modifications

* PR mods

* missed wording edits; added max size to screenshots; changed heading level

* fix typo

* style fix and change heading level

---------

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

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-29 14:23:12 +00:00
Grot (@grafanabot)
41ec10f49f [v10.0.x] docs: add pricing info for email sharing (#69221)
docs: add pricing info for email sharing (#69206)

added pricing info

(cherry picked from commit 4d0c1a4b8e)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-29 10:10:27 -04:00
Ricky Whitaker
9710e15316 Backport 69191 to v10.0.x (#69195)
* fix verify_release_pipeline script execution (#69191)

* fix verify_release_pipeline script execution

* forgot to run make drone

(cherry picked from commit 68fe1e1cb0)

* finish resolving merge conflict

* make drone

---------

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2023-05-26 17:14:56 -05:00
Grot (@grafanabot)
2b9e4b0c15 [v10.0.x] Docs: Update the service account HTTP API documentation (#69189)
Docs: Update the service account HTTP API documentation (#63235)

* doc: Add the service account deletion function

* doc: Add new service account documentation

(cherry picked from commit 4aa207ed83)

Co-authored-by: Pascal Zimmermann <pascal.zimmermann@theiotstudio.com>
2023-05-26 09:37:47 -07:00
Grot (@grafanabot)
a94a5bcf10 [v10.0.x] DS Picker: Make responsive the modal for smaller devices (#69181)
DS Picker: Make responsive the modal for smaller devices (#68875)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
(cherry picked from commit c9adcc1e97)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-26 14:47:08 +00:00
Grot (@grafanabot)
54dcc66a25 [v10.0.x] Docs: corrects circular reference in links (#69171)
Docs: corrects circular reference in links (#69165)

corrects circular reference in links

(cherry picked from commit 521d5f86dc)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-05-26 08:57:37 -05:00
Grot (@grafanabot)
b3b6188074 [v10.0.x] Docs: Plugin doc review - backend topics - chunk 5 (#69164)
Docs: Plugin doc review - backend topics - chunk 5 (#68662)

* Initial commit

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

* Minor fixes

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

* Prettier fixes

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

* Incorporating review feedback

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

* Minor fix

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

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

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

* Update docs/sources/developers/plugins/backend/grafana-plugin-sdk-for-go.md

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

* Update docs/sources/developers/plugins/backend/grafana-plugin-sdk-for-go.md

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

* Update docs/sources/developers/plugins/backend/plugin-protocol.md

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

* Update docs/sources/developers/plugins/backend/plugin-protocol.md

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

* Update docs/sources/developers/plugins/backend/plugin-protocol.md

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>

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

Co-authored-by: David Harris <david.harris@grafana.com>

* Indentation fix

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

* Review feedback

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

* Bug fix

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

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>
Co-authored-by: David Harris <david.harris@grafana.com>
(cherry picked from commit b7e2f3ad3f)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-26 08:41:29 -05:00
Yuri Tseretyan
ed0089bcb8 Alerting: Update alerting module to to 20230524181453-a8e75e4dfdda (#69011)
* update alerting to 20230524181453-a8e75e4dfdda
* fix integration tests
2023-05-26 09:27:33 -04:00
Grot (@grafanabot)
f2f9b7f47c [v10.0.x] Docs: fix 2 broken links on 'Publish a plugin' topic (#69159)
Docs: fix 2 broken links on 'Publish a plugin' topic (#68666)

* Initial commit

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

* Delete Reference folder for now

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

---------

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

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-26 08:26:04 -05:00
Grot (@grafanabot)
082b7c9d44 [v10.0.x] GoogleAPI: Add retries functionallity to GoogleAPI calls (#69144)
GoogleAPI: Add retries functionallity to GoogleAPI calls (#69129)

* Add retryer to GoogleAPI calls

* Add comment

(cherry picked from commit 515270f5fd)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-05-26 13:10:55 +03:00
Torkel Ödegaard
7d7a799574 [v10.0.x]: Themes: Unify secondary button and ToolbarButton (#69049)
Themes: Unify secondary button and ToolbarButton (#68250)

* Themes: Unify secondary button and ToolbarButton

* Update

* Update light theme

* fix test

* fix toolbar button border

* fix disabled outline button style

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

(cherry picked from commit d4df5e0519)
2023-05-26 11:16:47 +02:00
Grot (@grafanabot)
e97a2f0482 [v10.0.x] Query Editor: Ensure dropdown menus position correctly (#69131)
Query Editor: Ensure dropdown menus position correctly (#69062)

prevent showing menu until options have loaded

(cherry picked from commit c55c091145)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-26 11:39:53 +03:00
Grot (@grafanabot)
0b846e7f1f [v10.0.x] [Timeseries] Place legend to bottom when on <lg display (#69128)
[Timeseries] Place legend to bottom when on <lg display (#69045)

Place timeseries legend to bottom when on <lg display

(cherry picked from commit f515d2efac)

Co-authored-by: Simon Podlipsky <simon@podlipsky.net>
2023-05-26 01:34:37 -07:00
Grot (@grafanabot)
21f45c85d9 [v10.0.x] Drawer: Fixes closeOnMaskClick false issue (#69103)
Drawer: Fixes closeOnMaskClick false issue (#69083)

(cherry picked from commit 1eed40fcf6)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-26 09:28:15 +02:00
Grot (@grafanabot)
e5a71e81aa [v10.0.x] docs: revamp the alerting set-up documentation (#69124)
docs: revamp the alerting set-up documentation (#69064)

* docs: revamp the alerting set-up documentation

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

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

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

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

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

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

---------

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

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

* Update index.md

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

Add information regarding saving a report as a draft.

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

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

* running prettier

---------

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

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

* Docs update Logs in Explore

* Include new Calculation Types :docs:

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

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

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

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

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

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

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

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

* Eye icon instead of Toggle field visibility

* running prettier

---------

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

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

(cherry picked from commit 37e2becdd7)

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

* ResourcePicker: Fix missing border bug

* remove unused imports

(cherry picked from commit 2966989525)

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

(cherry picked from commit 014126a43e)

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

* use default execution if legacy is not known

* update docs

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

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

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

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

---------

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

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

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

(cherry picked from commit e00260465b)

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

* Fix for invite button visibility

* Align test

(cherry picked from commit df4db412cb)

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

add support for multiple ash targets with loki as primary

(cherry picked from commit 73681a251e)

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

(cherry picked from commit 65e2df7a2e)

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

* DataSourcePicker: Design tweak proposal

* Revert unrelated change

* Remove unrelated change

* Fixed spacing of logo

(cherry picked from commit 2f6d538044)

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

Fixes table in alerting API docs

(cherry picked from commit 863f826e62)

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

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

* [feat] docs; update admonition syntax

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

* Remove false positives and irregularities

* false positive removal

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

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

* fix link errors

* Prettify some nested blockquotes

* remoe unnecessary admonition

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

* Fix incorrect conflict resolution

---------

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

* Initial commit

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

* Minor fix

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

* Review changes

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

* Doc fixes

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

* Minor fix

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

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

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

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

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

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

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

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

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

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

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

* Incorporating review feedback

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

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

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

* Test commit

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

---------

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

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

* initial updates to outdated info

* minor edits prior to draft PR

* commented out options no longer available

* additional edits

* removed tables, changed format to list

* updated code mode section

* finished edits to builder mode

* added revisions per Brendan

* removed commented out section

* added note short codes

(cherry picked from commit 3edeafa663)

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

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

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

* run prettier

---------

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

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

* first commit

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

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

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

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

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

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

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

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

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

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

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

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

* applying edited suggestions

* applying edit changes

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

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

* Apply suggestions from code review

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* makes prettier

---------

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

* corrects doc validation errors

---------

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

* Enable doc-validator for alerting directories

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

* Adds missing description frontmatter

* Fix some more links

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

* Fix some more links

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

* Fixes anchors

---------

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

* Fix doc-validator anchor error

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-05-24 15:36:45 +01:00
Grot (@grafanabot)
981dfd9dba [v10.0.x] InfluxDB: Fix querying retention policies on flux mode (#68985)
InfluxDB: Fix querying retention policies on flux mode (#67722)

Query retention policies only on InfluxQL mode

(cherry picked from commit 373e4cab9a)

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

* If the measurement empty don't add FROM statement

* Add comment line

(cherry picked from commit 764f87b485)

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

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

correct usage of mutex

(cherry picked from commit bb6ec1470d)

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

* Update references

* Update grabpl to v3.0.38

(cherry picked from commit 7e816d010c)

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

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

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

(cherry picked from commit 34d294bf56)

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

Update legend aliases

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

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

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

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

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

---------

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

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

(cherry picked from commit b9ee723bb7)

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

* [feat] docs; update admonition syntax

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

* Remove false positives and irregularities

* false positive removal

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

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

* fix link errors

* Prettify some nested blockquotes

* remoe unnecessary admonition

(cherry picked from commit 1c4bb9ca00)

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

(cherry picked from commit dfc2ac284b)

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

(cherry picked from commit 86ea0c2bc9)

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

Add mode label when building docker image

(cherry picked from commit bad570ee86)

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

(cherry picked from commit 0a6e3bba6c)

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

(cherry picked from commit 9e61172245)

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

* initial commit

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

* Minor fixes

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

* Prettier

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

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

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

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

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

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

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

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

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

* Incorporating review feedback

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

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

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

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

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

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

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

* Incorporating review feedback

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

---------

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

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

* only update state if it's different

* use an effect

(cherry picked from commit 2cbd7f1be6)

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

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

* Extract code related to AlertQueryRunner to a separate hook

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

* Remove unused import

* Update query update explanation

(cherry picked from commit b37a6e9d4c)

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

add legendFormat and intervalFactor to the schema

(cherry picked from commit 670c987409)

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

clone http req before tagging

(cherry picked from commit 05e71d4c6b)

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

* don't unmount the root when hiding the legend

* update comment

(cherry picked from commit 0b6c5722a5)

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

Hide datagrid from panel list if ff disabled

(cherry picked from commit 6dbadf614b)

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

(cherry picked from commit a44ac0ed63)

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

Run trigger-test-release only on PRs against main

(cherry picked from commit 623c014cda)

# Conflicts:
#	.drone.yml

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

* Update grabpl

* Allow publish images to fail for PRs

(cherry picked from commit 04e2d9055d)

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

(cherry picked from commit a7cec6dd03)

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

(cherry picked from commit 39e57489a1)

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

* Update migration ordering

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

* Fix tests

* Remove comment

(cherry picked from commit 0be29b4c78)

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

remove legacy AC editor and admin role on new dashboard route

(cherry picked from commit 94283f5039)

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

* fixed broken table format in docs

* added prettier version of doc

(cherry picked from commit dc656ecd8a)

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

* Add grabpl publish images

Update grabpl - add github pr token

* Replace github_pr_token with gh app

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

# Conflicts:
#	.drone.yml

# Conflicts:
#	.drone.yml

* Lint starlark

Add forgotten secrets

Lint starlark

Change secrets

* Update grabpl to v3.0.35

* Lint starlark

* Remove unnecessary secrets

(cherry picked from commit 26bacf6d4c)

# Conflicts:
#	.drone.yml

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

(cherry picked from commit 49467b3e5a)

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

* Enable doc-validator for specific directories

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

* Fix one linting error to trigger CI

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

* Update doc-validator to latest release

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

* Update make-docs procedure

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

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

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

* Revert to 1.11.0

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

* adds missing descriptions

* Fix titles and headings

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

* Fix link formats

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

* Fix easy to resolve anchors

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

* Remove broken anchor link

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

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

* Use doc-validator image with support for numbered anchors

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

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

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

* Fix a bunch of broken anchors

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

* Ignore old whatsnew content

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

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

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

* removes broken links

---------

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

* Fix doc-validator linting

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-05-18 19:07:45 +02:00
Grot (@grafanabot)
e4d5fb99ca [v10.0.x] Azure Monitor: Fix bug that did not show alert rule preview (#68581) 2023-05-18 10:47:42 -06:00
Grot (@grafanabot)
69d19f6aea [v10.0.x] Clarify Graphite version and type to set if using Grafana Cloud (#68721)
Clarify Graphite version and type to set if using Grafana Cloud (#68239)

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

* Update _index.md

(cherry picked from commit 9f7f82c3cc)

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

only stop recursing up the tree if we hit a folder

(cherry picked from commit 0a44793390)

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

(cherry picked from commit 9e4b532979)

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

make service graph work with aggregated metrics

(cherry picked from commit e1c2eb8c10)

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

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

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

(cherry picked from commit 33af88481c)

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

(cherry picked from commit 160e207e47)

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

(cherry picked from commit 14936f85df)

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

* Accessibility: Corrected aria-label for Edit Panel

* Added data-testid

* Added data-testid

* Added betterer results

(cherry picked from commit 416e347e70)

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

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

* elastic: backend migration: fix no-index case

* improved code

(cherry picked from commit fcef387151)

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

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

* Update public/app/core/logsModel.ts

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

---------

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

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

(cherry picked from commit 5457a9ecf2)

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

* Dashboards: Remove non-ds configured landing page

* Remove `datasourceOnboarding` feature toggle

(cherry picked from commit 1505a188eb)

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

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

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

(cherry picked from commit d20a03e2d1)

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

* TopNav: Tone down shadow a bit in light theme

* softer shadow

(cherry picked from commit 5f84dad7e4)

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

make sure DashboardPage code is feature toggled correctly

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

* API: Add deprecation notice for updating folder UID

(cherry picked from commit 14fb4ff779)

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

* DarkTheme: Fix dark theme shadows

* Update

(cherry picked from commit 37791e7a01)

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

* Sort sparkline dataframe

* Sort frame only if needed

* add utils test

(cherry picked from commit 94801c9c75)

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

(cherry picked from commit 4ccaf801d7)

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

* Use fully qualified resource identifiers

* Add additional data link to explore parent span

* Correctly order links to not break trace logs functionality

(cherry picked from commit bf75969794)

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

* Updates for new datasource picker

* Correct typing to ensure datasource selection

* Remove unused import

* Update labels

* Update labels and fix test

* Fix another test

(cherry picked from commit 51c15f3a89)

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

(cherry picked from commit 0612f1f87a)

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

* elastic: more tests

* fix lint error

(cherry picked from commit 6189f48be7)

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

fix req/s in node graph

(cherry picked from commit 43df362aed)

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

* update FolderDTO to match backend struct

* hacky way to get folder page breadcrumbs working

* hacky way to get dashboard nested breadcrumbs working

* undo route changes, get url from folder

* fix breadcrumbs in dashboard settings

* add parent pages to navIndex

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

* undo changes to generated files

* undo changes to toggles_gen.go

* feature toggle dashboardInit code

* remove unnecessary code in home dashboard

* build navModel directly, don't use getNavModel

* don't need fallback here

* remove getLoadingNav since it's not used anymore

* don't need to hide tabs from breadcrumbs anymore

* use id to find dashboards tab

(cherry picked from commit 82114cb316)

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

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

(cherry picked from commit d458292b66)

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

(cherry picked from commit f478504bc9)

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

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

* revert internal link change

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

(cherry picked from commit 5a5860256f)

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

* Barchart: Add gdev dashboard for tooltips

* Add graph-ng tag for uplot dependency

---------

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

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

(cherry picked from commit 92d865ccce)

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

(cherry picked from commit e0d8f3b4a7)

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

(cherry picked from commit 8ba1762618)

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

* Update docs for traces

- Include note on timespan changes for logs queries

* Review

* Review

(cherry picked from commit 778a09eaa7)

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

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

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

* Fix for URL examples

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

* Data frames fixes

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

* Fixes from doc review

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

* More doc review changes

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

* Doc fixes

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

* Doc fix

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

* Prettier

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

* Fix migration index

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

* Fix screenshot

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

* Doc fixes

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

* Quick fix

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

---------

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

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

Add delivery bot secrets

(cherry picked from commit 55622615de)

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

* CI: Update grabpl to 3.0.34

(cherry picked from commit 35ccfa6131)

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

Fix and update test

(cherry picked from commit a1f76af15a)

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

(cherry picked from commit 47b7b05591)

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

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

* keep overflow ref logic

(cherry picked from commit 5d91ace745)

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

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

* clear selection state when navigating to a different folder

* consolidate useEffects

(cherry picked from commit 7e3c68d3c1)

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

(cherry picked from commit e6db01dcbe)

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

(cherry picked from commit a0942bd1df)

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

* Search: Fix Search returning results out of order

* test

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

* NewsDrawer: Add grot to drawer header

* Update

* Move to bottom

* Updates

* reverted unrelated change

* Update

* fixing test

(cherry picked from commit c8fd3c20cd)

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

(cherry picked from commit ea0bf989cb)

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

(cherry picked from commit 24037ddd59)

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

* Doc style edit for 7 topics

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

* Proofread topics

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

* Prettier

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

* Doc fix

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

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

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

* Doc fixes

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

* Changes from doc review

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

* Incorporate review feedback

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

* More fixes

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

* More doc fixes

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

---------

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

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

remove dashboard preview docs

(cherry picked from commit 8dee5d3364)

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

* Drawer: Redesign WIP

* Fix double margin

* Teak pos

* align paddings

* Hide toolbar actions when drawer is open

* deprecate expandable

* Updated test

* remove expandable var

* Added clickaway

(cherry picked from commit ae1a85b5ad)

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

(cherry picked from commit ede8df846e)

---------

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

* Wording changes to improve clarity.

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

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

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

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

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

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

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

* ran doc validator, make corrections

---------

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

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

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

* media queries

* Change large drawer to 75%

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

* Tweaks and fixed inline drawer issue

* review fixes

* Deprecate inline, update mdx docs

* remove inline var

(cherry picked from commit 20217db100)

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

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

* fix empty state as well

* improve perf of recent dashboards

(cherry picked from commit 446885bd1a)

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

* Remove EmptyStateWrapper

(cherry picked from commit cee838c8a8)

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

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

(cherry picked from commit 1a79c8a601)

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

* add go to dashboards keybinding

* add shortcut to keybindings modal

(cherry picked from commit 4f987a4a5d)

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

Add .drone.yml in pathschanged for lint_backend

(cherry picked from commit b7b13067a5)

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

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

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

* adds documentation link to the saml ui

* add correct link

* add link to docuemntation

* add documentation etxt

* documentation update wordings

(cherry picked from commit 09d7d25c9f)

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

(cherry picked from commit dd80471a92)

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

(cherry picked from commit 37de4a825b)

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

(cherry picked from commit 8da90f624d)

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

(cherry picked from commit 6aab5e35d5)

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

Correct capitalization of openSUSE

(cherry picked from commit 7e0031ec36)

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

(cherry picked from commit 11c388a10f)

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

* Update tracking

- Add traces tracking
- Update other query type tracking

* Fix lint

* More tracking

* Lint

(cherry picked from commit 5a044ac4b4)

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

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

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

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

* Make gen-cue

* Add type

* Add tests

* Test

* Minor update

---------

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

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

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

* make use of verbose settings

* add state to enabledInIniFile

* rename to configFound and removal of default values

(cherry picked from commit 9b10664560)

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

(cherry picked from commit 0565c3440f)

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

(cherry picked from commit b96a2c1b62)

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

* AngularDeprecation: Show warnings in panel edit for angular panels

* update wording

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

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

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

---------

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

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

* Nested folders: Set URL in folder responses always

* Apply suggestions from code review

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

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

* Add description to DS built-in list of items

* Open the new DS view in a new tab

(cherry picked from commit cb293ecf1c)

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

* Fix renaming columns when displayName or displayNameFromDS are present

* refactor

* Fix showing correct column header title

(cherry picked from commit d8dfef71e2)

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

(cherry picked from commit bcebb2cb60)

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

Fix TopSearchBar for disabled help

(cherry picked from commit 64c89dc4e6)

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

Closes #66838

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

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

Fix bug formatting multiple prometheus labels when doing metric query

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

(cherry picked from commit 8f8baf1a07)

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

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

(cherry picked from commit 1f43c62d03)

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

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

(cherry picked from commit e51b92991d)

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

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

(cherry picked from commit 1e8cad625b)

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

Bump credential wait time as 15s seems too short

(cherry picked from commit 0d3a78d86d)

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

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

redo search query if searching when actions complete

(cherry picked from commit 135b0a25aa)

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

remove behaviour where selecting all children selects parent

(cherry picked from commit 765da9c841)

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

removing an extra ':'

(cherry picked from commit 5145f4d3f1)

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

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

* Fix implementation

* Add tests for RedactedValue function

(cherry picked from commit 0b6ae0d119)

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

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

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

* Fix lint

* clarify test

(cherry picked from commit e059ce9c8a)

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

(cherry picked from commit 5d047160e9)

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

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

(cherry picked from commit 5422609fb1)

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

All types are declared lowercased.

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

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

(cherry picked from commit 720b5b3b65)

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

(cherry picked from commit 1400a0a3f7)

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

(cherry picked from commit f100a4c680)

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

(cherry picked from commit 4ee894b0be)

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

Ensure trace exceptions are correctly displayed

(cherry picked from commit 65c1505415)

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

use render callback instead of requestIdleTimeout

(cherry picked from commit 8e752439c6)

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

* Appropriately handle correlation resources

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

* Fix query building and tests

* Fix lint

* Ensure multiple resource queries will work

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

(cherry picked from commit 5ddc37ee21)

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

fix-enterprise-datasources-link

(cherry picked from commit 18d4fda613)

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

(cherry picked from commit ee05e3675a)

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

(cherry picked from commit 8ec5527479)

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

* Plugin doc review for chunk 1-A

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

* Group of fixes in response to review comments

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

* Updates for review comments

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

* Fixed extra space

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

* Additional doc fixes

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

* More doc fixes

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

* Fixes from doc review

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

* Doc review fixes

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

* More changes from doc review

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

* Fix links and relrefs using doc-validator advice

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

* Publishing criteria update

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

* Markdown fix

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

* Fixes

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

* Testing

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

* Testing

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

* Testing

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

* Link fix

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

* Prettier

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

* Fix to publishing criteria

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

* Doc fix

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

* Doc fix

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

* Doc fix

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Prettier

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

---------

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

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

* add name_id_format to doc

* add labels

* add missing pipe

* add available name ID options

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

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

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

* Apply suggestions from code review

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

* lint

---------

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

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

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

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

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

Remove custom enterprise2 pipelines

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

* added empty dashboard screenshots

* added Add dropdown screenshots

* removed screenshot from build first dashboard

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

* added intro text in panel editor

(cherry picked from commit da21473527)

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

* refactor header column delete/clear

* fix tests, add clear option on header dropdown

* fix e2e tests

(cherry picked from commit 5416ec4768)

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

(cherry picked from commit 5155455c55)

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

Show export button for org admins

(cherry picked from commit e7f11f2456)

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

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

* CI: Ignore windows backend-test failures for now

* CI: Fix linting issue in ci_images.star file

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

* Adds alert state history doc

* Adds config image

* Adds config as text

* correct spacing

(cherry picked from commit cb9d53708e)

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

Adds preview notification template

(cherry picked from commit 6464ce0239)

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

* add feature tracking of load more

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

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

* fix condition

---------

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

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

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

(cherry picked from commit 97802e44a6)

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

Change order of buttons bellow payload data editor

(cherry picked from commit d10ee8263c)

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

(cherry picked from commit 854d497f94)

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

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

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

(cherry picked from commit 0ce7f7eaf4)

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

Clear queries if header value changes

(cherry picked from commit 765ae6cd90)

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

* Update TimeGrain interface methods

- Make them util functions because it's simpler

* Update logs ds to appropiately set resources and timespan

* Set timespan using RCF times

* Update tests

(cherry picked from commit 9d16718acc)

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

* Append analytics identifier upon authenticate session

* Add id and module upon syncing user to identity

* Add authModule & id to `IdentityFromSignedInUser`

* Allow req calls in test to use basic auth

* Add `intercom_secret` to grafana config in tests

* Add test for analytics render in html view

(cherry picked from commit 15e34505e2)

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

disallow react table to autoreset

(cherry picked from commit eb2eb65de8)

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

(cherry picked from commit e5b12e23b1)

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

* Elasticsearch: Fix parsing of invalid time

* Fix lint

* Add more test data to data.js

* Add tests

* Fix lint

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

(cherry picked from commit 95cf598423)

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

* InspectDrawer: Fixes issue with double scrollbars

* Fixed minor issue

(cherry picked from commit fcb14d2548)

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

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

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

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

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

* add secret scanning docs

* update docs

* fix merge

* add revoke to docs

* add revoke to docs

* typo fix

* Apply suggestions from code review

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

* add step by step instructions

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* prettier

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

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

* feedback

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

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

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

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

---------

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

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

(cherry picked from commit 3c42dea10b)

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

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

(cherry picked from commit 8ca9a89cf1)

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

(cherry picked from commit 338e98e237)

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

Update Azure E2E test

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

(cherry picked from commit 140f9620f5)

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

do not search for parents of the general folder

(cherry picked from commit b1382ac48e)

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

* Link to config exemplars leads goes to top of page

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

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

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

---------

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

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

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

(cherry picked from commit 66ad704292)

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

* updated steps for dashboard creation

* added images, other wording and structure edits

(cherry picked from commit 4eb063c1dd)

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

Fix description of Cloudwatch

(cherry picked from commit 43c7a5b603)

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

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

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

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

* add semi-relative time range section

* added second example and reworded

* formatting fixes

* added alerting note and fixed formatting

* wording fix

(cherry picked from commit 0271a1d094)

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

Fix banner button variant

(cherry picked from commit 049029b6a2)

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

Fix export button variant

(cherry picked from commit 8166453f9f)

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

(cherry picked from commit cd8b6be41d)

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

remove multi-paste functionality and unneccessary async from func

(cherry picked from commit 3a6f162cc6)

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

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

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

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

(cherry picked from commit 76284ed3a6)

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

* Gauge: Set min and max for percent unit

* Remove exclamation mark

* Add parentheses around ternary

(cherry picked from commit 6570ec7afe)

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

* Connections: Simplify connections nav

* rename Connections pages everywhere

---------

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

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

* chore: fix link to docs

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

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

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

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

---------

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

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

Changed so we map the enum into different message.

(cherry picked from commit 21d28c1cb5)

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

* hook up getAffectedItems to the backend count route

* mock out backendSrv in unit tests

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

* Show alert rule counts when API returns them

* use components for modal styles

* Revert "use components for modal styles"

This reverts commit 80ac1152f8.

---------

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

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

* add content re admin and public dashboards navigation

* added admin users section

(cherry picked from commit 765735092a)

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

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

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

* clear selection post move/delete

* move actions out of rtk-query

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

* cleaner syntax

* remove unnecessary function, just put logic in the selector

* handle moving/deleting from the root

* slightly cleaner

* handle when rootItems are undefined

* handle 'general' in the fetchChildren reducer

* only refresh at the end

* don't need thunk api

(cherry picked from commit 02086e843f)

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

(cherry picked from commit 9b81d738bf)

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

* move configure legend page and add alias

* updated page weight and tried fixing alias

* fixed alias

* add preemptive alias for current page location

* apply suggestion from review

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

* apply suggestions from review

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

* apply suggestions from review

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

---------

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

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

* NestedFolders: Add empty states for Browse and Search

* empty states

* fix types

* tests

(cherry picked from commit fd2c7594cf)

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

* fix shadow log in service accounts

(cherry picked from commit f9fd15c01e)

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

(cherry picked from commit 93b461bd96)

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

* Show indeterminate checkbox for folders with partially selected children

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

* reword comment

* fix test

* fix lint

* Check all descendants for mixed state

* Use indeterminate checkbox

* fix test description

* make header checkbox select/unselect automatically

* mixed header checkbox:

* fix tests

* add tests

(cherry picked from commit 32d3e895b3)

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

View File

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

View File

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

1291
.drone.yml

File diff suppressed because it is too large Load Diff

4
.github/CODEOWNERS vendored
View File

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

View File

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

View File

@@ -28,23 +28,13 @@ jobs:
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "Determine technical documentation version"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./actions/docs-target"
id: "target"
with:
ref_name: "${{ github.ref_name }}"
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
@@ -52,7 +42,6 @@ jobs:
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_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:

View File

@@ -1,3 +1,350 @@
<!-- 10.0.0 START -->
# 10.0.0 (2023-06-12)
### Features and enhancements
- **Themes:** Unify secondary button and ToolbarButton. [#69049](https://github.com/grafana/grafana/issues/69049), [@torkelo](https://github.com/torkelo)
- **PublicDashboards:** Email sharing users with active sessions added in Users list . (Enterprise)
- **Caching:** Ensure context-canceled are not reported as errors . (Enterprise)
- **SAML:** Configuration UI. (Enterprise)
### Bug fixes
- **Query Editor:** Ensure dropdown menus position correctly. [#69131](https://github.com/grafana/grafana/issues/69131), [@grafanabot](https://github.com/grafanabot)
- **Drawer:** Fixes closeOnMaskClick false issue. [#69103](https://github.com/grafana/grafana/issues/69103), [@grafanabot](https://github.com/grafanabot)
- **SAML:** Fix IdP metadata caching so that invalid metadata doesn't get cached. (Enterprise)
<!-- 10.0.0 END -->
<!-- 10.0.0-preview START -->
# 10.0.0-preview (2023-05-31)
### Features and enhancements
- **Alerting:** Migrate unknown NoData\Error settings to the default. [#69010](https://github.com/grafana/grafana/issues/69010), [@grafanabot](https://github.com/grafanabot)
- **Drawer:** Position under nav & minor redesign . [#68396](https://github.com/grafana/grafana/issues/68396), [@grafanabot](https://github.com/grafanabot)
- **Navigation:** Add keyboard shortcut to navigate directly to Dashboards. [#68374](https://github.com/grafana/grafana/issues/68374), [@grafanabot](https://github.com/grafanabot)
- **Explore:** Promote exploreMixedDatasource to Stable & enable by default. [#68353](https://github.com/grafana/grafana/issues/68353), [@Elfo404](https://github.com/Elfo404)
- **Tempo:** Escape regex-sensitive characters in span name before building promql query. [#68313](https://github.com/grafana/grafana/issues/68313), [@grafanabot](https://github.com/grafanabot)
- **Drawer:** Introduce a size property that set's width percentage and minWidth . [#68128](https://github.com/grafana/grafana/issues/68128), [@grafanabot](https://github.com/grafanabot)
- **AngularDeprecation:** Show warnings in panel edit for angular panels. [#68083](https://github.com/grafana/grafana/issues/68083), [@grafanabot](https://github.com/grafanabot)
- **Dashboard:** Change add panel button to fill to remove outline border. [#68017](https://github.com/grafana/grafana/issues/68017), [@grafanabot](https://github.com/grafanabot)
- **Query History:** Remove migration. [#67470](https://github.com/grafana/grafana/issues/67470), [@Elfo404](https://github.com/Elfo404)
- **Alerting:** Implement template testing endpoint. [#67450](https://github.com/grafana/grafana/issues/67450), [@JacobsonMT](https://github.com/JacobsonMT)
- **Trace View:** Export trace button . [#67368](https://github.com/grafana/grafana/issues/67368), [@adrapereira](https://github.com/adrapereira)
- **Alerting:** Update grafana/alerting to 4f09f51. [#67329](https://github.com/grafana/grafana/issues/67329), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Cloudwatch:** Add FraudDetector namespace with metrics and dimensions. [#67318](https://github.com/grafana/grafana/issues/67318), [@ffje](https://github.com/ffje)
- **Timeseries:** Migrate legend hideFrom. [#67305](https://github.com/grafana/grafana/issues/67305), [@adela-almasan](https://github.com/adela-almasan)
- **CloudWatch:** Deprecate dynamic labels feature toggle, remove support for Alias in frontend. [#67222](https://github.com/grafana/grafana/issues/67222), [@fridgepoet](https://github.com/fridgepoet)
- **Docs:** Create documentation for enterprise caching HTTP API. [#67169](https://github.com/grafana/grafana/issues/67169), [@mmandrus](https://github.com/mmandrus)
- **Cloudwatch Logs:** Update Cheatsheet. [#67161](https://github.com/grafana/grafana/issues/67161), [@sarahzinger](https://github.com/sarahzinger)
- **Alerting:** Add alert instance picker. [#67138](https://github.com/grafana/grafana/issues/67138), [@VikaCep](https://github.com/VikaCep)
- **Loki:** Enable dataplane-compliant metric data by default. [#67137](https://github.com/grafana/grafana/issues/67137), [@gabor](https://github.com/gabor)
- **Loki:** Enable new log context query editor. [#67131](https://github.com/grafana/grafana/issues/67131), [@ivanahuckova](https://github.com/ivanahuckova)
- **Elasticsearch:** Deprecate index setting for annotation queries. [#67046](https://github.com/grafana/grafana/issues/67046), [@ivanahuckova](https://github.com/ivanahuckova)
- **Search:** Preserves search filters when navigating to another page. [#67021](https://github.com/grafana/grafana/issues/67021), [@khushijain21](https://github.com/khushijain21)
- **PanelContext:** Add functionality to update data from panel. [#66993](https://github.com/grafana/grafana/issues/66993), [@torkelo](https://github.com/torkelo)
- **Phlare:** Support both Phlare and Pyroscope backends and rename to Grafana Pyroscope. [#66989](https://github.com/grafana/grafana/issues/66989), [@aocenas](https://github.com/aocenas)
- **Packaging:** Added deprecation warnings when running `grafana-cli` or `grafana-server`; the `grafana` command should be used instead. [#66976](https://github.com/grafana/grafana/issues/66976), [@kminehart](https://github.com/kminehart)
- **Elasticsearch:** Update required database version to 7.16. [#66928](https://github.com/grafana/grafana/issues/66928), [@gabor](https://github.com/gabor)
- **Alert:** Redesign with tinted background . [#66918](https://github.com/grafana/grafana/issues/66918), [@torkelo](https://github.com/torkelo)
- **Auth:** Make GitHub auth's allowed_organizations be case insensitive. [#66879](https://github.com/grafana/grafana/issues/66879), [@consideRatio](https://github.com/consideRatio)
- **Elasticsearch:** Deprecate the usage of the database field in provisioning. [#66828](https://github.com/grafana/grafana/issues/66828), [@gwdawson](https://github.com/gwdawson)
- **CSRF middleware:** Add flag to skip login cookie check. [#66806](https://github.com/grafana/grafana/issues/66806), [@PoorlyDefinedBehaviour](https://github.com/PoorlyDefinedBehaviour)
- **Alerting:** Use URLs in image annotations. [#66804](https://github.com/grafana/grafana/issues/66804), [@santihernandezc](https://github.com/santihernandezc)
- **AppRootPage:** Reduce flickering while loading plugin. [#66799](https://github.com/grafana/grafana/issues/66799), [@torkelo](https://github.com/torkelo)
- **Alerting:** Make Loki & Prometheus instant vector by default. [#66797](https://github.com/grafana/grafana/issues/66797), [@gillesdemey](https://github.com/gillesdemey)
- **Log Context:** Add button to open the context query in a split view. [#66777](https://github.com/grafana/grafana/issues/66777), [@svennergr](https://github.com/svennergr)
- **APIkeys:** Add metrics for apikey endpoints. [#66732](https://github.com/grafana/grafana/issues/66732), [@eleijonmarck](https://github.com/eleijonmarck)
- **ServeFromSubPath:** Redirect to URL with subpath when subpath missing. [#66724](https://github.com/grafana/grafana/issues/66724), [@torkelo](https://github.com/torkelo)
- **RBAC:** Remove the option to disable RBAC and add automated permission migrations for instances that had RBAC disabled. [#66652](https://github.com/grafana/grafana/issues/66652), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Plugins:** Remove secure socks proxy feature toggle. [#66611](https://github.com/grafana/grafana/issues/66611), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Alerting:** Loki-based alert state history modal. [#66595](https://github.com/grafana/grafana/issues/66595), [@konrad147](https://github.com/konrad147)
- **Explore:** Promote exploreMixedDatasource feature toggle to beta. [#66552](https://github.com/grafana/grafana/issues/66552), [@ifrost](https://github.com/ifrost)
- **Chore:** Clean up NavModel interface. [#66548](https://github.com/grafana/grafana/issues/66548), [@ashharrison90](https://github.com/ashharrison90)
- **Alerting:** Scheduler use rule fingerprint instead of version. [#66531](https://github.com/grafana/grafana/issues/66531), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudWatch:** Deprecate dynamic labels feature toggle, remove support for Alias in backend. [#66494](https://github.com/grafana/grafana/issues/66494), [@fridgepoet](https://github.com/fridgepoet)
- **RBAC:** Make access control metadata for folders work with nested folders. [#66464](https://github.com/grafana/grafana/issues/66464), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Tracing:** Add links to documentation in config pages. [#66442](https://github.com/grafana/grafana/issues/66442), [@joey-grafana](https://github.com/joey-grafana)
- **Loki:** Always display log context toggle. [#66379](https://github.com/grafana/grafana/issues/66379), [@matyax](https://github.com/matyax)
- **Datagrid Panel:** Edit data within your dashboards. [#66353](https://github.com/grafana/grafana/issues/66353), [@mdvictor](https://github.com/mdvictor)
- **Annotations:** Support filtering the target panels. [#66325](https://github.com/grafana/grafana/issues/66325), [@ryantxu](https://github.com/ryantxu)
- **Alerting:** Use default page size of 5000 when querying Loki for state history. [#66315](https://github.com/grafana/grafana/issues/66315), [@alexweav](https://github.com/alexweav)
- **GrafanaData:** Remove obsolete logs exports. [#66271](https://github.com/grafana/grafana/issues/66271), [@gabor](https://github.com/gabor)
- **Alerting:** Update legacy alerting warning. [#66269](https://github.com/grafana/grafana/issues/66269), [@armandgrillet](https://github.com/armandgrillet)
- **GrafanaUI:** Remove obsolete logs exports. [#66268](https://github.com/grafana/grafana/issues/66268), [@gabor](https://github.com/gabor)
- **Explore:** Remove deprecated DataSourceWithLogsVolumeSupport. [#66266](https://github.com/grafana/grafana/issues/66266), [@ivanahuckova](https://github.com/ivanahuckova)
- **Chore:** Upgrade Go to 1.20.3. [#66264](https://github.com/grafana/grafana/issues/66264), [@sakjur](https://github.com/sakjur)
- **Design System:** Set TextArea to display: block in order to remove spacing below. [#66262](https://github.com/grafana/grafana/issues/66262), [@L-M-K-B](https://github.com/L-M-K-B)
- **Elasticsearch:** Add feature toggle to disable running queries trough backend. [#66260](https://github.com/grafana/grafana/issues/66260), [@ivanahuckova](https://github.com/ivanahuckova)
- **Correlations:** Add transformation editor. [#66217](https://github.com/grafana/grafana/issues/66217), [@gelicia](https://github.com/gelicia)
- **Logs Navigation:** Scroll to first log when using pagination. [#66214](https://github.com/grafana/grafana/issues/66214), [@matyax](https://github.com/matyax)
- **Search:** Add clear search button to the input bar. [#66204](https://github.com/grafana/grafana/issues/66204), [@khushijain21](https://github.com/khushijain21)
- **Visualizations:** Choose color based on series name. [#66197](https://github.com/grafana/grafana/issues/66197), [@lukepalmer](https://github.com/lukepalmer)
- **FieldValues:** Use plain arrays instead of Vector (part 1 of 2). [#66187](https://github.com/grafana/grafana/issues/66187), [@ryantxu](https://github.com/ryantxu)
- **Users:** Enable case insensitive login by default. [#66134](https://github.com/grafana/grafana/issues/66134), [@Jguer](https://github.com/Jguer)
- **Loki Query Editor:** Increase autocomplete suggestions window with to 50%. [#66041](https://github.com/grafana/grafana/issues/66041), [@matyax](https://github.com/matyax)
- **Instrumentation:** Add support for instrumenting database queries. [#66022](https://github.com/grafana/grafana/issues/66022), [@bergquist](https://github.com/bergquist)
- **Loki:** Add feature flag to enable dataplane-compliant metric frames. [#66017](https://github.com/grafana/grafana/issues/66017), [@gabor](https://github.com/gabor)
- **Tempo:** Encode IDs as hexadecimal when downloading traces. [#66001](https://github.com/grafana/grafana/issues/66001), [@kousikmitra](https://github.com/kousikmitra)
- **Cloudwatch:** Add missing AWS/IVS namespace metrics. [#65985](https://github.com/grafana/grafana/issues/65985), [@idastambuk](https://github.com/idastambuk)
- **Alerting:** Remove and revert flag alertingBigTransactions. [#65976](https://github.com/grafana/grafana/issues/65976), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Attach hash of instance labels to state history log lines. [#65968](https://github.com/grafana/grafana/issues/65968), [@alexweav](https://github.com/alexweav)
- **API keys:** Add deprecation to api keys. [#65948](https://github.com/grafana/grafana/issues/65948), [@eleijonmarck](https://github.com/eleijonmarck)
- **Logs:** Redesign and improve LogContext. [#65939](https://github.com/grafana/grafana/issues/65939), [@svennergr](https://github.com/svennergr)
- **Loki:** Remove alpha feature toggle lokiDataframeApi. [#65918](https://github.com/grafana/grafana/issues/65918), [@gabor](https://github.com/gabor)
- **Packaging:** Remove chkconfig dependency. [#65887](https://github.com/grafana/grafana/issues/65887), [@DanCech](https://github.com/DanCech)
- **Explore:** Run test datasource default selection when mounted. [#65864](https://github.com/grafana/grafana/issues/65864), [@gelicia](https://github.com/gelicia)
- **Service Accounts:** Allow unsetting token expiry date. [#65862](https://github.com/grafana/grafana/issues/65862), [@kousikmitra](https://github.com/kousikmitra)
- **SQL Datasources:** Update Max Connection and Max Idle Connection Defaults to 100 and add auto mode. [#65834](https://github.com/grafana/grafana/issues/65834), [@codeincarnate](https://github.com/codeincarnate)
- **DashlistPanel:** Add options to include time range and variable values. [#65757](https://github.com/grafana/grafana/issues/65757), [@VictorColomb](https://github.com/VictorColomb)
- **Alerting:** Add endpoint to revert to a previous alertmanager configuration. [#65751](https://github.com/grafana/grafana/issues/65751), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Document state history config options in default and sample configuration files. [#65748](https://github.com/grafana/grafana/issues/65748), [@alexweav](https://github.com/alexweav)
- **Alerting:** Choose a previous valid AM configuration in case of error. [#65746](https://github.com/grafana/grafana/issues/65746), [@VikaCep](https://github.com/VikaCep)
- **Traces:** Span filtering. [#65725](https://github.com/grafana/grafana/issues/65725), [@joey-grafana](https://github.com/joey-grafana)
- **Caching:** Refactor enterprise query caching middleware to a wire service. [#65616](https://github.com/grafana/grafana/issues/65616), [@mmandrus](https://github.com/mmandrus)
- **Alerting:** Implement template preview for Grafana AlertManager. [#65530](https://github.com/grafana/grafana/issues/65530), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Dropdown:** Stop Dropdown accepting a function as children. [#65467](https://github.com/grafana/grafana/issues/65467), [@ashharrison90](https://github.com/ashharrison90)
- **GrafanaDS:** Add support for annotation time regions. [#65462](https://github.com/grafana/grafana/issues/65462), [@leeoniya](https://github.com/leeoniya)
- **Alerting:** Add support for running HA using Redis. [#65267](https://github.com/grafana/grafana/issues/65267), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Tempo:** Add kind to TraceQL intrinsics. [#65111](https://github.com/grafana/grafana/issues/65111), [@adrapereira](https://github.com/adrapereira)
- **Feature:** Trusted Types support. [#64975](https://github.com/grafana/grafana/issues/64975), [@KristianGrafana](https://github.com/KristianGrafana)
- **AzureMonitor:** Application Insights Traces. [#64859](https://github.com/grafana/grafana/issues/64859), [@aangelisc](https://github.com/aangelisc)
- **Chore:** Remove deprecated dashboardId from panel query runner. [#64786](https://github.com/grafana/grafana/issues/64786), [@ryantxu](https://github.com/ryantxu)
- **DataFrame:** Handle nanosecond-precision timestamp fields. [#64529](https://github.com/grafana/grafana/issues/64529), [@gabor](https://github.com/gabor)
- **EditDataSources:** Add EditDataSourceActions to EditDataSourcePages. [#64487](https://github.com/grafana/grafana/issues/64487), [@mikkancso](https://github.com/mikkancso)
- **Chore:** Upgrade to react 18. [#64428](https://github.com/grafana/grafana/issues/64428), [@ashharrison90](https://github.com/ashharrison90)
- **Canvas:** Connection properties based on data. [#64360](https://github.com/grafana/grafana/issues/64360), [@adela-almasan](https://github.com/adela-almasan)
- **Explore:** Align multiple log volumes. [#64356](https://github.com/grafana/grafana/issues/64356), [@ifrost](https://github.com/ifrost)
- **Explore:** Clear live logs. [#64237](https://github.com/grafana/grafana/issues/64237), [@abdulhdr1](https://github.com/abdulhdr1)
- **TimeSeries:** Explicitly add transformer when timeseries-long exists. [#64092](https://github.com/grafana/grafana/issues/64092), [@ryantxu](https://github.com/ryantxu)
- **SAML:** Configuration UI. [#64054](https://github.com/grafana/grafana/issues/64054), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **Alerting:** Use configured headers for external alertmanager. [#63819](https://github.com/grafana/grafana/issues/63819), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Prometheus:** Incremental querying option for `to: now` dashboards. [#62932](https://github.com/grafana/grafana/issues/62932), [@leeoniya](https://github.com/leeoniya)
- **Dashboard:** Add series color shades. [#61300](https://github.com/grafana/grafana/issues/61300), [@jkraml-staffbase](https://github.com/jkraml-staffbase)
### Bug fixes
- **ResourcePicker:** Fix missing border bug on cancel button. [#69113](https://github.com/grafana/grafana/issues/69113), [@nmarrs](https://github.com/nmarrs)
- **TimeSeries:** Fix centeredZero y axis ranging when all values are 0. [#69112](https://github.com/grafana/grafana/issues/69112), [@grafanabot](https://github.com/grafanabot)
- **StatusHistory:** Fix rendering of value-mapped null. [#69108](https://github.com/grafana/grafana/issues/69108), [@grafanabot](https://github.com/grafanabot)
- **Alerting:** Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects. [#69094](https://github.com/grafana/grafana/issues/69094), [@grafanabot](https://github.com/grafanabot)
- **Alerting:** Add support for Alert State History Loki primary. [#69077](https://github.com/grafana/grafana/issues/69077), [@grafanabot](https://github.com/grafanabot)
- **Dashboards:** Fix undefined aria labels in Annotation Checkboxes for Programmatic Access. [#68873](https://github.com/grafana/grafana/issues/68873), [@grafanabot](https://github.com/grafanabot)
- **Alerting:** Fix stale query preview error. [#68836](https://github.com/grafana/grafana/issues/68836), [@grafanabot](https://github.com/grafanabot)
- **AnonymousAuth:** Fix concurrent read-write crash. [#68803](https://github.com/grafana/grafana/issues/68803), [@grafanabot](https://github.com/grafanabot)
- **AzureMonitor:** Ensure legacy properties containing template variables are correctly migrated. [#68792](https://github.com/grafana/grafana/issues/68792), [@grafanabot](https://github.com/grafanabot)
- **Alerting:** Add additional contact points for external AM. [#68778](https://github.com/grafana/grafana/issues/68778), [@grafanabot](https://github.com/grafanabot)
- **RBAC:** Remove legacy AC editor and admin role on new dashboard route. [#68777](https://github.com/grafana/grafana/issues/68777), [@grafanabot](https://github.com/grafanabot)
- **Azure Monitor:** Fix bug with top value so more than 10 resources can be shown . [#68725](https://github.com/grafana/grafana/issues/68725), [@grafanabot](https://github.com/grafanabot)
- **NodeGraph:** Fix overlaps preventing opening an edge context menu when nodes were too close. [#68628](https://github.com/grafana/grafana/issues/68628), [@grafanabot](https://github.com/grafanabot)
- **Plugins:** Correct the usage of mutex for gRPC plugin implementation. [#68609](https://github.com/grafana/grafana/issues/68609), [@grafanabot](https://github.com/grafanabot)
- **Azure Monitor:** Fix bug that did not show alert rule preview. [#68581](https://github.com/grafana/grafana/issues/68581), [@grafanabot](https://github.com/grafanabot)
- **FlameGraph:** Fix table sort being reset when search changes. [#68454](https://github.com/grafana/grafana/issues/68454), [@grafanabot](https://github.com/grafanabot)
- **Command Palette:** Prevent stale search results from overwriting newer results. [#68392](https://github.com/grafana/grafana/issues/68392), [@grafanabot](https://github.com/grafanabot)
- **Search:** Fix Search returning results out of order. [#68387](https://github.com/grafana/grafana/issues/68387), [@joshhunt](https://github.com/joshhunt)
- **Explore:** Remove data source onboarding page. [#68381](https://github.com/grafana/grafana/issues/68381), [@grafanabot](https://github.com/grafanabot)
- **Flamegraph:** Fix tooltip positioning. [#68312](https://github.com/grafana/grafana/issues/68312), [@grafanabot](https://github.com/grafanabot)
- **Pyroscope:** Add authentication when calling backendType resource API. [#68311](https://github.com/grafana/grafana/issues/68311), [@grafanabot](https://github.com/grafanabot)
- **Histogram:** Respect min/max panel settings for x-axis. [#68245](https://github.com/grafana/grafana/issues/68245), [@grafanabot](https://github.com/grafanabot)
- **QueryRow:** Make toggle actions screen-readers accessible. [#68210](https://github.com/grafana/grafana/issues/68210), [@grafanabot](https://github.com/grafanabot)
- **Heatmap:** Fix color rendering for value ranges < 1. [#68164](https://github.com/grafana/grafana/issues/68164), [@grafanabot](https://github.com/grafanabot)
- **Heatmap:** Handle unsorted timestamps in calculate mode. [#68151](https://github.com/grafana/grafana/issues/68151), [@grafanabot](https://github.com/grafanabot)
- **Alerting:** Fixes Alert list panel "ungrouped" regression. [#68090](https://github.com/grafana/grafana/issues/68090), [@grafanabot](https://github.com/grafanabot)
- **Alerting:** Show export button for org admins. [#67995](https://github.com/grafana/grafana/issues/67995), [@grafanabot](https://github.com/grafanabot)
- **Navigation:** Fix 'Page not found' when sending or going back from 'Invitate user' page. [#67972](https://github.com/grafana/grafana/issues/67972), [@grafanabot](https://github.com/grafanabot)
- **InspectDrawer:** Fixes issue with double scrollbars. [#67888](https://github.com/grafana/grafana/issues/67888), [@grafanabot](https://github.com/grafanabot)
- **Connections:** Show core datasource plugins as well. [#67886](https://github.com/grafana/grafana/issues/67886), [@grafanabot](https://github.com/grafanabot)
- **Gauge:** Set min and max for percent unit. [#67719](https://github.com/grafana/grafana/issues/67719), [@grafanabot](https://github.com/grafanabot)
- **TimeSeries:** Fix leading null-fill for missing intervals. [#67570](https://github.com/grafana/grafana/issues/67570), [@leeoniya](https://github.com/leeoniya)
- **Pyroscope:** Fix autodetection in case of using Phlare backend. [#67536](https://github.com/grafana/grafana/issues/67536), [@aocenas](https://github.com/aocenas)
- **Dashboard:** Revert fixed header shown on mobile devices in the new panel header. [#67510](https://github.com/grafana/grafana/issues/67510), [@axelavargas](https://github.com/axelavargas)
- **PostgreSQL:** Fix tls certificate issue by downgrading lib/pq. [#67372](https://github.com/grafana/grafana/issues/67372), [@zoltanbedi](https://github.com/zoltanbedi)
- **Alerting:** Fix misleading status code in provisioning API. [#67331](https://github.com/grafana/grafana/issues/67331), [@usommerl](https://github.com/usommerl)
- **Explore:** Update table min height . [#67321](https://github.com/grafana/grafana/issues/67321), [@adrapereira](https://github.com/adrapereira)
- **Provisioning:** Fix provisioning issues with legacy alerting and data source permissions. [#67308](https://github.com/grafana/grafana/issues/67308), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Proxy:** Improve header handling for reverse proxy. [#67279](https://github.com/grafana/grafana/issues/67279), [@sakjur](https://github.com/sakjur)
- **Loki:** Fix log samples using `instant` queries. [#67271](https://github.com/grafana/grafana/issues/67271), [@svennergr](https://github.com/svennergr)
- **Alerting:** Fix panic when reparenting receivers to groups following an attempted rename via Provisioning. [#67167](https://github.com/grafana/grafana/issues/67167), [@alexweav](https://github.com/alexweav)
- **Loki:** Fix incorrect evaluation of real and extracted labels in context. [#67112](https://github.com/grafana/grafana/issues/67112), [@ivanahuckova](https://github.com/ivanahuckova)
- **Cloudwatch Logs:** Clarify Cloudwatch Logs Limits. [#67072](https://github.com/grafana/grafana/issues/67072), [@sarahzinger](https://github.com/sarahzinger)
- **Rendering:** Fix panel rendered count on error. [#67027](https://github.com/grafana/grafana/issues/67027), [@AgnesToulet](https://github.com/AgnesToulet)
- **Elasticsearch:** Fix processing of duplicated metric types and field. [#66973](https://github.com/grafana/grafana/issues/66973), [@ivanahuckova](https://github.com/ivanahuckova)
- **Plugins:** Fix width for README pages with tables. [#66872](https://github.com/grafana/grafana/issues/66872), [@andresmgot](https://github.com/andresmgot)
- **Tempo:** TraceQL query builder QoL improvements. [#66865](https://github.com/grafana/grafana/issues/66865), [@adrapereira](https://github.com/adrapereira)
- **Expressions/threshold:** Fix incorrect thresholds args length. [#66859](https://github.com/grafana/grafana/issues/66859), [@gillesdemey](https://github.com/gillesdemey)
- **Panel Header Fix:** Implement new Panel Header on Angular Panels . [#66826](https://github.com/grafana/grafana/issues/66826), [@axelavargas](https://github.com/axelavargas)
- **Elasticsearch:** Handle multiple annotation structures. [#66762](https://github.com/grafana/grafana/issues/66762), [@gabor](https://github.com/gabor)
- **Alerting:** Fix share URL for Prometheus rules on subpath. [#66752](https://github.com/grafana/grafana/issues/66752), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix DatasourceUID and RefID missing for DatasourceNoData alerts. [#66733](https://github.com/grafana/grafana/issues/66733), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Plugins:** Fix plugin catalog filtering. [#66663](https://github.com/grafana/grafana/issues/66663), [@leventebalogh](https://github.com/leventebalogh)
- **Navigation:** Redirect to root page when switching organization. [#66655](https://github.com/grafana/grafana/issues/66655), [@ashharrison90](https://github.com/ashharrison90)
- **Trace View:** Update the queryType to traceql for checking if same trace when clicking span link. [#66645](https://github.com/grafana/grafana/issues/66645), [@ericmustin](https://github.com/ericmustin)
- **Explore:** Fix using data source line limit when opening logs sample in split view. [#66601](https://github.com/grafana/grafana/issues/66601), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki:** Fix ad hoc filters when used with number and > and < operators. [#66579](https://github.com/grafana/grafana/issues/66579), [@ivanahuckova](https://github.com/ivanahuckova)
- **Dashboards:** Fix broken internal data links. [#66567](https://github.com/grafana/grafana/issues/66567), [@ifrost](https://github.com/ifrost)
- **Google Cloud Monitoring:** Fix project variable. [#66524](https://github.com/grafana/grafana/issues/66524), [@asimpson](https://github.com/asimpson)
- **Azure Monitor:** Fix bug that was not showing resources for certain locations. [#66502](https://github.com/grafana/grafana/issues/66502), [@alyssabull](https://github.com/alyssabull)
- **Plugins:** Fs: Add option to access unallowed files in dev mode. [#66492](https://github.com/grafana/grafana/issues/66492), [@xnyo](https://github.com/xnyo)
- **Dashboard:** New panel in a dashboard is not deleted after "Discard"-ing changes in Panel Edit. [#66476](https://github.com/grafana/grafana/issues/66476), [@polibb](https://github.com/polibb)
- **InfluxDB:** Fix querying with hardcoded retention policy. [#66466](https://github.com/grafana/grafana/issues/66466), [@itsmylife](https://github.com/itsmylife)
- **Alerting:** Hide mute timing actions when dealing with vanilla prometheus. [#66457](https://github.com/grafana/grafana/issues/66457), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix creating a recording rule when having multiple datasources. [#66415](https://github.com/grafana/grafana/issues/66415), [@VikaCep](https://github.com/VikaCep)
- **AccessControl:** Allow editors to access GET /api/datasources. [#66343](https://github.com/grafana/grafana/issues/66343), [@mgyongyosi](https://github.com/mgyongyosi)
- **Table Panel:** Fix panel migration for options cell type. [#66305](https://github.com/grafana/grafana/issues/66305), [@ryantxu](https://github.com/ryantxu)
- **Navigation:** Scrolled hamburger menu links now navigate correctly in Safari. [#66261](https://github.com/grafana/grafana/issues/66261), [@ashharrison90](https://github.com/ashharrison90)
- **Cloudwatch:** Fix ui bug in template variable editor. [#66207](https://github.com/grafana/grafana/issues/66207), [@iSatVeerSingh](https://github.com/iSatVeerSingh)
- **Annotations:** Improve get tags query performance. [#66182](https://github.com/grafana/grafana/issues/66182), [@papagian](https://github.com/papagian)
- **Query Splitting:** Fix for handling queries with no requestId. [#66161](https://github.com/grafana/grafana/issues/66161), [@domasx2](https://github.com/domasx2)
- **Cloudwatch:** Pass refId from query for expression queries. [#66147](https://github.com/grafana/grafana/issues/66147), [@idastambuk](https://github.com/idastambuk)
- **Alerting:** Fix explore link in alert detail view. [#66106](https://github.com/grafana/grafana/issues/66106), [@gillesdemey](https://github.com/gillesdemey)
- **Plugins:** Skip instrumenting plugin build info for core and bundled plugins. [#66105](https://github.com/grafana/grafana/issues/66105), [@wbrowne](https://github.com/wbrowne)
- **Alerting:** Fix silences preview. [#66000](https://github.com/grafana/grafana/issues/66000), [@konrad147](https://github.com/konrad147)
- **Fix:** DataLinks from data sources override user defined data link. [#65996](https://github.com/grafana/grafana/issues/65996), [@axelavargas](https://github.com/axelavargas)
- **Auth:** Remove the session cookie only if it's invalid or revoked. [#65984](https://github.com/grafana/grafana/issues/65984), [@mgyongyosi](https://github.com/mgyongyosi)
- **Transformations:** Improve UX and fix refId issues. [#65982](https://github.com/grafana/grafana/issues/65982), [@torkelo](https://github.com/torkelo)
- **SQL Datasources:** Fix variable throwing error if query returns no data. [#65937](https://github.com/grafana/grafana/issues/65937), [@mdvictor](https://github.com/mdvictor)
- **Annotations:** Ignore unique constraint violations for tags. [#65935](https://github.com/grafana/grafana/issues/65935), [@sakjur](https://github.com/sakjur)
- **PluginExtensions:** Fixed issue with incorrect type being exposed when configuring an extension. [#65910](https://github.com/grafana/grafana/issues/65910), [@mckn](https://github.com/mckn)
- **Annotation List:** Fix panel not updating when variable is changed. [#65899](https://github.com/grafana/grafana/issues/65899), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **Table:** Fix migrations from old angular table for cell color modes . [#65760](https://github.com/grafana/grafana/issues/65760), [@torkelo](https://github.com/torkelo)
- **PieChart:** Show long labels properly. [#65699](https://github.com/grafana/grafana/issues/65699), [@mdvictor](https://github.com/mdvictor)
- **Library panels:** Ensure pagination controls are always correctly displayed. [#65283](https://github.com/grafana/grafana/issues/65283), [@ashharrison90](https://github.com/ashharrison90)
- **Catalog:** Show install error with incompatible version. [#65059](https://github.com/grafana/grafana/issues/65059), [@andresmgot](https://github.com/andresmgot)
- **XYChart:** Add all dataset columns in tooltip. [#65027](https://github.com/grafana/grafana/issues/65027), [@mdvictor](https://github.com/mdvictor)
- **Alerting:** Use a completely isolated context for state history writes. [#64989](https://github.com/grafana/grafana/issues/64989), [@alexweav](https://github.com/alexweav)
- **Utils:** Reimplement util.GetRandomString to avoid modulo bias. [#64481](https://github.com/grafana/grafana/issues/64481), [@DanCech](https://github.com/DanCech)
- **Reports:** Add empty UID to not found dashboard. (Enterprise)
### Breaking changes
The deprecated `plugin:build` command in the Grafana Toolkit have been removed in this release. The replacement [`create-plugin`](https://github.com/grafana/plugin-tools/tree/main/packages/create-plugin/) tool is recommended for plugin development. Issue [#67485](https://github.com/grafana/grafana/issues/67485)
The deprecated `package:build`, `node-version-check` and `toolkit:build` commands in the Grafana Toolkit have been removed in this release. Issue [#67475](https://github.com/grafana/grafana/issues/67475)
The deprecated `plugin:github-publish` command in the Grafana Toolkit have been removed in this release. Issue [#67471](https://github.com/grafana/grafana/issues/67471)
The `/query-history/migrate` endpoint has been removed and query history entries will not be automatically migrated when switching from local storage to remote storage. Issue [#67470](https://github.com/grafana/grafana/issues/67470)
The deprecated `plugin:ci-build`, `plugin:ci-package`, `plugin:ci-report`, `plugin:update-circleci` and `plugin:bundle-managed` commands in the Grafana Toolkit have been removed in this release. Issue [#67212](https://github.com/grafana/grafana/issues/67212)
The data-format used by the Loki data source for metric (graph producing) queries was changed to be compliant with the recommended Grafana format. The change is very small, we do not expect it to cause problems: for instant-queries the dataframe-type changed from `timeseries-multi` to `numeric-multi`, the dataframe-name attribute is not used anymore. If you are affected by this, you can revert back to the old format by setting the feature flag `lokiMetricDataplane` to `false`. We recommend migrating to the new format, because the feature-flag will be removed at some point in the future. Issue [#67137](https://github.com/grafana/grafana/issues/67137)
The deprecated `plugin:sign` command in the Grafana Toolkit have been removed in this release. The replacement `sign-plugin` tool is recommended for [plugin signing](https://github.com/grafana/plugin-tools/tree/main/packages/sign-plugin). Issue [#67130](https://github.com/grafana/grafana/issues/67130)
The deprecated `plugin:test` and `plugin:dev` commands in the Grafana Toolkit have been removed in this release. Issue [#67125](https://github.com/grafana/grafana/issues/67125)
The type signature of the `testDatasource()` method on the `DataSourceWithBackend` class [has changed](https://github.com/grafana/grafana/pull/67014/files/a5608dc4f27ab4459e725b22ff60b8fc05390c08#diff-c58fc1a09e9b9b17e5f45efbfb646273e69145f7687facb134440da4edafc745R263), the returned Promise is now typed stricter, which is probably going to cause type-errors while building plugins against the latest Grafana versions.
```typescript
// Before
abstract testDatasource(): Promise<any>;
// After
abstract testDatasource(): Promise<TestDataSourceResponse>;
```
Issue [#67014](https://github.com/grafana/grafana/issues/67014)
Grafana requires an Elasticsearch version of 7.16 or newer. If you use an older Elasticsearch version, you will get warnings in the query editor and on the datasource configuration page. Issue [#66928](https://github.com/grafana/grafana/issues/66928)
The deprecated `plugin:create` and `component:create` commands in the Grafana Toolkit have been removed in this release. The replacement `create-plugin` tool is recommended for [scaffolding new plugins](https://grafana.github.io/plugin-tools/docs/creating-a-plugin) and a migration guide for moving from the toolkit is available [here](https://grafana.github.io/plugin-tools/docs/migrating-from-toolkit). Issue [#66729](https://github.com/grafana/grafana/issues/66729)
We've removed some now unused properties from the `NavModel` interface. Issue [#66548](https://github.com/grafana/grafana/issues/66548)
`default` named retention policies won't be used to query. Users who have a `default` named retention policy in their `influxdb` database, have to rename it to something else. Having `default` named retention policy is not breaking anything. We will make sure to use the actual default retention policy under the hood. To change the hardcoded retention policy in the `dashboard.json`, users must they select the right retention policy from dropdown and save the panel/dashboard. Issue [#66466](https://github.com/grafana/grafana/issues/66466)
We removed previously deprecated components from `@grafana/data` : `getLogLevel`, `getLogLevelFromKey`, `addLogLevelToSeries`, `LogsParser`, `LogsParsers`, `calculateFieldStats`, `calculateLogsLabelStats`, `calculateStats`, `getParser`, `sortInAscendingOrder`, `sortInDescendingOrder`, `sortLogsResult`, `sortLogRows`, `checkLogsError`, `escapeUnescapedString`. Issue [#66271](https://github.com/grafana/grafana/issues/66271)
We removed previously deprecated components from `@grafana/ui` : `LogLabels`, `LogMessageAnsi`, `LogRows`, `getLogRowStyles`. Issue [#66268](https://github.com/grafana/grafana/issues/66268)
We removed previously deprecated `DataSourceWithLogsVolumeSupport` that was replaced with `DataSourceWithSupplementaryQueriesSupport`. Both APIs are for internal use only. Issue [#66266](https://github.com/grafana/grafana/issues/66266)
Additional functions (map/filter/forEach/iterator) have been added to the root Vector interface. Any code using vectors will continue to work unchanged, but in the rare case that you have implemented Vector directly, it be missing these functions. The easiest fix is to extend [FunctionalVector](https://github.com/grafana/grafana/blob/main/packages/grafana-data/src/vector/FunctionalVector.ts).
The `ArrayVector` class now extends the native JavaScript `Array` and gains all of its prototype/instance methods as a result. Issue [#66187](https://github.com/grafana/grafana/issues/66187)
We've removed the ability for functions to be passed as children to the `Dropdown` component. Previously, this was used to access the `isOpen` state of the dropdown. This can be now be achieved with the `onVisibleChange` prop.
Before:
```
return (
<Dropdown overlay={MenuActions} placement="bottom-end">
{(isOpen) =>
<ToolbarButton iconOnly icon="plus" isOpen={isOpen} aria-label="New" />
}
</Dropdown>
);
```
After:
```
const [isOpen, setIsOpen] = useState(false);
...
return (
<Dropdown overlay={MenuActions} placement="bottom-end" onVisibleChange={setIsOpen}>
<ToolbarButton iconOnly icon="plus" isOpen={isOpen} aria-label="New" />
</Dropdown>
);
```
Issue [#65467](https://github.com/grafana/grafana/issues/65467)
(relevant for plugin developers) The deprecated internal `dashboardId` is now removed from the request context. For usage tracking use the `dashboardUid` Issue [#64786](https://github.com/grafana/grafana/issues/64786)
Grafana has been upgraded to React 18 and now leverages the new React client rendering API. Plugin authors in particular should be aware, as there could be unintended side effects due to the changes around automatic batching of state updates and consistent `useEffect` timings. Be sure to test your plugins and reference the React 18 upgrade docs here: https://react.dev/blog/2022/03/08/react-18-upgrade-guide Issue [#64428](https://github.com/grafana/grafana/issues/64428)
### Deprecations
For Elasticsearch annotation queries we are deprecating index field. Possibility to customise index for newly created annotations has already been removed in version 2.6.0 and since then we supported updating of index only for queries that customised index before 2.6.0. For users who would like to specify index for annotation queries we recommend to create a new Elasticsearch data source with specified index, and use that data source for annotations. Issue [#67046](https://github.com/grafana/grafana/issues/67046)
Scripts, systemd unit files and etc should stop using the `grafana-cli` and `grafana-server` programs, and instead use the `grafana` program. Uses of `grafana-server` should become `grafana server`, and uses of `grafana-cli` should become `grafana cli`. Issue [#66976](https://github.com/grafana/grafana/issues/66976)
The `database` field has been deprecated in the Elasticsearch datasource provisioning files, please use the `index` field in `jsonData` instead. Issue [#66828](https://github.com/grafana/grafana/issues/66828)
### Plugin development fixes & changes
- **Toolkit:** Remove deprecated `plugin:build`. [#67485](https://github.com/grafana/grafana/issues/67485), [@academo](https://github.com/academo)
- **Toolkit:** Remove deprecated `package:build`, `node-version-check` and `toolkit:build` commands. [#67475](https://github.com/grafana/grafana/issues/67475), [@academo](https://github.com/academo)
- **Toolkit:** Remove deprecated `plugin:github-publish` command. [#67471](https://github.com/grafana/grafana/issues/67471), [@academo](https://github.com/academo)
- **GrafanaUI:** Add indeterminate state to Checkbox. [#67312](https://github.com/grafana/grafana/issues/67312), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **Toolkit:** Remove `plugin:ci-build` `plugin:ci-package` `plugin:ci-report` and related files. [#67212](https://github.com/grafana/grafana/issues/67212), [@academo](https://github.com/academo)
- **Toolkit:** Remove deprecated `plugin:sign` command. [#67130](https://github.com/grafana/grafana/issues/67130), [@academo](https://github.com/academo)
- **Toolkit:** Remove `plugin:dev` and `plugin:test`. [#67125](https://github.com/grafana/grafana/issues/67125), [@academo](https://github.com/academo)
- **Datasource:** Overhaul plugin error handling and action buttons. [#67014](https://github.com/grafana/grafana/issues/67014), [@sasklacz](https://github.com/sasklacz)
- **Toolkit:** Remove plugin:create and component:create commands. [#66729](https://github.com/grafana/grafana/issues/66729), [@academo](https://github.com/academo)
- **InteractiveTable:** Updated design and minor tweak to Correlactions page. [#66443](https://github.com/grafana/grafana/issues/66443), [@torkelo](https://github.com/torkelo)
<!-- 10.0.0-preview END -->
<!-- 9.5.3 START -->
# 9.5.3 (2023-06-06)
### Bug fixes
- **Query:** Prevent crash while executing concurrent mixed queries
- **Alerting:** Require alert.notifications:write permissions to test receivers and templates
<!-- 9.5.3 END -->
<!-- 9.5.2 START -->
# 9.5.2 (2023-05-03)
### Features and enhancements
- **Chore:** Upgrade Go to 1.20.4. [#67757](https://github.com/grafana/grafana/issues/67757), [@papagian](https://github.com/papagian)
### Bug fixes
- **Explore:** Update table min height (#67321). [#67332](https://github.com/grafana/grafana/issues/67332), [@adrapereira](https://github.com/adrapereira)
- **DataLinks:** Encoded URL fixed. [#67291](https://github.com/grafana/grafana/issues/67291), [@juanicabanas](https://github.com/juanicabanas)
<!-- 9.5.2 END -->
<!-- 9.5.1 START -->
# 9.5.1 (2023-04-26)

View File

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

View File

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

View File

@@ -422,7 +422,7 @@ datasource_limit = 5000
################################### SQL Data Sources #####################
[sql_datasources]
# Default maximum number of open connections maintained in the connection pool
# Default maximum number of open connections maintained in the connection pool
# when connecting to SQL based data sources
max_open_conns_default = 100
@@ -431,7 +431,7 @@ max_open_conns_default = 100
max_idle_conns_default = 100
# Default maximum connection lifetime used when connecting
# to SQL based data sources.
# to SQL based data sources.
max_conn_lifetime_default = 14400
#################################### Users ###############################
@@ -484,6 +484,22 @@ user_invite_max_lifetime_duration = 24h
# Enter a comma-separated list of usernames to hide them in the Grafana UI. These users are shown to Grafana admins and to themselves.
hidden_users =
[secretscan]
# Enable secretscan feature
enabled = false
# Interval to check for token leaks
interval = 5m
# base URL of the grafana token leak check service
base_url = https://secret-scanning.grafana.net
# URL to send outgoing webhooks to in case of detection
oncall_url =
# Whether to revoke the token if a leak is detected or just send a notification
revoke = true
[service_accounts]
# When set, Grafana will not allow the creation of tokens with expiry greater than this setting.
token_expiration_day_limit =
@@ -537,6 +553,9 @@ sigv4_verbose_logging = false
# Set to true to enable Azure authentication option for HTTP-based datasources
azure_auth_enabled = false
# Use email lookup in addition to the unique ID provided by the IdP
oauth_allow_insecure_email_lookup = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -647,6 +666,7 @@ auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
allowed_domains =
allowed_groups =
allowed_organizations =
role_attribute_strict = false
allow_assign_grafana_admin = false
force_use_graph_api = false

View File

@@ -469,6 +469,22 @@
# Enter a comma-separated list of users login to hide them in the Grafana UI. These users are shown to Grafana admins and themselves.
; hidden_users =
[secretscan]
# Enable secretscan feature
;enabled = false
# Interval to check for token leaks
;interval = 5m
# base URL of the grafana token leak check service
;base_url = https://secret-scanning.grafana.net
# URL to send outgoing webhooks to in case of detection
;oncall_url =
# Whether to revoke the token if a leak is detected or just send a notification
;revoke = true
[service_accounts]
# Service account maximum expiration date in days.
# When set, Grafana will not allow the creation of tokens with expiry greater than this setting.
@@ -526,6 +542,9 @@
# Set to skip the organization role from JWT login and use system's role assignment instead.
; skip_org_role_sync = false
# Use email lookup in addition to the unique ID provided by the IdP
;oauth_allow_insecure_email_lookup = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -624,6 +643,7 @@
;token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
;allowed_domains =
;allowed_groups =
;allowed_organizations =
;role_attribute_strict = false
;allow_assign_grafana_admin = false
# prevent synchronizing users organization roles

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,6 @@
#!/bin/sh
# The source of this file is https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/make-docs.
# 4.1.0 (2023-06-16)
set -ef
@@ -8,9 +9,11 @@ readonly DOCS_HOST_PORT="${DOCS_HOST_PORT:-3002}"
readonly DOCS_IMAGE="${DOCS_IMAGE:-grafana/docs-base:latest}"
readonly DOC_VALIDATOR_INCLUDE="${DOC_VALIDATOR_INCLUDE:-.+\.md$}"
readonly DOC_VALIDATOR_SKIP_CHECKS="${DOC_VALIDATOR_SKIP_CHECKS:-^image-}"
readonly HUGO_REFLINKSERRORLEVEL="${HUGO_REFLINKSERRORLEVEL:-WARNING}"
readonly WEBSITE_EXEC="${WEBSITE_EXEC:-make server}"
readonly VALE_MINALERTLEVEL="${VALE_MINALERTLEVEL:-error}"
readonly WEBSITE_EXEC="${WEBSITE_EXEC:-make server-docs}"
# If set, the docs-base image will run a prebuild script that sets up Hugo mounts.
readonly WEBSITE_MOUNTS="${WEBSITE_MOUNTS:-}"
@@ -59,8 +62,11 @@ fi
SOURCES_as_code='as-code-docs'
SOURCES_enterprise_metrics='backend-enterprise'
SOURCES_enterprise_metrics_='backend-enterprise'
SOURCES_grafana_cloud='cloud-docs'
SOURCES_grafana_cloud='website'
SOURCES_grafana_cloud_k6='k6-docs'
SOURCES_grafana_cloud_data_configuration_integrations='cloud-onboarding'
SOURCES_grafana_cloud_frontend_observability_faro_web_sdk='faro-web-sdk'
SOURCES_grafana_cloud_machine_learning='machine-learning'
SOURCES_helm_charts_mimir_distributed='mimir'
SOURCES_helm_charts_tempo_distributed='tempo'
SOURCES_opentelemetry='opentelemetry-docs'
@@ -68,14 +74,20 @@ SOURCES_opentelemetry='opentelemetry-docs'
VERSIONS_as_code='UNVERSIONED'
VERSIONS_grafana_cloud='UNVERSIONED'
VERSIONS_grafana_cloud_k6='UNVERSIONED'
VERSIONS_grafana_cloud_data_configuration_integrations='UNVERSIONED'
VERSIONS_grafana_cloud_frontend_observability_faro_web_sdk='UNVERSIONED'
VERSIONS_grafana_cloud_machine_learning='UNVERSIONED'
VERSIONS_opentelemetry='UNVERSIONED'
VERSIONS_technical_documentation='UNVERSIONED'
VERSIONS_website='UNVERSIONED'
VERSIONS_writers_toolkit='UNVERSIONED'
PATHS_grafana_cloud='content/docs/grafana-cloud'
PATHS_helm_charts_mimir_distributed='docs/sources/helm-charts/mimir-distributed'
PATHS_helm_charts_tempo_distributed='docs/sources/helm-charts/tempo-distributed'
PATHS_mimir='docs/sources/mimir'
PATHS_tempo='docs/sources/tempo'
PATHS_website='content/docs'
# identifier STR
# Replace characters that are not valid in an identifier with underscores.
@@ -138,6 +150,13 @@ proj_url() {
$1
POSIX_HERESTRING
if [ "${_project}" = 'website' ]; then
echo "http://localhost:${DOCS_HOST_PORT}/docs/"
unset _project _version
return
fi
if [ -z "${_version}" ] || [ "${_version}" = 'UNVERSIONED' ]; then
echo "http://localhost:${DOCS_HOST_PORT}/docs/${_project}/"
else
@@ -165,14 +184,43 @@ proj_dst() {
$1
POSIX_HERESTRING
if [ "${_project}" = 'website' ]; then
echo '/hugo/content/docs'
unset _project _version
return
fi
if [ -z "${_version}" ] || [ "${_version}" = 'UNVERSIONED' ]; then
echo "/hugo/content/docs/${_project}"
else
echo "/hugo/content/docs/${_project}/${_version}"
fi
unset _project _version
}
# repo_path returns the host path to the project repository.
# It looks for the provided repository name in each of the paths specified in the REPOS_PATH environment variable.
repo_path() {
_repo="$1"
IFS=:
for lookup in ${REPOS_PATH}; do
if [ -d "${lookup}/${_repo}" ]; then
echo "${lookup}/${_repo}"
unset _path _repo
return
fi
done
unset IFS
echo "ERRR: could not find project '${_repo}' in any of the paths in REPOS_PATH '${REPOS_PATH}'." >&2
echo "NOTE: you must have a checkout of the project '${_repo}' at '${REPOS_PATH##:*}/${_repo}'." >&2
echo "NOTE: if you have cloned the repository into a directory with a different name, consider changing it to ${_repo}." >&2
unset _repo
exit 1
}
# proj_src returns the host path to content source for a project.
# It expects a complete project structure as input.
# It looks for the provided repository name in each of the paths specified in the REPOS_PATH environment variable.
@@ -181,21 +229,10 @@ proj_src() {
$1
POSIX_HERESTRING
IFS=:
for lookup in ${REPOS_PATH}; do
if [ -d "${lookup}/${_repo}" ]; then
echo "${lookup}/${_repo}/${_path}"
unset _path _repo
return
fi
done
unset IFS
_repo="$(repo_path "${_repo}")"
echo "${_repo}/${_path}"
echo "ERRR: could not find project '${_repo}' in any of the paths in REPOS_PATH '${REPOS_PATH}'." >&2
echo "NOTE: you must have a checkout of the project '${_repo}' at '${REPOS_PATH##:*}/${_repo}'." >&2
echo "NOTE: if you have cloned the repository into a directory with a different name, consider changing it to ${_repo}." >&2
unset _path _repo
exit 1
}
# proj_canonical returns the canonical absolute path partial URI for a project.
@@ -205,11 +242,19 @@ proj_canonical() {
$1
POSIX_HERESTRING
if [ "${_project}" = 'website' ]; then
echo '/docs'
unset _project _version
return
fi
if [ -z "${_version}" ] || [ "${_version}" = 'UNVERSIONED' ]; then
echo "/docs/${_project}"
else
echo "/docs/${_project}/${_version}"
fi
unset _project _version
}
@@ -262,6 +307,19 @@ url_src_dst_vers="$(url_src_dst_vers "$@")"
volumes=""
redirects=""
for arg in "$@"; do
IFS=: read -r _project _ _repo _ <<POSIX_HERESTRING
${arg}
POSIX_HERESTRING
if [ "${_project}" = website ]; then
_repo="$(repo_path website)"
volumes="--volume=${_repo}/config:/hugo/config"
volumes="${volumes} --volume=${_repo}/layouts/partials:/hugo/layouts/partials"
volumes="${volumes} --volume=${_repo}/layouts/shortcodes:/hugo/layouts/shortcodes"
fi
unset _project _repo
done
for x in ${url_src_dst_vers}; do
IFS='^' read -r _url _src _dst _ver <<POSIX_HERESTRING
$x
@@ -296,64 +354,96 @@ IFS=':' read -r image _ <<POSIX_HERESTRING
${DOCS_IMAGE}
POSIX_HERESTRING
if [ "${image}" = "grafana/doc-validator" ]; then
echo
"${PODMAN}" run \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
--skip-image-validation \
--include="${DOC_VALIDATOR_INCLUDE}" \
/hugo/content/docs \
"$(proj_canonical "$(new_proj "$1")")"
else
cat <<EOF >/tmp/make-docs-entrypoint
case "${image}" in
'grafana/doc-validator')
proj="$(new_proj "$1")"
echo
"${PODMAN}" run \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
"--include=${DOC_VALIDATOR_INCLUDE}" \
"--skip-checks=${DOC_VALIDATOR_SKIP_CHECKS}" \
/hugo/content/docs \
"$(proj_canonical "${proj}")" | sed "s#$(proj_dst "${proj}")#sources#"
;;
'grafana/vale')
proj="$(new_proj "$1")"
echo
"${PODMAN}" run \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
"--minAlertLevel=${VALE_MINALERTLEVEL}" \
--config=/etc/vale/.vale.ini \
--output=line \
/hugo/content/docs | sed "s#$(proj_dst "${proj}")#sources#"
;;
*)
tempfile="$(mktemp -t make-docs.XXX)"
cat <<EOF >"${tempfile}"
#!/usr/bin/env bash
for redirect in ${redirects}; do
IFS='^' read -r path ver <<<"\${redirect}"
echo -e "---\\nredirectURL: \"\${path/\/hugo\/content/}\"\\ntype: redirect\\n---\\n" > "\${path/\${ver}/_index.md}"
if [[ -n "${WEBSITE_MOUNTS}" ]]; then
unset WEBSITE_SKIP_MOUNTS
fi
echo -e "---\\nredirectURL: \"\${path/\/hugo\/content/}\"\\ntype: redirect\\nversioned: true\\n---\\n" > "\${path/\${ver}/_index.md}"
done
for x in "${url_src_dst_vers}"; do
IFS='^' read -r _ _ dst _ <<<"\${x}"
while [[ -n "\${dst}" ]]; do
touch "\${dst}/_index.md"
dst="\${dst%/*}"
done
done
if [[ -n "${WEBSITE_MOUNTS}" ]]; then
unset WEBSITE_SKIP_MOUNTS
fi
${WEBSITE_EXEC}
EOF
chmod +x /tmp/make-docs-entrypoint
volumes="${volumes} --volume=/tmp/make-docs-entrypoint:/entrypoint"
readonly volumes
chmod +x "${tempfile}"
volumes="${volumes} --volume=$(realpath "${tempfile}"):/entrypoint"
readonly volumes
echo
echo "Documentation will be served at the following URLs:"
for x in ${url_src_dst_vers}; do
IFS='^' read -r url _ _ <<POSIX_HERESTRING
echo
echo "Documentation will be served at the following URLs:"
for x in ${url_src_dst_vers}; do
IFS='^' read -r url _ _ <<POSIX_HERESTRING
$x
POSIX_HERESTRING
if [ -n "${url}" ]; then
echo " ${url}"
fi
done
if [ -n "${url}" ]; then
if [ "${_url}" != "arbitrary" ]; then
echo " ${url}"
fi
fi
done
echo
"${PODMAN}" run \
--env "HUGO_REFLINKSERRORLEVEL=${HUGO_REFLINKSERRORLEVEL}" \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--publish "${DOCS_HOST_PORT}:3002" \
--publish "3003:3003" \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
/entrypoint
fi
echo
"${PODMAN}" run \
--env "HUGO_REFLINKSERRORLEVEL=${HUGO_REFLINKSERRORLEVEL}" \
--init \
--interactive \
--name "${DOCS_CONTAINER}" \
--platform linux/amd64 \
--publish "${DOCS_HOST_PORT}:3002" \
--publish "3003:3003" \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
/entrypoint
;;
esac

View File

@@ -3,6 +3,199 @@ aliases:
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
cascade:
# Until a better mechanism for arrangement is thought of, the following sequence should be ordered alphabetically by the `_target.path` value.
- _target: { path: /docs/grafana/** } # Default to every page having "Enterprise" and "Open source" labels.
labels:
products:
- enterprise
- oss
- _target: { path: /docs/grafana/** }
labels:
products:
- enterprise
- oss
- _target: { path: /docs/grafana/*/administration/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/administration/enterprise-licensing/** }
labels:
products:
- enterprise
- _target: { path: /docs/grafana/*/administration/organization-management/** }
labels:
products:
- enterprise
- oss
- _target: { path: /docs/grafana/*/administration/provisioning/** }
labels:
products:
- enterprise
- oss
- _target: { path: /docs/grafana/*/administration/recorded-queries/** }
labels:
products:
- cloud
- enterprise
- _target: { path: /docs/grafana/*/administration/roles-and-permissions/access-control/** }
labels:
products:
- cloud
- enterprise
- _target: { path: /docs/grafana/*/administration/stats-and-license/** }
labels:
products:
- enterprise
- oss
- _target: { path: /docs/grafana/*/alerting/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/breaking-changes/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/dashboards/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/datasources/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/explore/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/fundamentals/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/introduction/grafana-cloud/** }
labels:
products:
- cloud
- _target: { path: /docs/grafana/*/introduction/grafana-enterprise/** }
labels:
products:
- enterprise
- _target: { path: /docs/grafana/*/panels-visualizations/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/release-notes/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/search/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/audit-grafana/** }
labels:
products:
- cloud
- enterprise
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/configure-authentication/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/configure-authentication/enhanced-ldap/** }
labels:
products:
- cloud
- enterprise
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/configure-authentication/saml/** }
labels:
products:
- cloud
- enterprise
- _target:
path: /docs/grafana/*/setup-grafana/configure-security/configure-database-encryption/encrypt-secrets-using-hashicorp-key-vault/**
labels:
products:
- cloud
- enterprise
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/configure-request-security/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/configure-team-sync/** }
labels:
products:
- cloud
- enterprise
- _target: { path: /docs/grafana/*/setup-grafana/configure-security/export-logs/** }
labels:
products:
- cloud
- oss
- _target: { path: /docs/grafana/*/troubleshooting/** }
labels:
products:
- cloud
- enterprise
- oss
- _target: { path: /docs/grafana/*/whatsnew/** }
labels:
products:
- cloud
- enterprise
- oss
description: Guides, installation, and feature documentation
keywords:
- grafana
@@ -70,8 +263,8 @@ title: Grafana documentation
<h4>Provisioning</h4>
<p>Learn how to automate your Grafana configuration.</p>
</a>
<a href="{{< relref "whatsnew/whats-new-in-v9-5/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v9.5</h4>
<a href="{{< relref "whatsnew/whats-new-in-v10-0/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v10</h4>
<p>Explore the features and enhancements in the latest release.</p>
</a>

View File

@@ -1,10 +1,4 @@
---
cascade:
labels:
products:
- cloud
- enterprise
- oss
description: Administration
title: Administration
weight: 40

View File

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

View File

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

View File

@@ -8,10 +8,6 @@ aliases:
- ../enterprise/license/license-expiration/
- ../enterprise/license/license-restrictions/
- license-restrictions/
cascade:
labels:
products:
- enterprise
description: Activate and manage a Grafana Enterprise license
keywords:
- grafana

View File

@@ -8,10 +8,6 @@ description: Describes how to use organizations to isolate dashboard to users an
keywords:
- organizations
- dashboards
labels:
products:
- enterprise
- oss
menuTitle: Manage organizations
title: Manage organizations
weight: 200
@@ -88,7 +84,9 @@ For more information about adding users to an organization, refer to [Add a user
This action permanently removes an organization from your Grafana server.
> **Warning:** Deleting the organization also deletes all teams and dashboards associated the organization.
{{% admonition type="warning" %}}
Deleting the organization also deletes all teams and dashboards associated the organization.
{{% /admonition %}}
### Before you begin

View File

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

View File

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

View File

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

View File

@@ -7,10 +7,6 @@ keywords:
- query
- queries
- recorded
labels:
products:
- cloud
- enterprise
title: Recorded queries
weight: 300
---
@@ -21,11 +17,15 @@ Recorded queries allow you to see trends over time by taking a snapshot of a dat
For our plugins that do not return time series, it might be useful to plot historical data. For example, you might want to query ServiceNow to see a history of request response times but it can only return current point-in-time metrics.
> **Note:** Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
{{% /admonition %}}
## How recorded queries work
> **Note:** An administrator must configure a Prometheus data source and associate it with a [Remote write target](#remote-write-target) before recorded queries can be used.
{{% admonition type="note" %}}
An administrator must configure a Prometheus data source and associate it with a [Remote write target](#remote-write-target) before recorded queries can be used.
{{% /admonition %}}
Recorded queries only work with backend data source plugins. Refer to [Backend data source plugin](/tutorials/build-a-data-source-backend-plugin/) for more information about backend data source plugins. You can recorded three types of queries:

View File

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

View File

@@ -3,11 +3,6 @@ aliases:
- ../../enterprise/access-control/
- ../../enterprise/access-control/about-rbac/
- ../../enterprise/access-control/roles/
cascade:
labels:
products:
- cloud
- enterprise
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.
@@ -18,7 +13,9 @@ weight: 120
# Role-based access control (RBAC)
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
RBAC provides a standardized way of granting, changing, and revoking access when it comes to viewing and modifying Grafana resources, such as dashboards, reports, and administrative settings.
@@ -62,7 +59,9 @@ Each basic role is comprised of a number of _permissions_. For example, the view
- `Action: annotations:write, Scope: annotations:type:dashboard`: Enables the viewer to modify annotations of a dashboard.
- `Action: annotations:delete, Scope: annotations:type:dashboard`: Enables the viewer to remove annotations from a dashboard.
> **Note:** You can't have a Grafana user without a basic role assigned.
{{% admonition type="note" %}}
You can't have a Grafana user without a basic role assigned.
{{% /admonition %}}
#### Basic role modification

View File

@@ -11,7 +11,9 @@ weight: 40
# Assign RBAC roles
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
In this topic you'll learn how to use the role picker, provisioning, and the HTTP API to assign fixed and custom roles to users and teams.

View File

@@ -9,7 +9,9 @@ weight: 30
# Configure RBAC in Grafana
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
The table below describes all RBAC configuration options. Like any other Grafana configuration, you can apply these options as [environment variables]({{< relref "../../../../setup-grafana/configure-grafana/#configure-with-environment-variables" >}}).

View File

@@ -10,7 +10,9 @@ weight: 80
# RBAC permissions, actions, and scopes
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
A permission is comprised of an action and a scope. When creating a custom role, consider the actions the user can perform and the resource(s) on which they can perform those actions.
@@ -120,8 +122,8 @@ The following list contains role-based access control actions.
| `settings:read` | `settings:*`<br>`settings:auth.saml:*`<br>`settings:auth.saml:enabled` (property level) | Read the [Grafana configuration settings]({{< relref "../../../../setup-grafana/configure-grafana/" >}}) |
| `settings:write` | `settings:*`<br>`settings:auth.saml:*`<br>`settings:auth.saml:enabled` (property level) | Update any Grafana configuration settings that can be [updated at runtime]({{< relref "../../../../setup-grafana/configure-grafana/settings-updates-at-runtime" >}}). |
| `status:accesscontrol` | `services:accesscontrol` | Get access-control enabled status. |
| `teams.permissions:read` | `teams:*`<br>`teams:id:*` | Read members and External Group Synchronization setup for teams. |
| `teams.permissions:write` | `teams:*`<br>`teams:id:*` | Add, remove and update members and manage External Group Synchronization setup for teams. |
| `teams.permissions:read` | `teams:*`<br>`teams:id:*` | Read members and Team Sync setup for teams. |
| `teams.permissions:write` | `teams:*`<br>`teams:id:*` | Add, remove and update members and manage Team Sync setup for teams. |
| `teams.roles:add` | `permissions:type:delegate` | Assign a role to a team. |
| `teams.roles:read` | `teams:*` | List roles assigned directly to a team. |
| `teams.roles:remove` | `permissions:type:delegate` | Unassign a role from a team. |

View File

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

View File

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

View File

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

View File

@@ -11,7 +11,9 @@ weight: 60
# Provisioning RBAC with Grafana
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
You can create, change or remove [Custom roles]({{< relref "./manage-rbac-roles/#create-custom-roles-using-provisioning" >}}) and create or remove [basic role assignments]({{< relref "./assign-rbac-roles/#assign-a-fixed-role-to-a-basic-role-using-provisioning" >}}), by adding one or more YAML configuration files in the `provisioning/access-control/` directory.

View File

@@ -10,7 +10,9 @@ weight: 60
# Provisioning RBAC with Terraform
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud](/docs/grafana-cloud).
{{% /admonition %}}
You can create, change or remove [Custom roles](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/role) and create or remove [basic and custom role assignments](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/role_assignment), by using [Terraform's Grafana provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs).

View File

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

View File

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

View File

@@ -11,11 +11,7 @@ keywords:
- configuration
- server
- settings
labels:
products:
- enterprise
- oss
title: Stats and license
title: View server statistics and license
weight: 400
---
@@ -25,11 +21,11 @@ This setting contains information about tools that Grafana Server Admins can use
## View Grafana server settings
> Refer to [Role-based access control]({{< relref "../roles-and-permissions/access-control/" >}}) in Grafana Enterprise to understand how you can control access with RBAC permissions.
> Refer to [Role-based access control]({{< relref "../roles-and-permissions/access-control" >}}) in Grafana Enterprise to understand how you can control access with RBAC permissions.
If you are a Grafana server administrator, use the Settings tab to view the settings that are applied to your Grafana server via the [Configuration]({{< relref "../../setup-grafana/configure-grafana/#config-file-locations" >}}) file and any environmental variables.
If you are a Grafana server administrator, use the Settings tab to view the settings that are applied to your Grafana server via the [Configuration]({{< relref "../../setup-grafana/configure-grafana#configuration-file-location" >}}) file and any environmental variables.
> **Note:** Only Grafana server administrators can access the **Server Admin** menu. For more information about about administrative permissions, refer to [Roles and permissions]({{< relref "../roles-and-permissions/#grafana-server-administrators" >}}).
> **Note:** Only Grafana server administrators can access the **Server Admin** menu. For more information about about administrative permissions, refer to [Roles and permissions]({{< relref "../roles-and-permissions#grafana-server-administrators" >}}).
### View server settings
@@ -38,15 +34,15 @@ If you are a Grafana server administrator, use the Settings tab to view the sett
### Available settings
For a full list of server settings, refer to [Configuration]({{< relref "../../setup-grafana/configure-grafana/" >}}).
For a full list of server settings, refer to [Configuration]({{< relref "../../setup-grafana/configure-grafana#server" >}}).
## View Grafana server stats
> Refer to [Role-based access control]({{< relref "../roles-and-permissions/access-control/" >}}) in Grafana Enterprise to understand how you can control access with RBAC permissions.
> Refer to [Role-based access control]({{< relref "../roles-and-permissions/access-control" >}}) in Grafana Enterprise to understand how you can control access with RBAC permissions.
If you are a Grafana server admin, then you can view useful statistics about your Grafana server in the Stats & Licensing tab.
> **Note:** Only Grafana server administrators can access the **Server Admin** menu. For more information about about administrative permissions, refer to [Roles and permissions]({{< relref "../roles-and-permissions/#grafana-server-administrators" >}}).
> **Note:** Only Grafana server administrators can access the **Server Admin** menu. For more information about about administrative permissions, refer to [Roles and permissions]({{< relref "../roles-and-permissions#grafana-server-administrators" >}}).
### View server stats

View File

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

View File

@@ -32,13 +32,17 @@ You can see a list of users with accounts in your Grafana organization. If neces
1. Sign in to Grafana as an organization administrator.
1. Navigate to **Administration > Users**.
> **Note:** If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [view a global list of users]({{< relref "../server-user-management#view-a-list-of-users" >}}) in the Server Admin section of Grafana.
{{% admonition type="note" %}}
If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [view a global list of users]({{< relref "../server-user-management#view-a-list-of-users" >}}) in the Server Admin section of Grafana.
{{% /admonition %}}
## Change a user's organization permissions
Update user permissions when you want to enhance or restrict a user's access to organization resources. For more information about organization permissions, refer to [Organization roles]({{< relref "../../roles-and-permissions/#organization-roles" >}}).
> **Note:** Organization roles sync from the authentication provider on user sign-in. To prevent synchronization of organization roles from the authentication provider regardless of their role in the authentication provider, then refer to the `skip_org_role_sync` setting in your Grafana configuration. Refer to [skip org role sync]({{< relref "../../../setup-grafana/configure-grafana/#authgrafana_com-skip_org_role_sync" >}}) for more information.
{{% admonition type="note" %}}
Organization roles sync from the authentication provider on user sign-in. To prevent synchronization of organization roles from the authentication provider regardless of their role in the authentication provider, then refer to the `skip_org_role_sync` setting in your Grafana configuration. Refer to [skip org role sync]({{< relref "../../../setup-grafana/configure-grafana/#authgrafana_com-skip_org_role_sync" >}}) for more information.
{{% /admonition %}}
### Before you begin
@@ -56,7 +60,9 @@ Update user permissions when you want to enhance or restrict a user's access to
1. Select the role that you want to assign.
1. Click **Update**.
> **Note:** If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../server-user-management/change-user-org-permissions/" >}}) in the Server Admin section.
{{% admonition type="note" %}}
If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../server-user-management/change-user-org-permissions/" >}}) in the Server Admin section.
{{% /admonition %}}
## Invite a user to join an organization
@@ -65,7 +71,9 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
- If you know that the user already has access Grafana and you know their user name, then you issue an invitation by entering their user name.
- If the user is new to Grafana, then use their email address to issue an invitation. The system automatically creates the user account on first sign in.
> **Note:** If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../server-user-management/add-remove-user-to-org/" >}}).
{{% admonition type="note" %}}
If you have [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../server-user-management/add-remove-user-to-org/" >}}).
{{% /admonition %}}
### Before you begin
@@ -81,6 +89,7 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
> **Note**: It might be that you are currently in the proper organization and don't need to switch organizations.
1. Navigate to **Administration > Users**.
1. Click **Organization users**.
1. Click **Invite**.
1. Enter the following information:
@@ -99,7 +108,9 @@ If the invitee is not already a user, the system adds them.
Periodically review invitations you have sent so that you can see a list of users that have not yet accepted the invitation or cancel a pending invitation.
> **Note:** The **Pending Invites** button is only visible if there are unanswered invitations.
{{% admonition type="note" %}}
The **Pending Invites** button is only visible if there are unanswered invitations.
{{% /admonition %}}
### Before you begin

View File

@@ -37,7 +37,9 @@ You can see a list of users with accounts on your Grafana server. This action mi
1. Sign in to Grafana as a server administrator.
1. Click **Administration** in the left-side menu, and then **Users**.
> **Note:** If you have [organization administrator]({{< relref "../../roles-and-permissions/#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can still [view of list of users in a given organization]({{< relref "../manage-org-users/#view-a-list-of-organization-users" >}}).
{{% admonition type="note" %}}
If you have [organization administrator]({{< relref "../../roles-and-permissions/#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can still [view of list of users in a given organization]({{< relref "../manage-org-users/#view-a-list-of-organization-users" >}}).
{{% /admonition %}}
## View user details
@@ -115,7 +117,9 @@ When you configure advanced authentication using Oauth, SAML, LDAP, or the Auth
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "add-remove-user-to-org/" >}}).
> **Note:** If you have [organization administrator]({{< relref "../../roles-and-permissions/#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% admonition type="note" %}}
If you have [organization administrator]({{< relref "../../roles-and-permissions/#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../roles-and-permissions/#grafana-server-administrators" >}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% /admonition %}}
## Force a user to log out of Grafana

View File

@@ -38,7 +38,9 @@ You are required to specify an Admin role for each organization. The first user
The next time the user signs in, they will be able to navigate to their new organization using the Switch Organizations option in the user profile menu.
> **Note:** If you have [organization administrator]({{< relref "../../../roles-and-permissions#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../../roles-and-permissions#grafana-server-administrators" >}}) permissions, you can still [invite a user to join an organization]({{< relref "../../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% admonition type="note" %}}
If you have [organization administrator]({{< relref "../../../roles-and-permissions#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../../../roles-and-permissions#grafana-server-administrators" >}}) permissions, you can still [invite a user to join an organization]({{< relref "../../manage-org-users#invite-a-user-to-join-an-organization" >}}).
{{% /admonition %}}
## Remove a user from an organization

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -18,6 +18,14 @@ weight: 400
You can create and manage recording rules for an external Grafana Mimir or Loki instance. Recording rules calculate frequently needed expressions or computationally expensive expressions in advance and save the result as a new set of time series. Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh.
**Note:**
Recording rules are run as instant rules, which means that they run every 10s. To overwrite this configuration, update the min_interval in your custom configuration file.
[min_interval]({{< relref "../../setup-grafana/configure-grafana" >}}) sets the minimum interval to enforce between rule evaluations. The default value is 10s which equals the scheduler interval. Rules will be adjusted if they are less than this value or if they are not multiple of the scheduler interval (10s). Higher values can help with resource management as fewer evaluations are scheduled over time.
This setting has precedence over each individual rule frequency. If a rule frequency is lower than this value, then this value is enforced.
## Before you begin
- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
@@ -26,9 +34,11 @@ You can create and manage recording rules for an external Grafana Mimir or Loki
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
- **Grafana Mimir** - use the `/prometheus` prefix. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% admonition type="note" %}}
If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
{{% /admonition %}}
## Add a Grafana Mimir or Loki managed recording rule
@@ -42,30 +52,12 @@ To create a Grafana Mimir or Loki managed recording rule
1. In Step 2, select **Mimir or Loki recording rule** option.
- Select your Loki or Prometheus data source.
- Enter a PromQL or LogQL query.
1. In Step 3, add the namespace and the group.
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group/" >}}).
- From the **Group** dropdown, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one.
1. In Step 4, add the custom labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value.
1. Click **Save** to save the recording rule or **Save and exit** to save the recording rule and go back to the Alerting page.
<!-- delete next steps? -->
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Alert rules**.
1. Click **+ Create alert rule**.
1. In Step 1, add the rule name.
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
1. In Step 2, add the type, and storage location.
- From the **Rule type** dropdown, select **Mimir / Loki managed alert**.
- From the **Select data source** dropdown, select an external Prometheus, an external Loki, or a Grafana Cloud data source.
- Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
1. In Step 3, add evaluation behavior.
1. In Step 3, add alert evaluation behavior.
- Enter a valid **For** duration. The expression has to be true for this long for the alert to be fired.
1. In Step 4, add additional metadata associated with the rule.
- From the **Namespace** dropdown, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group/" >}}).
- From the **Group** dropdown, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/" >}}).
- From the **Namespace** dropdown, select an existing rule namespace or add a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group" >}}).
- From the **Group** dropdown, select an existing group within the selected namespace or add a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
1. In Step 5, add custom labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value .

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,6 +2,7 @@
aliases:
- metrics/
- unified-alerting/fundamentals/
description: Intro to the key concepts in Alerting and how it works
title: Introduction to Alerting
weight: 105
---
@@ -44,6 +45,14 @@ Set where, when, and how firing alert instances get routed.
Each notification policy contains a set of label matchers to indicate which alerts rules or instances it is responsible for. It also has a contact point assigned to it that consists of one or more contact point types, such as Slack or email. Contact points define how your contacts are notified when an alert instance fires.
For more information on notification policies, see [fundamentals of Notification Policies]({{< relref "../fundamentals/notification-policies/index.md" >}}).
**Message templates**
Use message templates for your notifications to create reusable custom templates and use them in contact points.
Add silences to stop notifications from one or more alert instances or use mute timings to specify time intervals when you dont want new notifications to be generated or sent out. The difference between the two being that a silence only lasts for only a specified window of time whereas a mute timing recurs on a schedule, for example, during a maintenance period.
**Silences and mute timings**
Add silences to stop notifications from one or more alert instances or use mute timings to specify time intervals when you dont want new notifications to be generated or sent out.
The difference between the two being that a silence only lasts for only a specified window of time whereas a mute timing recurs on a schedule, for example, during a maintenance period.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,132 @@
---
title: Notification Policies
description: Introduction to Notification Policies and how they work
weight: 409
keywords:
- grafana
- alerting
- notification policies
---
# Notification Policies
Notification policies provide you with a flexible way of routing alerts to various different receivers. Using label matchers, you can modify alert notification delivery without having to update every individual alert rule.
Learn more about how notification policies work and are structured, so that you can make the most out of setting up your notification policies.
## Policy tree
Notification policies are _not_ a list, but rather are structured according to a [tree structure](https://en.wikipedia.org/wiki/Tree_structure). This means that each policy can have child policies, and so on. The root of the notification policy tree is called the **Default notification policy**.
Each policy consists of a set of label matchers (0 or more) that specify which labels they are or aren't interested in handling.
For more information on label matching, see [how label matching works]({{< relref "../annotation-label/labels-and-label-matchers.md" >}}).
{{% admonition type="note" %}}
If you haven't configured any label matchers for your notification policy, your notification policy will match _all_ alert instances. This may prevent child policies from being evaluated unless you have enabled **Continue matching siblings** on the notification policy.
{{% /admonition %}}
## Routing
To determine which notification policy will handle which alert instances, you have to start by looking at the existing set of notification policies, starting with the default notification policy.
If no policies other than the default policy are configured, the default policy will handle the alert instance.
If policies other than the default policy are defined, it will inspect those notification policies in descending order.
If a notification policy has label matchers that match the labels of the alert instance, it will descend in to its child policies and, if there are any, will continue to look for any child policies that might have label matchers that further narrow down the set of labels, and so forth until no more child policies have been found.
If no child policies are defined in a notification policy or if none of the child policies have any label matchers that match the alert instance's labels, the default notification policy is used.
As soon as a matching policy is found, the system does not continue to look for other matching policies. If you want to continue to look for other policies that may match, enable **Continue matching siblings** on that particular policy.
Lastly, if none of the notification policies are selected the default notification policy is used.
### Routing example
Here is an example of a relatively simple notification policy tree and some alert instances.
{{< figure src="/media/docs/alerting/notification-routing.png" max-width="750px" caption="Notification policy routing" >}}
Here's a breakdown of how these policies are selected:
**Pod stuck in CrashLoop** does not have a `severity` label, so none of its child policies are matched. It does have a `team=operations` label, so the first policy is matched.
The `team=security` policy is not evaluated since we already found a match and **Continue matching siblings** was not configured for that policy.
**Disk Usage 80%** has both a `team` and `severity` label, and matches a child policy of the operations team.
**Unauthorized log entry** has a `team` label but does not match the first policy (`team=operations`) since the values are not the same, so it will continue searching and match the `team=security` policy. It does not have any child policies, so the additional `severity=high` label is ignored.
## Inheritance
In addition to child policies being a useful concept for routing alert instances, they also inherit properties from their parent policy. This also applies to any policies that are child policies of the default notification policy.
The following properties are inherited by child policies:
- Contact point
- Grouping options
- Timing options
- Mute timings
Each of these properties can be overwritten by an individual policy should you wish to override the inherited properties.
To inherit a contact point from the parent policy, leave it blank. To override the inherited grouping options, enable **Override grouping**. To override the inherited timing options, enable **Override general timings**.
### Inheritance example
The example below shows how the notification policy tree from our previous example allows the child policies of the `team=operations` to inherit its contact point.
In this way, we can avoid having to specify the same contact point multiple times for each child policy.
{{< figure src="/media/docs/alerting/notification-inheritance.png" max-width="750px" caption="Notification policy inheritance" >}}
## Additional configuration options
### Grouping
Grouping is a key concept in Grafana Alerting that categorizes alert instances of similar nature into a single funnel. This allows you to properly route alert notifications during larger outages when many parts of a system fail at once causing a high number of alerts to fire simultaneously.
Grouping options determine _which_ alert instances are bundled together.
When an alert instance is matched to a specific notification policy, it no longer has any association with its alert rule.
To group alert instances by the original alert rule, set the grouping using `alertname` and `grafana_folder` (since alert names are not unique across multiple folders).
This is also the default setting for the built-in Grafana Alertmanager.
Should you wish to group alert instances by something other than the alert rule, check the grouping to any other combination of label keys.
#### Turn off grouping
Should you wish to receive every alert instance as a separate notification, choose to do so by grouping by a special label called `...`.
#### Everything in a single group
Should you wish to receive all alert instance in a single notification, create an empty list of labels to group by.
### Timing options
Timing options can be updated and affect _when_ a group of notifications are sent to their corresponding contact point.
#### Group wait
The waiting time until the initial notification is sent for a **new group** created by an incoming alert.
**Default** 30 seconds
#### Group interval
The waiting time to send a batch of alert instances for **existing groups**.
{{% admonition type="note" %}}
This means that notifications will **not** be sent any sooner than 5 minutes (default) since the last batch of updates were delivered, regardless of whether the alert rule interval for those alert instances was lower.
{{% /admonition %}}
**Default** 5 minutes
#### Repeat interval
The waiting time to resend an alert after they have successfully been sent. This means notifications for **firing** alerts will be re-delivered every 4 hours (default).
**Default** 4 hours

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,6 +3,7 @@ aliases:
- ../fundamentals/alertmanager/
- ../metrics/
- ../unified-alerting/fundamentals/alertmanager/
description: Intro to the different Alertmanagers
title: Alertmanager
weight: 100
---
@@ -11,7 +12,7 @@ weight: 100
Alertmanager enables you to quickly and efficiently manage and respond to alerts. It receives alerts, handles silencing, inhibition, grouping, and routing by sending notifications out via your channel of choice, for example, email or Slack.
In Grafana, you can use the Cloud Alertmanager, Grafana Alertmanager, or an external Alertmanager. You can also run multiple alertmanagers; your decision depends on your set up and where your alerts are being generated.
In Grafana, you can use the Cloud Alertmanager, Grafana Alertmanager, or an external Alertmanager. You can also run multiple Alertmanagers; your decision depends on your set up and where your alerts are being generated.
**Cloud Alertmanager**
@@ -19,7 +20,7 @@ Cloud Alertmanager runs in Grafana Cloud and it can receive alerts from Grafana,
**Grafana Alertmanager**
Grafana Alertmanager is an internal Alertmanager that is pre-configured and available for selection by default if you run Grafana on-premise or open-source.
Grafana Alertmanager is an internal Alertmanager that is pre-configured and available for selection by default if you run Grafana on-premises or open-source.
The Grafana Alertmanager can receive alerts from Grafana, but it cannot receive alerts from outside Grafana, for example, from Mimir or Loki.
@@ -27,13 +28,13 @@ The Grafana Alertmanager can receive alerts from Grafana, but it cannot receive
**External Alertmanager**
If you want to use a single alertmanager to receive all your Grafana, Loki, Mimir, and Prometheus alerts, you can set up Grafana to use an external Alertmanager. This external Alertmanager can be configured and administered from within Grafana itself.
If you want to use a single Alertmanager to receive all your Grafana, Loki, Mimir, and Prometheus alerts, you can set up Grafana to use an external Alertmanager. This external Alertmanager can be configured and administered from within Grafana itself.
Here are two examples of when you may want to configure your own external alertmanager and send your alerts there instead of the Grafana Alertmanager:
1. You may already have alertmanagers on-premise in your own Cloud infrastructure that you have set up and still want to use, because you have other alert generators, such as Prometheus.
1. You may already have Alertmanagers on-premises in your own Cloud infrastructure that you have set up and still want to use, because you have other alert generators, such as Prometheus.
2. You want to use both Prometheus on-premise and hosted Grafana to send alerts to the same alertmanager that runs in your Cloud infrastructure.
2. You want to use both Prometheus on-premises and hosted Grafana to send alerts to the same Alertmanager that runs in your Cloud infrastructure.
Alertmanagers are visible from the drop-down menu on the Alerting Contact Points, Notification Policies, and Silences pages.
@@ -43,4 +44,4 @@ If you are provisioning your data source, set the flag `handleGrafanaManagedAler
[Prometheus Alertmanager documentation](https://prometheus.io/docs/alerting/latest/alertmanager/)
[Add an external Alertmanager](https://grafana.com/docs/grafana/latest/alerting/set-up/configure-alertmanager/)
[Add an external Alertmanager]({{< relref "../set-up/configure-alertmanager" >}})

View File

@@ -16,25 +16,23 @@ weight: 300
# Manage notification policies
Notification policies determine how alerts are routed to contact points. Policies have a tree structure, where each policy can have one or more nested policies. Each policy, except for the default policy, can also match specific alert labels. Each alert is evaluated by the default policy and subsequently by each nested policy. If the **Continue matching subsequent sibling nodes** option is enabled for a nested policy, then evaluation continues even after one or more matches. A parent policys configuration settings and contact point information govern the behavior of an alert that does not match any of the nested policies. A default policy governs any alert that does not match a nested policy.
Notification policies determine how alerts are routed to contact points.
You can configure Grafana managed notification policies as well as notification policies for an external Alertmanager data source.
Policies have a tree structure, where each policy can have one or more nested policies. Each policy, except for the default policy, can also match specific alert labels.
## Grouping
Each alert is evaluated by the default policy and subsequently by each nested policy.
Grouping is a new and key concept of Grafana Alerting that categorizes alert notifications of similar nature into a single funnel. This allows you to properly route alert notifications during larger outages when many parts of a system fail at once causing a high number of alerts to fire simultaneously.
If the **Continue matching subsequent sibling nodes** option is enabled for a nested policy, then evaluation continues even after one or more matches. A parent policys configuration settings and contact point information govern the behavior of an alert that does not match any of the nested policies. A default policy governs any alert that does not match a nested policy.
For example, suppose you have 100 services connected to a database in different environments. These services are differentiated by the label `env=environmentname`. An alert rule is in place to monitor whether your services can reach the database named `alertname=DatabaseUnreachable`.
You can configure Grafana-managed notification policies as well as notification policies for an external Alertmanager data source.
When a network partition occurs, half of your services can no longer reach the database. As a result, 50 different alerts (assuming half of your services) are fired. For this situation, you want to receive a single-page notification (as opposed to 50) with a list of the environments that are affected.
You can configure grouping to be `group_by: [alertname]` (take note that the `env` label is omitted). With this configuration in place, Grafana sends a single compact notification that has all the affected environments for this alert rule.
> **Note:** Grafana also has a special label named `...` that you can use to group all alerts by all labels (effectively disabling grouping), therefore each alert will go into its own group. It is different from the default of `group_by: null` where **all** alerts go into a single group.
For more information on notification policies, see [fundamentals of Notification Policies]({{< relref "../fundamentals/notification-policies/index.md" >}}).
## Edit default notification policy
> **Note:** Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organizations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 Alerts only if they have one organization. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.
{{% admonition type="note" %}}
Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organizations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 Alerts only if they have one organization. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.
{{% /admonition %}}
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
@@ -53,7 +51,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
1. From the **Choose Alertmanager** dropdown, select an Alertmanager. By default, the **Grafana Alertmanager** is selected.
1. To add a top level specific policy, go to the Specific routing section and click **+ New specific policy**.
1. To add a top level specific policy, go to the Specific routing section and click **+New specific policy**.
1. In the Matching labels section, add one or more rules for matching alert labels.
1. In the **Contact point** dropdown, select the contact point to send notification to if alert matches only this specific policy and not any of the nested policies.
1. Optionally, enable **Continue matching subsequent sibling nodes** to continue matching sibling policies even after the alert matched the current policy. When this option is enabled, you can get more than one notification for one alert.
@@ -66,7 +64,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. In the left-side menu, click **Alerts & IRM** and then **Alerting**.
1. Click **Notification policies**.
1. Expand the specific policy you want to update.
1. Click **+ Add nested policy**, then add the details using information in [Add new specific policy](#add-new-specific-policy).
1. Click **+ Add nested policy**, then add the details using information in [Add new specific policy](#add-new-nested-policy).
1. Click **Save policy** to save your changes.
## Edit specific policy
@@ -74,7 +72,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. In the left-side menu, click **Alerts & IRM**, and then **Alerting**.
1. Click **Notification policies**.
1. Find the policy you want to edit, then click **Edit**.
1. Make any changes using instructions in [Add new specific policy](#add-new-specific-policy).
1. Make any changes using instructions in [Add new specific policy](#add-new-nested-policy).
1. Click **Save policy**.
## Searching for policies

View File

@@ -61,3 +61,7 @@ To remove a silence, complete the following steps.
1. Select the silence you want to end, then click **Unsilence**.
> **Note:** You cannot remove a silence manually. Silences that have ended are retained and listed for five days.
## Useful links
[Aggregation operators](/docs/prometheus/latest/querying/operators/#aggregation-operators)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,10 @@
---
aliases:
keywords:
- grafana
- alerting
- notifications
- templates
description: Reference for templating notifications
title: Reference
weight: 400
---
@@ -41,7 +41,7 @@ weight: 400
| Resolved alerts | `[]Alert` | List of all resolved alerts in this notification | `There are {{ len .Alerts.Resolved }} resolved alerts` |
| GroupLabels | `KV` | The labels that group these alerts in this | `{{ .GroupLabels }}` |
| CommonLabels | `KV` | The labels common to all alerts in this notification | `{{ .CommonLabels }}` |
| CommonAnnotations | `KV` | The annotations common to all alerts i this notification | `{{ .CommonAnnotations }}` |
| CommonAnnotations | `KV` | The annotations common to all alerts in this notification | `{{ .CommonAnnotations }}` |
| ExternalURL | `string` | A link to Grafana, or the Alertmanager that sent this notification if using an external Alertmanager | `{{ .ExternalURL }}` |
### KV

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,95 @@
---
aliases:
- /docs/grafana-cloud/alerts/
- /docs/grafana-cloud/how-do-i/alerts/
- /docs/grafana-cloud/legacy-alerting/
description: Legacy alerting
title: Legacy alerting
weight: 110
---
# Legacy alerting
**Note:**
Starting with Grafana v9.0.0, legacy alerting is deprecated. It is no longer actively maintained or supported by Grafana and will be removed in Grafana v11.0.0.
You have two options to configure alerts within the Grafana Cloud GUI and a third option that enables you to set Grafana Cloud Alerts using the command line.
- **Grafana alerts** are the same as in an on-prem instance of Grafana.
These alerts are created from a graph panel within a Grafana dashboard.
This is useful when you want to create a simple alert based on one metric from within a panel.
It also has a much simpler learning curve when you are getting started.
- **Grafana Cloud alerts - GUI** are an implementation of Prometheus-style rules that enable you to query your Grafana Cloud Metrics and then set up Prometheus Alertmanager-style alerts based on those rules.
This is useful when you want to create precise, PromQL-based rules or create alerts from across many metrics and logs being collected into your Grafana Cloud Metrics.
This form of alerting is much more powerful and configurable, but that comes with some complexity.
- **Grafana Cloud alerts - CLI** use mimirtool to create and upload the same types of Prometheus-style recording and alerting rules definitions to your Grafana Cloud Metrics instance.
Once created, you will also be able to view these rules from within the Grafana Cloud Alerting page in the GUI.
- **Synthetic Monitoring alerts** are built on Prometheus alerts, just like in Grafana Cloud alerting.
You can configure synthetic monitoring alerts separately using the UI in synthetic monitoring.
Another option to create alerts for synthetic monitoring checks is to simply use Grafana Cloud alerting.
## Using Grafana alerts in Grafana Cloud
Grafana alerts are dashboard panel-driven and can only be created using the Graph panel.
This style of alerting builds on top of the query defined for the graph visualization, so alerts and notifications are sent based on breaking some threshold in the associated panel.
This also means that there is a one-to-one relationship between a Grafana alert and a graph panel.
So although Grafana alerts can be viewed centrally, they can only be managed directly from the panel that theyre tied to.
As a result, Grafana alerting is best suited for smaller setups, where there are only a few individuals or teams responsible for a small set of dashboards and where there are few dependencies between the dashboards.
{{% admonition type="note" %}}
Most curated dashboards, such as those provided with an integration or with Synthetic Monitoring do not allow you to alert from panels.
This is to preserve the ability to upgrade these dashboards automatically when the integration or Synthetic Monitoring abilities are updated.
To create an editable copy that you can edit and alert from, click settings (the gear logo) within any dashboard and then click **Make Editable**.
The copy will not be upgraded when/if the curated dashboard receives an update.
This is one reason why Grafana Cloud Alerts may be considered a better option.
{{% /admonition %}}
### What makes Grafana alerts unique?
With Grafana alerts, alerts are limited to only graph panels within dashboards.
In addition:
- Alerts can be edited by both Editor and Admin roles
- Alerts are visual, with an associated alerting threshold line
- Alerts work with many non-Prometheus data sources, including Graphite
- Alert notifications can be routed to many external notifier systems, directly from Grafana
- Alerts are directly associated with a dashboard
- Alerts can be tested
## Using Grafana Cloud Alerts
Because the metrics you collect and send to Grafana Cloud are centrally stored in one large time-series database, Grafana Cloud Metrics, you can query across these metrics using [PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/) and build alerts directly around those metrics rather than around a panel.
You can also query across any logs you have sent using Loki.
Grafana Cloud Alerts are directly tied to metrics and log data.
They can be configured either through the UI or by uploading files containing Prometheus and Loki alert rules with mimirtool.
Grafana Cloud Alerting's Prometheus-style alerts are built by querying directly from the data source itself.
Because these alerts are based on the data, they are not tied to a single panel.
This makes it possible to evaluate and centrally manage alerts across several different Prometheus and Loki data source instances.
### What makes Grafana Cloud Alerts unique?
With Grafana Cloud Alerts, alerts are not limited to coming from a graph panel.
In addition, you can:
- Prevent alerts from being edited, except by users with accounts that are assigned Admin roles.
- Centrally manage and create alerts across many systems, teams, and dashboards.
Alerts are not bound to just one system, team, or dashboard.
- Create alerts for both metric _and_ log data, based on Prometheus and Loki, respectively.
- Silence and mute alerts in bulk, even using a schedule, using the Alertmanager.
- Route alert notifications to [many external notifier systems](https://prometheus.io/docs/operating/integrations/#alertmanager-webhook-receiver) using Alertmanager configurations
- Dedupe alert notifications automatically.
### Grafana Cloud Alert configuration methods
In a traditional on-prem environment, Prometheus-style alert configuration is done through the combination of defining a [Prometheus configuration file](https://prometheus.io/docs/prometheus/latest/configuration/configuration/) and an [Alertmanager configuration file](https://prometheus.io/docs/alerting/latest/configuration/), which live close to the Prometheus server.
With Grafana Cloud, you can still use this setup as well as more flexible architectures.
- You can use `mimirtool` to upload your configuration files to be hosted and evaluated entirely in Grafana Cloud.
- You can manage both alerting rules and Alertmanager configurations directly through the UI.
Configuration files are unnecessary with this setup.
- You can use both methods concurrently to manage the alerts.
For example, updates made using the `mimirtool` are automatically updated and visible within the Grafana Cloud Alerting interface in minutes.

View File

@@ -0,0 +1,76 @@
---
aliases:
- /docs/grafana-cloud/alerts/grafana-cloud-alerting/
- /docs/grafana-cloud/how-do-i/grafana-cloud-alerting/
- /docs/grafana-cloud/legacy-alerting/grafana-cloud-alerting/
description: Grafana Cloud Alerting
title: Grafana Cloud Alerting
weight: 100
---
# Grafana Cloud Alerting
Grafana Cloud Alerting allows you to create and manage all of your Prometheus-style alerting rules, for both Prometheus metrics and Loki log data. With this feature, you don't need to leave Grafana, upload or edit configuration files, or install additional tools.
![Grafana Cloud Alerting](/static/img/docs/grafana-cloud/grafana-cloud-alerting.png)
## Permissions
All members of an organization that have alerts set up can view alerts in Grafana Cloud Alerting. This includes everyone with a Viewer, Editor, or Admin role.
Users with the organization Admin role can also create, edit, or delete alerts.
## Data sources
Grafana Cloud Alerting supports rule management across multiple data sources, for both metrics and logs, across all of the stacks in your org. If you have more than one Prometheus or Loki data source, there will be a dropdown at the top for you to select the data source to configure rules.
{{% admonition type="note" %}}
Pay attention to which data source you select. Cloud alerts are tied to a specific data source. For example, if you have a Loki data source selected you will not be able to create an alert based on a Prometheus data source.
![Cloud Alerting Data Source](/static/img/docs/grafana-cloud/grafana-cloud-alerting-data-source.png)
{{% /admonition %}}
## Alerts and recording rules
Prometheus supports two types of rules:
- [Recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) - Recording rules allow you to execute expressions or queries, by saving them off as a stored rule instead.
- [Alerting rules](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) - Alerting rules allow you to define alert conditions and to route those notifications to an external service. An alert fires if metrics meet criteria defined in the alerting rule.
Both of these rules are configurable from the Grafana Cloud Alerting interface and configured in the same way.
## Alert states
Alert states are identical to the standard format found in Prometheus rule configurations. In Grafana Cloud Alerting, each individual alert is highlighted by its state to more clearly distinguish between alerts.
- **Firing -** Alerts that have been active for longer than the configured threshold. Alerts are highlighted in red and tagged with a red `firing` label.
- **Pending -** Alerts that have been active for less than the configured threshold. Alerts are highlighted in orange.
- **Inactive -** Alerts that are neither firing nor pending. Alerts are highlighted in green.
## Notifications
The **Notifications** tab is where you can view all current notifications and sort them by various states, receivers, and labels.
![Grafana Cloud Alerting Notifications](/static/img/docs/grafana-cloud/grafana-cloud-alerting-notifications.png)
## Limits
There is a limit on how many rules can be created in a rule group. There is also a limit on how many rule groups can be created.
You can create:
- 20 rules per rule group
- 35 rule groups
> It is possible to increase these limits. Please contact customer support for further information.
If you exceed the limits, you will encounter an error similar to this:
```bash
ERROR[0000] requests failed fields.msg="request failed with response body
per-user rules per rule group limit (limit: 20 actual: 22) exceeded\n"
status="400 Bad Request"
ERROR[0000] unable to load rule group error="failed request to the cortex api"
group=limit_rules_per_group namespace=test
```
To increase the number of rules or rule groups you can configure, contact support to upgrade your account.

View File

@@ -0,0 +1,55 @@
---
aliases:
- /docs/grafana-cloud/alerts/grafana-cloud-alerting/alertmanager/
- /docs/grafana-cloud/how-do-i/grafana-cloud-alerting/alertmanager/
- /docs/grafana-cloud/legacy-alerting/grafana-cloud-alerting/alertmanager/
description: Alertmanager
title: Alertmanager
weight: 500
---
# Alertmanager
Grafana Cloud Alerting allows you to edit and view configuration for your Alertmanager directly inside of Grafana. See the official [Alertmanager documentation](https://prometheus.io/docs/alerting/latest/configuration/) to learn how to configure.
{{% admonition type="note" %}}
Only organization Admins can view or update Alertmanger configurations.
{{% /admonition %}}
## Edit a config for Grafana Cloud Alerting
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Alertmanager**.
1. If you have more than one Alertmanager source, there will be a dropdown at the top for you to select the data source to edit configurations.
1. Currently active configuration for the Alertmanager will be displayed. Click the **Edit** button to enter edit mode and start making changes. Click "Save and finish editing" once done to persist your changes.
1. Alternatively, updates to the Alertmanager configurations made using the mimirtool will also sync and appear here.
## Use the Grafana Labs-supplied SMTP option to configure email notifications
Grafana Cloud users who do not have an SMTP server available for sending alert emails may use Grafana-Labs supplied SMTP relay (available at `smtprelay:2525`).
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Alertmanager**.
1. If you have more than one Alertmanager source, there will be a dropdown at the top for you to select the data source to edit configurations.
1. Find info box with heading **Send alert email notifications from Grafana Cloud** at the top
1. Enter desired email address into the **email address** field
1. Click **Update configuration** button. Alertmanager config will be updated with grafana SMTP relay settings and an "email" receiver that will send to the specified email address.
{{% admonition type="note" %}}
Following these steps will overwrite any custom global SMTP settings that you might have. Default route configuration will send all notifications to the "email" receiver. If you have already customized routes, they will not be updated and you will have to configure "email" receiver on the appropriate route.
{{% /admonition %}}
Use these settings in your Grafana Cloud Alerting YAML, if you do not find them already set. Most important is the `smtp_require_tls: false` line. If this is not set properly, alert emails will not be received. If you use mimirtool to configure alertmanager, by default this will be set to `true`, which will cause problems.
```yaml
global:
smtp_from: noreply@grafana.net
smtp_smarthost: smtprelay:2525
smtp_require_tls: false
```
## Troubleshooting Alertmanager failures
Configuration errors can cause Alertmanager notification failures, e.g. a typo in an email address recipient or an expired token for a webhook. Grafana Cloud provisions a Loki datasource `grafanacloud-<stack_slug>-usage-insights` which can be used to display select notification errors with a query similar to the example below. The `instance_type` label of `alerts` is what selects the Grafana Cloud Alertmanager logs.
```sql
{instance_type="alerts"} | logfmt | level="warn"
```

View File

@@ -0,0 +1,59 @@
---
aliases:
- /docs/grafana-cloud/alerts/grafana-cloud-alerting/create-edit-rules/
- /docs/grafana-cloud/how-do-i/grafana-cloud-alerting/create-edit-rules/
- /docs/grafana-cloud/legacy-alerting/grafana-cloud-alerting/create-edit-rules/
description: Create and edit alert rules
title: Create and edit alert rules
weight: 200
---
# Create and edit alert rules
Creating alerts in Grafana Cloud differs from creating alerts directly with Prometheus or Loki. While the rule format is the same, everything is done in the Grafana Cloud Alerting interface, rather than with configuration files.
{{% admonition type="note" %}}
Only organization Admins can create or edit alert rules.
{{% /admonition %}}
## Create an alert rule
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Alerts and rules**.
1. If you have more than one Prometheus or Loki data source, there will be a dropdown at the top for you to select the data source to create or edit rules.
1. Click **Edit rules**.
1. Click **Add rule**.
Grafana creates a new rule with placeholders.
```
alert: ""
expr: ""
```
Enter text according to regular Prometheus rule configuration guidelines:
- [Recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/)
- [Alerting rules](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
{{% admonition type="note" %}}
Grafana Cloud Alerting does not support comments.
{{% /admonition %}}
When you are finished, click **Save**. You can then repeat the process to create more rules or click **Finish editing** to return to the rules list.
## Edit an alert rule
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Alerts and rules**.
1. If you have more than one Prometheus or Loki data source, there will be a dropdown at the top for you to select the data source to create or edit rules.
1. Click **Edit rules**.
1. Scroll down to the rule that you want to edit and then click **Edit**.
1. Make any necessary changes to the rule text and then click **Save**.
1. Click **Finish editing** to return to the rules list.
## Delete an alert rule
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Alerts and rules**.
1. If you have more than one Prometheus or Loki data source, there will be a dropdown at the top for you to select the data source to create or edit rules.
1. Click **Edit rules**.
1. Scroll down to the rule that you want to edit and then click **Delete**.
1. Click **Finish editing** to return to the rules list.

View File

@@ -0,0 +1,50 @@
---
aliases:
- /docs/grafana-cloud/alerts/grafana-cloud-alerting/namespaces-and-groups/
- /docs/grafana-cloud/how-do-i/grafana-cloud-alerting/namespaces-and-groups/
- /docs/grafana-cloud/legacy-alerting/grafana-cloud-alerting/namespaces-and-groups/
description: Namespaces and rule groups
title: Namespaces and rule groups
weight: 400
---
# Namespaces and rule groups
By default, all alerting and recording rules created in Grafana Cloud Alerting will default to a single namespace and a single rule group.
## Managing namespaces
While Grafana Cloud Alerting does support viewing multiple namespaces that have been added through the mimirtool, it is currently not possible to add new namespaces or to rename the existing ones.
## Managing rule groups
Rule groups can be managed directly within the Grafana Cloud Alerting interface or through the mimirtool, similar to managing namespaces.
{{% admonition type="note" %}}
By default, Grafana Cloud limits the number of rule groups to 20, with a limit of up to 15 rules per group. If you wish to increase the default limits, please [open a support ticket](/profile/org#support) or reach out to your account manager.
{{% /admonition %}}
### Create a new rule group:
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Alerts and rules**.
2. If you have more than one Prometheus or Loki data source, there will be a dropdown at the top for you to select the data source to create or edit rules.
3. Click **Create new rule group**.
4. Enter text to name your new rule group.
5. Enter text for the new rule in your new rule group, according to regular Prometheus rule configuration guidelines:
- [Recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/)
- [Alerting rules](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
6. When you are finished naming your new rule group and adding new rule details, click **Save**.
{{% admonition type="note" %}}
In order to create a new rule group, you must also create a new rule for it.
{{% /admonition %}}
### Update a rule group
Existing rule groups can be renamed by selecting the **pencil** icon next to the rule group name.
### Delete a rule group
Rule groups will be automatically deleted once the all rules within a group are deleted.

View File

@@ -0,0 +1,31 @@
---
aliases:
- /docs/grafana-cloud/alerts/grafana-cloud-alerting/silences/
- /docs/grafana-cloud/how-do-i/grafana-cloud-alerting/silences/
- /docs/grafana-cloud/legacy-alerting/grafana-cloud-alerting/silences/
description: Silences
title: Silences
weight: 600
---
# Silences
Grafana Cloud Alerting allows you to manage silences for your alertmanager notifications directly inside of Grafana. This applies to alerting rules created for both Prometheus metrics and Loki logs.
## Create a silence
1. In Grafana, hover your cursor over the **Grafana Cloud Alerting** icon and then click **Silences**.
2. Click **New silence**.
3. Enter a date in **Start of silence** to indicate when the silence should go into effect.
4. Enter a date in **End of silence** to indicate when the silence should expire.
5. Enter one or more matchers by filling out the **Name** and **Value** fields. Matchers determine which rules the silence will apply to.
6. Enter the name of the owner in **Creator**.
7. Enter a **Comment**.
8. To view which rules will be affected by your silence, click **Preview alerts**.
9. Otherwise, when you are finished, click **Create**
## Update an existing silence
You can always update an existing silence by clicking the **Edit silence** button under the silence.
It is also possible to expire a silence, on-demand, by clicking the **Expire silence** button under the silence. This will override the original scheduled expiration date of the silence.

View File

@@ -0,0 +1,42 @@
---
aliases:
- /docs/grafana-cloud/alerts/grafana-cloud-alerting/view-filter-rules/
- /docs/grafana-cloud/how-do-i/grafana-cloud-alerting/view-filter-alerts/
- /docs/grafana-cloud/legacy-alerting/grafana-cloud-alerting/view-filter-rules/
description: View and filter alert rules
title: View and filter alert rules
weight: 300
---
# View and filter alert rules
Grafana Cloud Alerting displays a list of all recording and alerting rules assigned to a selected data source in the Alerts and rules tab.
All members of an organization that have access to a particular data source can view the list of rules and filter or reorder their view.
## View alert rules
1. Hover your cursor over the **Grafana Cloud Alerting** icon (alarm bell with Prometheus logo) and then click **Alerts and rules**.
1. In the list at the top of the tab, select the data source for which you want to view rules.
Grafana displays rules according to rule groups. If your instance has added namespaces and alert groups, then they will be ordered alphabetically. Otherwise, you will have one namespace called `default` and an alert group called `rules`.
If an alert is firing, then click the down carrot arrow to see additional information. The Label and annotations section appears.
## Filter your alert rule view
You can control which alerts you see and in what order they appear several ways. Combine different filters to personalize your view so that you can quickly find the information that you need.
- **Filter by alert state -** Click the toggles to show or hide alerts in different states. Turn off the toggle to hide alerts matching the state.
- **Filter by rule type -** Click the toggles to show or hide alerting rules or recording rules.
- **View options -** Click the toggle to show or hide the Prometheus annotations shown in the Labels and annotations section.
- **Rule sorting -** Click an option to sort alert rules within each rule group.
- **None -** No special sort is applied and sorts as if in a file, ordered according to the editing list order.
- **A-Z -** Sorts rules alphabetically according to the rule name.
- **Alert state -** Sorts rules according to the alert state (Firing, Pending, or Inactive).
## View alert in Explore
Click **View in Explore** or click the `expr` link to open the `expr` in [Explore](/docs/grafana/latest/explore/).
> **Note:** Only users with Admin or Editor roles in an organization can use the Explore feature unless the viewers can edit.

View File

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

View File

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

View File

@@ -1,6 +1,10 @@
---
aliases:
- unified-alerting/set-up/
labels:
products:
- oss
description: How to set up alerting features and integrations
title: Set up Alerting
weight: 107
---
@@ -9,6 +13,49 @@ weight: 107
Configure the features and integrations that you need to create and manage your alerts.
- [Configure Alertmanager](https://grafana.com/docs/grafana/latest/alerting/set-up/configure-alertmanager/)
- [Provision Grafana Alerting resources](https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/)
- [Connect Grafana Alerting to Grafana OnCall](https://grafana.com/docs/oncall/latest/integrations/available-integrations/add-grafana-alerting/)
**Note:**
These are set up instructions for Grafana Alerting Open Source.
To set up Grafana Alerting for Cloud, see ({{< relref "../set-up-cloud" >}})
## Before you begin
- Configure your [data sources]({{< relref "../../administration/data-source-management" >}})
- Check which data sources are compatible with and supported by [Grafana Alerting]({{< relref "../fundamentals/data-source-alerting" >}})
## Set up Alerting
To set up Alerting, you need to:
1. Configure alert rules
- Create Grafana-managed or Mimir/Loki-managed alert rules and recording rules
1. Configure contact points
- Check the default contact point and update the email address
- [Optional] Add new contact points and integrations
1. Configure notification policies
- Check the default notification policy
- [Optional] Add additional nested policies
- [Optional] Add labels and label matchers to control alert routing
1. [Optional] Integrate with [Grafana OnCall]
(/docs/oncall/latest/integrations/grafana-alerting/)
## Advanced set-up options
Grafana Alerting supports many additional configuration options, from configuring external Alertmanagers to routing Grafana-managed alerts outside of Grafana, to defining your alerting setup as code.
The following topics provide you with advanced configuration options for Grafana Alerting.
- [Provision alert rules using file provisioning]({{< relref "../set-up/provision-alerting-resources/file-provisioning" >}})
- [Provision alert rules using Terraform]({{< relref "../set-up/provision-alerting-resources/terraform-provisioning" >}})
- [Add an external Alertmanager]({{< relref "../set-up/configure-alertmanager" >}})
- [Configure high availability]({{< relref "../set-up/configure-high-availability" >}})

View File

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

View File

@@ -10,7 +10,7 @@ keywords:
- ha
- high availability
title: Enable alerting high availability
weight: 300
weight: 400
---
# Enable alerting high availability

View File

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

View File

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

View File

@@ -22,14 +22,14 @@ Details on how to set up the files and which fields are required for each object
**Note:**
Provisioning takes place during the initial set up of your Grafana system, but you can re-run it at any time using the [Grafana Admin API](https://grafana.com/docs/grafana/latest/developers/http_api/admin/#reload-provisioning-configurations).
Provisioning takes place during the initial set up of your Grafana system, but you can re-run it at any time using the [Grafana Admin API]({{< relref "../../../../developers/http_api/admin#reload-provisioning-configurations" >}}).
### Provision alert rules
Create or delete alert rules in your Grafana instance(s).
1. Create alert rules in Grafana.
1. Use the [Alerting provisioning API](https://grafana.com/docs/grafana/latest/developers/http_api/alerting_provisioning/#route-get-alert-rule-export) export endpoints to download a provisioning file for your alert rules.
1. Use the [Alerting provisioning API]({{< relref "../../../../developers/http_api/alerting_provisioning" >}}) export endpoints to download a provisioning file for your alert rules.
1. Copy the contents into a YAML or JSON configuration file in the default provisioning directory or in your configured directory.
Example configuration files can be found below.
@@ -154,6 +154,8 @@ contactPoints:
- uid: first_uid
# <string, required> type of the receiver
type: prometheus-alertmanager
# <bool, optional> Disable the additional [Incident Resolved] follow-up alert, default = false
disableResolveMessage: false
# <object, required> settings for the specific receiver type
settings:
url: http://test:9000

View File

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

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