statusboard

by transcranial

transcranial / statusboard

Host status checker complete with a front-end dashboard and slack notifications

125 Stars 11 Forks Last release: Not found MIT License 16 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

StatusBoard

Simple HTTP status checker written in Go, complete with a dashboard for all your configured endpoints.

The front-end page will automatically subscribe to update events, which are Server-Sent Events. All concurrently connected clients will receive the same update events. Slack error notifications can also be configured.

Installing

go get github.com/transcranial/statusboard

Config

Modify

static/config.json
. Add as many HTTP/HTTPS endpoints as you need. Each endpoint can be configured with its own status check interval (in seconds), and timeout limit (in milliseconds). The only requirement is that
id
be unique for each endpoint.

Slack notifications

Add your Slack webhook URL and message settings to the config for error notifications. To skip Slack notifications, these can be left as empty strings.

Start server

go run server.go

http://localhost:8080

The page will automatically subscribe to update events. Currently it's configured to display events from the most recent hour.

Nginx

If running behind an Nginx proxy, the following is required for the SSEs to work:

proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;

Notes

There is just enough functionality to be useful, but the advantage is that it's extremely easy to setup. If more advanced features are required, such as TCP endpoints, advanced SSL requirements, data persistence, etc., there are some other great libraries, such as Sourcegraph's Checkup.

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.