linux日志管理rsyslog、logrotate解析

Rsyslog 系统日志管理

它是系统的日志程序可以记录系统的日志信息如登录信息程序启动关闭信息,错误信息等
,还可以记录各种应用程序的日志 如 httpd等的日志。
我么可以使用ps aux | grep rsyslog命令来查看rsyslog程序的进程信息。

常见的系统日志文件

Tail -10 /var/log/messages //系统主日志文件 Tail -f /var/logmessages //动态查看日志文件的尾部 Tailf /var/log/secure //认证信息 安全信息 Tail /var/log/yum.log //yum日志 Tail /var/log/maillog //跟邮件postfix相关 Tail /var/log/cro //crond、at等进程产生的日志 Tail /car/log/dmesg //和系统启动相关

Rsyslogd配置

1 安装程序 yum install rsyslog logrotate
2 启动程序 systemctl start rsyslog.service
使用[root@localhost /]# rpm -qc rsyslog命令查看rsyslog程序的配置信息
/etc/logrotate.d/syslog //日志轮转相关
/etc/rsyslog.conf //主配置文件
/etc/sysconfig/rsyslog //定义级别

主配置文件/etc/rsyslog.conf

打开该文件 其中有多个项目
RULES 规则 是一套生成日志,以及存储日志的策略,有三部分组成 设备+级别+存放位置
cron.* /var/log/cron (创建任务)
mail.* -/var/log/maillog(发邮件)

facility设备是系统对某种类型app事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件,
设备类型
LOG_SYSLOG //syslogd自身产生的日志
LOG_AUTHPRIV //安全认证
LOG_CRON //调度程序(cron and at)
LOG_MAIL//邮件系统mail subsystem
LOG_USER (default)//用户相关
LOG_DAEMON//后台进程
LOG_FTP//文件服务器ftp daemon
LOG_KERN//内核设备kernel messages
LOG_LPR//打印机设备
LOG_LOCAL0 through LOG_LOCAL7//用户自定义设备

程序类型示例

tailf /var/log/httpd/access_log 动态岔开httpd日志
打开另一个终端进行如下操作
systemctl start httpd 打开httpd服务
systemctl stop firewalld 关闭防火墙
用局域网内其他电脑进行登录 查看log信息如下 :
linux日志管理rsyslog、logrotate解析_第1张图片

level级别

LOG_EMERG 		紧急,致命,服务无法继续运行,如配置文件丢失
LOG_ALERT 		报警,需要立即处理,如磁盘空使用95%
LOG_CRIT 		致命行为
LOG_ERR 		错误行为
LOG_WARNING	 警告信息
LOG_NOTICE 	普通,重要的标准信息
LOG_INFO 		标准信息
LOG_DEBUG 		调试信息,排错所需,一般不建议使用

Logrotate日志轮转

日志轮转,就比如我们的桌子上,可以放一个笔记本电脑和其他东西刚好放满,如果我们买了新的东西 就要给原来的不太需要的旧东西拿走,这就类似linux中的logrotate日志轮转
Logrotate按照配置进行轮转 系统中有两个配置文件 主配置文件 /etc/logrotate.conf和子配置文件/etc/logrotate.d/*

主配置文件介绍

# see "man logrotate" for details
# rotate log files weekly
Weekly   //轮转周期 一周轮转

rotate 4		//保留四分

create	//轮转后创建新文件

dateext	//使用日期作为后缀
	
#compress		//是否压缩

include /etc/logrotate.d	//包含该目录下的子配置文件


/var/log/wtmp {		//对某日志文件设置轮转的方法
    Monthly			//每月轮转一次
    create 0664 root utmp		//轮转后创建新文件并设置权限
	minsize 1M				//最小达到1M才能够轮转,如果达不到1M就算到了一个月轮转期限也不轮转 	
    rotate 1			//log只保留一份
}

/var/log/btmp {
    Missingok		//丢失不提示	
    Monthly				//每月轮转一次
    create 0600 root utmp			//结束轮转后创建文件,并设置权限
    rotate 1				//只保留一份
}

yum日志轮转实例

轮转的目标文件 /var/log/yum.log
配置轮转规则 vim /ver/logrotate.d/yum
修改为(记得备份原内容)/var/log/yum.log {
missingok //丢失不执行
daily //轮转周期为一天
rotate3 //保留三份
create 0777 root root //轮转后创建新文件并设置权限为777
}
配置完成后
修改系统时间 触发日志轮转
date 09111416 //修改系统时间为2020年9月11日14点16分
然后执行该命令

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf

再查看 日志文件 已经出现多个,并且重复修改时间执行命令 会新增文件,文件多于三个就会删除最早的那一个文件。
ll /var/log/yum*
-rwxrwxrwx 1 root root 0 9月 5 10:00 /var/log/yum.log-20200906
-rwxrwxrwx 1 root root 0 6月 18 14:16 /var/log/yum.log-20200910
-rwxrwxrwx 1 root root 0 9月 10 14:16 /var/log/yum.log-20200911

你可能感兴趣的:(centos,linux,shell)