Commit Graph

988 Commits

Author SHA1 Message Date
Fabian Reinartz
67d53f3a9f Merge pull request #474 from prometheus/fabxc-meshsil
silence: add protobuf-based silence package
2016-08-30 10:44:32 +02:00
Fabian Reinartz
9097386356 Merge pull request #480 from prometheus/sdurrheimer-use-promu-default-go-version
Use promu default go version + use 1.6 tag for cicleci tests
2016-08-30 09:54:15 +02:00
Steve Durrheimer
bc67bce73b
Use promu default go version + use 1.6 tag for cicleci tests 2016-08-30 09:23:02 +02:00
Fabian Reinartz
ed3fdc747d silence: add protobuf-based silence package.
This commit adds an implementation of a silence storage that can
share store and modify silences, share state via a mesh network,
write and load snapshots, and be dynamically queried.
All data formats are based on protocol buffers.
2016-08-24 17:48:31 +02:00
Fabian Reinartz
fcda6fede3 Merge pull request #458 from pdbogen/pdbogen-error-on-nonflag-args
Pdbogen error on nonflag args
2016-08-23 14:25:53 +02:00
Fabian Reinartz
1baf98fb1a provider: remove NotificationInfos provider 2016-08-23 13:57:19 +02:00
Fabian Reinartz
d6713c8eeb nflog: enable sharing log via gossip 2016-08-19 12:20:04 +02:00
Fabian Reinartz
d48b4e5dbd examples: add Go logging webhook 2016-08-19 12:13:39 +02:00
Fabian Reinartz
5dc8286942 nflog: fix maintenance termination 2016-08-19 12:01:16 +02:00
Fabian Reinartz
6f8c9673b2 Merge pull request #467 from prometheus/fabxc-meshproto3
*: integrate nflog
2016-08-18 16:03:19 +02:00
Fabian Reinartz
72fdf3d3ab *: integrate nflog
This commit replaces the previous NotifyInfo provider with the new
nflog package. It needs adjustments in the behavior of the deduping
stage.
The nflog stores notification digests per receiver per alert aggregation
group rather than one entry for alert per receiver. This drastically
reduces the number of entries and removes interference
across aggregation groups.
2016-08-18 15:52:28 +02:00
Fabian Reinartz
374e984444 Merge branch 'master' of github.com:prometheus/alertmanager 2016-08-18 14:42:56 +02:00
Fabian Reinartz
a833522232 Merge pull request #463 from prometheus/notify-recv
Reduce runtime context dependencies
2016-08-18 14:41:39 +02:00
Fabian Reinartz
a52992196b Merge pull request #464 from prometheus/fabxc-stagectx
notify: include context in Stage interface
2016-08-18 14:41:17 +02:00
Fabian Reinartz
9f8845d036 Merge pull request #460 from prometheus/fabxc-meshproto
nflog: append-only log for notification information
2016-08-18 14:40:03 +02:00
Fabian Reinartz
a42a473213 nflog: add doc comments, license headers 2016-08-18 14:08:01 +02:00
Fabian Reinartz
d2a556b269 notify: include context in Stage interface
This adds context.Context to the return arguments of a Stage.
This is necessary to propagate modified contexts.
2016-08-18 11:42:37 +02:00
Patrick Bogen
ca844915b3
alertmanager should raise an error if unexpected arguments are present on the command line 2016-08-16 11:15:45 -07:00
Fabian Reinartz
ed4f295c70 notify: embed nflogpb.Receiver in stage
This commit directly adds the nflogpb.Receiver object to stage
objects at stage creation time. Hence, we no longer rely on a value from
within the context.
2016-08-16 16:40:42 +02:00
Fabian Reinartz
4a5df40539 nflog: add logging 2016-08-16 16:33:17 +02:00
Fabian Reinartz
998a9ce38e notify: rename Receiver to ReceiverName
This string value is initially used to store a receiver name. It is
later overloaded with a unique string identifier of <name, integration,
index>.
This renaming is in preparation to separate the two and use the Receiver
object of the nflogpb package.
2016-08-16 16:33:17 +02:00
Fabian Reinartz
b40703a584 vendor: add github.com/go-kit/kit/log 2016-08-16 16:33:17 +02:00
Fabian Reinartz
48b6c8ff70 nflog: add initial tests 2016-08-16 11:11:48 +02:00
Fabian Reinartz
36b2e89f27 vendor: add testify package and dependencies 2016-08-16 11:11:48 +02:00
Fabian Reinartz
086d581cf8 nflog: add gc/snapshotting maintenance, remove delete
This removes the Delete function from the interface as the log
should be append-only and only be reduced by expired entries.
This also adds an argument to configure a background processing routine,
which periodically garbage collects and snapshots.
2016-08-16 11:11:48 +02:00
Fabian Reinartz
80afd502d5 nflog: add mesh gossip support 2016-08-16 11:11:48 +02:00
Fabian Reinartz
3d8e60ded7 nflog: add notification log package
This adds a new nflog package meant to replace provider.Notifies. It
has a central protobuf type package, which is also meant for usage for
other packages and the API.
The generated Go types are also the in-memory representation.
2016-08-16 11:11:48 +02:00
Fabian Reinartz
cbdcf0a983 vendor: add protobuf related dependencies 2016-08-16 11:11:48 +02:00
Fabian Reinartz
f1cddf5a63 Merge pull request #459 from brancz/refactor-notification-pipeline
refactor notification pipeline
2016-08-16 11:11:16 +02:00
Frederic Branczyk
7bc851e894 rework building of stage pipelines 2016-08-16 10:56:46 +02:00
Frederic Branczyk
840dd7d2f5 introduce Stage interface 2016-08-12 16:01:40 +02:00
Frederic Branczyk
3dfb17e601 refactor notification pipeline
move hard to read backwards declared approach to more transparent
pipeline approach with more detailed interfaces
2016-08-11 15:04:03 +02:00
Fabian Reinartz
5c12950576 vendor: remove unused dependencies 2016-08-11 11:35:46 +02:00
Steve Durrheimer
1c13e773a7 Merge pull request #455 from prometheus/fabxc-buildarch
promu: readd build archs
2016-08-09 15:36:34 +02:00
Fabian Reinartz
2c6454b370 Merge pull request #454 from prometheus/fabxc-restruct2
*: restructure package tree
2016-08-09 15:20:23 +02:00
Fabian Reinartz
76e7183427 promu: readd build archs
We can build these binaries again with no longer depending on cgo.
2016-08-09 15:12:25 +02:00
Fabian Reinartz
b822fe58b6 Merge branch 'slack_enhance' of https://github.com/dmclain/alertmanager into dmclain-slack_enhance 2016-08-09 14:46:39 +02:00
Fabian Reinartz
3931d4e64b *: restructure package tree
This commit packages up individual modules and removes the top-level
main package.
2016-08-09 14:24:52 +02:00
Fabian Reinartz
6a20296af4 *: fixup, remove bolt provider 2016-08-09 14:17:50 +02:00
Fabian Reinartz
2fda2f3071 Merge pull request #365 from prometheus/fabxc-soha
[WIP] Alertmanager HA mode
2016-08-09 12:03:47 +02:00
Fabian Reinartz
96fa0bb468 provider/mesh: set expiration time on create 2016-08-09 12:01:31 +02:00
Fabian Reinartz
bebda718c0 provider/mesh: use protobuf gossip format
stuff
2016-08-09 12:01:31 +02:00
Fabian Reinartz
24ebd7d89d vendor: remove unused dependencies 2016-08-09 12:01:31 +02:00
Fabian Reinartz
951345f686 vendor: update protobuf vendoring 2016-08-09 12:01:31 +02:00
Fabian Reinartz
91fd3f5b3a provider/mesh: use struct for string in state map 2016-08-09 12:01:31 +02:00
Fabian Reinartz
66c2171bd8 *: rename NotifyInfo to NotificationInfo 2016-08-09 12:01:31 +02:00
Fabian Reinartz
37eb2127b7 provider/mesh: add doc comments 2016-08-09 12:01:31 +02:00
Fabian Reinartz
fdf09b6ae6 provider/mesh: implement snapshotting
This change adds snapshotting to the silences and notification infos
providers. Snapshots are created periodically and on shutdown. They are
loaded into memory on startup.
Periodic snapshotting is run right after garbage collection.
2016-08-09 12:01:31 +02:00
Fabian Reinartz
2098be4f93 ui: handle silence edit modes
This change makes actions around silences in different stages more
clear. Changes that are not allowed to be in-place are handled by
creating a new silence and deleting/expiring the old one behind the
scenes.
2016-08-09 12:01:31 +02:00
Fabian Reinartz
1e5babd843 ui: split silences into pending/elapsed/active 2016-08-09 12:01:14 +02:00