|
|
||||||
| Fóruns | Wiki | Classificados | Reviews | Jogos | Grupos Sociais | RSS Feeds | FAQ | Termos de Uso | Contato | Sobre |
| Registrar | Fotos | Blogs | Calendário | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux Wiki
[editar] IntroduçãoUm dos grandes problemas da administração de redes é que a informação fica localizada em registros (logs) do sistema, os quais podem crescer bem rápido, e nem sempre se tem tempo para monitorá-los. O Swatch vem preencher esta lacuna com um analisador de registros configuráveis, que permite o envio de alertas em tempo real, através de expressões regulares. [editar] Plataforma utilizada
[editar] Instalação dos módulos do PerlPara poder utilizar o Swatch precisamos instalar alguns módulos do Perl, e podem ser baixados em: http://search.cpan.org Neste tutorial foram utilizados os seguintes módulos e suas respsctivas versões: Bit::Vector - Bit-Vector-6.4.tar.gz Carp::Clan - Carp-Clan-5.3.tar.gz Date::Calc - Date-Calc-5.4.tar.gz Date::Manip - DateManip-5.44.tar.gz File::Tail - File-Tail-0.99.3.tar.gz Time::HiRes - Time-HiRes-1.86.tar.gz Time::Date - TimeDate-1.16.tar.gz Algumas vezes um módulo depende de outro para ser instalado, então instale na seguinte ordem, caso a ordem não esteja correta, é só ver a saída do erro que aparecerá e instalar o módulo.. :) 1 - File::Tail 2 - Time::HiRes 3 - Time::Date 4 - Carp::Clan 5 - Bit::Vector 6 - Date::Calc 7 - Date::Manip para instalação dos módulos proceda da seguinte forma para todos: # tar zxvf (xvf quando necessário) modulo-1.2.3.tar.gz # cd modulo-1.2.3 # perl Makefile.PL # make # make test # make install Poderia ser feito também da seguinte forma: # perl -MCPAN -e shell Ele vai perguntar se deseja entrar no modo manual, responda não, ou sim, sei lá.. se você manjar de Perl faça o que achar melhor. No meu caso respondi "não" e foi no modo automatico. Então entrou no prompt do cpan Lá digite: cpan> install File::Tail Ele vai baixar da internet e instalar automaticamente. Não sei o que houve, mas aqui isso não funcionou muito bem não, ou talvez eu que não tive paciência para esperar executar a coisa, o trem demorou demais... então cancelei e fiz da maneira que está acima. [editar] Instalação do SwatchVocê pode instalar o swath pelo apt-get, mas aqui abordarei somente por código fonte. http://sourceforge.net/projects/swatch Depois de baixar o pacote proceda da seguinte forma: # tar zxvf swatch-3.1.1.tar.gz # cd swatch-3.1.1 # perl Makefile.PL # make # make test # make install # make realclean [editar] ConfiguraçãoPrimeiro vc deve criar um arquivo (normalmente no diretório home do seu usuário com o nome de .swatchrc) contendo as expressões regulares a serem pesquisadas. A lógica dester arquivo é bem simples, cada linha não comentada do arquivo deve iniciar com watchfor para testar a expressão ou ignore para ignorar a expressão e em seguida a ação ou ações sempre informando uma em cada linha até a próxima incidência de watchfor. watchfor /expressão regular/ ação [ação,...] Na primeira linha estão as palavras-chave a serem pesquisadas no registro em formato de expressões regulares usadas pelo perl. Nas linhas seguintes encontram-se a ação ou ações a executar se a expressão regular combinar com o texto. As açoes possíveis são mostradas a seguir: Ação Descrição
echo A linha será mostrada na tela de controle de swatch.
Valores possíveis: normal, bold, underscore, blink, inverse, black, red,
green, yellow, blue, magenta, cyan, white, black_h, red_h, green_h, yellow_h,
magenta_h, cyan_h, white_h. Cores do tipo cor_h são cores mais claras.
bell Será enviado um sinal sonoro para o controlador do terminal.
write Usado para enviar cópia da linha encontrada utilizando-se o comando write.
Para poder receber mensagens com esse comando o terminal tem que ter as permissões
de escrita liberada para mensagens (mesg y). Se você deseja informar mais de um
usuário separe-os usando o caracter ":".
mail Usado para enviar uma cópia da linha encontrada utilizando-se o comando mail.
Valores possíveis: address=<endereço>, subject=<assunto>.
exec Utilizado para executar um comando no sistema com a opção de uso dos campos da
linha encontrada como parâmetros. $N será substituído pelo enésino campo
da linha encontrada, $0 ou $* será substituído pela linha inteira.
Você pode ainda usar o parâmetro throttle para definir um intervalo para a exibição da próxima mensagem que coincidir com a expressão regular, muito útil para impedir repetições inúteis da mesma mensagem, como por exemplo, "file system full". Seu formato é: throttle hh:mm:ss Todas as linhas que iniciarem com o caracter "#" serão ignoradas. Quando o swatch é iniciado sem parâmetros ele entra no modo padrão, apresentado a seguir: # swatch -c ~/.swatchrc -t /var/log/messages Onde o parâmetro -c indica o arquivo de configuração a ser lido e o parâmetro -t o registro (arquivo de log) que será analisado. A seguir será mostrado os parâmetros possíveis para o swatch: Parâmetro Descrição -c Aponta para o arquivo de configuração, se não for usado procura por ~/.swatchrc -r Tempo para reiniciar a aplicação -f Arquivo a ser analisado -p Programa de onde se obterá a saída padrão -t Arquivo que se continua identificadamente a analisar -P Separador padrão -A Separador de ações -l Separador de gravação de entrada O swatch pode ser utilizado de três formas distintas: É comum que cada administrador de sistema tenha sua própria configuração do swatch no seu home (~/.swatchrc), onde formatou as buscas e as ações que acreditar ser mais pertinentes ao seu trabalho, ou que fazem parte da sua responsabilidade. [editar] ExemplosGerar alertas sobre tentativas de login mal sucedidas e encontrar quem está no sistema: watchfor /INVALID|REPEATED|INCOMPLETE/ echo=inverse bell=3 Palavras chave importantes watchfor /LOGIN/ echo=blink bell=15 watchfor /password/ echo=bold bell=3 Ignora essas palavras-chave: ignore /sendmail/,/nntp/,/xntp|ntpd/,/faxspooler/ Informa apenas mensagens incomuns sobre tftp: ignore /tftpd.*(ncd|kfps|normal exit)/ watchfor /tftpd/ echo=red_h bel=3 Problemas de Kernel: watchfor /(panic|halt|sunOS Release)/ echo=green bell Outros exemplos: watchfor /file system full/ echo=red bell=3 ignore /vmunix.*(at|on)/ watchfor /vmunix/ echo cyan bell Exemplos para execução em background: watchfor /INVALID|REPEATED|INCOMPLETE/ exec="/etc/backfinger $O" watchfor /darkstar.*(panic|halt)/ mail address=root@maquina.com,subject="Servidor DARKSTAR está parado" exec="/sbin/call_pager 321654987" nos exemplos acima você pode adicionar um "&" ao final da linha de comando do swatch e executá-lo em segundo plano já que não há ação que precise retornar algo para um terminal, como seria o caso da utilização do "echo". [editar] Pondo em práticaAgora que já sabemos como funciona vamos por em prática o que aprendemos. Crie o arquivo .swatchrc no diretório home do root # touch /root/.swatchrc Abra este arquivo com um editor de arquivos de sua preferência e coloque a expressão regular que irá capturar as linhas que tiverem algo sobre o sshd quando feito login ou em erro de login. # vi /root/.swatchrc watchfor /sshd.*[Ff]ailed [Pp]assword/ echo=red bell=3 watchfor /sshd.*[Aa]ccepted [Pp]assword/ echo=yellow bell=3 Salve o arquivo e saia do editor. Agora pra facilitar o uso do swatch vamos criar um script para executá-lo: # touch /root/swt.sh # chmod +x /root/swt.sh # vi /root/swt.sh #!/bin/bash swatch -c ~/.swatchrc -t /var/log/messages Salve e saia do editor. Pronto, instalado e configurado, agora é só executar e fazer um acesso ssh pra ver o resultado. # . /root/swt.sh Podemos também fazer da seguinte forma: Quando o micro que está rodando o swatch tem um monitor e teclado, podemos colocar o swatch pra rodar em outra tty e em segundo plano. Ex.: # . /root/swt.sh > /dev/tty12 & Desta forma é só ir na tty12 pra ver os resultados. valew []'s [editar] Autor
|