Linux日志机制的核心是rsyslog守护进程,该服务负责监听Linux下的日志信息,并把日志信息追加到对应的日志文件中,一般在/var/log目录下。它还可以把日志信息通过网络协议发送到另一台Linux服务器上,或者将日志存储在MySQL或Oracle等数据库中。本文将简要介绍一下rsyslog的配置文件的配置,以及如何使用logrotate进行日志滚动。
rsyslog 配置文件
rsyslog的配置文件为/etc/rsyslog.conf和/etc/rsyslog.d/目录内的文件。
rsyslog.conf文件配置了rsyslog守护进程在哪里保存日志信息。
rsyslog.conf配置文件主要包括以下几个部分:
全局配置
配置ryslog守护进程的全局属性,比如主信息队列大小($MainMessageQueueSize),加载外部模块($ModLoad)等等。
规则(选择器+动作)
每个规则行由两部分组成,selector部分和action部分,这两部分由一个或多个空格或tab分隔,selector部分指定源和日志等级,action部分指定对应的操作。
选择器 SELECTORS
selector也由两部分组成,设施和优先级,由点号.分隔。第一部分为消息源或称为日志设施,第二部分为日志级别。
下面给出一个rsyslog.conf的例子:
# rsyslog v5 configuration file
...
...
# Include all config files in /etc/rsyslog.d/
IncludeConfig /etc/rsyslog.d/*.conf
#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages</