it-swarm-pt.tech

Visualizando Logs em um Servidor Linux Remoto

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?

21
ro.

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.

16
Dave Cheney

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.

9
Zoredache

Eu recomendo multitail para visualização avançada de logs. Auto-descrito como cauda em esteróides.

5
gacrux

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.

3
Vinko Vrsalovic

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: OtrosLogViewer screenshot

2
KrzyH

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.

2
Avery Payne

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.

1
prule

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 .

0
Thiago Figueiro

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.

0
Garry Harthill

Você também pode usar Octopussy (meu projeto) para centralizar seus logs, visualizar e gerar alertas e relatórios.

0
sebthebert

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.

0
goo