Logging remoto para estrutura de diretório específica com rsyslog

2

Atualmente, estou no processo de fazer com que todos os nossos vários servidores enviem suas mensagens do syslog para um servidor central. Eu gostaria de ter a seguinte estrutura de diretórios no servidor central para o qual os logs são enviados.

<root_dir>/<server_name>/<year>/<month>/<day>/{messages, mail, auth, etc}.log

Isso é algo que eu posso fazer com modelos rsyslog sozinho ou eu preciso usar outro utilitário para mover os arquivos para o local correto do arquivo?

    
por deekthesqueak 29.07.2014 / 02:06

1 resposta

0

Eu não sei sobre a criação dos diretórios, mas o restante deve ser tratado por filtros e nomes de arquivos dinâmicos.

Normalmente, em um caso como este, eu registraria o padrão de arquivo como.

/var/log/<server_name>{messages,mail,auth,etc}.YYYYMMDD 

Ter os logs separados pelo servidor pode dificultar as condições de rastreamento nos servidores. As mensagens de log normalmente incluem o servidor de origem, portanto, é fácil recuperar mensagens para um servidor específico com awk , grep ou qualquer outra ferramenta de correspondência de padrões. Escalar que muitos arquivos de log também podem ser difíceis, e você pode atingir os limites de recursos.

Normalmente, a rotação de log é tratada por um programa como logrotate . Isso permite que você controle a frequência de rotações de log para arquivos específicos e para controlar o número de versões que você mantém. É a ação postrotate que pode ser usada para dividir a data dos arquivos recém-girados para o formato desejado. Isso pode escalar melhor.

    
por 29.07.2014 / 04:55