Commit Graph

939 Commits

Author SHA1 Message Date
Fabian Reinartz 98101f3868 silence: fix doc strings 2016-08-30 14:19:22 +02:00
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