Erro de configuração do servidor de log centralizado no Linux

2

ConfigureioservidorcentralizadoparatodososmeusservidoresLinux.ConsigoencaminhartodososlogsdosistemaelogsdeauditoriadobancodedadosOracleparaoservidorcentralizado.masmeuproblemaéquetodososlogsdosistemaedobancodedadosestãogravandoemumúnicoarquivo.Meurequisitoégravaroslogsdobancodedadosemlogsdearquivosesistemasdiferentesparaumarquivodiferentenolocalcentralizado.Porfavor,encontreosscriptsabaixo.

  • 192.168.1.150:servidorcentralizado

  • 192.168.1.44:servidorremoto

configuraçãodoservidorremoto(192.168.1.44)

$cat/etc/rsyslog.conf#ProvidesUDPsyslogreception$ModLoadimudp.so$UDPServerRun514#ProvidesTCPsyslogreception$ModLoadimtcp.so$InputTCPServerRun514*.info;mail.none;authpriv.none;cron.none/var/log/messages#Saveoraclerdbmsaudittrailtooracle_audit.loglocal0.info/u01/app/oracle/admin/prod/adump/oracle_audit.log*.*@192.168.1.150:514

Configuraçãocentralizadadoservidor(192.168.1.150):

$cat/etc/rsyslog.conf#ProvidesUDPsyslogreception$ModLoadimudp.so$UDPServerRun514#ProvidesTCPsyslogreception$ModLoadimtcp.so$InputTCPServerRun514$templateRemoteHost,"/backup/CentralizeLogLocation/Linuxlogs/%HOSTNAME%/%HOSTNAME%-%$YEAR%%$MONTH%%$DAY%.log"

if ($ hostname! = '') then? RemoteHost

& ~

Os arquivos estão criando neste formato para cada host no servidor centralizado thsc-vmmanager-20160614.log

Parece que está tudo bem - eu consegui o que eu quero, mas os logs de auditoria do banco de dados Oracle e os logs do sistema estão gravando em um arquivo de log. Eu também estou anexando a captura de tela.

Agora, o requisito é separar os dois arquivos. Por favor, guie-me sobre como posso conseguir isso.

    
por sanjay.ramaswamy444 09.09.2016 / 11:17

2 respostas

1

Você pode adicionar o recurso syslog com %syslogfacility-text% ao modelo remoteHost da seguinte forma:

$template RemoteHost,"/backup/CentralizeLogLocation/Linuxlogs/%HOSTNAME%/%HOSTNAME%-%syslogfacility-text%-%$YEAR%%$MONTH%%$DAY%.log"
    
por 09.09.2016 / 13:04
1

Em seu servidor centralizado, você criou um modelo, mas não o usou. Tente adicionar no final

if $fromhost-ip startswith 192.168.1.44  then -?RemoteHost
& ~

ou

if $syslogfacility-text isequal 'local0' then -?RemoteHost
& ~

ou você pode combiná-los para registrar sua instalação remota local0, ou seja, logs oracle, para um arquivo e o restante para outro, por exemplo:

if $fromhost-ip == '192.168.1.44' and $syslogfacility-text == 'local0' then /var/log/oracle.log
& ~
*.*  /var/log/messages

A linha & ~ exclui as mensagens do oracle depois que elas foram salvas no arquivo pelo if anterior. Consulte rsyslog.com para obter muita ajuda e exemplos.

Os nomes dos arquivos nas linhas que começam com if podem ser corrigidos como /var/log/oracle.log ou um modelo que você definiu anteriormente, como -?OracleData . Então você precisa adicionar, por exemplo,

$template OracleData,"/backup/CentralizeLogLocation/Oracle/%HOSTNAME%/%HOSTNAME%-%$YEAR%%$MONTH%%$DAY%.log"

if $syslogfacility-text isequal 'local0' then -?OracleData
& ~
if $fromhost-ip startswith '192.168.1' then -?RemoteHost
& ~
*.*  /var/log/messages

Como suas mensagens de log do oracle contêm a palavra "Oracle", você pode dividir essas mensagens com

if $msg contains 'Oracle' then -?OracleData
& ~

Observe que a ordem dessas linhas é importante. Os modelos devem ser definidos antes de serem usados. As regras são aplicadas a cada mensagem por vez. Se você não colocar as linhas & ~ imediatamente após as linhas if , a mensagem poderá acabar em vários arquivos de log.

    
por 09.09.2016 / 12:57

Tags