set daemon 60 set logfile syslog facility log_daemon set mailserver localhost set mail-format { from: monit@server1.example.com } set alert root@localhost set httpd port 2812 and allow admin:PASSWD_TO_REPLACE # SSL ENABLE # PEMFILE /var/certs/monit.pem check process sshd with pidfile /var/run/sshd.pid start program "/usr/sbin/service ssh start" stop program "/usr/sbin/service ssh stop" if failed port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout check process apache with pidfile /var/run/apache2/apache2.pid group www start program = "/usr/sbin/service apache2 start" stop program = "/usr/sbin/service apache2 stop" if failed host localhost port 80 protocol http and request "/monit/token" then restart if cpu is greater than 60% for 2 cycles then alert if cpu > 80% for 5 cycles then restart if totalmem > 500 MB for 5 cycles then restart if children > 250 then restart if loadavg(5min) greater than 10 for 8 cycles then stop if 3 restarts within 5 cycles then timeout check process mysqld with pidfile /var/run/mysqld/mysqld.pid group mysql start program = "/usr/sbin/service mysqld start" stop program = "/usr/sbin/service mysqld stop" if failed host 127.0.0.1 port 3306 then restart if 5 restarts within 5 cycles then timeout # --------------------------------------------------------------------------------------------- # NOTE: Replace example.pid with the pid name of your server, the name depends on the hostname # --------------------------------------------------------------------------------------------- #check process proftpd with pidfile /var/run/proftpd.pid # start program = "/usr/sbin/service proftpd start" # stop program = "/usr/sbin/service proftpd stop" # if failed port 21 protocol ftp then restart # if 5 restarts within 5 cycles then timeout # #check process postfix with pidfile /var/spool/postfix/pid/master.pid # group mail # start program = "/usr/sbin/service postfix start" # stop program = "/usr/sbin/service postfix stop" # if failed port 25 protocol smtp then restart # if 5 restarts within 5 cycles then timeout # #check process nginx with pidfile /var/run/nginx.pid # start program = "/usr/sbin/service nginx start" # stop program = "/usr/sbin/service nginx stop" # if failed host 127.0.0.1 port 80 then restart # #check process memcached with pidfile /var/run/memcached.pid # start program = "/usr/sbin/service memcached start" # stop program = "/usr/sbin/service memcached stop" # if failed host 127.0.0.1 port 11211 then restart # #check process pureftpd with pidfile /var/run/pure-ftpd/pure-ftpd.pid # start program = "/usr/sbin/service pure-ftpd-mysql start" # stop program = "/usr/sbin/service pure-ftpd-mysql stop" # if failed port 21 protocol ftp then restart # if 5 restarts within 5 cycles then timeout # #check process named with pidfile /var/run/named/named.pid # start program = "/usr/sbin/service bind9 start" # stop program = "/usr/sbin/service bind9 stop" # if failed host 127.0.0.1 port 53 type tcp protocol dns then restart # if failed host 127.0.0.1 port 53 type udp protocol dns then restart # if 5 restarts within 5 cycles then timeout # #check process ntpd with pidfile /var/run/ntpd.pid # start program = "/usr/sbin/service ntp start" # stop program = "/usr/sbin/service ntp stop" # if failed host 127.0.0.1 port 123 type udp then restart # if 5 restarts within 5 cycles then timeout # #check process mailman with pidfile /var/run/mailman/mailman.pid # group mail # start program = "/usr/sbin/service mailman start" # stop program = "/usr/sbin/service mailman stop" # #check process amavisd with pidfile /var/run/amavis/amavisd.pid # group mail # start program = "/usr/sbin/service amavis start" # stop program = "/usr/sbin/service amavis stop" # if failed port 10024 protocol smtp then restart # if 5 restarts within 5 cycles then timeout # #check process courier-imap with pidfile /var/run/courier/imapd.pid # group mail # start program = "/usr/sbin/service courier-imap start" # stop program = "/usr/sbin/service courier-imap stop" # if failed host localhost port 143 type tcp protocol imap then restart # if 5 restarts within 5 cycles then timeout # #check process courier-imap-ssl with pidfile /var/run/courier/imapd-ssl.pid # group mail # start program = "/usr/sbin/service courier-imap-ssl start" # stop program = "/usr/sbin/service courier-imap-ssl stop" # if failed host localhost port 993 type tcpssl sslauto protocol imap then restart # if 5 restarts within 5 cycles then timeout # #check process courier-pop3 with pidfile /var/run/courier/pop3d.pid # group mail # start program = "/usr/sbin/service courier-pop start" # stop program = "/usr/sbin/service courier-pop stop" # if failed host localhost port 110 type tcp protocol pop then restart # if 5 restarts within 5 cycles then timeout # #check process courier-pop3-ssl with pidfile /var/run/courier/pop3d-ssl.pid # group mail # start program = "/usr/sbin/service courier-pop-ssl start" # stop program = "/usr/sbin/service courier-pop-ssl stop" # if failed host localhost port 995 type tcpssl sslauto protocol pop then restart # if 5 restarts within 5 cycles then timeout # #check process dovecot with pidfile /var/run/dovecot/master.pid # group mail # start program = "/usr/sbin/service dovecot start" # stop program = "/usr/sbin/service dovecot stop" # if failed host localhost port 993 type tcpssl sslauto protocol imap then restart # if 5 restarts within 5 cycles then timeout