Monitoramento de daemons
Se você gerencia servidores de missão crítica, e tem como constante preocupação a possibilidade do daemon de um serviço essencial cair, por qualquer motivo que seja, esse artigo foi escrito para você.
O SystemGuard é um script desenvolvido por mim a uns 5 anos ou mais, que usei em diversos servidores de empresas as quais trabalhei. Seu funcionamento é simples: ele roda a cada 3 minutos no cron, e checa se cada um dos daemons listados está rodando. Caso contrário, ele o executa. É simples, mas bem útil.
Esse script deve ser colocado no cron, de modo que ele seja executado a cada três minutos pelo menos.
0/3 * * * * /usr/bin/systemguard
Abra seu editor de textos preferido, e crie um arquivo chamado /usr/bin/systemguard com o seguinte conteúdo:
#!/bin/sh
# -----------------------------------------------
# SystemGuard 0.90b
# Copyright (C) 2006 Thiago Vinhas
# Last update: 06/May/2006
# -----------------------------------------------
# verifica se o DNS esta rodando
ps axc | grep -v grep | grep named >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo >/dev/null
else
echo “O DNS nao esta rodando. Inicializando…”;
/etc/rc.d/named restart >&/dev/null &
fi
Basta repetir a rotina acima, apenas alterando o daemon dentro do grep no ps logo no começo da rotina, e alterar o comando para inicializar o mesmo, para quantos serviços você quiser monitorar.
Devo estar aprimorando esse script em breve, incluindo uma rotina para aviso por e-mail, caso o serviço não suba após 3 tentativas.
Espero que esse script lhe seja tão útil, como me tem sido nos últimos anos.
Grande abraço,
Thiago Vinhas - thiago em vinhas ponto org