System Services
When used with Solaris the init.d script needs a modification.
Add the following line after start of cron according to the
Monit FAQ:
/usr/bin/pgrep -x -u 0 -P 1 cron > /var/run/cron.pid
check process cron with pidfile /var/run/cron.pid
start program = "/etc/init.d/cron start"
stop program = "/etc/init.d/cron stop"
checksum /etc/init.d/cron
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
check process gdm with pidfile /var/run/gdm.pid
start program = "/etc/init.d/gdm start"
stop program = "/etc/init.d/gdm stop"
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
check process inetd with pidfile /var/run/inetd.pid
start program = "/etc/init.d/inetd start"
stop program = "/etc/init.d/inetd stop"
host 192.168.1.1 port 25 protocol smtp # e.g. exim
host 192.168.1.1 port 515 # e.g. cups-lpd
host 192.168.1.1 port 113 # e.g. ident
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
check process syslogd with pidfile /var/run/syslogd.pid
start program = "/etc/init.d/sysklogd start"
stop program = "/etc/init.d/sysklogd stop"
timestamp "/var/log/syslog" > 65 minutes
then alert # Have you seen "-- MARK --"?
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
check process xfs with pidfile /var/run/xfs.pid
start program = "/etc/init.d/xfs start"
stop program = "/etc/init.d/xfs stop"
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
check process ypbind with pidfile /var/run/ypbind.pid
start program = "/etc/init.d/nis start"
stop program = "/etc/init.d/nis stop"
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
check process snmpd with pidfile /var/run/snmpd
start program = "/etc/init.d/snmpd start"
stop program = "/etc/init.d/snmpd stop"
host 192.168.1.1 port 161 type udp
host 192.168.1.1 port 199 type tcp
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
FTP Services
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
host 192.168.1.1 port 21 protocol ftp
timeout (5,5)
alert foo@bar
alert 123456@sms on { timeout }
Login Services
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
host 192.168.1.1 port 22 protocol ssh
timeout(5, 5)
alert foo@bar
alert 123456@sms on { timeout }
WWW Services
Hint: It is advisable to use a token file for monit. Thus, it
is easily possible to filter out the accesses done by monit.
In some cases init scripts for apache and apache-ssl are separated, e.g. Debian Linux.
check process apache with pidfile /opt/apache_misc/logs/httpd.pid
start program = "/etc/init.d/apache start"
stop program = "/etc/init.d/apache stop"
host 192.168.1.1 port 80
protocol HTTP request /monit/token
host 192.168.1.1 port 443 type TCPSSL
certmd5 12-34-56-78-90-AB-CD-EF-12-34-56-78-90-AB-CD-EF
protocol HTTP request /monit/token
group www
timeout(5,5)
checksum /etc/init.d/apache
checksum /opt/apache/bin/httpd
alert foo@bar
alert 123456@sms on { timeout }
check process zope with pidfile /opt/Zope/var/zProcessManager.pid
start program = "/etc/init.d/zope start"
stop program = "/etc/init.d/zope stop"
group www
host 192.168.1.1 port 8080 protocol HTTP
timeout(5, 5)
every 5
alert foo@bar
alert 123456@sms on { timeout }
check process squid with pidfile /opt/squid/logs/squid.pid
start program = "/etc/init.d/squid start"
stop program = "/etc/init.d/squid stop"
group www
host 192.168.1.1 port 3128
timeout(5,5)
checksum /etc/init.d/squid
checksum /opt/squid/bin/squid
alert foo@bar
alert 123456@sms on { timeout }
check process privoxy with pidfile /opt/privoxy/var/privoxy.pid
start program = "/etc/init.d/privoxy start"
stop program = "/etc/init.d/privoxy stop"
group www
timeout(5,5)
host 192.168.1.1 port 8118
checksum /etc/init.d/privoxy
checksum /opt/privoxy/sbin/privoxy
alert foo@bar
alert 123456@sms on { timeout }
Mail Services
check process postfix with pidfile /var/spool/postfix/pid/master.pid
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
host 192.168.1.1 port 25 protocol smtp
group mail
timeout(5, 5)
checksum /etc/init.d/postfix
alert foo@bar
alert 123456@sms on { timeout }
check process sendmail with pidfile /var/run/sendmail.pid
start program = "/etc/init.d/sendmail start"
stop program = "/etc/init.d/sendmail stop"
group mail
host 192.168.1.1 port 25 protocol smtp
checksum /etc/init.d/sendmail
checksum /usr/lib/sendmail
alert foo@bar
alert 123456@sms on { timeout }
check process qpopper with pidfile /var/run/popper.pid
start program = "/etc/init.d/qpopper start"
stop program = "/etc/init.d/qpopper stop"
group mail
timeout(5, 5)
host 192.168.1.1 port 110 type TCP protocol POP
checksum /etc/init.d/qpopper
checksum /opt/sbin/popper
alert foo@bar
alert 123456@sms on { timeout }
check process sophie with pidfile /var/run/sophie.pid
start program = "/etc/init.d/sophie start"
stop program = "/etc/init.d/sophie stop"
unix /var/run/sophie
group mail
timeout(5, 5)
checksum /etc/init.d/sophie
checksum /opt/virus/sophie/sophie
alert foo@bar
alert 123456@sms on { timeout }
check process trophie with pidfile /var/run/trophie.pid
start program = "/etc/init.d/trophie start"
stop program = "/etc/init.d/trophie stop"
unix /var/run/trophie
group mail
timeout(5, 5)
checksum /etc/init.d/trophie
checksum /opt/virus/trophie/trophie
alert foo@bar
alert 123456@sms on { timeout }
check process spamd with pidfile /var/run/spamd.pid
start program = "/etc/init.d/spamd start"
stop program = "/etc/init.d/spamd stop"
group mail
timeout(5, 5)
checksum /etc/init.d/spamd
checksum /usr/local/bin/spamd
alert foo@bar
alert 123456@sms on { timeout }
Database Services
The name of the pidfile consists usually of the fully
quallified domainname and pidfile as extension.
check process mysql with pidfile /opt/mysql/data/myserver.mydomain.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
host 192.168.1.1 port 3306
group database
timeout(5, 5)
checksum /etc/init.d/mysql
checksum /opt/mysql/bin/mysqld
alert foo@bar
alert 123456@sms on { timeout }
check process slapd with pidfile /var/run/slapd.pid
start program = "/etc/init.d/slapd start"
stop program = "/etc/init.d/slapd stop"
host 192.168.1.1 port 389 protocol ldap3
group database
timeout(5, 5)
checksum /etc/init.d/slapd
checksum /usr/sbin/slapd
alert foo@bar
alert 123456@sms on { timeout }
File Services
Hint: For enhanced controllability of the service it is
handy to split up the samba init file into two pieces, one for smbd
(the file service) and one for nmbd (the name service).
check process smbd with pidfile /opt/samba2.2/var/locks/smbd.pid
start program = "/etc/init.d/smbd start"
stop program = "/etc/init.d/smbd stop"
host 192.168.1.1 port 139 type TCP
group samba
checksum /opt/samba2.2/sbin/smbd
alert foo@bar
alert 123456@sms on { timeout }
check process nmbd with pidfile /opt/samba2.2/var/locks/nmbd.pid
start program = "/etc/init.d/nmbd start"
stop program = "/etc/init.d/nmbd stop"
host 192.168.1.1 port 138 type UDP
host 192.168.1.1 port 137 type UDP
group samba
checksum /opt/samba2.2/sbin/nmbd
alert foo@bar
alert 123456@sms on { timeout }
Printing Services
check process lprng with pidfile /var/run/lpd.515
start program = "/etc/init.d/lprng start"
stop program = "/etc/init.d/lprng stop"
host 192.168.1.1 port 515 type TCP
group printer
checksum /etc/init.d/lprng
checksum /opt/lprng/sbin/lpd
alert foo@bar
alert 123456@sms on { timeout }
Sun ONE Services
check process ldap-master
with pidfile /usr/iplanet/ldapmaster/slapd-master-1/logs/pid
start program "/usr/iplanet/ldapmaster/slapd-master-1/start-slapd"
stop program "/usr/iplanet/ldapmaster/slapd-master-1/stop-slapd"
timeout(5, 5)
host 192.168.1.1 port 389 protocol ldap3
alert foo@bar
alert 123456@sms on { timeout }
check process mta-dispatcher
with pidfile /usr/iplanet/msg-ims-1/config/pidfile.imta_dispatch
start program "/usr/iplanet/msg-ims-1/imsimta start dispatcher"
stop program "/usr/iplanet/msg-ims-1/imsimta stop dispatcher"
group messaging
timeout(5, 5)
host 192.168.1.1 port 25 protocol smtp
alert foo@bar
alert 123456@sms on { timeout }
iPlanetMessagingServer MTA job controler
check process mta-job_controller
with pidfile /usr/iplanet/msg-ims-1/config/pidfile.imta_jbc
start program "/usr/iplanet/msg-ims-1/imsimta start job_controller"
stop program "/usr/iplanet/msg-ims-1/imsimta stop job_controller"
group messaging
timeout(5, 5)
host 192.168.1.1 port 28442
alert foo@bar
alert 123456@sms on { timeout }
iPlanetMessagingServer stored
check process store with pidfile /usr/iplanet/msg-ims-1/config/pidfile.store
start program "/usr/iplanet/msg-ims-1/start-msg store"
stop program "/usr/iplanet/msg-ims-1/stop-msg store"
group messaging
timestamp "/usr/iplanet/msg-ims-1/config/stored.ckp" > 10 minutes then alert
timestamp "/usr/iplanet/msg-ims-1/config/stored.lcu" > 15 minutes then alert
timestamp "/usr/iplanet/msg-ims-1/config/stored.per" > 70 minutes then alert
timeout(5, 5)
alert foo@bar
alert 123456@sms on { timestamp timeout }
iPlanetMessagingServer mshttpd
check process webmail with pidfile /usr/iplanet/msg-ims-1/config/pidfile.http
start program "/usr/iplanet/msg-ims-1/start-msg http"
stop program "/usr/iplanet/msg-ims-1/stop-msg http"
group messaging
timeout(5, 5)
host 192.168.1.1 port 80 protocol http
alert foo@bar
alert 123456@sms on { timeout }
iPlanetMessagingServer popd
check process pop3 with pidfile /usr/iplanet/msg-ims-1/config/pidfile.pop
start program "/usr/iplanet/msg-ims-1/start-msg pop"
stop program "/usr/iplanet/msg-ims-1/stop-msg pop"
group messaging
timeout(5, 5)
host 192.168.1.1 port 110 protocol pop
alert foo@bar
alert 123456@sms on { timeout }
iPlanetMessagingServer imapd
check process imap4 with pidfile /usr/iplanet/msg-ims-1/config/pidfile.imap
start program "/usr/iplanet/msg-ims-1/start-msg imap"
stop program "/usr/iplanet/msg-ims-1/stop-msg imap"
group messaging
timeout(5, 5)
host 192.168.1.1 port 143 protocol imap
alert foo@bar
alert 123456@sms on { timeout }
iPlanetMessagingServer madmand (SNMP subagent)
check process snmp-subagent with pidfile /usr/iplanet/msg-ims-1/config/pidfile.snmp
start program "/usr/iplanet/msg-ims-1/start-msg snmp"
stop program "/usr/iplanet/msg-ims-1/stop-msg snmp"
group messaging
timeout(5, 5)
alert foo@bar
alert 123456@sms on { timeout }
iPlanetMessagingServer MMP (POP3/IMAP4/SMTP proxy)
check process mmp with pidfile /usr/iplanet/mmp-ims2/pidfile
start program "/usr/iplanet/mmp-ims2/AService.rc start"
stop program "/usr/iplanet/mmp-ims2/AService.rc stop"
group messaging
timeout(5, 5)
host 192.168.1.2 port 110 protocol pop
host 192.168.1.2 port 143 protocol imap
alert foo@bar
alert 123456@sms on { timeout }
check process calendar-admin with pidfile /usr/iplanet/SUNWics5/cal/bin/config/pidfile.admin
start program "/usr/iplanet/SUNWics5/cal/bin/csstart service admin"
stop program "/usr/iplanet/SUNWics5/cal/bin/csstop service admin"
group calendar
timeout(5, 5)
alert foo@bar
alert 123456@sms on { timeout }
iPlanetCalendarServer cshttpd
check process calendar-http with pidfile /usr/iplanet/SUNWics5/cal/bin/config/pidfile.http
start program "/usr/iplanet/SUNWics5/cal/bin/csstart service http"
stop program "/usr/iplanet/SUNWics5/cal/bin/csstop service http"
group calendar
timeout(5, 5)
host 192.168.1.3 port 80 protocol http
alert foo@bar
alert 123456@sms on { timeout }
iPlanetCalendarServer csdwpd (database wire protocol)
check process calendar-dwp with pidfile /usr/iplanet/SUNWics5/cal/bin/config/pidfile.dwp
start program "/usr/iplanet/SUNWics5/cal/bin/csstart service dwp"
stop program "/usr/iplanet/SUNWics5/cal/bin/csstop service dwp"
group calendar
timeout(5, 5)
host 192.168.1.3 port 9779 protocol dwp
if cpu usage > 2% for 5 cycles then restart # There's a leak in csdwpd
alert foo@bar
alert 123456@sms on { timeout }
iPlanetCalendarServer csnotifyd
check process calendar-notify with pidfile /usr/iplanet/SUNWics5/cal/bin/config/pidfile.notify
start program "/usr/iplanet/SUNWics5/cal/bin/csstart service notify"
stop program "/usr/iplanet/SUNWics5/cal/bin/csstop service notify"
group calendar
timeout(5, 5)
alert foo@bar
alert 123456@sms on { timeout }
iPlanetCalendarServer enpd (event notification service broker)
check process calendar-ens with pidfile /usr/iplanet/SUNWics5/cal/bin/config/pidfile.ens
start program "/usr/iplanet/SUNWics5/cal/bin/csstart service ens"
stop program "/usr/iplanet/SUNWics5/cal/bin/csstop service ens"
group calendar
timeout(5, 5)
host 192.168.1.3 port 7997
alert foo@bar
alert 123456@sms on { timeout }
Misc Services
check process apcupsd with pidfile /var/run/apcupsd.pid
start program = "/etc/init.d/apcupsd start"
stop program = "/etc/init.d/apcupsd stop"
timeout(5, 5)
host 192.168.1.3 port 7000 type TCP
checksum /etc/init.d/apcupsd
checksum /opt/apcupsd/sbin/apcupsd
alert foo@bar
alert 123456@sms on { timeout }
check process webmin with pidfile /var/webmin/miniserv.pid
start program = "/etc/init.d/webmin start"
stop program = "/etc/init.d/webmin stop"
host 192.168.1.3 port 10000
checksum /etc/init.d/webmin
timeout(5, 5)
alert foo@bar
alert 123456@sms on { timeout }