rsyslog 配置文件深度解析

Rsyslog 是 Linux 系统中广泛使用的日志处理工具,它提供了强大的日志处理功能,包括日志收集、过滤、转发等。下面我们将深入探讨您提供的 rsyslog 配置文件中的每个部分及其作用。

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$SystemLogRateLimitInterval 0  # turn off rate limit
$SystemLogRateLimitBurst 0     # turn rate limit off
module(load="imfile")
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile /run/log/journal/imjournal.state
*.info;mail.none                                       /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
daemon.debug    /var/log/daemon.log
cron.info     /var/log/cron
kern.emerg  /var/log/kern_emerg.log
kern.emerg  /dev/console
kern.*  /var/log/kernel.log
auth.info;mail.info /var/log/secure.log
mail.*                                  -/var/log/mail
mail.info                               -/var/log/mail.info
mail.warning                            -/var/log/mail.warn
mail.err                                 /var/log/mail.err
news.crit                               -/var/log/news/news.crit
news.err                                -/var/log/news/news.err
news.notice                             -/var/log/news/news.notice
*.=warning;*.=err                       -/var/log/warn
*.crit                                   /var/log/warn
*.*;mail.none;news.none                 -/var/log/messages
local0,local1.*                         -/var/log/localmessages
local2,local3.*                         -/var/log/localmessages
local4,local5.*                         -/var/log/localmessages
local6,local7.*                         -/var/log/localmessages
$FileCreateMode 0640
$ModLoad imtcp
基本模块加载
  1. $ModLoad imuxsock:此命令加载 imuxsock 模块,它提供对本地系统日志的支持,比如通过 logger 命令生成的日志。

  2. $ModLoad imjournal:加载 imjournal 模块,使 rsyslog 能够访问 systemd 的日志系统(journal)。

日志速率限制
  1. S y s t e m L o g R a t e L i m i t I n t e r v a l 0 ∗ ∗ 和 ∗ ∗ SystemLogRateLimitInterval 0** 和 ** SystemLogRateLimitInterval0SystemLogRateLimitBurst 0:这两个设置一起工作,关闭了日志的速率限制功能。这意味着不论日志量有多大,rsyslog 都会处理所有日志,而不会丢弃或延迟处理。
文件和模板设置
  1. $WorkDirectory:设置 rsyslog 工作目录为 /var/lib/rsyslog,用于存储状态文件等。

  2. $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat:定义默认的日志模板为传统格式。

  3. $IncludeConfig /etc/rsyslog.d/*.conf:包含 /etc/rsyslog.d/ 目录下所有 .conf 结尾的配置文件,实现配置的模块化管理。

  4. $OmitLocalLogging on:关闭本地消息的日志记录。

  5. $IMJournalStateFile:指定 systemd journal 状态文件的位置。

日志规则和目标

以下是配置文件中定义的各种日志规则和它们的目的地:

  1. 不同优先级日志的目的地

    • *.info;mail.none 指定信息级别(除邮件外)的日志文件路径为 /var/log/messages
    • authpriv.* 指定安全和隐私相关的日志存放在 /var/log/secure
    • mail.*cron.* 等指定了不同类型的日志应存放在哪里。
  2. 特殊日志处理

    • *.emerg :omusrmsg:* 表示紧急级别的日志会发送给所有在线用户。
    • uucp,news.crit 指定特定应用的日志存放路径。
  3. 日志文件的创建模式

    • $FileCreateMode 0640 设置新创建的日志文件权限为 0640。
网络模块加载
  1. $ModLoad imtcp:加载 imtcp 模块,允许 rsyslog 接收通过 TCP 协议发送的日志。
总结

这个配置文件展示了 rsyslog 的强大和灵活性。通过精确控制日志的记录方式和目的地,系统管理员可以确保关键信息被妥善处理和存储,同时避免信息泛滥。不论是本地日志、系统日志还是网络日志,rSyslog 都提供了有效的管理方法。此外,配置文件中的模块化和文件包含策略,使得日志系统的维护变得更加容易和高效。

猜你喜欢

转载自blog.csdn.net/qq_14829643/article/details/134678950