drsect0r / statusboard

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

About

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

License:MIT License


Languages

Language:Go 49.1%Language:JavaScript 26.0%Language:HTML 12.4%Language:CSS 12.4%