Existem ferramentas legais para fazer um 'tail -f' em um servidor remoto (linux)? Seria bom poder fazer algo como "taillog server_Host/var/log/syslog" para visualizar os logs em vários servidores sem precisar ssh.
Que tal um aplicativo que mostra vários logs lado a lado?
Se os arquivos de log estiverem sendo gerados no servidor do cliente por meio do recurso syslog
, 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 aponta para o servidor remoto em que desejo receber as entradas de log. Eu posso adicionar a seguinte linha ao /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 através da conexão para 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 o -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 para syslog.private
com exceção de qualquer coisa enviada ao recurso mail
.
Se essa solução funcionar, você pode considerar uma das implementações alternativas do syslog, como rsyslog ou syslog-ng , que fornece opções extras de registro e armazenamento.
Se você configurar a autenticação ssh baseada 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 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 registros para assistir e menos do que o limite de edição gratuita, poderá tentar Splunk gratuitamente para ter uma interface agradável e útil para todos seus dados de log.
tail -f
suporta mais de um log, mas não lado a lado, apenas para baixo.
Estou usando 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:
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, SMB, etc.)) Também diz que funcionará como um syslog servidor, o que implica que ele poderá receber dados ativos do syslog de outra máquina, embora eu nunca tenha usado esse recurso e não saiba se é esse o caso.
Escrevi o vsConsole exatamente para esse fim - acesso fácil aos arquivos de log (sshing e permissões de arquivo sempre são um problema) - e depois adicionei o monitoramento de aplicativos e o rastreamento de versões. Eu gostaria de saber o que você pensa disso. http://vs-console.appspot.com/
A intenção é que seja uma curva de aprendizado fácil e baixa, com a solução de um clique, resolvendo problemas comuns de desenvolvimento para os quais sempre precisei de uma solução simples.
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 cluster SSH .
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.
Você também pode usar Octopussy (meu projeto) para centralizar seus logs, visualizar e gerar alertas e relatórios.
Já mencionado, mas vale a pena mencionar novamente. SPLUNK!
Eu tive o prazer de criar grandes configurações centrais de syslog com uma interface gráfica agradável no passado. É um mundo de dor. O Splunk faz com que isso 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. Normalmente, eu advogaria aplicativos de código aberto, mas o Splunk supera tudo o que me deparei.