1. 日志程序rsyslog
rsyslog专门处理系统日志的程序,处理绝大部分的日志记录,主要记录系统操作有关的信息,如登录信息、程序启动关闭信息、错误信息。各种应用程序也有可能产生日志信息,不属于本节所述。
日志大部分存储在/var/log
目录下。实时显示日志文件tail -f /var/log/messages
。
CentOS系列Linux的日志(Ubuntu不太一样,但是也有该程序)
-
/var/log/messages
记录主日志。 -
var/log/security
记录认证、安全相关日志。 -
/var/log/yum.log
记录yum相关日志。 -
/var/log/maillog
记录跟邮件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)
1.1 rsyslog配置
- 安装:
yum install rsyslog
,默认已经安装。 - 启动:
systemctl start rsyslog.service
- 相关文件:
列出所有相关文件:CentOS:rpm -ql rsyslog
,Ubuntu:dpkg -S rsyslog
。
列出配置文件:CentOS:rpm -qc rsyslog
,Ubuntu:dpkg -s rsyslog
,Conffiles部分。这一部分可以参考:RPM & APT
-
/ect/rsyslog/rsyslog
:rsyslogd的主配置文件**【关键】** -
/etc/sysconfig/rsyslog
:定义日志级别 -
/etc/logrotate.d/syslog
:和日志轮转(切割)相关
1.2 主配置文件
主配置文件一般都位于/etc
目录下,并且一般以程序名.conf
命名。
RULES: 设备.日志级别 file-path
,即FACILITY.LEVEL FILE
。应用程序属于什么设备是由开发人员确定的,一种设备对应多个应用程序,一个应用程序对应一种设备。
Ubuntu的这个文件位于需要查看/etc/rsyslog.conf
中rules
所述在哪个文件,然后现在是在/etc/rsyslog.d/50-default.conf
。
设备的类型和日志的级别具体的内容可以查看:man 3 syslog
-
authpriv.* /var/log/secure
认证设备日志 -
mail.* /var/log/maillog
邮件日志位置 -
cron.* /var/log/cron
定时任务日志
日志的级别:
-
emerg(ency)
-
error
-
info
-
debug
-
*
:代表任何级别
:star:一般不要修改这个
/etc/rsyslog.conf
,如果修改了配置文件要使其生效的方式有(坚决推荐不要修改!!!):
2. 日志轮转 logrotate
安装:yum install logrotate
启动:systemctl start logrotate.service
需要日志轮转是因为,日志有很多有用的信息,但是磁盘空间有限。所以需要删除不需要的日志。但是这是系统自动完成的,不需要手动调用logrotate
。手动调用是:/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
,-s
是指定logrotate日志轮转状态文件。
logrotate的工作原理是按照配置进行轮转。
配置文件:
-
/etc/logrotate.conf
:主配置文件,决定每个日志文件如何轮转 -
/etc/logrotate.d/*
:子配置目录,一般是自定义,将来不想要了好删除,而且万一改错了,可以删除子配置,不影响原来的程序
配置的具体方式查看man logrotate
。
-
weekly
:轮转的周期,按周来轮转 -
rotate 4
:保留4份 -
create
:轮转后创建新文件(老文件重命名) -
dateext
:使用时间作为文件后缀名称 -
compress
:压缩日志文件,默认关闭 -
include /etc/logrotate.d
:包含该目录下的子配置文件
子配置文件内容举例:
- 子配置文件的优先级高于全局配置文件
- 只有当
monthly
和minsize
的条件都达到了,才会发生轮转。而monthly
和maxsize
是或的关系,有一个达到就会轮转。