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:
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:
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:
And start monit by simply typing:
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.