日志
日志的分类
-
系统日志
rsyslogd
,记录系统相关的内容 -
各类应用程序日志
应用程序是自己安装的,例如httpd/nginx/mysql等
-
软件安装日志:
yum history info
命令可以查看安装的日志 -
邮件日志
/var/log/maillog
日志存储的位置
下面的命令直接tail -f 即可
-
/var/log/message
:系统主日志 -
/var/log/secure
:与安全相关的日志 -
/var/log/maillog
:与邮箱相关的 -
/var/log/cron
:与定时任务相关的
日志位置配置
用到的服务是rsyslogd
,
-
安装
yum install rsyslog
-
启动
systemctl start rsyslog.service
-
查找并打开该日志管理程序的配置文件(红帽分支才有rpm这个命令)
rpm -qc rsyslog
命令用于查询安装的 rsyslog 软件包中的配置文件。具体来说:-q
选项表示查询软件包。-c
选项表示查询软件包的配置文件。
因此,
rpm -qc rsyslog
将列出 rsyslog 软件包中的所有配置文件的路径。这可以帮助你找到 rsyslog 的配置文件,并了解它们的位置。 -
给各种应用程序配置日志规则
-
给应用程序指定Facility
如果想要将某个应用程序的日志通过rsyslogd进行配置,首先在应用程序配置文件中,给日志指定某个facility,之后在rsyslogd的配置文件中对这个facility的日志位置进行配置即可。
-
对facility进行配置
- 规则类似:
cron.* /var/log/cron
:设备+级别+存放位置-
规则解释:
-
cron
是设备,就是要配置的软件 -
*
是日志级别,如果是none,代表什么都不记录 -
/var/log/cron
是要存放的日志位置 -
存放位置前面如果有个
-
,代表是异步记录日志
-
-
日志轮转
-
服务:
logrotate
yum install logrotate
-
配置文件位置:
-
主配置:
logrotate.conf
-
子配置:
/etc/logrotate.d/*
注:很多软件都是有两个配置文件的,一个是在
/etc
下的有个以.conf
结尾的文件,这个是配置一些影响程序运行的内容,还有个文件是/etc/logrotate.d/*
这种,是自定义配置。 -
-
配置轮转
logrotate这个程序就是针对某个目录进行操作的,它不会管这个目录是被谁接管,只是按照配置文件中的内容对这个目录进行轮转。
以系统主日志作为例子,系统主日志是:
/var/log/message
这个文件-
清理掉之前已经定义好的系统主日志轮转配置,
系统主日志默认记录到了/var/log/message文件中,当前是由
/etc/logrotate.d/rsyslog
这个文件配置了轮转。既然要针对系统主日志进行自定义轮转,就从这个文件中取出,删掉messages(这个就是主日志)当前这个配置文件中配置了很多日志文件的轮转,如
cron
,maillog
,messages
,secure
,spooler
-
新建一个文件,给主日志专门弄个轮转文件。
vim /etc/logrotate.d/messages
在这个文件中,进行如下配置
/var/log/messages { missingok //丢失不执行 #notifempty //空文件不论转 #maxsize 30k //达到30k才轮转 #yearly daily rotate 3 //轮转保留3次 create 0660 root root }
logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
这是一个
logrotate
工具的命令,它的作用是根据指定的配置文件 /etc/logrotate.conf 进行日志文件的轮转管理,并使用 /var/lib/logrotate/logrotate.status 文件来记录 logrotate 的状态信息。通常情况下,logrotate 命令不需要手动执行,而是由系统的定时任务自动执行。Linux 系统通常会配置一个 cron 任务来定期执行 logrotate 命令,以实现日志文件的自动轮转管理。
-