包括rsyslog 系统日志管理和logrotate日志轮转
关注问题:哪类程序产生的什么日志,存放路径
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 查看网站访问日志
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 是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。
man 3 syslog 查看日志类型级别手册
设备类型
level级别
为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。
按照配置进行轮转
主配置文件:/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