Pular para o conteúdo

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.
Marcos P. Leme marcos.pls
Hits: 20.459 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar

Parte 2: 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.

   1. restartd: Introdução
   2. Instalação/Configuração
   3. Teste
Nenhum artigo encontrado.

aMSN 0.98 com suporte a áudio e vídeo, pronto para vídeo e chamada

Hamachi - Redes virtuais utilizando software e internet

Octave - Programação científica no Linux (parte 2)

O "Synaptic"

OCS Inventory NG Server 2.0.5 no Debian Squeeze e agentes via Active Directory - Instalação e configuração

#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

Entre na sua conta para comentar.