How To Install Monit on CentOS 6

Install Monit on CentOS 6

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 on CentOS 6.

Install Monit on CentOS 6

Step 1. First, you need to enable the EPEL repository on your system.

## RHEL/CentOS 6 64-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 32-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

Step 2. Installing Monit.

yum update
yum install -y libcrypto.so.6 libssl.so.6
yum install monit

Step 3. Configure Monit.

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

nano /etc/monit.conf
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:

/etc/init.d/monit start

Step 4. Configuring Programs Self-Monitoring.

After 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:

## 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
## 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
## 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 creating the desired configuration files, test the control file for syntax errors:

monit -t

And start monit by simply typing:

monit

Step 5. Accessing Monit.

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

Congratulations! You have successfully installed Monit. Thanks for using this tutorial for installing Monit on CentOS 6 system.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!