Monit is a utility for managing and monitoring processes, files, directories and filesystems on a Unix system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. E.g. Monit can start a process if it does not run, restart a process if it does not respond and stop a process if it uses too much resources. You may use Monit to monitor files, directories and filesystems for changes, such as timestamps changes, checksum changes or size changes.
The monit addon comes with a default configuration file monitrc in /etc.
check process asterisk with pidfile /var/run/asterisk/asterisk.pid start = "/etc/init.d/asterisk start" stop = "/etc/init.d/asterisk stop" restart = "/etc/init.d/asterisk restart" if failed host secure.dus.net port 5061 type TCP then alert check host proxy.dus.net with address proxy.dus.net if failed port 5060 type tcp protocol sip with target "proxy.dus.net:5060" then alert check host sipgate.de with address sipgate.de if failed port 5060 type udp protocol sip with target "sipgate.de:5060" then alert check file asterisk-log with path /var/log/asterisk/messages if match ".*Wrong password.*" then alert if match "Oh dear... we couldn't allocate a port for RTP instance" then alert if match "Registration for '41.*timed out" then alert if match "Registration for '42.*timed out" then exec "/usr/sbin/asterisk -r -x 'core restart now'" check file asterisk-security path /var/log/asterisk/security if match "InvalidPassword" then alert
check file vdr-log with path /var/log/vdr if match "ERROR: video data stream broken" then alert #exec "/etc/init.d/runvdr-server restart" if match "SATIP-ERROR: Connect failed" then alert #exec "/etc/init.d/runvdr-server restart" check process vdr-server with pidfile /var/run/runvdr-server.pid start program = "/etc/init.d/runvdr-server start" with timeout 60 seconds stop program = "/etc/init.d/runvdr-server stop" if memory usage > 25% for 5 cycles then alert if memory usage > 30% for 5 cycles then restart