Linux系统日志
Linux系统拥有非常灵活和强大的日志功能,几乎可以保存所有操作记录,日常维护时,可以使用各种工具从中检索出需要的信息。
默认配置下,日志文件通常都保存在/var/log
目录下。系统日志守护进程(参见命令:man syslog
)可以根据日志的类型和级别将日志保存到不同的文件中。
日志类型
下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:
类型 | 说明 |
---|---|
auth | 用户认证时产生的日志,如login命令、su命令。 |
authpriv | 与 auth 类似,但是只能被特定用户查看。 |
cron | 系统定期执行计划任务时产生的日志。 |
daemon | 某些守护进程产生的日志。 |
ftp | FTP服务。 |
kern | 系统内核消息。 |
local0.local7 | 由自定义程序使用。 |
lpr | 与打印机活动有关。 |
邮件日志。 | |
mark | 产生时间戳。系统每隔一段时间向日志文件中输出当前时间每行的格式类似于 May 26 11:17:09 rs2 -- MARK -- , |
news | 网络新闻传输协议(nntp)产生的消息。 |
syslogd | 由syslogd 产生的日志 |
user | 用户进程。 |
uucp | UUCP子系统。 |
日志级别
常见的日志级别如下:
级别 | 说明 |
---|---|
emerg | 紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。 |
alert | 需要立即修复,例如系统数据库损坏。 |
crit | 危险情况,例如硬盘错误,可能会阻碍程序的部分功能。 |
err | 一般错误消息。 |
warning | 警告。 |
notice | 不是错误,但是可能需要处理。 |
info | 通用性消息,一般用来提供有用信息。 |
debug | 调试程序产生的信息。 |
none | 没有级别,不记录任何日志消息。 |
常用日志文件
日志文件 | 说明 |
---|---|
/var/log/boot.log | 录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息 |
/var/log/messages | 记录Linux操作系统常见的系统和服务错误信息 |
/var/log/syslog | 只记录警告信息,常常是系统出问题的信息,使用lastlog查看 |
/var/log/secure | Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况 |
/var/log/wtmp | 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看 |
/var/run/utmp | 该日志文件记录有关当前登录的每个用户的信息。如 who ,w ,users 等就需要访问这个文件 |
/var/log/lastlog | 记录最后一次用户成功登陆的时间、登陆IP等信息 |
/var/log/btmp | 记录Linux登陆失败的用户、时间以及远程IP地址 |
/var/log/syslog
或/var/log/messages
存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在/var/log/syslog
中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在/var/log/messages
中存储它们。
/var/log/auth.log
或/var/log/secure
存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在/var/log/auth.log
中存储认证信息,而 RedHat 和 CentOS 则在/var/log/secure
中存储该信息。
/var/log/wtmp
,/var/run/utmp
,/var/log/lastlog
三个文件记录的都是系统登陆记录,以二进制形式保存,所以不能使用cat
,more
,less
之类的工具直接查看,这些文件可以通过who
,w
,users
,lastlog
等命令来查看解析结果。