Commit Graph

158 Commits

Author SHA1 Message Date
Łukasz Mierzwa
ad699fc6fe feat(backend): add external_uri config option for alertmanager upstreams
Fixes #899
2019-08-27 21:58:52 +01:00
Renovate Bot
96ada9e09a chore(deps): update quay.io/goswagger/swagger docker tag to v0.20.1 2019-08-20 08:54:10 +00:00
Łukasz Mierzwa
f2d04f662a chore(backend): regenerate am >=0.17 client code using swagger 0.20.0 2019-08-19 11:04:39 +01:00
Renovate Bot
771bcda27a chore(deps): update quay.io/goswagger/swagger docker tag to v0.20.0 2019-08-19 11:04:39 +01:00
Łukasz Mierzwa
77735ffcf1 fix(backend): fix problems found by new linters 2019-08-18 15:51:54 +01:00
Łukasz Mierzwa
29b6c7baae fix(backend): fix problems found by new linters 2019-08-18 10:58:26 +01:00
Łukasz Mierzwa
939970fd5f fix(backend): reformat backend code 2019-08-17 14:52:35 +01:00
Łukasz Mierzwa
4ab8f0305a feat(tests): add more test coverage 2019-08-08 15:45:01 +01:00
Łukasz Mierzwa
6b497217d9 fix(backend): remove endsAt from alerts
This is unused but keeps changing
2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
874976e312 chore(tests): add mock files for alertmanager 0.18.0 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
86506563e9 feat(api): sort alert groups in the backend 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
68b6e17e64 chore(backend): reformat code 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
c485e3ed3f chore(tests): add extra labels for more test coverage 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
9b6273595d chore: move sorting to the backend 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
49087ee10d fix(api): overview modal should sort label names in ascending order 2019-07-31 13:21:27 +01:00
Łukasz Mierzwa
e36f25a248 chore(api): add offset and raw filter value to the counters dict 2019-07-14 18:22:55 +01:00
Łukasz Mierzwa
1a98e01622 feat(backend): allow extracting silence author from auth headers 2019-07-12 23:04:15 +01:00
Łukasz Mierzwa
f0fee594d9 feat(api): add labels stats to the api response
These will be used by an overview modal, showing top labels.
2019-07-09 23:03:01 +01:00
Łukasz Mierzwa
e20f7049b3 fix(backend): ensure that we always use default timeout for am requests
Timeout attribute for each alertmanager upstream should default to the value of alertmanager.timeout flag.
Without that it will default to 0s which will cause it to timeout instantly
2019-06-27 16:43:55 +01:00
Łukasz Mierzwa
50cdc617e7 fix(backend): don't hardcode success reponse string
Linter doesn't like repeated strings, neither should I
2019-06-22 17:48:33 +01:00
Łukasz Mierzwa
4bd9f447e2 feat(backend): query cluster status via v2 Alertmanager API
This change switches to v2 API when querying for cluster status on Alertmanager 0.17.0+.
v1 will soon be removed so this is needed to support future Alertmanager releases
2019-06-22 17:48:33 +01:00
Giedrius Statkevičius
d0a1076962 internal/config: fix tests
Add a new field to the configuration string: log.format. It was missing
thus the unit test fails.
2019-05-27 11:12:51 +03:00
Giedrius Statkevičius
5197e89e73 karma: add ability to configure log format
Add a rudimentary switch which would let users switch between different
formats used for logging. This is needed so that software such as
`logstash` could easily understand the structure of log messages and
index them accordingly.
2019-05-27 11:00:44 +03:00
Łukasz Mierzwa
2efa67ebd3 chore(tests): add more backend test coverage 2019-05-12 14:36:51 +01:00
Łukasz Mierzwa
5dd3b35f35 chore(backend): move metrics to the main package 2019-05-12 12:11:10 +01:00
Łukasz Mierzwa
0c94d7f5ba feat(backend): add alertmanager v0.17.0 mock files for testing
file:// scheme is not supported so we need some changes to always use mocks
2019-05-10 21:08:16 +01:00
Łukasz Mierzwa
abaf9f1d47 fix(backend): pass basic auth to the v2 API mapper 2019-05-09 19:17:42 +01:00
Łukasz Mierzwa
94ddb04b93 chore(backend): rename mapper to match alertmanager version 2019-05-03 20:01:43 +01:00
Łukasz Mierzwa
2fea920e57 feat(api): expose silenceform:strip:labels settings in the API 2019-04-29 20:17:40 +01:00
Łukasz Mierzwa
1eb1b6736a feat(config): add options for ignoring labels when populating silences 2019-04-29 20:17:13 +01:00
Łukasz Mierzwa
dfea73923c refactor(backend): add support for OpenAPI based client for alertmanager 2019-04-24 20:56:58 +01:00
Łukasz Mierzwa
24e3c904ce fix(backend): correct the name of metric collector 2019-04-24 20:56:00 +01:00
Łukasz Mierzwa
536d9cbba3 feat(backend): add mapper support for alertmanager v0.16+ 2019-04-24 20:56:00 +01:00
Łukasz Mierzwa
571b08638d fix(tests): correctly setup silences for filter tests
ft.Silence is not a pointer so it's never null, fix the check to use the ID which will default to empty string if Silence object is not populated
2019-03-31 20:44:54 -07:00
Łukasz Mierzwa
aa070a769c fix(config): change config schema to allow regex based matches
BREAKING CHANGE: this changes configuration schema for custom label values, it provides more flexibility when setting custom labels and also prevents '*' special wildcard value from conflicting with labels, since '*' is a valid label value.

