Commit Graph
2083 Commits
Author SHA1 Message Date
Yuri Tseretyan 92d6762a3a Alerting: Store information about user that created\updated alert rule (#99395)
* introduce new fields created_by in rule tables
* update domain model and compat layer to support UpdatedBy
* add alert rule generator mutators for UpdatedBy
* ignore UpdatedBy in diff and hash calculation
* Add user context to alert rule insert/update operations
  Updated InsertAlertRules and UpdateAlertRules methods to accept a user context parameter. This change ensures auditability and better tracking of user actions when creating or updating alert rules. Adjusted all relevant calls and interfaces to pass the user context accordingly.

* set UpdatedBy in PreSave because this is where Updated is set
* Use nil userID for system-initiated updates
This ensures differentiation between system and user-initiated changes for better traceability and clarity in update origins.

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-01-24 12:09:17 -05:00
Santiago 361312bbd7 Alerting: Expect 406s from the remote Alertmanager during the readiness check (#99507)
* Alerting: Expect 406s from the remote Alertmanager during the readiness check

* make it clear in the warning logs that we'll attempt to send the confgiuration/state without comparing in case of error pulling the current state/config
2025-01-24 16:26:57 +01:00
Ezequiel Victorero 3a94057ec8 PublicDashboards: Delete on folder deletion (#99040) 2025-01-23 17:23:59 -03:00
Todd Treece 2622449718 Dashboards: Use dashboard service in access control (#99053) 2025-01-21 22:57:43 +02:00
Alexander Akhmetov 651430e34a Alerting: Add sync state persister to save entire state of the rule (#96628) 2025-01-20 12:12:27 +01:00
Matthew Jacobson a6dffd7552 Upgrade grafana/alerting to 209e052dba64 (#99118)
Update grafana/alerting to 209e052dba64

Includes:
- Add NoopDecode function for non-base64-encoded secrets (#264)
- Log duplicated receivers (#265)
2025-01-17 21:53:41 +02:00
ismail simsek e96b5a68c4 Prometheus: Support utf8 metrics and labels in scopes (#99015)
* support utf8 in scopes

* separate the utf8 tests

* remove redundant test after enabling utf8 validation in prometheus
2025-01-16 18:11:44 +02:00
Yuri Tseretyan d025523a8b Alerting: Log reason for taking image. (#99036) 2025-01-15 16:11:38 -05:00
Matthew Jacobson fc90a446c6 Alerting: Ensure long-lived repeat alerts keep images after 24h expiry (#98993)
Ensures we retake images after expiration on long-lived repeat alerts.
Otherwise, logs would show "Image not found in database" and notifications
would cease to contain an image after 24h of continuous firing.
2025-01-15 11:45:43 -05:00
William Wernert 8415089534 Alerting: Use correct status code for UID conflict in contact point provisionining API (#98970)
Use correct status code for UID conflict in contact point provisioning API
2025-01-15 11:07:56 -05:00
ismail simsek 79fc26ea87 Chore: Remove prometheus replace directive (#98966)
* remove replace directive

* have an adapter

* go mod tidy

* make update-workspace

* make update-workspace
2025-01-15 14:04:14 +01:00
Santiago ea6cb8f139 Alerting: Panic when rule being evaluated has unexpected key (#99002) 2025-01-15 14:59:50 +02:00
5aeaccadff Alerting: Add read-only GMA rules to the new list view (#98116)
* Reuse prom groups generator between GMA, external DS and list view

* Improve generators, add initial support for GMA in grouped view components

* Improve handling of GMA rules

* Split componentes into files

* Improve error handling, simplify groups grouping

* Extract grafana rules component

* Reset yarn.lock

* Reset yarn.lock 2

* Update filters, adjust file names, add folder display name to GMA rules

* Re-enable filtering for cloud rules

* Rename AlertRuleLoader

* Add missing translations, fix lint errors

* Remove unused imports, update translations

* Fix responses in BE tests

* Update backend tests

* Update integration test

* Tidy up group page size constants

* Add error throwing to getGroups endpoint to prevent grafana usage

* Refactor FilterView to remove exhaustive check

* Refactor common props for grafana rule rendering

* Unify identifiers' discriminators, add comments, minor refactor

* Update translations

* Remove unnecessary prev page condition, add a few explanations

---------

Co-authored-by: fayzal-g <fayzal.ghantiwala@grafana.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-01-15 11:36:32 +01:00
Yuri Tseretyan e15fc984c3 Alerting: Deprecate Alertmanager config and receivers APIs (#98918) 2025-01-14 17:22:01 -05:00
Alexander Zobnin cbb688e910 Zanzana: Remove usage from legacy access control (#98883)
* Zanzana: Remove usage from legacy access control

* remove unused

* remove zanzana client from services where it's not used

* remove unused metrics

* fix linter
2025-01-14 10:26:15 +01:00
Matthew Jacobson 6883a4b294 Alerting: Regenerate swagger spec (#98914) 2025-01-14 01:23:45 +02:00
maiconandStephanie Hingtgen 766d645d82 Filewalkwithme/unistore refactor folder service to hit folder apiserver (#98409)
Refactor folder service to use Unified Storage

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-01-13 18:15:35 -03:00
Alexander Akhmetov aaa4fe1fe4 Alerting: handle err-mimir-label-value-too-long as user error in the prom writer (#98783)
Alerting: handle err-mimir-label-value-too-long as user error in the writer
2025-01-10 18:36:05 +01:00
Santiago 86e8147df3 Alerting: Use AlertRuleKey for comparison before rule evaluation (#98808)
(WIP) Alerting: Use AlertRuleKey for comparison before rule evaluation
2025-01-10 15:31:03 +01:00
Stephanie Hingtgen 9488bf2915 Dashboards: use service for quotas (#98756) 2025-01-09 22:21:21 -07:00
Selene 7cad430ca7 ContactPoints: Remove blank lines prefixes in contact point types (#98590)
Remove blank lines prefixes in contact point types
2025-01-09 19:07:29 +01:00
Yuri Tseretyan 4f62c8a160 Alerting: Update state manager to take image only once per rule evaluation (#98289)
* add test

* update state manager to take image only once per rule evaluation process execution

* update test
2025-01-09 12:57:58 -05:00
Dave Henderson ee7ffb7a04 chore(deps): remove obsolete prometheus replace directive (#96925)
* chore(deps): remove obsolete prometheus replace directive

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore: Replace newly-deprecated call

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-01-09 12:56:42 -05:00
Moustafa Baiou 25538bcfdf Alerting: Fix label escaping in rule export (#97985) 2025-01-07 17:09:27 -05:00
Yuri Tseretyan f851379f7d Alerting: Add traceID to rule evalutor logger (#98549) 2025-01-06 15:00:25 -05:00
Yuri Tseretyan bfa56bcf08 Alerting: Prom writer to handle err-mimir-max-series-per-user as user error (#98334)
handle err-mimir-max-series-per-user as user error
2025-01-06 10:54:56 -05:00
Stephanie Hingtgen 03f7a7d89d K8s: Dashboards: Add search to dashboard service (#98395) 2025-01-02 09:39:45 -06:00
Moustafa Baiou 8ab12aede4 Alerting: Fix terraform export of notification policy
When exporting a notification policy with no `group_by` the hcl exported is not valid as it is missing the required field.
This fixes the issue by initializing the `group_by` field with an empty list if it is nil.
2024-12-31 14:53:39 -05:00
maicon d2639f6080 Ensure all internal Services are using FolderService and not FolderStore (#98370)
* Ensure all internal Services are using FolderService and not FolderStore

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-12-30 13:48:35 -03:00
Alexander Akhmetov 5735a0d11d Alerting: Fix no-change scenario in provisioning rule update API (#98389) 2024-12-30 16:03:45 +01:00
Stephanie Hingtgen b3985a4d37 k8s: Dashboards: allow querying of unistore (#97995) 2024-12-17 10:35:46 -06:00
Alexander Akhmetov bb713cf8e4 Alerting: Add simplified_notifications_section setting to grafana_alerting_simplified_editor_rules metric (#98053) 2024-12-17 11:13:31 +01:00
Alexander Akhmetovandbrendamuir 1f8f9a45d7 Alerting: Add state_periodic_save_batch_size config option (#98019)
* Alerting: Add state_periodic_save_batch_size config option

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-12-16 15:30:38 +01:00
Stephanie Hingtgen 8f6e9f8ed0 Restores in app platform (#97582) 2024-12-13 16:55:43 -06:00
Santiago 7ad004236e Alerting: Change the description for the 'Message' field in webhooks (#96153) 2024-12-12 10:30:23 +01:00
Santiago f60caf6932 Alerting: Fix alert rules unpausing after moving rule to different folder (#97580)
Alerting: Fix alert rules unpaused after moving rule to different folder
2024-12-06 14:33:13 -03:00
NihalandMatthew Jacobson e73bb34cc0 Alerting: Fix Conflicting Alert Rule Response Has Wrong 'rule_uid' (#95013)
* change to return the right conflicting alert rule uid. see https://github.com/grafana/grafana/issues/89755

Signed-off-by: wasim-nihal <sswasim64@gmail.com>

* correcting the code comment

Signed-off-by: wasim-nihal <sswasim64@gmail.com>

* changes to return the conflicting uid for both insert and update operations

Signed-off-by: wasim-nihal <sswasim64@gmail.com>

* changes to return verbose conflicting alert rule response payload

Signed-off-by: wasim-nihal <sswasim64@gmail.com>

* changes to return verbose conflicting alert rule response payload

Signed-off-by: wasim-nihal <sswasim64@gmail.com>

* Update pkg/services/ngalert/store/alert_rule.go

Co-authored-by: Matthew Jacobson <JacobsonMT@gmail.com>

---------

Signed-off-by: wasim-nihal <sswasim64@gmail.com>
Co-authored-by: Matthew Jacobson <JacobsonMT@gmail.com>
2024-11-26 15:13:31 -05:00
706300e9b7 Alerting: notification template group (#96447)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-11-22 14:40:20 +02:00
Alexander ZobninandKarl Persson 1366197522 Zanzana: Search with check server side (#96268)
* pass zclient into dashboard service

* Search then check implementation

* Use GetNamespace() for user

* remove unused orgID

* simple batch check

* refactor

* add tests

* fix batchCheckItem

* client implements batch check

* use batch check in search

* remove unused

* remove All field from response

* refactor: extract checkNamespace

* fix search result uniqueness

* comment fix

* Apply suggestions from code review

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

* refactor

* cleanup

* remove unnecessary check

* fix tests

* fix protobuf def

* Fix query page

* fix type

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-11-18 14:01:28 +01:00
Matthew Jacobson 65097d4b54 Alerting: Fix k8s api route fingerprint to include ObjectMatchers and Provenance (#96591)
Fix route fingerprint to include ObjectMatchers and Provenance
2024-11-16 08:38:30 -05:00
Yuri Tseretyan 420db99d16 Alerting: Update state manager to have immutable state in cache (#95985)
* create a new state and set at the end
* propagate labels datasource_uid and ref_id from current state if it's error
* copy the state when apply to all
2024-11-15 15:01:02 -05:00
Matthew Jacobson 64c93217ff Alerting: Fix incorrect 500 code on missing alert rule dashboardUID / panelID (#96491) 2024-11-14 21:24:48 +02:00
Alexander Akhmetov 324503ee8b Alerting: Add simplified_notifications_section field to the alert rule metadata (#95988) 2024-11-14 12:55:54 +01:00
Santiago 9e408f842c Alerting: Skip sanitizing labels when sending alerts to the remote Alertmanager (#96251)
* Alerting: Skip sanitizing labels when sending alerts to the remote Alertmanager

* fix drone image name
2024-11-13 11:21:44 -03:00
Alexander Akhmetov 580d073b96 Alerting: Add context to the logger in state manager Warm (#96228) 2024-11-12 19:41:05 +01:00
Fayzal Ghantiwala 5a143be653 Alerting: Add pagination to /api/prometheus/grafana/api/v1/rules (#95959)
* Intermediate step before refactoring

* Sort groups to paginate on them

* Formatting and improved test

* Address comments

* Update tests
2024-11-08 16:58:14 +00:00
Karl Persson f0a5b444e3 Zanzana: generic resource only (#96019)
* Remove collectors

* Remove zanzana search check, we need to rewrite that part to the new schema

* Only use generic resource schema and cleanup code we don't want to keep / need to re-write
2024-11-08 09:30:41 +01:00
Fayzal Ghantiwala 1fdc48faba Alerting: Make context deadline on AlertNG service startup configurable (#96053)
* Make alerting context deadline configurable

* Remove debug logs

* Change default timeout

* Update tests
2024-11-07 18:23:55 +00:00
Alexander Akhmetov 4ce1abc6f9 Alerting: Fix saving advanced mode toggle state in the alert rule editor (#95924) 2024-11-06 18:39:15 +01:00
Alexander Akhmetov 305123df91 Alerting: Keep state manager cache during cache warm-up (#95727)
* Alerting: Keep state manager cache during cache warm-up

Instead of overwriting the state manager cache during warm-up,
we update the data in the cache if it is not there yet. If the cache
already contains a state entry with the same key, we do not overwrite it.
2024-11-04 18:26:52 +01:00