简介:
rsyslog 系统日志管理 ---关心哪类程序---产生的什么日志 ---放到什么地方
logrotate 日志轮转 ---将大量的日志,分割管理,删除旧日志
一、任务一详解
1.处理日志的进程
第一类:
rsyslogd:系统专职日志程序
处理绝大部分日志记录
系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息
第二类:
httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志.讲解对应程序时会逐步介绍
观察rsyslog程序:
[root@localhost ~]# ps aux |grep rsyslogd
root 717 0.0 0.0 219752 3880 ? Ssl 09:05 0:00 /usr/sbin/rsyslogd -n
2.常见的日志文件(系统、进程、系统程序)
#tail -10 /var/log/messages ---系统主日志文件
#tail -f /var/log/messages --动态查看日志文件的尾部
#tail /var/log/secure -----认证、安全
#tail /var/log/yum.log ----yum
#tail /var/log/maillog --跟邮件postfix相关
#tail /var/log/cron ---crond、at进程产生的日志
#tail /var/log/dmesg ----和系统启动相关
3.rsyslogd配置
(1)相关程序
yum install rsyslog logrotate
(2)启动程序
systemctl start rsyslog.service
(3)相关文件
Rpm -qc rsyslog
4.主配置文件-- # vim /etc/rsyslog.conf
(1)RULES
RULES:即规则,是一套生成日志,以及存储日志的策略。
RULES即规则,有三部分组成(由设备+级别+存放位置)--RULES由FACILITY+LEVEL+FILE组成。
authpriv.* /var/log/secure(SSH信息)
mail.* -/var/log/maillog(发邮件)
cron.* /var/log/cron(创建任务)
(2)FACILITY&LEVEL
facility设备:是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。
#man 3 syslog
程序类型示例
#grep Facility /etc/ssh/sshd_config
SyslogFacility AUTHPRIV
二、任务二详解
logrotate日志轮转
简介:
日志--记录了程序运行时各种信息。
通过日志可以分析用户行为,记录运行轨迹,查找程序问题。
可惜磁盘的空间是有限的
- 工作原理---按照配置进行轮转
I:主配置文件:/etc/logrotate.conf -----决定每个日志如何轮转
II:子配置文件夹:/etc/logrotate.d/* ----自定义配置,便于管理
III观察主文件和子文件
[root@qianfeng ~]# ls /etc/logrotate.conf /etc/logrotate.d/
/etc/logrotate.conf
/etc/logrotate.d/:
acpid cups iscsiuiolog ppp rpm subscription-manager up2date wpa_supplicant
conman httpd mgetty psacct setroubleshoot syslog vsftpd.log yum
2.主配置文件介绍
[root@localhost ~]# vim /etc/logrotate.conf
=============================================全局设置============================================
weekly //轮转的周期,一周轮转
rotate 4 //保留4份
create //轮转后创建新文件
dateext //使用日期作为后缀
#compress //是否压缩
include /etc/logrotate.d //包含该目录下的子配置文件
/var/log/wtmp { //对某日志文件设置轮转的方法
monthly //一月轮转一次
minsize 1M //最小达到1M才轮转,monthly and minsize(同时达到两个条件)
create 0664 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}
/var/log/btmp {
missingok //丢失不提示
monthly //每月轮转一次
create 0600 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}
3.yum日志轮转实例
轮转的目标文件 : /var/log/yum.log
# vim /etc/logrotate.d/yum
/var/log/yum.log {
missingok //丢失不执行
# notifempty //空文件不论转
# maxsize 30k //达到30k轮转, daily or size
# yearly //或者一年一轮转
daily //缩小周期到1天
rotate 3 //轮转保留3次
create 0777 root root
}
测试:
# date 04011000 --- 修改时间
# /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf ---手动测试
# ls /var/log/yum* --日志文件已经出现多个
关于时间
# grep 'yum' /var/lib/logrotate/logrotate.status //记录所有日志文件最近轮转 的时间
"/var/log/yum.log" 2019-3-31-10:0:23 -//如果没有轮转过,第一次只有记录