Ontem tive a necessidade de fazer um script que provesse comunicação comigo, informando a situação de um servidor. A minha primeira ideia foi o envio de um e-mail. Mas depois pensei: poderia ser jabber! Isso faria a mensagem pipocar na tela, quando ocorresse um evento que necessite de atenção urgente. Então, fiz um $ apt-cache search jabber terminal e apareceu, dentre outros, o sendxmpp. Com ele, foi fácil a implementação do meu desejo tecnológico. A manpage é simples e clara.
A instalação e a configuração se deu como narrarei agora. Primeiro, instalei o sendxmpp:
# apt-get install sendxmpp
Depois, dentro do usuário root, que iria executar a tarefa agendada que dispararia o script, criei um arquivo chamado /root/.sendxmpprc, com permissão 400 (obrigatório) com o seguinte conteúdo:
nome_do_usuario@servidor.jabber minha_senha
No meu caso, tenho um servidor jabber aqui na minha rede. Se quiser montar um igual, siga esta artigo: http://bit.ly/jabber_sasl_tls. Mas você poderá usar qualquer servidor. Sugiro o jabber-br.org. Veja detalhes em https://jabber-br.org. No meu caso, o nome de usuário foi o nome do servidor (pegasus).
Depois disso, considerando o uso de TLS para dar mais segurança (opção -t), a linha de comando foi algo assim:
echo Olá | sendxmpp -t destinatario1@servidor.jabber destinatario2@jabber.outro.servidor
No caso mostrado, a palavra “Olá” será enviada para dois destinatários diferentes.
Só para que fique bem claro, a seguir, um exemplo para o alerta sobre problemas com um servidor Squid:
# verifica problemas no log cache do squid a cada 10 min # colocar no cron como */10 8-18 * * 1-5 # # by eriberto - 2011 TEMPO=$(date --date '1 minute ago' '+%Y:%H:%M' | cut -c 1-9) cat /var/log/squid/cache.log | grep $TEMPO | egrep '(filedescriptors|lifetime|failure)' > /tmp/squidcon2 if [ -s /tmp/squidcon2 ] then echo -e "SQUID - OCORRENCIAS IRREGULARES \n\n$(cat /tmp/squidcon2)" | \ sendxmpp -t eriberto@servidor.jabber fi
O script mostrado deve ser colocado no cron e irá verificar a situação do log cache do Squid a cada 10 minutos. Caso ocorra algum problema que possa paralisar a rede, será enviada uma mensagem para o administrador via Jabber. Veja um exemplo a seguir:
Bem, é isso. Divirta-se!
Gostei desta informação!
Parabéns, matou a pau.
Caro Eriberto,
Gostei da dica, só estou sem poder usar aqui no trab porque não achei o sendxmpp para CentOS.
Bye!
Como sempre O Sr. Eriberto Mota nos trás informações preciosas.
Muitíssimo Obrigado!
Aguardando os livros …
o de Forense vai sair?
Rafael, o de forense está na fila. Talvez ano que vem.
[]s