https://github.com/transcranial/statusboard
Host status checker complete with a front-end dashboard and slack notifications
https://github.com/transcranial/statusboard
Last synced: 2 months ago
JSON representation
Host status checker complete with a front-end dashboard and slack notifications
- Host: GitHub
- URL: https://github.com/transcranial/statusboard
- Owner: transcranial
- License: mit
- Created: 2016-09-12T20:11:58.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-09-18T03:34:23.000Z (over 8 years ago)
- Last Synced: 2025-03-29T05:01:58.432Z (3 months ago)
- Language: Go
- Size: 122 KB
- Stars: 126
- Watchers: 5
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](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:
```nginx
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](https://github.com/sourcegraph/checkup).
## License
[MIT](https://github.com/transcranial/statusboard/blob/master/LICENSE)