Commit Graph

106 Commits

Author SHA1 Message Date
Conor Broderick
b7bea3df5c Renamed from and message options for VictorOps to monitoring_tool and state_message as per the VictorOps documentation (#667) 2017-03-24 14:06:39 +00:00
Frederic Branczyk
c392ace697
notify: replace unfiltered with filtered alerts 2017-01-04 13:50:40 +01:00
Frederic Branczyk
dcf2b3afcb
notify: move resolved alert filtering to integration
Resolved alerts, even when filtered, have to end up in the
SetNotifiesStage, otherwise when an alert fires again it is ambiguous
whether it was resolved in between or not.

fixes #523
2016-10-05 17:45:35 +02:00
sgissi
96a428a55e config/notify: Add SMTP Require TLS global option (#512) 2016-09-27 11:00:21 +02:00
Frederic Branczyk
e72e45c8f1 silence: add cache for silence matchers
compiling regex silence matchers on every query is expensive, therefore
caching them as soon as they are gossiped through the mesh
2016-09-09 11:41:39 +02:00
Frederic Branczyk
92acfbd449 add retry flag for notify providers
The retry flag allows an integration to specify whether a retry can
potentially be solved or if the error is likely not going to recover.
For example invalid authentication is likely a wrong configuration and
therefore a retry would not make sense, while a server error is likely
a temporary problem and can potentially be solved on the next retry.
2016-09-06 16:21:56 +02:00
Fabian Reinartz
a4e8703567 *: integrate new silence package 2016-08-30 12:15:23 +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
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
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
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
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
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
2fda2f3071 Merge pull request #365 from prometheus/fabxc-soha
[WIP] Alertmanager HA mode
2016-08-09 12:03:47 +02:00
Fabian Reinartz
66c2171bd8 *: rename NotifyInfo to NotificationInfo 2016-08-09 12:01:31 +02:00
Fabian Reinartz
c59f39557b notify,main: implement peer based notify backoff
This commit implements a wait period before actually dispatching
notifications. The backoff linearly depends on the UID order of
participating peers.
This gives the gossip state time to catch up and avoids duplicate
notifications while ensuring that every peer notifies eventually.
2016-08-09 12:00:28 +02:00
Fabian Reinartz
81cbf3cda7 *: refactor Silence type, use UUID
This commit removes the dependency on model.Silence for the internal
Silence type, uses UUIDs instead of uint64s and clarifies invariants
around timestamp handling.

The created_at timestamp is removed for the time being.
2016-08-09 11:59:35 +02:00
Fabian Reinartz
bc0897bb8f provider: remove in-memory provider
Remove the in-memory provider. It will be equivalent to a 1-peer
gossip setup.
2016-08-09 11:48:38 +02:00
振阳 赵
00e37b703b Modify SMTP login auth bug. 2016-08-08 17:57:08 +08:00
Fabian Reinartz
bdcd3770ca notify: always check context before retrying
This addresses the misleading error messages reported in #212
Explanation: https://github.com/prometheus/alertmanager/issues/282#issuecomment-237784895

Fixes #282
2016-08-05 10:18:10 +02:00
Djordje Atlialp
8e0f405e67 Add VictorOps Notifier
Add default VictorOpsAPIURL

Add VictorOps default config

Add VictorOpsConfig struct in notifiers

Add new template tags for victorops

Add notifications logic for victorops

Compiled template tags with make assets

Remove common labels from entity_id template

Set messageType default value to CRITICAL

Recovery messageType is not configurable anymore. Firing state only allows specific keys

Make assets

Using log.Debugf

EntityID should not be configureable

Remove entity_id from template

Use GroupKey(ctx) as entity_id

Improve debug logging

Fix type of entity_id
2016-07-27 00:49:05 +02:00
Tristan Colgate
de2252911e OpsGenie Notifier, fixes and additions:
- OpsGenie notifier confused the description and message fields
- Also added the notes field.
2016-07-12 16:20:23 +01:00
Thierry BOUVET
936f7e6362 Add smtp AUTH LOGIN 2016-07-05 15:10:42 +02:00
Dave McLain
c5d1c48610 Add support for overriding the icon_url slack parameter 2016-05-12 13:57:15 -05:00
Timo Derstappen
68232da066 Add resolved alerts to pushover template
The pushover notification of resolved alerts can end up in an empty
message (only a newline). I've fixed the check for an empty message with
trimming the whitespace. But I also thought that adding the resolved
alerts to the message would be helpful.
2016-04-27 10:55:06 +02:00
Fabian Reinartz
b52e71e5cd Merge pull request #308 from mpchadwick/smtp-auth
Move SMTP auth to the config file
2016-04-16 23:52:44 +02:00
Max Chadwick
4cb3874ab8 Move SMTP auth to the config file 2016-04-16 16:41:55 -04:00
Johannes Visintini
f38a16c848 Fixing Pushover issue with message length
thanks to Merovius
2016-04-16 13:00:46 +02:00
Michael Stapelberg
5158926bc3 Re-do #163: smtp: STARTTLS before querying auth mechanisms
This was not ported over with the rewrite.
2016-04-01 16:50:12 +02:00
Anders Daljord Morken
74c49588cf Handle OpsGenie's response to closing an already closed alert
OpsGenie returns HTTP 400 to alert close requests if the alert has
already been closed. There is no need to try again if this happens.

When an error is returned from a notifiation service, an error is
logged, and the logged error is more meaningful if it includes a hint
about which notification service that caused a problem.

Defer the resp.body.Close() call in the OpsGenie Notify()
implementation.
2016-03-31 23:47:17 +02:00
Seb Dijols
7d512eba56 Add support for Teams and Tags to OpsGenie notifier
Add Teams and Tags templated strings to OpsGenieConfig. Output must be comma-separated values.
2016-03-16 09:54:21 +00:00
Brian Brazil
04fbfb9a65 Merge pull request #271 from prometheus/log-opsgenie-error-response
Add debug log for unexpected opsgenie responses
2016-03-09 08:58:23 +00:00
Tobias Schmidt
bdb2cd450f Add debug log for unexpected opsgenie responses 2016-03-08 20:04:20 -05:00
Michael Stapelberg
4c0aa00bcf Re-implement pushover notifications
This feature was dropped during the rewrite, but I use and like
Pushover.

fixes #107
2016-03-03 09:07:33 +01:00
Alexis Savin
b364ca535e Adding support for slack icon_emoji in slack config.
```
slack_configs:
  - send_resolved: true
    username: 'Prometheus'
    channel: '#monitoring'
    icon_emoji: ':prometheus:'
    api_url: 'https://hooks.slack.com/services/<token>'
```
2016-02-16 11:54:30 +01:00
Fabian Reinartz
6e82fdd419 Fix vetting errors 2016-02-15 11:57:16 +01:00
Fabian Reinartz
0594d170f6 Upgrade webhook protocol 2016-02-12 10:34:00 +01:00
Fabian Reinartz
77245b9452 Fix typo 2016-02-09 14:53:59 +01:00
Brian Brazil
35b1e4dbd7 Merge pull request #248 from prometheus/groupkey
Add groupKey to webhook data
2016-02-09 13:41:02 +00:00
Fabian Reinartz
c1df1a1984 Add groupKey to webhook data 2016-02-09 14:37:44 +01:00
Dave McLain
f26bfc30dc Slack: Use the text template processor for the text field to enable linked URLs
Fixes #207
2016-02-08 21:17:44 +00:00
Fabian Reinartz
4f8d6f5f2a Allow markdown in Slack 'text' field 2016-02-04 11:42:55 +01:00
Luka Furlan
8ba1d9569f OpsGenie: include missing source option 2016-02-02 16:03:29 +00:00
Fabian Reinartz
047e7e9c80 Add instrumentation about notifications 2016-01-11 11:04:29 +01:00
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
louis
23db37dc98 add hipchat room notifier 2016-01-05 20:52:08 +01:00
Fabian Reinartz
a6b5d0552d Fix fanout initialization conflict 2015-12-17 14:25:03 +01:00
Fabian Reinartz
9b4479cb6b Move send_resolved parameter to notifier configuration 2015-12-17 13:43:56 +01:00