日志管理(排错,查看问题时候查看)
/etc/rsyslog.conf rsyslog的主配置文件
/etc/rsyslog.d rsyslog 的子配置文件
vim /etc/rsyslog.conf (告诉rsyslog进程什么日志应该存在哪里)
RULES:即规则,是一套生成日志及存储日志的策略
RULES:即规则,有三部分组成,(设备+级别+存放位置)
示例:authpriv.* /var/log/secure SSH信息(同步方式存储---慢)
mail.* -/var/log/maillog 发邮件(异步方式存储----快)
cron.* /var/log/cron 创建任务(同步方式存储---慢)
facility(设备)
1、是系统对某种类型APP事件的定义,如authpriv 是安全事件,cron是计划任务事件。
2、帮助手册 man 3 syslog
设备类型:LOG_SYSLOG syslog自身产生的日志
LOG_AUTHPRIV 安全认证日志
LOG_USER(defaults) 用户相关的日志
程序类型示例:
grep facility /etc/ssh/sshd_config
级别(level)
LOG_INFO 标准信息 次 (信息量大)
LOG_ERR 错误行为 高 (信息量小)
存放位置 自定义存放
通过绘图形式来理解日志工作机制。如图所示
(1)简介:
1、磁盘的空间是有限的
2、日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。
(2)查看相关文件:rpm -qc logrotate
系统默认已安装:yum -y install logrotate
主配置文件:/etc/logrotate.conf (全部默认配置)
子配置文件:/etc/logrotate.d/* (个别配置)
(3)vim /etc/logrotate.conf 主配置文件
全局日志
weekly // 轮转的周期,一周轮转
rotate 4 // 保留4份(保留的是一个月)
create // 轮转后创建新日志文件
dateext // 使用日期作为后缀
compress // 是否压缩
include /etc/logrotate // 包含该目录下的子配置文件
/var/log/wtmp { // 对某日志设置轮转方法
monthly // 一个月轮转一次
minsize 1M // 最小达到1M才轮转,monthly和minsize要同时达到两个条件
maxsize //与日期异或,达到一个或两个条件
create 0664 root utmp // 轮转后创建新文件,并设置权限
rotate 1 // 保留一份
}
改写yum的轮转规则
方法一:vim /etc/logrotate.conf 主配置文件 进去写
方法二:vim /etc/logrotate.d/yum 进入子配置文件,改写规则
/var/log/yum.log {
# missingok 丢失不执行
#notitempty 空文件不轮转
#maxsize 30K 达到30k轮转,daily或size
#yearly 一年轮转一次
#create 0600 root root 轮转后创建新文件,并设置权限
daily 缩小周期到一天
rotate 3 轮转保留三次
create 0777 root root
错误示范:
没有设置日期,即使轮转多次也只有一个新的文件
正确示范:修改时间,手动触发轮转
发绿:有执行权限
发黑:无执行权限
2、找message系统日志
方法1:cat /etc/logrotate.d/* | grep messages
方法2:
日志保护:使日志只能追加,不能删除
logrotate配置方法是已知的,但是logrotate是谁让他们运行的呢?
答案是:cron
#ls /etc/cron*
/etc/crontab 是主配置
/etc/cron.d 是子配置
Vim /etc/cron.d/0hourly (内有一个计划任务,每小时以root用户执行任务)
系统级计划任务:anacron 专门解决未执行的任务
Vim /etc/cron.hourly/0anacron(cron.hourly该目录存储着系统的任务计划anacron程序—救急)
Vim /etc/anacrontab 主配置文件 (anacron 按日,周,月,定期执行任务,其中包含logrotate程序)
- 日志进程rsyslog
-
1、关心的问题:那类程序,产生什么日志,放到什么地方
2,、rsyslog:系统专职日志程序,处理绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息。(systemctl status rsyslog.service 查看状态必须是开启的,否则是关闭的不能记录日志信息)
3、观察rsyslog进程:ps aux |grep rsyslog
#ls /var/log 内容全是日志文件
boot 启动日志
cron 计划日志
dmesg 系统启动
wtmp 当前登录用户
btmp 最近登录用户
4、系统主日志
查看系统的主日志:ls /var/log/messages
对主日志计数:cat /var/log/messages |wc -l
找错用tail 看后10行:tail -10 /var/log/messages
tailf /var/log/messages = tail -f /var/log/messages (锁在屏幕,多窗口查看)
5、安全日志
tailf /var/log/secure 与登录有关
6、安装日志
tailf /var/log/yum.log
7、邮件日志
tailf /var/log/maillog
格式:时间 :主机 : 程序类型 : 什么事
8、rsyslog配置:
(1)相关程序 yum -y install rsyslog 默认已安装
(2)启动程序 systemctl start rsyslog.service
- 相关文件 rpm -qc rysylog
- 查看日志管理配置文件 ls /etc/rsyslog*
- 日志轮转 logrotate
- 关于logrotate和cron运行原理