1.简介:rsyslog 系统日志管理;关心问题:哪类程序---》产生的什么日志----》放到什么地方
2.logrotate日志轮转;将大量的日志,分割管理,删除旧日志。
3.处理日志的进程:
第一类:rsyslogd:
(1)系统专职日志程序。
(2) 处理绝大部分日志记录,
(3)系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息
第二类:httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志.
讲解对应程序时会逐步介绍
4.观察 rsyslogd程序:
liunx——日志管理_第1张图片
5.常见的日志文件(系统、进程、应用程序)
liunx——日志管理_第2张图片
6.rsyslogd配置:
(1)相关程序 yum install rsyslog logrotate
默认已安装
liunx——日志管理_第3张图片
(2)启动程序:systemctl start rsyslog.service
liunx——日志管理
(3)相关文件:
rpm -qc rsyslog //观察日志程序的配置文件
liunx——日志管理_第4张图片
/etc/rsyslog.conf rsyslogd的主配置文件(关键)
liunx——日志管理_第5张图片
/etc/sysconfig/rsyslog rsyslogd相关文件,定义级别(了解一下)

tail  /var/log/lastlog       //所有用户的登录情况(命令lastlog )

![](https://s4.51cto.com/images/blog/202008/07/ef13d1859adf776dc3574823d1316560.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

7.主配置文件:告诉rsyslogd进程什么日志,应该存到哪里。

vim /etc/rsyslog.conf

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

liunx——日志管理_第6张图片

  1. FACILITY&LEVEL:
    (1)facility设备:是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。 不懂可以查:# man 3 syslog
    设备类型:liunx——日志管理_第7张图片
    (2)level级别:liunx——日志管理_第8张图片
    (3)规则示意图:目的:通过绘图形式来理解日志工作机制。
    liunx——日志管理_第9张图片
    9.程序类型示例:
    (1).关于程序和设备的联系问题,程序自身会决定将日志交给哪类设备。
    如SSH程序会选择安全类设备。这一点由开发者定义。
    (2)修改ssh程序的设备类型:
    vim /etc/ssh/sshd_config
    #SyslogFacility AUTHPRIV
    SyslogFacility LOCAL5
    liunx——日志管理_第10张图片
    (2)修改rsyslog程序的规则:
    vim /etc/rsyslog.conf
    liunx——日志管理_第11张图片
    (3)重启rsyslog程序和ssh程序:
    systemctl restart rsyslog.service sshd

(4)使用其他终端,登录服务器,观察新日志文件。

10.logrotate日志轮转:简介;
(1)日志 记录了程序运行时各种信息。
(2)通过日志可以分析用户行为,记录运行轨迹,查找程序问题。
(3)可惜磁盘的空间是有限的
(4)日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。
(5)为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。
11.工作原理:按照配置进行轮转:
(1)按照配置进行轮转:主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
子配置文件夹:/etc/logrotate.d/*自定义配置 便于管理
liunx——日志管理_第12张图片
12.主配置文件介绍:vim /etc/logrotate.conf
liunx——日志管理_第13张图片
=========全局设置==========
weekly //轮转的周期,一周轮转
rotate 4 //保留4份
create //轮转后创建新文件
dateext //使用日期作为后缀
#compress //是否压缩
include /etc/logrotate.d //包含该目录下的子配置文件

![](https://s4.51cto.com/images/blog/202008/07/84ea237a3cefe1d297f253da93ede6f7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk
/var/log/wtmp {     //对某日志文件设置轮转的方法

monthly //一月轮转一次
minsize 1M //最小达到1M才轮转,monthly and minsize(同时达到两个条件)
create 0664 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}

liunx——日志管理_第14张图片
/var/log/btmp {
missingok //丢失不提示
monthly //每月轮转一次
create 0600 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}
13.yum日志轮转实例
(1)轮转的目标文件/var/log/yum.log
liunx——日志管理_第15张图片
/var/log/yum.log {
missingok //丢失不执行
#notifempty //空文件不论转
#maxsize 20k //达到30k轮转, daily or size
#yearly //或者一年一轮转
daily //缩小周期到1天
rotate 2 //轮转保留2次
create 0777 root root
}
14.测试:修改时间

liunx——日志管理

手动轮转:

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
liunx——日志管理
查询:liunx——日志管理
liunx——日志管理_第16张图片
最多保存两份日志:liunx——日志管理_第17张图片