Releases: moira-alert/moira
v2.6.2
What's Changed
- Changed naming for feature docker images by @litleleprikon in #440
- Added subscription transfer and contact deletion to CLI by @Nixolay in #443
- Added Msteams support by @imavroukakis in #432
- Upgraded golangci-lint to v1.21.0 by @titusjaka in #439
- Fixed memory leak in Scorch-type index in Bleve by @Nixolay in #444
- Made image cli by @Nixolay in #454
- Checked nil pointer by @Nixolay in #455
- Fixed nil pointer dereference in notifier by @litleleprikon in #452
- Added twimlets support for Twilio sender by @prizov in #450
- Panic in filter by @Nixolay in #467
- Added cleaning moira from fired users by @Nixolay in #458
- Cleaned up metrics interface by @Pliner in #475
- Run goimports by @Pliner in #478
- Metrics facade by @Pliner in #477
- Reworked Counter.Inc and drop NewMetersCollection from Registry by @Pliner in #479
- Set up metrics prefix at start up by @Pliner in #480
- Added CODEOWNERS by @Pliner in #483
- Extracted telemetry config and setup telemetry server by @Pliner in #482
- Added Prometheus endpoint for internal metrics by @Pliner in #474
- Fixed incorrect parsing of multiple equal signs in label by @idoqo in #490
- Added community guides by @litleleprikon in #485
- Moved plot boundaries by @A1bemuth in #495
- Reduced nodes slice capacity by @A1bemuth in #496
- Implemented stable pagination by @litleleprikon in #498
- Enabled pprof heap handler by @A1bemuth in #497
- Handled pager params on /page url by @litleleprikon in #502
- Made filter optimizations by @A1bemuth in #503
- Upgraded to Go 1.14 by @beevee in #504
- Updated golang/mock to 1.4.1 by @A1bemuth in #507
- Updated GolangCI Lint version by @litleleprikon in #509
- Added reviewdog by @litleleprikon in #468
- Improved docker-compose by @litleleprikon in #515
- Fixed pattern matching in filter by @beevee in #517
- Added slave replicas read by @A1bemuth in #510
- Added cap on metric fetching to prevent checker OOM by @beevee in #519
- Added metrics for every possible state transition by @beevee in #527
- Metrics mixed up in graph legend by @Nixolay in #526
- Test on a non-primary database by @Nixolay in #529
- Added templates to trigger description #484 by @Nixolay in #487
- Added limit to FetchNotifications function for read notifications from db by @ifireice in #505
- Improved advanced mode by @litleleprikon in #470
- Rewrote self-state check by @Nixolay in #417
- Changed regexp submatch index by @litleleprikon in #534
- Added alone metrics to get trigger reply by @litleleprikon in #538
- Rewrote validation for empty targets by @litleleprikon in #540
- Now we save all evaluated metrics not only from T1 target to compere it then save trigger by @borovskyav in #541
- Do not use t1: prefix in trigger alerts that have only one target by @borovskyav in #539
- Fixed alone metrics check error message by @borovskyav in #543
- Improved performance of check by @litleleprikon in #542
- Added test selfstate by @Nixolay in #546
- Improved alone metrics error message by @litleleprikon in #547
- Allowed stale read for pattern metrics by @litleleprikon in #549
- Changed default metric name to T1 by @litleleprikon in #548
- Denied usage of asterisk pattern by @litleleprikon in #555
- Added debug exception by @Nixolay in #552
- Fixed goroutines leak in filter by @litleleprikon in #562
- Added tagging current master branch with latest tag by @beevee in #565
- Fixed incorrect shutdown and conflict of data types during output in MetricsMatcher. by @JIexa24 in #566
- Fixed multiple connections closing in Moira-Filter caused by PR-562. by @JIexa24 in #570
- Updated golang by @Nixolay in #571
- Added return 'not found' when rendering non-existing trigger chart by @idoqo in #572
- Added more linters by @zhelyabuzhsky in #573
- Fixed full-text search if the text is in uppercase by @zhelyabuzhsky in #574
- Added private channels support by @zhelyabuzhsky in #578
- Updated Go to 1.15.2 by @zhelyabuzhsky in #579
- Fixed Telegram group chat response message by @zhelyabuzhsky in #582
- Improved sendAsAlbum Telegram function by @zhelyabuzhsky in #581
- Fixed sending of plots in notifications by @zhelyabuzhsky in #580
- Added support of Slack user-group mentioning in the alert message by @ArXa1L in #585
- Fixed CarbonAPI pow function by @zhelyabuzhsky in #586
- Bumped golangci-lint version by @beevee in #587
- Updated templates by @Nixolay in #536
- Removed "parse" post message argument by @ArXa1L in #588
- Fixed Telegram group chat response message by @zhelyabuzhsky in #589
- Made responding only to messages beginning with /start in Telegram by @beevee in #590
- Allowed targets be single if it not declared by @litleleprikon in #554
- Marked all dangerous Graphite functions as such by @Nixolay in #531
- Improved logging by @androndo in #599
- Cleaned last check on trigger update by @litleleprikon in #596
- Removed populate check in trigger update by @litleleprikon in #602
- Added error logging in notifier by @litleleprikon in #604
- Cloned logger by @androndo in #605
- Fixed logging place by @litleleprikon in #606
- Updated Slack client by @androndo in #608
- Switched to github actions instead of travis CI by @litleleprikon in #610
- Detailed logs by @androndo in #600
- Disabled excluded logs if plots by @androndo in #612
- Changed trigger/check method to PUT and body params by @androndo in #611
- Detected broken contacts by @androndo in #615
- Added metrics export by @litleleprikon in #613
- Made expression not in uppercase only by @balalay12 in #622
- Added team subscriptions and contacts by @litleleprikon in #537
- Added pager deletion by @litleleprikon in #623
- Added strings methods to templating functions by @androndo in #624
- Fixed api bugs by @litleleprikon in #628
- Fixed http schema escaping when build url in webhook sender by @androndo in #627
- Moved coverage to codecov by @androndo in #630
- Fixed checker bugs by @litleleprikon i...
v2.5.1
Upgrading
Config for web is moved to config for API. Please read API and Web to detect the changes and merge two configs. Old config for web is not needed anymore.
Incompatible changes
- Frontend and web configs are merged to one file #360.
New features
- Added ability to subscribe for all triggers without specifying tags #236.
- Added ability to send markdown for discord, email, pushover, slack and telegram senders #353.
- ⚡️✨💫🔥🔥🔥 Graphs now support emojis #333.
- Y-axis graph now uses algorithm to define “beautiful” ticks #217.
Bug fixes and improvements
- Added support for magic -1 timestamp #426.
- Fixed incorrect timezone in maintenance notification text #356.
- Dependency management switched to Go modules mechanism #423.
- Linter was switched to GolangCI Lint #436.
- Go version was switched to 1.13.1 #435.
- Alert which contain NODATA now uses timestamp of NODATA detection instead of data loose time #355.
- Readyness and liveness probes delay was upgraded in helm chart to fit long triggers indexing in database moira-alert/helmcharts#2.
- API now exits with error if unable to index triggers for full-text search #327.
- Deleting tags that are used in existing subscriptions is now disallowed #344.
v2.5.0
New features
- Added Graphite tags support #142.
- Reworked trigger search input control in web UI. Fulltext search is now available, as long as the old tag filters #185.
- Added Webhook sender #123. For more info see documantation.
- Added information who and when turned on maintenance mode. You can see it as a hint in web UI near the metric, and in metric alert message #192.
- Added a meaningful title to all Moira web pages #177.
- Added environment variable that customizes api URL path for web UI Docker image #173.
- Added new variables to script sender. Variable ${trigger_name} is now deprecated, removed from documentation and will be removed in the future versions of Moira #228. For more information about new variables and script configuration see documantation.
See full lists of features, bug fixes and improvements and upgrading guide on Moira Release Notes page.
v2.4.0
- Timeseries graphs in notifications #148. See more: Plotting
- Add api method
GET trigger/{{triggerId}}/render
to imlement timeseries plotting in api #137 - Add maintenance for a whole trigger. Add new api method
PUT trigger/{{triggerId}}/setMaintenance
.PUT trigger/{{triggerId}}/maintenance
is deprecated now #138, moira-alert/web2.0#199 - Add extra maintenance intervals: 14 and 30 days moira-alert/web2.0#198
- Add option to mute notifications about new metrics in the trigger #120. See more: Dealing with NODATA
- Allow user to remove all
NODATA
metrics from trigger #124 - Check Lazy triggers (triggers without any subscriptions) less frequently #131. See more: Lazy Triggers Checker
- Run single NODATA checker worker at single moment #129
- Avoid throttling of remote-triggers when trigger switches to
EXCEPTION
and back toOK
#121 - Consider the status of the trigger when rendering the trigger status indicator moira-alert/web2.0#195
- Replace useless trigger export button with "Duplicate" moira-alert/web2.0#189
- Add Moira-Notifier toggle on Hidden Pages moira-alert/web2.0#191
Please, read Self State Monitor first. - Show contact type icon on Hidden Pages moira-alert/web2.0#196
- Show TTL and TTLState in Advanced mode moira-alert/web2.0#197
- Throw an exception if first target is no longer valid #122
- Refactor cli. Remove old converters, whiсh were written before moira 2.2 #139
- Update golang to version 1.11.2 #147
- Flush trigger events when removing the trigger #116
- Remove redundant Graphite-metrics that counted the time of check of each single trigger #117
- Add api method
GET trigger/search
to implement full-text trigger search in api,GET trigger/page
is deprecated now #125 - Fix Redis leakages: some data was not removed properly from Redis storage #129
- Fix bug in trigger schedule due to which triggers were considered suppressed between 23:59:00 and 00:00:59 #127
- Fix bug in trigger when specific schedule time didn't work if start time was bigger than end time #119
- Fix bug in
Create and test
button when add new subscription moira-alert/web2.0#194 - Fix bug that increases updated last checks count when user create or update trigger from api (or web) #146
- Fix bug which allowed to use other people's contacts your in subscriptions #145
- Fix bug that allowed to create and use an empty tag in subscriptions and triggers #144
- Fix bug when senders didn't resolve
EXCEPTION
state #156 - Update Moira Client 2.4
- Update Moira Trigger Role 2.4
Important! Redis DB conversion is required.
Moira 2.4 has some structure changes in Redis DB. It will work fluently out of the box, but lazy triggers will still be checked every time on new metrics.
You can upgrade from moira 2.2 or 2.3 using corresponding flag in --from-version variable.
moira-cli --config=/etc/moira/cli.yml --update --from-version=2.2/2.3
If you would like to downgrade back to Moira 2.2 or 2.3, you should run CLI-converter.
moira-cli --config=/etc/moira/cli.yml --downgrade --to-version=2.2/2.3
Both cases imply usage of Moira-Cli v.2.4, you can find it on Release Page.
v2.3.1
v2.3
- Add API methods:
DELETE /notification/all
andDELETE /event/all
#73. - Add notifier config option: DateTime format for email sender #74.
- Add Graphite-API support for remote triggers #75.
- Fix newlines in trigger description body for web and email sender #76.
- Add option to enable runtime metrics in Graphite-section of configuration #79.
- Add new fancy email template 🎂 #82.
- Change default trigger state to TTLState option instead of NODATA #83.
- Refactor maintenance logic #87. See more: Maintenance.
- Add basic false NODATA protection #90. See more: Self State Monitor.
- Prohibit removal of contact with assigned subscriptions found #91.
- Make trigger exception messages more descriptive #92.
- Make filter cache capacity configurable #93. See more Filter Configuration.
- Fix incorrect behavior in which the trigger did not return from the
EXCEPTION
state #94. - Remove deprecated pseudo-tags, use checkboxes instead #95. See more: Ignore specific states transitions.
- Allow to use single-valued thresholds (ex. only
WARN
or onlyERROR
) #96. - Reduce the useless CPU usage in Moira-Filter #98. Thanks to @errx.
- Add concurrent matching workers in Moira-Filter #99. Thanks to @errx.
- Update Carbonapi to 1.0.0-rc.0 #101.
- Improve checker performance #103.
- Add Markdown support in contact edit modal view moira-alert/web2.0#138.
- Fix default timezone in trigger moira-alert/web2.0#173.
- Add ability to type negative numbers in simple trigger edit mode moira-alert/web2.0#169.
- Fix trailing whitespaces in tag search bar moira-alert/web2.0#139.
- Update Moira Client 2.3.4.
- Update Moira Trigger Role 2.3.
Important! Redis DB conversion is desirable.
Moira 2.3 has some structure changes in Redis DB.
It will work fluently out of the box, but we recommend you to run converter once Moira is updated.
moira-cli -update --config=/etc/moira/cli.yml
/etc/moira/cli.yml
redis:
host: localhost
port: "6379"
dbid: 0
log_file: stdout
log_level: debug
If you would like to downgrade back to Moira 2.2, you should run CLI-converter.
moira-cli -downgrade --config=/etc/moira/cli.yml
Both cases imply usage of Moira-CLI v.2.3, you can find it on Release Page.
v2.2
- Fix bug in triggers with multiple targets. Metrics from targets T2, T3, ... were not deleted properly.
- Fix old-style configuration files in platform-specific packages.
- Fix bug that prevented non-integer timestamps from processing.
- Add domain autoresolving for self-metrics sending to Graphite.
- Fix bug that allowed to create pseudotags (ERROR, etc.) as ordinary tags.
- Translate pagination.
- Hide tag list on trigger edit page.
- Highlight metric row on mouse hover.
- Re-enable Markdown in Slack sender.
- Fix logo image background.
- Optimize reading metrics while checking trigger (removed unnecessary Redis transaction).
- Replace pseudotags with ordinary checkboxes in Web UI (but not on backend yet).
- Update event names in case trigger name had changed.
- Fix sorting on -s and 0s.
- Make sorting by status the default option on trigger page.
- Fix UI glitch while setting maintenance time.
- Automatically add tags from search bar when creating new trigger.
- Sort tags alphabetically everywhere.
- Update carbonapi (new functions: map, reduce, delay; updated: asPercent).
- Fix concurrent read/write from expression cache.
- Add metrics for each trigger handling time.
- Add Redis Sentinel support.
- Increase trigger processing speed by adding a cache on metric patterns.
- Add metric name to "Trigger has same timeseries names" error message.
- Fix retention scheme parsing for some rare cases with comments.
- Optimize internal metric collection.
v2.1
- Throw an exception if any target except the first one resolves in more than one metric.
- Fix Moira version detection in CI builds.
- Add user login information to API request logs.
- Fix long interval between creating a new trigger and getting data into that trigger.
v2.0
v2.0-beta3
- fixed a performance-related bug in filter (memory leak under high load)
- fixed a graphite expression parsing bug that sometimes prevented saving triggers