As you sit down for a lovely Christmas dinner with family and friends, your phone rings. The frantic client is on the line shouting that the server just went down. Don't you wish you had a helpful program that automatically monitors and restarts the servers automatically.
Monit is an open source process supervision program that monitoring your server processes and restarts failed services. It is easy to setup and relatively painless to use.
Here is a quick tutorial to configure Monit to monitor Apache and MySQL servers.
$ sudo apt-get install monit # Monit Configuration settings $ sudo nano /etc/monit/monitrc set daemon 60 set logfile /var/log/monit.log set idfile /var/lib/monit/id set statefile /var/lib/monit/state set eventqueue set httpd port 2812 and use address localhost allow localhost include /etc/monit/conf.d/* # Create Apache2 monitoring file $ sudo nano /etc/monit/conf.d/apache2 check process apache with pidfile /run/apache2.pid start program = "/etc/init.d/apache2 start" stop program = "/etc/init.d/apache2 stop" # Create MySQL monitoring file $ sudo nano /etc/monit/conf.d/mysql check process mysqld with pidfile /var/run/mysqld/mysqld.pid start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop" # Check monit configuration for syntax errors $ sudo monit -t # Start Monit daemon sudo service monit start # Check Monit status $ sudo monit status The Monit daemon 5.3.2 uptime: 4m Process 'mysqld' status Running monitoring status Monitored pid 2676 parent pid 1 uptime 4d 8h 1m children 0 memory kilobytes 256380 memory kilobytes total 256380 memory percent 12.5% memory percent total 12.5% cpu percent 0.0% cpu percent total 0.0% data collected Wed, 10 Dec 2014 08:43:13 Process 'apache' status Running monitoring status Monitored pid 4230 parent pid 1 uptime 4d 8h 1m children 27 memory kilobytes 11556 memory kilobytes total 391484 memory percent 0.5% memory percent total 19.1% cpu percent 0.0% cpu percent total 0.0% data collected Wed, 10 Dec 2014 08:43:13 System 'system_foobar.org' status Running monitoring status Monitored load average [0.00] [0.01] [0.05] cpu 0.0%us 0.0%sy 0.0%wa memory usage 666736 kB [32.6%] swap usage 140 kB [0.0%] data collected Wed, 10 Dec 2014 08:43:1
That's all folks! Now you have a wonderful Christmas!