Linux怎么查看系统日志? 快速定位系统日志文件的3种方法

哎呀,Linux 日志确实很让人头疼,但是一旦掌握了它的窍门,它就非常方便了。
上周有客户问我如何快速排查问题。
我把这些建议告诉了他,发现非常有效。

1 .最直接的方式是启动命令并查看文件内容
如果你知道具体是哪个文件,就直接启动它:
cat:看到小文件真是太棒了,它们一闪而过。
比如cat /var/log/messages,可以看到开机日志等。
尾巴:看尾巴很方便。
默认为 2 0 行。
如果这还不够,您可以添加参数。
为了解决问题,您经常查看 tail -n 5 0 /var/log/syslog。
如果你想看到实时更新,例如用户登录,tail -f /var/log/auth.log,事情会一直滚动,基本上一旦出现问题你就可以看到它。
较小:要查看大文件,请按向上和向下键滚动。
特别适合查看/var/log/kern.log等几十兆的内核日志。
累了按 q 退出。
grep:这是通用的。
如果你想查找特定的信息,只需使用参数即可。
比如grep "error" /var/log/syslog,系统错误信息一目了然。

2 知道日志是干什么用的,文件名基本就确定了
仅仅能读出来还不够,还需要知道哪个文件存储了哪些信息:
/var/log/messages:这是老的了,所有的系统消息都放在这里,比如启动过程、服务什么时候启动等。
/var/log/syslog:有些系​​统(比如Ubuntu)在这里存储消息,与消息有类似的功能。
/var/log/auth.log:认证日志,SSH登录成功和失败,这类安全相关的信息基本都在这儿了。
/var/log/boot.log:开机日志,系统是怎么启动的,哪个服务没有启动,这个基本就够了。
/var/log/kern.log:内核日志,硬件问题,驱动问题,这个需要一些Linux基础才能了解。

场景示例:
假设用户说SSH无法连接,可以直接cat /var/log/auth.log,看看是否有错误条目,分分钟就能找到问题所在。
如果系统突然死机并且启动缓慢,请先检查较小的/var/log/boot.log。

3 不知道文件名? find命令帮你找到
如果你真的忘记了文件名,find就是个宝:
基本用法:find /var/log -name ".log",所有.log文件都会给你列出来。
按时间查找:例如查找最近7 天内更改过的文件,find /var/log -name ".log" -mtime -7 这通常用于解决问题。
新生成的日志一定要有要点。
按服务搜索:要查找 Nginx 日志,请查找 /var/log -name "nginx.log"。
但请注意,某些服务(例如 Nginx 和 MySQL)会将日志拆分到子目录中,例如 /var/log/nginx/access.log。
在这种情况下,您需要使用 find /var/log/nginx -name ".log"。

额外提醒:
journalctl:这个是Systemd系统内置的,比传统的日志方便很多,不过要看你用不用。
logrotate、ELKStack:这是一个日志管理工具,适合日志过多、过于复杂的情况,并且可以自动轮转、压缩和分析。

总之,这些方法结合起来使用,检查日志基本就够了。
关键是大致知道哪个文件存储了哪些信息,然后根据需要使用命令快速查找。
通过更多的练习你将会变得熟练。
这不是比干巴巴地记住命令更好吗?

linux查看日志的三种命令是什么

这三个Linux日志查看命令很简单:
1 .实时查看日志:使用tail -f如tail -f文件名可以实时监控消耗大量内存的文件末尾有什么内容。
2 .搜索关键字:cat 文件名 |使用它。
猫 文件名 |如 grep "关键字" grep -C5 "关键字",搜索关键字附近的内容。
3 、深入分析:直接编辑相应文件进行详细分析,使用vim文件名搜索关键词。

根据您的需要选择。
实时监控; grep 使用 tail -f 搜索特定内容,vim 进行深入分析。

LINUX系统怎么看日志文件_LINUX查看系统日志方法

在Linux系统上读取日志其实是很容易的。
主要有这几种方法:
1 .日志控制命令 这个东西是systemd系统的标准功能。
例如,如果你使用的是Ubuntu2 2 .04 ,你肯定想要这个。
要检查所有日志,只需输入journalctl,所有日志都会立即显示在屏幕上。
如果您想查看特定的服务,例如 nginx,只需输入journalctl -u nginx.service。
该服务的状态很快就会准备就绪。
如果你想查看最近发生的事情,比如两个小时内,请使用journalctl --page“2 小时前”。
如果你想实时查看,比如看系统启动过程,只需在最后添加 -f 参数,journalctl -f 就会实时显示。

2 ./var/log目录 这是老式 Linux 系统的日志大本营。
首先 cd /var/log 放入,然后 ls -l 查看有哪些文件。
Messages、auth.log 和 syslog 是常见访问者。
对于 RHEL/CentOS 系统,内核日志通常位于消息中。
只需使用 tail /var/log/messages 读取最后 1 0 行,或者 less /var/log/messages 并慢慢读取它们。
对于 Debian/Ubuntu,只需查看 syslog。
如果您想查看谁已登录,请查看 RHEL 系统的安全文件和 Debian 的 auth.log。
您可以使用夹点来更快地找到东西。
例如 grep "failed" /var/log/auth.log 可以看到登录失败记录。

3 dmesg命令 主要用于读取内核日志,如硬件检测、驱动加载等。
只需使用 dmesg,所有内核日志就会出来。
如果您想查找与 USB 相关的内容,请使用 dmesg | grep -i usb 就会出来USB设备信息。
有太多的信息需要阅读。
使用 dmesg |一页一页地阅读较少。
时间戳似乎是劳动密集型的。
添加参数-T,dmesg -T,时间将是当地时间。

4 日志旋转实用程序 这用于管理日志轮换并防止日志填满硬盘驱动器。
全局配置在/etc/logrotate.conf中,比如轮转周期、压缩等。
特定服务(如 nginx)的轮换规则位于 /etc/logrotate.d/nginx 中。
要测试配置是否正确,请使用 logrotate -d /etc/logrotate.conf。
这将模拟它而不实际执行它。
如果你确实想强制轮换,请使用 logrotate -f /etc/logrotate.conf,但你必须小心这一点。

总结一下: 如果想快速找到问题,可以使用journalctl,加上-u或--since,然后使用grep。
如果你想了解系统运行情况,只需查看/var/log下的syslog和auth.log即可。
如果是硬件问题,直接查看dmesg中的核心日志即可。
要长时间管理日志,必须固定logrotate,否则硬盘满了系统就会挂掉。