日志管理
一、日志简介
1、日志相关服务
1.服务rsyslog以及配置文件
1)/etc/rsyslog.conf
2)/etc/rsyslog.d
2、系统中常见的日志文件
日志文件 | 说明 |
/var/log/cron | 记录系统定时任务相关的日志。 |
/var/log/cups/ | 记录打印信息的日志。 |
/var/log/dmesg/ | 记录系统在开机时内核自检的信息。 |
/var/log/btmp | 记录错误登录的日志。这个文是二进制文件,不能 直接vi查看,而是使用lastb命令查看。 |
/var/log/lastlog | 记录系统所有用户最后一次登录时间的日志。 |
/var/log/mailog | 记录邮件信息。 |
/var/log/message | 记录系统重要信息的日志。 |
/var/log/secure | 记录验证和授权方面的信息。 |
/var/log/wtmp | 永久记录所有用户的登录、注销信息。 |
/var/run/utmp | 记录当前已经登录的用户的信息。 |
3、采用RPM包安装的服务的日志记录在/var/log目录中
日志文件 | 说明 |
/var/log/httpd/ | apache服务 |
/var/log/mail/ | 邮件服务额外日志目录 |
/var/log/samba/ | samba服务的日志 |
/var/log/sssd/ | 守护进程安全服务目录 |
二、日志服务rsyslog
1、日志文件格式
1)事件产生的时间;
2)发生事件的服务器主机名;
3)产生事件的服务名或程序名;
4)事件的集体信息。
2、rsyslog服务的配置文件
1)/etc/rsyslog.conf配置文件格式
authpriv.* /var/log/secure
#服务名称.日志等级 日志记录位置
#认证相关服务.所有日志等级 记录在/var/secure日志中
2)连接符号
“.”代表只要比后面的等级高的日志都记录下来。
“.=”代表只记录所需等级的日志,其他等级的都不记录。
“.!”代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。
3)日志等级
debug #调试信息说明
info #基本的通知信息
notice #普通信息
warning #警告信息
err #错误信息
crit #临界状况信息
alert #警告状态信息
emerg #疼痛等级信息
* #代表所有日志等级
4)日志记录位置
3、/etc/rsyslog.conf配置文件的内容
4、定义自己的日志
[root@localhost ~]# vi /etc/rsyslog.conf
#写入
*.crit /var/log/alert.log
[root@localhost ~]# service rsyslog restart
三、日志轮替
1、日志文件的命名规则
说明:主要依靠“dateext参数”。
2、logrotate配置文件
1)logrotate配置文件的主要参数
参数 | 参数说明 |
daily | 轮换周期每天 |
weekly | 轮换周期每周 |
monthly | 轮换周期每月 |
rotate数字 | 保留的日志文件的个数。0指没有备份 |
compress | 日志轮换时,旧日志进行压缩 |
create mode owner group | 建立新日志,同时指定新日志的权限与所有者和所属组。如:create 0600 root utmp |
mail address | 当日志轮替时,输出内容通过邮件发送到指定的邮件地址。如:mail yyz@lamp.net |
missingok | 如果日志不存在,则忽略该日志的警告信息。 |
notifempty | 如果日志为空文件,则不进行日志轮替。 |
minsize | 日志轮替的最小值。 |
size | 日志只有大于指定大小才进行日志轮替。 |
dateext | 使用日期作为日志轮替文件的后缀。如:secure-20200420 |
sharedscripts | 在此关键字之后的脚本只执行一次。 |
prerotate/endscript | 在日志轮替之前执行脚本命令。 |
postrotate/endscript | 在日志轮替之后执行脚本命令。 |
3、把自己的日志加入日志轮替
1)第一种:修改/etc/logrotate.conf配置文件
2)第二种:在/etc/logrotate.d/目录中新建日志的轮替文件
4、logrotate命令
[root@localhost ~]# logrotate [选项] 配置文件名
选项:
-v 显示日志轮替过程。
-f 强制进行日志轮替。
[root@localhost ~]# logrotate –v /etc/logrotate.conf
[root@localhost ~]# logrotate –vf /etc/logrotate.conf