* Alerting: Improve notification policies created during migration
Previously, migrated legacy alerts were connected to notification policies through
a `rule_uid` label in a 1:1 fashion. While this correctly mimicked pre-migration routing,
it didn't create a notification policy structure that is easy to view/modify. In addition,
having one policy per migrated alert is, in some ways, counter to the recommended approach of
Unified Alerting.
This change replaces `rule_uid`-based migrated notification policies with a private
label called `__contacts__`. This label stores a list of double quoted strings containing the names of
all contact points an AlertRule should route to (based on legacy notification channels). Finally,
one notification policy is created per contact point with each matching AlertRules via regex on this
`__contacts__` label.
The result is a simpler, clearer, and easier to modify notification policy structure, with the
added benefit that you can see which contact points an AlertRule is being routed to from the
AlertRule creation page.
(cherry picked from commit 0db339d82f)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
* RBAC: Change the generate uid function to be deterministic so we can avoid collision
* RBAC: Use fmt.Errorf
* RBAC: Add comment
* RBAC: Export GenerateManagedRoleUID
(cherry picked from commit 21792fdf37)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* (WIP) switch to fork AM, first implementation of the API, generate spec
* get receivers avoiding race conditions
* use latest version of our forked AM, tests
* make linter happy, delete TODO comment
* update number of expected paths to += 2
* delete unused endpoint code, code review comments, tests
* Update pkg/services/ngalert/notifier/alertmanager.go
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
* remove call to fmt.Println
* clear naming for fields
* shorter variable names in GetReceivers
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
(cherry picked from commit 09f8e026a1)
* AzureAD: Add option to force fetch the groups from the Graph API (#56916)
* Add a new option to systematically fetch AzureAD groups from the Graph API
(cherry picked from commit 0f4d126109)
* Update docs/sources/setup-grafana/configure-security/configure-authentication/azuread.md
Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
The email notifier was incorrectly handling Windows filepaths. This is
fixed by using the `path/filepath` package.
(cherry picked from commit c7c640d903)
Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
When testing a rule within the legacy alerting the `timeMs` field could
sometimes show negative (and/or wrongly calculated) durations. This happens if the alert evaluation crosses a second boundary. This change uses the full timestamp to compute the eval duration.
(cherry picked from commit 95b9fa3346)
Co-authored-by: Jorge Luis Betancourt <jorge-luis.betancourt@trivago.com>
Previously, two tests were not explicitly marked as integration tests
and so were not run against all 3 supported databases in the CI
environment.
(cherry picked from commit 7312a2dab0)
Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
* Prometheus: Various buffered and streaming parsing fixes (#55941)
(cherry picked from commit 1c61c81dde)
* switch back to 0 instead of NaN for 9.2 buffered responses
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
This commit fixes a bug where changing the Folder or Rule Group of an existing rule returns the following error in PostgreSQL "pq: missing FROM-clause for table a"
(cherry picked from commit 762688d67f)
Co-authored-by: George Robinson <george.robinson@grafana.com>
* Change from 0750 to 0755
* Change to 0o755
* Skip lint when creating dir
(cherry picked from commit 66e8f39ce8)
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
* Bump state from alpha to beta
* Sync manual pointsize max with auto one
* Add xyChart to list
(cherry picked from commit 7b93d85a85)
Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
* tempo: fix unexpected trim traceID leading zero (#55166)
* fix lint
(cherry picked from commit c6dffb11a4)
Co-authored-by: Jimmie Han <hanjinming@outlook.com>