rsyslog系统日志管理
哪类程序产生的什么日志放到什么地方
处理日志的进程
第一类:
rsyslogd:系统专职日志程序,处理绝大部分日志记录,系统操作相关的信息,如登录信息,程序启动关闭相关信息,错误信息等。
第二类:
各类应用程序(nginx、httpd、mysql等)以自己的方式记录日志
常见的日志文件
- /var/log/message:系统主日志文件
- /var/log/secure:认证、安全相关
- /var/log/yum.log:与yum相关
- /var/log/mailog:邮件postfix相关
- /var/log/cron:与crond、at产生的日志
- /var/log/dmesg:和系统启动有关
- /var/log/audit/audit.log:系统审计日志
- /var/log/mysqld.log:与mysql相关
- /var/log/xferlog:访问ftp服务器相关
- /var/log/wtmp:当前登录用户(命令w)
- /var/log/btmp:最近登录的用户(命令last)
- /var/log/lastlog:所有用户的登录情况(命令lastlog)
rsyslogd配置
相关程序:rsyslog 和 logrotate 默认都已安装(yum -y install rsyslog logrotate)
启动程序:systemctl start rsyslog.service
相关文件:通过 rpm -qc rsyslog 查询 rsyslog 的配置文件
/etc/rsyslog.conf:主配置文件
/etc/rsysconfig/rsyslog:rsyslogd相关文件,定义级别
/etc/logrotate.d/syslog:与日志轮转相关
/etc/rsyslog.conf
告诉rsyslogd进程什么日志应该放到哪里
vim /etc/rsyslog.conf
其中设备后面的符号区别
. :代表比后面还要严重的等级(含该等级)都被记录下来,最常用
.=:仅仅是所需要的等级记录下来
.!:除去该等级外的都记录下来
rules
rules即规则,一套生成日志,存储日志的策略。由三部分组成:设备facility + 级别level + 存放位置file 。
facility
是系统对于某种类型的程序的定义,如 authpriv 是安全类事件,cron是计划任务类事件。用于收集同类程序日志。
- log_syslog:syslogd自身产生的日志
- log_authpriv:安全认证
- log_cron:与计划任务相关
- log_mail:邮件系统
- log_user(default):用户相关
- log_daemon:后台进程
- log_ftp:文件服务器ftp
- log_kern:内核设备
- log_lpr:打印机设备
- log_local0 through log_local7:用户自定义设备
level
自下而上,级别从低到高,级别越高,记录的信息越少
- emerg:紧急,致命,系统几乎要宕机
- alert:警告
- crit:临界点
- error:错误
- warning:警示的信息
- notice:正常,但比info要多注意一些
- info:基本信息的说明
- debug:用于排错时产生的信息数据,事无巨细全部记录
logrotate日志轮转
将大量的日志分割管理,删除旧日志,按照配置轮转,记录的信息再多也只能保存最后一段时间发生的事情
主配置文件:/etc/logrotate.conf 设定每个日志文件如何轮转
子配置文件夹:/etc/logrotate.d/* 自定义配置,便于管理
/etc/logrotate.conf