Linux日志管理

119 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

1.系统日志介绍

首先我们要明确日志的作用是什么?日志的作用是将系统和应用发生的事件记录到日志文件中,方便后期我们分析或者排错。比如:我们可以查看/var/log/secure文件了解登录用户的情况。

当我们知道日志的作用之后,我们应该了解下日志的格式,从而方便我们查看日志的详细信息。

时间,地点,人物,事件

各位同学可以用远程登录来检验我们上面的内容。具体做法如下:

  1. 可以使用echo ' ' > /var/log/secure将文件清空
  2. 用ssh进行远程登录
  3. 第一次使用错误密码
  4. 第二次使用正确密码
  5. 查看日志文件/var/log/secure的内容

经过这五个步骤,你便可以看到/var/log/secure文件里面记录的登录日志信息。如下图片就是做这个实验的结果。

secure日志.jpg

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级别的就会记录下来。