rsyslog - ajuda de configuração - logrotate e compactação

5

Eu sou um novato no Linux e no rsyslog. Eu usei os arquivos de log por muitos anos, mas eu nunca tive que configurar um. Neste ponto, tenho alguns dispositivos de prova de conceito apontando para o meu servidor Linux Debain. Eu tenho as mensagens do syslog chegando e sendo gravadas em um único arquivo: / var / log / prd / fwlog Estou preocupado apenas com 3 tipos de dispositivos - switches, roteadores e firewalls. (tudo cisco) Meu rsyslog.conf é bastante simples, eu modifiquei apenas a configuração básica, comentei as coisas que eu não gostei / precisei?

retirou o comentário das coisas.

$ModLoad immark  # provides --MARK-- message capability    

$ModLoad imudp
$UDPServerRun 514

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

$WorkDirectory /var/spool/rsyslog

$IncludeConfig /etc/rsyslog.d/*.conf

*.*          /var/log/prd/fwlog

Finalmente minhas perguntas!

  1. Eu quero rotacionar e separar os roteadores e switches em um log com um carimbo de data chamado 'rslog-AAAA-MM-DD' também os firewalls em um log com um carimbo de data chamado 'fwlog-AAAA-MM-DD'

  2. Eu quero comprimir (gzip?) os logs após 48 horas.

o que eu preciso adicionar à minha configuração?

Acho que adicionei o diretório e o arquivo ao meu rsyslog em /etc/logrotate.d/rsyslog

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

/var/log/prd/fwlog*
/var/log/prd/rslog*

{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

Agradecemos antecipadamente por qualquer ajuda!

    
por Security_Pete 30.12.2014 / 19:49

2 respostas

5

I want to rotate and separate the routers and switches in a log with a date stamp called 'rslog-YYYY-MM-DD' also the firewalls into a log with a date stamp called 'fwlog-YYYY-MM-DD'

Para começar, você precisa separar seu firewall e alternar com a filtragem no rsyslog. Exatamente como fazer isso varia com base na versão do rsyslog que você está executando. Eles mudaram a sintaxe de configuração um pouco ao longo do tempo. Minhas anotações abaixo são baseadas em uma versão mais antiga do Rsyslog v3 que acompanha a Red Hat. Você vai querer verificar isso contra a documentação para o seu lançamento.

Para um filtro baseado em propriedade, será algo parecido com:

:fromhost-ip,isequal,"192.168.1.1"              /var/log/prd/fwlog
&~
:fromhost-ip,isequal,"192.168.1.254"            /var/log/prd/rslog
&~

A próxima parte é o seu nome de arquivo desejado. Para isso, você combinará a filtragem com os modelos do rsyslog para gerar nomes de arquivos dinâmicos para seus registros.

$template Firewall,"/var/log/prd/fwlog-%$YEAR%-%$MONTH%-%$DAY%"
$template Switch,"/var/log/prd/rslog-%$YEAR%-%$MONTH%-%$DAY%"

:fromhost-ip,isequal,"192.168.1.1"              -?Firewall
&~
:fromhost-ip,isequal,"192.168.1.254"            -?Switch
&~

I want to compress(gzip?) the logs after 48hrs.

A última parte, compactação, dependeria de uma tarefa cron diária que comprime arquivos. (Onde $ date é $ today - 2.) O comando date já possui um formato interno para AAAA-MM-DD, então vamos usar isso. ( %F )

gzip /var/log/prd/*-$(date --date='2 days ago' +%F)
    
por 30.12.2014 / 20:48
2

Primeiro, você deve entender um pouco mais sobre a facilidade e gravidade do syslog. Aqueles representam os dois valores que você adicionou como *.* no seu conf.

link

link

Se você puder configurar seus daemons de envio para usar um recurso e / ou gravidade diferentes para os roteadores / comutadores do firewall, será possível criar facilmente regras de filtro em seu servidor de log central para separar os logs em arquivos diferentes como você especificou. Por exemplo, envie roteadores / switches como local1 e firewall como local2.

Além dessas configurações, você também pode separar os logs de switches dos logs do firewall, filtrando o endereço IP de origem. A propriedade rsyslog é chamada fromhost-ip .

Depois de ter a configuração do rsyslog de entrada, você precisará ajustar suas configurações de logrotate. Eu acho que os dois caminhos de arquivo devem estar em uma única linha para iniciantes. Para compactar após dois dias, os registros exigirão algum esforço adicional. Veja:

link

Você pode testar com logrotate -f /etc/logrotate.conf /etc/logrotate.d/rsyslog

Para mais detalhes, consulte:

link

    
por 30.12.2014 / 20:30