web-dev-qa-db-ja.com

より詳細な/ var / log / *

おそらく文字通りすべてのログメッセージが/var/log/messagesおよび/var/log/syslogに入れられていた時代を覚えています。好奇心が強い人は2000年でした。今では違います。ログファイルは順番に並んでいるはずですが、代わりにIMOにはエントリがありません。私の認識では、問題のある状況の90%は沈黙しているだけで、/var/logファイルで何かを見つける方法はありません。

/var/log/messagesを戻し、本当に冗長にする方法は?


PS。例として。 vsftpdをインストールして実行すると:

Sudo restart vsftpd

その後、syslogに入るのは次の行です。

kernel: [ 7167.143648] init: vsftpd main process (5823) killed by TERM signal

FTPサーバーを再起動することの唯一の効果です。考えてみてください。vsftpdが起動時にバナーを出力しない可能性はありますか?私を信じるのは難しいです。

また、ログはkernelから取得され、これをキャッチしているのはdmesgです。それはばかげている。カーネルがTERMシグナルをキャッチしない場合、ログにFTPデーモンのトレースはありません。これは、proftpd/etc/init.d/proftpdを介して再起動される場合です。 proftpdオプションで構成されたSystemLog独自のログファイルである/var/log/proftpd/proftpd.logを除き、ログにトレースはありません。


PS2:2001年(カーネル2.4.3-20mdk)からMandrakeに基づいて作成されたおそらく最初のライブCDであるVirtual Linuxの結果を添付します。 proftpdを再起動するとそこに(/var/log/messagesで)生成されます:

proftpd[2699]: ProFTPD killed (signal 15)
proftpd[2699]: ProFTPD 1.2.2rc1 standalone mode SHUTDOWN
proftpd: proftpd shutdown succeeded
proftpd[2730]: ProFTPD 1.2.2rc1 (release) (built Sun Apr 8 09:53:35 CEST 2001) standalone mode STARTUP
proftpd: proftpd startup succeeded

14.04にsyslogは空であり、以下はproftpd.logにログインします。

proftpd[1326] asus-1201N: ProFTPD killed (signal 15)
proftpd[1326] asus-1201N: ProFTPD 1.3.5rc3 standalone mode SHUTDOWN
proftpd[2620] asus-1201N: ProFTPD 1.3.5rc3 (devel) (built Fri Dec 20 2013 18:04:47 UTC) standalone mode STARTUP

VLinuxでは、messagesが再起動されると、以下がsshdにログインします。

sshd[2821]: Received signal 15; terminating
sshd: sshd shutdown succeeded
sshd[2924]: Server listening on 0.0.0.0 port 22.
sshd[2924]: Generating 768 bit RSA key.
sshd: sshd startup succeeded
sshd[2924]: RSA key generation complete

14.04でsyslogは空であり、次はauth.logにログインします(なぜですか?):

Nov 28 09:11:22 asus-1201N sshd[2500]: Received signal 15; terminating.
Nov 28 09:11:22 asus-1201N sshd[2634]: Server listening on 0.0.0.0 port 22.
Nov 28 09:11:22 asus-1201N sshd[2634]: Server listening on :: port 22.

3番目のIPv6行をカウントしない場合、基本的に2行です。その後、sshd_configにエラーを導入し、再起動を繰り返しました。 VLinux /メッセージ:

sshd[2924]: Received signal 15; terminating.
sshd: sshd shutdown succeeded
sshd: sshd startup failed

今度は14.04でauth.logは空で、syslogは空ではありません。

kernel: [ 2905.854777] init: ssh main process (2718) terminated with status 255
kernel: [ 2905.854836] init: ssh main process ended, respawning

VLinuxでは、/etc/init.d/sshd restart( "Bad configuration option:...")を発行するコンソールに出力される構成ファイルのエラーに関する詳細なメッセージがあります。 sshdがシステムによって開始されると、メッセージはmessagesにログインされるのでしょうか。私の推測はイエスですが、ライブCDでこれをテストすることはできません。

構成でエラーを伴ってproftpdを再起動すると、VLinuxおよび14.04で2回目にすべての情報がログに出力され、「SHUTDOWN」以外はproftpd.logsyslogは空)にログインします。

概要:

  • messagesに詳細な情報があることを明確に証明することはできませんでしたが、現在はディスクスペース(?)を節約し、あまり多くのログを記録しないことが一般的であることがわかります。
  • いくつかの情報を見つけるためにauth.logsyslogと専用ログの間をジャンプする必要があり、明らかにデーモンの出力はログに転送されず、代わりに「何か」をキャッチするカーネルであるため、ほとんど意味のないコンテンツです独自のログファイルを管理するデーモン自身の作業
  • 洗練されたエラーが発生した場合、messagesに何かが見つかると確信していますが、現在のsyslogには、プロセスの終了などに関する一般的なカーネル情報があります。私はまだこれを示すためにそのようなテストのアイデアを思いついたかもしれません
  • 現在のロギングが物事を逃していることを明確には示していませんが、messagesがどの程度冗長であるかを確かに示しました
2
Adam Lisson

これは間違いなく、新しいsystemdが優れている1つの項目です。すべてのログを1か所で取得できます。

実際にログに記録された量がthat印象的でもないことを認めなければなりません-Gsxr1kが指摘した理由は、vsftpd/var/log/vsftpd/の下の独自のファイルにのみログを記録します

journalctl -f

連続してログを表示するようにsystemdに指示します。

Sudo systemctl restart vsftpd

または

Sudo service vsftpd restart

私は得る

Nov 27 22:45:14 nb-re systemd[1]: Stopping vsftpd FTP server...
Nov 27 22:45:14 nb-re systemd[1]: Stopped vsftpd FTP server.
Nov 27 22:45:14 nb-re systemd[1]: Starting vsftpd FTP server...
Nov 27 22:45:14 nb-re systemd[1]: Started vsftpd FTP server.
5
guntbert

ログに記録される場所の設定ファイルは(少なくともUbuntu 14.04および15.10では)/etc/rsyslog.d/50-default.confです。それを見ると、すべてが/var/log/auth.logまたは/var/log/syslogに記録されます。これらの2つ目は、古い/var/log/messagesよりもさらに冗長だと思います。

古い/var/log/messagesを元に戻したい場合は、/etc/rsyslog.d/50-default.confの次の行のコメントを外してください(3行目から,daemonを削除することもできます)。

*.=info;*.=notice;*.=warn;\
       auth,authpriv.none;\
       cron,daemon.none;\
       mail,news.none          -/var/log/messages
3
Gsxr1k