waltzofpearls / otto

An external service monitor, watch AWS/Cloudflare/Heroku/Gtihub... for you.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

otto

Build Status MIT licensed

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
  • 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).

Try it

Copy simple.toml from examples folder, and rename it to otto.toml.

cp examples/simple.toml otto.toml

Open 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.

Run it

Download from releases:

  • MacOS with Intel CPU: use otto-x86_64-apple-darwin-{version}.zip
  • Linux with x86_64 CPU: use otto-x86_64-unknown-linux-gnu-{version}.tar.gz
  • Raspberry Pi: use otto-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.

About

An external service monitor, watch AWS/Cloudflare/Heroku/Gtihub... for you.

License:Apache License 2.0


Languages

Language:Rust 90.6%Language:Makefile 5.1%Language:Dockerfile 4.3%