Linux系统常见日志清单
一、核心系统与内核日志
这些日志记录了操作系统底层的运行状态。
1. /var/log/messages (CentOS/RHEL) 或 /var/log/syslog (Debian/Ubuntu)
作用:这是系统最主要的日志文件之一。它记录了系统启动过程中的信息、应用程序的标准输出、以及各种系统级别的通用信息。
查看时机:当遇到系统启动失败、服务意外崩溃、或者无法归类的系统级报错时,通常优先查看此文件。
2. /var/log/dmesg
作用:记录了内核环缓冲区(Kernel Ring Buffer)的信息。主要包含硬件设备检测(如 CPU、内存、硬盘)、驱动程序加载、以及内核启动时的信息。
查看时机:当你插入新的硬件设备无法识别、或者怀疑驱动程序有问题时,可以通过
dmesg命令或查看此文件。
3. /var/log/kern.log
作用:专门记录内核产生的日志,比
dmesg的信息更持久和详细。
二、安全与认证日志
这类日志对于排查登录失败、权限问题和黑客攻击至关重要。
1. /var/log/secure (CentOS/RHEL) 或 /var/log/auth.log (Debian/Ubuntu)
作用:非常重要的安全日志。记录了所有涉及到用户认证和授权的事件。
具体内容:包括
ssh远程登录(成功/失败)、sudo命令的使用、su切换用户、本地登录(如通过终端或图形界面)、以及 PAM(可插拔认证模块)的认证信息。查看时机:当发现服务器被暴力破解、怀疑用户权限被盗用、或者查看谁执行过
sudo提权操作时。
2. /var/log/btmp
作用:记录所有失败的登录尝试。
注意:这是一个二进制文件,不能直接用
cat查看,需要用lastb命令。用途:分析是否存在恶意 IP 在扫描你的密码。
3. /var/log/wtmp
作用:记录所有用户的登录和注销历史。
命令:使用
last命令查看。
4. /var/log/lastlog
作用:记录每个用户最近一次登录的时间。
命令:使用
lastlog命令查看。
三、服务与应用日志
随着 Linux 系统的演进(特别是使用 systemd 的发行版),现在很多服务的日志不仅写在传统文件里,也通过 journald 管理,但传统路径下依然保留着关键的记录。
1. /var/log/cron
作用:记录计划任务(cron job)的执行情况。
具体内容:可以看到任务是否按时触发、脚本执行的输出结果、以及执行过程中遇到的错误。
查看时机:当你编写的定时备份脚本没有生效时,首先应该检查这个文件。
2. /var/log/maillog 或 /var/log/mail.log
作用:邮件服务器的日志。记录了所有发往本地或通过本机转发的邮件的投递状态、错误信息。
3. /var/log/httpd/ (Apache) 或 /var/log/nginx/ (Nginx)
作用:Web 服务器的专属日志目录。
两个关键文件:
access_log:记录了所有访问网站的 IP、时间、请求的页面、浏览器信息(UA)。error_log:记录了 Web 服务运行时的错误,如配置语法错误、后端服务(PHP-FPM)连接失败等。
4. /var/log/mysql/ 或 /var/log/mariadb/
作用:数据库服务的日志,包含启动关闭信息、SQL 查询错误、慢查询日志等。
四、启动与系统初始化日志
1. /var/log/boot.log
作用:记录系统开机启动过程中各个服务的启动状态(是成功还是失败)。
查看时机:如果开机后某些功能不正常,可以在此查看具体是哪个服务在启动时卡住或报错。
2. /var/log/Xorg.0.log
作用:记录 X Window 系统(图形界面服务器)的启动、配置和运行错误。常用于解决图形界面花屏、分辨率错误或显卡驱动问题。
五、总结:如何高效查看?
如果你正在使用较新版本的 Linux(如 CentOS 7+, Ubuntu 15.04+),系统主要使用 systemd,日志查询的最强大工具是 journalctl。
| 命令 | 作用 |
|---|---|
journalctl | 查看所有系统日志 |
journalctl -b | 查看本次启动后的日志 |
journalctl -f | 实时追踪最新日志(类似 tail -f) |
journalctl -u nginx.service | 查看某个特定服务(如 nginx)的日志 |
而在传统的排查场景中,查看 /var/log/messages (或 syslog) 和 /var/log/secure (或 auth.log) 依然是解决大部分问题的基础步骤。
