Cross platform command line application to run health checks against sensor stations registered on openSenseMap.org.
This tool lets you automatically check if senseBoxes are still runnning correctly, and when that's not the case, notifies you. Currently, email notifications are implemented, but other transports can be added easily. Implemented health checks are described below, and new ones can be added just as easily (given some knowledge of programming).
The tool has multiple modes of operation:
osem_notify check boxes
: run one-off checks on boxesosem_notify watch boxes
: check boxes continuously.
Run osem_notify help
or check the manual in the docs/ directory for more details.
Download a build from the releases page.
You can run the application by running ./osem_notify*
in a terminal in your downloads directory.
On unix platforms you may need to make it executable, and can add it to your $PATH
for convenience, so it is always callable via osem_notify
:
chmod +x osem_notify*
sudo mv osem_notify* /usr/bin/osem_notify
The tool works out of the box for basic functionality, but must be configured to set up notifications.
Configuration can be done via a YAML file located at ~/.osem_notify.yml
or through environment variables.
Run osem_notify help config
for details and an example configuration.
type |
description |
---|---|
measurement_age |
Alert when a sensor has not submitted measurements within a given duration. |
measurement_faulty |
Alert when a sensor's last reading was a presumably faulty value (e.g. broken / disconnected sensor). |
measurement_min |
Alert when a sensor's last measurement is lower than a given value. |
measurement_max |
Alert when a sensor's last measurement is higher than a given value. |
transport |
options |
---|---|
email |
recipients : list of email addresses |
slack |
- |
xmpp |
recipients : list of JIDs |
Want more? add it!
Want to use osem_notify
on a platform where no builds are provided?
Assuming you have golang installed, run
go get -v -d ./
go build main.go
For cross-compilation, check this guide out.
Contributions are welcome! Check out the following locations for plugging in new functionality:
- new notification transports: core/notifiers.go
- new health checks: core/healthcheck*.go
- new commands: cmd/
Before committing and submitting a pull request, please run go fmt ./ cmd/ core/
.
GPL-3.0 Norwin Roosen