Visualizando Logs em um Servidor Linux Remoto


21

Existem ferramentas legais para executar 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?

Respostas:


16

Se os arquivos de log estiverem sendo gerados no servidor do cliente por meio do syslogrecurso, 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.privateque aponte para o servidor remoto que desejo receber as entradas de log. Eu posso adicionar a seguinte linha /etc/syslog.confno 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.privatee, se essa máquina estiver configurada corretamente, as entradas também estarão disponíveis lá. Nos sistemas RedHat, isso é controlado pelo /etc/sysconfig/syslogarquivo. Verifique se a -ropçã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.privatecom exceção de qualquer coisa enviada para a mailinstalaçã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.


1
+1. Repositórios de log centralizados são imo essenciais. É muito bom ter um conjunto limpo de logs após um arrombamento. Bem, não há garantia de limpeza, pois eles podem ser envenenados por um atacante. Mas o atacante não pode remover nada.
Comandante Keen

Em seguida, usando multitail ou sperlunk em seu servidor de registro central é uma ótima maneira de começar uma sensação para toda a sua rede
Dave Cheney

9

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.


5

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


Acabei de votar há 15 horas para essa sugestão. Eu vou revelar a postagem ...
Avery Payne

Hmm, sim, eu não acho que o multitail é uma resposta exata para a pergunta, mas acho que é valioso o suficiente para ser incluído na resposta. Uma votação a favor é bastante dura.
Gacrux 20/05/09

Concordo injusto .... o multi-log responde pela metade dessa pergunta de duas partes - a parte 'lado a lado'. (vimdiff também faz um bom trabalho, ou vim -O pelo menos) só porque não trata da parte remota é provavelmente o problema.
21700 ericslaw

3

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 Splunk possui um recurso de cauda que você pode usar para executar a cauda remota -f em um arquivo. Não acredito que isso aconteça lado a lado.
Thepocketwade

2

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.


2

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: Captura de tela do OtrosLogViewer


você tem um padrão para o arquivo syslog do linux?
Edgard Leal

Você deve criar sua própria base de padrões nos exemplos: code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH

use o seguinte formato para conectar-se no SFTP (não há navegador da interface do usuário na versão 1.4.5):sftp://hostname/path/to/directory
Donatello

1

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.


0

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

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.


0

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 .


0

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


-1

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 .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.