How To Install Monit on Ubuntu 16.04 LTS

Install Monit on Ubuntu 16

Monit is a opensource process tool for Linux operating system which helps you to monitor system process using web browser and also when ever requires it automatically do the maintenance or repair of particular process in such a way that it can be brought back online. The monitoring can be directly on the command line or on the web. You can assign Monit multiple tasks (not only monitoring), so if a certain service fails the check, Monit can alert or do something about it (try to restart the service for example).

Install Monit on Ubuntu 16.04 LTS

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Monit monitoring tool on a Ubuntu 16.04 (Xenial Xerus) server.

Step 1. First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

sudo apt-get update
sudo apt-get upgrade

Step 2. Installing Monit and Apache web server.

Run the following commands in Terminal:

apt-get install apache2 libapache2-mod-php
apt-get install monit

Step 3. Configure Monit monitoring tool.

After the installation is complete, edit the main config file to resemble the example below using your favorite text editor and set your own username and password:

nano /etc/monit/monitrc

set httpd port 2812 and # # set the listening port to your desire.

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

Once you’ve configured it, you need to start the monit service to reload the new configuration settings:

systemctl restart monit.service

Step 4. Configuring Programs Self Monitoring using Monit.

Once the initial config is completed, we can configure some of the services we want to monitor. To do this, we will create separate files for every service located within the /etc/monit.d/ directory. Following are some useful configuration examples for monit, that can be very helpful to see how a service is running, where it keeps its pidfile and how to start and stop a service etc:

## SSH ##
# nano /etc/monit.d/ssh
start program “/etc/init.d/sshd start”
stop program “/etc/init.d/sshd stop”
if failed port 22 protocol ssh then restart
## Webserver ##
# nano /etc/monit.d/http
check process webserver with pidfile /var/run/httpd/httpd.pid
group apache
start program = “/etc/init.d/httpd start”
stop program = “/etc/init.d/httpd stop”
if failed host 0.0.0.0 port 80 then restart
# nano /etc/monit.d/ntp
check process ntpd with pidfile /var/run/ntpd.pid
start program = “/etc/init.d/ntpd start”
stop program = “/etc/init.d/ntpd stop”
if failed host 127.0.0.1 port 123 type udp then alert

After adding required services in monit monitoring configuration file, Use the below command to verify syntax of file:

monit -t

Finally, restart monit service:

systemctl restart monit.service

The configuration file is pretty self-explaining, if you are unsure about an option, take a look at the Monit documentation.

Step 5. Accessing Monit.

Monit will be available on HTTP port 2812 by default. Open your favorite browser and navigate to http://your-domain.com:2812 or http://server-ip:2812 and and then enter the credentials you created in conf above.

Congratulation’s! You have successfully installed Monit. Thanks for using this tutorial for installing Monit monitoring tool on Ubuntu 16.04 LTS (Xenial Xerus) system. For additional help or useful information, we recommend you to check the official Monit web site.