Commit Graph

1593 Commits

Author SHA1 Message Date
stuart nelson
2cf38e4c2e Fix external web url (#836)
Infer path from Navigation.Location

Build uses template, local dev uses elm-reactor

Remove unneeded local dev go server

Add script.js make target

Compiles and uglifies script.js

Before:
~570kb

After:
~170kb

Bootstrap loading state

Add trailing slash via JS & add routePrefix console param

Add Javascript script tag to `index.html` which adds a trailing slash to
the url pathname if none is present. This is done to ensure assets like
`script.js` are loaded properly.

Example without patch:
If the pathname is "mxinden.com/alertmanager" the browser will try to
download the `script.js` asset from "mxinden.com/script.js". This
request will fail.

Example with patch:
If the pathname is "mxinden.com/alertmanager", Javascript redirects the
browser to "mxinden.com/alertmanager/" and then the `script.js` asset
will be downloaded from "mxinden.com/alertmanager/script.js". This
request will succeed.

Add `-web.route-prefix` as a console parameter. This configures a
Prefix for the internal routes of web endpoints. Defaults to path of
-web.external-url like in *Prometheus*.

Trim slashes off of route prefix and add one slash at the beginning.
Make sure route prefix is not empty or just a slash before prefixing
router.
2017-06-07 22:38:39 +02:00
Conor Broderick
5a5acb2d1c Elide secrets in alertmanager config (#841) 2017-06-06 12:02:49 +01:00
Fabian Reinartz
31001474c4 Merge pull request #843 from Kellel/kellel/831-fix
Fixes #831
2017-06-06 06:55:37 +02:00
Kellen Fox
305263e462 Fixes #831 Move config file to a more consistent location and update docs 2017-06-03 14:12:43 -07:00
Andrey Kuzmin
ffe79ad410 Inhibited indicator in the UI (#838)
* Add inhibited indicator

* Update bindata.go
2017-06-01 10:43:44 +02:00
Andrey Kuzmin
3f60d01592 Add favicon (#839)
* Add favicon

* Fix the node version

* Update bindata.go
2017-06-01 10:13:20 +02:00
Conor Broderick
02484d18b0 Added option to disable AM listening on mesh port (#764) 2017-05-31 11:05:18 +01:00
Andrey Kuzmin
eff5341dec Show alert annotations (#833)
* Show annotations

* Update bindata.go

* Fix the versions of elm modules
2017-05-30 21:04:49 +02:00
Max Inden
6a69491ecf Merge pull request #832 from mxinden/expire-sil
Expire pending silence and move to expired state
2017-05-30 10:33:32 +02:00
Max Leonard Inden
08be6a4149
Expire pending silence and move to expired state
Instead of setting endsAt to startsAt we can set both to now. Thereby
the Silence will get the expired state by default.
2017-05-29 18:44:58 +02:00
Max Inden
a217e162a8 Do not expose resolved alerts & do not send resolved if never firing (#820)
Do not expose resolved alerts on the /alerts endpoint. Do not send
resolved alerts to receivers if the alerts have never been fired before.
2017-05-29 14:07:05 +02:00
Max Inden
0819ee8a87 Update build status to target master (#826)
Instead of targeting the latest build, which could be any PR, we should target current master results.
2017-05-28 13:25:17 +02:00
Andrey Kuzmin
562f99566e Improved Validation (#827)
* Restructure the validation

* Validate on blur

* Extract alerts from the silence

* Use string for the error type

* Use ApiData everywhere

* Validate the form

* Remove redirect on failure

* Code review fixes

* Hide the delete button if there is one matcher

* Rename silence2

* Update bindata.go

* Fix the tests

* Actually hide the delete button

* Update bindata.go
2017-05-28 12:53:25 +02:00
David Guerrero
1f346a6724 fixing a typo in amtool help text (#829) 2017-05-26 11:27:09 +01:00
Fabian Reinartz
6be3fbcb68 Merge pull request #818 from prometheus/brian-brazil-patch-1
Correct change types in 0.6.x changelogs
2017-05-22 18:29:50 +02:00
Brian Brazil
b5763d8d3b Correct change types in 0.6.x changelogs 2017-05-22 17:14:47 +01:00
Andrey Kuzmin
30749037a9 Style the silences list (#809)
* Get rid of old css lib

* Cleanup the models and updates

* Styled the silences view

* Update that bindata stuff
2017-05-22 13:36:31 +02:00
Fabian Reinartz
e882e6f9e0 Merge pull request #811 from prometheus/silexp
silence: fix and test expiration behavior
2017-05-22 09:52:50 +02:00
Fabian Reinartz
f53974d5e6 silence: fix and test expiration behavior 2017-05-22 09:27:57 +02:00
Max Inden
15979ceeec Merge pull request #807 from mxinden/cutv0.7.0-rc.0
*: cut v0.7.0-rc.0
2017-05-19 16:22:10 +02:00
Max Leonard Inden
ba6d945456
*: cut v0.7.0-rc.0 2017-05-19 15:48:55 +02:00
Max Inden
efb0e870ef Merge pull request #806 from mxinden/silence-form
Rework SilenceForm
2017-05-19 15:09:48 +02:00
Max Leonard Inden
b3bb5dca80
Rework SilenceForm
* Restyle SilenceForm view
* Add validation to SilenceForm
* Redirect to new silence when editing expired one
2017-05-19 14:14:35 +02:00
Fazal Majid
2123264b98 updated logrus so alertmanager can build on Solaris/Illumos (#804) 2017-05-18 15:58:30 +02:00
Max Inden
e85d8acbb2 Merge pull request #799 from mxinden/silenced
Add 'silenced' query param to /alerts endpoint
2017-05-18 09:16:07 +02:00
Max Leonard Inden
b9acb7a63f
Add 'silenced' query param to /alerts endpoint
This adds the silenced query parameter to the /alerts API endpoint. In
addition it changes the default in the UI. Previously silenced alerts
were displayed by default. This PR hides silenced alerts by default.
2017-05-17 18:59:20 +02:00
Fabian Reinartz
0370eebb10 Merge pull request #803 from prometheus/tmpl
Remove receiver filtering from backlink
2017-05-17 12:39:37 +02:00
Fabian Reinartz
b3d2ff3688 Remove receiver filtering from backlink 2017-05-17 11:03:32 +02:00
Fabian Reinartz
d73a655bf4 Simplify silence modifications, add update endpoint (#796)
* Simplify silence modifications, add update endpoint

* vendor: add pkg/errors

* ui: Handle upserting of silences

.

* Regenerate bindata
2017-05-16 16:48:25 +02:00
stuart nelson
a0e6aceadb Merge GroupBy alerts (#775)
* Create set of labelKeys

* Wip (compiling)

* Add naive levenshtein distance

Need to check out the fzf fuzzy algo, this is just
a place holder for now.

https://github.com/junegunn/fzf/blob/master/src/algo/algo.go

* Hack a groupBy into the code

This needs massive cleanup and is just a
late-night spike. Everything in this commit needs
to be re-organized, most likely.

* Update some html/css

* Set input validation for label filtering

* Add Jaro-Winkler string comparison

* remove levenshtein stuff

* Fix match tests

* Read actual Jaro definition

if ml == 0, then the distance == 0

* Use correct searchLength implementation

* Limit searching string to matchRange

Only search matchRange when looking for matches,
instead of going through every value and then
deciding if it should be checked based on its
position.

Data generated from
https://ellie-app.com/38cXFnRLjcga1/1

matchCharmatchChar2delta

mean ops/sec
346,928.55 (stddev: 12,306.94, 3.55%)
364,551.61 (stddev: 10,561.94, 2.9%) +5.08%

mean runtime
2.886ns (stddev: 103.748µs, 3.59%)
2.745ns (stddev: 80.856µs, 2.95%) -4.87%

total runtime
5.022s
5.052s

sampling
48 runs of 30,000 calls
46 runs of 40,000 calls

* Fix off-by-one error in List slicing

* Simplify transition calculation

* Keyboard controls for the autocomplete

* Fix clicking on the results

* Rename AutoComplete to GroupBar

* Broke apart the view function

* Fix the layout

* Change button style

* Synchronize grouping with URL

* Fix tests

* Added toggle silenced alerts

* Remove comment

* Roll back the labelButton

* Always fetch the alerts

* Disable show silenced

* Extract alert groups

* Rename tests

* Use more generic number instead of int

* Restore showSilenced

* Update ui/bindata.go

* Update template/internal/deftmpl/bindata.go

* Update bindata.go

* Reformat with updated elm-format
2017-05-16 00:10:30 +02:00
Max Leonard Inden
a8cac65828
Merge pull request #789 from branch 'ui-rewrite' 2017-05-15 10:03:52 +02:00
Max Leonard Inden
7e6de53f3a
Merge branch 'master' into ui-rewrite 2017-05-15 09:58:14 +02:00
Fabian Reinartz
ff346c1ac9 Merge pull request #780 from prometheus/meshup
Update mesh and add it to debug logging
2017-05-15 09:47:17 +02:00
Fabian Reinartz
f43786ec0b Bump Go version used for Travis runs 2017-05-15 09:29:06 +02:00
Max Inden
f298a21e97 Sync master (#791)
* Anchor silence regex rules

When user creates a new silence with regex match it's left to the user to anchor it, which is not consistent with Prometheus regex handling (promql/functions.go#L818).

* Serialize AlertStatus as 'status'

AlertStatus doesn't have json tag with the field name, so it's serialized into 'Status', and it's the only uppercase field in the alert object. Tag it with 'status' name for consistency

* Fix lock usage in the types package

Locking is a bit tricky there since some state-modifying methods will call to other methods that also modify marker state, simple defer won't work.

* Throw error when continue in route root of Alertmanager config

* Fix alert status handling in UI

* Fixes #746

Found that we are only defining MarshalJSON for the Regexp type for
references not for the direct object

Also took the time to simplify the json.Unmarshal usage in cli/config.go

* Added unit test for continue in root route error (#768)

* Added unit test for continue in root route error

* replaced %v with %q

* Fix broken link to silence from alert

* Fix broken link to silence from alert

* *: cut v0.6.2 (#777)

* Show startsAt time for pending silences (#778)

* docs: Add note to not load balance Alert trafic
2017-05-12 13:46:11 +02:00
Max Inden
eae47b5f01 Sync ui-rewrite with master (#790)
* Anchor silence regex rules

When user creates a new silence with regex match it's left to the user to anchor it, which is not consistent with Prometheus regex handling (promql/functions.go#L818).

* Serialize AlertStatus as 'status'

AlertStatus doesn't have json tag with the field name, so it's serialized into 'Status', and it's the only uppercase field in the alert object. Tag it with 'status' name for consistency

* Fix lock usage in the types package

Locking is a bit tricky there since some state-modifying methods will call to other methods that also modify marker state, simple defer won't work.

* Throw error when continue in route root of Alertmanager config

* Fix alert status handling in UI

* Fixes #746

Found that we are only defining MarshalJSON for the Regexp type for
references not for the direct object

Also took the time to simplify the json.Unmarshal usage in cli/config.go

* Added unit test for continue in root route error (#768)

* Added unit test for continue in root route error

* replaced %v with %q

* Fix broken link to silence from alert

* Fix broken link to silence from alert

* *: cut v0.6.2 (#777)

* Show startsAt time for pending silences (#778)
2017-05-12 12:55:29 +02:00
Max Inden
5f2ac0e2ec Merge pull request #788 from mxinden/docs
docs: Add note to not load balance Alert trafic
2017-05-12 11:59:16 +02:00
Max Leonard Inden
765b07c734
docs: Add note to not load balance Alert trafic 2017-05-12 11:56:17 +02:00
Max Inden
e5042e4d3b Merge pull request #785 from mxinden/silence-state
Silence State from API and UI
2017-05-12 11:04:53 +02:00
Max Leonard Inden
3117e69239
Restyle SilenceList view and group by state 2017-05-11 11:30:36 +02:00
Max Leonard Inden
401e440db4
Return silence state on /silences
silenceState = "expired" | "active" | "pending"
```
"status": {
  "state": "expired"
}
```
2017-05-10 12:01:21 +02:00
Max Inden
d463f1c298 Sync ui-rewrite with master (#779) 2017-05-10 11:49:02 +02:00
Fabian Reinartz
8ccb95c9f5 Log mesh messages at debug level 2017-05-09 16:07:27 +02:00
Max Inden
6784e300cf Merge pull request #772 from prometheus/cache-control
Update cache control for web assets
2017-05-09 15:17:29 +02:00
Fabian Reinartz
672e9b205f vendor: update mesh 2017-05-09 15:03:27 +02:00
stuart nelson
a776bbc720 Show startsAt time for pending silences (#778) 2017-05-09 08:37:39 -04:00
Fabian Reinartz
75b951b072 Merge branch 'release-0.6' 2017-05-09 10:43:49 +02:00
Fabian Reinartz
b011c0a32c *: cut v0.6.2 (#777) 2017-05-09 10:43:24 +02:00
Fabian Reinartz
dc5142c76b Fix broken link to silence from alert 2017-05-09 10:26:51 +02:00
Fabian Reinartz
257ce9ae8f Fix broken link to silence from alert 2017-05-09 10:26:25 +02:00