Hellcheck

HTTP health checker.

Installation

Install with cargo

Install system dependencies.

On Debian/Ubuntu:

sh apt-get install libssl-dev pkg-config

Install hellcheck crate:

sh cargo install hellcheck

Configuration

Basic configuration example

Configuration file hellcheck.yml may have the following format:

```yaml

Declare what has to be watched

checkers: example: url: https://www.example.com notifiers: [myteam] localhost8000: url: http://localhost:8000 interval: 1500ms notifiers: [myteam, soundalarm] basicauth: username: "foo" password: "bar"

Declare notification channels

notifiers: myteam: type: slack token: soundalarm: type: command command: ["./custom.sh", "arg1", "arg2"] ```

Notifiers

Slack notifier

Create an incoming webhook in Slack. Then define your notifier with type slack and webhook_url:

yaml notifiers: notifier_name: type: slack webhook_url: <WEBHOOK_URL>

Telegram notifier

For telegram notifier you have to create a bot with BotFather and obtain the bot token.

Chat ID can be found out with GetidsBot.

yaml notifiers: notifier_name: type: telegram token: <BOT-TOKEN> chat_id: <CHAT-ID>

HipChat notifier

yaml notifiers: notifier_name: type: hipchat base_url: https://hipchat.com token: <AUTH_TOKEN> room_id: <ROOM_NAME_OR_ID>

Command notifier

Command notifier allows you to invoke any shell command or custom script as notifier.

Example:

yaml notifiers: custom: type: command command: ["/path/to/custom-notifier.sh", "arg1", "arg2"]

Within the script the following environment variables are accessible:

Start

Assuming, you have ./hellcheck.yml in your current directory, this will start monitoring of the services, described in checkers configuration sections:

hellcheck watch --file ./hellcheck.yml

Roadmap

License

MIT © Sergey Potapov

Contributors