Commit Graph
2733 Commits
Author SHA1 Message Date
Grot (@grafanabot)andGeorge Robinson 4e6eb817ec Fix alerts with evaluation interval more than 30 seconds resolving in Alertmanager (#39513) (#39522)
(cherry picked from commit 27609dc2c5)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2021-09-28 09:41:43 +01:00
Todd Treece d6764b59b0 Chore: Add go-redis v8 dependency (#39442) (#39451)
* adds redis v8 client dependency

* remove go-redis v5 dependency

(cherry picked from commit 1781c8ec7d)
2021-09-20 18:01:21 -05:00
Grot (@grafanabot)andEmil Tullstedt f427f11bda LDAP: Search all DNs for users (#38891) (#39167)
(cherry picked from commit ad971cc9be)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-09-14 11:30:38 +02:00
Sofia Papagiannaki feb4fbaae9 Alerting: Fix notification channel migration (#38983) (#39053)
(cherry picked from commit b56bf83c19)
2021-09-09 20:50:12 +03:00
5a1c145aee [v8.1.x] LibraryPanels: Fixes update issues related to library panels in rows (#38969)
* LibraryPanels: Fixes update issues related to library panels in rows (#38963)

(cherry picked from commit 17f9bc138e)

* Tests: fixes broken test because of feature not yet backported

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-09-09 06:21:44 +02:00
Grot (@grafanabot)andgotjosh 3760a3ab23 Alerting: Fix alert flapping in the internal alertmanager (#38648) (#38829)
* Alerting: Fix alert flapping in the alertmanager

fixes a bug that caused Alerts that are evaluated at low intervals (sub 1 minute), to flap in the Alertmanager.
Mostly due to a combination of `EndsAt` and resend delay.

The Alertmanager uses `EndsAt` as a heuristic to know whenever it should resolve a firing alert, in the case that it hasn't heard
back from the alert generation system.

Because grafana sent the alert with an `EndsAt` which is equal to the `For` of the alert itself,
and we had a hard-coded 1 minute re-send delay (only applicable to firing alerts) this meant that a firing alert would resolve in the Alertmanager before we re-notify that it still firing.

This commit, increases the `EndsAt` by 3x the the resend delay or alert interval (depending on which one is higher). The resendDelay has been decreased to 30 seconds.

(cherry picked from commit dd502f22eb)

Co-authored-by: gotjosh <josue@grafana.com>
2021-09-02 17:03:07 +01:00
Grot (@grafanabot)andRyan McKinley bfcf311f8f Live: prepend orgId when publishing from HTTP (#38775) (#38793)
(cherry picked from commit e461c722bf)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-09-01 18:25:32 +02:00
Grot (@grafanabot)andAlexander Emelin 592829cbed Live: allow connections with request host matching origin host (#38538) (#38628)
(cherry picked from commit a95a40d87d)

Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2021-08-27 12:54:16 +02:00
Grot (@grafanabot)andidafurjes 51d3926cde Bug: Return empty plugins.DataTimeSeriesSlice when the frame field vector is epmty (#38587) (#38602)
* Add check if the vector is empty

* Use Rows() instead of Len() on field

* Remove redundant condition

(cherry picked from commit 568549e810)

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
2021-08-26 17:20:03 +02:00
Grot (@grafanabot)andWitek Bedyk bcb405e40c Licensing: Provide correct URL for AGPL license (#36917) (#38531)
* Provide correct link for AGPL license

* Change LicenseURL to point go Grafana OSS page

* Keep utm_source query parameter

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

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

Co-authored-by: Witek Bedyk <wbedyk@suse.com>
2021-08-25 15:57:13 +02:00
Grot (@grafanabot)andDimitris Sotirakis d4497432a0 Remove duplicated title from slack notification (#37834) (#37881)
(cherry picked from commit db91a55d49)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2021-08-13 14:48:08 +02:00
Grot (@grafanabot)andKyle Brandt a4154b376f Annotations: Fix alerting annotation coloring (#37412) (#37851)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit aef67994a1)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2021-08-12 19:02:36 +02:00
Grot (@grafanabot)andSLAMA 709c5e8db4 Alerting frontend : fix line notifier (#37744) (#37753)
- Fixes #37425
- change `line` type string to uppercase

(cherry picked from commit 5986d99f51)

Co-authored-by: SLAMA <36870081+xy-man@users.noreply.github.com>
2021-08-10 19:40:00 +01:00
Grot (@grafanabot)andgotjosh bbee1b26c5 Alerting: Refactor Run of the scheduler (#37157) (#37337)
* Alerting: Refactor `Run` of the scheduler

A bit of a refactor to make the diff easier to read for supporting
external Alertmanagers.

We'll introduce another routine that checks the database for
configuration and spawns other routines accordingly.

* Block the wait.

* Fix test

(cherry picked from commit 442a6677fc)

Co-authored-by: gotjosh <josue@grafana.com>
2021-08-04 17:28:18 +01:00
Grot (@grafanabot)andJack Westbrook 0e5a6a62be Plugins: Fix catalog permissions for org and server admins (#37504) (#37529)
* simplify toggle + add link to server admin

* feat(catalog): org admins can configure plugin apps, cannot install/uninstall plugins

* fix(catalog): dont show buttons if user doesn't have install permissions

* feat(catalog): cater for accessing catalog via /plugins and /admin/plugins

* feat(catalog): use location for list links and match.url to define breadcrumb links

* test(catalog): mock isGrafanaAdmin for PluginDetails tests

* test(catalog): preserve default bootdata in PluginDetails mock

* refactor(catalog): move orgAdmin check out of state and make easier to reason with

Co-authored-by: Will Browne <will.browne@grafana.com>
(cherry picked from commit cdcccfcc53)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-08-04 12:58:46 +02:00
Grot (@grafanabot) 22a357cc7d Live: display stream rate, fix duplicate channels in list response (#37365) (#37421) 2021-07-30 21:42:29 +03:00
Grot (@grafanabot)andAgnès Toulet 7a823fe895 Renderer: delete debug.log file when Grafana is stopped (#37367) (#37413)
(cherry picked from commit 0757ba1c64)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2021-07-30 18:45:41 +02:00
Grot (@grafanabot)andKyle Brandt 0075a3c014 NGAlert: Send resolve signal to alertmanager on alerting -> Normal (#37363) (#37371)
(cherry picked from commit aa904a5a04)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2021-07-29 20:58:45 +02:00
Grot (@grafanabot)andGanesh Vernekar 411e19ed4b Alerting: Deduplicate receivers during migration (#36812) (#37353)
* Alerting: Deduplicate receivers during migration

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Better naming of contact points

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Handle some edge cases

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Don't add routes which point to default contact point

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
(cherry picked from commit 10f8a138ae)

Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
2021-07-29 16:52:19 +02:00
Grot (@grafanabot)andDavid Parrott 2b97f6a507 Alerting: automatically remove stale alerting states (#36767) (#37214)
* initial attempt at automatic removal of stale states

* test case, need espected states

* finish unit test

* PR feedback

* still multiply by time.second

* pr feedback

(cherry picked from commit b5f464412d)

Co-authored-by: David Parrott <stomp.box.yo@gmail.com>
2021-07-26 18:37:34 +02:00
Grot (@grafanabot)andGanesh Vernekar 4478259f70 Alerting: Remove the fixed wait for notification delivery (#37203) (#37207)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
(cherry picked from commit a65975cca0)

Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
2021-07-26 15:42:31 +02:00
Grot (@grafanabot)andGeorge Robinson 04cb471599 Expand the value string in annotations and labels of alerts (#37051) (#37105)
This commit makes it possible to use the value string in
annotations and labels for alerts with "{{ $value }}"

(cherry picked from commit 2f4c893cf3)

Co-authored-by: George Robinson <85952834+gerobinson@users.noreply.github.com>
2021-07-23 09:28:49 +02:00
Grot (@grafanabot)andSofia Papagiannaki 2b15e1a962 Folder API: optionally force deleting Grafana 8 alerts when deleting a folder (or error) (#36427) (#37094)
* Folder API: Add an optional query parameter for allowing deleting a  folder containing rules

* Update frontend

- Set forceDeleteRules=true when frontend deletes a folder
- Improve modal text

* Update docs

* Apply suggestions from code review

Co-authored-by: gotjosh <josue@grafana.com>
Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit b96dd1877c)

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2021-07-22 17:56:33 +03:00
Grot (@grafanabot)andyuwaMSFT2 4308a77e27 Auth: Pass user role to Grafana using auth proxy (#36729) (#37103)
* Pass role to Grafana using auth proxy

By default, the role will be applied to the default org of the user.
If the request uses the standard header "X-Grafana-Org-Id", the role will be applied to the specified org

Tested in both unit test and manually E2E

* Address comment: only allow the user role to be applied to the default org

Co-authored-by: Leonard Gram <leo@xlson.com>
(cherry picked from commit ad1f792b8b)

Co-authored-by: yuwaMSFT2 <yuwa@microsoft.com>
2021-07-22 16:25:51 +02:00
Sofia Papagiannaki 7815ed511f Alerting: Refactor API endpoints for fetching alert rules (#37055)
* Refactor ruler API endpoint for listing rules

* Refactor prometheus API endpoint for listing rules

* Update HTTP API docs
2021-07-22 09:53:14 +03:00
ec9a587cbe Provisioning: Improve validation by validating across all dashboard providers (#26742)
* Provisioning: check sanity across all dashboard readers

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor of duplicateValidator and fix issues according to commentaries

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove newDuplicateEntries function

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Change folderUid in logs to folderUID

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Restrict write access for readers, which are provisioning duplicate dashboards

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Fix file reader after rebasing onto master

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Format file_reader

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix lint problem

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-07-21 17:52:41 +02:00
Alexander Emelin 6c440b5e8b live: handle input with NaN sent as a string (#36924) 2021-07-20 10:46:05 +03:00
David Parrott fa0bed7118 do not over write alerting rule duration (#36930) 2021-07-20 11:49:35 +05:30
4cadbba686 Email: Allow configuration of content types for email notifications (#34530)
* Alerting: Allow configuration of content types for email notifications

* Fix lint error

* Improves email templates

* Improve configuration documentation

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Improve code comments

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Improve configuration documentation

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Improve email template

* Remove unnecessary predeclaration

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Adds handling for unrecognized content type

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Move utility function outside of util package

* Fixes syntax

* Remove unused package

* Fix lint error

* improve email templates

* Fix test

* Alerting: Allow configuration of content types for email notifications

* Fix lint error

* Improves email templates

* Improve configuration documentation

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Improve code comments

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Improve configuration documentation

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Improve email template

* Remove unnecessary predeclaration

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Adds handling for unrecognized content type

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Move utility function outside of util package

* Fixes syntax

* Remove unused package

* Fix lint error

* improve email templates

* Fix test

* Fix comment style

Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>

* Fix template formatting

* Add test and improve error handling

* Fix test

* Fix formatting

* Fix formatting

* Improve documentation and regenerates txt template

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: Djairho Geuens <djairho.geuens@ae.be>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-07-19 13:31:51 +03:00
Sofia Papagiannaki f308ba91e3 Alerting: Improve receiver initialisation errors (#36814)
* Alerting: Improve receiver initialisation errors
2021-07-19 11:58:35 +03:00
Alexander Emelin 37caebc934 live: handle origin without port set (#36834) 2021-07-17 13:38:33 +03:00
Sofia Papagiannaki afe6e793ff Alerting: deactivate an Alertmanager configuration (#36794)
* Alerting: deactivate an Alertmanager configuration

Implement DELETE /api/alertmanager/grafana/config/api/v1/alerts
by storing the default configuration which stops existing cnfiguration
from being in use.

* Apply suggestions from code review
2021-07-16 20:07:31 +03:00
Marcus Efraimsson 11d03f7961 Chore: Use context.Context for the get home dashboard API endpoint (#36735)
Use context.Context for the get home dashboard API endpoint.

Ref #36734
2021-07-16 12:40:03 +02:00
Selene 1c74bb3992 UsageStats: Extend usage stats for count permissions in folders and dashborads (#36065)
* Add usage stats for permissions for dashboards and folders

* Change double quotes for simple ones
2021-07-16 10:14:33 +02:00
George Robinson 456dac1303 Expand the value of math and reduce expressions in annotations and labels (#36611)
* Expand the value of math and reduce expressions in annotations and labels

This commit makes it possible to use the values of reduce and math
expressions in annotations and labels via their RefIDs. It uses the
Stringer interface to ensure that "{{ $values.A }}" still prints the
value in decimal format while also making the labels for each RefID
available with "{{ $values.A.Labels }}" and the float64 value with
"{{ $values.A.Value }}"
2021-07-15 13:10:56 +01:00
David Parrott 19f18bcecc Alerting: annotation on state change (#36535)
* WIP

* Add annotation on alert state change

* move annotation creation to manager

* praise the linter!

* add debug msg when creating annotation
2021-07-13 09:50:10 -07:00
Alexander Emelin 607c5d2555 Live: handle influx input with incomplete/asymmetrical field set (#36664) 2021-07-13 19:17:59 +03:00
David Parrott 310d3ebe3d change template expansion missing value handling (#36679) 2021-07-13 06:57:18 -07:00
Kevin SongandSofia Papagiannaki 0b95fd8ae6 Legacy Alerting: Replace simplejson with a struct in webhook notification channel (#34952)
* Add type for webhook body

* Update pkg/services/alerting/notifiers/webhook.go

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2021-07-13 15:14:04 +03:00
Ganesh Vernekar 8efe1856e2 Alerting: A better and cleaner way to know if Alertmanager is initialised (#36659)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-07-12 18:53:01 +05:30
Ganesh Vernekar e19c690426 Alerting: Fix potential panic in Alertmanager when starting up (#36562)
* Alerting: Fix potential panic in Alertmanager when starting up

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix reviews

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-07-12 11:15:16 +05:30
Alexander Emelin e1358eeb76 live: better error logging in push API (#36601) 2021-07-10 16:46:21 +03:00
Marcus Efraimsson ca2223f705 Database: Fix incorrect format of isolation level configuration parameter for MySQL (#36565) 2021-07-09 19:05:48 +02:00
Andrej Ocenas ea2ba06b93 CloudWatch/Logs: Fix log alerts in new unified alerting (#36558)
* Pass FromAlert header from new alerting

* Add better error messages
2021-07-09 13:43:22 +02:00
Ganesh Vernekar 94d2520a84 Alerting: Allow space in label and annotation names (#36549)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-07-08 18:26:09 +05:30
Serge Zaitsev 9b2d7d6d69 Gradually remove Macaron web framework (#36325)
* add macaron code to the code base

* remove unused secure cookies support from macaron

* clean up modules

* remove com dependency

* fix silly typos

* little cleanup, remove recovery middleware

* remove logger middleware

* remove static handler and remove unused context methods

* bring inject into macaron codebase

* remove unused applicator

* add back macaron license

* more cleanups in macaron code

* remove unused injector Set method

* remove unused context methods: param to int conversion, body helper type, cookie helpers

* remove action from context

* remove complex environment handling, we only use Env variable

* restore ReplaceAllParams to fix the tests
2021-07-08 14:19:40 +02:00
Joan López de la Franca Beltran d9e500b654 UsageStats: Expose what ds types should be reported (#35916) 2021-07-07 23:12:00 +02:00
gotjosh a86ad1190c Alerting: Refactor state manager as a dependency (#36513)
* Alerting: Refactor state manager as a dependency

Within the scheduler, the state manager was being passed around a
certain number of functions. I've introduced it as a dependency to keep
the "service" interfaces as clean and homogeneous as possible.

This is relevant, because I'm going to introduce live reload of these
components as part of my next PR and it is better if dependencies are
self-contained.

* remove unused functions

* Fix a few more tests

* Make sure the `stateManager` is declared before the schedule
2021-07-07 17:18:31 +01:00
Sofia Papagiannaki fc90d47863 Alerting API: Restrict access to Alertmanager configuration (#36507)
* Alerting API: Restrict access to Alertmanager configuration to viewers
2021-07-07 16:29:18 +03:00
idafurjes 60ac54d969 Chore: Refactor OAuth/social package to service (#35403)
* Creating SocialService

* Add GetOAuthProviders as socialService method

* Add OAuthTokenService

* Add GetOAuthHttpClient method to SocialService

* Rename services, access socialMap from GetConnector

* Fix tests by mocking oauthtoken methods

* Move NewAuthService into Init

* Move OAuthService to social pkg

* Refactor OAuthService to OAuthProvider

* Fix nil map error, rename file, simplify tests

* Fix bug for Forward OAuth Identify

* Remove file after rebase
2021-07-07 08:54:17 +02:00