RedHat Enterprise Linux 5 (RHEL5) に syslog-ng を入れた。ローカルのログはうまく扱えたのだけど、リモートからのログを受信してくれない。syslog-ng.conf にエラーはないし、フィルタを最小限にしてもファイルには何も書かれない。そもそも syslog-ng が出したログを見ると、ネットワーク側からは何も受け取っていないことになっている。
しかし、syslog-ng 自身はきちんと tcp/udp の 514ポートを Listen しているし、tcpdumpで見ると syslog のパケットもマシンには届いている。ファイアウォール設定も入っていないから、外部から 514/tcp を叩いてもちゃんと connectする。(udp側は確認できていないが、転送はtcpでも試してみた) ちなみに、syslogd だと、外部ログを受信するのに引数オプション指定が必要だが、syslog-ng の場合は、syslog-ng.confに source を定義するだけだ。まったく原因がわからず、疲れ果てた。 rpm ではなく、最新版をソースからコンパイルして入れたのだが、それが裏目に出たんだろうか・・・・。
半日悪戦苦闘の末、解決出来ずに帰ってきたので今夜は夢見が悪そうだ・・・・
あれこれ試した結果、ログを送る側の問題と判明。実は、Windowsに Eventreporterというソフトを入れて、そこからイベントログをsyslogに送信していたのだが、これとの相性がよくないよう。 FreeBSDからのログは問題なく受信できたので、現在、Eventreporterの設定をあれこれ変えて実験中。もしかしたら、もっと古いバージョンを使ったほうがいいのかも・・・。