I see a lot of people using monit in combination with runit. Isn't that redundant? What is the point of using runit as well? Is it because it's more reliable when dealing with services (as it doesn't rely on pidfiles)?
However, the relationship here may be that runit provides a convenient way of spawning Monit and making sure it remains running. Perhaps similar to running Monit from inittab. It's essentially "watching the watcher" or monitoring your monitoring system.
In practice, I use Monit as a daemon and have not had any issues with it crashing or being killed. Maybe the appeal of
As for Monit, it functions well with process name pattern matching instead of PID files.