sigabrt - Cronjob monitor with SSH TUI
Show HN: Sigabrt.dev – cronjob monitor with an SSH TUI
sigabrt is a dead-simple cronjob monitor that alerts you the moment your scheduled tasks fail to check in. Just add a curl command to the end of your script, and if the ping doesn't arrive on time, sigabrt emails you. It offers unlimited endpoints and heartbeats for €15/month, with a free tier of 10 heartbeats and no credit card required. For terminal enthusiasts, there's an SSH TUI to view endpoint status, schedules, and recent events. Alerts can be sent via email or ntfy, and you get 90 days of history. No agents, no libraries, no credentials—just silence when things are fine, and a notification when they're not.
Silence means it's fine. You only hear from us when a pulse doesn't arrive.
- p2004a
I'm myself very happy with https://healthchecks.io/ for this purpose.
- mosselman
Shameless plug for a server monitoring macOS app I built. I built that too for the servers I managed myself. Instead of working through a service or a self-hosted monitoring tool that I then over to monitor itself again, I thought running it on my laptop was pretty nice too. One of the next features I've been wanting to build is uptime monitoring.
Sure there is the downside of having to be at your laptop or having it on, but the upside is that it has very few moving parts and is very simple and it just has one set price.
- raimue
You could just wrap cronic around the command and immediately receive the full output per mail when it fails. I don't see how a heartbeat alone without logs would help to identify temporary failures.
Your service could accomplish something similar if it had such a wrapper to report both success and failures with logs to a remote server. That would take away the need to run a local MTA, while also detecting with the heartbeat whether the job ran at all.
- mrweasel
If you need/want a dashboard it's kinda cool. There's a lot of other options that will do something similar, but not via SSH. Crontab can email you directly, no need for a service.
You could also just use systemd timers and do: systemctl --failed -t service
- linsomniac
I've been toying with a similar idea for ~6 months: A lightweight job status dashboard.
I wanted something that required no setup, but could just push success/failure messages to as part of various cron jobs, windows tasks, and shell scripts we run throughout our organization.
StatShed server: https://github.com/statshed/statshed-server
StatShed go-cli: https://github.com/statshed/statshed-gocli
The idea is kind of like "ntfy.sh", but for jobs status. You can send a "started" message at the beginning, update a "status" message periodically throughout the job, then send a "failed" message (optionally with logs) or a "success". Then a web dashboard gives you an overview with ability to drill down.
We use Icinga for monitoring and paging, but this just gives an overview for a quick look at things we don't want heavy duty monitoring on. Like my laptop backups, information about ansible runs across our fleet, etc.