Categories
General Tech Linux Systems Administration

New Project – coconut-deadmanswitch – A tool to monitor Cron Jobs and Scheduled Tasks

I’ve started a new project! I recently talked about my experiments with coconut-lang here: https://jaytuckey.name/2020/10/25/thoughts-on-coconut-the-compile-to-python-functional-language-extension/

I’ve now started a project using coconut! It’s what I’m calling a “Dead Man’s Switch” (DMS) monitoring tool. The idea is this:

  • Every cron job / scheduled task sends an update to the DMS monitor
  • The monitor records the updates and how long they are valid for
  • One day the cron job dies, and stops working
  • After the latest update expires, the DMS monitor marks that job as failed and an alert is sent to me

This project is inspired by https://healthchecks.io/, but is much much simpler. For my case I needed an internally hosted DMS monitor, and although healthchecks.io is open source and self-hostable it’s a much bigger project.

I also already have a Nagios monitoring system, so I didn’t need any alerting built into the DMS monitor. Instead, it groups the checks, and then provides an endpoint /status/<groupname> that Nagios queries to see if any monitors in the group have failed.

It also uses an embedded sqlite database so there is no need to run a full-fat DB. For my needs sqlite is EASILY fast enough.

Project is here: https://gitlab.com/jaytuck/coconut-deadmanswitch. Check it out, see what you think, and send me any feedback! Contact details at ➡ https://jaytuckey.name/about/

Leave a Reply

Your email address will not be published. Required fields are marked *