Monit

From Bashlinux
Revision as of 23:19, 14 February 2011 by Manpaz (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

M/Monit

Installation

  1. Download Monit tar file from tildeslash
 wget http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz
 
  1. Unpack and install
 tar zxvf monit-4.10.1.tar.gz
 cd monit-4.10.1
 ./configure
 make
 make install
 


Configuration

  1. Open `/etc/monit.conf` and set/uncomment this values:
 # Run Monit as daemon
 set daemon 120

 # Send logs to /var/log/messages
 set logfile syslog facility log_daemon

 # Setup Monit Web Service with authentication from anywhere
 set httpd port 2812 and
 allow user:password

 # Read configuration files for each service
 include /etc/monit.d/*
 


# Open `/etc/httpd/conf/httpd.conf` and add the following lines:

 # Avoid Monit activity to be logged on Apache log
 SetEnvIf Request_URI "^/monit/token$" dontlog
 CustomLog logs/access_log common env=!dontlog
 
  1. Open port on iptables to watch monit on TCP port 2812
{{
iptables -A INPUT -p tcp --dport 2812 -j ACCEPT
</nowiki></pre>


Configure services

Apache

File: `/etc/monit.d/httpd.conf`

 check process httpd with pidfile /var/run/httpd.pid
   group apache
   start program = "/sbin/service httpd start"
   stop program = "/sbin/service httpd stop"
   if failed port host 127.0.0.1 port 80 protocol http
     and request "/api/restaurant/id"
   then restart
   if 5 restarts within 5 cycles then timeout
 


MySQL

File: `/etc/monit.d/mysqld.conf`

 check process mysql with pidfile /var/run/mysqld/mysqld.pid
   group mysql
   start program = "/sbin/service mysqld start"
   stop program = "/sbin/service mysqld stop"
   if failed host 127.0.0.1 port 3306 protocol mysql
     then restart
   if 5 restarts within 5 cycles then timeout
 


xmlBlaster

File: `/etc/monit.d/xmlblaster.conf`

 check process xmlblaster with pidfile /var/run/xmlblaster.pid
   group root
   start program = "/sbin/service xmlblaster start"
   stop program = "/sbin/service xmlblaster stop"
   if failed host iron.bashlinux.com port 3412 protocol http
     and request "/status.html" then restart
   if 5 restarts within 5 cycles then timeout
 


Actionqueue

File: `/etc/monit.d/actionqueue.conf`

 check process actionqueue with pidfile /var/run/actionqueue.pid
   group root
   start program = "/sbin/service actionqueue start"
   stop program = "/sbin/service actionqueue stop"
   if failed host 127.0.0.1 port 8443
     then restart
   if 5 restarts within 5 cycles then timeout
 


Startup

Boot init from SYSV init.d

  1. Register the service to start on boot
 chkconfig monit on
 
  1. Start service
 service monit start
 


Respawnning with inittab

  1. Append Template:/etc/inittab to add:
 mo:2345:respawn:/usr/bin/monit -Ic /etc/monit.conf
 
  1. Start monit
 init q