
Estou tendo problemas ao configurar o rsyslog para registrar dados de log remoto em um arquivo específico. Eu tenho duas caixas do Windows Server 2008, cada uma com um aplicativo C # usando NLog.Targets.Syslog que registra seus dados de depuração em uma caixa Linux. Todos os dados de log estão sendo gravados em /var/log/syslog perfeitamente, mas quero ter um arquivo de log separado para cada servidor e os dados de log não estão sendo gravados nesses arquivos de log personalizados.
Aqui está minha configuração:
/etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
Criei um arquivo conf personalizado em /etc/rsyslog.d
/etc/rsyslog.d/22-remote.conf
:msg, contains, "AMAZONA-COMPUTERNAME1" /var/log/dbm/server-1.log
& ~
:msg, contains, "AMAZONA-COMPUTERNAME2" /var/log/dbm/server2.log
& ~
*.* /var/log/syslog.log
AMAZONA-COMPUTERNAME1 é o nome do computador Windows do servidor. Também tentei endereços IP e também não funcionou. o que estou perdendo? os arquivos de log existem no caminho /var/log/dbm/
Não estou recebendo nenhum erro do rsyslog sobre isso e ele grava todos os dados de log remoto em /var/log/syslog, o que estou fazendo de errado?
No servidor de log, estou executando o Ubuntu em uma instância do Amazon EC2.
Aqui está minha configuração do NLog:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.Targets.Syslog" />
</extensions>
<targets>
<target name="syslog" type="Syslog" syslogserver="server ip here" port="514" facility="Local7"/>
</targets>
<rules>
<logger name="*" minLevel="Trace" appendTo="syslog"/>
</rules>
</nlog>
Exemplo de saída de log em /var/log/syslog
Oct 15 18:18:50 AMAZONA-COMPUTERNAME2 NLog: 2012-10-15 18:18:50.2890|DEBUG|myapp.download.excel.ExcelWorkbook| -- Copied in the data table: 0
Oct 15 18:18:50 AMAZONA-COMPUTERNAME2 NLog: 2012-10-15 18:18:50.2890|DEBUG|myapp.download.excel.ExcelWorkbook| -- Formatted Header and Footer: 0
Responder1
OK, resolvi. Alterei a entrada de configuração em meu arquivo 22-remote.conf personalizado em /etc/rsyslog.d/ a partir disto:
:msg, contains, "AMAZONA-COMPUTERNAME1" /var/log/dbm/server-1.log
& ~
:msg, contains, "AMAZONA-COMPUTERNAME2" /var/log/dbm/server2.log
& ~
Para isso:
if $fromhost-ip == '10.11.12.12' then /var/log/dbm/server-1.log
& ~
if $fromhost-ip == '10.11.13.13' then /var/log/dbm/server2.log
& ~