– Kamailio SIP Server –

Make OpenSER init scipt working with monit

Requires monit - a daemon monitoring tool

Info: http://www.tildeslash.com/monit

cp <openser src>/etc/openser.init /etc/init.d/openser
chmod 755 /etc/init.d/openser
wget http://www.tildeslash.com/monit/dist/monit-4.8.2.tar.gz
tar -zxvf monit-4.8.2.tar.gz
cd monit-4.8.2
./configure
make
make install
vi /usr/local/etc/monitrc

This is about the most basic config you need to get monit with openser.init working.

###############################################################################
## Global section
###############################################################################
##
## Start monit in background (run as daemon) and check the services at 2-minute
## intervals. 
#
set daemon  120
## Set syslog logging with the 'daemon' facility. If the FACILITY option is
## omited, monit will use 'user' facility by default. You can specify the
## path to the file for monit native logging. 
#
set logfile syslog facility log_daemon
#
## Monit has an embedded webserver, which can be used to view the
## configuration, actual services parameters or manage the services using the
## web interface.
#
set httpd port 2812 and use the address 127.0.0.1
      allow 127.0.0.1
###############################################################################
## Services
############################################################################### 
#
check process openser with pidfile /var/run/openser.pid
   group openser
   start program = "/etc/init.d/openser openserstart"
   stop  program = "/etc/init.d/openser openserstop"
   if 2 restarts within 3 cycles then timeout
#

Change permissions on monitrc

chmod 700 /usr/local/etc/monitrc

Monit can run and be controlled from init. If monit should crash, init will re-spawn a new monit process.
To setup monit to run from init, you can use the 'set init' statement in monit's control file

vi /etc/inittab

Add:

# Run monit in standard run-levels
mo:2345:respawn:/usr/local/bin/monit -Ic /usr/local/etc/monitrc

restart inittab

  
telinit q

At this point anytime 120 sec if /var/run/openser.pid doesn't exist it will restart openser and if 2 restarts within 3 cycles then it will stop trying.

This is Just scratching the surface of what monit can do.

The info in this document may not be the best but at least seems like a start!!!!

Installation Stuff