我正在尝试在 CentOS 6.4 上配置 Rsyslog 5.8.10,以将 Apache 的错误和访问日志发送到远程服务器。它正在运行,但我有几个问题。
更新:仅 A、B 和 C 有待答案。
A) 我希望尽可能少地使用队列(和资源)。我将错误日志发送到服务器 A,将访问日志发送到服务器 A,将两个日志以一个流的形式发送到服务器 B。我应该指定每个外部服务一个队列(2 个队列)或每个流一个队列(我现在有 3 个队列)?这是我所拥有的:
$ActionResumeInterval 10
$ActionQueueSize 100000
$ActionQueueDiscardMark 97500
$ActionQueueHighWaterMark 80000
$ActionQueueType LinkedList
$ActionQueueFileName logglyaccessqueue
$ActionQueueCheckpointInterval 100
$ActionQueueMaxDiskSpace 1g
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
$ActionQueueTimeoutEnqueue 10
$ActionQueueDiscardSeverity 0
if $syslogtag startswith 'www-access' then @@logs-01.loggly.com:514;logglyaccess
$ActionResumeInterval 10
$ActionQueueSize 100000
$ActionQueueDiscardMark 97500
$ActionQueueHighWaterMark 80000
$ActionQueueType LinkedList
$ActionQueueFileName logglyerrorsqueue
$ActionQueueCheckpointInterval 100
$ActionQueueMaxDiskSpace 1g
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
$ActionQueueTimeoutEnqueue 10
$ActionQueueDiscardSeverity 0
if $syslogtag startswith 'www-errors' then @@logs-01.loggly.com:514;logglyerrors
$DefaultNetstreamDriverCAFile /etc/syslog.papertrail.crt # trust these CAs
$ActionSendStreamDriver gtls # use gtls netstream driver
$ActionSendStreamDriverMode 1 # require TLS
$ActionSendStreamDriverAuthMode x509/name # authenticate by hostname
$ActionResumeInterval 10
$ActionQueueSize 100000
$ActionQueueDiscardMark 97500
$ActionQueueHighWaterMark 80000
$ActionQueueType LinkedList
$ActionQueueFileName papertrailqueue
$ActionQueueCheckpointInterval 100
$ActionQueueMaxDiskSpace 1g
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
$ActionQueueTimeoutEnqueue 10
$ActionQueueDiscardSeverity 0
*.* @@logs.papertrailapp.com:XXXXX;papertrailstandard & ~
B) 是否队列块send
被随后的每一个动作反复使用或者仅限第一个或者直到它遇到一个,send
后面跟着一个放弃行动(〜)?
C)如何重置队列块因此即将到来的发送动作根本不使用队列?
D)TLS 阻止send
被随后的每一个动作反复使用或者仅限第一个或者直到它遇到一个,send
后面跟着一个放弃行动(〜)?
E)如何重置TLS 阻止因此即将到来的发送动作根本不使用 TLS?
F)如果我跑步rsyslog -N1
我会得到:
rsyslogd -N1
rsyslogd: version 5.8.10, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: WARNING: rsyslogd is running in compatibility mode. Automatically generated config directives may interfer with your rsyslog.conf settings. We suggest upgrading your config and adding -c5 as the first rsyslogd option.
rsyslogd: Warning: backward compatibility layer added to following directive to rsyslog.conf: ModLoad immark
rsyslogd: Warning: backward compatibility layer added to following directive to rsyslog.conf: MarkMessagePeriod 1200
rsyslogd: Warning: backward compatibility layer added to following directive to rsyslog.conf: ModLoad imuxsock
rsyslogd: End of config validation run. Bye.
我应该将 -c5 放在哪里以便它不再以兼容模式运行?
答案1
只需填写我知道的
D) 是的,对于所有后续问题,除非调用 E)。
E)在下:omusrmsg:0
一次发送之前($ActionSendStreamDriverMode 0
已弃用)
答案2
回复:'-c5' 的位置 - CentOS 使用 /etc/sysconfig/rsyslog 作为 rsyslog 启动参数的配置文件,因此您需要将 '-c5' 作为第一个参数添加到 SYSLOGD_OPTIONS= 行,即
SYSLOGD_OPTIONS="-c5"
很抱歉没有回答您提出的所有其他问题。我认为如果您单独提出这些问题会更好,因为按照目前的形式,回答您问题中的每个问题需要花费大量时间。