In this tutorial, we will show you how to install and configuration Monit on Ubuntu 16.04 LTS server. For those of you who didn’t know, Monit is an opensource process tool for Linux operating system which helps you to monitor system process using a web browser and also whenever requires it automatically do the maintenance or repair of the 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).
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.
Install Monit on Ubuntu 16.04 LTS
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 webserver.
Run the following commands in Terminal:
apt-get install apache2 libapache2-mod-php apt-get install monit
Step 3. Configure the 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:
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
## NTP ## # 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 the Monit monitoring configuration file, Use the below command to verify syntax of the file:
Finally, restart the 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 then enter the credentials you created in conf above.
Congratulations! You have successfully installed Monit. Thanks for using this tutorial for installing the 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 website.