Syslog サービスを開始できません

Syslog サービスを開始できません

RasperryPi Debian Jessieにsyslog-ng 3.5をインストールしました。サービスを開始しようとすると失敗します。

-- Unit syslog.socket has begun starting up.
Feb 10 12:29:28 blackbox systemd[1]: Socket service syslog.service not loaded, r
Feb 10 12:29:28 blackbox systemd[1]: Failed to listen on Syslog Socket.
-- Subject: Unit syslog.socket has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit syslog.socket has failed.
--
-- The result is failed.
Feb 10 12:29:28 blackbox systemd[1]: Starting System Logger Daemon...
-- Subject: Unit syslog-ng.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit syslog-ng.service has begun starting up.
Feb 10 12:29:29 blackbox systemd[1]: Started System Logger Daemon.
-- Subject: Unit syslog-ng.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit syslog-ng.service has finished starting up.
--
-- The start-up result is done.

netstatを確認しましたが、ポート514は他のプロセスで使用されていません。以前のバージョンでうまく機能した構成は次のとおりです。

source s_net { udp(ip(0.0.0.0) port(514)); };
destination d_cisco { file(“/var/log/cisco/cisco.log”); };
log { source(s_net); destination(d_cisco); };

手動で実行しようとすると、次のようになります。

root@blackbox:~# /usr/sbin/syslog-ng -d

Running application hooks; hook='1'
Running application hooks; hook='3'
syslog-ng starting up; version='3.5.6'
Incoming log entry; line='<164>Feb 10 2016 15:03:59: %PIX-4-400037: IDS:6053 DNS all records request from 5.172.120.51 to 192.168.0.3 on interface outside\x0a'
Error opening file for writing; filename='\xe2\x80\x9c/var/log/cisco/cisco.log\xe2\x80\x9d', error='No such file or directory (2)'
Incoming log entry; line='<164>Feb 10 2016 15:04:03: %PIX-4-400037: IDS:6053 DNS all records request from 5.172.120.51 to 192.168.0.3 on interface outside\x0a'
Error opening file for writing; filename='\xe2\x80\x9c/var/log/cisco/cisco.log\xe2\x80\x9d', error='No such file or directory (2)'
Incoming log entry; line='<164>Feb 10 2016 15:04:07: %PIX-4-400037: IDS:6053 DNS all records request from 5.172.120.51 to 192.168.0.3 on interface outside\x0a'
Error opening file for writing; filename='\xe2\x80\x9c/var/log/cisco/cisco.log\xe2\x80\x9d', error='No such file or directory (2)'
Incoming log entry; line='<164>Feb 10 2016 15:04:07: %PIX-4-400011: IDS:2001 ICMP unreachable from 198.48.92.104 to 192.168.0.3 on interface outside\x0a'
Error opening file for writing; filename='\xe2\x80\x9c/var/log/cisco/cisco.log\xe2\x80\x9d', error='No such file or directory (2)'
Incoming log entry; line='<164>Feb 10 2016 15:04:07: %PIX-4-313005: No matching connection for ICMP error message: icmp src outside:198.48.92.104 dst inside:192.168.0.3 (type 3, code 3) on outside interface.  Original IP payload: udp src 192.168.0.3/53 dst 198.48.92.104/17106.\x0a'
Error opening file for writing; filename='\xe2\x80\x9c/var/log/cisco/cisco.log\xe2\x80\x9d', error='No such file or directory (2)'
^Csyslog-ng shutting down; version='3.5.6'
Running application hooks; hook='4'

root@blackbox:~# cd /var/log/cisco/
root@blackbox:/var/log/cisco# ls -l
total 0
-rwxrw-rw- 1 root root 0 Feb 10 11:43 cisco.log
root@blackbox:/var/log/cisco#

ベストアンサー1

ここでは、Syslog-ngデーモンが正しく起動しません。リモートsyslogサーバーとして構成されていても、ポート514 / UDPはnetstatに表示されません。

問題をデバッグするには、次のコマンドを使用します。

/usr/sbin/syslog-ng -d

エラーが表示されます。

Error opening file for writing; filename='\xe2\x80\x9c/var/log/cisco/cisco.log\xe2\x80\x9d'

\ xe2 \ x80 \ x9cはUTF-8文字エンコーディングの制御コードなので、構成ファイルに無関係の文字があると結論付けますsyslog-ng.conf。 UTF-8を使用して構成されたWebページとシステムの構成をコピーして貼り付けると、この問題が発生する可能性があります。

以下を使用して、最小限の文字変換のためにLANG = Cで編集します。

LANG=C vi /etc/syslog-ng/syslog-ng.conf

ユーザーは、次の行がUTF-8に変換されていないと報告しました。

file(▒~@~\/var/log/cisco/cisco.log▒~@~]); 

現状のまま編集して再起動すると問題が解決しました。

file("/var/log/cisco/cisco.log");

から:UTF-8

UTF-8は、すべての可能な文字またはコードポイントをUnicode形式でエンコードする文字エンコードです。エンコードは可変長であり、8ビットコード単位を使用します。

なぜ「LANG=C」なのか?

Cプログラミング言語では、ロケール名Cは「C翻訳の最小環境を指定します」

推奨事項:Webページから直接設定をコピーして貼り付けるときは非常に注意してください。すべてのUnixユーティリティが既存のASCII表現以外の文字セットを理解しているわけではありません。

おすすめ記事