alertmanager/ui/app
Corentin Chary dd75201f1c Add /-/ready based on mesh status (#1209)
* Wait for the gossip to settle before sending notifications

See #1209 for details.

As an heuristic for mesh readyness, try to see if
the mesh looks stable (the number of peers isn't changing too much).
This implementation always mark the altermanager as ready after a maximum of 60s.

This adds one new flags to control this behavior:
```
      --cluster.settle-timeout=60s  mesh settling timeout. Do not wait more than this duration on startup.
```

It also adds `/-/ready` which always return 200 (in order to make it clear
that we are ready as soon as we can receive requests).

The mesh status is exposed in `/api/v1/status` and visible on `/#/status`.

* cluster: fix typos and base interval on gossipInterval
2018-03-02 15:45:21 +01:00
..
lib Use elm reactor for dev assets (#1133) 2017-12-10 21:59:15 +01:00
src Add /-/ready based on mesh status (#1209) 2018-03-02 15:45:21 +01:00
tests Toggle silenced and inhibited alerts (#1049) 2017-10-23 11:00:17 +02:00
.gitignore Add Elm UI rewrite from github.com/stuartnelson3/am-ui with history 2017-03-24 17:48:50 +01:00
CONTRIBUTING.md Improve front-end build process 2017-07-06 13:43:10 +02:00
elm-package.json Added confirmation dialog when expiring silences 2017-09-14 16:41:55 +01:00
favicon.ico Add favicon (#839) 2017-06-01 10:13:20 +02:00
index.html UI: Fix JavaScript error in MSIE due to endswith() usage (#1172) 2018-01-02 14:25:54 +01:00
Makefile macOS requires the template to be at the end (#971) 2017-09-02 20:19:11 +02:00
README.md Add CONTRIBUTING.md for front-end code 2017-03-31 17:49:50 +02:00

Alertmanager UI

This is a re-write of the Alertmanager UI in elm-lang.

Usage

Filtering on the alerts page

By default, the alerts page only shows active (not silenced) alerts. Adding a query string containing the following will additionally show silenced alerts.

http://alertmanager/#/alerts?silenced=true

The alerts page can also be filtered by the receivers for a page. Receivers are configured in Alertmanager's yaml configuration file.

http://alertmanager/#/alerts?receiver=backend

Filtering based on label matchers is available. They can easily be added and modified through the UI.

http://alertmanager/#/alerts?filter=%7Bseverity%3D%22warning%22%2C%20owner%3D%22backend%22%7D

These filters can be used in conjunction.

Filtering on the silences page

Filtering based on label matchers is available. They can easily be added and modified through the UI.

http://alertmanager/#/silences?filter=%7Bseverity%3D%22warning%22%2C%20owner%3D%22backend%22%7D

Note on filtering via label matchers

Filtering via label matchers follows the same syntax and semantics as Prometheus.

A properly formatted filter is a set of label matchers joined by accepted matching operators, surrounded by curly braces:

{foo="bar", baz=~"quu.*"}

Operators include:

  • =
  • !=
  • =~
  • !~

See the official documentation for additional information: https://prometheus.io/docs/querying/basics/#instant-vector-selectors