bosun

module
Version: v0.0.0-...-0df215e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2016 License: MIT

README

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

To build bosun and scollector, clone to $GOPATH/src/bosun.org:

$ go get bosun.org/cmd/bosun

bosun and scollector are found under the cmd directory. Run go build in the corresponding directories to build each project.

developing

Install:

  • npm install typescript -g to be able to compile the ts files to js files.
  • go get github.com/mjibson/esc to embed the static files. Run go generate in cmd/bosun 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:

  • We generally upgrade to the latest version Go within a day or two. So consider the correct version of Go always to be the latest stable release.

Directories

Path Synopsis
_third_party
github.com/MiniProfiler/go/miniprofiler
Package miniprofiler is a simple but effective mini-profiler for websites.
Package miniprofiler is a simple but effective mini-profiler for websites.
github.com/PuerkitoBio/goquery
Package goquery implements features similar to jQuery, including the chainable syntax, to manipulate and query an HTML document.
Package goquery implements features similar to jQuery, including the chainable syntax, to manipulate and query an HTML document.
github.com/StackExchange/httpunit
Package httpunit tests compliance of net services.
Package httpunit tests compliance of net services.
github.com/StackExchange/mof
Package mof parses and marshals Managed Object Format (MOF) structures.
Package mof parses and marshals Managed Object Format (MOF) structures.
github.com/StackExchange/wmi
Package wmi provides a WQL interface for WMI on Windows.
Package wmi provides a WQL interface for WMI on Windows.
github.com/ajstarks/svgo
Package svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>).
Package svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>).
github.com/andybalholm/cascadia
The cascadia package is an implementation of CSS selectors.
The cascadia package is an implementation of CSS selectors.
github.com/aws/aws-sdk-go/aws
Package aws provides core functionality for making requests to AWS services.
Package aws provides core functionality for making requests to AWS services.
github.com/aws/aws-sdk-go/aws/awserr
Package awserr represents API error interface accessors for the SDK.
Package awserr represents API error interface accessors for the SDK.
github.com/aws/aws-sdk-go/aws/credentials
Package credentials provides credential retrieval and management The Credentials is the primary method of getting access to and managing credentials Values.
Package credentials provides credential retrieval and management The Credentials is the primary method of getting access to and managing credentials Values.
github.com/aws/aws-sdk-go/service/cloudwatch
Package cloudwatch provides a client for Amazon CloudWatch.
Package cloudwatch provides a client for Amazon CloudWatch.
github.com/aws/aws-sdk-go/service/ec2
Package ec2 provides a client for Amazon Elastic Compute Cloud.
Package ec2 provides a client for Amazon Elastic Compute Cloud.
github.com/aws/aws-sdk-go/service/elb
Package elb provides a client for Elastic Load Balancing.
Package elb provides a client for Elastic Load Balancing.
github.com/boltdb/bolt
Package bolt implements a low-level key/value store in pure Go.
Package bolt implements a low-level key/value store in pure Go.
github.com/coreos/go-systemd/dbus
Integration with the systemd D-Bus API.
Integration with the systemd D-Bus API.
github.com/cupcake/rdb
Package rdb implements parsing and encoding of the Redis RDB file format.
Package rdb implements parsing and encoding of the Redis RDB file format.
github.com/cupcake/rdb/crc64
Package crc64 implements the Jones coefficients with an init value of 0.
Package crc64 implements the Jones coefficients with an init value of 0.
github.com/edsrzf/mmap-go
Package mmap allows mapping files into memory.
Package mmap allows mapping files into memory.
github.com/facebookgo/httpcontrol
Package httpcontrol allows a HTTP transport supporting connection pooling, timeouts & retries.
Package httpcontrol allows a HTTP transport supporting connection pooling, timeouts & retries.
github.com/facebookgo/pqueue
Package pqueue provides a priority queue implementation.
Package pqueue provides a priority queue implementation.
github.com/garyburd/redigo/redis
Package redis is a client for the Redis database.
Package redis is a client for the Redis database.
github.com/godbus/dbus
Package dbus implements bindings to the D-Bus message bus system.
Package dbus implements bindings to the D-Bus message bus system.
github.com/godbus/dbus/introspect
Package introspect provides some utilities for dealing with the DBus introspection format.
Package introspect provides some utilities for dealing with the DBus introspection format.
github.com/godbus/dbus/prop
Package prop provides the Properties struct which can be used to implement org.freedesktop.DBus.Properties.
Package prop provides the Properties struct which can be used to implement org.freedesktop.DBus.Properties.
github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
github.com/golang/freetype
The freetype package provides a convenient API to draw text onto an image.
The freetype package provides a convenient API to draw text onto an image.
github.com/golang/freetype/raster
Package raster provides an anti-aliasing 2-D rasterizer.
Package raster provides an anti-aliasing 2-D rasterizer.
github.com/golang/freetype/truetype
Package truetype provides a parser for the TTF and TTC file formats.
Package truetype provides a parser for the TTF and TTC file formats.
github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
github.com/golang/groupcache/lru
Package lru implements an LRU cache.
Package lru implements an LRU cache.
github.com/golang/groupcache/singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
github.com/golang/snappy
Package snappy implements the snappy block-based compression format.
Package snappy implements the snappy block-based compression format.
github.com/google/cadvisor/client
TODO(cAdvisor): Package comment.
TODO(cAdvisor): Package comment.
github.com/google/go-github/github
Package github provides a client for using the GitHub API.
Package github provides a client for using the GitHub API.
github.com/google/go-querystring/query
Package query implements encoding of structs into URL query parameters.
Package query implements encoding of structs into URL query parameters.
github.com/gorilla/context
Package context stores values shared during a request lifetime.
Package context stores values shared during a request lifetime.
github.com/gorilla/css/scanner
Package gorilla/css/scanner generates tokens for a CSS3 input.
Package gorilla/css/scanner generates tokens for a CSS3 input.
github.com/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
Package gorilla/mux implements a request router and dispatcher.
github.com/hashicorp/go-msgpack/codec
High Performance, Feature-Rich Idiomatic Go encoding library for msgpack and binc .
High Performance, Feature-Rich Idiomatic Go encoding library for msgpack and binc .
github.com/influxdb/influxdb/influxql
Package influxql implements a parser for the InfluxDB query language.
Package influxql implements a parser for the InfluxDB query language.
github.com/influxdb/influxdb/tsdb
Package tsdb implements a durable time series database.
Package tsdb implements a durable time series database.
github.com/jmoiron/jsonq
Package jsonq simplify your json usage with a simple hierarchical query.
Package jsonq simplify your json usage with a simple hierarchical query.
github.com/jordan-wright/email
Package email is designed to provide an "email interface for humans." Designed to be robust and flexible, the email package aims to make sending email easy without getting in the way.
Package email is designed to provide an "email interface for humans." Designed to be robust and flexible, the email package aims to make sending email easy without getting in the way.
github.com/llgcode/draw2d
Package draw2d is a pure go 2D vector graphics library with support for multiple output devices such as images (draw2d), pdf documents (draw2dpdf) and opengl (draw2dgl), which can also be used on the google app engine.
Package draw2d is a pure go 2D vector graphics library with support for multiple output devices such as images (draw2d), pdf documents (draw2dpdf) and opengl (draw2dgl), which can also be used on the google app engine.
github.com/olivere/elastic
Package elastic provides an interface to the Elasticsearch server (http://www.elasticsearch.org/).
Package elastic provides an interface to the Elasticsearch server (http://www.elasticsearch.org/).
github.com/olivere/elastic/uritemplates
Package uritemplates is a level 4 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
Package uritemplates is a level 4 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
github.com/siddontang/go/bson
Package bson is an implementation of the BSON specification for Go: http://bsonspec.org It was created as part of the mgo MongoDB driver for Go, but is standalone and may be used on its own without the driver.
Package bson is an implementation of the BSON specification for Go: http://bsonspec.org It was created as part of the mgo MongoDB driver for Go, but is standalone and may be used on its own without the driver.
github.com/siddontang/go/log
log package supplies more advanced features than go orign log package.
log package supplies more advanced features than go orign log package.
github.com/siddontang/go/snappy
Package snappy implements the snappy block-based compression format.
Package snappy implements the snappy block-based compression format.
github.com/siddontang/goredis
Package goredis is a client for the redis and ledisdb.
Package goredis is a client for the redis and ledisdb.
github.com/siddontang/ledisdb/ledis
Package ledis is a high performance embedded NoSQL.
Package ledis is a high performance embedded NoSQL.
github.com/siddontang/ledisdb/server
Package server supplies a way to use ledis as service.
Package server supplies a way to use ledis as service.
github.com/syndtr/goleveldb/leveldb
Package leveldb provides implementation of LevelDB key/value database.
Package leveldb provides implementation of LevelDB key/value database.
github.com/syndtr/goleveldb/leveldb/cache
Package cache provides interface and implementation of a cache algorithms.
Package cache provides interface and implementation of a cache algorithms.
github.com/syndtr/goleveldb/leveldb/comparer
Package comparer provides interface and implementation for ordering sets of data.
Package comparer provides interface and implementation for ordering sets of data.
github.com/syndtr/goleveldb/leveldb/errors
Package errors provides common error types used throughout leveldb.
Package errors provides common error types used throughout leveldb.
github.com/syndtr/goleveldb/leveldb/filter
Package filter provides interface and implementation of probabilistic data structure.
Package filter provides interface and implementation of probabilistic data structure.
github.com/syndtr/goleveldb/leveldb/iterator
Package iterator provides interface and implementation to traverse over contents of a database.
Package iterator provides interface and implementation to traverse over contents of a database.
github.com/syndtr/goleveldb/leveldb/journal
Package journal reads and writes sequences of journals.
Package journal reads and writes sequences of journals.
github.com/syndtr/goleveldb/leveldb/memdb
Package memdb provides in-memory key/value database implementation.
Package memdb provides in-memory key/value database implementation.
github.com/syndtr/goleveldb/leveldb/opt
Package opt provides sets of options used by LevelDB.
Package opt provides sets of options used by LevelDB.
github.com/syndtr/goleveldb/leveldb/storage
Package storage provides storage abstraction for LevelDB.
Package storage provides storage abstraction for LevelDB.
github.com/syndtr/goleveldb/leveldb/table
Package table allows read and write sorted key/value.
Package table allows read and write sorted key/value.
github.com/syndtr/goleveldb/leveldb/util
Package util provides utilities used throughout leveldb.
Package util provides utilities used throughout leveldb.
github.com/tatsushid/go-fastping
Package fastping is an ICMP ping library inspired by AnyEvent::FastPing Perl module to send ICMP ECHO REQUEST packets quickly.
Package fastping is an ICMP ping library inspired by AnyEvent::FastPing Perl module to send ICMP ECHO REQUEST packets quickly.
github.com/ugorji/go/codec
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
github.com/vaughan0/go-ini
Package ini provides functions for parsing INI configuration files.
Package ini provides functions for parsing INI configuration files.
github.com/vdobler/chart
Package chart implements common chart/plot types.
Package chart implements common chart/plot types.
golang.org/x/crypto/bcrypt
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
golang.org/x/crypto/blowfish
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
golang.org/x/image/draw
Package draw provides image composition functions.
Package draw provides image composition functions.
golang.org/x/image/font
Package font defines an interface for font faces, for drawing text on an image.
Package font defines an interface for font faces, for drawing text on an image.
golang.org/x/image/math/f64
Package f64 implements float64 vector and matrix types.
Package f64 implements float64 vector and matrix types.
golang.org/x/image/math/fixed
Package fixed implements fixed-point integer types.
Package fixed implements fixed-point integer types.
golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
golang.org/x/net/context/ctxhttp
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
golang.org/x/net/html
Package html implements an HTML5-compliant tokenizer and parser.
Package html implements an HTML5-compliant tokenizer and parser.
golang.org/x/net/html/atom
Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
golang.org/x/net/icmp
Package icmp provides basic functions for the manipulation of messages used in the Internet Control Message Protocols, ICMPv4 and ICMPv6.
Package icmp provides basic functions for the manipulation of messages used in the Internet Control Message Protocols, ICMPv4 and ICMPv6.
golang.org/x/net/ipv4
Package ipv4 implements IP-level socket options for the Internet Protocol version 4.
Package ipv4 implements IP-level socket options for the Internet Protocol version 4.
golang.org/x/net/ipv6
Package ipv6 implements IP-level socket options for the Internet Protocol version 6.
Package ipv6 implements IP-level socket options for the Internet Protocol version 6.
golang.org/x/oauth2
Package oauth2 provides support for making OAuth2 authorized and authenticated HTTP requests.
Package oauth2 provides support for making OAuth2 authorized and authenticated HTTP requests.
golang.org/x/oauth2/google
Package google provides support for making OAuth2 authorized and authenticated HTTP requests to Google APIs.
Package google provides support for making OAuth2 authorized and authenticated HTTP requests to Google APIs.
golang.org/x/oauth2/jws
Package jws provides encoding and decoding utilities for signed JWS messages.
Package jws provides encoding and decoding utilities for signed JWS messages.
golang.org/x/oauth2/jwt
Package jwt implements the OAuth 2.0 JSON Web Token flow, commonly known as "two-legged OAuth 2.0".
Package jwt implements the OAuth 2.0 JSON Web Token flow, commonly known as "two-legged OAuth 2.0".
golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
golang.org/x/sys/windows/registry
Package registry provides access to the Windows registry.
Package registry provides access to the Windows registry.
golang.org/x/sys/windows/svc
Package svc provides everything required to build Windows service.
Package svc provides everything required to build Windows service.
golang.org/x/sys/windows/svc/debug
Package debug provides facilities to execute svc.Handler on console.
Package debug provides facilities to execute svc.Handler on console.
golang.org/x/sys/windows/svc/eventlog
Package eventlog implements access to Windows event log.
Package eventlog implements access to Windows event log.
golang.org/x/sys/windows/svc/mgr
Package mgr can be used to manage Windows service programs.
Package mgr can be used to manage Windows service programs.
google.golang.org/api/analytics/v3
Package analytics provides access to the Google Analytics API.
Package analytics provides access to the Google Analytics API.
google.golang.org/api/googleapi
Package googleapi contains the common code shared by all Google API libraries.
Package googleapi contains the common code shared by all Google API libraries.
google.golang.org/cloud/compute/metadata
Package metadata provides access to Google Compute Engine (GCE) metadata and API service accounts.
Package metadata provides access to Google Compute Engine (GCE) metadata and API service accounts.
gopkg.in/fsnotify.v1
Package fsnotify provides a platform-independent interface for file system notifications.
Package fsnotify provides a platform-independent interface for file system notifications.
gopkg.in/yaml.v1
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.
Simple script to build bosun and scollector.
Simple script to build bosun and scollector.
cmd
backfill
Backfill denormalizes historic OpenTSDB data.
Backfill denormalizes historic OpenTSDB data.
bosun/conf/parse
Package parse builds parse trees for configurations as defined by conf.
Package parse builds parse trees for configurations as defined by conf.
bosun/database
Package database implements all persistent data access for bosun.
Package database implements all persistent data access for bosun.
bosun/expr/parse
Package parse builds parse trees for expressions as defined by expr.
Package parse builds parse trees for expressions as defined by expr.
scollector
Scollector is a metric collection agent for OpenTSDB 2.0 and Bosun.
Scollector is a metric collection agent for OpenTSDB 2.0 and Bosun.
scollector/conf
Package conf contains all of the configuration structs for scollector.
Package conf contains all of the configuration structs for scollector.
tsdbrelay
tsdbrelay relays OpenTSDB traffic to TSD and Bosun servers.
tsdbrelay relays OpenTSDB traffic to TSD and Bosun servers.
tsdbrelay/integrationTest
We are going to simulate a full multi-datacenter cluster: DC1: - tsdbrelay: :5555 - opentsdb: :5556 - bosun: :5557 DC2: - tsdbrelay :6555 - opentsdb :6556 - bosun: :6557
We are going to simulate a full multi-datacenter cluster: DC1: - tsdbrelay: :5555 - opentsdb: :5556 - bosun: :5557 DC2: - tsdbrelay :6555 - opentsdb :6556 - bosun: :6557
Package collect provides functions for sending data to OpenTSDB.
Package collect provides functions for sending data to OpenTSDB.
Package graphite defines structures for interacting with a Graphite server.
Package graphite defines structures for interacting with a Graphite server.
Package metadata provides metadata information between bosun and OpenTSDB.
Package metadata provides metadata information between bosun and OpenTSDB.
Package opentsdb defines structures for interacting with an OpenTSDB server.
Package opentsdb defines structures for interacting with an OpenTSDB server.
Package slog provides a cross-platform logging interface.
Package slog provides a cross-platform logging interface.
Package snmp provides an implementation of the SNMP specification.
Package snmp provides an implementation of the SNMP specification.
asn1
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
mib
Package mib parses modules of the virtual management information store.
Package mib parses modules of the virtual management information store.
Package util defines utilities for bosun.
Package util defines utilities for bosun.
Package version holds some version data common to bosun and scollector.
Package version holds some version data common to bosun and scollector.
Package vsphere provides a small set of the vSphere Web Services API.
Package vsphere provides a small set of the vSphere Web Services API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL