リモート rsyslog は、ログ データを /var/log/syslog にのみ書き込み、カスタム ログ ファイルは書き込みません。

リモート rsyslog は、ログ データを /var/log/syslog にのみ書き込み、カスタム ログ ファイルは書き込みません。

リモート ログ データを特定のファイルに記録するように rsyslog を設定するときに問題が発生しています。Windows Server 2008 ボックスが 2 つあり、それぞれに NLog.Targets.Syslog を使用する C# アプリケーションがあり、デバッグ データを Linux ボックスに記録します。ログ データはすべて /var/log/syslog に問題なく書き込まれますが、サーバーごとに別のログ ファイルを用意したいのですが、ログ データがそれらのカスタム ログ ファイルに書き込まれません。

私の設定は次のとおりです:

設定ファイル

$ModLoad imudp
$UDPServerRun 514

/etc/rsyslog.dにカスタムconfファイルを作成しました

/etc/rsyslog.d/22-リモート.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 はサーバーの Windows コンピューター名です。IP アドレスも試しましたが、これも機能しません。何が足りないのでしょうか? ログファイルはパス /var/log/dbm/ にあります。

これに関して rsyslog からエラーは発生しておらず、すべてのリモート ログ データが /var/log/syslog に正常に書き込まれています。何が間違っているのでしょうか?

ログサーバーでは、Amazon EC2 インスタンス上で ubuntu を実行しています。

これが私の 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>

/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

答え1

解決しました。/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
& ~

これに対して:

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
& ~

関連情報