Garantindo o funcionamento de serviços com o restartd

Este artigo trata do restartd, software que monitora os serviços que rodam em sua máquina e, em caso de queda de algum deles, reinicia o mesmo automaticamente.

[ Hits: 18.979 ]

Por: Marcos P. Leme em 17/04/2006


Instalação/Configuração



Instalando (Debian):

# apt-get install restartd

Configurando:

# vi /etc/restartd

Um belo exemplo que utilizo na minha empresa:

# cat /etc/restartd.conf

# Restartd configuration file
#
#
# Format:
#
# <process_name> <regexp> <action_if_not_running> <action_if_runni ng>
#
# process_name: The name of the process. Just for logging, doesnt take effect fo r the regexp
#
# regexp: the POSIX regular expression for the command line of the process
#
# action_if_not_running: a script or program name to exec if regexp does not mat ch for the full process command line
#
# action_if_running: a script or program name to exec if regexp matches for the full process command line
#
#
# example:
#
# restartd   ".*restartd"       "/bin/echo 'its not running' > /tmp/restartd.out "  "/bin/echo 'its running' > /tmp/restartd.out"
#

dhcpd        ".*dhcp"           "/bin/sh /etc/restartd/dhcp.restartd"    "/bin/echo dhcp 'its not running' > /tmp/restartd.out "
exim4        ".*exim"           "/bin/sh /etc/restartd/exim4.restartd"   "/bin/echo 'exim4 its not running' > /tmp/restartd.out "
named       ".*named"        "/bin/sh /etc/restartd/named.restartd"   "/bin/echo 'bind its not running' > /tmp/restartd.out "
ntpd             ".*ntpd"           "/bin/sh /etc/restartd/ntpd.restartd"   "/bin/echo 'ntpd 'its not running' > /tmp/restartd.out "
psad          ".*psad"           "/bin/sh /etc/restartd/psad.restartd"   "/bin/echo 'psad its not running' > /tmp/restartd.out "
snort         ".*snort"          "/bin/sh /etc/restartd/snort.restartd"   "/bin/echo 'snort its not running' > /tmp/restartd.out "
sshd          ".*sshd"           "/bin/sh /etc/restartd/ssh.restartd"   "/bin/echo 'ssh its not running' > /tmp/restartd.out "

O exemplo acima é uma configuração que utilizo no firewall, a configuração do programa é muito simples, por exemplo:

O serviço DHCP, caso não esteja rodando, execute "/bin/sh /etc/restartd/dhcp.restartd":

# vim /etc/restartd/dhcp.restartd

#!/bin/bash # ATRIBUI OS IPS A LAN DATE=`date "+%d%b%Y"` /bin/echo $DATE "DHCP: O SERVIÇO NÃO ESTA RODANDO!" >> /var/log/restartd/dhcp.out sh /etc/init.d/dhcp restart

O script /etc/restartd/dhcp.restart foi um script que montei para os parâmetros de configuração do programa ficarem mais simples e eficiente.

Para cada serviço criei um script diferente, também alterei o conf /etc/init.d/restartd (PARAMS="-i 10"), para checagem a cada 10 segundos.

Página anterior     Próxima página

Páginas do artigo
   1. restartd: Introdução
   2. Instalação/Configuração
   3. Teste
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Desenvolvendo um servidor DNS no CentOS

Instalando o navegador Opera no Arch Linux

Manual de implantação do inventário CACIC

Introdução ao APLINUX.com.br Mail Server 2005

Instalando o X-Money no Linux

  
Comentários
[1] Comentário enviado por jalexandre em 17/04/2006 - 19:35h

Ferramenta de preguiçoso :)
Porém, a primeira regra do bom sysadmin é justamente ser preguiçoso :) :) :)
Cara, gostei dessa ferramenta, vai me ajdar bastante.
[ ] 's

[2] Comentário enviado por sirelven em 17/04/2006 - 20:30h

Ola

Não conhecia este software, uso um outro, o monit. Ele é bastante completo, podendo enviar email para o admin, restartar serviços, monitorar outros e executar comandos personalizados.
Por exemplo, um serviço é monitorado de minuto em minuto. Ele para uma vez, é reiniciado, ele para de novo, é reiniciado de novo, ele para mais uma vez, o monit para de monitorar este serviço, executa comandos que ativam uma maquina reserva e dispara emails para o admin do sistema.
É uma ferramenta mais completa, embora requeira mais estudo da sua configuração.
Até +

[3] Comentário enviado por removido em 17/04/2006 - 22:16h

muito útil seu trabalho, parabéns...

[4] Comentário enviado por wgalafassijr em 17/04/2006 - 23:27h

simples e direto. parabéns.
para quem procura uma solução mais robusta e completa eu sugiro: http://www.rfxnetworks.com/sim.php

esse pessoal da rfxnetworks tem uns scripts bem legais.

parabéns.
wilson

[5] Comentário enviado por removido em 18/04/2006 - 00:19h

Faltou indicar onde encontrar o restartd para distros "non-like apt".
Abraços

[6] Comentário enviado por mlegidio em 18/04/2006 - 07:23h

Ae Marcos blz... parabens pelo artigo ficou mto bom. Desejo saber se o restartd pode monitorar servicos de outros servidores. Acho q isso seria mto bom, pois assim o servidor ficaria livre de pelo menos mais um servico ;-)
T+

[7] Comentário enviado por gnu em 18/04/2006 - 09:26h

Parabés pelo artigo. Realmente muito útil. Aqui me acontece do named parar de vez em quando. Esses dias ainda comentava com um amigo sobre a existencia de alguma maneira de monitorar os serviços e reinicia-los quando eles parassem. Agora vc me deu a resposta. Obrigado.

[8] Comentário enviado por DooM em 18/04/2006 - 13:47h

Muito interessante e util o artigo. Parece ser simples e eficiente.
Achei interessante tambem o comentario sobre o MONIT, parece ser bem mais poderoso.
Bom artigo.

[9] Comentário enviado por gpr.ppg.br em 14/07/2006 - 01:57h

muito bom. eu so nao to conseguindo usar. quero deixar isso para o programa x0rfbserver que e uma especie de vnc.

como faço?

[10] Comentário enviado por dcyrillo em 15/08/2006 - 11:52h

Valeu carinha, resolveu um problema aqui que eu tava tendo com um sniffer!!!
Show de bola, abraço.

[11] Comentário enviado por leoberbert em 15/08/2006 - 13:37h

Um artigo muito bom e que me ajudou D+.. Um forte abração e parabéns!!!

[12] Comentário enviado por marcelobachmann em 27/02/2007 - 09:14h

Da pra instalar esse serviço no conectiva 10 ?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts