bosun v0.8.0 Release NotesRelease Date: 2018-10-10 // over 1 year ago
🚀 0.8.0-Preview Release Notes
🚀 Since it has been over a year since the previous release it is possible not all breaking changes are accounted for, so you should test this out first and backup your redis/ledis data. Some known breaking changes:
- 👀 The elastic configuration is different, see System configuration :: ElasticConf for an example of what it should look like
- 👍 In order to support linking related incidents, a migration will run on the redis/ledis data on the first startup which will need to complete before Bosun starts running
- 📚 Notification Overhaul [PR #2135]. HTTP notifications are now much more flexible and can be used to interact with rest apis. See customizing notifications documentation. Please note that escalations on posts via notification chains are broken in this version, see issue 2304.
- 🆕 New Azure Monitor datasource [PR #2283] which supports querying these metrics from Azure. There are also template function for Azure.
- 👌 Support connecting to multiple elastic clusters and of different versions of elasticsearch at runtime [300ebd8] [PR #2316].
- Incidents with the same alert keys are now linked to provide more context when handling alerts [PR #2323]. These links are displayed in the dashboard and incident view, and can also be used to include information (such as previous close messages and links to previous incidents) in templates using the new template property
- 🔧 Rendered templates are no longer stored in redis/ledis indefinitely in order to control memory growth over time [PR #2167]. This can be set using MaxRenderedTemplateAge in the system configuration.
- ➕ Add Delayed Close so active alerts can be closed without waiting for the alert to go normal. 90cc3a9. Note: Needs Documentation
Expression Language Changes
- Add the generic SetVariant Type 95be5d9 so certain functions can take either a numberSet or a seriesSet such as
- ➕ Add
aggrfunction to aggregate time series by group within a seriesSet. [PR #2294].
- ➕ Add OpenTSDB query functions with end duration parameter:
- ➕ Add percentiles to OpenTSDB
- 🔧 Configuration: support RuleVars in system configuration for obscuring secrets. c699b45
- ⏱ Scheduler : distributed alert checks can be enabled to prevent high load spikes #2249
- 💻 UI : native short links in bosun instead of goo.gl #2210
- 💻 UI : added setting for example expression in *.toml #2261
- 💻 UI : disable items menu point for environments without OpenTSDB configuration #2267
- 💻 UI : replace textarea with aceeditor in expr #2266
- 💻 UI : fix incident view for closed incidents #2315
- Incident Filters : added incident filter since #2215
- Notifications : added extra info to unknown templates #2269
- 🌲 Logging : improve logs #2299 #2218
- Elastic : added ES SimpleClient support for bosun backend and annotation. #1947
- Templates : add
Schemeoption to system configuration so generated links can be https #2209
- Auth : support for LDAP user authentication. #2181
- Expr : print
dbwhen profiling InfluxDB queries #2235
- API : add notification stats to health endpoint #2222
🛠 Misc Fixes
- 💻 UI: silence view: fix durations #2311
- 💻 UI : incident view: fix durations #2312
- 💻 UI : fix "items" flashing with ng-cloak #2313 / #2286
- 💻 UI : remove not used errors column in rule editor #2270
- 💻 UI : fixed tags parameter for silencing button on dashboard #2265
- Expr : fix math operations on results of aggr #2306
- Expr : fix parsing of OpenTSDB 2.2+ filters so that only group terms get added to the result tag set #2212
- Expr : Fix influxdb query caching #2234
- API : routes should never serve home page as html. #2284
- Silence : fix scheduled auto-forget silences #2120
- Incident Filters : Fix user field #2246
- Elastic : fix conflicts when using multiple ES cluster with client options enable. #2239
- Notifications : fix issues with
- Notifications : fix macros for Notifications #2199
- Notifications : fixed wrong nested ul in unknown notify #2208
- Notifications : follow lookups for notification validation. #2168
- Notifications : stop sending mail if 'To' slice empty #2217
- Notifications : fix post notification logging #2196
Misc Code Changes
- Expr : Refactor: move miniprofiler Timer to state #2287
- Expr : Add origin to expr state #2317
- Expr : remove elastic v1 "logstash" code #2178
- 📈 avoid panic in google analytics collector #2291
- ➕ add sync stats to redis collector #2232
- 🏁 (wip) windows remote access services (ras) metrics #2245
- 🐧 include slab as free mem for linux os.mem #2250
- 🐧 more accurate linux mem free if available #2252
- ➕ Added Elastic config options #2257
- 👌 support new time format for puppet 5 #2191
- ➕ add windows support to puppet collector #2227
- ➕ add NETDataProviderForSqlServer metrics #2225
- ⚡️ Update linux interface collector names. #1985
- ➕ Added SSL collectors into extrahop collector #1824
- 🐛 bug fixes for Azure EA billing #1984
- ⚡️ Updated Azure EA collector to add new tags. #2011
- 🛠 Fix bug in AWS billing collector. #2156
- 🛠 Fixed bug in ElasticSearch collector for Elastic 5.x #2155
- 👍 Allow Elasticsearch Auth and TLS #2308
- transpose t() explanation #2300
- Document json, makeSlice, and makeMap template functions #2241
- ⚡️ update system_configuration docs to reflect RedisDb configuration var… #2220
- 👉 use SSL to talk to bosun #2278
- ⚡️ Update WMI to support int #2213
Previous changes from v0.6.0
🚀 0.6.0-beta Release Notes
🔧 The main goal of Bosun 0.6.0 was to smooth out the alert creation and editing workflow. Previously, users would have to copy the configuration from Bosun's UI, get it to the server, and then restart the process. Now users can edit the config directly from Bosun's UI, and the changes will be loaded without restarting the bosun process. Since the rules can now be edited via Bosun's UI, authorization via LDAP and SSL support has been added as well.
- 🔧 Bosun's configuration file has been split into two files:
- 💻 Bosun's RuleConf can now be edited via Bosun's UI. The changes can then be reloaded without restarting the Bosun process.
- 🔧 Bosun now has support for authorization via LDAP and Tokens that can be configured via the auth section of the system configuration.
- Bosun's dashboard loads much faster than 0.5.0 due to schema change
- 📚 Many errors can now be handled in templates making them more robust against runtime errors, and template documentation has been improved.
- 🔧 Since the configuration file has been split, you will need to move some of what used be in the config into system configuration.
- ⬆️ On the first execution, a database schema migration will take place that can take several minutes. During this time bosun will not be available. It is recommended to back up Bosun's database before the upgrade.
- 🆕 New Expression Functions:
- 🆕 New Template Functions / Variables:
- 💻 Comments are now allowed in the Expression Page in Bosun's UI.
- Bosun's navbar now shows if quiet mode is enabled.
- Notes can now be added to incidents.
- 👌 Improved Bosun's incident view.
- 👌 Improved Bosun's graph page to be more keyboard friendly: better order of fields with the TAB key and shift-enter within text fields will execute.
- ⚡️ Updated Influx library to be compatible with current versions.
- 🐎 Optimized elastic query performance by not fetching indices and fix bug caused by indices not being part of the cache key #1931.
- 🛠 Fixed issue in scheduler where adjacent runs would be given the same to represent "now" #2029.
- 👍 Allow the empty tagset to be a dependency for alerts that have tags #2027.
- 💻 Adjustments to Bosun's UI to make it more vertically compact.
- 🛠 Fixed HTTP template funcs to have a shorter timeout so they don't block template rendering for too long when they timeout.
- 👍 Allow empty tagsets in silence silence: allow empty tag sets #1860.
Expected Changes Between Beta and 0.6.0 final:
- 🔌 Tooling outside of the Bosun process doesn't have auth support (except for the Grafana Plugin). The following will have auth support before final: scollector, (cli tools: annotate, silence), tsdbrelay, BosunReporter.NET, and Opserver.
- 👌 Support for multiple Elastic backends in a single instance may be added. If this happens the syntax for the system configuration (toml file) of elastic might change.
- 🛠 fix http: proxy error: EOF due to mixing Content-Encoding headers #1889
- 📇 enable version numbers, fix metadata, add error metrics #1859
- enable expvar to help with troubleshooting
- Drain body responses in tsdbrelay/scollector/collect so that the connection is eligible for reuse #2036
- Google webmaster: Skip new "sc-set" sites that we can't do API calls on. #2032
- 🐎 TOML flag to enable SWbemServices worker for better WMI performance in Windows #2028
- 🐛 Bug fixes for Azure EA billing #1984
- ➕ Added Azure Enterprise Agreement billing collector #1903
- 🖨 Process monitoring: track process PIDs as a metric #1964
- When WatchedProc processes die, clean them up #1962
- 🐛 Bug fix for DNS collector #1920
- ⚡️ Update SNMP timeout from 5s to 30s and allow override #1900
- Set custom UserAgent and use facebookgo/httpcontrol for 60s RequestTimeout #1878
- ➕ add a kill switch for total private memory used by scollector #1866
- 🛠 fix empty host= tags not working after PR #1856 #1871
- 🛠 fix DisableSelf flag not working for version/post.batchsize #1868
- 🛠 bugfix - datapoint validation #1856
- Check for NaN in Valid() #1864
- 👷 mssql.agent.* for monitoring SQL Agent jobs #1855
- skip md volumes if mdadm binary is missing #1850
- 🆕 new MSSQL buffer/memory metrics #1849
- ⚡️ update wmi package #1843 and #1837
- 🛠 Fix WMI names for HP EVA #1852
- 🛠 Fix dsc StartDate parsing #1994
- elasticsearch: Include cluster tag in cluster health metrics.
- 🛠 fix httpunit hu.time_total by casting to int64
- ➕ add IsRemote flag for cadvisor collector to disable block device lookups
- ➕ Add ackTime to incident filters #2014
- 0️⃣ Default to limited duration on tagv search. #1977
- Have opentsdb.Duration implement encoding.TextUnmarshaler. #1975
- ➕ Add google_webmaster collector. #1959
- 🛠 fix typo for container.fs.available #1948
- Making redis monitoring a little prettier. #1944