monitoramento remoto de logs do Linux

1

Eu gostaria de monitorar os logs do syslog em algumas dezenas de servidores linux. No mundo ideal, eu prefiro o método pull, em que o servidor de monitoramento central coleta logs diários de todas as máquinas via ssh, aplica regras comuns e por servidor e gera relatórios sobre entradas de log inesperadas.

Você tem alguma sugestão?

Eu preferiria não usar o servidor syslog centralizado.

Eu olhei para ossec, novamente eu preferiria usar o ssh para toda a comunicação e preferiria evitar a instalação de ferramentas adicionais em servidores monitorados

    
por pQd 21.04.2011 / 23:23

4 respostas

1

Não tenho certeza de nenhum aplicativo / solução pronto para uso, mas você pode facilmente usar o rsyslog em seu servidor de monitoramento central com o módulo imfile , que pode monitorar (e alertar via ommail module e condicionais) em arquivos de log arbitrários que podem ser extraídos de seus servidores Linux via rsync e cron.

Estou usando o rsyslog como um servidor syslog central e usando ommail para enviar alertas sobre vários eventos do meu firewall de borda, proxy do Squid, comutador principal, etc. Funciona bem.

    
por 21.04.2011 / 23:40
2

Use o Splunk. Tem várias maneiras de coletar e indexar logs. Você pode definir uma tarefa cron para puxar os logs do servidor para diretórios monitorados, por exemplo, / var / log / splunk-logs / {server1, server2, etc}. Isso é um pouco mais trabalho do que apenas usar o syslog, mas deve ser factível.

    
por 22.04.2011 / 00:20
1

Se você está querendo algum tipo de script, você pode usar este link (pode ser mais dinâmico com a captura de entrada do usuário, ou mais elegantemente getops). Se você não permitir o root para o ssh em seus hosts a partir da máquina 'source', você pode executar um script baseado na filtragem localmente em cada host e configurar uma tarefa cron para assistir aos logs. Coloque as novas entradas descartadas em um local específico e faça com que a máquina de 'origem' verifique o diretório através do cron, pegue os arquivos e remova-os assim que copiados.

Este é um grande trabalho para não usar o syslog-ng ou algum outro servidor syslog. Existe uma razão pela qual você escolhe não usar um?

Editar: você também pode usar o uuencode e o e-mail para enviar os arquivos para um endereço, se isso for mais preferido.

    
por 21.04.2011 / 23:51
1

O Logwatch e o Swatch são ferramentas comumente disponíveis e até mesmo instalados por padrão em algumas distribuições do Linux. Você poderia instalar isso em cada servidor. Isso mantém uma cauda nos logs para que quaisquer eventos críticos (por exemplo, morte de material, tentativas de hack, falhas de ssh, etc) possam ser alertados imediatamente via e-mail ou algum outro mecanismo de entrega.

Se você precisar evitar a instalação de ferramentas em cada sistema monitorado, poderá escrever alguns scripts rsync para pegar os diretórios / var / log e sincronizar com um diretório local no servidor central. Então diga ao swatch / logwatch para analisar isso.

    
por 22.04.2011 / 05:31