diff --git a/README.md b/README.md index cce1642..0c1769f 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Icinga Client Webhooks and lazy report-in checks -# The Problem & The Solution +## The Problem & The Solution This gateway meant as an alternative to passive checks for services which report in irregularly, like checks on your laptop or monthly backups which may be a few days late. The client sends an HTTP request to this server, the Icinga instance queries this server with active checks. The Server stores the check-ins by the client and response with *OK*, *Warning*, *CRITICAL* to the Icinga active checks according the the last report and time since the last report. By doing this you define leniency to late or missing reports easier than by using passive checks, for example define an two day grace time for a monthly backup to report completion, or the update status of your laptop which you may not use every day, something that's not really possible in native Icinga. Even if you find a way to create passive checks for your problems, they will inevitably have soft-state changes which will clutter up your dashboard. -# Service Configuration +## Service Configuration Services are configured in *services.json* as objects like this: { @@ -16,7 +16,7 @@ Services are configured in *services.json* as objects like this: ... } -# Client Requests +## Client Requests Client must send a *POST-request* with *Content-Type: application/json* containing the service name and secret token as fields. For example: @@ -26,7 +26,7 @@ For example: -d "{ "service_name" : "name", "token" : "secret_token" } \ https://server:port/ -# Icinga Requests +## Icinga (Serverside) Requests Use the [python-script]() as a command to execute, you can pass *protocol*, *host*, *port* and *service\_name* as arguments. object CheckCommand "gateway" {