Commit Graph

36 Commits

Author SHA1 Message Date
Fabian Reinartz 11fae2a719 Simplify and fix notification grouping.
This commit changes the notification grouping behavior
to simply send all alerts of a group as soon as a single
one of them needs updating.

This fixes a critical bug which caused erroneous resolved
notifications to be sent.
2016-01-08 15:17:54 +01:00
Fabian Reinartz 9b4479cb6b Move send_resolved parameter to notifier configuration 2015-12-17 13:43:56 +01:00
Fabian Reinartz 4ada2398f2 Set previous inhibition/silence state 2015-12-04 10:58:56 +01:00
Fabian Reinartz 9fbc76a52f Improve PagerDuty templating 2015-11-27 14:02:34 +01:00
Fabian Reinartz 38b6ed118d Iterate over templating 2015-11-26 12:56:09 +01:00
beorn7 93ffa534a5 PR with changes after code review
Now to be reverse-reveiewed.
2015-11-23 18:24:57 +01:00
Fabian Reinartz 0d8ee0b3ec Fix golint issues in notify/ 2015-11-12 13:18:36 +01:00
Fabian Reinartz e4e594d826 Unify receiver naming 2015-11-10 13:47:04 +01:00
Fabian Reinartz 8d2bbc348b Simplify and rename notification info struct.
The delivered field was previously unused and is removed by this commit.
Only successful notifications are stored. The type was renamed to NotifyInfo.
2015-11-06 10:09:39 +01:00
Fabian Reinartz 5ce39632f8 Fix go vet warnings 2015-11-05 10:25:25 +01:00
Fabian Reinartz 6f0d441e39 Fix unlocked write and unnecessary condition 2015-11-04 17:17:37 +01:00
Fabian Reinartz c045a6285b Implement deterministic incident keys, complete PD integration 2015-10-21 13:08:53 +02:00
Fabian Reinartz 4b49350122 Fix potential grouping collisions, pass down group labels 2015-10-16 16:55:56 +02:00
Fabian Reinartz 5dc2f6e9b1 Add license headers 2015-10-11 17:24:49 +02:00
Fabian Reinartz 9c5468786d Simplify notifier constructors 2015-10-11 16:54:31 +02:00
Fabian Reinartz 6bcc8c9928 Add concurrent, named fanout notifier 2015-10-11 15:37:21 +02:00
Fabian Reinartz 41821faf92 Use multi-error for notify-fanout 2015-10-11 12:40:43 +02:00
Fabian Reinartz 6e47e75ac5 Enhance email notifier templating 2015-10-11 12:34:05 +02:00
Fabian Reinartz c84a287be6 Notify pipeline restructuring
Notifcation configs may have multiple notification destinations.
This commit changes the pipeline so that each one has its own
retry and deduplication logic.
2015-10-10 15:11:37 +02:00
Fabian Reinartz f62dc65ff4 Implement initial email notifications 2015-10-09 12:03:15 +02:00
Fabian Reinartz e209c8b4fc Outlined slack notification support 2015-10-09 10:48:25 +02:00
Fabian Reinartz 9cd90d3482 Implement retrying notifier
Retrying notifier is added to the end of the pipeline where it retries
sending out the final notifications until the context times out.
Exponential backoff is used.
2015-10-09 09:37:32 +02:00
Fabian Reinartz 9bf18ec4a5 Always assume success on reload of valid config 2015-10-09 09:05:21 +02:00
Fabian Reinartz 42e1963715 Ensure minimum notification context timeout 2015-10-09 08:58:44 +02:00
Fabian Reinartz 0a5a7691fe Encapsulate context values in package.
Setting and getting of context values are done via helper
methods in the notifier package. The used keys are unexported. Thus,
we ensure that external code cannot overwrite the values and the type
is always correct.
2015-10-09 08:43:39 +02:00
Fabian Reinartz 638b3f9f40 Use a fixed now time through notify pipeline 2015-10-09 08:26:41 +02:00
Fabian Reinartz d1379a3f71 Move repeat_interval and send_resolved to route configuration 2015-10-08 10:50:37 +02:00
Fabian Reinartz 77cce75c05 Simplify notify provider interface 2015-10-06 20:40:52 +02:00
Fabian Reinartz 0e742ecf33 Handle resolved new alerts properly 2015-10-02 15:58:37 +02:00
Fabian Reinartz 03272174f2 Pass aggregation group identifier through context 2015-10-01 15:18:19 +02:00
Fabian Reinartz 3e145caef9 Implement unifying of batches on repeated sends 2015-09-30 19:03:04 +02:00
Fabian Reinartz f5cfe0b4e8 Add an exit point in case all alerts are filtered 2015-09-30 18:44:33 +02:00
Fabian Reinartz a377004d90 Wrap all notifiers with logging 2015-09-30 14:54:13 +02:00
Fabian Reinartz c3b36790eb Move notifiers into their own package 2015-09-29 15:36:36 +02:00
Fabian Reinartz 8799d647b3 Use proper build function to create new notifiers 2015-09-29 15:02:30 +02:00
Fabian Reinartz b5cee8828a Add webhook notifier mechanism 2015-09-29 14:45:38 +02:00