一.Linux 常見的日志文件
/var/log/cron:
你的 crontab 排程有没有实际被进行? 进行过程有没有发生错误?你的 /etc/crontab 是否撰写正确?在这个登录档内查询看看。
/var/log/dmesg:
记录系统在开机的时候核心侦测过程所产生的各项资讯。由于 CentOS 预设将开机时核心的硬体侦测过程取消显示, 因此额外将资料记录一份在这个档案中;
/var/log/lastlog:
可以记录系统上面所有的帐号最近一次登入系统时的相关资讯。第十四章讲到的 lastlog 指令就是利用这个档案的记录资讯来显示的。
/var/log/maillog 或 /var/log/mail/*:
记录邮件的往来资讯,其实主要是记录 sendmail (SMTP 协定提供者) 与 dovecot (POP3 协定提供者) 所产生的讯息啦。 SMTP 是发信所使用的通讯协定, POP3 则是收信使用的通讯协定。 sendmail 与 dovecot 则份别是两套达成通讯协定的软体。
/var/log/messages:
这个档案相当的重要,几乎系统发生的错误讯息 (或者是重要的资讯) 都会记录在这个档案中; 如果系统发生莫名的错误时,这个档案是一定要查阅的登录档之一。
/var/log/secure:
基本上,只要牵涉到『需要输入帐号密码』的软体,哪么当登入时 (不管登入正确或错误) 都会被记录在此档案中。 包括系统的 login 程式、图形介面登入所使用的 gdm 程式、 su, sudo 等程式、还有网路连线的 ssh, telnet 等程式, 登入资讯都会被记载在这里;
/var/log/wtmp, /var/log/faillog:
这两个档案可以记录正确登入系统者的帐号资讯 (wtmp) 与错误登入时所使用的帐号资讯 (faillog) ! 我们在第十一章谈到的 last 就是读取 wtmp 来显示的, 这对于追踪一般帐号者的使用行为很有帮助!
/var/log/httpd/*, /var/log/news/*, /var/log/samba/*:
不同的网路服务会使用它们自己的登录档案来记载它们自己产生的各项讯息!上述的目录内则是个别服务所制订的登录档。
二.登录档所需相关服务 (daemon) 与程式
syslogd:主要登录系统与网路等服务的讯息;
klogd:主要登录核心产生的各项资讯;
logrotate:主要在进行登录档的轮替功能。
三.syslog 的设定档:/etc/syslog.conf
是 syslogd 这个 daemon 的设定档啦! 我们现在知道 syslogd 可以负责主机产生的各个资讯的登录,而这些资讯本身是有『严重等级』之份的, 而且,这些资料最终要传送到哪个档案去是可以修改的呢,所以我们才会在一开头的地方讲说, 每个 Linux distributions 放置的登录档档名可能会有所差异啊!
基本上, syslog 针对各种服务与讯息记录在某些档案的设定档就是 /etc/syslog.conf, 这个档案规定了
(1)什么服务 (2)的什么等级讯息 (3)需要被记录在哪里(装置或档案)
四.日志分级
等级 | 等级名称 | 说明 |
1 | info | 仅是一些基本的讯息说明而已; |
2 | notice | 比 info 还需要被注意到的一些资讯内容; |
3 | warning (warn) |
警示的讯息,可能有问题,但是还不至於影响到某个 daemon 运作的资讯;基本上, info, notice, warn 这三个讯息都是在告知一些基本资讯而已,应该还不至於造成一些系统运作困扰; |
4 | err (error) |
一些重大的错误讯息,例如设定档的某些设定值造成该服务服法啟动的资讯说明, 通常藉由 err 的错误告知,应该可以瞭解到该服务无法啟动的问题呢! |
5 | crit | 比 error 还要严重的错误资讯,这个 crit 是临界点 (critical) 的缩写,这个错误已经很严重了喔! |
6 | alert | 警告警告,已经很有问题的等级,比 crit 还要严重! |
7 | emerg (panic) |
疼痛等级,意指系统已经几乎要当机的状态! 很严重的错误资讯了。通常大概只有硬体出问题,导致整个核心无法顺利运作,就会出现这样的等级的讯息吧! |