Fixes #537
2019-03-21 11:17:18 +00:00
Łukasz Mierzwa
4ef9052a98 feat(api): allow using wildcards with custom colors
Fixes #537
2019-03-20 21:15:04 +00:00
Łukasz Mierzwa
9f2492d30e chore(backend): switch jarcoal/httpmock imports to use github
This is to use v1.0.0 that was just released, gopkg.in doesn't work anymore
2019-03-17 20:17:20 +01:00
Łukasz Mierzwa
003e2d88ac fix(api): always sort shared silences
Prevent different order between requests, which can also break random tests
2019-03-15 13:27:03 +00:00
Łukasz Mierzwa
49257ec296 fix(api): correctly deduplicate silences
Right now deduplication only works when there's a single silence for the entire group, but not if the group is silences with multiple silences. This change fixes the logic so that we look at silences covering the entire group and move those into shared namespace
2019-03-15 10:49:33 +00:00
Łukasz Mierzwa
1ce7f1b2d0 fix(backend): workaround viper map key parsing
This is a workaround until this issue is fixed upstream.

Fixes #507
2019-03-13 10:30:22 +00:00
Łukasz Mierzwa
6ebc88b0ba feat(api): deduplicate silences
Detect if all alerts are silenced with the same silence ID and expose this information in the API response.
2019-03-08 16:59:47 +00:00
Łukasz Mierzwa
7a0a587ddb feat(api): expose alert.inhibitedBy in the API 2019-03-05 11:00:54 +00:00
Łukasz Mierzwa
058d10f4ba chore(config): move value mapping options to grid:sorting section
Those options are only valid for sorting, so move it to the new config section where all sort options live
2019-02-21 18:15:11 +00:00
Łukasz Mierzwa
aa657ea216 feat(backend): allow configuring default grid sort options
This will allow UI to get the defaults for grid sorting via the API
2019-02-20 21:58:59 +00:00
Łukasz Mierzwa
397bbe5783 feat(config): allow configuring label value mapping for sorting
This feature solves the problem of sorting by label when values have special meaning and alphabetic sort doesn't make sense for it.
2019-02-18 23:17:47 +00:00
Łukasz Mierzwa
22f719adc6 fix(api): apply colors to the @alertmanager label
It's a fake label so it needs special code to inject the color information to the API response.

Fixes #421
2019-02-06 17:11:25 +00:00
Łukasz Mierzwa
9e4abbd42b feat(backend): allow setting custom colors for labels
This allows to have a user defined color (rgb or hex) for label values configured in the config file
2019-02-04 13:18:47 +00:00
Łukasz Mierzwa
b52c3f7af4 feat(backend): allow disabling TLS certificate validation
Fixes #409
2019-02-01 20:57:34 +01:00
Łukasz Mierzwa
af9e55032e feat(api): use metrics to detect Alertmanager version
We need to know upstream version to decide which API endpoints we can use, metrics don't change between versions so they allow us to do that without any prior knowlage or assumptions
2019-01-30 17:57:02 +00:00
Richard Maynard
ec14be0288 feat(backend): add support for custom headers (#368)
This will allow the AlertManager upstreams to be sent user defined HTTP headers.
2019-01-17 08:53:33 +00:00