Skip to content

Instantly share code, notes, and snippets.

@kylebrandt
Created June 17, 2016 16:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kylebrandt/76a54a025293500a99a02d8f8cf4c7f7 to your computer and use it in GitHub Desktop.
Save kylebrandt/76a54a025293500a99a02d8f8cf4c7f7 to your computer and use it in GitHub Desktop.
Release notes

0.5.0 Release Notes

Bosun

This is our first non-preview release in 9 months and includes significant changes since 0.4.0. Future releases should be at a quicker pace since this release involved a complete refactor of Bosun's internal storage.

  • We have moved Bosun's internal storage from purely in-memory (that was seralized to bolt) to redis/ledis and refactored the code to be more incident based. In 0.4.0 the dashboard could take 10-30 seconds to load at times. It now should not take more than a second under normal conditions, and should be even faster in a future release. This also results in faster startup times for Bosun and other performance improvements
  • Deprecated the logstash queries and replaced them with more generic elastic functions. This supports different time formats, index naming schemes, and adds more search possibilities
  • Added support for basic series operations. Before with seriesSets you could only use operators on them by combining them with scalars or numberSets. Now you can do operations like q(..) * q(...)
  • Added various functions to the expression language:
    • merge, shift, and over: Combines series sets, shift the time, show time over time graphs querying OpenTSDB
    • series: Manually construct a series -- useful for testing and drawing lines on graphs
    • month: Get the start of the calendar month, useful for alerts that follow the calendar such as bandwidth billing
    • tod: Turns a number into a duration string, so you can do your query durations based on duration math
    • linelr: Draws a line to visualize the result of forecastlr
  • Support for OpenTSDB 2.2 filters which allow you to aggregate a subset of tagvalues for a tagkey.
  • Added annotations to Bosun which are stored in Elastic (designed to possibly support other backends in the future). Bosun annotations have a start and end time, so you can use them to capture outages and maintenance windows
  • Added Grafana integration via the new Bosun Grafana Plugin
  • Added a route for OpServer integration (Preview)
  • Added bar graphs to the expression page when the result is a numberSet
  • Added forceClose and Purge actions
  • Improved incident filters (now supports AND, OR, !, and () grouping)

Upgrading

Before upgrading to this version, you should decide if you want to use a dedicated redis instance (recommended for production use), or the embedded ledisdb instance (default behavior). Instructions for configuring redis/ledis can be found on our website. The first time bosun starts up with this version, it will migrate all data from the old boltdb file into the new redis store. After that the bolt file should not be needed any more. You should back up your bolt state file before doing this operation, and note that it may take several minutes for Bosun to start while it does the migration.

Breaking Changes you need to be aware of

  • When using OpenTSDB 2.2, wildcard expansion in queries is now done by OpenTSDB instead of Bosun. This is cleaner and results in better performance, but mixing wildcards and alternation is no longer supported until OpenTSDB supports it. For example *foo*|*baz*. Bosun will not warn you about this so if you are using this alerts may silently fail. Be sure to look for these in your config before upgrading.
  • The graphite backend now rejects tags that are not valid Bosun tags (which have the same restrictions as OpenTSDB tags) since some of them would cause panics. The restrictions are "Only the following characters are allowed: a to z, A to Z, 0 to 9, -, _, ., / or Unicode letters". Some graphite based alerts may require updating

Scollector

  • New collectors:
    • systemd service collector
    • status.io pages
    • Fastly api stats
    • Extrahop
    • Elastic v2
    • Google Analytics collector
    • Nexpose collector
    • Cisco IOS BGP information (via snmp)
    • Fortinet SNMP collector
  • Add a local listener so datapoints can be pased to scollector via http
  • Bad datapoints in a batch no longer invalidate the entire batch

TSDBRelay

@vitorboschi
Copy link

I'm not sure if they're new to 0.5, but IncludeCount option (Process Monitor) and IfaceExpr (Network interface regexp) should be added here. I found then to be pretty useful

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment