Commit Graph

8178 Commits

Author SHA1 Message Date
Grot (@grafanabot) f00f6e3375 Alerting: fix validation of alertmanager template. (#51538) (#52210)
without setting function map from alertmanager we receive error:
method=PUT path=/api/v1/provisioning/templates/slack.message status=400
level=error msg="invalid object specification: invalid template: template: :1: function \"toUpper\" not defined"

So for validation we should use the same settings as alertmanager do
for templates internally.

(cherry picked from commit b54da68765)

Co-authored-by: Michał Zielonka <michal.zielonka.8001@gmail.com>
2022-07-14 06:11:14 -04:00
Grot (@grafanabot) 314b932ab8 Alerting: Fix bug where state did not change between Alerting and Error (#52204) (#52209)
This commit fixes a bug where the state did not change from Alerting to Error if the evaluation result returned an error, or from Error to Alerting if evaluations stopped returning errors.

(cherry picked from commit 34d45977ca)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-07-14 06:10:39 -04:00
Alexander Weaver f4e7d0d261 Alerting: Provisioning API respects global rule quota (#52190)
* Alerting: Provisioning API respects global rule quota (#52180)

* Inject interface for quota service and create mock

* Check quota and return 403 if limit exceeded

* Implement tests for quota being exceeded

(cherry picked from commit 2d7389c34d)

* backport error check

Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2022-07-14 10:59:04 +02:00
Grot (@grafanabot) 9457f67210 Alerting: Disable /api/admin/pause-all-alerts with Unified Alerting (#51895) (#52077)
/api/admin/pause-all-alerts only takes effect for legacy alerts. This
change returns a 403 if it's called when legacy alerting is disabled.

Fixes #51729

(cherry picked from commit 0cbc14961a)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-07-14 16:58:37 +08:00
Grot (@grafanabot) 4652401964 SQLstore: Fix fetching an inexistent playlist response (#51962) (#52139)
* SQLstore: Fix fetching and deleting an inexistent playlist

xorm's session.Get() does not return an error if the raw does not exist.
It returns a boolean instead.
The playlist `sqlstore.GetPlaylist()` used to check only the error and in case
of inexistent UID didn't return an error.

(cherry picked from commit 4ff0f006dd)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-13 06:13:38 -04:00
Grot (@grafanabot) f3f66f6325 API: Do not validate/save legacy alerts when saving a dashboard if legacy alerting is disabled (#51883) (#52137)
* API: Do not validate/save legacy alerts if legacy alerting is disabled

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
(cherry picked from commit b3992df988)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-13 05:52:32 -04:00
Grot (@grafanabot) 82f7490f7e Alerting: Allow filtering of contact points by name (#51933) (#52070)
* Define query param and regenerate

* Add query struct for contact points

* Filter contact points by name in query

* Document that name filter is optional

(cherry picked from commit 0e066dd5f8)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-07-11 18:26:35 -04:00
Grot (@grafanabot) 7e5a7fc7fc Alerting: Add method to reset notification policy tree back to the default (#51934) (#52004)
* Define route and run codegen

* Wire up HTTP layer

* Update API layer and test fakes

* Implement reset of policy tree

* Implement service layer test and authorization bindings

* API layer testing

* Be more specific when injecting settings

(cherry picked from commit fce283d73e)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-07-08 16:39:49 -05:00
Adam Simpson 08f72f214e CloudWatch: Remove simplejson in favor of 'encoding/json' (#51062) (#51999)
(cherry picked from commit 05cdef5004)
2022-07-08 20:03:11 +00:00
Grot (@grafanabot) 48f1752e43 FeatureFlags: omit metric when grafana cant run the feature (#51856) (#51981)
(cherry picked from commit 704a602d8c)

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2022-07-08 10:52:07 -06:00
Alexander Weaver 2b23445b42 Fix consistency errors and regenerate (#51935) (#51985)
(cherry picked from commit d77731646c)
2022-07-08 11:00:33 -05:00
Grot (@grafanabot) c50ac22022 Plugins: InfluxDB update time range query (#51833) (#51927)
(cherry picked from commit 8deb17fdc4)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-07-08 16:21:40 +02:00
Grot (@grafanabot) 91585c7719 Plugins: InfluxDB datasource - set epoch query param value as "ms" (#51651) (#51926)
(cherry picked from commit 3d68023606)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-07-07 19:25:08 +02:00
Grot (@grafanabot) 2a25dc7ab8 Rendering: Fix user information when using render key (#50879) (#51920)
* Rendering: Fix user information when using render key

* fix when render user ID is 0

* update fix

* improve fix

* add comment

(cherry picked from commit ca80865bf1)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-07-07 19:02:09 +02:00
idafurjes 59dbbb41f8 Do not check permissions while deleting external snapshot (#51897) (#51904)
(cherry picked from commit ee88b44458)
2022-07-07 15:45:32 +02:00
Grot (@grafanabot) 11c15f3bfa [v9.0.x] Plugins: Register management endpoints only when external managed is also false (#51817)
* Plugins: Register management endpoints only when external managed is also false (#51802)

* Only define plugin install endpoints when catalog enabled

* add external check

(cherry picked from commit 40dff288cd)

* fix test

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Will Browne <will.browne@grafana.com>
2022-07-07 11:19:32 +02:00
Yuriy Tseretyan dbe2925564 Chore: Update ConcreteLogger to implement gokit Logger interface (#51599) (#51648)
# Conflicts:
#	pkg/infra/log/log.go
2022-07-06 11:49:36 -04:00
Grot (@grafanabot) b73d85fdd8 Only define plugin install endpoints when catalog enabled (#51788) (#51790)
(cherry picked from commit ba9fc10a74)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-07-06 11:28:08 +02:00
Alexander Weaver 96c7f6e9ed Alerting: Add method to provisioning API for obtaining a group and its rules (#51398) (#51761)
* Generate shell for new route

* Propagate path parameters

* Implement route logic

* Add a couple simple tests

* Use NotFound error for not found, avoid returning pointer

* Regenerate

(cherry picked from commit b9c7eb1380)
2022-07-05 12:47:41 -05:00
Grot (@grafanabot) 7955efc62f Altering: validate that the mute time intervals exist when updating routing tree (#51573) (#51762)
* validate that the mute time intervals exist when updating routing tree

* run lint

* add tests

(cherry picked from commit 4a76436be2)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-07-05 13:26:38 -04:00
Grot (@grafanabot) 7f5dec12bd Alerting: validate that the receiver exist when updating routing tree (#51561) (#51758)
* Alerting: validate that the receiver exist when updating routing tree

* rename interface

* add missing file

* change constructor

* fix e2e tests

* only import package once

* add unit test for bug

* wording

* close response body

* Update pkg/services/ngalert/api/tooling/definitions/alertmanager_validation.go

* refactor to remove database roundtrip

(cherry picked from commit e64cde8727)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-07-05 12:47:11 -04:00
Grot (@grafanabot) 17be86126c CloudMonitor: Correctly encode default project response (#49510) (#51734)
(cherry picked from commit ccb8888055)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-07-05 06:31:52 -04:00
Grot (@grafanabot) 964adae477 Alerting: Remove withStoredImage and change forEachFunc (#51384) (#51641)
(cherry picked from commit 7fea330dc1)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-07-01 10:18:21 +02:00
Grot (@grafanabot) 517627a94d Alerting: Better metrics and renamed BrowserScreenshotService (#51564) (#51649)
(cherry picked from commit d59db0b8e6)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-30 18:36:20 +01:00
Grot (@grafanabot) f7ff12bf64 Alerting: Improvements to image package (#51576) (#51598)
This commit makes a number of improvements to the image package:

- Improved comments
- Return the correct error when a dashboard does not exist
- Set a timeout in context.Context

(cherry picked from commit fe797dcfdc)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-30 07:11:53 +01:00
Grot (@grafanabot) 53a3dca76c LibraryElements: Delete invalid connections before deleting element (#50519) (#51550)
(cherry picked from commit 189b7f9c0b)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-06-29 16:19:01 +01:00
Grot (@grafanabot) 169646b780 Alerting: Remove duplicate error message (#51515) (#51540)
(cherry picked from commit ed56755dd7)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-29 10:21:24 +01:00
Grot (@grafanabot) bc294261f9 Alerting: Add support for images in Telegram (#51433) (#51482)
(cherry picked from commit 5053468c65)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-28 10:06:52 +01:00
Grot (@grafanabot) c9cd00c1be Alerting: Add support for images in Pushover alerts (#51372) (#51483)
(cherry picked from commit f04dfc589c)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-28 10:06:44 +01:00
Eric Leijonmarck 5735f6c88b [v9.0.x] Auth: Case insensitive ids duplicate usagestats (#51240)
* merged and backport to 9.0

* implement the missing method GetDialect for sqlStore

* Add back mockstore missing methods
2022-06-28 11:03:53 +02:00
Grot (@grafanabot) 6dcb1b07c0 Prometheus: Add test for resource call header handling (#51036) (#51046)
* Add test

* Remove unused test

(cherry picked from commit 677b2a43b5)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-06-28 10:57:17 +02:00
Grot (@grafanabot) 5b390de1b6 Alerting: Add legacy indicator to navbar (#49511) (#49614)
* update id and add translation key

* remove logs

(cherry picked from commit e3a51a4aa8)

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
2022-06-28 10:38:58 +02:00
Grot (@grafanabot) 5e8c61b979 Alerting: change optimistic lock to use proper insert select (#51461) (#51466)
* Alerting: change optimistic lock to proper insert select

* remove debug logging

* fix postgres

* fix mysql

* remove empty line for go-lint

* add some docs

* use constants

(cherry picked from commit cd0fefec5b)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-06-27 18:34:50 -04:00
Grot (@grafanabot) 1cb7a6fcb0 Optional custom title and description for OpsGenie (#50131) (#51427)
* optional custom description for OpsGenie

* custom title and message, tests

* update changelog

* check for empty / whitespace only strings

* truncate the title to 130 characters if needed

* unnecessary validation removed

* truncate title to 127 characters and add three dots

(cherry picked from commit 9dc7e752b7)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-06-27 22:48:40 +03:00
Grot (@grafanabot) 3cd7eac137 Alerting: prevent the use of the same uid across all contact points (#51440) (#51458)
* Alerting: prevent the use of the same uid across all contact points

* Update pkg/services/ngalert/provisioning/contactpoints.go

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>

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

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-06-27 13:11:41 -04:00
Grot (@grafanabot) 504ecbd4f9 Plugins: Improved handling of symlinks (#51324) (#51431)
Improves how we handle symlinks in plugin management.

(cherry picked from commit 04df634ef5)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-06-27 06:41:51 -04:00
Marcus Efraimsson e037f7ace7 [v9.0.x] Plugins: Use a Grafana specific SDK logger implementation for core plugins (#51229) (#51325)
* Plugins: Use a Grafana specific SDK logger implementation for core plugins (#51229)

Upgrade grafana-aws-sdk to v0.10.6

(cherry picked from commit a8eb29f1d7)

* fix go.mod go.sum
2022-06-27 12:22:28 +02:00
Grot (@grafanabot) c54f381570 [v9.0.x] Alerting: Remove fmt.Println from Threema (#51382)
Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-24 16:05:31 +02:00
Grot (@grafanabot) b429aa11fe AzureMonitor: Parse non-fatal errors for Logs (#51320) (#51362)
(cherry picked from commit b10ddfdf8c)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-06-24 09:13:15 +02:00
Alexander Weaver 40ff163fde Alerting: Code-gen parsing of URL parameters and fix related bugs (#50731) (#51353)
* Extend template and generate

* Generate and fix up alertmanager endpoints

* Prometheus routes

* fix up Testing endpoints

* touch up ruler API

* Update provisioning and fix 500

* Drop dead code

* Remove more dead code

* Resolve merge conflicts

(cherry picked from commit 0d9389e1f4)
2022-06-23 16:51:01 -04:00
gotjosh d1c45321f7 Alerting: Don't stop the migration when alert rule tags are invalid (#51253) (#51341)
* Alerting: Don't stop the migration when alert rule tags are invalid

As we migrate we expect the `alertRuleTags` on a dashboard alert to be a JSON object. However, it seems this is not really validated by Grafana and an user can change the format to something else that the JSON parser is not able to marshal into a `map[string]string`.

Let's do a bit better by "attempting" to parse the tags and if we can't we'll simple return an empty map. The data is still there so if the user wishes they can go back, fix the data and attemp the migration again.

(cherry picked from commit 90646e7f41)
2022-06-23 19:51:22 +02:00
Grot (@grafanabot) bacb7893d6 Encryption: Stop decrypting EE encrypted secrets with legacy encryption (#50090) (#51309)
(cherry picked from commit 7a614fd8a1)

Co-authored-by: Tania <yalyna.ts@gmail.com>
2022-06-23 14:09:06 +02:00
Grot (@grafanabot) 00165544bd Query history: Fix default value when no config (#51129) (#51167)
* Query history: Fix default value in setting.go

* Update for frontend

* Remove frontend update

(cherry picked from commit 62e55d530d)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-06-22 17:08:23 +02:00
Grot (@grafanabot) a8401fc8e8 OAuth: Restore debug log behavior (#51244) (#51247)
(cherry picked from commit d2ab3556fa)

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-06-22 15:44:55 +02:00
Grot (@grafanabot) 7d537849b3 Alerting: Add support for images in Kafka alerts (#50758) (#51231)
(cherry picked from commit 6e44b36a30)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-22 11:16:08 +01:00
Grot (@grafanabot) beeefd36f5 Alerting: Add support for images in VictorOps alerts (#50759) (#51228)
(cherry picked from commit 99516360c9)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-22 10:27:46 +01:00
Serge Zaitsev 72c6512e3f [v9.0.x] Chore: Remove global bus variable (#51126)
* Chore: Remove global bus variable (#50765)

* Chore: Remove global bus variable

* fix bus in tests

(cherry picked from commit 0b55c41d05)

* fix the imports
2022-06-21 11:40:44 +02:00
Grot (@grafanabot) fd4c0ac83a Alerting: Add support for image annotation in Alertmanager alerts (#50686) (#51145)
(cherry picked from commit c8466d285c)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-21 09:36:35 +01:00
Ryan McKinley 2e14e277a9 [v9.0.x] Heatmap: Sync main and 9.0.1 heatmap-new (#51136) 2022-06-20 20:52:11 -07:00
Grot (@grafanabot) ca14dc2288 Alerting: Add support for images in Threema alerts (#50734) (#51127)
(cherry picked from commit 67046c5e79)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-20 16:01:53 +01:00