Stack Overflow has decided to move away from maintaining our own open source monitoring system and instead move to a commercial SaaS monitoring product. For the size of our company, maintaining an open source monitoring system properly of Bosun’s scope is beyond our resources and does not align clearly with our objectives. We want to be building more products and features for our Stack Overflow community and clients. Building our own tools takes us away from that core mission. To that end, Stack Overflow will be migrating away from Bosun by the end of 2019.
Bosun is a powerful monitoring system with a growing community. We hope that someone in the community steps up and takes over as primary maintainer(s) of the project.
It is our hope that a new maintainer can be found and the project will continue. If we can not find a new maintainer, we plan on sunsetting the project by the end of 2019.
For the remainder of 2019 (or until a new maintainer is found), Stack commits to continuing our support:
If someone/group/company wants to become the new primary maintainer (govern the project, decide what gets merged and what doesn’t) then this will become less of an ending of the project and more of a handoff.
In this situation:
There are a number of projects and/or features that have been discussed and in some cases designed but not implemented. We hope the new maintainers consider the following projects:
|Refactor "State Machine"||Backend||Very Hard||The code behind silences, when to send notifications, escalations etc (the sched package) is hard to understand and changes have often produced on expected results. Should be refactored into a set of finite state machines that are testable. If one wanted to make a solid 1.x.x release, I believe this would be the great challenge.|
|Multi-File Support||UI, Backend, Configuration Parser||Hard||Update the UI so rules (alert definitions, templates, notifications, etc) can be in different files. So the configuration does not become overwhelming long. Use Bosun's security middleware to limit certain files to certain Users/Groups.|
|Clean up JS||UI||Medium||Use some sort of packaging system for js libraries, update typescript, update d3, update angular, use more typescript objects|
|Snippets and Expression Autocompletion||UI||Medium||Use the abilities of the ace editor to enable snippets to pre-fill in config blocks and expression functions. Would make Bosun easier to use. Also support best practices within a company by adding custom snippets. See experimental snippet branch. Could also integrate function documentation into language to make it available to the editor, see experimental exprDoc branch.|
|API V2||Backend, API||Medium||Make an APIv2 that is fully documented and has consistent response types, errors are always json etc|
|Move incident Information to Relation Database||Backend, Database||Medium||Instead of using redis for incident state information, use a relational database to allow for reporting. Also future enhancements to do things like collect "was this alert useful" information would be easier to implement and report on.|
|Realtime Dashboard||Backend, UI||Medium||Make dashboard based on websockets so dashboard can be refreshed, and other users get notifications from the actions of different users.|
|Graphing UIs||UI||Medium||Creating Graphing UIs for TSDBs besides OpenTSDB, like Prometheus and Graphite|
|Use Grafana For UI||UI||Hard||Deprecate Bosun's UI and rebuild it entirely as a Grafana App.|