[Sysadmins] monit rule for VE

Alexander Volkov =?iso-8859-1?q?alt_=CE=C1_vladregion=2Eru?=
Пн Ноя 12 13:49:09 MSK 2007


On 2007-11-12 11:59:09 +0200, Michael Shigorin wrote:
MS> On Mon, Nov 12, 2007 at 11:07:56AM +0300, Alexander Volkov wrote:
MS> > Коллеги, может кто подсказать правило для monit, чтоб он
MS> > отслеживал соединение _из_ VE, и при сбое просто перезапускал
MS> > его?

MS> Ммм... 

MS> > Я поставил monit внутрь контейнера, дабы он отслеживал процесс
MS> > ices2, но не помогает, при падении сервиса он не
MS> > перезапускается, нужен рестарт контейнера.

MS> А руками перезапускаетс

Нет.Бага висит.
MS> Может помочь что-то вида

MS> start program = "/usr/local/sbin/ices2-restart.sh"
MS> stop program  = "/sbin/service ices2 stop"
service ices2 молча не работает.
MS> где /usr/local/sbin/ices2-restart.sh содержит нечто вроде

MS> service ices2 stop
MS> sleep 3
MS> killall -9 ices2
MS> sleep 2
MS> service ices2 start
нечто такое (только без -9_) и есть, не помогает.
MS> (хотя для вредных сервисов, которые не чинятся, было бы лучше
MS> такие костыли всё-таки в инитскрипте фиксировать как forcerestart
MS> или навроде того)

MS> > Отследить можно по установленному соединению с VE_IP на
MS> > HN_IP:8000, но вот как правило формализовать, никак что-то не
MS> > соображу.

MS> Видимо, скриптиком с парсеньем вывода netstat, но я бы так не
MS> делал при возможности сделать проще.
в конфиге вот что:
# $Id: ices,v 1.0 2007/11/09 12:55:01 vaa Exp $

check process ices2 with pidfile /var/run/ices2.pid
        start program = "/etc/rc.d/rc.local"
        stop  program = "/usr/bin/killall ices2"
        if 5 restarts with 5 cycles then timeout
	check file ices2_bin with path /usr/bin/ices2
        group root
include
	/etc/monitrc.d/templates/rootbin

--
 Regards, Alexander




Подробная информация о списке рассылки Sysadmins