linux学习之日志管理

前言

什么是日志?日志就是历史事件。历史事件包括时间、地点、人物、时间。这个是生活中所说的日志很好理解。

在Linux中也有类似的服务,它主要作用就是记录Linux系统的历史事件,包括什么时间什么服务或者那个进程或者pid发生的一些事件,通过记录发生的事件,我们可以查看日志来了解在过去的一段时间Linux系统发生了什么事,从而可以帮助我们解决一些问题。

在Linux系统里日志是有级别的,也就是说事件的关键程度,比如说有些事件只是警告,需要我们注意,起个提醒我们的目的,可以后面去处理,也可以不处理,但是有些事件比较紧急,它不仅仅只是提示我们的作用,很有可能这一秒发生了这样的事件,下一秒Linux系统就挂了,所以在Linux系统里事件的关键性程度非常重要。

rsyslogd

rsyslogd 专职管理系统日志的工具,它生产着用户的登录信息、系统的启动信息、系统的安全信息、邮寄相关信息、各种服务相关信息文件,这些文件都存储在/var/log目录下。

在centos 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务。rsyslogd日志服务更加先进,功能更多。但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致。

相关术语

      以/etc/rsyslog.conf中的authpriv字段进行举例:下图表示:认证相关服务的所有日志等级,都记录到/var/log/secure日志中;

其中我们可以看到在这个字段中,存在一些必要的术语,我们先来看一下这些术语:

常用日志文件

日志规则

rsyslog 配置文件为主配置文件和子配置文件;

1、主配置文件:/etc/rsyslog.conf

2、子配置文件:通过 $IncludeConfig 选项在主配置文件中指定,一般默认定义的是:/etc/rsyslog.d/下以.conf结尾的文件

配置文件的内容有三大块组成,模块配置、全局配置和规则配置

  • 模块配置:rsyslog是基于模块设计的,使用不同的功能就需要加载不同的模块。

  • 全局配置:用于设置整个 rsyslog 服务的基本操作参数和行为。

  • 规则配置:rsyslog收集到日志信息后,通过定义的规则对这些日志数据进行处理。

由上图可以看到,rsyslog的每条日志管理规则都是由两大部分组成:

  • 选择器:定义哪些日志消息应该被处理。
  • 动作:定义了对匹配选择器的日志消息要执行的操作。

例1:如选择器为:*.*,第一个 * 代表着日志的设备类型,第二个 * 代表着日志的级别。如果为* 代表包括所有日志类型或级别。

例2:如规则为:*.*;auth,authpriv.none          -/var/log/syslog,除了auth和authpriv的消息,都异步写入/var/log/syslog;

日志信息组成

日志信息分别是4个字段信息组成

  1. 第一个字段信息:产生日志的时间;
  2. 第二个字段信息:产生日志的主机名;
  3. 第三个字段信息:产生日志的程序或服务和进程号;
  4. 第四个字段信息:产生日志的程序或服务的具体操作;

日志设备类型:每个程序在被设计时,都已经被作者定义好了设备类型,例如 ssh服务;

可以根据设备类型,得知日志存储位置。例如:ssh的登录安全验证日志存储路径为 /var/log/secure;同样可以根据需求,设置需要的级别,例如,要求日志只记录警告信息,就将日志级别设置为warning。

日志轮替

日志信息存储在一个文本中,当一个纯日志文件大小上G之后,就很难正常读取里面的日志信息,如果设备配置、性能不是很好,就有可能造成设备死机,此时就需要日志轮替处理:logrotate

日志轮替包含切割和轮换:

  • 切割:将大的日志按照固定的大小分为多个小的日志文本,一般会采取按日期分割;按照日期,每天的日志存放在一个文本当中,便于管理员查看。
  • 轮换:把旧的日志删除,轮换新的日志内容;(比如:超过30天的日志就会删除,然后留出空间将新的日志写入)

日志切割的命名

如果对于切割后的日志没有命令规则,每天都是相同的文件名,那么今天所保存的日志文件就会覆盖前一天的日志文件。

  • 规则一:如果配置文件中拥有“dateext”参数,那么日志会用日期来作为日志文件的后缀;
  • 如“secure-20220211”.这样的话日志文件名不会重叠,所以也就不需要日志文件的改名,只需要保存指定的日志个数,删除多余的日志文件即可。

  • 规则二:如果配置文件中没有“dateext”参数,那么日志文件需要进行改名
  • 如第一次进行日志轮替时,当前的“secure”日志会自动改名为“secuer.1”,然后新建“secure”日志,用来保存新的日志。当第二次进行日志轮替时,“sucure.1”会自动改名为“secure.2”,当前的“secure”日志会自动改名为“sucure.1”,然后也会新建“secure”日志,用来保存新的日志,以此类推。

配置文件

主配置文件/etc/logrotate.conf信息如下:

代码中参数的解释:

子配置文件夹 /etc/logrotate.d/该目录下的所有文件都可以自定义轮换规则。

参考链接

Linux【实战篇】—— 日志管理_日志轮转配置-CSDN博客

Linux-日志管理_linux 日志管理-CSDN博客

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值