日志管理
日志进程rsyslogd
rsyslogd:系统专职日志程序,处理大部分日志记录,系统操作有关的信息,如:登录信息,错误信息等
常见的日志文件
- tail -10 /var/log/messages :查看系统主日志文件的前10行
- tail -f /var/log/messages :动态查看系统主日志文件
- /var/log/secure : //认证,安全
- /var/log/yum.log : //yum
- /var/log/maillog : //跟邮件postfix相关
- /var/log/cron: //crond,at进程相关日志
- /var/log/dmesg: //系统启动相关
配置rsyslogd
yum install rsyslog logrotate //安装
systemctl start rsyslog.service //启动程序
rpm -qc rsyslog //查询软件包的安装情况/配置文件
/etc/rsyslog.conf //rsyslogd的主配置文件
/etc/sysconfig/rsyslog //rsyslogd相关文件,定义级别
/etc/logrotate.d/syslog // 和日志轮状相关
主配置文件
vim /etc/rsyslogd.conf
RULES
规则,是一套生成日志,以及存储日志的策略;规则由设备+级别+存放位置组成
RULES = FACILITY + LEVEL + FILE
authpriv.* /var/log/secure(SSH信息)
mail.* -/var/log/maillog(发邮件)
cron.* /var/log/cron(创建任务)
FACILITY&LEVEL
facility设备
程序自身会决定将日志交给哪类设备,收集同类日志。eg:SSH程序交给安全设备。(由开发者定义)
设备类型
- LOG_SYSLOG:syslogd自身产生的日志
- LOG_AUTHPRIV:安全认证
- LOG_CRON:系统调度
- LOG_MAIL:有劲啊系统mail subsystem
- LOG_USER:用户相关
- LOG_DEMON:后台进程
- LOG_FTP:文件服务器
- LOG_KERN:内核程序
- LOG_LPR:打印机
- LOG_LOCAL0 ~ LOG_LOCAL7:自定义设备
level级别
- LOG_EMERG:紧急,致命,服务器无法继续运行,如配置文件丢失
- LOG_ALERT:报警,需要立即处理
- LOG_CRIT:致命行为
- LOG_ERR:错误行为
- LOG_WARNING:警告信息
- LOG_NOTICE:普通,重要的标准信息
- LOG_INFO:标准信息
- LOG_DEBUG:调试信息,排错所需
日志轮转logrotate
通过日志可以分析用户的行为,记录运行轨迹,查找程序问题
为了节省空降和方便整理,日志文件经常需要按时间或大小等维度分成多份,删除时间久远的日志文件
按照配置进行轮转
配置文件种类
主文件 /etc/logrotate.conf(决定每个日志文件如何轮转)
子文件 /etc/logrotate.d/*(自定义配置)
- weekly:轮转的周期
- rotate4:保留4份
- create:轮转后创建新文件
- dateext:使用日期后作为后缀
- compress:是否压缩
- include /etc/logrotate.d:包含该目录下的子配置文件
- /var/log/wtmp{ //对某日志文件设置轮转的方法
monthly //一月轮转一次
create 0664 root utmp //轮转后创建新文件并设置权限
minsize 1M //最小达到1m才轮转
rotate 1//保留1份
} - /var/log/btmp {
missingok //丢失不提示
monthly//每月轮转
create 0600 root utmp//轮转后创建新文件并设置权限
}