Allow association between notifiers and clusters
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 4k
- Forks
- 818
- Avg merge
- 1h 14m
- Merged PRs (30d)
- 1
Description
Once notification thresholds and (and blacklist/whitelist) conditions are met, all notifiers will emit a notification.
However, this might not be the desired behaviour for all the cases. An example:
- Burrow is watching clusters C1 and C2
- Notifiers N1 and N2 are defined. N1 triggers a PagerDuty alert to the team that manages C1. N2 triggers a PagerDuty alert to the team that manages C2
- Consumer group CG1 is present on both N1 and N2. Once notification conditions are met on either cluster for CG1, N1 and N2 will be triggered, notifying one of the teams with a false positive.
If the notifiers configurations allow an association between cluster and notifier, we can have a default behaviour of triggering all Notifiers and the option of having C1 tied to N1 and C2 tied to N2.
We can reuse the tag `cluster` to allow this. I've tested modifications to the code and it's doable, since ConsumerGroupStatus carries the cluster name.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing notifier configuration and the notification flow that receives ConsumerGroupStatus, especially where the cluster name and the existing `cluster` tag are handled. Confirm how associations should coexist with the current default of triggering all notifiers; done means a configured cluster-notifier association limits alerts to the matching notifier while unassociated configurations retain the default behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100