Syslog
在 CentOS 上正確配置 Rsyslog
我正在嘗試在 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 以便它不再以兼容模式執行?
填寫我知道的
D) 是的,對於所有以下的,除非 E) 被呼叫。
E)
:omusrmsg:0
在下一次發送之前($ActionSendStreamDriverMode 0
已棄用)
Re: ‘-c5’ 的放置位置 – CentOS 使用 /etc/sysconfig/rsyslog 作為 rsyslog 啟動參數的配置文件,因此您需要將 ‘-c5’ 作為第一個參數添加到 SYSLOGD_OPTIONS= 行,即
SYSLOGD_OPTIONS="-c5"
很抱歉沒有回答您提出的所有其他問題。我認為如果您將它們分開問會好得多,因為在目前形式下,需要相當長的時間來回答您問題中的每一個項目。