携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
1.系统日志介绍
首先我们要明确日志的作用是什么?日志的作用是将系统和应用发生的事件记录到日志文件中,方便后期我们分析或者排错。比如:我们可以查看/var/log/secure文件了解登录用户的情况。
当我们知道日志的作用之后,我们应该了解下日志的格式,从而方便我们查看日志的详细信息。
时间,地点,人物,事件
各位同学可以用远程登录来检验我们上面的内容。具体做法如下:
- 可以使用echo ' ' > /var/log/secure将文件清空
- 用ssh进行远程登录
- 第一次使用错误密码
- 第二次使用正确密码
- 查看日志文件/var/log/secure的内容
经过这五个步骤,你便可以看到/var/log/secure文件里面记录的登录日志信息。如下图片就是做这个实验的结果。
2.日志记录
通过上面的例子,相信大家已经知道了日志的作用,以及日志的格式是怎样的。现在我们来看看日志是怎么记录下来的。 我们都知道Linux的日志文件是记录在/var/log/目录里面的,但是很多同学可能不知道日志是靠rsyslog服务来记录的。新的问题又来了,rsyslog服务又是怎么记录日志的呢?这时我们就需要了解到rsyslog的配置文件,这个配置文件所在位置是/etc/rsyslog.conf。我们可以打开这个文件看看,里面的主要内容如下:
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg :omusrmsg:*
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
给大家解释下,文件格式是这样的日志类型.日志级别 日志保存位置 日志的类型如下:
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth),
user, uucp, syslog
#自定义的分类
local0-local7
日志级别如下:
debug, info, notice, warn(warning), err(error), crit(critical), alert,
emerg(panic)
看到这里,可能有同学有疑问,为什么日志要搞得这么复杂?我们日志有不同的类型可以理解,比如有邮件类型的,安装类型的,定时类型的,但是所有日志都应该记录下来吗?显然不是,日志可以根据他的级别来决定要不要记录下来,比如cron.error 意味着cron类型的日志,只要是error级别的就会记录下来。