Commit Graph
806 Commits
Author SHA1 Message Date
a807c04177 [v9.3.x] Chore: Upgrade Go to 1.20.1 and Alpine to 3.17 (#63891) (#66455)
* CI: Split  subcommand (#66005)

* Update e2e package

- Ensure health request is monitored for addDatasource flow
- Add custom timeout to configurePanel flow

(cherry picked from commit 155fcae4aa)

* Make health check optional

(cherry picked from commit 91f66d61e1)

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-04-13 16:57:19 +03:00
Horst GutmannandGitHub 64f074ca8d [v9.3.x] CI: Update golangci-lint to 1.51.2 for Go 1.20 compatibility (#65506)
[v9.3.x] Update golangci-lint to 1.51.2 for Go 1.20 compatibility
2023-03-29 10:42:59 +02:00
Yuri TseretyanandGitHub 3a22eba17f Chore: Update Grafana to use Alertmanager v0.25.1-0.20230308154952-78fedf89728b (#64784) 2023-03-14 20:29:22 -04:00
Yuri TseretyanandGitHub 2b00a15709 Alerting: Update scheduler to receive rule updates only from database (#64662)
Alerting: Update scheduler to get updates only from database (#64635)

* stop using the scheduler's Update and Delete methods all communication must be via the database
* update scheduler's registry to calculate diff before re-setting the cache
* update fetcher to return the diff generated by registry
* update processTick to update rule eval routine if the rule was updated and it is not going to be evaluated at this tick.
* remove references to the scheduler from api package
* remove unused methods in the scheduler

(cherry picked from commit 85a954cd81)

# Conflicts:
#	pkg/services/ngalert/api/api_ruler.go
#	pkg/services/ngalert/ngalert.go
#	pkg/services/ngalert/ngalert_test.go
#	pkg/services/ngalert/schedule/schedule.go
#	pkg/services/ngalert/schedule/schedule_mock.go
#	pkg/services/ngalert/schedule/schedule_unit_test.go
2023-03-14 18:51:26 -04:00
Armand GrilletandGitHub 4deceb0aa7 Revert "[v9.3.x] Alerting: Update Prometheus Alertmanager (#64447)" (#64505)
This reverts commit 42665ac87f.
2023-03-09 14:34:41 +01:00
42665ac87f [v9.3.x] Alerting: Update Prometheus Alertmanager (#64447)
* Alerting: Update Prometheus Alertmanager

* Move to TruncateInRunes

* Use updated FromGlobs signature

* Avoid indirection around InhibitRule based on 61810

* Work around new API for nflog

* One more template FromGlobs api change

* One more FromGlobs change in test files. Searched for them all...

* Missing line from cherrypicked change

* Run maintenance on correct state object

---------

Co-authored-by: Alex Weaver <weaver.alex.d@gmail.com>
2023-03-08 14:26:25 -06:00
30a521aade [v9.3.x] Alerting: Fix incorrect comment in eval.go (#63512)
Alerting: Fix incorrect comment in eval.go (#63510)

This commit fixes an incorrect comment in the Result struct in eval.go
that I had written some time ago. The comment now documents the
actual behaviour and content of this field.

(cherry picked from commit f93a9c794d)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-21 10:57:03 -05:00
George RobinsonandGitHub e663f6c35e [v9.3.x] Alerting: Fix a bug taking screenshots with Dashboard UID (#63226)
Alerting: Fix a bug taking screenshots with Dashboard UID (#63220)

This commit fixes a bug where Grafana would fail to take a screenshot if
the same Dashboard UID was present across two or more different orgs.

(cherry picked from commit 1f984409a2)
2023-02-09 17:29:09 -05:00
10f04e19f0 [v9.3.x] Alerting: Fix template validation in provisioning api (#62824)
* Alerting: Fix template validation in provisioning api (#62530)

* Alerting: Fix template validation in provisioning api

Fix issue where provisioning API accepts a malformed template having extra
text outside of definition block and template name matching definition name.

(cherry picked from commit f9ec16e74f)

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-02-07 13:29:45 -05:00
Gilles De MeyandGitHub a31430a3dd Alerting: hide "silence" button for external AM setups (#62133) (#62693) 2023-02-01 15:25:37 +00:00
ismail simsekandGitHub ead3a002df [v9.3.x] Expressions: Fixes the issue showing expressions editor (#62627)
Expressions: Fixes the issue showing expressions editor (#62510)

* Use suggested value for uid

* update the snapshot

* use __expr__

* replace all -100 with __expr__

* update snapshot

* more changes

* revert redundant change

* Use expr.DatasourceUID where it's possible

* generate files

(cherry picked from commit 91221bc436)
2023-01-31 14:31:33 -05:00
Yuri TseretyanandGitHub ad705086cf Alerting: Fix webhook to use correct key for decrypting token (#61717) 2023-01-18 19:51:37 +00:00
Alexander WeaverandGitHub 46f377635e Alerting: Set error annotation on EvaluationError regardless of underlying error type (#61508)
* Alerting: Set error annotation on EvaluationError regardless of underlying error type (#61506)

Set error annotation regardless of underlying error type

(cherry picked from commit b289b8ac6e)

* Also cherrypick the nilcheck that got added prior to 9.4
2023-01-16 09:11:52 +01:00
225534841f [v9.3.x] Alerting: Fix evaluation timeout (#61307)
Alerting: Fix evaluation timeout (#61303)

(cherry picked from commit b4e1e1871f)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-12 14:18:30 +01:00
e12c571abf [v9.3.x] Alerting: Fix conversion of alert state from db state during manager warmup (#60976)
Alerting: Fix conversion of alert state from db state during manager warmup (#60933)

(cherry picked from commit 4d989860fb)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-04 09:57:34 -05:00
8aa9921c9f [v9.3.x] Alerting: Fix missing dashboard/panelID links in annotations (#60927)
Alerting: Fix missing dashboard/panelID links in annotations (#60926)

Assign thru ref

(cherry picked from commit b88b8bc291)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-01-04 10:19:25 +00:00
2d876e90b9 [v9.3.x] Alerting: Set Dashboard and Panel IDs on rule group replacement (#60444)
Alerting: Set Dashboard and Panel IDs on rule group replacement (#60374)

* Set Dashboard and Panel IDs on rule group replacement

* fix comments and abbreviate test variable name

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

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
(cherry picked from commit 174c61b949)

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2022-12-16 12:32:57 +01:00
74a22daa49 [v9.3.x] Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60034)
Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60026)

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

(cherry picked from commit e6743a7e9a)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-12-09 07:24:39 +08:00
c45b49cb92 [v9.3.x] Alerting: Fix swallowing of errors when attaching images to notifications (#59513)
Alerting: Fix swallowing of errors when attaching images to notifications (#59432)

* Break out image logic and add logging

* Attach alert log context to image attachment

* Fix capitalization

(cherry picked from commit 1481ace528)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-11-29 14:39:41 -05:00
90a904fbd5 [v9.3.x] Alerting: Support Prometheus durations in Provisioning API (#59067)
Alerting: Support Prometheus durations in Provisioning API (#58293)

Provisioning API should support Prometheus durations

(cherry picked from commit 57d6adbc7c)

Co-authored-by: Bart Peeters <birtpeeters@hotmail.com>
2022-11-21 19:15:54 +00:00
Torkel ÖdegaardandGitHub 84a69135a7 Scene: Variables and support for declaring variable dependencies and getting notified or re-rendered when they change (#58299)
* Component that can cache and extract variable dependencies

* Component that can cache and extract variable dependencies

* Updates

* Refactoring

* Lots of refactoring and iterations of supporting both re-rendering and query re-execution

* Updated SceneCanvasText

* Updated name of file

* Updated

* Refactoring a bit

* Added back getName

* Added comment

* minor fix

* Minor fix

* Merge fixes

* Merge fixes

* Some review fixes

* Updated comment

* Added forceRender function

* Add back fail on console log
2022-11-15 12:54:24 +01:00
Sofia PapagiannakiandGitHub 9855e74b92 Chore: Refactor quota service (#58643)
Chore: Refactor quota service (#57586)

* Chore: refactore quota service

* Apply suggestions from code review
2022-11-14 21:08:10 +02:00
Yuri TseretyanandGitHub 28d39d35fd Alerting: Update state manager to save state transitions in one batch (#58358)
* change stale results handler to not update database but return transitions
* save all transitions in one call
2022-11-14 10:57:51 -05:00
Alex MorenoandGitHub 78bb8c10ce Alerting: Allow none provenance alert rule creation from provisioning API (#58410) 2022-11-11 19:58:45 +01:00
gotjoshandGitHub d748979048 Alerting: Implement the Webex notifier (#58480)
* Alerting: Implement the Webex notifier

Closes https://github.com/grafana/grafana/issues/11750

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2022-11-11 17:27:13 +00:00
idafurjesandGitHub 080ea88af7 Nested Folders: Support getting of nested folder in folder service wh… (#58597)
* Nested Folders: Support getting of nested folder in folder service when feature flag is set

* Fix lint

* Fix some tests

* Fix ngalert test

* ngalert fix

* Fix API tests

* Fix some tests and lint

* Fix lint 2

* Fix library elements and panels

* Add access control to get folder

* Cleanup and minor test change
2022-11-11 14:28:24 +01:00
45facbba11 Alerting: Remove url based external alertmanagers config (#57918)
* Remove URL-based alertmanagers from endpoint config

* WIP

* Add migration and alertmanagers from admin_configuration

* Empty comment removed

* set BasicAuth true when user is present in url

* Remove Alertmanagers from GET /admin_config payload

* Remove URL-based alertmanager configuration from UI

* Fix new uid generation in external alertmanagers migration

* Fix tests for URL-based external alertmanagers

* Fix API tests

* Add more tests, move migration code to separate file, and remove possible am duplicate urls

* Fix edge cases in migration

* Fix imports

* Remove useless fields and fix created_at/updated_at retrieval

Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-11-10 16:34:13 +01:00
George RobinsonandGitHub c5ae1bcfe0 Alerting: Fix logging pointer address of DashboardUID and PanelID variables (#58539) 2022-11-10 09:58:38 +00:00
George RobinsonandGitHub 68600c224b Alerting: Log when alert rule cannot be screenshot to help debugging (#58537) 2022-11-10 09:41:31 +00:00
bf5a08e039 API: Support creating a nested folder (#58508)
* API: Support nested folder creation

* Update swagger

* fixup

* Update pkg/api/dtos/folder.go

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>

* Fix some tests

* create legacy folder url from title and uid

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-11-10 04:41:03 -05:00
Alexander WeaverandGitHub 2bfdda5b68 Alerting: Break dependency between state and image packages (#58381)
* Refactor state and manager to not depend directly on image interface

* Move generic errors to models package

* Move NotAvailableImageService to state as its only references are in state tests

* Move NoopImageService to state package

* Move mock to state package

* Fix linter error

* Fix comment styling

* Fix a couple added references introduced by rebase

* Empty commit to kick build
2022-11-09 15:06:49 -06:00
Yuri TseretyanandGitHub bad4f28d0d Alerting: update test TestAlertingTicker to not rely on clock (#58544)
* extract method processTick
* make processTick return scheduled rules
* move state manager tests to state manager
* update test
* move all tests into one file
* remove unused fields
2022-11-09 15:08:57 -05:00
George RobinsonandGitHub 7e852720e3 Alerting: Fix images cached on rule instead of dashboard panel signature (#58510) 2022-11-09 17:01:48 +00:00
George RobinsonandGitHub b92a0223e3 Alerting: Improve debug logs in image service (#58507) 2022-11-09 16:32:58 +00:00
George RobinsonandGitHub 1290951b65 Alerting: Small improvements to staleResultsHandler (#58007) 2022-11-09 11:08:32 +00:00
George RobinsonandGitHub c646ff0ce3 Alerting: Fix screenshots were not cached (#58493) 2022-11-09 01:52:16 +00:00
George RobinsonandGitHub ad9ac85ee0 Alerting: Use hash of opts in singleflight (#58474) 2022-11-08 22:37:49 +00:00
Kristin LaemmertandGitHub a255c32e1a nested folders: support creation of nested folders in folder service when feature flag is set (#58364)
* nested folders: support creation of nested folders in folder service when feature flag is set
2022-11-08 08:59:55 -05:00
Kristin LaemmertandGitHub ef7145e4aa feat(nested folders): Add CountAlertRulesInFolder to ngalert store (#58269)
* chore: refactor CountDashboardsInFolder to use the more efficient Count() sql function

* feat(nested folders): Add CountAlertRulesInFolder to ngalert store

This commit adds CountAlertRulesInFolder and a new model for the CountAlertRulesQuery. It returns a count of alert rules associated with a given orgID and parent folder UID. (the namespace referenced inside alert rules is the parent folder).

I'm not sure where this belongs in the ngalert service, so that will come in a future commit.
2022-11-08 11:51:00 +01:00
Sofia PapagiannakiandGitHub 96cdf77995 Revert "Chore: Refactor quota service (#57586)" (#58394)
This reverts commit 326ea86a57.
2022-11-08 11:52:07 +02:00
Sofia PapagiannakiandGitHub 326ea86a57 Chore: Refactor quota service (#57586)
* Chore: refactore quota service

* Apply suggestions from code review
2022-11-08 10:25:34 +02:00
George RobinsonandGitHub 8353f307aa Alerting: Fix test fails in some environments (#58251) 2022-11-07 16:34:37 +00:00
Yuri TseretyanandGitHub 3621cf5a12 Alerting: Update handling of stale state (#58276)
* delete all stale states in one lock
* do not use touched states to detect stale rely only on LastEvaluationTime maintained correctly
* fix tests to use correct eval time
* delete unused method
2022-11-07 11:03:53 -05:00
NeelandGitHub db1fd10ff1 Alerting: Append org ID to alert notification URLs (#57123) 2022-11-07 16:03:25 +00:00
Yuri TseretyanandGitHub 623de12e35 Alerting: Create AlertInstanceKey in one place (#58278)
* use method GetAlertInstanceKey
* do not add key if error
2022-11-07 09:35:29 -05:00
Yuri TseretyanandGitHub f9c88e72ae Alerting: Update saveAlertStates in state manager to not return results (#58279) 2022-11-07 09:09:19 -05:00
Yuri TseretyanandGitHub 978f1119d7 Alerting: Run state manager as regular sub-service (#58246) 2022-11-04 17:06:47 -04:00
e6a9fa1cf9 ServiceAccounts: enable service accounts after IsRealUser change (#58263)
* suppor service accounts

* add: IsServiceAccount to scheduleUser in scheduler

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
2022-11-04 15:53:35 -04:00
Yuri TseretyanandGitHub dce8879145 Alerting: Update state manager to accept rule store as Warm method argument (#58244) 2022-11-04 14:23:08 -04:00
Will JordanandGitHub d581b368bd Alerting: Remove duplicate Slack notification title (#58107)
Move mentions to a markdown-formatted pretext field
to prevent issues mixing blocks and legacy-attachment content.
2022-11-04 17:09:24 +01:00