Respostas:
Se os arquivos de log estiverem sendo gerados no servidor do cliente por meio do syslog
recurso, a melhor maneira é configurar o daemon syslog do cliente para encaminhar esses logs para um host separado. Por exemplo, se eu tiver um nome interno syslog.private
que aponte para o servidor remoto que desejo receber as entradas de log. Eu posso adicionar a seguinte linha /etc/syslog.conf
no servidor do cliente.
*.* @syslog.private
e, em seguida, reinicie o daemon syslog no cliente
service syslog reload
Isso fará com que todas as entradas que passam pelo syslog do cliente sejam enviadas pela conexão syslog.private
e, se essa máquina estiver configurada corretamente, as entradas também estarão disponíveis lá. Nos sistemas RedHat, isso é controlado pelo /etc/sysconfig/syslog
arquivo. Verifique se a -r
opção está presente
% grep "SYSLOGD" /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0 -r"
e, em seguida, reinicie o daemon syslog no servidor de recebimento.
Você também pode controlar o que é encaminhado para o servidor remoto adicionando exclusões, veja o exemplo abaixo
*.*;mail.none @syslog.private
O que diz encaminhar tudo, syslog.private
com exceção de qualquer coisa enviada para a mail
instalação.
Se esta solução funcionar para você, considere uma das implementações alternativas do syslog, como rsyslog ou syslog-ng , que fornecem opções extras de log e armazenamento.
Se você configurar a autenticação ssh com base em chave e o sudo nos hosts remotos nos hosts remotos para permitir a execução posterior dos arquivos de log sem a solicitação de senha. Seria muito fácil criar um script de taillog que faça o que você deseja abaixo. Isso realmente não evita o ssh, mas economiza alguns passos.
#!/bin/bash
ssh $1 sudo tail -f $2
Ou, você pode configurar o syslog para encaminhar todas as mensagens de log para um sistema central e, em seguida, executar o comando tail no servidor syslog. Apenas observe os arquivos de log no sistema central.
Eu recomendo o multitail para visualização avançada de logs. Auto-descrito como cauda em esteróides.
Claramente, isso não está respondendo à sua pergunta, mas se você tiver mais do que alguns logs para assistir e menos do que o limite de edição gratuita, poderá experimentar o Splunk gratuitamente para ter uma interface agradável e útil para todos os seus dados de log.
tail -f
suporta mais de um log, mas não lado a lado, apenas para baixo.
O Multitail fará o que você procura na máquina local. Ele não menciona especificamente se funcionará em uma rede, embora existam várias maneiras de contornar isso (montagens NFS, montagens SMB etc.). Também diz que funcionará como um servidor syslog, o que implica que ele poderá para receber dados ativos do syslog de outra máquina, embora eu nunca tenha usado esse recurso e não saiba se é esse o caso.
Estou usando o OtrosLogViewer (licença do apache commons). Ele suporta log de cauda de servidores remotos usando ssh / sftp e samba / CIFS. Você pode multiplicar os arquivos de log em uma janela. Aqui está uma captura de tela:
sftp://hostname/path/to/directory
Eu escrevi o vsConsole exatamente para esse fim - acesso fácil a arquivos de log (sshing e permissões de arquivo sempre são um problema) - e adicionei monitoramento de aplicativos e rastreamento de versões. Eu gostaria de saber o que você pensa disso. http://vs-console.appspot.com/
Isso deve ser uma curva de aprendizado fácil e baixa, com um clique, resolvendo problemas comuns de desenvolvimento para os quais sempre precisei de uma solução simples.
Você poderia usar algo como Phplogcon. Eu uso o rsyslog com o mysql e envio todos os logs dos meus outros servidores para ele. O Phplogcon os exibe através do uso de um aplicativo da web.
Não é a interface mais bonita, mas é uma ótima maneira de os administradores acessarem logs sem expor os servidores a logins remotos desnecessários.
Já mencionado, mas vale a pena mencionar novamente. SPLUNK!
Eu tive o prazer de criar grandes configurações de syslog central com uma boa interface gráfica no passado. É um mundo de dor. O Splunk faz com que seja uma bobagem, especialmente com uma licença corporativa que fornece gerenciamento central. Se seus registros tiverem menos de 500 milhões por dia, é gratuito. Caso contrário, pode ficar muito caro, mas vale a pena e não apenas por um pouco de registro - você pode fazer muito mais. Eu normalmente defendia aplicativos de código aberto, mas o Splunk supera qualquer coisa que eu tenha encontrado.
Tente o seguinte:
ssh servername tail -f /var/log/messages
Se seu arquivo de log estiver protegido:
ssh -f servername sudo tail -f /var/log/messages
(você não precisa usar "ssh -f" - é apenas para que sua senha não seja ecoada no TTY)
Se você gosta, pode usar o mesmo comando com o cluster SSH .
Você também pode usar o Octopussy (meu projeto) para centralizar seus logs, visualizar e gerar alertas e relatórios.
Além da resposta à @KrzyH (Otros) , escrevi uma adição ao Otros para que você possa instalar um WAR na máquina remota e, tecnicamente, possa usar o Otros como um serviço da web.
Mais detalhes aqui .