包括rsyslog 系统日志管理和logrotate日志轮转

  • rsyslog 系统日志管理

关注问题:哪类程序产生的什么日志,存放路径

rsyslogd: 系统专职日志程序,处理绝大部分日志记录,系统操作有关的信息。
各类应用程序都可以以自己的方式记录日志。

ps aux | grep rsyslogd 查看rsyslogd程序

在这里插入图片描述

tail -10 /var/log/messages    系统主日志文件
tail -f /var/log/messages  动态查看日志文件尾部
tailf /var/log/secure   认证、安全

tail /var/log/yum.log   yum
tail /var/log/maillog    跟邮件postfix相关
tail /var/log/cron      crond、at进程产生的日志
tail /var/log/dmesg    和系统启动相关
tail /var/log/audit/audit.log    系统审计日志
tail /var/log/mysqld.log     MySQL
tail /var/log/xferlog      和访问FTP服务器相关
tail  /var/log/wtmp      当前登录的用户(命令:w)
tail  /var/log/btmp     最近登录的用户(命令last)
tail  /var/log/lastlog    所有用户的登录情况(命令lastlog )

网站日志管理

yum install -y httpd
systemctl  start  httpd
systemctl stop  firewalld

设置桥接

systemctl  restart  network
ip  a

输入IP地址访问网络

tailf  /var/log/httpd/access_log   查看网站访问日志

  • rsyslogd配置
yum install logrotate
systemctl  start    rsyslog.service

rpm -qc rsyslog                     查看日志配置文件
/etc/rsyslog.conf                    rsyslogd主配置文件
/etc/sysconfig/rsyslog           rsyslogd相关文件
/etc/logrotate.d/syslog           和日志轮转(切割)相关文件

主配置文件
vim /etc/rsyslog.conf

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
系统日志排除了邮件,认证,计划日志。

  • FACILITY&LEVEL

facility 是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。

man 3 syslog 查看日志类型级别手册

设备类型

level级别

  • logrotate日志轮转

为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。

按照配置进行轮转
主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
子配置文件夹:/etc/logrotate.d/* 自定义配置,便于管理

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 //保留一份
}

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