Linux笔记12_日志管理
Linux_日志管理
一、日志进程rsyslog
重要性:内核和系统会产生各种信息错误
简介
- 日志管理
关心问题
- 那类程序
- 产生的什么日志
- 放到什么地方
一、日志处理的进程
-
第一类
- rrsyslogd:系统专职日志程序
- 处理绝大部分日志记录
- 系统操作有关信息,如登录信息,程序启动关闭信息,错误信息
-
第二类
- httpd/nginx/mysql:各类应用程序,可以以自己的方式记录日志。
-
观察rsyslogd程序
[[email protected] ~]# ps aux | grep rsyslogd
二、常见的日志文件(系统、进程、应用程序)
- [[email protected] var]# cd /var/log/
[[email protected] log]# ls
- [[email protected] log]# tail -1 /var/log/messages
Aug 29 09:30:01 server systemd: Started Session 162 of user root.
注:没必要关注每一行都是什么意思
-
动态查看日志文件尾部 tail -f /var/log/messages
-
认证、安全 tailf /var/log/secure 系统用户登陆、权限等
-
yum tailf /var/log/yum.log
-
跟邮件postfix相关 tailf /var/log/maillog
-
crond、at进程产生的日志 tailf /var/log/cron
-
和系统启动相关 tailf /var/log/dmesg
rsyslofd配置
- 相关程序
- yum install rsyslog logrotate
- 启动程序
- systemcrl start rsyslog.service
- 相关文件
- [[email protected] ~]# rpm -qc rsyslog 配置文件
/etc/logrotate.d/syslog 相关文件(了解)
/etc/rsyslog.conf 主配置文件
/etc/sysconfig/rsyslog 日志办轮转切割相关
- [[email protected] ~]# rpm -qc rsyslog 配置文件
主配置文件
46 #### RULES #### ——规则(什么程序产生的什么日志放在什么位置)
64 cron.* /var/log/cron
vim /etc/rsyslog.conf
- 46 #### RULES ####
- RULES——规则,是一套生成日志、以及存储日志的策略
- 三部分组成:规则由设备+级别+存放位置组成
- RULES由ACILITY+LECEL+FILE组成
-
.info;mail.none;authpriv.none;cron.none /var/log/messages
57 authpriv. /var/log/secure ——ssh信息,认证、安全
60 mail.* -/var/log/maillog ——发邮件
64 cron.* /var/log/cron ——创建任务
- 修改配置文件后
- [[email protected] ~]# ps aux | grep rsyslog
- kill -1 进程号
- 注:没日志就不会创建文件
二、日志轮转logrotate
简介
- 日志:记录了程序运行时各种信息
- 通过日志可以分析用户行为,记录运行轨迹,查找程序问题
- 可惜磁盘空间是有限的
- 日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发送的事
- 为了节约空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久的日志文件
工作原理
- 按照配置进行轮转
- 配置文件种类
- 主文件 /etc/logrotate.conf
- 子文件夹 /etc/logrotate.d/* —— 自定义(好删除)
- 观察主文件和子文件
- 配置文件种类
logrotate日志轮转
-
主配置文件
- ------------------------------全局设置---------------------------------
- 3 weekly ——轮转周期,一周轮转
- 6 rotate 4 ——保留4份
- 9 create ——轮转后创建新文件
- 12 dateext ——使用日期作为后缀
- 15 #compress ——是否压缩(压缩会消耗CPU性能)
- 18 include /etc/logrotate.d ——包含该目录下的子配置文件
- ------------------------------------2---------------------------------------
- /var/log/wtmp { ——对某个日志文件设置轮转的方法
monthly ——一月轮转一次
create 0664 root utmp ——创建日志文件,并且设置权限
minsize 1M ——最小1M才轮转
rotate 1 ——保留一份
}
-
子配置文件(yum为例)
-
[[email protected] ~]# cat /etc/logrotate.d/yum
/var/log/yum.log {
missingok ——丢失不执行
notifempty ——空文件不轮转
maxsize 30k ——达到30k轮转
yearly ——一年轮转一次——daly(缩小周期到1天) create 0600 root root ——
-
日志轮转实战
[[email protected] log]# logrotate /etc/logrotate.conf
现在删除不掉message文件
注:a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。