- Karma no longer uses alertmanager
api/v2/status
to discover cluster peers. It will only rely oncluster
field configuration options set in karma config file.
silenceForm.strip.labels
did't strip labels that are in the filter bar #5817.
- Fixed
listen:prefix
handling that was broken in v0.117 - #5623.
- Migrated project from Create React App to Vite.
- Added
headers
option tohistory:rewrite
config block. This allows to set custom headers passed to Prometheus when sending history query requests.
- Improved memory usage.
- Fixed silcen form crashes when
silenceForm:defaultAlertmanagers
config option is not set.
- Added
silenceForm:defaultAlertmanagers
config option - #5086 (@david-caro).
- Upgraded project dependencies.
- Fixed duplicated
@receiver
labels showing both on the alert and in the footer.
- Alert group footer was always hidden when displaying only one alert, even if there were shared labels or annotations to display - #4892.
- Added ability to delete multiple silences from the silence browser modal - #4618.
- Added
build_info
metric - #4764.
- Managing silences for alertmanager instances with
/
in the name was failing. This release adds a workaround for it - #4674.
- Fixed CSS glitches on Google Chrome 105.
- Don't show fatal error page if configured health checks are failing but alertmanager is still showing alerts. A popup message with will still be visible.
proxy_url
option for history rewrite rules #4510 (@tolleiv).
- Upgraded Bootstrap to v5.2.
- Allow to copy alert payload from alerts dropdown menu #4378.
- Clicking on a label while holding
Shift
will now copy its value to clipboard #4378.
- Change max value of
alertsPerGroup
to 25 #4420.
- Added
@inhibited
and@inhibited_by
filters #4397.
- Dropped support for alertmanager older than
0.22.0
.
- Fixed a regression in alert history queries.
- Correctly set filter history.
- Correctly escape label values when quering Prometheus for alert history.
- Don't crash on autocomplete errors.
silences:expired
option no longer takes alerts age into account.- Moved silence progress bar to the bottom of the silence block.
- Removed sentry support to reduce application size.
sentry:private
andsentry:public
config options are no longer valid.
- Fixed regexp escaping when editing silences #3936.
- Don't render
@cluster
labels if there's only one cluster configured #3994. - Show
!
on favicon badge if there's any alertmanager upstream with errors #3987.
- Fixed regexp escaping for auto-populated silence matchers #3936.
- Upgraded Font Awesome icons to 6.0
- Fix escaping regex values in when editing silences #3936.
- Fix UI handling of 401 errors #3942.
- Fix escaping regex values in silence form #3936.
- Messages are now logged correctly when both
--log.format=json
and--log.timestamp=true
flags are set #3822. - Escape label values in silence form #3866.
- Some silenced were showing incorrect alerts count #3909.
- Show a placeholder message if no alertmanager server is configured, instead of failing to start.
tls
options tohistory:rewrite
rules, allowing customising TLS options for requests made by karma to Prometheus servers when querying alert history, #3707.- Unsilenced alerts will now show recently expired silences if they are old enough.
By default silences expired in the last 10 minutes will be shown, this can be
configured by setting
silences:expired
option or--silences.expired
flag. Setting this value to5m
will show silences if they expired in the last 5 minutes but only if the alert started firing at least 5 minutes ago. alertAcknowledgement:comment
will replace%NOWLOC%
string with a timestamp formatted using local time zone, use%NOW%
for timestamps usingUTC
timezone, #3704.
- Toast popup messages didn't respond to clicks.
- Alertmanager with brackets in the name wasn't able to create, edit or delete silences #3651.
- Loading user groups from HTTP headers, #3361 (@supertassu).
- Added
labels:keep_re
,labels:strip_re
andlabels:valueOnly_re
config options #3659 (@aalexk). labels:order
config option to allow customising order of labels #3500.
- Refactored internal APIs.
- Overview modal won't show label name for every value to save screen space.
- Retry failed requests when collecting alerts and silences from alertmanager.
- Overview modal could show incorrect counters for
@state
labels.
- Alert history rewrite rule wouldn't work unless they had a
/
suffix insource
field, this is now fixed and rewrite rules works as documented. - Clicking
Silence this group
could generate duplicated label matchers #3509.
- Alert history will now correctly handle Prometheus servers with
--web.external-url
containing sub-uri, see #3387. - Alert history queries didn't include grid labels as those got removed from alert groups in #3222, this is now fixed.
- API could error if multiple alertmanager upstreams belonging to the
same cluster were configured, but
cluster
option was unset #3372 (@valihanov).
- Added a dedicated API endpoint for silence previews.
- Added a dedicated API endpoint for overview modal.
- Individual alert details are now lazy-loaded to improve performance when dealing with a huge number of alerts per group.
- Added
/version
endpoint returning karma and Go runtime version #3332. - Added
labels:valueOnly
config option, see #3221.
- Refactored internal APIs.
- Grid labels are no longer shown on alert groups #3222.
To ensure that those labrls are always visible swimlanes are now using
position: sticky
.
- Use uber-go/automaxprocs
to automatically adjust
GOMAXPROCS
to match Linux container CPU quota. Runtime value ofGOMAXPROCS
is now exported as ago_max_procs
metric. - API will now return only first 40 alert groups by default, the rest can
be loaded when user clicks on the
Load more
button.grid:groupLimit
config option was added to customise how many groups are returned and displayed in the UI by default.
- Automatic grid label selection logic was tweaked to avoid splitting alert groups.
- Added support for alertmanager
v0.22.0
negative matchers when creating/editing silences and in ACL rules. - Silence ACL rules no longer default
isRegex
to befalse
for filters and matchers, see ACL rules for updated docs.
- Updated bootstrap to v5
- History queries were always failing due to wrong Prometheus API usage.
- URI handling for silence requests when proxy is used #3060.
- Ability to rewrite source URIs for alert history via
history:rewrite
config section #3064.
- Added
grid:auto
config section for fine tuning automatic label selection for multi-grid, when multi-grid is configured toAutomatic selection
in the UI or whenui:multiGridLabel
config section is set to@auto
. - Added alert history estimation, see README.md and docs/CONFIGURATION.md for details.
- karma will no longer fail to start if config file contains multiple alertmanager instances with different name but identical URI #3024.
- Minor UI tweaks.
- Added a new option on the list of labels used for multi-grid.
When set in the UI to
Automatic selection
selection or@auto
inui:multiGridLabel
config option karma will try to select the best grid label based on current alerts.
- Header values are now sanitised before logging when
log:config
is enabled #2930. - Fixed a deadlock issue that could cause karma to hang #2944 (@jonaz).
listen:timeout:read
andlisten:timeout:write
config options for setting HTTP server request read and response write timeouts.annotations:enableInsecureHTML
config option #2886.
- Fixed a deadlock issue that could cause karma to hang #2888.
annotations:actions
option allowing to move some annotations to alert dropdown menu #2596.proxy_url
alertmanager option to use when a proxy sever needs to be used for requests from karma to alertmanager API #2903 (@mhrabovcin).
- Multi-grid label dropdown will only show label names from visible alerts.
- Add
/robots.txt
to block search engine crawlers. - Easily change multi-grid source label via quick access dropdown on the grid header.
- Reworked how notifications are displayed.
- Not all labels were stripped when using
lables:keep
orlabels:strip
option #2585.
healthcheck:visible
alertmanager option to control if healtcheck alerts should be visible in the UI #2614.
- Don't reset regex toggle when adding new silence labels #2520
-
Added support for DeadMansSwitch alerts via
healtcheck:alerts
option on alertmanager upstream configuration #2512. Example:-
Setup always on alert in each Prometheus server (prom1 and prom2):
- alert: DeadMansSwitch expr: vector(1)
-
Add healtcheck configuration to karma:
alertmanager: servers: - name: am uri: https://alertmanager.example.com healthcheck: filters: prom1: - alertname=DeadMansSwitch - instance=prom1 prom2: - alertname=DeadMansSwitch - instance=prom2
If any of these alerts is missing from alertmanager karma will show a warning in the UI.
-
- Docker images reported version as
dev
#2479.
- Alert groups will be rendered with fewer details when idle.
- Fixed release builds using Github Actions
- Fixed auth bypass for
/health
and/metrics
endpoints. Those endpoints should be always excluded from authentication but that was broken inv0.73
#2465.
listen:tls:cert
andlisten:tls:key
config options for listening on HTTPS port
- ghcr.io/prymitive/karma is now used as the primary repository for docker images instead of Docker Hub
alertAcknowledgement:commentPrefix
config option was replaced byalertAcknowledgement:comment
that can be used to customise the entire comment.