Linux 的系统日志详细地记录了在什么时间,哪台服务器、哪个程序或服务出现了什么情况。不管是哪种操作系统,都详细地记录了重要程序和服务的日志,只是我们很少养成查看日志的习惯。
日志是系统信息最详细、最准确的记录者,如果大家能够善用日志,那么当系统出现问题时,我们就能在第一时间发现问题,也能够从日志中找到解决问题的方法。
在 CentOS 6.x 中,日志服务已经由 rsyslogd 取代了原先的 syslogd。Red Hat 公司认为 syslogd 已经不能满足工作中的需求,rsyslogd 相比 syslogd 具有一些新的特点:
rsyslogd 日志服务更加先进,功能更多。但是,不论是该服务的使用,还是日志文件的格式,其实都是和 syslogd 服务相兼容的,所以学习起来基本和 syslogd 服务一致。
ps aux | grep "rsyslog" | grep -v "grep"
我们使用 ps 命令,查看日志服务 rsyslog 的状态。系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。也就是说,采用 rsyslogd 服务管理的日志文件,它们的格式应该是统一的。
在 Linux 系统中有一部分日志不是由 rsyslogd 服务来管理的,比如 apache 服务,它的日志是由 Apache 软件自己产生并记录的,并没有调用 rsyslogd 服务。但是为了便于读取,apache 日志文件的格式和系统默认日志的格式是一致的。
ps aux | grep "rsyslog" | grep -v "grep"
我们使用 ps 命令,查看系统日志服务状态,具体命令如下:
ps aux | grep "rsyslog" | grep -v "grep"
运行后,终端输出如下:
我们看到,我们使用了 ps 命令查看了系统日志 rsyslog 的服务状态。
Linux 的系统日志详细地记录了在什么时间,哪台服务器、哪个程序或服务出现了什么情况。不管是哪种操作系统,都详细地记录了重要程序和服务的日志,只是我们很少养成查看日志的习惯。