第十八章 认识和分析登录文件

什么是日志文件

注意:系统版本信息。Linux ubuntu 4.15.0-112-generic

日志记录用户的操作。通过查看日志,解决服务器所出的问题,进行纠错。日志有法律依据,可用于处理法律纠纷。

常见日志文件:

/var/log/cron例行工作日志(cron:记录系统)
/var/log/dmesg内核检测过程中分析的系统硬件信息
/var/log/lastlog记录系统上账号最近一次登录的信息
/var/log/mailog或/var/log/mail/*记录邮件往来信息
/var/log/messages系统发生的重要信息(比如错误信息)
/var/log/secure记录涉及到输入用户账号密码时的信息
/var/log/wtmp,/var/log/failog记录正确/错误登录的用户信息
/var/log/httpd/,/var/log/news/,/var/log/samba/*…个别服务制定的日志文件

rsyslog:记录日志的服务

rsyslog是常驻内存的服务,用于记录系统各类信息,并输出到日志文件或者设备上。/etc/rsyslog.d下是两个配置文件(.conf)。

日志文件内容的一般格式

在这里插入图片描述
日志每行格式:时间 地点 人物 信息

rsyslog的配置文件目录/etc/rsyslog.conf和/etc/rsyslog.d/

/etc/rsyslog.conf 负责整体的配置信息
/etc/rsyslog.d/ 则是负责配置输出的日志信息与日志文件的对应。其下是两个配置文件:20-ufw.conf ,50-default.conf。
示例:
在这里插入图片描述
查看上图最后一行提示的目录,结果如下:
在这里插入图片描述
有效行的信息格式:事件.级别 输出文件
每个事件都有一个内置的级别。当时间发生高于或等于这个级别时,系统会把这个事件记录到后面的那个输出文件中。输出文件前有-符号,表示先写入内存,再写入硬盘。
如kern…行。事件处是*,表示任何事件;级别处是*,表示任何级别的事件都会记录。

示例:

sudo vim /etc/rsyslog.conf #编辑配置文件
在配置文件中加入如下行
local5.debug  /var/log/aaa

sudo systemctl restart rsyslog #重启rsyslog服务
logger -p local5.debug "add message" #向日志写入信息。
ls /var/log  #查看aaa的存在
cat /var/log/aaa  #查看日志内容。

注意;只有向日志写入信息后,aaa才会存在。

日志信息的分类

类型名含义
auth(authpriv)主要与认证有关的信息,比如login,su,ssh登录时产生的信息
cron例行工作调度cron/at等信息
daemon与各个daemon有关的信息
kern内核产生的信息
lpr打印相关的信息
mail邮件相关的信息记录
news新闻组信息
syslog就是syslog/rsyslog本身产生的信息
user,uucp,local0~local7与机器相关的一些信息

日志信息的等级和连接符

等级名称说明
0none不输出任何信息(不记录)
1debug调试信息
2info基本信息说明
3notice注意事项说明
4waring(warn)警告信息,但不影响运行
5err(error)错误信息,已造成不能运行
6crit比err严重,到临界点了
7alert比crit还严重
8emerg(panic)通常是硬件出错,内核已经无法运行的程度

等级连接符是为了方便我们书写配置文件,产生的。有以下:

等级连接符是为了方便我们书写配置文件,产生的。有以下:
. 表示大于等于后接等级的日志信息都会记录
.* 任意等级
.= 表示只有等于后接等级的日志信息才记录
!= 表示不等于后接等级的日志信息都会记录

重要概念区分:syslog是函数,rsyslogd是进程(daemon),rsylog.service是服务

名称解释
syslog这个是 Linux 核心所提供的登录文件设计指引,所有的要求大概都写入到一个名为 syslog.h 的头文件案中。如果你想要开发与登录文件有关的软件, 那你就得要依循这个 syslog 函数的要求去设计才行!可以使用 man 3 syslog 去查询一下相关的数据!
rsyslogd为了要达成实际上进行讯息的分类所开发的一套软件,所以,这就是最基本的 daemon 程序!
rsyslog.service为了加入 systemd 的控制,因此 rsyslogd 的开发者设计的启动服务脚本设置!
日志文件的安全性设置

1.方法一:给日志文件添加属性,防止修改。

lssattr   /var/log/aaa     #查看文件aaa属性
chattr +a /var/log/aaa      #使得文件a只能添加,不能删除。

2.方法二:另外做一个中央日志服务器,专门保存别的机器的日志。
需要给设置和日志输出目录(换成ip)。

日志文件服务器设置

日志文件的轮替(logrotate)

logrotate的配置文件:/etc/logrotate.conf和/etc/logrotate.d/

日志的轮替规则:
如果配置文件中有"dateext"参数,则日志会用日期作为文件后缀,日志文件名不会重叠,就不会发生旧文件改名;
如果无此参数,日志文件会发生改名。当启用新的文件时,例如messages,旧的文件会改为messages.1,原来的messages.1文件会变为messages.2,以此类推,过早的文件可能会被压缩,超过最大序号的旧文件会被删除。(每次轮替可类比整个数组元素后移一位:每个a[i]会后移一位,首部空出一个位置可存数据,超过数组长度的丢弃)

cat /etc/logrotate.conf  #打开logrotate的配置文件:与默认配置和日志滚动有关

结果如下:
在这里插入图片描述

图片说明:
weekly  #单位是周
rotate 4 #此两行说明保留四周的日志文件
create #日志文件跟新后,需要重新创建文件。如message更新为message1.
compress #说明生成日志文件的备份是否需要压缩,默认用gzip压缩成.gz文件。注释表示不压缩。compresscmd可以改变压缩方式。
注意:以上是默认设置。若上下冲突,2以下为准。
include /etc/logrotate.d #此logrotate的配置文件包含的文件,即从别处拉入配置文件。
/var/log/wtmp {
    missingok#如果日志日志丢失了,不记录错误信息。
    monthly #单位是月,上下冲突,以月为单位。
    create 0664 root utmp #日志文件跟新后,原文件没有了,重新重创建文件。
                          #0664是权限说明,root是所有者,utmp是所属组。
    rotate 1
}  
#若有minsize 1M,则表示日志文件超过1M后,回滚(更新)
#若有notifempty 表示日志为空则不回滚。

综上logrotate的设置语法如下:

/var/log/xxx
/var/log/yy     
...              #含绝对路径的文件名,换行并列
{
weekly
rotate 3 
......          #一些参数
}

logrotate的另一个配置文件

ll /etc/logrotate.d  #查看logrotate的另一个配置文件

在这里插入图片描述
两个配置文件的关系:logrotate.d是一个目录,此目录下的所有文件会自动读入/etc/logrotate.conf中来进行。logrotate.d中没规定的,以logrotate.conf为准。

实际测试logrotate的操作

logrotate主要对日志做备份。操作如下:

logrotate --version #查看logrotate的版本
man  logrotate  #获取该命令的使用说明

自定义日志文件的轮替功能

日志文件的管理

Linux用systemd/rsyslog,klogd这两个服务和logrotate这个程序管理日志文件。

syslogd/rsyslog: rsyslog已经代替syslogd,它会把系统各种信息分类,放置到相应的日志文件中.
klogd: 记录内核产生的各项信息
logrotate:日志文件的轮替,由于时间久了,日志文件会越来越大,影响读取,故将旧文件替换

日志文件分析:logwatch

除了直接查看各日志文件信息外,也可用工具logwatch分析日志

vim /etc/logwatch/conf  #进入logwatch的配置文件
logwatch #可以分析日志
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值