Loving monit. Just started using it a few months ago to deploy Letsencrypt.org
certs from a central server to about 800 servers/VMs. Monit will restart/reload each service (Apache, Postfix, Haproxy, Nginx, etc.) that references an LE cert when it's renewed every 60 days. This is working great.
I am remotely monitoring Monit using Icinga/Nagios and they are working very well together. I am moving many of my Icinga checks into Monit using scripts to generate /etc/monit.d/*.cfg files custom for each server. Then a single Icinga/Nagios check using check_monit.py will be customized to each box.
The only minor issue is the delay start that is needed for bootup but causes "connection refused" in the monit web interface used by check_monit.py when monit restarts.
Would it be possible to have an option added to only delay XX seconds on a fresh boot where the uptime is less than a few minutes? Or allow the monit web interface to immediately accept connections if a recent statefile exists?