Linux系统日志详解:/var/log目录下每个文件是干什么的?

Linux系统日志详解:/var/log目录下每个文件是干什么的?

你打开/var/log目录,看到一堆文件:syslogauth.logkern.logdmesgdpkg.log……十几二十个名字,你不确定哪个有用,排查问题时不知道该看哪个。它们每天在写东西,但你从来没仔细看过。

今天把这些日志文件逐个拆开,告诉你哪个是干什么的、什么时候看它。

先看一个数据

日志文件是系统运行的记录本。在排查问题时,正确的日志能帮你快速定位原因;看错的日志会浪费时间。


系统核心日志

/var/log/syslog(Ubuntu/Debian)或 /var/log/messages(CentOS/RHEL)

这是系统最核心的日志文件,记录几乎所有系统级事件:内核消息、服务启动停止、网络变化、硬件信息。

什么时候看:系统出问题不知道从哪开始查的时候,先看这个。通常能找到最直接的线索。

bash

tail -50 /var/log/syslog
# 或
tail -50 /var/log/messages

/var/log/kern.log

专门记录内核相关的日志:硬件驱动加载、USB设备插拔、内核报错、内存管理信息。syslog里也包含内核消息,但kern.log更集中。

什么时候看:怀疑是硬件问题,或者内核报错导致系统不稳定时。

/var/log/dmesg

记录系统启动时的内核环形缓冲区消息。存放的是从开机到现在的内核日志,重启后会重新开始记录,不保留旧启动日志。你可以用dmesg命令直接查看:

bash

dmesg | tail -50

什么时候看:系统启动过程中出问题,或者想查看硬件初始化状态。

认证与安全日志

/var/log/auth.log(Ubuntu/Debian)或 /var/log/secure(CentOS/RHEL)

记录所有与认证相关的事件:SSH登录成功/失败、sudo使用记录、用户密码修改。

什么时候看

  • 怀疑服务器被暴力破解
  • 想查谁登录过服务器
  • 排查权限问题

bash

# 查看最近的失败登录
grep "Failed password" /var/log/auth.log | tail -20

# 查看成功登录
grep "Accepted" /var/log/auth.log | tail -20

应用与服务日志

/var/log/nginx/

Nginx的日志目录,包含access.log(访问日志)和error.log(错误日志)。

/var/log/apache2/ 或 /var/log/httpd/

Apache的日志目录,同样有访问日志和错误日志。

/var/log/mysql/ 或 /var/log/mariadb/

MySQL/MariaDB的日志目录,主要文件是error.log

什么时候看:网站报错500、502,或者想分析访问情况时。

包管理日志

/var/log/dpkg.log(Ubuntu/Debian)

记录所有通过aptdpkg安装、升级、卸载软件包的操作。包括安装时间、版本变化。

/var/log/yum.log(CentOS/RHEL)

记录通过yumdnf安装、更新软件包的操作。

什么时候看

  • 不确定某个软件是什么时候装的
  • 系统更新后出现兼容性问题,想回顾更新记录
  • 想知道某个软件包版本变化

其他重要日志

/var/log/faillog

记录用户登录失败的历史。格式紧凑,用faillog命令查看:

bash

faillog -a

/var/log/lastlog

记录每个用户最后一次登录的时间、IP和终端。用lastlog命令查看:

bash

lastlog

/var/log/wtmp 和 /var/log/btmp

wtmp记录所有用户登录和登出的历史(成功),用last命令查看。btmp记录失败的登录尝试(包括暴力破解),用lastb命令查看。

日志排查场景举例

场景:网站502,怀疑是PHP问题

先看Nginx错误日志:tail -50 /var/log/nginx/error.log。如果发现connect() failed (111: Connection refused),再查PHP-FPM日志:tail -50 /var/log/php-fpm/error.log

场景:怀疑服务器被暴力破解

先看/var/log/auth.log,统计失败登录:grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -10,找出尝试次数最多的IP。

场景:系统启动变慢

dmesg显示启动过程中的硬件检测和服务加载时间,可能暴露某个服务卡住的位置。

日志管理小技巧

按需精简:长期运行的服务会积累大量日志。用logrotate配置轮转策略,定期删除或压缩旧日志。

优先监控:重点监控auth.log(安全)、syslog(系统状态)和Web服务的error.log

快速过滤:排查问题时,先看最近100行,用grep过滤关键词。

最后一句

/var/log里的每个文件都有自己的用途。syslog是系统核心,auth.log管安全,kern.log管硬件,各类应用日志各自记录。

排查问题时选对日志比看所有日志更高效。把这些文件的作用记在脑子里,下次出问题时你就能迅速定位该查哪个文件。

首页

服务器负载(Load Average)到底怎么看?别再被数字骗了

2026-6-11 15:16:17

知识库

告别单点故障:为你的网站配置第一个负载均衡器(以腾讯云CLB为例)

2025-9-28 11:49:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