Linux日志管理(rsyslog系统日志和logrotate日志轮转)

Linux日志管理(rsyslog系统日志和logrotate日志轮转)

一、rsyslog系统日志管理

系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。
观察rsyslogd程序,可以看出此服务正在运行。
在这里插入图片描述

常见的系统日志文件如图
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第1张图片

1. 网站日志管理示例:

安装软件
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第2张图片

虚拟机网络切换为桥接模式
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第3张图片

重启网络
在这里插入图片描述

观察日志
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第4张图片

查看ip 并打开网页浏览此ip地址
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第5张图片

观察发现日志更新
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第6张图片

2.rsyslogd配置

安装程序
在这里插入图片描述

启动程序
在这里插入图片描述

相关了解
在这里插入图片描述

3.主配置文件

告诉rsyslogd进程什么日志,应该存到哪里。
输入命令:vim /etc/rsyslog.conf 进入文件
找到47行的RULES规则

(1)RULES

RULES:即规则,是一套生成日志,以及存储日志的策略。
RULES即规则,有三部分组成(由设备+级别+存放位置)
RULES由FACILITY+LEVEL+FILE组成。
authpriv.* /var/log/secure(SSH信息)
mail.* -/var/log/maillog(发邮件)
cron.* /var/log/cron(创建任务)
这里有一个“-”符号, 表示是使用异步的方式记录, 因为日志一般会比较大
*.info;mail.none;authpriv.none;cron.none /var/log/messages
系统日志排除了邮件,认证,计划日志。

(2)FACILITY&LEVEL(优先级)

–facility设备–
facility 是系统对某种类型APP事件的定义。如AUTHPRIV(认证)是安全事件,CRON是计划任务事件。它是将日志分为不同的类型,进行不同的操作,可根据划分不同的日志收集规则。
用命令可以查看此命令用法信息
在这里插入图片描述

–设备类型–
LOG_SYSLOG syslogd自身产生的日志
LOG_AUTHPRIV 安全认证
LOG_CRON 调度程序(cron and at)
LOG_MAIL 邮件系统mail subsystem
LOG_USER (default) 用户相关
LOG_DAEMON 后台进程
LOG_FTP 文件服务器ftp daemon
LOG_KERN 内核设备kernel messages
LOG_LPR 打印机设备printer subsystem
LOG_LOCAL0 through LOG_LOCAL7 用户自定义设备
– level级别–
LOG_EMERG 紧急,致命,服务无法继续运行,如配置文件丢失
LOG_ALERT 报警,需要立即处理,如磁盘空使用95%
LOG_CRIT 致命行为
LOG_ERR 错误行为
LOG_WARNING 警告信息
LOG_NOTICE 普通,重要的标准信息
LOG_INFO 标准信息
LOG_DEBUG 调试信息,排错所需,一般不建议使用
从下到上,级别从低到高,记录的信息越来越少

可通过此图来理解日志工作机制
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第7张图片

4.程序类型示例

关于程序和设备的联系问题,程序自身会决定将日志交给哪类设备。
如SSH程序会选择安全类设备。这一点由开发者定义。

(1) 修改ssh程序的设备类型

在这里插入图片描述
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第8张图片

将此处改为LOCAL5

(2) 修改 rsyslog程序的规则

进入如下文件
在这里插入图片描述

添加一行规则如下,则此日志会记录到log/下的自定义的文件中
在这里插入图片描述

(3) 重启rsyslog程序和ssh程序

在这里插入图片描述

(4) 使其他终端登陆服务器,观察新日志的生成

观察未使用ssh终端登录时
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第9张图片

使用另一个终端登陆

Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第10张图片
第一个终端观察的日志发生变化,实验成功。
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第11张图片

二、logrotate日志轮转

1. logrotate简介

日志是重要的系统文件,记录和保存了系统中所有的重要事件。但是日志文件也需要进行定期的维护,因为日志文件是不断增长的,如果完全不进行日志维护,而任由其随意递增,那么用不了多久,我们的硬盘就会被写满。为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。

2. 按照配置进行轮转

配置文件种类
主配置文件:/etc/logrotate.conf
(决定每个日志文件如何轮转)
子配置文件夹:/etc/logrotate.d/*
自定义配置,便于管理(自定义的配置,优先级高于默认配置)
观察主文件和子文件
在这里插入图片描述

3. 主配置文件介绍

Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第12张图片

例如
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第13张图片

4. yum日志轮转示例

删除原来yum日志文件
在这里插入图片描述

创建新日志文件,名字随意,自己知道即可
在这里插入图片描述

写入代码
Linux日志管理(rsyslog系统日志和logrotate日志轮转)_第14张图片

查看当前日志
在这里插入图片描述

手动更新并查看日志
在这里插入图片描述

成功自定义日志规则

你可能感兴趣的:(Linux每日学习更新进程,linux,ubuntu,centos,服务器,运维)