linkedin / linkedin/Burrow

Allow association between notifiers and clusters

Open
#610 1 comment 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.