How to Install and Configure Monit on Linux Server for Process Monitoring

Share this Article :

Monit is a open source utility for managing and monitoring, processes, files, directories and devices on a Unix system. Monit can perform automatic maintenance and repair and can execute useful actions in error situations.

E.g.
monit can start a process if it does not run,
monit can restart a process if it does not respond,
monit can stop a process if it uses to much resources.

You may use monit to monitor files, directories and devices for changes, such as timestamp changes, checksum changes or size changes.

Steps
1. Download the latest monit from rpmforge repository.
For x86 (32-bit) systems

http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/monit-5.2.5-1.el5.rf.i386.rpm

For x64 (64-bit) systems

Also Read :   How to Check the Number of Created User Account on Linux

http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/monit-5.2.5-1.el5.rf.x86_64.rpm

[[email protected] ~]# wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/monit-5.2.5-1.el5.rf.i386.rpm
--2011-08-14 00:12:58--  http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/monit-5.2.5-1.el5.rf.i386.rpm
Resolving apt.sw.be... 193.1.193.67
Connecting to apt.sw.be|193.1.193.67|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 573934 (560K) [application/x-redhat-package-manager]
Saving to: `monit-5.2.5-1.el5.rf.i386.rpm'

100%[=============================================================>] 573,934     20.9K/s   in 34s

2011-08-14 00:13:38 (16.6 KB/s) - `monit-5.2.5-1.el5.rf.i386.rpm' saved [573934/573934]

2. Install the monit rpm

[[email protected] ~]# rpm -Uvh monit-5.2.5-1.el5.rf.i386.rpm
Preparing...                ########################################### [100%]
   1:monit                  ########################################### [100%]

3. Configure monit

[[email protected] ~]# vi /etc/monit.conf

 set daemon  120           # check services at 2-minute intervals
 set logfile syslog facility log_daemon
 set mailserver mail.server.local,               # primary mailserver
 set alert [email protected] 

 set httpd port 2812 and
     allow localhost        # allow localhost to connect to the server and
     allow 192.168.2.2        # allow client ip address to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'

4. Create /var/monit directory to place id and state

[[email protected] ~]# mkdir /var/monit

5. Configure service to be monitor

[[email protected] ~]# vi /etc/monit.d/localhost
check process httpd with pidfile /var/run/httpd.pid
        start program = "/etc/init.d/httpd start"
        stop program = "/etc/init.d/httpd stop"
        if failed host 127.0.0.1 port 80 protocol http then restart
        if 5 restarts within 5 cycles then timeout

check process sshd with pidfile /var/run/sshd.pid
        start program "/etc/init.d/sshd start"
        stop program "/etc/init.d/sshd stop"
        if failed host 127.0.0.1 port 22 protocol ssh then restart
        if 5 restarts within 5 cycles then timeout

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if failed host 127.0.0.1 port 3306 then restart
        if 5 restarts within 5 cycles then timeout


6. Set monit to auto start on boot up.

    [[email protected] ~]# vi /etc/default/monit
    # You must set this variable to for monit to start
    startup=1
    

or

    [[email protected] ~]# chkconfig monit on
    

7. Start monit service

[[email protected] ~]# service monit start
Starting monit: monit: generated unique Monit id 50baacc26c17a307fe4cbdc1616c0bf8 and stored to '/var/monit/id'
Starting monit daemon with http interface at [*:2812]
                                                           [  OK  ]

or

    [[email protected] ~]# /etc/init.d/monit start
    Starting monit: Starting monit daemon with http interface at [*:2812]
                                                               [  OK  ]
    

8. Monitor monit from your browser

Also Read :   How to Check Routing Table on Linux CentOS 6.2

Monit Web interface will run on the port number 2812. Now point your browser to http://serverip:2812/


2 Comments

  1. Patryk Moura
  2. Patryk Moura

Leave a Reply