更加详细的 /var/log/*

更加详细的 /var/log/*

我记得当时每条日志信息都被放入了/var/log/messages/var/log/syslog如果有人好奇的话,那是 2000 年。现在情况不同了。日志文件应该是有序的,但在我看来,它们只是缺少条目。在我看来,90% 的问题情况都是无声的,无法在/var/log文件中找到任何东西。

如何/var/log/messages恢复并使其真正冗长?


附言:举个例子。当我安装 vsftpd 并执行以下操作时:

sudo restart vsftpd

那么进入 syslog 的内容如下:

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

这是重启 FTP 服务器的唯一效果。想想看——vsftpd 在启动时可能不输出任何横幅吗?我很难相信。

此外,日志来自核心,是 dmesg 捕获了这个问题。这太荒谬了。如果内核没有捕获 TERM 信号,那么日志中就不会有任何痕迹重新启动FTP 守护进程. 当proftpd通过 重新启动/etc/init.d/proftpd。日志中没有任何痕迹,除了通过选项配置/var/log/proftpd/proftpd.logproftpd自己的日志文件SystemLog


PS2:我附上了 Virtual Linux 的结果,这可能是第一个基于 Mandrake 于 2001 年(内核 2.4.3-20mdk)创建的 Live CD。重新启动 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.

因此,如果不计算第三行 IPv6,则基本上是两行。然后我引入了一个错误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(“错误的配置选项:...”)。我想知道sshd系统启动时是否记录该消息messages。我的猜测是肯定的,但我无法使用 Live CD 进行测试。

重新启动 proftpd 时,如果配置有错误,则会在 VLinux 上记录完整信息,在 14.04 上,第二次完成后会将错误消息输出到终端,并且除了“SHUTDOWN”之外没有任何内容被记录proftpd.logsyslog为空)。

概括:

  • 我无法清楚地证明messages有更多信息,但也许可以看出,现在盛行的是节省磁盘空间(?)并且不记录太多
  • 人们必须在auth.logsyslog和专用日志之间跳转才能找到一些信息,而且它大多是无意义的内容,因为显然守护进程的输出没有被转发到日志中,而是内核捕获“某些东西”或守护进程自己的工作来管理自己的日志文件
  • 我很确定,如果出现一些复杂的错误,我会在中找到一些东西messages,而在当前版本中,syslog会有关于结束进程的典型内核信息;我可能还会想出一个这样的测试来展示这一点
  • 虽然我没有清楚地表明当前的日志记录遗漏了一些东西,但我肯定表明了日志记录messages的冗长程度

答案1

这绝对是一个新项目systemdexcels-您可以在一个地方获得所有日志。

我必须承认,实际记录的数量并不令人印象深刻 - 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.

答案2

记录内容和记录位置的配置文件是(至少在 Ubuntu 14.04 和 15.10 上)/etc/rsyslog.d/50-default.conf。查看该文件,所有内容都记录到/var/log/auth.log/var/log/syslog。我认为其中第二个比旧的 更冗长/var/log/messages

如果您想恢复旧版本/var/log/messages,只需取消注释以下几行/etc/rsyslog.d/50-default.conf(并可能,daemon从第三行删除):

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

相关内容