マシンが2台あります。 1つ目は組み込みLinuxを実行し、2つ目はFreeBSDを実行します。 Linux がインストールされているシステムには、すでにrsyslog
syslog クライアントが存在している必要があります。もう1つはすでにインストールされており、syslogd
サーバーである必要があります。 FreeBSD を使用するコンピュータはsyslogd
ファイルにリモートログを書きません。テストのためにLinuxボックスrsyslog
に変更したときにsysklogd
リモートロギングが機能していました。問題は、私がrsyslog
クライアントにいる必要があるということです。何が問題を引き起こす可能性がありますか?はいrsyslog
とsyslogd
いいえは互換性がありますか?私が知る限り、ログメッセージの形式は同じです。
FreeBSDを実行すると、
tcpdump -enpi <interface>
syslogメッセージが表示されます。
Linux MAC > FreeBSD MAC, ethertype IPv4 (0x0800), length 94: client_IP.35398 > server_IP.514: SYSLOG user.notice, length: 52
Linux(クライアント)のファイルにrsyslog.conf
次の行を追加しました。
*.* @server_IP
FreeBSD(サーバー)のファイルにsyslog.conf
次の行を追加しました。
+client_IP
*.* /path/to/client/logs
私のFreeBSDファイルrc.conf
に次の行を追加しました。
syslogd_enable="YES"
syslogd_flags="-a client_IP -vv"
答え1
-a client_IP
から削除しましたsyslogd_flags
。rc.conf
問題はクライアントポート番号です。ポートを指定しない場合はsyslogd_flags
514と仮定しますが、私のログは別のポートから来ます。別の回避策は、すべてのポートをクライアントのIPアドレスに追加することです-a client_IP:*
。