1 确定rsyslogd服务是否启动
通过命令ps aux | grep rsyslogd
来查看。
centos 8 可以通过systemctl list-unit-files
来查看服务是否自启动
常见的日志的作用如下
2 rsyslog日志文件基本格式
基本的日志格式包含以下四列
- 事件产生事件
- 发生事件的服务器主机名
- 产生事件的服务名或者程序名
- 事件的具体信息
文件/etc/rsyslog.com
配置文件可以配置记录什么样的事件。其中的服务名称及说明如下图
3 /etc/rsyslog.conf日志配置文件
例如:
authpriv.* /var/log/secure
表示与认证服务authpriv相关的所有日志等级都记录在/var/log/secure文件中。
其中的.
是连接符,表示只要比后面的等级高的(包含该等级)日志都要记录,例如:cron.info
代表cron服务产生的日志,只要日志等级大于等于info级别,就要记录。
*
所在的位置为日志等级,星号表示所有日志等级。
.=
代表只记录所需等级的日志,其它等级的日志都不记录,例如:*.=emerg
代表任何日志服务产生的日志,只要等级是emerg等级,就要记录。
.!
代表不等于,即除了该等级的日志外,其它等级的日志都要记录。
那么日志等级都有啥呢??? 下面的图就是了
从上到下为低等级到高等级。
日志记录位置可以有下面的几个
- 日志文件绝对路径,如
/var/log/secure
- 系统设备文件,如
/dev/lp0
- 转发给远程主机,如
@192.168.192.162
- 用户名,如:
root
,这个用户需要在线,否则日志就丢了 - 忽略或丢弃日志,如:
~
4 日志轮替
两部分内容,日志切割和日志轮换。
日志文件的命名规则
- 如果配置文件中拥有
dateext
参数,那么日志会用日期来作为日志的后缀,例如secure-20200104
,这样日志文件名不会重复(当天的日志永远是secure,之前的日志文件名后面会加日期)。 - 如果配置文件中没有
dateext
参数,那么日志文件的命名按下面的规则进行:第一次日志轮替时,当前的日志会改名为secure.1,然后新建日志secure,用来保存新的日志,当第二次轮替时,当前的secure.1会改名为secure.2,secure会改名为secure.1,然后新建secure日志。以此类推。
/etc/logrotate.conf 配置文件
其中的参数及说明如下
logrotate命令
格式:logrotate [选项] 配置文件名
, 如果子命令没有选项,则会按照配置文件中的条件进行日志轮替。
- -v,显示日志轮替过程,加了-v选项,会显示日志轮替的过程。
- -f,强制进行日志轮替,不管日志轮替的条件是否已经符合,强制配置文件中的所有日志进行轮替。