/etc/rsyslog.conf 是 Linux 系统上 rsyslog 服务的配置文件。

rsyslog 是一个系统日志守护程序,用于收集、处理和转发系统日志消息。该配置文件定义了 rsyslog 的行为,包括消息的存储位置、过滤规则、输出目标等。

注意:

由于linux日志随着时间累计,经常在/etc/logrotate.conf中配置定期轮转日志文件。

常见配置项:

模块加载:

$ModLoad module_name

通过 $ModLoad 可以加载不同的模块,例如 imuxsock 用于接收系统日志消息。

输入规则:

$InputFileName filename
$InputFileTag tag
$InputFileStateFile stat_file
$InputFileSeverity severity
$InputRunFileMonitor

用于配置 rsyslog 监控文件的输入规则。

消息过滤:

if expression then action

使用 if 语句可以定义过滤规则,根据消息的特定属性进行过滤。

输出目标:

destination destination_name { … }

日志格式:

$template template_name “format_string”

使用 $template 可以定义消息的输出格式。

规则设置:

$ActionQueueFileName name
$ActionQueueMaxDiskSpace size
$ActionQueueSaveOnShutdown on/off

用于配置动作队列的规则,控制消息的缓存和处理。

默认规则:

$DefaultRules

定义了一些默认的日志规则,如将所有消息写入 /var/log/messages

这只是 /etc/rsyslog.conf 文件中的一小部分配置项。rsyslog 提供了丰富的配置选项,可以根据需要进行定制。在编辑配置文件之前,建议备份文件以防止配置错误导致日志服务问题。

更详细的配置和规则语法可以在 rsyslog 官方文档中找到

实例配置项:

#指定 rsyslog 的工作目录。在这个目录下,rsyslog 将存储临时文件、状态文件和其他运行时数据。

$WorkDirectory /var/lib/rsyslog

#设置默认的日志文件模板为 RSYSLOG_TraditionalFileFormat,该模板定义了日志文件的输出格式。这个设置确保日志以传统的格式进行记录。

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#这一行是注释掉的,表示文件同步功能被禁用。文件同步功能可能会对性能产生极大的影响,因此在默认情况下是禁用的。

#$ActionFileEnableSync on

#包含 /etc/rsyslog.d/ 目录下所有以 .conf 结尾的配置文件。这样,你可以将配置拆分为多个文件,以方便管理和维护。

$IncludeConfig /etc/rsyslog.d/*.conf

#禁用通过本地日志套接字接收消息。这表示本地消息通过 imjournal 模块进行检索,而不是通过传统的本地日志套接字。这可以提高性能。

$OmitLocalLogging on

#指定 imjournal 模块使用的状态文件的名称为 imjournal.state。这个文件存储了 imjournal 模块在日志中的位置信息。

$IMJournalStateFile imjournal.state

定义 rsyslog 的消息处理规则

#### RULES ####

#指定将所有 info 级别及以上的消息(除了邮件、authpriv 和 cron 消息)记录到 /var/log/messages 文件。

*.info;mail.none;authpriv.none;cron.none /var/log/messages

#将 authpriv(私有认证)级别的消息记录到 /var/log/secure 文件。

authpriv.* /var/log/secure

#将所有邮件相关的消息记录到 /var/log/maillog 文件。使用 - 表示如果文件不存在,则忽略错误,而不是创建文件。

mail.* -/var/log/maillog

#将所有 cron 相关的消息记录到 /var/log/cron 文件

cron.* /var/log/cron

#将紧急级别(emerg)的消息发送给用户。:omusrmsg:* 是一个输出模块,用于向用户显示消息。

*.emerg :omusrmsg:*

#将 uucp 和 news 的 crit 级别及以上的消息记录到 /var/log/spooler 文件。

uucp,news.crit /var/log/spooler

#将 local7(本地 7)级别的消息记录到 /var/log/boot.log 文件。

local7.* /var/log/boot.log

作者 admin

百度广告效果展示