如何记录导致服务器重启的原因?

如何记录导致服务器重启的原因?

我有来自 1and1 的三台服务器。

它们都设置了相同的运行named、apache、mysql、postfix、dovecot和相关服务。

其中两台服务器运行良好。第三台(也是流量最小的那台)会随机锁定或重启。

我在我的日志中没有发现任何问题,我也要求 1and1 检查,他们发现他们的日志或我的日志都没有问题。

旧的日志记录已保存,我始终打开 top 和 nethogs。我从未注意到任何资源的使用量出现峰值,而且任何日志中都没有任何关于正在发生的事情的信息。

有时我突然无法连接,并且根本没有任何服务响应。为了解决这个问题,我必须登录 1and1 并从那里重新启动服务器。

其他时候,它只是自行重新启动。

是否有一个日志系统可以执行广泛的日志记录和/或资源和流程的跟踪,以便能够尝试确定这一点?

考虑到我有三台配置完全相同的服务器,但只有这台服务器出现问题,我想到了一些可能性,包括可能的攻击,但我不能确定。

我觉得我需要一些极端的记录来确定这一点。

每台服务器都运行 Arch Linux。所有配置都是我自己完成的,所以我知道这三台服务器的配置 100% 相同。

答案1

和往常一样,日志记录确实是您的好朋友!要查看系统崩溃前的详细日志,您可以使用journalctl。此实用程序显示 systemd 处理的各种日志。如今(无论好坏),您的机器上有很多不同的系统。

$ journalctl -xe -b-1

每个参数的含义如下:

  • x:如果有的话,添加关于每一行的解释性信息。
  • e:跳转到日志的末尾,这样您首先会看到重新启动之前立即显示的消息。
  • b-1:显示当前启动项之前的启动项信息。

如果您确实需要“EXTREME”日志记录(您可能不需要)。您还可以附加以下选项-o verbose

要显示内核特定的日志消息,您可以使用dmesg。以下内容可能会对您有所帮助。

$ dmesg -H

相关内容