Difference between revisions of "Monit"
From Bashlinux
Line 1: | Line 1: | ||
__NOTOC__ |
__NOTOC__ |
||
− | = M/Monit = |
+ | === How to install M/Monit from sources === |
⚫ | |||
− | |||
⚫ | |||
⚫ | |||
− | |||
− | <pre><nowiki> |
||
wget http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz |
wget http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz |
||
⚫ | |||
− | </nowiki></pre> |
||
− | |||
⚫ | |||
− | |||
− | <pre><nowiki> |
||
tar zxvf monit-4.10.1.tar.gz |
tar zxvf monit-4.10.1.tar.gz |
||
cd monit-4.10.1 |
cd monit-4.10.1 |
||
Line 17: | Line 9: | ||
make |
make |
||
make install |
make install |
||
− | </nowiki></pre> |
||
⚫ | |||
− | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
− | <pre><nowiki> |
||
⚫ | |||
set daemon 120 |
set daemon 120 |
||
⚫ | |||
− | |||
⚫ | |||
set logfile syslog facility log_daemon |
set logfile syslog facility log_daemon |
||
⚫ | |||
− | |||
⚫ | |||
set httpd port 2812 and |
set httpd port 2812 and |
||
allow user:password |
allow user:password |
||
⚫ | |||
− | |||
⚫ | |||
include /etc/monit.d/* |
include /etc/monit.d/* |
||
⚫ | |||
− | </nowiki></pre> |
||
− | |||
− | |||
⚫ | |||
− | |||
− | <pre><nowiki> |
||
# Avoid Monit activity to be logged on Apache log |
# Avoid Monit activity to be logged on Apache log |
||
SetEnvIf Request_URI "^/monit/token$" dontlog |
SetEnvIf Request_URI "^/monit/token$" dontlog |
||
CustomLog logs/access_log common env=!dontlog |
CustomLog logs/access_log common env=!dontlog |
||
⚫ | |||
− | </nowiki></pre> |
||
− | |||
⚫ | |||
− | {{ |
||
iptables -A INPUT -p tcp --dport 2812 -j ACCEPT |
iptables -A INPUT -p tcp --dport 2812 -j ACCEPT |
||
− | </nowiki></pre> |
||
− | == How to configure M/Monit services == |
+ | === How to configure M/Monit services === |
− | === Apache === |
+ | ==== Apache ==== |
− | + | '''File:''' <tt>/etc/monit.d/httpd.conf</tt> |
|
− | |||
− | <pre><nowiki> |
||
check process httpd with pidfile /var/run/httpd.pid |
check process httpd with pidfile /var/run/httpd.pid |
||
group apache |
group apache |
||
Line 66: | Line 40: | ||
then restart |
then restart |
||
if 5 restarts within 5 cycles then timeout |
if 5 restarts within 5 cycles then timeout |
||
− | </nowiki></pre> |
||
⚫ | |||
− | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
− | <pre><nowiki> |
||
check process mysql with pidfile /var/run/mysqld/mysqld.pid |
check process mysql with pidfile /var/run/mysqld/mysqld.pid |
||
group mysql |
group mysql |
||
Line 80: | Line 50: | ||
then restart |
then restart |
||
if 5 restarts within 5 cycles then timeout |
if 5 restarts within 5 cycles then timeout |
||
− | </nowiki></pre> |
||
⚫ | |||
− | |||
⚫ | |||
− | === xmlBlaster === |
||
− | '''File:''' `/etc/monit.d/xmlblaster.conf` |
||
− | |||
− | <pre><nowiki> |
||
− | 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 |
||
− | </nowiki></pre> |
||
− | |||
− | |||
⚫ | |||
⚫ | |||
− | |||
− | <pre><nowiki> |
||
check process actionqueue with pidfile /var/run/actionqueue.pid |
check process actionqueue with pidfile /var/run/actionqueue.pid |
||
group root |
group root |
||
Line 108: | Line 60: | ||
then restart |
then restart |
||
if 5 restarts within 5 cycles then timeout |
if 5 restarts within 5 cycles then timeout |
||
− | </nowiki></pre> |
||
⚫ | |||
− | |||
⚫ | |||
− | == How to setup and start M/Monit service == |
||
⚫ | |||
# Register the service to start on boot |
# Register the service to start on boot |
||
− | |||
− | <pre><nowiki> |
||
chkconfig monit on |
chkconfig monit on |
||
− | </nowiki></pre> |
||
# Start service |
# Start service |
||
− | |||
− | <pre><nowiki> |
||
service monit start |
service monit start |
||
− | </nowiki></pre> |
||
− | |||
− | === Respawnning with inittab === |
+ | ==== Respawnning with inittab ==== |
− | + | * Append <tt>/etc/inittab</tt> to add: |
|
− | |||
− | <pre><nowiki> |
||
mo:2345:respawn:/usr/bin/monit -Ic /etc/monit.conf |
mo:2345:respawn:/usr/bin/monit -Ic /etc/monit.conf |
||
− | </nowiki></pre> |
||
# Start monit |
# Start monit |
||
− | |||
− | <pre><nowiki> |
||
init q |
init q |
||
− | </nowiki></pre> |
Revision as of 02:22, 10 June 2015
How to install M/Monit from sources
- Download Monit tar file from tildeslash
wget http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz
- Unpack and install
tar zxvf monit-4.10.1.tar.gz cd monit-4.10.1 ./configure make make install
How to setup M/Monit
- 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
- Open port on iptables to watch monit on TCP port 2812
iptables -A INPUT -p tcp --dport 2812 -j ACCEPT
How to configure M/Monit 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
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
How to setup and start M/Monit service
Boot init from init.d
- Register the service to start on boot
chkconfig monit on
- Start service
service monit start
Respawnning with inittab
- Append /etc/inittab to add:
mo:2345:respawn:/usr/bin/monit -Ic /etc/monit.conf
- Start monit
init q