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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
cpuusage > 2.0 for 5 cycles then restart # There's a leak in csdwpd
alert foo@bar
alert 123456@sms on { timeout }
iPlanetCalendarServer csnotifyd
check 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 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 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 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 }