Compare commits

...

109 Commits

Author SHA1 Message Date
Grot (@grafanabot)
3ed722bb5c "Release: Updated versions in package to 9.0.0-beta.2" (#359) 2022-05-31 11:00:10 -03:00
Ezequiel Victorero
3c7e0f36d3 Merge branch 'v9.0.x' of github.com:grafana/grafana into v9.0.x 2022-05-31 10:35:57 -03:00
Grot (@grafanabot)
a482c055a0 Prometheus: Predefined scopes for Azure authentication (#49861) (#49881)
(cherry picked from commit 0101c19374)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-31 09:16:20 -04:00
Grot (@grafanabot)
6d107a7f41 Alerting: Add Go error message to warning log for screenshots. (#49870) (#49917)
Makes debugging problems with alert screenshotting easier.

(cherry picked from commit 56f40bd413)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-05-31 15:07:57 +02:00
Grot (@grafanabot)
c73b1787ec [v9.0.x] Alerting: Add fgac support to alert list panel (#49912)
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-05-31 14:41:35 +02:00
Grot (@grafanabot)
a8dbc1eaa0 UI/Card: Remove deprecated props (#49885) (#49900)
(cherry picked from commit d590012a18)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-31 13:38:22 +01:00
Grot (@grafanabot)
a87062e4e6 AuthProxy: Remove deprecated ldap_sync_ttl setting (#49902) (#49908)
* Remove deprecated ldap_sync_ttl

(cherry picked from commit 389eec089e)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-31 14:19:59 +02:00
Grot (@grafanabot)
199b1467aa [v9.0.x] Prometheus: Cleanup annotation editor (#49884)
* Prometheus: Cleanup annotation editor (#49615)

* Remove unused code

* Remove test

* Remove Builder mode and simplify the code

* Fix step mapping

* Fix import

* change placeholder

(cherry picked from commit 72367cf1ad)

* Change import

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-05-31 13:54:28 +02:00
Grot (@grafanabot)
cf7ed5ed22 add feature highlighting in the expanded menu (#49892) (#49901)
(cherry picked from commit 0089779945)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-31 13:23:27 +02:00
Grot (@grafanabot)
1d83694679 RBAC: drop permissions with folder:create action added by migration (#49878) (#49891)
(cherry picked from commit f4f25d911b)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-31 12:58:06 +02:00
Grot (@grafanabot)
8c91d4e6e2 Alerting: fix layout with long words / numbers (#49882) (#49889)
(cherry picked from commit e04f84fd1b)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-05-31 12:54:17 +02:00
Grot (@grafanabot)
326c48347e UI/Button: Remove deprecated "link" variant (#49843) (#49877)
(cherry picked from commit 0012d2d81f)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-31 11:44:52 +02:00
Grot (@grafanabot)
606323212e Dependencies: Update etcd module (#49873) (#49880)
* Update etcd

* Update go.sum

* Replace etcd due to broken module

(cherry picked from commit 3587a5559b)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-05-31 11:28:33 +02:00
Grot (@grafanabot)
f7d8974f52 Angular: Remove deprecated angular modal support and libs (#49781) (#49869)
(cherry picked from commit 8fa8c9dc8b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-31 08:36:17 +02:00
Grot (@grafanabot)
50ada76a7d PanelEditor: Fixes issue with Table view and multi data frames (#49854) (#49866)
(cherry picked from commit 056a1fec3d)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2022-05-31 05:47:14 +02:00
Grot (@grafanabot)
5820ac0d76 HeatmapNG: ensure non-zero y bucket size (#49454) (#49865)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit 143f9e2dd9)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-05-31 05:39:47 +02:00
Grot (@grafanabot)
2a2982f9cc Alerting: Chore: Fix event name in ngalert/README.md (#49863)
Fix event name from *evalContext to *evaluation as #45144.

(cherry picked from commit 8b2a3a018d)

Co-authored-by: kyamau <kyamau.cs@gmail.com>
2022-05-31 10:59:31 +08:00
Grot (@grafanabot)
4e90a72115 [v9.0.x] SearchV2: Fix search input width on mobile (#49853)
Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2022-05-30 19:00:02 +02:00
Grot (@grafanabot)
d145bf358e Dashboard: Fix panel menu styling issues (#49806) (#49849)
* Dashboard: Fix panel menu styling issues

* remove !importants I added

(cherry picked from commit e0bb01aea6)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-05-30 18:34:45 +02:00
Grot (@grafanabot)
ed06e3e4f9 Alerting: Enable Unified Alerting for open source and enterprise (#49834) (#49845)
This commit enables Unified Alerting for open source and enterprise unless disabled in configuration.

(cherry picked from commit 3b7f871bf4)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-05-30 18:13:39 +02:00
Grot (@grafanabot)
27b20676af Chore: Update theme json (#49480) (#49497)
(cherry picked from commit c043a2f83a)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-05-30 17:06:16 +01:00
Grot (@grafanabot)
6949f6dddc Prometheus: Predefined scopes for Azure authentication (#49557) (#49842)
* Predefined scopes for Azure Prometheus

* Allow override of audience

(cherry picked from commit 2b83cf4618)

Co-authored-by: Sergey Kostrukov <sergey@kostrukov.com>
2022-05-30 17:56:41 +02:00
Grot (@grafanabot)
f8012e6789 Fix: Timeseries migration regex override (#49629) (#49837)
(cherry picked from commit 3d3cf74038)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-05-30 17:32:23 +02:00
Grot (@grafanabot)
c960454bd4 AzureMonitor: migrate Logs+Arg QueryEditor to @grafana/experimental (#48978) (#49833)
* AzureMonitor: use @grafana/experimental for LogsQueryEditor

ref #48711

* AzureMonitor: migrate ArgQueryEditor to @grafana/experimental.

Change CodeEditor to 100% instead of 1000px to match LogsQueryEditor.

ref #48713

(cherry picked from commit 6554bbd70f)

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2022-05-30 16:30:11 +02:00
Grot (@grafanabot)
64feb04206 Prometheus: Disable prometheusStreamingJSONParser by default (#49825) (#49832)
(cherry picked from commit b8563958bd)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-30 16:24:33 +02:00
Grot (@grafanabot)
9a33b19662 RolePicker: Add extra offset for menu position (#49823) (#49831)
(cherry picked from commit a71e371877)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-05-30 16:21:04 +02:00
Grot (@grafanabot)
fd8c11f51d AzureMonitor: Document maximum returned records for Resource Graph (#49801) (#49828)
(cherry picked from commit aceb218157)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-05-30 16:12:42 +02:00
Isabella Siu
36ad4fa677 CloudWatch: Use scopedVars in expressions (#49178) (#49771)
* CloudWatch: Use scopedVars in expressions

* fix spec test

(cherry picked from commit b80934617b)
2022-05-30 16:12:09 +02:00
Grot (@grafanabot)
e2f34a611c cap mobile nav height (#49785) (#49804)
(cherry picked from commit 10680c1775)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-30 13:15:05 +02:00
Grot (@grafanabot)
f9be87ea17 add event tracking to navigation (#49800) (#49803)
(cherry picked from commit 309ad38fd6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-30 13:07:57 +02:00
Vardan Torosyan
ba0beb8596 Quick Ugly Fix for Oauth not to make web_hack.go panic (#49653) (#49797) 2022-05-30 11:55:03 +02:00
Grot (@grafanabot)
c0d4512f4c Search: Fix overflow issue with folder view (#49723) (#49799)
(cherry picked from commit 17d0133008)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-30 11:43:15 +02:00
Grot (@grafanabot)
9370bad798 Chore: Remove deprecated surface prop from IconButton (#49715) (#49745)
* Chore: Remove deprecated `surface` prop from IconButton

* Update component docs

(cherry picked from commit 3d8eda0132)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-30 10:20:04 +01:00
Grot (@grafanabot)
30b77e9716 PanelChrome: Fixes issue with padding not being applied as gridUnits (#49751) (#49780)
(cherry picked from commit 7be5142164)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-30 07:58:02 +02:00
JitaC
0b7e5aa9cf Docs: Update create alerting rules topics (#49764) (#49770)
* Updated topic on Grafana managed rule.

* Updated loki and mimir rules and recording rules topics

* Checkin changes.

* Fixed typo
2022-05-28 18:57:55 -04:00
JitaC
5d23308a22 Docs: Refactor contact points section of alerting docs (#49758)
* Initial commit

* weight adjustments

* Checkin changes.

(cherry picked from commit f5a3ac855d)
2022-05-27 13:40:26 -04:00
Grot (@grafanabot)
e2a60b86f2 Loki: Fix unwrap parsing (#49732) (#49752)
(cherry picked from commit 745b101d41)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-05-27 14:17:27 +02:00
Grot (@grafanabot)
6054bd0e2c Alerting: Add tests for Slack Notifier Image Upload (#49669) (#49747)
Tests that file bytes are correctly read from storage when an image is
available without a URL. Tests that not found and success cases are both
handled.

(cherry picked from commit d5a327f43d)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-05-27 10:46:15 +08:00
Grot (@grafanabot)
afa40190d4 SearchV2: improve searcher API, and include a fallback SQL based implementation (#49535) (#49746)
(cherry picked from commit a641949a05)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-26 17:30:58 -07:00
Grot (@grafanabot)
9f3ade9472 Canvas: Fix element placement UX (#49665) (#49727) 2022-05-26 17:09:43 -07:00
Grot (@grafanabot)
7e4327d254 Alerting: Endpoints for provisioning mute timings (#49635) (#49735)
* Add validator for mute timing and make it provisionable

* Add tests to ensure prometheus validators are running and errors are propagated

* Internal API for manipulating mute timings

* Define and generate API layer

* Wire up generated code

* Implement API handlers

* Tests for golang layer

* Fix reference bug

* Fix linter and auth tests

* Resolve semantic errors and regenerate

* Remove pointless comment

* Extract out provisioning path param keys, simplify

* Expected number of paths

(cherry picked from commit 909ebcf979)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-26 16:06:52 -05:00
Jack Baldry
ccd1270f28 Convert TOML front matter to YAML (#49729)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-05-26 13:26:26 -04:00
Grot (@grafanabot)
5fd9fee933 Search: add icon for row and singlestat panels (#49620) (#49634)
(cherry picked from commit 2fa91b75e0)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-26 18:50:09 +02:00
JitaC
c3cc01912b Docs: Move alert rule section to alerting fundamentals section (#49657) (#49659)
* initial commit

* Added links to alert rules, and fixes one broken alerting relref.
2022-05-26 11:06:09 -04:00
Jack Westbrook
243a6cfb6c Toolkit: Bump dependencies (#47826) (#49714)
* chore(typescript): remove sanitize_url.d.ts in favour of npm package types

* chore(toolkit): bump all webpack related deps inline with grafana core

* refactor(toolkit): prefer webpack types and use from imports for bundling

* feat(toolkit): bundle plugins using webpack 5 and babel

* chore(toolkit): but all eslint deps inline with grafana core

* refactor(toolkit): rewrite linting step to use new eslint node api

* chore(toolkit): bump jest dependencies inline with grafana core

* refactor(toolkit): update jest config for jest 27

* fix(toolkit): resolve toolkit if using yarn berry

* docs(toolkit): update instructions for developing with yarn berry

* chore(toolkit): remove yarnlink code as won't work with yarn berry

* chore(toolkit): bump remaining dependencies

* chore(toolkit): remove unused core.start task

* feat(toolkit): use browserlist when building plugins

* chore(toolkit): add browserslist dependency

* refactor(toolkit): resolve style loaders, update postcss options for webpack5

* chore(toolkit): put back grafana/data and grafana/ui

* docs(toolkit): improve instructions for developing toolkit locally

* chore(toolkit): clean up webpack debug and warnings

* chore(input-datasource): remove pnpwebpack plugin and update browserslist to solve failing build

* chore(renovatebot): remove toolkit package.json from ignorePaths

* revert(renovate): put back toolkit package.json in ignorePaths

* feat(toolkit): introduce babel plugins

* refactor(toolkit): remove runtime automatic from preset-react for earlier versions of react

* refactor(toolkit): add missing fallbacks to webpack config

* fix(toolkit): remove spaces from copy webpack glob so files are copied

* refactor(toolkit): fix up babel typescript support and copy browserlist on build

* chore(yarn): refresh lock file

* revert(toolkit): remove browsers list so plugins compile to ES5

* revert(toolkit): remove copying .browserslistrc

(cherry picked from commit f4353bbbc4)
2022-05-26 16:55:05 +02:00
Grot (@grafanabot)
94274ac0ec Query History: Add feature tracking for query history (#49685) (#49711)
* Add feature tracking for query history

* Fix unit tests

* Update event names

(cherry picked from commit e0adb41e80)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-05-26 16:43:52 +02:00
Grot (@grafanabot)
0b05659c69 Chore: Remove deprecated TextDisplayOptions export (#49705) (#49710)
(cherry picked from commit c6ac9410b2)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-26 15:28:55 +01:00
Grot (@grafanabot)
8656591303 Docs: Document Prometheus NaN breaking change (#49688) (#49703) 2022-05-26 15:54:12 +02:00
Grot (@grafanabot)
bdfc7f2a37 Docs: Fix duplicate text in What’s new in Grafana v9.0 (#49699) (#49702)
(cherry picked from commit 668625aaeb)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-26 15:50:23 +02:00
Grot (@grafanabot)
05cd2af454 Chore: Remove usage of deprecated getColorForTheme function (#49519) (#49700)
(cherry picked from commit 308ceebdd1)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-26 14:43:55 +01:00
Joao Silva
7e99d6dc46 TimeRange: Fixes issue when zooming out on a timerange with timespan 0 (#49622) (#49695) 2022-05-26 14:31:46 +01:00
Joao Silva
9f9f8c3a23 Variables: Fixes issue with data source variables not being correctly used in panel queries (#49323) (#49697) 2022-05-26 14:31:33 +01:00
Grot (@grafanabot)
073f747679 Loki code editor: do not run query on blur in explore mode (#49241) (#49696)
* loki code editor: do not run query on blur in explore mode

* loki: code editor: better change tracking

* fixed comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
(cherry picked from commit 386181cf45)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-05-26 15:21:37 +02:00
Grot (@grafanabot)
1c67b35d6b Preferences: Fix updating of preferences for Navbar and Query History (#49677) (#49694)
* Preferences: Fix PUT for Navbar and Query History

* Update linting

* Fix linting

* Use models defined in preference package in preferences

* Remove white space

* Revert "Use models defined in preference package in preferences"

This reverts commit 6f7aa9f8d3.

(cherry picked from commit e25a49ff49)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-05-26 14:57:55 +02:00
Grot (@grafanabot)
a4948e1018 fix: only "swallow" the json() parsing error if the response is empty (#47493) (#49692)
(cherry picked from commit 84b7efb393)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-05-26 14:52:51 +02:00
Grot (@grafanabot)
db1c49a95b Build: Enable long term caching for frontend assets (#47625) (#49691)
* build(webpack): move CopyUniconsPlugin into own file

* chore(webpack): delete unused blobUrl and compile loaders

* build(webpack): prefer contenthash over fullhash for longer caching

* build(webpack): set optimization.moduleIds named only in dev

* build(webpack): introduce HTMLWebpackCSSChunks so templates can access theme css by name

* feat: inject css files with contenthash in html templates

* revert(error-template): remove ContentDeliveryURL from CSS href

* refactor(index-template): update grafanaBootData.themePaths

* chore(webpack): add typescript annotations for CopyUniconsPlugin

(cherry picked from commit 78bef7a26a)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-05-26 14:43:41 +02:00
Grot (@grafanabot)
83b73db401 Alerting: Fix swagger specification (#49273) (#49687)
* Alerting: fix specification

* Update merged swagger specification

(cherry picked from commit 7cf321d7bd)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-05-26 13:56:23 +02:00
Grot (@grafanabot)
e3a35bd2ff Remove migrations from behind configs (#49415) (#49684) 2022-05-26 13:41:03 +02:00
Grot (@grafanabot)
80bf4e2dba ValueMapping: Add support for regex replacement over multiple lines (#49607) (#49683)
(cherry picked from commit e402b3617b)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-26 13:34:39 +02:00
Grot (@grafanabot)
3fac10229b Notification history: Enable by default (#49502) (#49681)
* remove persistNotifications feature flag

* remove unused imports

(cherry picked from commit 8b509eb6dd)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-26 13:19:18 +02:00
Grot (@grafanabot)
4e35edcf07 Fix wrap_handler() panic during OAuth login (#49671) (#49678) 2022-05-26 12:44:13 +02:00
Grot (@grafanabot)
60ddede835 Narrow the alert condition picker (#49570) (#49675)
(cherry picked from commit 20a83ba14f)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-05-26 12:39:49 +02:00
Grot (@grafanabot)
2630dcaea5 Chore: Re-enable skipped test (#49484) (#49676)
* Re-enable skipped test

(cherry picked from commit a008a01315)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-05-26 12:25:18 +02:00
Grot (@grafanabot)
4c6cfdcb7d loki: better unpack handling (#49074) (#49674)
(cherry picked from commit b54817033a)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-05-26 11:43:07 +02:00
Grot (@grafanabot)
d3433be585 loki: added two new functions (#49617) (#49666)
(cherry picked from commit 514d1bbbdd)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-05-26 10:38:22 +02:00
Grot (@grafanabot)
236dabfc1d refactoring: saml (#48114) (#49667)
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
(cherry picked from commit d8d7b3ec9d)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-05-26 10:34:50 +02:00
Grot (@grafanabot)
dd1d1dae04 Alerting: Add stored screenshot utilities to the channels package. (#49470) (#49664)
Adds three functions:
`withStoredImages` iterates over a list of models.Alerts, extracting a stored image's data from storage, if available, and executing a user-provided function.
`withStoredImage` does this for an image attached to a specific alert.
`openImage` finds and opens an image file on disk.

Moves `store.Image` to `models.Image`
Simplifies `channels.ImageStore` interface and updates notifiers that use it to use the simpler methods.
Updates all pkg/alert/notifier/channels to use withStoredImage routines.

(cherry picked from commit 9e8efaa459)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-05-26 16:12:10 +08:00
Grot (@grafanabot)
0a07d97dd1 Old Graph migration: Preserve null values settings (#49493) (#49579)
* Graph migration: Preserve null values settings

* Review

(cherry picked from commit 30880e6e18)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-05-26 00:47:30 -07:00
Grot (@grafanabot)
324dcae868 Prometheus: Fix sort issue in wide frames (#49660) (#49662) 2022-05-26 05:50:53 +02:00
JitaC
09a93b17d9 Docs: Move alert rule section to alerting fundamentals section (#49657)
* initial commit

* Added links to alert rules, and fixes one broken alerting relref.

(cherry picked from commit a968a43e0c)
2022-05-25 19:37:18 -04:00
JitaC
e5248a2aa7 Docs: Created separate section for migration under alerting (#49616) (#49658)
* Lots of changes, including new topic, also fixed all alerting relrefs

* Push stashed change.

* Updated content to reflect that Grafana alerting is enabled during upgrade.

* Fix typo

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

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

* Checkin changes.

* Updates from Chris's review.

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit b5d48d217a)
2022-05-25 19:32:55 -04:00
Grot (@grafanabot)
7ac8527dac Timeseries: fix outside range stale state (#49633) (#49656)
Co-authored-by: Todd Treece <todd.treece@grafana.com>
(cherry picked from commit df90393057)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-25 16:32:33 -07:00
JitaC
7db4119b48 Check in changes. 2022-05-25 19:12:46 -04:00
Grot (@grafanabot)
0726a56956 Util: Improve performance of strings.SplitString (#49115) (#49654)
Replaces the regexp with calls to strings.ReplaceAll and strings.Fields
for simplicity and improved performance.

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
(cherry picked from commit 1f85101787)

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2022-05-25 23:22:50 +02:00
Grot (@grafanabot)
1a69cc5b21 Canvas: Improve changing element options UX (#49555) (#49639)
(cherry picked from commit 2449f62dbe)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-05-25 13:09:28 -07:00
Grot (@grafanabot)
81bf734191 Updated document with Michelle Tan's comments (#49648) (#49651)
(cherry picked from commit 1d7d8bbf96)

Co-authored-by: JitaC <70489351+achatterjee-grafana@users.noreply.github.com>
2022-05-25 15:25:09 -04:00
Grot (@grafanabot)
4a6b94ae8e [v9.0.x] SearchV2 - Fix starred dashboards for new organizations error (#49649)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2022-05-25 21:10:21 +02:00
Grot (@grafanabot)
4bd6f62dfd AccessControl: Replace IsEnterprise checks with license checks (#49572) (#49646)
(cherry picked from commit 5caf97be40)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-25 20:59:47 +02:00
Grot (@grafanabot)
1d4e2d12da Prometheus: Enable prometheusStreamingJSONParser by default (#49475) (#49636)
(cherry picked from commit 70b3a0a500)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-25 19:12:24 +02:00
Grot (@grafanabot)
8f8be23032 Canvas: Fix resize breaking certain constraints (#49551) (#49553)
Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-05-25 09:43:43 -07:00
Grot (@grafanabot)
0cc75cc593 show notification tab only to editor (#49624) (#49632)
(cherry picked from commit 307c207a24)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-05-25 18:36:21 +02:00
JitaC
9e622ec87c Docs: What's new 9.0 (#49453) (#49628)
* initial commit

* Add to index list

* Improvements to intro section

* missing plural

* Minor fixes

* Some more changes.

* Updated image links

* Hide section "InfluxDB: Support for browser access mode removed

* Checkin more changes

* More changes.

* Fixed more image links

* Last batch of changes

* Fixed a few typos and ran prettier.

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-25 12:27:19 -04:00
Grot (@grafanabot)
f966aa3474 Apply .page-toolbar class correctly (#49603) (#49627)
(cherry picked from commit a0b707ebe0)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-25 17:56:52 +02:00
Grot (@grafanabot)
961a8c23de fix broken alias due to #48635 (#49623) (#49626)
(cherry picked from commit f40248a06d)

Co-authored-by: Dan Cech <dcech@grafana.com>
2022-05-25 11:54:38 -04:00
Grot (@grafanabot)
823a3bfbf9 Prometheus: Migrate annotation editor to react (#48814) (#49518)
* Modify the annotation support api

* Migrate annotation editor component

* Update public/app/features/annotations/standardAnnotationSupport.ts

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Move the escape hatches out of the public API

* Fix props transforms

* Break import cycle

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

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-05-25 14:57:20 +02:00
Grot (@grafanabot)
c0286409c6 Query History: Track query history migration failures (#49560) (#49577)
(cherry picked from commit a67add5239)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-05-25 14:22:24 +02:00
Grot (@grafanabot)
7106106e3b Chore: Convert a test from enzyme to testing library (#49492) (#49576)
(cherry picked from commit f93ad85b08)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-05-25 14:21:18 +02:00
Grot (@grafanabot)
a2f5457463 AccessControl: Grant data source reader to all users when running oss (#49514) (#49604)
* grant data source reader to all users when running oss or enterprise
without license

* fix asserts in alerting tests

* add oss licensing service for test setup

* fix tests to pass in enterprise

* lint

* fix tests

* set setting.IsEnterprise flag for tests

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
(cherry picked from commit 1796a1d277)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-25 14:17:14 +02:00
Grot (@grafanabot)
ef458b79d0 AccessControl: Pass current org id to UsersTable (#49584) (#49606)
* Pass current org id to UsersTable

* Mock contextSrv and update snapshot

(cherry picked from commit ef6b53ed23)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-25 14:16:14 +02:00
Grot (@grafanabot)
fc79360e15 Access control: fix a typo for folder actions (#49582) (#49601)
* fix a typo for folder actions

* update dashboard action too

(cherry picked from commit 8d313f54e2)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-05-25 13:28:34 +02:00
Grot (@grafanabot)
8d6b47f11d don't close drawer when clicking a select within it (#49583) (#49600)
(cherry picked from commit 5455174de5)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-25 11:19:17 +00:00
Grot (@grafanabot)
6ab3724a12 AngularSupport: Update description for angular_support_enabled config option (#49569) (#49574)
* AngularSupport: Update description for angular_support_enabled config option

* Update angular deprecration plan doc

* Update

* Update article

* Updated

(cherry picked from commit e1909fe74b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-25 12:07:59 +02:00
Grot (@grafanabot)
312b57aa76 Login: Fix AuthInfo update process (#49556) (#49565)
* Login: Fix AuthInfo update process

* Fix GoDoc

* Add regression test for oauth info overwrite

Co-authored-by: jguer <joao.guerreiro@grafana.com>
(cherry picked from commit 73a729bbe8)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-05-25 10:17:56 +02:00
Grot (@grafanabot)
49e653dbaf Prevent exception when panel has multiple queries (#49368) (#49562)
This fixes the issues that when a panel has multiple queries this throws an exception if source is not part of the current frame

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

Co-authored-by: Ward Bekker <ward@wardbekker.com>
2022-05-25 10:05:02 +02:00
Grot (@grafanabot)
b5da0dcf39 Search: Add primary background for global search container (#49473) (#49499)
* Search: Add primarhy background for global search container

* Fix spacing for ActionRow

* Fixing ts issue

(cherry picked from commit 20f8b8625a)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-25 08:45:19 +02:00
Grot (@grafanabot)
9854234c66 DatePicker: able to set minimum date that can be selected (#49503) (#49505)
(cherry picked from commit d373beeb73)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2022-05-25 06:33:45 +00:00
JitaC
0769151da2 Docs: Fixed typo in what's new in grafana 9 (#49549)
* Fixed typo

* Updated metadata

(cherry picked from commit 3a541ea127)
2022-05-24 22:13:00 -04:00
Grot (@grafanabot)
1e2708cbcf Prometheus: Streaming JSON parser performance improvements (#48792) (#49542)
(cherry picked from commit 94b9c524a8)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-05-24 22:35:19 +02:00
Grot (@grafanabot)
8957e0e7ef upgrade grabpl (#49534) (#49536)
(cherry picked from commit 61101056b6)

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2022-05-24 13:43:14 -05:00
Grot (@grafanabot)
d77a09e2d8 upgrade grabpl (#49534) (#49536)
(cherry picked from commit 61101056b6)

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2022-05-24 20:36:10 +02:00
Grot (@grafanabot)
0704838c95 InfluxDB: Removing influxDB backend migration feature flag (#49531) (#49532)
Removing the `influxdbBackendMigration` feature toggle default value.

(cherry picked from commit 27c26c30d1)

Co-authored-by: Sriram <yesoreyeram@gmail.com>
2022-05-24 18:44:11 +01:00
Grot (@grafanabot)
b8544741aa AzureAD: Fallback to no groups if user does not have permission to query groups from azure (#49506) (#49522)
* If GroupMemver.Read.All permissions is not configured return no groups

* fix log

(cherry picked from commit 624f8ef40d)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-24 18:16:55 +02:00
Grot (@grafanabot)
4dd08e7da6 Alerting: Validate alert notification UID length (#45546) (#49513)
* validate alert notification UID length

* simplify-ish

* remove unused field

* whoopsie

* delete newline

* remove check

* apply feedback

(cherry picked from commit 635fa4ab0f)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-05-24 17:21:27 +02:00
Grot (@grafanabot)
ba4c292f67 Fix escape in Modal/DashboardSettings + add some unit tests (#49500) (#49504)
(cherry picked from commit 8166d7dc4d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-24 16:47:57 +02:00
Grot (@grafanabot)
992d6aeed4 "Release: Updated versions in package to 9.0.0-beta.1" (#49488) 2022-05-24 16:06:14 +02:00
Gilles De Mey
d1b8e51871 Alerting: Make alertmanager datasource stable (#49485) (#49491)
(cherry picked from commit 86871807d2)
2022-05-24 15:45:10 +02:00
Grot (@grafanabot)
fd5ba6514b "Release: Updated versions in package to 9.0.0-beta.1" (#348) 2022-05-24 13:34:21 +03:00
Sofia Papagiannaki
f89df6e171 Merge branch 'main' of github.com:grafana/grafana into v9.0.x 2022-05-24 12:43:30 +03:00
Sofia Papagiannaki
19a5bdc7e1 Update package.json (#347) 2022-05-24 12:30:41 +03:00
907 changed files with 16852 additions and 14563 deletions

View File

@@ -173,9 +173,6 @@ exports[`no enzyme tests`] = {
"public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:4164297658": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:523695501": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/folders/FolderSettingsPage.test.tsx:1109052730": [
[0, 19, 13, "RegExp match", "2409514259"]
],
@@ -203,7 +200,7 @@ exports[`no enzyme tests`] = {
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
"public/app/features/users/UsersListPage.test.tsx:2518052139": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersTable.test.tsx:263958312": [

View File

@@ -15,7 +15,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -80,7 +80,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -168,7 +168,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -434,7 +434,7 @@ services:
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -504,7 +504,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -594,7 +594,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -683,7 +683,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -744,7 +744,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -828,7 +828,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -1261,7 +1261,7 @@ services:
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -1334,7 +1334,7 @@ steps:
name: identify-runner
- commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/windows/grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/windows/grabpl.exe
-OutFile grabpl.exe
image: grafana/ci-wix:0.1.1
name: windows-init
@@ -1422,7 +1422,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -1507,7 +1507,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -1813,7 +1813,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -1937,7 +1937,7 @@ services:
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -2014,7 +2014,7 @@ steps:
name: identify-runner
- commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/windows/grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/windows/grabpl.exe
-OutFile grabpl.exe
image: grafana/ci-wix:0.1.1
name: windows-init
@@ -2073,7 +2073,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -2430,7 +2430,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -2609,7 +2609,7 @@ services:
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -2733,7 +2733,7 @@ steps:
name: identify-runner
- commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/windows/grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/windows/grabpl.exe
-OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
@@ -2808,7 +2808,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -2886,7 +2886,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -2947,7 +2947,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3026,7 +3026,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3088,7 +3088,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3126,7 +3126,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3164,7 +3164,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3220,7 +3220,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3268,7 +3268,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3317,7 +3317,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3593,7 +3593,7 @@ steps:
name: identify-runner
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3711,7 +3711,7 @@ services:
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -3782,7 +3782,7 @@ steps:
name: identify-runner
- commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/windows/grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/windows/grabpl.exe
-OutFile grabpl.exe
image: grafana/ci-wix:0.1.1
name: windows-init
@@ -3830,7 +3830,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -4185,7 +4185,7 @@ services: []
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -4355,7 +4355,7 @@ services:
steps:
- commands:
- mkdir -p bin
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/grabpl
- curl -fL -o bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/grabpl
- chmod +x bin/grabpl
image: byrnedo/alpine-curl:0.1.8
name: grabpl
@@ -4470,7 +4470,7 @@ steps:
name: identify-runner
- commands:
- $$ProgressPreference = "SilentlyContinue"
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.48/windows/grabpl.exe
- Invoke-WebRequest https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v2.9.49/windows/grabpl.exe
-OutFile grabpl.exe
- git clone "https://$$env:GITHUB_TOKEN@github.com/grafana/grafana-enterprise.git"
- cd grafana-enterprise
@@ -4667,6 +4667,6 @@ kind: secret
name: gcp_upload_artifacts_key
---
kind: signature
hmac: 39c6fd27fc223b7bc99242101d28f508cdbbf01b561330bb52979f1d032af5d5
hmac: a697f4b02af2da0fc6c0d751e40e59db542541d6024e5f0c2b062c7060d635ab
...

View File

@@ -305,7 +305,7 @@ content_security_policy = false
# $ROOT_PATH is server.root_url without the protocol.
content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in Grafana v9.
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
angular_support_enabled = true
[security.encryption]
@@ -582,8 +582,6 @@ enabled = false
header_name = X-WEBAUTH-USER
header_property = username
auto_sign_up = true
# Deprecated, use sync_ttl instead
ldap_sync_ttl = 60
sync_ttl = 60
whitelist =
headers =
@@ -1174,9 +1172,6 @@ promQueryBuilder = true
# The new loki visual query builder
lokiQueryBuilder = true
# InfluxDB backend migration
influxdbBackendMigration = true
# Experimental Explore to Dashboard workflow
explore2Dashboard = true

View File

@@ -305,7 +305,7 @@
# $ROOT_PATH is server.root_url without the protocol.
;content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in Grafana v9.
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
;angular_support_enabled = true
[security.encryption]

View File

@@ -1,9 +1,16 @@
+++
aliases = ["/docs/grafana/latest/", "/docs/grafana/latest/guides/reference/admin/", "/docs/grafana/v1.1/", "/docs/grafana/v3.1/"]
description = "Guides, Installation and Feature Documentation"
keywords = ["grafana", "installation", "documentation"]
title = "Grafana documentation"
+++
---
aliases:
- /docs/grafana/latest/
- /docs/grafana/latest/guides/reference/admin/
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
description: Guides, Installation and Feature Documentation
keywords:
- grafana
- installation
- documentation
title: Grafana documentation
---
# Grafana documentation

View File

@@ -1,9 +1,10 @@
+++
aliases = ["/docs/grafana/latest/administration/"]
description = "Administration"
title = "Administration"
weight = 40
+++
---
aliases:
- /docs/grafana/latest/administration/
description: Administration
title: Administration
weight: 40
---
# Administration

View File

@@ -1,10 +1,15 @@
+++
aliases = ["/docs/grafana/latest/administration/cli/"]
description = "Guide to using grafana-cli"
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
title = "Grafana CLI"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/administration/cli/
description: Guide to using grafana-cli
keywords:
- grafana
- cli
- grafana-cli
- command line interface
title: Grafana CLI
weight: 400
---
# Grafana CLI

View File

@@ -1,10 +1,15 @@
+++
aliases = ["/docs/grafana/latest/administration/configuration/", "/docs/grafana/latest/installation/configuration/"]
description = "Configuration documentation"
keywords = ["grafana", "configuration", "documentation"]
title = "Configuration"
weight = 150
+++
---
aliases:
- /docs/grafana/latest/administration/configuration/
- /docs/grafana/latest/installation/configuration/
description: Configuration documentation
keywords:
- grafana
- configuration
- documentation
title: Configuration
weight: 150
---
# Configuration
@@ -602,7 +607,7 @@ Set Content Security Policy template used when adding the Content-Security-Polic
### angular_support_enabled
This currently defaults to `true` but will in Grafana v9 default to `false`. When set to false the angular framework and support components will not be loaded. This means that
This currently defaults to `true` but will default to `false` in a future release. When set to false the angular framework and support components will not be loaded. This means that
all plugins and core features that depend on angular support will stop working.
Current core features that will stop working:

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/administration/configure-docker/", "/docs/grafana/latest/installation/configure-docker/"]
description = "Guide for configuring the Grafana Docker image"
keywords = ["grafana", "configuration", "documentation", "docker"]
title = "Configure Grafana Docker image"
weight = 200
+++
---
aliases:
- /docs/grafana/latest/administration/configure-docker/
- /docs/grafana/latest/installation/configure-docker/
description: Guide for configuring the Grafana Docker image
keywords:
- grafana
- configuration
- documentation
- docker
title: Configure Grafana Docker image
weight: 200
---
# Configure a Grafana Docker image

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/administration/database-encryption/"]
description = "Grafana database encryption"
keywords = ["grafana", "database", "encryption", "envelope encryption", "documentation"]
title = "Database encryption"
weight = 450
+++
---
aliases:
- /docs/grafana/latest/administration/database-encryption/
description: Grafana database encryption
keywords:
- grafana
- database
- encryption
- envelope encryption
- documentation
title: Database encryption
weight: 450
---
# Grafana database encryption

View File

@@ -1,10 +1,14 @@
+++
aliases = ["/docs/grafana/latest/administration/jaeger-instrumentation/"]
description = "Jaeger traces emitted and propagation by Grafana"
keywords = ["grafana", "jaeger", "tracing"]
title = "Jaeger instrumentation"
weight = 900
+++
---
aliases:
- /docs/grafana/latest/administration/jaeger-instrumentation/
description: Jaeger traces emitted and propagation by Grafana
keywords:
- grafana
- jaeger
- tracing
title: Jaeger instrumentation
weight: 900
---
# Jaeger instrumentation

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/administration/change-your-password/", "/docs/grafana/latest/administration/manage-user-preferences/"]
description = "Learn how to update your user preferences and switch organizations"
keywords = ["password", "change", "organization", "change"]
title = "Manage user preferences"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/administration/change-your-password/
- /docs/grafana/latest/administration/manage-user-preferences/
description: Learn how to update your user preferences and switch organizations
keywords:
- password
- change
- organization
- change
title: Manage user preferences
weight: 400
---
# Manage user preferences

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/"]
title = "Manage users and permissions"
weight = 200
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/
title: Manage users and permissions
weight: 200
---
# Manage users and permissions

View File

@@ -1,8 +1,13 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/", "/docs/grafana/latest/manage-users/", "/docs/grafana/latest/permissions/", "/docs/grafana/latest/permissions/organization_roles/", "/docs/grafana/latest/permissions/overview/"]
title = "About users and permissions"
weight = 100
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/
- /docs/grafana/latest/manage-users/
- /docs/grafana/latest/permissions/
- /docs/grafana/latest/permissions/organization_roles/
- /docs/grafana/latest/permissions/overview/
title: About users and permissions
weight: 100
---
# About users and permissions

View File

@@ -1,8 +1,10 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/", "/docs/grafana/latest/permissions/dashboard_folder_permissions/"]
title = "Manage dashboard permissions"
weight = 500
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/
- /docs/grafana/latest/permissions/dashboard_folder_permissions/
title: Manage dashboard permissions
weight: 500
---
# Manage dashboard permissions

View File

@@ -1,8 +1,10 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/", "/docs/grafana/latest/manage-users/org-admin/"]
title = "Manage users in an organization"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/
- /docs/grafana/latest/manage-users/org-admin/
title: Manage users in an organization
weight: 400
---
# Manage users in an organization

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/"]
title = "Change a user's organization permissions"
weight = 30
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/
title: Change a user's organization permissions
weight: 30
---
# Change a user's organization permissions

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/"]
title = "Invite a user to join an organization"
weight = 10
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/
title: Invite a user to join an organization
weight: 10
---
# Invite a user to join an organization

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/"]
title = "Manage a pending invitation"
weight = 20
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/
title: Manage a pending invitation
weight: 20
---
# Manage a pending invitation

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/"]
title = "Remove a user from an organization"
weight = 40
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/
title: Remove a user from an organization
weight: 40
---
# Remove a user from an organization

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/"]
title = "View a list of organization users"
weight = 50
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/
title: View a list of organization users
weight: 50
---
# View a list of organization users

View File

@@ -1,8 +1,11 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/", "/docs/grafana/latest/manage-users/server-admin/", "/docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/"]
title = "Manage users globally"
weight = 300
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/
- /docs/grafana/latest/manage-users/server-admin/
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/
title: Manage users globally
weight: 300
---
# Manage users globally

View File

@@ -1,8 +1,10 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org/", "/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/"]
title = "Add or remove a user from an organization"
weight = 30
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/
title: Add or remove a user from an organization
weight: 30
---
# Add a user to an organization

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/"]
title = "Add a user"
weight = 10
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/
title: Add a user
weight: 10
---
# Add a user

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/"]
title = "Assign or remove Grafana server administrator privileges"
weight = 20
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
title: Assign or remove Grafana server administrator privileges
weight: 20
---
# Assign or remove Grafana server administrator privileges

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/"]
title = "Change a user's organization permissions"
weight = 50
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/
title: Change a user's organization permissions
weight: 50
---
# Change a user's organization permissions

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/"]
title = "Force a user to logout from Grafana"
weight = 90
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/
title: Force a user to logout from Grafana
weight: 90
---
# Force a user to log out of Grafana

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/"]
title = "Grant editors administrator permissions"
weight = 60
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
title: Grant editors administrator permissions
weight: 60
---
# Grant editors administrator permissions

View File

@@ -1,8 +1,10 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account/", "/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-user-account-details/"]
title = "View and edit a user account"
weight = 110
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-user-account-details/
title: View and edit a user account
weight: 110
---
# View user details

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/"]
title = "View a list of users"
weight = 100
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/
title: View a list of users
weight: 100
---
# View a list of users

View File

@@ -1,8 +1,12 @@
+++
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-teams/", "/docs/grafana/latest/manage-users/add-or-remove-user-from-team/", "/docs/grafana/latest/manage-users/create-or-remove-team/", "/docs/grafana/latest/manage-users/manage-teams/"]
title = "Manage teams"
weight = 600
+++
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-teams/
- /docs/grafana/latest/manage-users/add-or-remove-user-from-team/
- /docs/grafana/latest/manage-users/create-or-remove-team/
- /docs/grafana/latest/manage-users/manage-teams/
title: Manage teams
weight: 600
---
# Manage teams

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/preferences/"]
title = "Preferences"
weight = 50
+++
---
aliases:
- /docs/grafana/latest/administration/preferences/
title: Preferences
weight: 50
---
# Grafana preferences

View File

@@ -1,9 +1,14 @@
+++
aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-name/"]
keywords = ["grafana", "configuration", "documentation", "home"]
title = "Change name and email"
weight = 100
+++
---
aliases:
- /docs/grafana/latest/administration/preferences/change-grafana-name/
keywords:
- grafana
- configuration
- documentation
- home
title: Change name and email
weight: 100
---
# Change Grafana name and email

View File

@@ -1,10 +1,15 @@
+++
aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-theme/"]
description = "How to set the Grafana UI theme"
keywords = ["grafana", "configuration", "documentation", "home"]
title = "Change UI theme"
weight = 200
+++
---
aliases:
- /docs/grafana/latest/administration/preferences/change-grafana-theme/
description: How to set the Grafana UI theme
keywords:
- grafana
- configuration
- documentation
- home
title: Change UI theme
weight: 200
---
# Change Grafana UI theme

View File

@@ -1,10 +1,15 @@
+++
aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-timezone/"]
description = "How to change your Grafana timezone"
keywords = ["grafana", "configuration", "documentation", "home"]
title = "Change default timezone"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/administration/preferences/change-grafana-timezone/
description: How to change your Grafana timezone
keywords:
- grafana
- configuration
- documentation
- home
title: Change default timezone
weight: 400
---
# Change the Grafana default timezone

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/administration/change-home-dashboard/", "/docs/grafana/latest/administration/preferences/change-home-dashboard/"]
description = "How to replace the default home dashboard"
keywords = ["grafana", "configuration", "documentation", "home"]
title = "Change home dashboard"
weight = 300
+++
---
aliases:
- /docs/grafana/latest/administration/change-home-dashboard/
- /docs/grafana/latest/administration/preferences/change-home-dashboard/
description: How to replace the default home dashboard
keywords:
- grafana
- configuration
- documentation
- home
title: Change home dashboard
weight: 300
---
# Change the default home dashboard

View File

@@ -1,10 +1,14 @@
+++
aliases = ["/docs/grafana/latest/administration/provisioning/", "/docs/grafana/latest/installation/provisioning/"]
description = ""
keywords = ["grafana", "provisioning"]
title = "Provisioning"
weight = 800
+++
---
aliases:
- /docs/grafana/latest/administration/provisioning/
- /docs/grafana/latest/installation/provisioning/
description: ''
keywords:
- grafana
- provisioning
title: Provisioning
weight: 800
---
# Provisioning Grafana

View File

@@ -1,10 +1,15 @@
+++
aliases = ["/docs/grafana/latest/administration/security/", "/docs/grafana/latest/installation/security/"]
description = "Security Docs"
keywords = ["grafana", "security", "documentation"]
title = "Security"
weight = 500
+++
---
aliases:
- /docs/grafana/latest/administration/security/
- /docs/grafana/latest/installation/security/
description: Security Docs
keywords:
- grafana
- security
- documentation
title: Security
weight: 500
---
# Security

View File

@@ -1,9 +1,15 @@
+++
aliases = ["/docs/grafana/latest/administration/set-up-for-high-availability/", "/docs/grafana/latest/tutorials/ha_setup/"]
keywords = ["grafana", "tutorials", "HA", "high availability"]
title = "Set up Grafana for high availability"
weight = 1200
+++
---
aliases:
- /docs/grafana/latest/administration/set-up-for-high-availability/
- /docs/grafana/latest/tutorials/ha_setup/
keywords:
- grafana
- tutorials
- HA
- high availability
title: Set up Grafana for high availability
weight: 1200
---
# Set up Grafana for high availability

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/administration/view-server/"]
title = "View server"
weight = 100
+++
---
aliases:
- /docs/grafana/latest/administration/view-server/
title: View server
weight: 100
---
# View server information

View File

@@ -1,10 +1,15 @@
+++
aliases = ["/docs/grafana/latest/admin/metrics/", "/docs/grafana/latest/administration/view-server/internal-metrics/"]
description = "Internal metrics exposed by Grafana"
keywords = ["grafana", "metrics", "internal metrics"]
title = "Internal Grafana metrics"
weight = 200
+++
---
aliases:
- /docs/grafana/latest/admin/metrics/
- /docs/grafana/latest/administration/view-server/internal-metrics/
description: Internal metrics exposed by Grafana
keywords:
- grafana
- metrics
- internal metrics
title: Internal Grafana metrics
weight: 200
---
# Internal Grafana metrics

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/admin/view-server-settings/", "/docs/grafana/latest/administration/view-server/view-server-settings/"]
description = "How to view server settings in the Grafana UI"
keywords = ["grafana", "configuration", "server", "settings"]
title = "View server settings"
weight = 300
+++
---
aliases:
- /docs/grafana/latest/admin/view-server-settings/
- /docs/grafana/latest/administration/view-server/view-server-settings/
description: How to view server settings in the Grafana UI
keywords:
- grafana
- configuration
- server
- settings
title: View server settings
weight: 300
---
# View Grafana server settings

View File

@@ -1,9 +1,14 @@
+++
aliases = ["/docs/grafana/latest/admin/view-server-stats/", "/docs/grafana/latest/administration/view-server/view-server-stats/"]
keywords = ["grafana", "server", "statistics"]
title = "View server stats"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/admin/view-server-stats/
- /docs/grafana/latest/administration/view-server/view-server-stats/
keywords:
- grafana
- server
- statistics
title: View server stats
weight: 400
---
# View Grafana server stats

View File

@@ -1,8 +1,10 @@
+++
aliases = ["/docs/grafana/latest/alerting/", "/docs/grafana/latest/alerting/unified-alerting/difference-old-new/"]
title = "Alerting"
weight = 114
+++
---
aliases:
- /docs/grafana/latest/alerting/
- /docs/grafana/latest/alerting/unified-alerting/alerting/
title: Alerting
weight: 114
---
# Grafana alerting
@@ -18,13 +20,13 @@ For new installations or existing installs without alerting configured, Grafana
| ----------- | ------------- | ------------- | ------------- |
| Grafana 9.0 | On by default | On by default | On by default |
- For existing OSS installations with legacy dashboard alerting, you can [opt-in]({{< relref "./opt-in.md" >}}) to Grafana alerting.
- For Grafana Cloud instances using legacy cloud alerting, contact customer support to migrate to Grafana alerting.
Existing installations that upgrade to v9.0 will have Grafana alerting enabled by default. For more information on migrating from legacy or the cloud alerting plugin, see [Migrating to Grafana alerting]({{< relref "./migrating-alerts/_index.md" >}}).
Before you begin, we recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "./fundamentals/_index.md" >}}) of Grafana alerting. Refer to [Role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to learn more about controlling access to alerts using role-based permissions.
- [Enable Grafana alerting in OSS]({{< relref "./opt-in.md" >}})
- [Migrating legacy alerts]({{< relref "./migrating-legacy-alerts.md" >}})
- [About alert rules]({{< relref "./fundamentals/alert-rules/_index.md" >}})
- [Migrating legacy alerts]({{< relref "./migrating-alerts/_index.md" >}})
- [Disable Grafana alerting in OSS]({{< relref "./migrating-alerts/opt-out.md" >}})
- [Create Grafana managed alerting rules]({{< relref "alerting-rules/create-grafana-managed-rule.md" >}})
- [Create Grafana Mimir or Loki managed alerting rules]({{< relref "alerting-rules/create-mimir-loki-managed-rule.md" >}})
- [View existing alerting rules and manage their current state]({{< relref "alerting-rules/rule-list.md" >}})

View File

@@ -0,0 +1,33 @@
---
aliases:
- /docs/grafana/latest/alerting/about-alerting/
description: A quick overview of Grafana alerting
keywords:
- grafana
- alerting
- overview
- concepts
- basics
title: About Grafana alerting
weight: 100
---
# About Grafana alerting
Grafana Alerting consists of several individual concepts that are at the core of a flexible and powerful alerting engine.
This topic explains how to create [alert rules]({{< relref "./fundamentals/alert-rules/_index.md" >}}), their relationship with [alert instances]({{< relref "./fundamentals/alert-rules/alert-instances.md" >}}) and the various alert rule [states and transitions]({{< relref "./fundamentals/state-and-health.md" >}}), [notification policies]({{< relref "./notifications/_index.md" >}}) and [contact points]({{< relref "./contact-points/_index.md" >}}).
These three individual concepts are the minimum necessities to successfully create alerts and receive notifications.
We will also touch on various other concepts such as [silences]({{< relref "./silences/_index.md" >}}) and [mute timings]({{< relref "./notifications/mute-timings.md" >}}) to more granularly manage alert notifications, [role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) to limit access and manage permissions and additional advanced topics such as [external alertmanagers]({{< relref "./fundamentals/alertmanager.md#add-a-new-external-alertmanager" >}}) and [high availability]({{< relref "./high-availability/_index.md" >}}).
## Overview
{{< figure src="/static/img/docs/alerting/unified/about-alerting-flow-diagram.jpg" caption="Grafana alerting overview" >}}
As shown in the diagram above, Grafana alerting uses [labels]({{< relref "./fundamentals/annotation-label/how-to-use-labels.md" >}}) to match an alert rule and its instances to a specific notification policy. This concept of labels and label matching is important and is also used in [silences]({{< relref "./silences/_index.md" >}}).
Each notification policy specifies a set of [label matchers]({{< relref "./fundamentals/annotation-label/labels-and-label-matchers.md" >}}) to indicate what alerts they are responsible for.
A notification policy has a [contact point]({{< relref "./contact-points/_index.md" >}}) assigned to it that consists of one or more [notifiers]({{< relref "./contact-points/_index.md#list-of-notifiers-supported-by-grafana" >}}).

View File

@@ -1,10 +1,15 @@
+++
title = "Alert groups"
description = "Alert groups"
keywords = ["grafana", "alerting", "alerts", "groups"]
weight = 445
aliases = ["/docs/grafana/latest/alerting/unified-alerting/alert-groups/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
description: Alert groups
keywords:
- grafana
- alerting
- alerts
- groups
title: Alert groups
weight: 445
---
# Alert groups

View File

@@ -1,10 +1,15 @@
+++
title = "Filter alerts"
description = "Alert groups"
keywords = ["grafana", "alerting", "alerts", "groups"]
weight = 445
aliases = ["/docs/grafana/latest/alerting/unified-alerting/alert-groups/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
description: Alert groups
keywords:
- grafana
- alerting
- alerts
- groups
title: Filter alerts
weight: 445
---
# Filter alerts by group

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/alerting/alert-groups/", "/docs/grafana/latest/alerting/unified-alerting/alert-groups/"]
description = "Alert groups"
keywords = ["grafana", "alerting", "alerts", "groups"]
title = "View alert groupings"
weight = 445
+++
---
aliases:
- /docs/grafana/latest/alerting/alert-groups/
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
description: Alert groups
keywords:
- grafana
- alerting
- alerts
- groups
title: View alert groupings
weight: 445
---
# View alert groupings

View File

@@ -1,8 +1,9 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-limitations/"]
title = "Limitations"
weight = 552
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-limitations/
title: Limitations
weight: 552
---
# Limitations

View File

@@ -1,8 +1,11 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/", "/docs/grafana/latest/alerting/rules/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/"]
title = "Create and manage rules"
weight = 130
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/
- /docs/grafana/latest/alerting/rules/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/
title: Create and manage rules
weight: 130
---
# Create and manage Grafana alerting rules

View File

@@ -1,41 +1,48 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/"]
description = "Create Grafana managed alert rule"
keywords = ["grafana", "alerting", "guide", "rules", "create"]
title = "Create Grafana managed alert rule"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/
description: Create Grafana managed alert rule
keywords:
- grafana
- alerting
- guide
- rules
- create
title: Create Grafana managed alert rule
weight: 400
---
# Create a Grafana managed alerting rule
Grafana allows you to create alerting rules that query one or more data sources, reduce or transform the results and compare them to each other or to fix thresholds. When these are executed, Grafana sends notifications to the contact point.
Grafana allows you to create alerting rules that query one or more data sources, reduce or transform the results and compare them to each other or to fix thresholds. When these are executed, Grafana sends notifications to the contact point. For information on Grafana alerting, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting.
## Add Grafana managed rule
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. Click **New alert rule**.
1. In Step 1, add the rule name, type, and storage location.
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
- From the **Rule type** drop-down, select **Grafana managed alert**.
- From the **Folder** drop-down, select the folder where you want to store the rule. If you do not select a folder, the rule is stored in the General folder. To create a new folder, click the drop-down and enter the new folder name.
1. In Step 2, add queries and expressions to evaluate.
- Keep the default name or hover over and click the edit icon to change the name.
1. Click **New alert rule**. The new alerting rule page opens where the Grafana managed alerts option is selected by default.
1. In Step 1, add queries and expressions to evaluate, and then select the alert condition.
- For queries, select a data source from the drop-down.
- Add one or more [queries]({{< relref "../../panels/query-a-data-source/add-a-query.md" >}}) or [expressions]({{< relref "../../panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md" >}}).
- For each expression, select either **Classic condition** to create a single alert rule, or choose from **Math**, **Reduce**, **Resample** options to generate separate alert for each series. For details on these options, see [Single and multi dimensional rule](#single-and-multi-dimensional-rule).
- Click **Run queries** to verify that the query is successful.
1. In Step 3, add conditions.
- Next, select the query or expression for your alert condition.
1. In Step 2, specify the alert evaluation interval.
- From the **Condition** drop-down, select the query or expression to trigger the alert rule.
- For **Evaluate every**, specify the frequency of evaluation. Must be a multiple of 10 seconds. For examples, `1m`, `30s`.
- For **Evaluate for**, specify the duration for which the condition must be true before an alert fires.
> **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the Firing state, else it reverts back to the Normal state.
> **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the `Firing` state, otherwise it reverts back to the `Normal` state.
- In **Configure no data and error handling**, configure alerting behavior in the absence of data. Use the guidelines in [No data and error handling](#no-data-and-error-handling).
- Click **Preview alerts** to check the result of running the query at this moment. Preview excludes no data and error handling.
1. In Step 4, add additional metadata associated with the rule.
1. In Step 3, add the rule name, storage location, rule group, as well as additional metadata associated with the rule.
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
- From the **Folder** drop-down, select the folder where you want to store the rule.
- For **Group**, specify a pre-defined group. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
- Add custom labels.
1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page.
1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule.
### Single and multi dimensional rule

View File

@@ -1,10 +1,19 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/"]
description = "Create Grafana Mimir or Loki managed recording rule"
keywords = ["grafana", "alerting", "guide", "rules", "recording rules", "create"]
title = "Create Grafana Mimir or Loki managed recording rule"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
description: Create Grafana Mimir or Loki managed recording rule
keywords:
- grafana
- alerting
- guide
- rules
- recording rules
- create
title: Create Grafana Mimir or Loki managed recording rule
weight: 400
---
# Create a Grafana Mimir or Loki managed recording rule
@@ -12,16 +21,35 @@ You can create and manage recording rules for an external Grafana Mimir or Loki
## Before you begin
For Grafana Mimir and Loki data sources to work with Grafana 8.0 alerting, enable the ruler API by configuring their respective services.
- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
**Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
- For Grafana Mimir and Loki data sources, enable the ruler API by configuring their respective services.
**Grafana Mimir** - When configuring a Grafana Prometheus data source to point to Grafana Mimir, use the legacy `/api/prom` prefix, not `/prometheus`. Currently, we support only single-binary mode and you cannot provide a separate URL for the ruler API.
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings page and clear the **Manage alerts via Alerting UI** checkbox.
- **Grafana Mimir** - use the [legacy `/api/prom` prefix](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#path-prefixes), not `/prometheus`. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
## Add a Grafana Mimir or Loki managed recording rule
To create a Grafana Mimir or Loki managed recording rule
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. Click **New alert rule**. The new alerting rule page opens where the **Grafana managed alert** option is selected by default.
1. In Step 1, select **Mimir or Loki recording rule** option.
- Select your Loki or Prometheus data source, add the query to evaluate, and then select the alert condition.
- Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
1. In Step 2, add the rule name, namespace, rule group, as well as additional metadata associated with the rule.
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
- From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}).
- From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
- Add custom labels.
1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page.
1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule.
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. Click **New alert rule**.
1. In Step 1, add the rule name, type, and storage location.

View File

@@ -1,18 +1,26 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/"]
description = "Create Grafana Mimir or Loki managed alerting rule"
keywords = ["grafana", "alerting", "guide", "rules", "create"]
title = "Create Grafana Mimir or Loki managed alert rule"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
description: Create Grafana Mimir or Loki managed alerting rule
keywords:
- grafana
- alerting
- guide
- rules
- create
title: Create Grafana Mimir or Loki managed alert rule
weight: 400
---
# Create a Grafana Mimir or Loki managed alerting rule
Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance.
Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance that has ruler API enabled. For information on Grafana alerting, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting.
## Before you begin
- Verify that you have write permission to the Prometheus data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
- For Grafana Mimir and Loki data sources, enable the ruler API by configuring their respective services.
@@ -25,23 +33,19 @@ Grafana allows you to create alerting rules for an external Grafana Mimir or Lok
## Add a Grafana Mimir or Loki managed alerting rule
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. Click **New alert rule**.
1. In Step 1, add the rule name, type, and storage location.
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
- From the **Rule type** drop-down, select **Mimir / Loki managed alert**.
- From the **Select data source** drop-down, select an external Prometheus, an external Loki, or a Grafana Cloud data source.
- From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}).
- From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
{{< figure src="/static/img/docs/alerting/unified/rule-edit-mimir-alert-type-8-0.png" max-width="550px" caption="Alert details" >}}
1. In Step 2, add the query to evaluate.
- Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
{{< figure src="/static/img/docs/alerting/unified/rule-edit-mimir-query-8-0.png" max-width="550px" caption="Alert details" >}}
1. In Step 3, add conditions.
1. Click **New alert rule**. The new alerting rule page opens where the Grafana managed alerts option is selected by default.
1. In Step 1, select **Mimir or Loki alert** option.
- Next, select your Loki or Prometheus data source and add the query to evaluate.
- Enter a PromQL or LogQL expression to query. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
1. In Step 2, specify the alert evaluation interval.
- In the **For** text box, specify the duration for which the condition must be true before an alert fires. If you specify `5m`, the condition must be true for 5 minutes before the alert fires.
> **Note:** Once a condition is met, the alert goes into the `Pending` state. If the condition remains active for the duration specified, the alert transitions to the `Firing` state, else it reverts to the `Normal` state.
1. In Step 4, add additional metadata associated with the rule.
1. In Step 3, add the rule name, namespace, rule group, as well as additional metadata associated with the rule.
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
- From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}).
- From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}).
- Add Runbook URL, panel, dashboard, and alert IDs.
- Add custom labels.
1. To evaluate the rule and see what alerts it would produce, click **Preview alerts**. It will display a list of alerts with state and value of for each one.
1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page.
1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule.

View File

@@ -1,10 +1,20 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/edit-mimir-loki-namespace-group/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/"]
description = "Edit Grafana Mimir or Loki rule groups and namespaces"
keywords = ["grafana", "alerting", "guide", "group", "namespace", "grafana mimir", "loki"]
title = "Grafana Mimir or Loki rule groups and namespaces"
weight = 405
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/edit-mimir-loki-namespace-group/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
description: Edit Grafana Mimir or Loki rule groups and namespaces
keywords:
- grafana
- alerting
- guide
- group
- namespace
- grafana mimir
- loki
title: Grafana Mimir or Loki rule groups and namespaces
weight: 405
---
# Grafana Mimir or Loki rule groups and namespaces

View File

@@ -1,10 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/rule-list/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/"]
description = "Manage alerting rules"
keywords = ["grafana", "alerting", "guide", "rules", "view"]
title = "Manage alerting rules"
weight = 402
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/rule-list/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/
description: Manage alerting rules
keywords:
- grafana
- alerting
- guide
- rules
- view
title: Manage alerting rules
weight: 402
---
# Manage alerting rules

View File

@@ -1,10 +1,18 @@
+++
aliases = ["/docs/grafana/latest/alerting/contact-points/", "/docs/grafana/latest/alerting/unified-alerting/contact-points/"]
description = "Create or edit contact point"
keywords = ["grafana", "alerting", "guide", "contact point", "notification channel", "create"]
title = "Contact points"
weight = 430
+++
---
aliases:
- /docs/grafana/latest/alerting/contact-points/
- /docs/grafana/latest/alerting/unified-alerting/contact-points/
description: Create or edit contact point
keywords:
- grafana
- alerting
- guide
- contact point
- notification channel
- create
title: Contact points
weight: 430
---
# Contact points
@@ -12,199 +20,11 @@ Use contact points to define how your contacts are notified when an alert fires.
You can configure Grafana managed contact points as well as contact points for an [external Alertmanager data source]({{< relref "../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "../fundamentals/alertmanager.md" >}}).
## Add a contact point
Before you begin, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting.
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. Click **Contact points** to open the page listing existing contact points.
1. Click **New contact point**.
1. From the **Alertmanager** dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected.
1. In **Name**, enter a descriptive name for the contact point.
1. From **Contact point type**, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted.
1. Some contact point types, like email or webhook, have optional settings. In **Optional settings**, specify additional settings for the selected contact point type.
1. In Notification settings, optionally select **Disable resolved message** if you do not want to be notified when an alert resolves.
1. To add another contact point type, click **New contact point type** and repeat steps 6 through 8.
1. Click **Save contact point** to save your changes.
## Edit a contact point
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. Find the contact point to edit, then click **Edit** (pen icon).
1. Make any changes and click **Save contact point**.
## Test a contact point
For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.
To send a test notification:
1. In the Grafana side bar, hover your cursor over the **Alerting** (bell) icon and then click **Contact** points.
1. Find the contact point to test, then click **Edit** (pen icon). You can also create a new contact point if needed.
1. Click **Test** (paper airplane icon) to open the contact point testing modal.
1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification.
1. Click **Send test notification** to fire the alert.
## Delete a contact point
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. Find the contact point to delete, then click **Delete** (trash icon).
1. In the confirmation dialog, click **Yes, delete**.
> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the [notification policy]({{< relref "../notifications/_index.md" >}}) or update it to use another contact point.
## Edit Alertmanager global config
To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types:
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. From the **Alertmanager** drop-down, select an external Alertmanager data source.
1. Click the **Edit global config** option.
1. Add global configuration settings.
1. Click **Save global config** to save your changes.
> **Note** This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via [Grafana configuration]({{< relref "../../administration/configuration.md" >}}).
## List of notifiers supported by Grafana
| Name | Type | Grafana Alertmanager | Other Alertmanagers |
| --------------------------------------------- | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
| [DingDing](#dingdingdingtalk) | `dingding` | Supported | N/A |
| [Discord](#discord) | `discord` | Supported | N/A |
| [Email](#email) | `email` | Supported | Supported |
| [Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | Supported | N/A |
| [Kafka](#kafka) | `kafka` | Supported | N/A |
| Line | `line` | Supported | N/A |
| Microsoft Teams | `teams` | Supported | N/A |
| [Opsgenie](#opsgenie) | `opsgenie` | Supported | Supported |
| [Pagerduty](#pagerduty) | `pagerduty` | Supported | Supported |
| Prometheus Alertmanager | `prometheus-alertmanager` | Supported | N/A |
| [Pushover](#pushover) | `pushover` | Supported | Supported |
| Sensu | `sensu` | Supported | N/A |
| [Sensu Go](#sensu-go) | `sensugo` | Supported | N/A |
| [Slack](#slack) | `slack` | Supported | Supported |
| Telegram | `telegram` | Supported | N/A |
| Threema | `threema` | Supported | N/A |
| VictorOps | `victorops` | Supported | Supported |
| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
| [WeCom](#wecom) | `wecom` | Supported | N/A |
| [Zenduty](#zenduty) | `webhook` | Supported | N/A |
### Webhook
Example JSON body:
```json
{
"receiver": "My Super Webhook",
"status": "firing",
"orgId": 1,
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "High memory usage",
"team": "blue",
"zone": "us-1"
},
"annotations": {
"description": "The system has high memory usage",
"runbook_url": "https://myrunbook.com/runbook/1234",
"summary": "This alert was triggered for zone us-1"
},
"startsAt": "2021-10-12T09:51:03.157076+02:00",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit",
"fingerprint": "c6eadffa33fcdf37",
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1",
"dashboardURL": "",
"panelURL": "",
"valueString": "[ metric='' labels={} value=14151.331895396988 ]"
},
{
"status": "firing",
"labels": {
"alertname": "High CPU usage",
"team": "blue",
"zone": "eu-1"
},
"annotations": {
"description": "The system has high CPU usage",
"runbook_url": "https://myrunbook.com/runbook/1234",
"summary": "This alert was triggered for zone eu-1"
},
"startsAt": "2021-10-12T09:56:03.157076+02:00",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit",
"fingerprint": "bc97ff14869b13e3",
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1",
"dashboardURL": "",
"panelURL": "",
"valueString": "[ metric='' labels={} value=47043.702386305304 ]"
}
],
"groupLabels": {},
"commonLabels": {
"team": "blue"
},
"commonAnnotations": {},
"externalURL": "https://play.grafana.org/",
"version": "1",
"groupKey": "{}:{}",
"truncatedAlerts": 0,
"title": "[FIRING:2] (blue)",
"state": "alerting",
"message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n"
}
```
### Webhook fields
#### Body
| Key | Type | Description |
| ----------------- | ------------------------- | ------------------------------------------------------------------------------- |
| receiver | string | Name of the webhook |
| status | string | Current status of the alert, `firing` or `resolved` |
| orgId | number | ID of the organization related to the payload |
| alerts | array of [alerts](#alert) | Alerts that are triggering |
| groupLabels | object | Labels that are used for grouping, map of string keys to string values |
| commonLabels | object | Labels that all alarms have in common, map of string keys to string values |
| commonAnnotations | object | Annotations that all alarms have in common, map of string keys to string values |
| externalURL | string | External URL to the Grafana instance sending this webhook |
| version | string | Version of the payload |
| groupKey | string | Key that is used for grouping |
| truncatedAlerts | number | Number of alerts that were truncated |
| title | string | **Will be deprecated soon** |
| state | string | **Will be deprecated soon** |
| message | string | **Will be deprecated soon** |
#### Alert
| Key | Type | Description |
| ------------ | ------ | ---------------------------------------------------------------------------------- |
| status | string | Current status of the alert, `firing` or `resolved` |
| labels | object | Labels that are part of this alert, map of string keys to string values |
| annotations | object | Annotations that are part of this alert, map of string keys to string values |
| startsAt | string | Start time of the alert |
| endsAt | string | End time of the alert, default value when not resolved is `0001-01-01T00:00:00Z` |
| valueString | string | Values that triggered the current status |
| generatorURL | string | URL of the alert rule in the Grafana UI |
| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint |
| silenceURL | string | URL to silence the alert rule in the Grafana UI |
| dashboardURL | string | **Will be deprecated soon** |
| panelURL | string | **Will be deprecated soon** |
#### Removed fields related to dashboards
Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
### WeCom
WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:
1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to
2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot"
3. There should be a Webhook URL in the panel.
| Setting | Description |
| ------- | ------------------ |
| Url | WeCom webhook URL. |
- [Create contact point]({{< relref "./create-contact-point.md" >}})
- [Edit contact point]({{< relref "./edit-contact-point.md" >}})
- [Test contact point]({{< relref "./test-contact-point.md" >}})
- [Delete contact point]({{< relref "./delete-contact-point.md" >}})
- [List of notifiers]({{< relref "./notifiers/_index.md" >}})
- [Message templating]({{< relref "./message-templating/_index.md" >}})

View File

@@ -0,0 +1,31 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Add contact point
weight: 100
---
# Add a contact point
Use contact points to define how your contacts are notified when an alert fires.
To add a contact point
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. Click **Contact points** to open the page listing existing contact points.
1. Click **New contact point**.
1. From the **Alertmanager** dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected.
1. In **Name**, enter a descriptive name for the contact point.
1. From **Contact point type**, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted.
1. Some contact point types, like email or webhook, have optional settings. In **Optional settings**, specify additional settings for the selected contact point type.
1. In Notification settings, optionally select **Disable resolved message** if you do not want to be notified when an alert resolves.
1. To add another contact point type, click **New contact point type** and repeat steps 6 through 8.
1. Click **Save contact point** to save your changes.

View File

@@ -0,0 +1,26 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Delete a contact point
weight: 115
---
## Delete a contact point
For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.
To delete a contact point
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. Find the contact point to delete, then click **Delete** (trash icon).
1. In the confirmation dialog, click **Yes, delete**.
> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the [notification policy]({{< relref "../notifications/_index.md" >}}) or update it to use another contact point.

View File

@@ -0,0 +1,26 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Edit contact point
weight: 120
---
# Edit Alertmanager global config
To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types:
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. From the **Alertmanager** drop-down, select an external Alertmanager data source.
1. Click the **Edit global config** option.
1. Add global configuration settings.
1. Click **Save global config** to save your changes.
> **Note** This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via [Grafana configuration]({{< relref "../../administration/configuration.md" >}})

View File

@@ -0,0 +1,24 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Edit contact point
weight: 105
---
# Edit a contact point
Use contact points to define how your contacts are notified when an alert fires.
To edit a contact point
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. Find the contact point to edit, then click **Edit** (pen icon).
1. Make any changes and click **Save contact point**.

View File

@@ -1,10 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/message-templating/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/"]
description = "Message templating"
keywords = ["grafana", "alerting", "guide", "contact point", "templating"]
title = "Message templating"
weight = 400
+++
---
aliases:
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
description: Message templating
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Message templating
weight: 400
---
# Message templating
@@ -16,41 +23,11 @@ Since most of the contact point fields can be templated, you can create reusable
The following example shows how to use default templates to render an alert message in Slack. The message title contains a count of alerts that are firing or were resolved. The message body lists the alerts and their status.
<img src="/static/img/docs/alerting/unified/contact-points-template-fields-8-0.png" width="450px">
{{< figure src="/static/img/docs/alerting/unified/contact-points-template-fields-8-0.png" class="docs-image--no-shadow" max-width= "550px" caption="Default template" >}}
The following example shows the use of a custom template within one of the contact point fields.
<img src="/static/img/docs/alerting/unified/contact-points-use-template-8-0.png" width="400px">
### Create a message template
> **Note:** Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organisations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 alerts only if they have one organisation. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. From Alertmanager drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana.
{{< figure max-width="250px" src="/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif" caption="Select Alertmanager" >}}
1. Click **Add template**.
1. In **Name**, add a descriptive name.
1. In **Content**, add the content of the template.
1. Click **Save template** button at the bottom of the page.
<img src="/static/img/docs/alerting/unified/templates-create-8-0.png" width="600px">
The `define` tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the **Name** field. When both are specified, it is a best practice to ensure that they are the same.
### Edit a message template
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. In the Template table, find the template you want to edit, then click the **Edit** (pen icon).
1. Make your changes, then click **Save template**.
### Delete a message template
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. In the Template table, find the template you want to delete, then click the **Delete** (trash icon).
1. In the confirmation dialog, click **Yes, delete** to delete the template.
Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use.
{{< figure src="/static/img/docs/alerting/unified/contact-points-use-template-8-0.png" class="docs-image--no-shadow" max-width= "550px" caption="Default template" >}}
### Nested templates
@@ -79,59 +56,6 @@ You can use any of the following built-in template options to embed custom templ
| `default.message` | Provides a formatted summary of firing and resolved alerts. |
| `teams.default.message` | Similar to `default.messsage`, formatted for Microsoft Teams. |
### Example of a custom template
Here's an example of how to use a custom template. You can also use the default template included in the setup.
Step 1: Configure a template to render a single alert.
```
{{ define "myalert" }}
[{{.Status}}] {{ .Labels.alertname }}
Labels:
{{ range .Labels.SortedPairs }}
{{ .Name }}: {{ .Value }}
{{ end }}
{{ if gt (len .Annotations) 0 }}
Annotations:
{{ range .Annotations.SortedPairs }}
{{ .Name }}: {{ .Value }}
{{ end }}
{{ end }}
{{ if gt (len .SilenceURL ) 0 }}
Silence alert: {{ .SilenceURL }}
{{ end }}
{{ if gt (len .DashboardURL ) 0 }}
Go to dashboard: {{ .DashboardURL }}
{{ end }}
{{ end }}
```
Step 2: Configure a template to render entire notification message.
```
{{ define "mymessage" }}
{{ if gt (len .Alerts.Firing) 0 }}
{{ len .Alerts.Firing }} firing:
{{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
{{ len .Alerts.Resolved }} resolved:
{{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }}
{{ end }}
{{ end }}
```
Step 3: Add `mymessage` in the notification message field.
```
Alert summary:
{{ template "mymessage" . }}
```
### HTML in message templates
HTML in alerting message templates is escaped. We do not support rendering of HTML in the resulting notification.

View File

@@ -0,0 +1,32 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Create message template
weight: 100
---
# Create a message template
You can use message templates to customize notification messages for the contact point types.
To create a message tempplate:
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
2. In the Alerting page, click **Contact points** to open the page listing existing contact points.
3. From Alertmanager drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana.
{{< figure max-width="250px" src="/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif" caption="Select Alertmanager" >}}
4. Click **Add template**.
5. In **Name**, add a descriptive name.
6. In **Content**, add the content of the template.
7. Click **Save template** button at the bottom of the page.
<img src="/static/img/docs/alerting/unified/templates-create-8-0.png" width="600px">
The `define` tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the **Name** field. When both are specified, it is a best practice to ensure that they are the same.

View File

@@ -0,0 +1,24 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Delete message template
weight: 110
---
# Edit a message template
Message templates customize notification messages for the contact point types.
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. In the Template table, find the template you want to delete, then click the **Delete** (trash icon).
1. In the confirmation dialog, click **Yes, delete** to delete the template.
Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use.

View File

@@ -0,0 +1,24 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Edit message template
weight: 100
---
# Edit a message template
Message templates customize notification messages for the contact point types.
To edit a message template
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
1. In the Template table, find the template you want to edit, then click the **Edit** (pen icon).
1. Make your changes, then click **Save template**.

View File

@@ -0,0 +1,126 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/template-functions/
- /docs/grafana/latest/alerting/message-templating/template-functions/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Examples of template functions
weight: 130
---
# Examples of template functions
## humanize
**Template string** `{ humanize $value }`
**Input** `1234567.0`
**Expected** `1.235M`
## humanize1024
**TemplateString** `{ humanize1024 $value } `
**Input** `1048576.0`
**Expected** `1Mi`
## humanizeDuration
**TemplateString** `{ humanizeDuration $value }`
**Input** `899.99`
**Expected** `14m 59s`
### humanizePercentage
**TemplateString** `{ humanizePercentage $value }`
**Input** `0.1234567`
**Expected** `12.35%`
## humanizeTimestamp
**TemplateString** `{ $value | humanizeTimestamp }`
**Input** `1435065584.128`
**Expected** `2015-06-23 13:19:44.128 +0000 UTC`
## title
**TemplateString** `{ $value | title }`
**Input** `aa bb CC`
**Expected** `Aa Bb Cc`
### toUpper
**TemplateString** `{ $value | toUpper }`
**Input** `aa bb CC`
**Expected** `AA BB CC`
### toLower
**TemplateString** `{ $value | toLower }`
**Input** `aA bB CC`
**Expected** `aa bb cc`
## match
**TemplateString** `{ match "a+" $labels.instance }`
**Input** `aa`
**Expected** `true`
## reReplaceAll
**TemplateString** `{{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}`
**Input** `localhost:3000`
**Expected** `my.domain:3000`
### graphLink
**TemplateString** `{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}`
**Expected** `/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]`
### tableLink
**TemplateString** `{{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}`
**Expected** `/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]`
## args
**TemplateString** `{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}`
**Expected** `1 2`
## externalURL
**TemplateString** `{ externalURL }`
**Expected** `http://localhost/path/prefix`
## pathPrefix
**TemplateString** `{ pathPrefix }`
**Expected** `/path/prefix`

View File

@@ -0,0 +1,67 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Example message template
weight: 115
---
# Example of a custom template
Here's an example of how to use a custom template. You can also use the default template included in the setup.
Step 1: Configure a template to render a single alert.
```
{{ define "myalert" }}
[{{.Status}}] {{ .Labels.alertname }}
Labels:
{{ range .Labels.SortedPairs }}
{{ .Name }}: {{ .Value }}
{{ end }}
{{ if gt (len .Annotations) 0 }}
Annotations:
{{ range .Annotations.SortedPairs }}
{{ .Name }}: {{ .Value }}
{{ end }}
{{ end }}
{{ if gt (len .SilenceURL ) 0 }}
Silence alert: {{ .SilenceURL }}
{{ end }}
{{ if gt (len .DashboardURL ) 0 }}
Go to dashboard: {{ .DashboardURL }}
{{ end }}
{{ end }}
```
Step 2: Configure a template to render entire notification message.
```
{{ define "mymessage" }}
{{ if gt (len .Alerts.Firing) 0 }}
{{ len .Alerts.Firing }} firing:
{{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
{{ len .Alerts.Resolved }} resolved:
{{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }}
{{ end }}
{{ end }}
```
Step 3: Add `mymessage` in the notification message field.
```
Alert summary:
{{ template "mymessage" . }}
```

View File

@@ -1,8 +1,16 @@
+++
aliases = ["/docs/grafana/latest/alerting/message-templating/template-data/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/"]
keywords = ["grafana", "alerting", "guide", "contact point", "templating"]
title = "Template data"
+++
---
aliases:
- /docs/grafana/latest/alerting/message-templating/template-data/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Template data
weight: 120
---
# Template data

View File

@@ -1,8 +1,16 @@
+++
aliases = ["/docs/grafana/latest/alerting/message-templating/template-functions/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/"]
keywords = ["grafana", "alerting", "guide", "contact point", "templating"]
title = "Template functions"
+++
---
aliases:
- /docs/grafana/latest/alerting/message-templating/template-functions/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Template functions
weight: 125
---
# Template Functions

View File

@@ -0,0 +1,41 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: List of notifiers
weight: 130
---
# List of supported notifiers
The following table lists the notifiers (contact point types) supported by Grafana.
| Name | Type | Grafana Alertmanager | Other Alertmanagers |
| --------------------------------------------- | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
| [DingDing](#dingdingdingtalk) | `dingding` | Supported | N/A |
| [Discord](#discord) | `discord` | Supported | N/A |
| [Email](#email) | `email` | Supported | Supported |
| [Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | Supported | N/A |
| [Kafka](#kafka) | `kafka` | Supported | N/A |
| Line | `line` | Supported | N/A |
| Microsoft Teams | `teams` | Supported | N/A |
| [Opsgenie](#opsgenie) | `opsgenie` | Supported | Supported |
| [Pagerduty](#pagerduty) | `pagerduty` | Supported | Supported |
| Prometheus Alertmanager | `prometheus-alertmanager` | Supported | N/A |
| [Pushover](#pushover) | `pushover` | Supported | Supported |
| Sensu | `sensu` | Supported | N/A |
| [Sensu Go](#sensu-go) | `sensugo` | Supported | N/A |
| [Slack](#slack) | `slack` | Supported | Supported |
| Telegram | `telegram` | Supported | N/A |
| Threema | `threema` | Supported | N/A |
| VictorOps | `victorops` | Supported | Supported |
| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
| [WeCom](#wecom) | `wecom` | Supported | N/A |
| [Zenduty](#zenduty) | `webhook` | Supported | N/A |

View File

@@ -0,0 +1,137 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Webhook notifier
weight: 105
---
### Webhook
This topic helps you configure the Webhook notifier. It also discusses that [WeCom]({{< relref "./webhook-notifier/#wecom" >}}) contact points need a Webhook URL.
Example JSON body:
```json
{
"receiver": "My Super Webhook",
"status": "firing",
"orgId": 1,
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "High memory usage",
"team": "blue",
"zone": "us-1"
},
"annotations": {
"description": "The system has high memory usage",
"runbook_url": "https://myrunbook.com/runbook/1234",
"summary": "This alert was triggered for zone us-1"
},
"startsAt": "2021-10-12T09:51:03.157076+02:00",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit",
"fingerprint": "c6eadffa33fcdf37",
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1",
"dashboardURL": "",
"panelURL": "",
"valueString": "[ metric='' labels={} value=14151.331895396988 ]"
},
{
"status": "firing",
"labels": {
"alertname": "High CPU usage",
"team": "blue",
"zone": "eu-1"
},
"annotations": {
"description": "The system has high CPU usage",
"runbook_url": "https://myrunbook.com/runbook/1234",
"summary": "This alert was triggered for zone eu-1"
},
"startsAt": "2021-10-12T09:56:03.157076+02:00",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit",
"fingerprint": "bc97ff14869b13e3",
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1",
"dashboardURL": "",
"panelURL": "",
"valueString": "[ metric='' labels={} value=47043.702386305304 ]"
}
],
"groupLabels": {},
"commonLabels": {
"team": "blue"
},
"commonAnnotations": {},
"externalURL": "https://play.grafana.org/",
"version": "1",
"groupKey": "{}:{}",
"truncatedAlerts": 0,
"title": "[FIRING:2] (blue)",
"state": "alerting",
"message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n"
}
```
### Webhook fields
## Body
| Key | Type | Description |
| ----------------- | ------------------------- | ------------------------------------------------------------------------------- |
| receiver | string | Name of the webhook |
| status | string | Current status of the alert, `firing` or `resolved` |
| orgId | number | ID of the organization related to the payload |
| alerts | array of [alerts](#alert) | Alerts that are triggering |
| groupLabels | object | Labels that are used for grouping, map of string keys to string values |
| commonLabels | object | Labels that all alarms have in common, map of string keys to string values |
| commonAnnotations | object | Annotations that all alarms have in common, map of string keys to string values |
| externalURL | string | External URL to the Grafana instance sending this webhook |
| version | string | Version of the payload |
| groupKey | string | Key that is used for grouping |
| truncatedAlerts | number | Number of alerts that were truncated |
| title | string | **Will be deprecated soon** |
| state | string | **Will be deprecated soon** |
| message | string | **Will be deprecated soon** |
### Alert
| Key | Type | Description |
| ------------ | ------ | ---------------------------------------------------------------------------------- |
| status | string | Current status of the alert, `firing` or `resolved` |
| labels | object | Labels that are part of this alert, map of string keys to string values |
| annotations | object | Annotations that are part of this alert, map of string keys to string values |
| startsAt | string | Start time of the alert |
| endsAt | string | End time of the alert, default value when not resolved is `0001-01-01T00:00:00Z` |
| valueString | string | Values that triggered the current status |
| generatorURL | string | URL of the alert rule in the Grafana UI |
| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint |
| silenceURL | string | URL to silence the alert rule in the Grafana UI |
| dashboardURL | string | **Will be deprecated soon** |
| panelURL | string | **Will be deprecated soon** |
### Removed fields related to dashboards
Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
## WeCom
WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:
1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to
2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot"
3. There should be a Webhook URL in the panel.
| Setting | Description |
| ------- | ------------------ |
| Url | WeCom webhook URL. |

View File

@@ -0,0 +1,26 @@
---
aliases:
- /docs/grafana/latest/alerting/contact-points/message-templating/
- /docs/grafana/latest/alerting/message-templating/
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
keywords:
- grafana
- alerting
- guide
- contact point
- templating
title: Test a contact point
weight: 110
---
# Test a contact point
For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.
To send a test notification:
1. In the Grafana side bar, hover your cursor over the **Alerting** (bell) icon and then click **Contact** points.
1. Find the contact point to test, then click **Edit** (pen icon). You can also create a new contact point if needed.
1. Click **Test** (paper airplane icon) to open the contact point testing modal.
1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification.
1. Click **Send test notification** to fire the alert.

View File

@@ -1,11 +1,16 @@
+++
aliases = ["/docs/grafana/latest/alerting/difference-old-new/", "/docs/grafana/latest/alerting/unified-alerting/difference-old-new/"]
description = "What's New with Grafana alerts"
draft = true
keywords = ["grafana", "alerting", "guide"]
title = "What's new in Grafana alerting"
weight = 108
+++
---
aliases:
- /docs/grafana/latest/alerting/difference-old-new/
- /docs/grafana/latest/alerting/unified-alerting/difference-old-new/
description: What's New with Grafana alerts
draft: true
keywords:
- grafana
- alerting
- guide
title: What's new in Grafana alerting
weight: 108
---
# What's new in Grafana alerting

View File

@@ -1,13 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/fundamentals/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/"]
title = "Alerting fundamentals"
weight = 110
+++
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/
- /docs/grafana/latest/alerting/metrics/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/
title: Alerting fundamentals
weight: 110
---
# Alerting fundamentals
This section includes the following fundamental concepts of Grafana alerting:
- [Alert rules]({{< relref "./alert-rules/_index.md" >}})
- [Annotations and labels for alerting rules]({{< relref "./annotation-label/_index.md" >}})
- [Alertmanager]({{< relref "./alertmanager.md" >}})
- [State and health of alerting rules]({{< relref "./state-and-health.md" >}})

View File

@@ -0,0 +1,22 @@
---
description: About Grafana alert rules
keywords:
- grafana
- alerting
- rules
title: Alert rules
weight: 101
---
# About alert rules
An alerting rule is a set of evaluation criteria that determines whether an alert instance will fire. The rule consists of one or more queries and expressions, a condition, the frequency of evaluation, and optionally, the duration over which the condition is met.
While queries and expressions select the data set to evaluate, a condition sets the threshold that an alert must meet or exceed to create an alert.
An interval specifies how frequently an alerting rule is evaluated. Duration, when configured, indicates how long a condition must be met. The alert rules can also define alerting behavior in the absence of data.
- [Alert rule types]({{< relref "./alert-rule-types.md" >}})
- [Alert instances]({{< relref "./alert-instances.md" >}})
- [Organising alert rules]({{< relref "./organising-alerts.md" >}})
- [Annotation and labels]({{< relref "../annotation-label/_index.md" >}})

View File

@@ -0,0 +1,25 @@
---
description: Learn about Grafana alert instances
keywords:
- grafana
- alerting
- instances
title: Alert instances
weight: 103
---
# Alert instances
Grafana managed alerts support multi-dimensional alerting. Each alert rule can create multiple alert instances. This is exceptionally powerful if you are observing multiple series in a single expression.
Consider the following PromQL expression:
```promql
sum by(cpu) (
rate(node_cpu_seconds_total{mode!="idle"}[1m])
)
```
A rule using this expression will create as many alert instances as the amount of CPUs we are observing after the first evaluation, allowing a single rule to report the status of each CPU.
{{< figure src="/static/img/docs/alerting/unified/multi-dimensional-alert.png" caption="A multi-dimensional Grafana managed alert rule" >}}

View File

@@ -0,0 +1,33 @@
---
description: Learn about the different alert rule types
keywords:
- grafana
- alerting
- rule types
title: Alert rule types
weight: 102
---
# Alert rule types
Grafana supports several alert rule types, the following sections will explain their merits and demerits and help you choose the right alert type for your use case.
## Grafana managed rules
Grafana-managed rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of your existing data sources.
In additional to supporting any datasource you can also add additional [expressions]({{< relref "../../../panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md" >}}) to transform your data and express alert conditions.
## Mimir, Loki and Cortex rules
To create Mimir, Loki or Cortex alerts you must have a compatible Prometheus data source. You can check if your data source is compatible by testing the data source and checking the details if the ruler API is supported.
{{< figure src="/static/img/docs/alerting/unified/mimir-datasource-check.png" caption="Successfully connected to a Mimir Prometheus datasource" max-width="40%" >}}
## Recording rules
Recording rules are only available for compatible Prometheus data sources like Mimir, Loki and Cortex.
A recording rule allows you to save an expression's result to a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query the same expression repeatedly.
Read more about [recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) in Prometheus.

View File

@@ -0,0 +1,25 @@
---
description: Learn how to organize alert rules
keywords:
- grafana
- alerting
- organization
title: Organising alert rules
weight: 104
---
## Namespaces and groups
Alerts can be organized using Folders for Grafana-managed rules and namespaces for Mimir or Loki rules and group names.
### Namespaces
When creating Grafana-managed rules, the folder can be used to perform access control and grant or deny access to all rules within a specific folder.
### Groups
All rules within a group are evaluated at the same **interval**.
Alert rules and recording rules within a group will always be evaluated **sequentially**, meaning no rules will be evaluated at the same time and in order of appearance.
> **Note** If you want rules to be evaluated concurrently and with different intervals, consider storing them in different groups.

View File

@@ -1,8 +1,11 @@
+++
aliases = ["/docs/grafana/latest/alerting/fundamentals/alertmanager/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/"]
title = "Alertmanager"
weight = 116
+++
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/alertmanager/
- /docs/grafana/latest/alerting/metrics/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/
title: Alertmanager
weight: 116
---
# Alertmanager

View File

@@ -1,10 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/"]
description = "Annotations and labels for alerting"
keywords = ["grafana", "alerting", "guide", "rules", "create"]
title = "Annotations and labels for alerting rules"
weight = 401
+++
---
aliases:
- /docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/
description: Annotations and labels for alerting
keywords:
- grafana
- alerting
- guide
- rules
- create
title: Annotations and labels for alerting rules
weight: 401
---
# Annotations and labels for alerting rules

View File

@@ -1,9 +1,13 @@
+++
title = "Labels in Grafana alerting"
description = "Learn about labels and label matchers in alerting"
keywords = ["grafana", "alerting", "guide", "fundamentals"]
weight = 117
+++
---
description: Learn about labels and label matchers in alerting
keywords:
- grafana
- alerting
- guide
- fundamentals
title: Labels in Grafana alerting
weight: 117
---
# Labels in Grafana alerting

View File

@@ -1,9 +1,13 @@
+++
title = "Label matchers"
description = "Learn about labels and label matchers in alerting"
keywords = ["grafana", "alerting", "guide", "fundamentals"]
weight = 117
+++
---
description: Learn about labels and label matchers in alerting
keywords:
- grafana
- alerting
- guide
- fundamentals
title: Label matchers
weight: 117
---
# How label matching works

View File

@@ -1,9 +1,13 @@
+++
title = "Template variables for alerting rule labels and annotations"
description = "Learn about labels and label matchers in alerting"
keywords = ["grafana", "alerting", "guide", "fundamentals"]
weight = 117
+++
---
description: Learn about labels and label matchers in alerting
keywords:
- grafana
- alerting
- guide
- fundamentals
title: Template variables for alerting rule labels and annotations
weight: 117
---
# Template variables for alerting rule labels and annotations

View File

@@ -1,8 +1,11 @@
+++
aliases = ["/docs/grafana/latest/alerting/fundamentals/evaluate-grafana-alerts/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/"]
title = "Alerting on numeric data"
weight = 116
+++
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/evaluate-grafana-alerts/
- /docs/grafana/latest/alerting/metrics/
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/
title: Alerting on numeric data
weight: 116
---
# Alerting on numeric data

View File

@@ -1,9 +1,15 @@
+++
aliases = ["/docs/grafana/latest/alerting/fundamentals/state-and-health/", "/docs/grafana/llatest/alerting/unified-alerting/alerting-rules/state-and-health/"]
description = "State and Health of alerting rules"
keywords = ["grafana", "alerting", "guide", "state"]
title = "State and health of alerting rules"
+++
---
aliases:
- /docs/grafana/latest/alerting/fundamentals/state-and-health/
- /docs/grafana/llatest/alerting/unified-alerting/alerting-rules/state-and-health/
description: State and Health of alerting rules
keywords:
- grafana
- alerting
- guide
- state
title: State and health of alerting rules
---
# State and health of alerting rules

View File

@@ -1,10 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/high-availability/", "/docs/grafana/latest/alerting/unified-alerting/high-availability/"]
description = "High availability"
keywords = ["grafana", "alerting", "tutorials", "ha", "high availability"]
title = " Alerting high availability"
weight = 450
+++
---
aliases:
- /docs/grafana/latest/alerting/high-availability/
- /docs/grafana/latest/alerting/unified-alerting/high-availability/
description: High availability
keywords:
- grafana
- alerting
- tutorials
- ha
- high availability
title: ' Alerting high availability'
weight: 450
---
# About alerting high availability

View File

@@ -1,10 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/high-availability/enable-alerting-ha/", "/docs/grafana/latest/alerting/unified-alerting/high-availability/"]
description = "Enable alerting high availability"
keywords = ["grafana", "alerting", "tutorials", "ha", "high availability"]
title = "Enable alerting high availability"
weight = 450
+++
---
aliases:
- /docs/grafana/latest/alerting/high-availability/enable-alerting-ha/
- /docs/grafana/latest/alerting/unified-alerting/high-availability/
description: Enable alerting high availability
keywords:
- grafana
- alerting
- tutorials
- ha
- high availability
title: Enable alerting high availability
weight: 450
---
# Enable alerting high availability

View File

@@ -0,0 +1,27 @@
---
aliases:
- /docs/grafana/latest/alerting/migrating-alerts/
description: Migrate Grafana alerts
title: Migrate to Grafana alerting
weight: 113
---
# Migrate to Grafana alerting
Grafana alerting is the default for new Cloud, Enterprise, and OSS installations. The new installations will only show the Grafana alerting icon in the left navigation panel.
Existing installations that upgrade to v9.0 will have Grafana alerting enabled by default.
| Grafana instance upgraded to v 90 | |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cloud | Existing Cloud installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting plugin icon and the new Grafana alerting icon. During upgrade, existing alerts from the Cloud alerting plugin are migrated to Grafana alerting. Once migration is complete, you can access aman manage the older alerts from the new alerting Grafana alerting icon in the navigation panel. The (older) Cloud alerting plugin is uninstalled from your cloud instance. Contact customer support if you **do not wish** to migrate to Grafana alerting for your Cloud stack. If you choose to use legacy alerting, use the You will see the new Grafana alerting icon as well as the old Cloud alerting plugin in the left navigation panel. |
| Enterprise | Existing Enterprise instances using legacy alerting will have both the old (marked as legacy) and the new alerting icons in the navigation panel. During upgrade, existing legacy alerts are migrated to Grafana alerting. If you wish, you can [opt-out]({{< relref "./opt-out.md" >}}) of Grafana alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. |
| OSS | Existing OSS installations with legacy dashboard alerting will have two alerting icons in the left navigation panel - the old alerting icon (marked as legacy) and the new Grafana alerting icon. During upgrade, existing legacy alerts are migrated to Grafana alerting. If you wish, you can [opt-out]({{< relref "./opt-out.md" >}}) of Grafana alerting and roll back to legacy alerting. In that case, you can manage your legacy alerts from the alerting icon marked as legacy. |
During migration from legacy alerting to unified alerting, the legacy alerts are updated to the new alerts type, as a result, the user does not lose alerts or alerting data. However, if a user rolls back to legacy alerting after having migrated to unified alerting, they will only get the legacy alerts they had right before migration.
## Roll back to legacy alerting
Although we encourage you to use Grafana alerting, roll back to legacy alerting is supported in Grafana 9. Rolling back can result in data loss (you will loose all alerts that you created using Grafana alerting). This is applicable to the fresh installation as well as upgraded setups.
> **Note:** Legacy alerting will be deprecated in a future release (v10).

View File

@@ -1,13 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/migrating-legacy-alerts/", "/docs/grafana/latest/alerting/unified-alerting/opt-in/"]
description = "Migrate legacy dashboard alerts"
title = "Migrating legacy dashboard alerts"
weight = 114
+++
---
aliases:
- /docs/grafana/latest/alerting/migrating-legacy-alerts/
- /docs/grafana/latest/alerting/unified-alerting/opt-in/
description: Migrate legacy dashboard alerts
title: Migrating legacy dashboard alerts
weight: 114
---
# Migrating legacy dashboard alerts
When Grafana alerting is enabled or Grafana is upgraded to the latest version, existing legacy dashboard alerts migrate in a format compatible with the Grafana alerting. In the Alerting page of your Grafana instance, you can view the migrated alerts alongside new alerts.
When Grafana alerting is enabled or Grafana is upgraded to the latest version, existing legacy dashboard alerts migrate in a format compatible with the Grafana alerting. In the Alerting page of your Grafana instance, you can view the migrated alerts alongside any new alerts. This topic explains how legacy dashboard alerts are migrated and some limitations.
> **Note:** This topic is only relevant for OSS and Enterprise customers. Contact customer support to enable or disable Grafana alerting for your Cloud stack.
Read and write access to legacy dashboard alerts and Grafana alerts are governed by the permissions of the folders storing them. During migration, legacy dashboard alert permissions are matched to the new rules permissions as follows:
@@ -15,20 +19,9 @@ Read and write access to legacy dashboard alerts and Grafana alerts are governed
- If there are no dashboard permissions and the dashboard is under a folder, then the rule is linked to this folder and inherits its permissions.
- If there are no dashboard permissions and the dashboard is under the General folder, then the rule is linked to the `General Alerting` folder, and the rule inherits the default permissions.
> **Note:** Since there is no `Keep Last State` option for [`No Data`]({{< relref "./alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) in Grafana alerting, this option becomes `NoData` during the legacy rules migration. Option "Keep Last State" for [`Error handling`]({{< relref "./alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) is migrated to a new option `Error`. To match the behavior of the `Keep Last State`, in both cases, during the migration Grafana automatically creates a [silence]({{< relref "./silences/_index.md" >}}) for each alert rule with a duration of 1 year.
> **Note:** Since there is no `Keep Last State` option for [`No Data`]({{< relref "../alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) in Grafana alerting, this option becomes `NoData` during the legacy rules migration. Option "Keep Last State" for [`Error handling`]({{< relref "../alerting-rules/create-grafana-managed-rule/#no-data--error-handling" >}}) is migrated to a new option `Error`. To match the behavior of the `Keep Last State`, in both cases, during the migration Grafana automatically creates a [silence]({{< relref "../silences/_index.md" >}}) for each alert rule with a duration of 1 year.
Notification channels are migrated to an Alertmanager configuration with the appropriate routes and receivers. Default notification channels are added as contact points to the default route. Notification channels not associated with any Dashboard alert go to the `autogen-unlinked-channel-recv` route.
Since `Hipchat` and `Sensu` notification channels are no longer supported, legacy alerts associated with these channels are not automatically migrated to Grafana alerting. Assign the legacy alerts to a supported notification channel so that you continue to receive notifications for those alerts.
Silences (expiring after one year) are created for all paused dashboard alerts.
## Disable Grafana alerts
To disable Grafana alerts and enable legacy dashboard alerts:
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [Grafana alerting]({{< relref "../administration/configuration.md#unified_alerting" >}}) section.
1. Set the `enabled` property to `false`.
1. For [legacy dashboard alerting]({{< relref "../administration/configuration.md#alerting" >}}), set the `enabled` flag to `true`.
1. Restart Grafana for the configuration changes to take effect.
> **Note:** Switching from one flavor of alerting to another can result in data loss. This is applicable to the fresh installation as well as upgraded setups.

View File

@@ -0,0 +1,42 @@
---
aliases:
- /docs/grafana/latest/alerting/opt-in/
- /docs/grafana/latest/alerting/unified-alerting/opt-in/
description: Disable Grafana alerts
title: Opt-out of Grafana alerting
weight: 113
---
# Opt-out to Grafana alerting in OSS
This topic discusses how to disable Grafana alerting and migrate to legacy dashboard alerting. It also provides guidance on how to enable Grafana alerting once you are ready to migrate to Grafana alerting.
> **Note:** This topic is only relevant for OSS and Enterprise customers. Contact customer support to enable or disable Grafana alerting for your Grafana Cloud stack.
## Before you begin
We recommend that you backup Grafana's database. If you are using PostgreSQL as the backend database, then the minimum required version is 9.5.
## Opt-out of Grafana alerts
To opt-out of Grafana alerts and roll back to legacy dashboard alerting:
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [Grafana alerting]({{< relref "../../administration/configuration.md#unified_alerting" >}}) section.
1. Set the `enabled` property to `false`.
1. For [legacy dashboard alerting]({{< relref "../../administration/configuration.md#alerting" >}}), set the `enabled` flag to `true`.
1. Restart Grafana for the configuration changes to take effect.
> **Note:** Rolling back from Grafana to legacy alerting can result in data loss. This is applicable to the fresh installation as well as upgraded setups.
## Opt-in to Grafana alerting
When you are ready to make the switch, the following procedure will help you migrate to Grafana alerting.
To opt-in to Grafana alerts:
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [unified alerts]({{< relref "../../administration/configuration.md#unified_alerting" >}}) section.
2. Set the `enabled` property to `true`.
3. Next, for [legacy dashboard alerting]({{< relref "../../administration/configuration.md#alerting" >}}), set the `enabled` flag to `false`.
4. Restart Grafana for the configuration changes to take effect.
> **Note:** The `ngalert` toggle previously used to enable or disable Grafana alerting is no longer available.

View File

@@ -1,10 +1,17 @@
+++
aliases = ["/docs/grafana/latest/alerting/notifications/", "/docs/grafana/latest/alerting/unified-alerting/notifications/"]
description = "Notification policies"
keywords = ["grafana", "alerting", "guide", "notification policies", "routes"]
title = "Notification policies"
weight = 440
+++
---
aliases:
- /docs/grafana/latest/alerting/notifications/
- /docs/grafana/latest/alerting/unified-alerting/notifications/
description: Notification policies
keywords:
- grafana
- alerting
- guide
- notification policies
- routes
title: Notification policies
weight: 440
---
# Notification policies

View File

@@ -1,10 +1,18 @@
+++
aliases = ["/docs/grafana/latest/alerting/notifications/mute-timings/", "/docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/"]
description = "Mute timings"
keywords = ["grafana", "alerting", "guide", "mute", "mute timings", "mute time interval"]
title = "Mute timings"
weight = 450
+++
---
aliases:
- /docs/grafana/latest/alerting/notifications/mute-timings/
- /docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/
description: Mute timings
keywords:
- grafana
- alerting
- guide
- mute
- mute timings
- mute time interval
title: Mute timings
weight: 450
---
# Mute timings

View File

@@ -1,41 +0,0 @@
+++
aliases = ["/docs/grafana/latest/alerting/opt-in/", "/docs/grafana/latest/alerting/unified-alerting/opt-in/"]
description = "Enable Grafana alerts"
title = "Opt-in to Grafana alerting"
weight = 113
+++
# Opt-in to Grafana alerting in OSS
Grafana alerting is enabled by default for new Cloud and OSS installations.
- For existing OSS installations that use legacy dashboard alerts, unified alerting is still an opt-in feature.
- For existing Grafana Cloud users, contact customer support to enable Grafana alerting for your Cloud stack.
## Before you begin
We recommend that you backup Grafana's database. If you are using PostgreSQL as the backend database, then the minimum required version is 9.5.
## Enable Grafana alerting
To enable Grafana alerts:
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [unified alerts]({{< relref "../administration/configuration.md#unified_alerting" >}}) section.
2. Set the `enabled` property to `true`.
3. Next, for [legacy dashboard alerting]({{< relref "../administration/configuration.md#alerting" >}}), set the `enabled` flag to `false`.
4. Restart Grafana for the configuration changes to take effect.
> **Note:** The `ngalert` toggle previously used to enable or disable Grafana alerting is no longer available.
Before v8.2, notification logs and silences were stored on a disk. If you did not use persistent disks, you would have lost any configured silences and logs on a restart, resulting in unwanted or duplicate notifications. We no longer require the use of a persistent disk. Instead, the notification logs and silences are stored regularly (every 15 minutes). If you used the file-based approach, Grafana reads the existing file and persists it eventually.
## Disable Grafana alerts
To disable Grafana alerts and roll back to legacy dashboard alerting:
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [Grafana alerting]({{< relref "../administration/configuration.md#unified_alerting" >}}) section.
1. Set the `enabled` property to `false`.
1. For [legacy dashboard alerting]({{< relref "../administration/configuration.md#alerting" >}}), set the `enabled` flag to `true`.
1. Restart Grafana for the configuration changes to take effect.
> **Note:** Switching from one flavor of alerting to another can result in data loss. This is applicable to the fresh installation as well as upgraded setups.

View File

@@ -1,10 +1,15 @@
+++
title = "Silences"
description = "Silences"
keywords = ["grafana", "alerting", "silence", "mute"]
weight = 450
aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/silences/
description: Silences
keywords:
- grafana
- alerting
- silence
- mute
title: Silences
weight: 450
---
# About alerting silences

View File

@@ -1,10 +1,15 @@
+++
title = "Create a silence"
description = "Add silence alert notification"
keywords = ["grafana", "alerting", "silence", "mute"]
weight = 450
aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/silences/
description: Add silence alert notification
keywords:
- grafana
- alerting
- silence
- mute
title: Create a silence
weight: 450
---
# Create a silence

View File

@@ -1,10 +1,15 @@
+++
title = "Edit silences"
description = "Edit alerting silences"
keywords = ["grafana", "alerting", "silence", "mute"]
weight = 450
aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/silences/
description: Edit alerting silences
keywords:
- grafana
- alerting
- silence
- mute
title: Edit silences
weight: 450
---
# Edit silences

View File

@@ -1,10 +1,15 @@
+++
title = "Label matching and alert suppression"
description = "Silences alert notifications"
keywords = ["grafana", "alerting", "silence", "mute"]
weight = 452
aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/silences/
description: Silences alert notifications
keywords:
- grafana
- alerting
- silence
- mute
title: Label matching and alert suppression
weight: 452
---
# About label matching for alert suppression

View File

@@ -1,10 +1,15 @@
+++
title = "Create URL to link to silence form"
description = "Linking to a silence form"
keywords = ["grafana", "alerting", "silence", "mute"]
weight = 451
aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/silences/
description: Linking to a silence form
keywords:
- grafana
- alerting
- silence
- mute
title: Create URL to link to silence form
weight: 451
---
# Create a URL to link to a silence form

View File

@@ -1,10 +1,15 @@
+++
title = "Remove silences"
description = "Remove alerting silences"
keywords = ["grafana", "alerting", "silence", "mute"]
weight = 451
aliases = ["/docs/grafana/latest/alerting/unified-alerting/silences/"]
+++
---
aliases:
- /docs/grafana/latest/alerting/unified-alerting/silences/
description: Remove alerting silences
keywords:
- grafana
- alerting
- silence
- mute
title: Remove silences
weight: 451
---
# Remove silences

View File

@@ -1,9 +1,10 @@
+++
aliases = ["/docs/grafana/latest/auth/"]
description = "Authentication"
title = "Authentication"
weight = 30
+++
---
aliases:
- /docs/grafana/latest/auth/
description: Authentication
title: Authentication
weight: 30
---
# User Authentication Overview

View File

@@ -1,10 +1,16 @@
+++
aliases = ["/docs/grafana/latest/auth/auth-proxy/", "/docs/grafana/latest/tutorials/authproxy/"]
description = "Grafana Auth Proxy Guide "
keywords = ["grafana", "configuration", "documentation", "proxy"]
title = "Auth Proxy"
weight = 200
+++
---
aliases:
- /docs/grafana/latest/auth/auth-proxy/
- /docs/grafana/latest/tutorials/authproxy/
description: 'Grafana Auth Proxy Guide '
keywords:
- grafana
- configuration
- documentation
- proxy
title: Auth Proxy
weight: 200
---
# Auth Proxy Authentication

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