I wrote a small agent (single go binary) that does all the monitoring and maintenance for me. Possibly overkill but it is amusing to think there is a little ghost in the machine.
The agent has a single mission to maintain the system it is dropped into. It has its own in-process heartbeat and is launched as a service.
As I said above, it is kind of amusing to think that it exists at all. It checks whether things are running fine and can possibly correct them if it finds something wrong.
I can see this becoming a more serious kind of system agent.
I try not to advertise in this forum but I can drop a link if interested.