日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测,还可以实时的监测系统状态,监测和追踪侵入者等等。
配置文件 /etc/rsyslog.conf
。CentOS默认改为 rsyslog.conf
之前版本是 syslog.conf
。该配置文件主要信息为:记录哪些服务和需要记录什么等级的信息。
日志格式:
auth -pam生产的日志
authpriv -ssh,ftp 等登录信息的验证信息
cron -时间任务相关
kern -内核
lpr -打印
mail -邮件
mark(syslog) -rsyslog服务内部的信息,时间标识
news -新闻组
user -用户程序产生的相关信息
uucp -unix to unix copy,unix主机之间相关的通讯
local 1~7 -自定义的日志设备
日志级别:
debug -有调试信息的,日志信息最多
info -一般信息的日志,最常用
notice -最具有重要性的普通条件的信息
warning -警告级别
err -错误级别,阻止某个功能或者模块不能正常工作的信息
crit -严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert -需要立刻修改的信息
emerg -内核崩溃严重信息
none -什么都不记录
从上到下,级别从低到高,记录的信息越来越少
连接符号:
.:
表示大于等于xxx 级别的信息.=:
表示等于xxx 级别的信息.!:
表示在xxx 之外的等级的信息
/var/log/messages 核心系统日志文件
这个日志是linux 系统最核心的日志文件,假若某个服务没有定义日志,那么该服务产生的日志就会到这个文件中。该日志每周归档一次。它是核心系统日志文件,包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO错误、网络错误和其他系统错误都会记录到这个文件中。另外其他信息,比如某个人的身份切换为root以及用户自定义安装的软件(apache)的日志也会在这里列出。通常,/var/log/messages是在做故障诊断时首先要查看的文件。系统有一个日志轮询的机制,每星期切换一个日志,变成message.xxxxxxxx, message.xxxxxxxx, … messages.xxxxxxxx 连同messages一共有5个这样的日志文件。这里的xxxxxxxx就是按照日期的格式生成的文件,在CentOS5里,这个后缀并不是日期而是数字1,2,3,4. 这是通过logrotate工具的控制来实现的
|
|
它的配置文件是/etc/logrotate.conf如果没有特殊需求请不要修改这个配置文件。
|
|
/var/log/messages是由syslogd这个守护进程产生的,如果停掉这个服务则系统不会产生/var/log/messages,所以这个服务不要停。Syslogd服务的配置文件为/etc/syslog.conf这个文件定义了日志的级别,若没有特殊需求是不需要修改这个配置文件的,使用 man syslog.conf
获得更多关于它的信息。
除了关注/var/log/messages外,还应该多关注一下 dmesg 这个命令,它可以显示系统的启动信息,如果某个硬件有问题(比如说网卡)用这个命令也是可以看到的。
|
|
命令:last
|
|
last命令用来查看登录Linux历史信息,从左至右依次为账户名称、登录终端、登录客户端ip、登录日期及时长。last命令输出的信息实际上是读取了二进制日志文件/var/log/wtmp, 只是这个文件不能直接使用cat, vim, head, tail等工具查看。
另外一个和登陆信息有关的日志文件为/var/log/secure, 该日志文件记录验证和授权等方面的信息,比如ssh登陆系统成功或者失败,都会把相关信息记录在这个日志里。
/var/log/wtmp日志用来查看用户登录历史,但这个文件不能直接cat查看,只能用last命令查看。
/var/log/btmp日志和wtmp类似,也不能直接cat查看,用命令lastb查看,记录无效登录历史。
/var/log/maillog是用来记录邮件相关的信息,比如发给谁邮件,是否发出去等信息。
/var/log/secure是一个安全认证相关的日志,比如系统用户登录时,正常登录或者登录失败都会记录,另外ftp服务相关的登录日志也会记录到这里来。
dmesg这是一个命令,主要查看系统实时的硬件设备抛出的信息,如果磁盘异常或者网络异常或者内核异常都会记录下来。只不过这些信息是存到内存里的,系统重启后就消失了。