Linux如何查看系统日志_Linux系统日志查看的实用技巧

记得有一次系统突然崩溃了,我赶紧检查了好久。
最终我发现是某个驱动程序有问题。
我转向 /var/log/kern.log 并看到一个奇怪的拼写错误。
Linux 日志就是一个令人讨厌的小妖精。
2 01 9 年我第一次学习 Linux 时,看着满屏的英文报纸,我头疼得要命。
后来我发现用grep搜索“错误”比搜索整个系统更轻松。
到了8 月份,服务器仍然出现问题。
我在半夜被叫去检查日志并滚动浏览 /var/log/messages。
最终我发现网络接口被屏蔽了,这让我差点把硬盘退回来。
学会了如何使用journalctl过滤时间范围后,效率立马倍增。
2 02 0年冬季,我在排查防火墙错误拦截问题时,使用 --since "yesterday 00:00" 查看最近2 4 小时的日志。
一切都一键完成,让我不必一张一张地剪切文件。
现在运维站旁边会显示一个小注释,里面包含几个常用命令:journalctl -p err -f /var/log/auth.log tail -f /var/log/syslog。
前两天帮下组检查数据库连接失败。
我转向 /var/log/mongodb/mongod.log 并在那里找到了堆栈跟踪信息,这比检查系统日志更直观。
然而,最近又发现了新的问题。
当 systemd 和传统的 syslog 日志混合时,有时会丢失关键信息。
例如,来自守护进程的致命错误仅记录在系统日志中。
为了真正理解日志,我们需要记住每个日志文件的历史记录吗?

Linux查看系统日志的常用命令

我记得有一次我接到一个紧急电话。
一位客户反映,他的网站访问速度突然变慢。
我立刻想到应该先检查一下Nginx日志,看看有没有什么异常。
然后,我打开终端并输入命令:journalctl -u nginx.service。
瞬间,屏幕上出现了大量的日志信息。
我快速浏览了一下,发现了很多4 04 错误。
我的心一沉,一定是这个问题。
为了更准确地找出哪个 URL 有问题,我重新输入:journalctl -u nginx.service --since "1 hour ago" |查找“4 04 ”。
这个命令的结果要差得多。
我直接使用less命令逐页搜索,终于找到了拖慢访问速度的URL。
这个过程使用了journalctl的多维过滤和grep的精确搜索。
等等,我突然想到,如果能够定期备份日志,是不是可以更好的监控和分析问题呢?

linux系统日志在哪里

说实话,Linux系统日志还是挺有趣的,而且分散在好几个地方。
如果您按照您提到的步骤操作,您可以看到一些基本日志,但不是全部。

上次鼓捣CentOS系统,发现系统日志主要分为几类。
例如/var/log/messages,这通常是内核系统消息日志,记录系统启动、服务变更等重大事件。
还有/var/log/auth.log,专门记录登录和认证相关的信息。
如果有人尝试使用弱密码登录我的服务器,这里需要有一个条目。
还有/var/log/cron记录crontab任务的执行情况,/var/log/syslog记录各种系统服务的运行状态。

但是请注意,不同 Linux 发行版中的路径可能不同。
我记得在 Ubuntu 上,Apache 和 Nginx 等应用程序日志通常位于 /var/log/apache2 / 或 /var/log/nginx/ 下。
在Red Hat系统中,这些可能分散到/var/log/httpd/等目录中。

还有更多的细分,比如 /var/log/secure 用来记录比较敏感的认证事件,/var/log/dmesg 用来记录硬件自检信息。
我当时正在排查蓝屏问题,最终在 dmesg 中找到了硬件冲突的线索。

所以你用 ls /var/log 看到的只是冰山一角。
查找问题时,根据具体情况猜测相关日志在哪里。
例如,检查 /var/log/syslog 以了解网络问题,检查 dmesg 以了解磁盘问题,检查 auth.log 以了解用户行为。
我记得数据在X左右,但我建议你确认一下。