A mini monitor to keep track of whether all load balancer IPs are available. It
performs a DNS resolution, attempts to connect to port 443
(HTTPS) of each IP
and reports if it cannot connect.
Also optionally reports counts to librato.
HOSTNAMES
- a comma-separated list of hostnames to query, e.g.travis-ci.org,travis-ci.com
.POLL_INTERVAL
- the number of seconds to wait in between polls. Defaults to60
seconds.DIAL_TIMEOUT
- the number of seconds to wait for an answer until the TCP connection on port443
times out. Defaults to5
seconds.UPSTREAM_DNS_SERVER
- the dns server to query forNS
records. Defaults to the google server at8.8.8.8:53
.LIBRATO_USER
- (optional) the librato user, usually looks like an email address.LIBRATO_TOKEN
- (optional) the librato token.LIBRATO_SOURCE
- (optional) the librato source. If none is provided, it will attempt to use theDYNO
env var. If that is empty, it will use the hostname of the machine running the monitor.SENRTY_DSN
- (optional) DSN to report errors to sentry.SENRTY_ENVIRONMENT
- (optional) environment to include in sentry errors.DEBUG
- (optional) set totrue
to get more verbose debug logging. Defaults tofalse
.
$ go get -u github.com/FiloSottile/gvt
$ gvt restore
$ go run main.go