Commit Graph

1830 Commits

Author SHA1 Message Date
Max Leonard Inden 2b697aaa6b
api/v2: Extract shared properties of gettable and postable alert
With issue 1465 on openapi-generator [1] being fixed, we can not extract
shared properties of the gettable and postable alert definition into a
shared object (`alert`) like we do for silence, gettable silence and
postable silence.

In addition this patch does the following changes to the UI:

- Use `List GettableAlert` instead of plural type definition like
`GettableAlerts` because the plural definitions are not generated.

- Fix openapi-generator-cli docker image to specific hash.

[1] https://github.com/OpenAPITools/openapi-generator/issues/1465

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-28 14:35:39 +01:00
Max Inden 218b8fb1f4 ui: Pass parameterized api url down to status logic (#1637)
Previously the api url was hardcoded in the elm logic fetching the
status of an Alertmanager. Instead it is now being passed down like we
already did for /alerts, /silences and /receivers.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-27 15:33:19 +01:00
Max Inden 37e019017b
Merge pull request #1630 from simonpasquier/go-modules
*: support Go modules
2018-11-27 15:32:13 +01:00
Max Inden 091a8a83b1
Merge pull request #1632 from mxinden/alerts-api-v2
ui: Move alerts to api v2
2018-11-26 14:28:13 +01:00
Max Inden 2962039407
Merge pull request #1633 from simonpasquier/fix-v2-with-prefix
Fix route prefix for the API v2
2018-11-26 13:08:12 +01:00
Simon Pasquier 5fd944a603 test/with_api_v1: add test for route prefix
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-23 13:59:28 +01:00
Simon Pasquier d6f8437b9b test/with_api_v2: add test for route prefix
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-23 13:59:28 +01:00
Max Leonard Inden f504f953c1
ui: Move /alerts to API v2
Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-23 12:53:48 +01:00
Povilas Versockas 7f34cb4716 cluster: Add cluster peers DNS refresh job (#1428)
Adds a job which runs periodically and refreshes cluster.peer dns records.

The problem is that when you restart all of the alertmanager instances in an environment like Kubernetes, DNS may contain old alertmanager instance IPs, but on startup (when Join() happens) none of the new instance IPs. As at the start DNS is not empty resolvePeers waitIfEmpty=true, will return and "islands" of 1 alertmanager instances will form.

Signed-off-by: Povilas Versockas <p.versockas@gmail.com>
2018-11-23 09:47:13 +01:00
Max Inden 96fce3e8ab
Merge pull request #1591 from ckressibucher/bugfix-980-smtp-auth
FIX "PLAIN" auth during notification via smtp-over-tls on port 465
2018-11-22 11:54:54 +01:00
Max Leonard Inden 8c19b96bd6
Revert "ui: Patch /alerts and /receivers to use api v1"
This reverts commit fb86df6add.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-21 17:10:17 +01:00
Simon Pasquier ae66c4f31f cmd/alertmanager: fix route prefix for the API v2
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-21 15:32:29 +01:00
stuart nelson 2026e4a01f
[gossip] Don't merge expired gossip messages (#1631)
* [silences] Don't merge expired silences

If they're expired, they should be cleaned up on
the next GC cycle, but merging them in means that
they'll probably be gossip'd continually between
the cluster members.

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>

* Add analogous behavior+test for nflog

The code for nflog was also constantly re-adding
nflogs to the internal memory store, the same as
the silence code was.

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>

* Add retention to TestQuery

With the default 0 retention, the alerts would not
be merged.

Signed-off-by: Stuart Nelson <stuartnelson3@gmail.com>
2018-11-21 11:40:57 +01:00
Simon Pasquier d2bc742474 *: support Go modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-20 16:09:40 +01:00
Max Inden 573389a9bb
Merge pull request #1623 from simonpasquier/add-test-apiv2
test: add acceptance test for firing alerts with EndsAt
2018-11-18 16:32:59 +01:00
Max Inden 461df778ec
Merge pull request #1626 from simonpasquier/fix-vendoring
vendor: fix packages with dubious revision
2018-11-16 16:50:39 +01:00
Simon Pasquier e8e70afc44 vendor: fix packages with dubious revision
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
Co-authored-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-16 15:20:53 +01:00
Max Inden 7ff1a618c6
Merge pull request #1613 from mxinden/api-v2-silences-status
ui: Move /status & /silences to API v2
2018-11-15 17:15:38 +01:00
Simon Pasquier 2ea37af92c test: add acceptance test for firing alerts with EndsAt
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-15 16:37:41 +01:00
Max Leonard Inden b4b8b750df
api/v2/openapi.yaml: Differentiate between post and get silence
Instead of having one general silence, differentiate between postable
and gettable silence, hence making more fields required.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-15 16:21:07 +01:00
Max Leonard Inden fb86df6add
ui: Patch /alerts and /receivers to use api v1
With the previous patch /status and /silences were requested from api
v2. Requesting alerts from api v1 is done in a separate commit to be
able to revert it once alerts also come from api v2.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-15 13:25:41 +01:00
Max Leonard Inden e4e053b18e
ui: Move /status & /silences to API v2
This patch makes the Alertmanager UI (/status & /silences) use the
api/v2 endpoint. In addition it adds logic to generate the elm side data
model based on the OpenAPI specification.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-15 13:24:26 +01:00
Simon Pasquier 19dad7c8d5
Merge pull request #1622 from simonpasquier/fix-notify-channel
cmd/alertmanager: use buffered channel for signal
2018-11-14 18:06:08 +01:00
Simon Pasquier dae389f058 cmd/alertmanager: use buffered channel for signal
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-14 16:41:32 +01:00
Max Inden 9426724e4a
Merge pull request #1609 from free/fix-mime-line-length
Use quoted-printable transfer encoding for the email notifier
2018-11-14 15:11:57 +01:00
stuart nelson 72e6720bea
Fixes #1615 (#1620)
Support `w` duration when making silences. Remove
`y` as a supported duration, silences are for
short term notification prevention.

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2018-11-13 15:08:37 +01:00
Max Inden 86129874d1
Merge pull request #1617 from mxinden/back-to-master
*: Cut v0.15.3 back to master
2018-11-09 17:34:36 +00:00
Max Leonard Inden e572eb55c0
*: Cut v0.15.3
Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-09 16:49:50 +00:00
Simon Pasquier 008b4a93da
types: fix alert merging
Alert merging assumed that EndsAt would always be empty for firing
alerts. This is no longer true starting with Prometheus v2.4.0: EndsAt
is set to a multiple of the evaluation interval or resend interval
(whichever is the largest). This change updates the merging logic to
support both cases.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 16:48:46 +00:00
Guillaume Le Floch 108388a72f notify/email: Throw error if no auth mechanism matches (#1608)
Signed-off-by: glefloch <glfloch@gmail.com>
2018-11-09 12:45:07 +00:00
Max Inden 3a577968a0
Merge pull request #1612 from simonpasquier/remove-x-net-context
*: remove use of golang.org/x/net/context
2018-11-09 11:55:16 +00:00
Simon Pasquier 306fd73e32 *: remove use of golang.org/x/net/context
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 10:00:23 +01:00
stuart nelson 625604df90
Show more alert information on silence form/ silence view pages (#1601)
* Display same alert info as available in alert list

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2018-11-07 17:08:22 +01:00
Alin Sinpalean 9513afbe6b Use quoted-printable transfer encoding for the email notifier. Turns out MIME has a maximum line length of 998 bytes and some SMTP servers will enforce that by inserting a newline after 998 characters, whether that's in the middle of a URL or HTML tag.
Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>
2018-11-07 12:46:08 +01:00
Arno Uhlig b63b560074 [notify/slack] Add name, value, SlackConfirmationField to slack action (#1557)
Signed-off-by: Arno Uhlig <arno.uhlig@sap.com>
2018-10-29 15:55:43 +01:00
Max Inden 0d94ec2268
Merge pull request #1562 from mxinden/clustering-tests
test: Enable testing against cluster of Alertmanagers
2018-10-24 16:42:42 +02:00
Max Leonard Inden d123cbe696
test: Enable testing against cluster of Alertmanagers
Instead of only testing single instance Alertmanagers, this patch
enables individual tests to spin up Alertmanager clusters.

In addition it adds two tests:

1. A test firing alerts against a cluster, expecting to only receive a a
notification by one of the Alertmanager instances in the cluster.

2. A test firing alerts both against a single instance as well as a
cluster, making sure the output equals.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-10-24 15:59:36 +02:00
Tom Wieczorek 875f6ba178 Make OpsGenie API Key a templated string. (#1594)
This is analogous of what is done for PagerDuty secrets.

Signed-off-by: Tom Wieczorek <t.wieczorek@yieldlab.de>
2018-10-23 12:53:57 +01:00
Arno Uhlig c38ac84a6d Slack notifier missing callback_id parameter (#1592)
* fix callback id in slack attachments

Signed-off-by: Arno Uhlig <arno.uhlig@sap.com>
2018-10-23 11:22:23 +02:00
Claudio Kressibucher 352b2ae093 FIX "PLAIN" auth during notification via smtp-over-tls on port 465
When creating a `NewClient`, pass only the hostname
as value for the `host` parameter, instead of `n.conf.Smarthost`,
which is hostname port.

This is the same as `smtp.Dial` does, which is called in
the else-branch.

Signed-off-by: Claudio Kressibucher <ckressibucher@graphicworks.ch>
2018-10-21 20:43:31 +02:00
Jonathon Mills-Kelly f297445b88 run as nobody (#1586)
Signed-off-by: Jonathon <jonathon@insidersbyte.com>
2018-10-17 12:01:48 +02:00
Simon Pasquier a19404238b *: move to go1.11 (#1580)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-10 11:12:15 +02:00
Simon Pasquier 7bdd221f3a circleci: switch to 2.1 configuration (#1579)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-10 08:59:17 +02:00
Chris Mark 6eaacfe243 Changes alertmanager_notifications to count attempted notifications (#1578)
alertmanager_notifications_total is increased only on
successful notifications, and not on any attempted
notification as the current description points

Signed-off-by: Chris Mark <chrismarkou92@gmail.com>
2018-10-09 13:23:12 +01:00
stuart nelson 50b87ac720
Fixes #1570 (#1575)
The documentation stated that the `alertname=`
part of a matcher could be dropped and it would be
assumed that the first value was the alertname.
This behavior was only honored if there was a
single matcher, but failed if there were multiple.

Any time we have one or more matchers, check to
see if the first matcher fails parsing. If so,
assume it's intended to be used as the alertname,
and append that value to the matcher.

Signed-off-by: Stuart Nelson <stuartnelson3@gmail.com>
2018-10-08 13:06:12 +02:00
Simon Pasquier ce2f2ac380 config: enforce HTTP or HTTPS URLs (#1567)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-05 19:29:52 +02:00
Simon Pasquier e6c5c03c9e circleci: store build outputs as artifacts (#1572)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-05 19:18:50 +02:00
Jannick Fahlbusch ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ 30aae38c95 store: Fix ineffectual assignment for default GC interval (#1568)
This fixes the ineffectual assignment for the default GC interval when specifiying a duration of 0

Signed-off-by: Jannick Fahlbusch <git@jf-projects.de>
2018-10-03 13:08:23 +02:00
Sean Houghton c9e250dab1 Add support for images and links in the PagerDuty notification config (#1559)
* Add support for images and links in the PagerDuty notification config

This only works when using the v2 API. It supports template values for all fields.

Signed-off-by: Sean Houghton <sean.houghton@activision.com>
2018-10-02 10:45:53 +02:00
Kai S d593562493 Make a note about the firewall in HA mode (#1563)
* Make a note about the firewall in HA mode
2018-10-01 13:39:50 +02:00