Skip to content
Time Series Alerting Framework
Go JavaScript TypeScript HTML CSS Shell Other
Branch: master
Clone or download

Latest commit

Latest commit 7c1ed2a May 18, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Install Typescript in SonarCloud step May 17, 2020
_version Migrate to Go modules (#2432) Nov 28, 2019
annotate cmd/bosun: BREAKING-CHANGE: support multiple elasticsearch versions a… Sep 25, 2018
build Format imports May 12, 2020
cmd Move docker directory to the repository root May 13, 2020
collect Format imports May 12, 2020
docker Remove unnecessary environment variables May 13, 2020
docs Update the documentation May 13, 2020
graphite Allow to query graphite with Auth informations Sep 25, 2015
host Format imports May 12, 2020
metadata Allow for configurable host name + some refactoring Dec 12, 2019
models cmd/bosun: support Azure Application Insights metrics Oct 17, 2018
name Use raw string literals to avoid having to escape \'s Dec 13, 2019
opentsdb Format imports May 12, 2020
plugins scollector: move static files from Puppet to the RPM Feb 4, 2015
slog slog: create a function that will recover panics and log them using s… Jan 10, 2017
snmp cmd/scollector: snmp lag monitoring and support non 1.3 oids May 16, 2017
util Initialise host manager when starting tsdbrelay May 11, 2020
.gitignore Add test coverage report generation (#2481) May 14, 2020
.travis.yml Migrate to Go modules (#2432) Nov 28, 2019
AUTHORS Less original spelling of original Mar 12, 2015
CODE_OF_CONDUCT.md Add contributing guidelines Nov 22, 2019
CONTRIBUTING.md Add Github CI actions May 12, 2020
LICENSE Move LICENSE to root directory Dec 4, 2014
Makefile Build all packages during CI May 17, 2020
README.md Update the documentation May 13, 2020
build.scollector.sh build: make executable Jun 18, 2015
build.tsdbrelay.sh cmd/tsdbrelay: build file also had incorrect line endings Aug 18, 2016
go.mod Add a Makefile May 11, 2020
go.sum Add a Makefile May 11, 2020
mk_rpm_fpmdir.bosun-silence.txt Rename mk_rpm_fpmdir.silence.txt -> mk_rpm_fpmdir.bosun-silence.txt Jul 31, 2015
mk_rpm_fpmdir.scollector.txt scollector: move static files from Puppet to the RPM Feb 4, 2015
mk_rpm_fpmdir.tsdbrelay.txt Add fpm config for tsdbrelay. Apr 29, 2015
package-lock.json Use a local version of tsc May 12, 2020
package.json Use a local version of tsc May 12, 2020
sonar-project.properties Specify report file paths May 17, 2020

README.md

Bosun

Bosun is a time series alerting framework developed by Stack Exchange. Scollector is a metric collection agent. Learn more at bosun.org.

Build Status

Building

bosun and scollector are found under the cmd directory. Run go build in the corresponding directories to build each project. There's also a Makefile available for most tasks.

Running

For a full stack with all dependencies, run docker-compose up from the docker directory. Don't forget to rebuild images and containers if you change the code:

$ cd docker
$ docker-compose down
$ docker-compose up --build

If you only need the dependencies (Redis, OpenTSDB, HBase) and would like to run Bosun on your machine directly (e.g. to attach a debugger), you can bring up the dependencies with these three commands from the repository's root:

$ docker run -p 6379:6379 --name redis redis:6
$ docker build -f docker/opentsdb.Dockerfile -t opentsdb .
$ docker run -p 4242:4242 --name opentsdb opentsdb

The OpenTSDB container will be reachable at http://localhost:4242. Redis listens on its default port 6379. Bosun, if brought up in a Docker container, is available at http://localhost:8070.

Developing

Install:

  • Run make deps and make testdeps to set up all dependencies.
  • Run make generate when new static assets (like JS and CSS files) are added or changed.

The w.sh script will automatically build and run bosun in a loop. It will update itself when go/js/ts files change, and it runs in read-only mode, not sending any alerts.

$ cd cmd/bosun
$ ./w.sh

Go Version:

  • See the version number in .travis.yml in the root of this repo for the version of Go to use. Generally speaking, you should be able to use newer versions of Go if you are able to build Bosun without error.

Miniprofiler:

  • Bosun includes miniprofiler in the web UI which can help with debugging. The key combination ALT-P will show miniprofiler. This allows you to see timings, as well as the raw queries sent to TSDBs.
You can’t perform that action at this time.