linux日志文件有三种类型:1、内核及系统日志,该种日志数据由系统服务rsyslog统一管理,根据其主配置文件中的设置决定将内核消息及各种系统程序消息记录到什么位置。2、用户日志,该种日志数据用于记录Linux操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间等。3、程序日志,指定程序的独立日志文件,用于记录本程序运行过程中的各种事件信息。
本教程操作环境:linux7.3系统、Dell G3电脑。
在Linux系统中,拥有非常灵活和强大的日志功能,它几乎可以保存所有的操作记录,还可以检索出我们需要的信息。不仅如此,Linux系统日志还可以帮助我们解决各种各样的问题。
Linux系统日志分为哪几种类型?
Linux 系统日志主要有三种类型:分别是 内核及系统日志、用户日志、程序日志。
1、内核及系统日志:
这种日志数据由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把日志文件交由 rsyslog 管理,因而这些程序使用的日志记录也具有相似的格式。
2、用户日志:
这种日志数据用于记录 Linux 操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
3、程序日志:
有些应用程序会选择由自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息,而不是交给 rsyslog 服务管理。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。
Linux常见日志文件及其功能
日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。这些信息有些非常敏感,所以在 Linux 中这些日志文件只有 root 用户可以读取。
那么,系统日志文件保存在什么地方呢?还记得 /var/ 目录吗?它是用来保存系统动态数据的目录,那么 /var/log/ 目录就是系统日志文件的保存位置。我们通过表 1 来说明一下系统中的重要日志文件。
日志文件 | 说 明 |
/var/log/cron | 记录与系统定时任务相关的曰志 |
/var/log/cups/ | 记录打印信息的曰志 |
/var/log/dmesg | 记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息 |
/var/log/btmp | 记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下: [root@localhost log]#lastb root tty1 Tue Jun 4 22:38 – 22:38 (00:00) #有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误 |
/var/log/lasllog | 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看 |
/var/Iog/mailog | 记录邮件信息的曰志 |
/var/log/messages | 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出。 |
/var/log/secure | 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
/var/log/wtmp | 永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看 |
/var/tun/ulmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看 |
除系统默认的日志之外,采用 RPM 包方式安装的系统服务也会默认把日志记录在 /var/log/ 目录中(源码包安装的服务日志存放在源码包指定的目录中)。不过这些日志不是由 rsyslogd 服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身的日志。以下介绍的日志目录在你的 Linux 上不一定存在,只有安装了相应的服务,日志才会出现。服务日志如表 2 所示。
日志文件 | 说明 |
---|---|
/var/log/httpd/ | RPM包安装的apache取务的默认日志目录 |
/var/log/mail/ | RPM包安装的邮件服务的额外日志因录 |
/var/log/samba/ | RPM色安装的Samba服务的日志目录 |
/var/log/sssd/ | 守护进程安全服务目录 |
怎么查看系统日志状态
我们使用 ps 命令,查看日志服务 rsyslog 的状态。系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。也就是说,采用 rsyslogd 服务管理的日志文件,它们的格式应该是统一的。
语法
ps aux | grep "rsyslog" | grep -v "grep"
在 Linux 系统中有一部分日志不是由 rsyslogd 服务来管理的,比如 apache 服务,它的日志是由 Apache 软件自己产生并记录的,并没有调用 rsyslogd 服务。但是为了便于读取,apache 日志文件的格式和系统默认日志的格式是一致的。
案例
我们使用 ps 命令,查看系统日志服务状态,具体命令如下:
我们看到,我们使用了 ps 命令查看了系统日志 rsyslog 的服务状态。