Yet another monitoring tool that collects results and then alert on failures except... this one was specifically designed to watch external service providers. It helps answer the question of "is our API down, or is AWS/Cloudfare/Heroku down?", when outages occurred.
Otto is good at:
- Watch status page
- Read and parse Atom or RSS feed
- AWS, Cloudflare, GitHub, Heroku and many more
- Test URL liveness
- Check response code from an API or a web page
- Periodic execution
- Execute shell script on schedule and evaluate exit code
Otto is equipped with Probe plugins:
Alert plugins:
And http://0.0.0.0:9999/metrics endpoint for promethues.
Plugins are configurable, and can be reloaded by kill -SIGHUP $(pidof otto).
Copy simple.toml from examples folder, and rename it to otto.toml.
cp examples/simple.toml otto.tomlOpen otto.toml with an editor. In alerts.slack, replace the fake url with an actual webhook url copied from Slack.
If you have rust installed on your computer, run otto locally with make run, it needs rustc and cargo, or run it
with make docker, if your machine has docker installed.
Download from releases:
MacOS with Intel CPU: useotto-x86_64-apple-darwin-{version}.zipLinux with x86_64 CPU: useotto-x86_64-unknown-linux-gnu-{version}.tar.gzRaspberry Pi: useotto-armv7-unknown-linux-gnueabihf-{version}.tar.gz
Extract the package with unzip or tar, navigate into the extracted directory, you should see otto's binary file,
this README and an examples subdirectory.
Run otto from there, or copy it into your PATH (eg. /usr/local/bin). For config file, use examples/simple.toml
or examples/fancy.toml as template. Read more about config here.
