Install Monit on Ubuntu

 

What are we doing?

Installing Monit on Ubuntu

Why?

Monit is a lightweight program that can monitor processes, restart them if they fail and send email alerts if there are problems.

How?

Update repositories and install Monit

sudo apt-get update
sudo apt-get install monit

Enable the built in webserver and add a process to monitor

sudo nano /etc/monit/monitrc

Find the following code block

# set httpd port 2812 and
# use address localhost # only accept connection from localhost
# allow localhost # allow localhost to connect to the server and
# allow admin:monit # require user 'admin' with password 'monit'
# allow @monit # allow users of group 'monit' to connect (rw)
# allow @users readonly # allow users of group 'users' to connect readonly
#

Change it to the following

 set httpd port 2812 and
use address IP_ADDRESS_OF_SERVER # only accept connection from localhost
allow IP_OR_SUBNET_YOU_CONNECT_FROM # allow localhost to connect to the server and
allow admin:monit # require user 'admin' with password 'monit'
# allow @monit # allow users of group 'monit' to connect (rw)
# allow @users readonly # allow users of group 'users' to connect readonly
#

Add a service to monitor

In this case I will demonstrate how to configure and verify monitoring of Nginx but the principle is the same for most processes

In the same file, add the following block of code

check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
group www-data

ctrl + x then y to save and exit nano

Start Monit

monit

Monit can be reloaded, if required, with the following

monit reload

Verify configuration

Tail the Monit log file

tail -f /var/log/monit.log

Now visit YOUR_SERVER_IP_ADDRESS:2812 in a web browser, log in with the credentials adminmonit and restart Nginx. If successful, the log tail will show something similar to the following

[UTC Dec 26 00:56:26] info : 'nginx' stop: /etc/init.d/nginx
[UTC Dec 26 00:56:27] info : 'nginx' start: /etc/init.d/nginx
[UTC Dec 26 00:56:28] info : 'nginx' restart action done

Monit can watch just about any process. Head over to the monit website for more examples.

Happy monitoring!

Leave a Reply

Your email address will not be published. Required fields are marked *