v0.27.0
GoAlert v0.27.0
This release has a lot of long-anticipated awesome new features and improvements! Most of the work of this release was done under the covers to enable these as well as new features currently in the pipeline.
Thanks to our new contributors @kanish671 and @phoenix6561 for help with the React Hooks conversions Issue #923
Temporary Schedules
Temporary schedules allow replacing the entire on-call schedule for a fixed timeframe. It should help situations where a team requires fine-grained control of on-call responsibility for a few days (e.g. peak week).
To get started using this feature, click the "Temp Sched" button from the schedule details page calendar:
A dialog will open allowing you to configure the time span of the schedule and associated shifts:
Temporary schedules will appear green on the calendar:
Email (SMTP) as an User Contact Method
A new user contact method type EMAIL has been introduced. This allows an additional avenue for users to receive alert notifications.
The SMTP server details can be configured from the Admin page.
Prioritize Schedules on Escalation Policies
Schedules now appear at the top of the Edit Step dialog. Many users had trouble with overrides before realizing a rotation was used instead of schedule. This change was found to encourage users to use schedules (instead of rotations) when configuring a policy.
Prometheus Metrics
You can now enable Prometheus metrics at startup. This allows for monitoring some of the internals and health of GoAlert.
To enable, set the --listen-prometheus
flag or the GOALERT_LISTEN_PROMETHEUS
environment variable.
A new endpoint at <listen_address>/metrics
will include:
- Total number of created alerts
- Number of in-flight HTTP server requests
- Total number of requests by status code
- Duration of outgoing HTTP requests
- Number of active outgoing HTTP requests
- Number of engine cycles
- Engine cycle duration by module
- GraphQL resolver method statistics
- Sent notifications by contact method type and message type
- Received response count by destination and response (e.g. ack, close, stop, start)
Contact Method Throttling
GoAlert now implements bucketed throttling of notifications, per contact method. This is to avoid spamming devices due to misconfiguration or a noisy/broken healthcheck.
For reference, new rules are:
Message Type | Contact Method Type | Rules |
---|---|---|
All | All | 1 per minute |
Status | All | 1 per 3 minutes 3 per 20 minutes (burst) 8 per 2 hours |
Alert | SMS | 5 per 15 minutes (burst) 11 per 1 hour 21 per 3 hours |
Alert | Voice | 3 per 15 minutes (burst) 7 per 1 hour 15 per 3 hours |
Bug Fixes/Misc
- Updated GoAlert in-app documentation at
/docs
: Now supports rendering multiple markdown documents. - ui/schedules: monthly views are fixed to include the correct out-of-bounds shifts when viewing the schedule calendar.
- ui/forms: fixed an issue where the schedule rule weekday filter couldn't be edited
Version Updates:
- Golang 1.15.3 -> 1.16.4
- Postgres 11 -> 13
- Typescript 3.9.7 -> 4.0.3
- Apollo 3.1.5 -> 3.3.15
- Webpack 4.44.2 to 5.13.0