você está aqui: Home  → Arquivo de Mensagens Workshop Gratuito: Os Segredos do Shell, com o Prof. Julio Neves

Monitorando Serviços Problematicos

Colaboração: Davi Jose Peres CHATRAN

Data de Publicação: 19 de Dezembro de 2005

Seu servidor nao para nunca? Mas com certeza um dos seus programas ja deu problema. Para isto vem a solucao antes que os usuarios tenham que te alertar que esta tudo parado ( se previna deles ).

Com o mon ( disponivel em: ftp://ftp.kernel.org/pub/software/admin/mon/mon-0.99.2.tar.gz ). Este que é muito usado para auxiliar HA ( alta disponibilidade ) nos ajuda no dia dia.

Muito simples sua instalacao: ( slackware 10.1 )

cd /
wget ftp://ftp.kernel.org/pub/software/admin/mon/mon-0.99.2.tar.gz
tar zxvf mon-0.99.2.tar.gz
cd mon-0.99.2
./configure && make
su -
# make install
mkdir /etc/mon
vi /etc/mon/mon.cf

Segue um exemplo meu de configuracao caso o servidor Web saia do ar fazendo com que o mon me envie um e-mail avisando e ja tenta restaurar o serviço automaticamente. Ps. Esta configuracao somente funciona das 7 da manha as 10 da noite para nao ficar te aborrecendo demais :)

cfbasedir   = /mon-0.99.2/etc
alertdir    = /mon-0.99.2/alert.d
mondir      = /mon-0.99.2/mon.d
maxprocs    = 20
histlength = 100
randstart = 60s
authtype = getpwnam
hostgroup www seusite.com.br
watch www
service ping
interval 2m
monitor fping.monitor
allow_empty_group
period wd {Sun-Sat}
alert mail.alert voce@seusite.com.br
alertevery 1h
service http
interval 2m
monitor http.monitor
allow_empty_group
period wd {mon-fri} hr {7am-10pm}
alert mail.alert voce@seusite.com.br
alert start.http -S "WEB CAIU.. TENTANDO RESTAURAR" voce
upalert mail.alert -S "O SERVIDOR VOLTOU!!!! QUE MILAGRE!!!" voce
alertevery 1h
service telnet
monitor telnet.monitor
allow_empty_group
period wd {Mon-Fri} hr {7am-10pm}
alertevery 2m
alertafter 2m
alert mail.alert voce@seusite.com.br

Agora vamos criar o script de inicializacao caso o apache nao esteja rodando e o mon usara o mesmo para inicia-lo.

echo httpd > /mon-0.99.2/alert.d/start.http

O comando anterior fara com que seja criando o arquivo start.http dentro do diretorio /mon-0.99.2/alert.d/ com o servidor que o com tentara iniciar. Voce pode colocar muitos comandos ali. Use a criatividade.

PRONTO!

Agora só iniciar o monitor com o comando:

$ /mon-0.99.2/mon &

Ou faça isto como root ( nao vou entrar em discussao de permissoes )

# /mon-0.99.2/mon &


Veja a relação completa dos artigos de Davi Jose Peres CHATRAN