Hesklo watches your sites and servers. The moment one goes down, it runs the escalation policy you drew on a canvas. No YAML, no on-call tooling to wire together.
Point Hesklo at anything that answers. Each check runs on its own interval and confirms a real outage before it pages anyone.
Match a status code, or require a string in the body. SSL expiry is tracked automatically.
A plain ICMP check for whether a machine is answering at all.
Confirm a database or service port is accepting connections.
Exit zero is up. Check a service, disk, or anything a shell can answer.
An escalation policy is just nodes you connect. Drop a module, draw a line from the monitor's down port, and it runs exactly as it reads. These are the pieces you build with.
Route on whether the monitor is up, down, or how long it has been down.
Probe something live and take the pass or fail path from the result.
Hold an escalation step until the monitor has been down long enough.
Keep paging on an interval until someone acts. Resets on recovery.
Only let alerts through during set hours and days, in your timezone.
Call an endpoint to restart, scale, or kick off a runbook.
Connect a destination once, then reference it from any notify step. PagerDuty incidents and Jira tickets open on the way down and resolve on the way back up.
A cooldown per notify step means a service bouncing up and down does not turn into a hundred messages.
Require several failed checks in a row before an outage counts, so the odd blip stays quiet.
Hold non-urgent alerts to working hours and let the genuinely critical ones through any time.
Flip a monitor on to your own status page at a subdomain, so others can check before they ask.
Every HTTPS monitor counts down its certificate and warns you well before it lapses.
Every outage is recorded with cause and duration, with uptime and response-time charts per monitor.
An optional Monday recap of how your monitors did the week before. Off by default.
PagerDuty and Jira close themselves on recovery using the same key, so nothing is left hanging.
One monitor is free forever. Add a check, draw what happens when it fails, and see it run.